Module ir

Source
Expand description

Intermediate representation (IR) for the compiler.

These data structures are used as the basis for the compiler. For example, this module some core types such as Operation and Op.

Structs§

APInt
Arbitrary precision integer.
AnyAttr
AnyType
Attributes
Block
A collection of Ops.
BlockArgument
An argument in a block or function.
BlockLabel
A label to a block.
BlockPtr
A pointer to a block (replaces the block label).
Blocks
BooleanAttr
Constant
A constant value, for example a constant integer.
IntegerAttr
Integer attribute (e.g., 42 : i64).
IntegerType
Represent an integer type such as i32 or i64.
ModuleOp
OpOperand
OpOperands
OpResult
A named result of an operation.
Operation
A generic representation of an operation.
OperationName
Prefixes
Region
A list of blocks.
RenameBareToPercent
Rename bare variables x to percent variables %x.
StringAttr
UTF-8 encoded string.
StringType
Types
A collection of Types.
UnsetBlock
UnsetOp
UnsetOpResult
UnsetOpResults
Values
Vector of values.

Enums§

BlockArgumentName
BlockName
Users
Value
An instance of a value (SSA, variadic, or constant) in the IR.

Traits§

Attribute
Attributes are known-constant values of operations (a variable is not allowed). Attributes belong to operations and can be used to, for example, specify a SSA value.
Op
A specific operation.
Type
TypeConvert
Interface to convert a type from one dialect to another.
TypeParse
Interface to parse a type.
VariableRenamer

Functions§

bytes_to_llvm_string
Convert a vector of bytes to a string while handling LLVM escape sequences.
canonicalize_identifier
Canonicalize an identifier.
display_region_inside_func
escape
llvm_string_to_bytes
Convert a string to a vector of bytes while handling LLVM escape sequences.
spaces
unescape