Module codegem::ir

source ·
Expand description

[codegem::ir] contains the intermediate representation (IR) that programs using this crate interface with, as well as a builder struct to create the intermediate representation.

Structs

BasicBlockId represents a reference to a basic block in an IR function. See ModuleBuilder::push_block for details on what a basic block is.
FunctionId represents a reference to a function in IR.
Module represents a module of SSA intermediate representation.
ModuleBuilder is used to build a module.
Value represents a reference to a value in an IR function.
VariableId represents a reference to a variable in an IR function.

Enums

Operation is an operation that can be performed by the IR.
Terminator terminates a given basic block. For information on basic blocks, see ModuleBuilder::push_block.
Type represents a type in the IR.

Traits

ToIntegerOperation converts the given value into an integer operation.