Sha256: 1b1b9581ea6137663cfe40125980d9c76c473c9b12d874e3c5ab5d000b26ea37

Contents?: true

Size: 1.12 KB

Versions: 38

Compression:

Stored size: 1.12 KB

Contents

# 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

Version data entries

38 entries across 38 versions & 1 rubygems

Version Path
wasmtime-29.0.0 ./ext/cargo-vendor/regalloc2-0.11.1/doc/TODO
wasmtime-28.0.0 ./ext/cargo-vendor/regalloc2-0.11.1/doc/TODO
wasmtime-27.0.0 ./ext/cargo-vendor/regalloc2-0.10.2/doc/TODO
wasmtime-26.0.0 ./ext/cargo-vendor/regalloc2-0.10.2/doc/TODO
wasmtime-25.0.2 ./ext/cargo-vendor/regalloc2-0.10.2/doc/TODO
wasmtime-25.0.1 ./ext/cargo-vendor/regalloc2-0.10.2/doc/TODO
wasmtime-25.0.0 ./ext/cargo-vendor/regalloc2-0.10.2/doc/TODO
wasmtime-24.0.0 ./ext/cargo-vendor/regalloc2-0.9.3/doc/TODO
wasmtime-23.0.2 ./ext/cargo-vendor/regalloc2-0.9.3/doc/TODO
wasmtime-22.0.0 ./ext/cargo-vendor/regalloc2-0.9.3/doc/TODO
wasmtime-21.0.1 ./ext/cargo-vendor/regalloc2-0.9.3/doc/TODO
wasmtime-20.0.2 ./ext/cargo-vendor/regalloc2-0.9.3/doc/TODO
wasmtime-20.0.0 ./ext/cargo-vendor/regalloc2-0.9.3/doc/TODO
wasmtime-18.0.3 ./ext/cargo-vendor/regalloc2-0.9.3/doc/TODO
wasmtime-17.0.1 ./ext/cargo-vendor/regalloc2-0.9.3/doc/TODO
wasmtime-17.0.0 ./ext/cargo-vendor/regalloc2-0.9.3/doc/TODO
wasmtime-16.0.0 ./ext/cargo-vendor/regalloc2-0.9.3/doc/TODO
wasmtime-15.0.1 ./ext/cargo-vendor/regalloc2-0.9.3/doc/TODO
wasmtime-15.0.0 ./ext/cargo-vendor/regalloc2-0.9.3/doc/TODO
wasmtime-14.0.4 ./ext/cargo-vendor/regalloc2-0.9.3/doc/TODO