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::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§
- condcodes
- Condition codes for the Cranelift code generator.
- constant
- Constants
- dfg
- Data flow graph tracking Instructions, Values, and blocks.
- dynamic_
type - Dynamic IR types
- entities
- Cranelift IR entity references.
- function
- Intermediate representation of a function.
- immediates
- Immediate operands for Cranelift instructions
- instructions
- Instruction formats and opcodes.
- jumptable
- Jump table representation.
- layout
- Function layout.
- pcc
- Proof-carrying code. We attach “facts” to values and then check that they remain true after compilation.
- stackslot
- Stack slots.
- types
- Common types for the Cranelift code generator.
Structs§
- AbiParam
- Function parameter or return value descriptor.
- ExtFunc
Data - An external function.
- Insert
Builder - Builder that inserts an instruction at the current position.
- MemFlags
- Flags for memory operations like load/store.
- Memory
Type Field - One field in a memory type.
- RelSource
Loc - Source location relative to another base source location.
- Replace
Builder - Instruction builder that replaces an existing instruction.
- Signature
- Function signature.
- Source
Loc - A source location.
- Trap
Code - A trap code describing the reason for a trap.
- User
External Name - An external name in a user-defined symbol table.
- User
Stack Map - A compiled stack map, describing the location of many GC-managed values.
- User
Stack MapEntry - A stack map entry describes a single GC-managed value and its location on the stack.
- Value
Label - Marked with a label value.
- Value
Label Start - A label of a Value.
Enums§
- Alias
Region - Which disjoint region of aliasing memory is accessed in this memory operation.
- Argument
Extension - Function argument extension options.
- Argument
Purpose - The special purpose of a function argument.
- Atomic
RmwOp - Describes the arithmetic operation in an atomic memory read-modify-write operation.
- Endianness
- Endianness of a memory access.
- External
Name - 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.
- Global
Value Data - Information about a global value declaration.
- Known
Symbol - A well-known symbol.
- LibCall
- The name of a runtime library routine.
- Memory
Type Data - Data defining a memory type.
- Program
Point - A
ProgramPoint
represents a position in a function where the live range of an SSA value can begin or end. It can be either: - User
Func Name - An explicit name for a user-defined function, be it defined in code or in CLIF text.
- Value
Label Assignments - Value label assignments: label starts or value aliases.
Traits§
- Inst
Builder - Convenience methods for building instructions.
- Inst
Builder Base - Base trait for instruction builders.
- Inst
Inserter Base - Base trait for instruction inserters.
Functions§
- get_
probestack_ funcref - Get a function reference for the probestack function in
func
.
Type Aliases§
- Jump
Tables - Map of jump tables.