ArkScript
A small, lisp-inspired, functional scripting language
Ark::internal::IR Namespace Reference

Classes

class  Entity
 

Typedefs

using label_t = std::size_t
 
using Block = std::vector<Entity>
 

Enumerations

enum class  Kind {
  Label , Goto , GotoWithArg , Opcode ,
  Opcode2Args
}
 

Variables

constexpr uint16_t MaxValueForDualArg = 0x0fff
 The maximum value an argument can have when an IR entity has two arguments.
 

Typedef Documentation

◆ Block

using Ark::internal::IR::Block = std::vector<Entity>

Definition at line 84 of file Entity.hpp.

◆ label_t

using Ark::internal::IR::label_t = std::size_t

Definition at line 32 of file Entity.hpp.

Enumeration Type Documentation

◆ Kind

enum class Ark::internal::IR::Kind
strong
Enumerator
Label 
Goto 
GotoWithArg 
Opcode 
Opcode2Args 

Definition at line 23 of file Entity.hpp.

Variable Documentation

◆ MaxValueForDualArg

uint16_t Ark::internal::IR::MaxValueForDualArg = 0x0fff
constexpr

The maximum value an argument can have when an IR entity has two arguments.

Definition at line 35 of file Entity.hpp.

Referenced by Ark::internal::IROptimizer::canBeOptimizedSafely(), and Ark::internal::IROptimizer::isPositiveNumberInlinable().