Closed
Bug 1552740
Opened 6 years ago
Closed 5 years ago
Cranelift: General live range splitting
Categories
(Core :: JavaScript: WebAssembly, enhancement, P3)
Core
JavaScript: WebAssembly
Tracking
()
RESOLVED
WONTFIX
People
(Reporter: lth, Unassigned)
References
Details
This is a generalization of the work in bug 1552735 and should happen later. Currently when the Cranelift register allocator reaches maximum register pressure and must spill, it spills by assigning some SSA value to a stack slot for its lifetime. This leads to locally poor code; the correct behavior would be to attempt to split the live range.
If we're sticking to SSA regalloc, then there's work by Braun & Hack that explains how to do this systematically and with good results. We would likely then either replace our spill/reload passes by a splitter pass, or somehow augment those passes with a splitter component.
Reporter | ||
Updated•6 years ago
|
Reporter | ||
Updated•6 years ago
|
Priority: -- → P3
Reporter | ||
Comment 1•5 years ago
|
||
WONTFIXing this because there's a new register allocator coming.
Status: NEW → RESOLVED
Closed: 5 years ago
Resolution: --- → WONTFIX
You need to log in
before you can comment on or make changes to this bug.
Description
•