Skip to main content

Module regalloc

Module regalloc 

Source

Structs§

GraphColorAllocator
Greedy graph-coloring register allocator (interference graph from live intervals).
LinearScanAllocator
Classic linear scan register allocator (Poletto & Sarkar, 1999).
LiveInterval
Live interval: the range [start, end] of instruction indices (0-based, counting sequentially across all blocks in program order) during which vreg must be kept alive.

Enums§

Allocation
Result of allocating a virtual register: either a physical register or a stack spill slot (byte offset from the frame base pointer).
PhysRegHandle
Opaque handle that allows dynamic dispatch over register allocators without leaking architecture-specific physical register types.

Traits§

PhysRegConvertible
Conversion helpers that allow a concrete physical register type to be converted to/from a PhysRegHandle for dynamic dispatch.
RegisterAllocator
Target-facing interface for MIR register allocation.
RegisterAllocatorDyn
Object-safe wrapper around RegisterAllocator permitting dynamic dispatch via dyn RegisterAllocatorDyn.

Functions§

intervals_interfere
Interference check for live intervals: overlap on the global instruction index line.