Module cretonne_codegen::ir[][src]

Representation of Cretonne IR functions.

Re-exports

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

Modules

condcodes

Condition codes for the Cretonne code generator.

dfg

Data flow graph tracking Instructions, Values, and EBBs.

entities

Cretonne IR 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.

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.

GlobalValueData

Information about a global value 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.

Functions

get_libcall_funcref

Get a function reference for libcall in func, following the signature for inst.

get_probestack_funcref

Get a function reference for the probestack function in func.

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.