Files
regalloc2/doc/TODO
2021-06-19 13:20:11 -07:00

24 lines
794 B
Plaintext

# Features
- Large-input support (> 1M vregs, > 1M blocks)
- Two operand impls: u64-based and u32-based. Always accept
u64-based `Operand` publicly (do not expose this in interface).
- Trait to generalize over them and support both internally
(parameterize the whole allocator impl)
- On data-structure init, choose one or the other based on max vreg
index
- Update halfmove keys: u128 rather than u64
- Rematerialization
- Stack-location constraints that place operands in user-defined stack
locations (distinct from SpillSlots) (e.g., stack args)
# Performance
- Investigate better register hinting
- Investigate more principled cost functions and split locations,
especially around loop nests
# Cleanup
- Remove support for non-SSA code once no longer necessary