regalloc.rs
regalloc.rs copied to clipboard
Modular register allocator algorithms
(Marking as taken: either I or students I'm mentoring will take this item.)
This would for example be useful for https://github.com/bytecodealliance/wasmtime/issues/2633. The `ghost_use` instruction there shouldn't force the value to be in a register. It merely needs it to be available somewhere.
This issue might be related to #32, although I'm not sure: I've hit the following case in fuzzing, that causes a split between the use and def point of an...
A number of architectures require us to reason about aliasing registers; for example: - On AArch64, the standard (AAPCS) calling convention specifies that the *lower half* of some vector (128-bit)...
Otherwise they can't be inlined into users of regalloc.rs. On one profile it took 4 samples of the `cranelift_codegen::isa::x64::abi::compute_arg_locs` function, which has 12 samples. While this is of course not...
In an upcoming commit (PR #80) to support reftypes, fn `do_reftypes_analysis` uses a fixpoint iteration to compute the transitive closure of all `VirtualRanges` and `RealRanges` to which reftype-ness can propagate....
If we had `Writable` dereference to `T`, then we could use all instances of `Writable` as if they were `T`, which would make much better ergonomics than using `to_reg()`. I...
Several files in the repository use names which are unconventional in Rust: ```rust fn is_Unavail(&self) -> bool { ``` ```rust let mut vlrEquivClassesUF = ``` etc. These would ordinarily get...
I'd like to make the following two minor changes to the interface: ---- (1) ---- [RA run time speedup support] ---- The client should tell us how many virtual registers...
So we can pass a test case that's stored in an absolute or relative location, e.g. `cargo run -- -a bt -t /tmp/test-case.rat`.