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.