Module cranelift_codegen::ir

source ·
Expand description

Representation of Cranelift IR functions.

Re-exports

pub use ir::dfg::DataFlowGraph;
pub use ir::dfg::ValueDef;
pub use ir::entities::Ebb;
pub use ir::entities::FuncRef;
pub use ir::entities::GlobalValue;
pub use ir::entities::Heap;
pub use ir::entities::Inst;
pub use ir::entities::JumpTable;
pub use ir::entities::SigRef;
pub use ir::entities::StackSlot;
pub use ir::entities::Table;
pub use ir::entities::Value;
pub use ir::function::Function;
pub use ir::instructions::InstructionData;
pub use ir::instructions::Opcode;
pub use ir::instructions::ValueList;
pub use ir::instructions::ValueListPool;
pub use ir::instructions::VariableArgs;
pub use ir::jumptable::JumpTableData;
pub use ir::layout::Layout;
pub use ir::stackslot::StackSlotData;
pub use ir::stackslot::StackSlotKind;
pub use ir::stackslot::StackSlots;
pub use ir::types::Type;

Modules

Condition codes for the Cranelift code generator.
Data flow graph tracking Instructions, Values, and EBBs.
Cranelift IR entity references.
Intermediate representation of a function.
Immediate operands for Cranelift instructions
Instruction formats and opcodes.
Jump table representation.
Function layout.
Stack slots.
Common types for the Cranelift code generator.

Structs

Function parameter or return value descriptor.
An external function.
Information about a heap declaration.
Builder that inserts an instruction at the current position.
Flags for memory operations like load/store.
A ProgramPoint represents a position in a function where the live range of an SSA value can begin or end. It can be either:
Function signature.
A source location.
Information about a table declaration.

Enums

Function argument extension options.
Function argument location.
The special purpose of a function argument.
An expanded program point directly exposes the variants, but takes twice the space to represent.
The name of an external is either a reference to a user-defined symbol table, or a short sequence of ascii bytes so that test cases do not have to keep track of a symbol table.
Information about a global value declaration.
Style of heap including style-specific information.
The name of a runtime library routine.
A trap code describing the reason for a trap.
Value location.

Traits

Convenience methods for building instructions.
Base trait for instruction builders.
Base trait for instruction inserters.
Context for ordering program points.

Functions

Get a function reference for libcall in func, following the signature for inst.
Get a function reference for the probestack function in func.

Type Definitions

Code offsets for EBBs.
Map of instruction encodings.
Code offsets for Jump Tables.
Map of jump tables.
Source locations for instructions.
Map of value locations.