Module cretonne::ir [] [src]

Representation of Cretonne IL functions.

Re-exports

pub use ir::dfg::DataFlowGraph;
pub use ir::dfg::ValueDef;
pub use ir::entities::Ebb;
pub use ir::entities::Inst;
pub use ir::entities::Value;
pub use ir::entities::StackSlot;
pub use ir::entities::GlobalVar;
pub use ir::entities::JumpTable;
pub use ir::entities::FuncRef;
pub use ir::entities::SigRef;
pub use ir::entities::Heap;
pub use ir::function::Function;
pub use ir::instructions::Opcode;
pub use ir::instructions::InstructionData;
pub use ir::instructions::VariableArgs;
pub use ir::instructions::ValueList;
pub use ir::instructions::ValueListPool;
pub use ir::jumptable::JumpTableData;
pub use ir::layout::Layout;
pub use ir::stackslot::StackSlots;
pub use ir::stackslot::StackSlotKind;
pub use ir::stackslot::StackSlotData;
pub use ir::types::Type;

Modules

condcodes

Condition codes for the Cretonne code generator.

dfg

Data flow graph tracking Instructions, Values, and EBBs.

entities

IL entity references.

function

Intermediate representation of a function.

immediates

Immediate operands for Cretonne instructions

instructions

Instruction formats and opcodes.

jumptable

Jump table representation.

layout

Function layout.

stackslot

Stack slots.

types

Common types for the Cretonne code generator.

Structs

AbiParam

Function parameter or return value descriptor.

ExtFuncData

An external function.

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:

Signature

Function signature.

SourceLoc

A source location.

Enums

ArgumentExtension

Function argument extension options.

ArgumentLoc

Function argument location.

ArgumentPurpose

The special purpose of a function argument.

CallConv

A Calling convention.

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 sy mbol table.

GlobalVarData

Information about a global variable declaration.

HeapBase

Method for determining the base address of a heap.

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.

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.

Type Definitions

EbbOffsets

Code offsets for EBBs.

InstEncodings

Map of instruction encodings.

JumpTables

Map of jump tables.

SourceLocs

Source locations for instructions.

ValueLocations

Map of value locations.