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-14.0.3 ./ext/cargo-vendor/regalloc2-0.9.3/doc/TODO
wasmtime-14.0.1 ./ext/cargo-vendor/regalloc2-0.9.3/doc/TODO
wasmtime-14.0.0 ./ext/cargo-vendor/regalloc2-0.9.3/doc/TODO
wasmtime-13.0.0 ./ext/cargo-vendor/regalloc2-0.9.2/doc/TODO
wasmtime-12.0.1 ./ext/cargo-vendor/regalloc2-0.9.2/doc/TODO
wasmtime-12.0.0 ./ext/cargo-vendor/regalloc2-0.9.2/doc/TODO
wasmtime-11.0.0 ./ext/cargo-vendor/regalloc2-0.9.2/doc/TODO
wasmtime-10.0.1 ./ext/cargo-vendor/regalloc2-0.9.2/doc/TODO
wasmtime-10.0.0 ./ext/cargo-vendor/regalloc2-0.9.2/doc/TODO
wasmtime-9.0.4 ./ext/cargo-vendor/regalloc2-0.8.1/doc/TODO
wasmtime-9.0.1 ./ext/cargo-vendor/regalloc2-0.8.1/doc/TODO
wasmtime-8.0.0 ./ext/cargo-vendor/regalloc2-0.6.1/doc/TODO
wasmtime-7.0.0 ./ext/cargo-vendor/regalloc2-0.6.1/doc/TODO
wasmtime-6.0.1 ./ext/cargo-vendor/regalloc2-0.5.1/doc/TODO
wasmtime-6.0.0 ./ext/cargo-vendor/regalloc2-0.5.1/doc/TODO
wasmtime-5.0.0 ./ext/cargo-vendor/regalloc2-0.5.1/doc/TODO
wasmtime-0.4.1 ./ext/cargo-vendor/regalloc2-0.5.1/doc/TODO
wasmtime-0.4.0 ./ext/cargo-vendor/regalloc2-0.5.1/doc/TODO