A layout cursor can be used instead of an iterator to keep track of a position in a basic block *and* permitting instructions to be manipulated.
28 lines
762 B
Rust
28 lines
762 B
Rust
//! Representation of Cretonne IL functions.
|
|
|
|
pub mod types;
|
|
pub mod entities;
|
|
pub mod condcodes;
|
|
pub mod immediates;
|
|
pub mod instructions;
|
|
pub mod stackslot;
|
|
pub mod jumptable;
|
|
pub mod dfg;
|
|
pub mod layout;
|
|
pub mod function;
|
|
mod funcname;
|
|
mod extfunc;
|
|
mod builder;
|
|
|
|
pub use ir::funcname::FunctionName;
|
|
pub use ir::extfunc::{Signature, ArgumentType, ArgumentExtension};
|
|
pub use ir::types::Type;
|
|
pub use ir::entities::{Ebb, Inst, Value, StackSlot, JumpTable, FuncRef, SigRef};
|
|
pub use ir::instructions::{Opcode, InstructionData, VariableArgs};
|
|
pub use ir::stackslot::StackSlotData;
|
|
pub use ir::jumptable::JumpTableData;
|
|
pub use ir::dfg::{DataFlowGraph, ValueDef};
|
|
pub use ir::layout::{Layout, Cursor};
|
|
pub use ir::function::Function;
|
|
pub use ir::builder::Builder;
|