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::BlockData;
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::Immediate;
pub use crate::ir::entities::Inst;
pub use crate::ir::entities::JumpTable;
pub use crate::ir::entities::MemoryType;
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::Function;
pub use crate::ir::instructions::BlockCall;
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::pcc::BaseExpr;
pub use crate::ir::pcc::Expr;
pub use crate::ir::pcc::Fact;
pub use crate::ir::pcc::FactContext;
pub use crate::ir::pcc::PccError;
pub use crate::ir::pcc::PccResult;
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.
- Proof-carrying code. We attach “facts” to values and then check that they remain true after compilation.
- Stack slots.
- Common types for the Cranelift code generator.
Structs§
- Function parameter or return value descriptor.
- An external function.
- Builder that inserts an instruction at the current position.
- Flags for memory operations like load/store.
- One field in a memory type.
- 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.
- 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.
- A well-known symbol.
- The name of a runtime library routine.
- Data defining a memory type.
- A
ProgramPoint
represents a position in a function where the live range of an SSA value can begin or end. It can be either: - 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 assignments: label starts or value aliases.
Traits§
- Convenience methods for building instructions.
- Base trait for instruction builders.
- Base trait for instruction inserters.
Functions§
- Get a function reference for the probestack function in
func
.
Type Aliases§
- Map of jump tables.