Module cranelift_codegen::ir
source · 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::HeapImm;
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::InstructionImms;
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.