Expand description

Representation of Cranelift IR functions.

Re-exports

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

Modules

Condition codes for the Cranelift code generator.

Constants

Data flow graph tracking Instructions, Values, and blocks.

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:

Instruction builder that replaces an existing instruction.

Function signature.

A source location.

Information about a table declaration.

Marked with a label value.

A label of a Value.

Enums

Function argument extension options.

The special purpose of a function argument.

Describes the arithmetic operation in an atomic memory read-modify-write operation.

Endianness of a memory access.

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 particular location for a value.

The name of a runtime library routine.

A trap code describing the reason for a trap.

Value label assignements: label starts or value aliases.

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 the probestack function in func.

Type Definitions

Map of jump tables.

Source locations for instructions.