Skip to main content

Crate llvm_ir

Crate llvm_ir 

Source
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 (.ll file 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.