()
| 184 | /// Creates a new `RegisterAllocator` instance. |
| 185 | #[must_use] |
| 186 | pub fn new() -> Self { |
| 187 | Self { |
| 188 | value_live_ranges: ValueLiveRanges::new(), |
| 189 | uses: Uses::new(), |
| 190 | hints: Hints::new(), |
| 191 | coalescing: Coalescing::new(), |
| 192 | virt_regs: VirtRegs::new(), |
| 193 | virt_reg_builder: VirtRegBuilder::new(), |
| 194 | allocations: Allocations::new(), |
| 195 | split_placement: SplitPlacement::new(), |
| 196 | reg_matrix: RegMatrix::new(), |
| 197 | allocator: Allocator::new(), |
| 198 | spill_allocator: SpillAllocator::new(), |
| 199 | move_resolver: MoveResolver::new(), |
| 200 | move_optimizer: MoveOptimizer::new(), |
| 201 | dead_spill_elimination: DeadSpillElimination::new(), |
| 202 | stats: Stats::default(), |
| 203 | } |
| 204 | } |
| 205 | |
| 206 | /// Runs the register allocator on the given function. |
| 207 | pub fn allocate_registers<'a, F, R>( |
nothing calls this directly
no outgoing calls
no test coverage detected