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::dynamic_type::dynamic_to_fixed;
pub use crate::ir::dynamic_type::DynamicTypeData;
pub use crate::ir::dynamic_type::DynamicTypes;
pub use crate::ir::entities::Block;
pub use crate::ir::entities::Constant;
pub use crate::ir::entities::DynamicStackSlot;
pub use crate::ir::entities::DynamicType;
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::UserExternalNameRef;
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::DynamicStackSlotData;
pub use crate::ir::stackslot::DynamicStackSlots;
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.

Dynamic IR types

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:

Source location relative to another base source location.

Instruction builder that replaces an existing instruction.

Function signature.

A source location.

Information about a table declaration.

An external name in a user-defined symbol table.

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.

A well-known symbol.

The particular location for a value.

The name of a runtime library routine.

A trap code describing the reason for a trap.

An explicit name for a user-defined function, be it defined in code or in CLIF text.

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.