# 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

- Support allocation of register pairs (or overlapping registers generally)

- 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

- Investigate ways to improve bundle-merging; e.g., merge moves before
  other types of connections

- Add limited inter-block redundant-move elimination: propagate across
  splits but not joins.

- Optimize allocations (some reports of 5-7% of time spent in allocator)

# Cleanup

- Remove support for non-SSA code once no longer necessary