Expand description
Core IR types: types, values, instructions, basic blocks, functions, and modules.
Re-exports§
pub use basic_block::BasicBlock;pub use builder::Builder;pub use context::ArgId;pub use context::BlockId;pub use context::ConstId;pub use context::Context;pub use context::FunctionId;pub use context::GlobalId;pub use context::InstrId;pub use context::TypeId;pub use context::ValueRef;pub use function::Function;pub use instruction::ExactFlag;pub use instruction::FastMathFlags;pub use instruction::FloatPredicate;pub use instruction::InstrKind;pub use instruction::Instruction;pub use instruction::IntArithFlags;pub use instruction::IntPredicate;pub use instruction::TailCallKind;pub use module::DebugLocation;pub use module::Module;pub use printer::Printer;pub use types::FloatKind;pub use types::FunctionType;pub use types::StructType;pub use types::TypeData;pub use value::Argument;pub use value::ConstantData;pub use value::GlobalVariable;pub use value::Linkage;
Modules§
- basic_
block - Basic block: a sequence of non-terminating instructions ending with a terminator.
- builder
- Public API for
builder. IR builder API for programmatic construction of instructions and basic blocks. - context
- Public API for
context. Context: interning tables for IR types and constants, plus all newtype index types. - function
- Public API for
function. Function definition: signature, arguments, basic blocks, and flat instruction pool. - instruction
- Public API for
instruction. SSA instructions: arithmetic, memory, control flow, and call instructions. - module
- Public API for
module. Module: top-level container for globals, functions, and metadata. - printer
- Public API for
printer. LLVM IR text format printer (.llfile emitter). - types
- Public API for
types. IR type system: integer, float, pointer, vector, struct, array, and function types. - value
- Public API for
value. SSA values: constants, instruction results, function arguments, and globals.