Skip to main content

Crate llvm_codegen

Crate llvm_codegen 

Source
Expand description

Target-independent code generation: legalization, instruction selection, register allocation, scheduling, and emission.

Re-exports§

pub use assembler::assemble_bytes;
pub use assembler::assemble_object;
pub use assembler::assemble_with_report;
pub use assembler::AssembledObject;
pub use assembler::IntegratedAssembler;
pub use assembler::McAssembler;
pub use assembler::McAssemblyReport;
pub use emit::emit_object;
pub use emit::Emitter;
pub use emit::ObjectFile;
pub use emit::ObjectFormat;
pub use emit::Reloc;
pub use emit::RelocKind;
pub use emit::Section;
pub use emit::Symbol;
pub use isel::IselBackend;
pub use isel::MInstr;
pub use isel::MOpcode;
pub use isel::MOperand;
pub use isel::MachineBlock;
pub use isel::MachineFunction;
pub use isel::PReg;
pub use isel::VReg;
pub use regalloc::allocate_registers;
pub use regalloc::apply_allocation;
pub use regalloc::compute_live_intervals;
pub use regalloc::graph_color;
pub use regalloc::insert_spill_reloads;
pub use regalloc::linear_scan;
pub use regalloc::RegAllocStrategy;

Modules§

assembler
Integrated assembler (MC) stage.
emit
Public API for emit. Object-file emission.
isel
Public API for isel. Machine IR types and instruction-selection backend trait.
legalize
Public API for legalize. Legalization: lowers IR types and operations not natively supported by the target.
regalloc
Public API for regalloc. Linear-scan register allocator.
regalloc_gc
Public API for regalloc_gc. Graph-coloring register allocator (Chaitin-Briggs style).
schedule
Public API for schedule. Instruction scheduling: reorders instructions to improve instruction-level parallelism.