[][src]Module cranelift_codegen::ir

Representation of Cranelift IR functions.

Re-exports

pub use crate::ir::constant::ConstantData;
pub use crate::ir::constant::ConstantOffset;
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::StackLayoutInfo;
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.

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.

stackslot

Stack slots.

types

Common types for the Cranelift code generator.

Structs

AbiParam

Function parameter or return value descriptor.

ExtFuncData

An external function.

FrameLayout

Frame items layout for (prologue/epilogue) instructions.

HeapData

Information about a heap declaration.

InsertBuilder

Builder that inserts an instruction at the current position.

MemFlags

Flags for memory operations like load/store.

ProgramPoint

A ProgramPoint represents a position in a function where the live range of an SSA value can begin or end. It can be either:

ReplaceBuilder

Instruction builder that replaces an existing instruction.

Signature

Function signature.

SourceLoc

A source location.

TableData

Information about a table declaration.

ValueLabel

Marked with a label value.

ValueLabelStart

A label of a Value.

Enums

ArgumentExtension

Function argument extension options.

ArgumentLoc

Function argument location.

ArgumentPurpose

The special purpose of a function argument.

ExpandedProgramPoint

An expanded program point directly exposes the variants, but takes twice the space to represent.

ExternalName

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.

FrameLayoutChange

Change in the frame layout information.

GlobalValueData

Information about a global value declaration.

HeapStyle

Style of heap including style-specific information.

LibCall

The name of a runtime library routine.

TrapCode

A trap code describing the reason for a trap.

ValueLabelAssignments

Value label assignements: label starts or value aliases.

ValueLoc

Value location.

Traits

InstBuilder

Convenience methods for building instructions.

InstBuilderBase

Base trait for instruction builders.

InstInserterBase

Base trait for instruction inserters.

ProgramOrder

Context for ordering program points.

Functions

get_probestack_funcref

Get a function reference for the probestack function in func.

Type Definitions

BlockOffsets

Code offsets for blocks.

FrameLayoutChanges

Set of frame layout changes.

InstEncodings

Map of instruction encodings.

JumpTableOffsets

Code offsets for Jump Tables.

JumpTables

Map of jump tables.

SourceLocs

Source locations for instructions.

ValueLocations

Map of value locations.