Commit 51d2067
[regalloc] Enable spill placer for non loop-top phis
The spill placer is only enabled for loop-top phis because we did not
see benefits for other kinds of live ranges at the time. Other ranges
are guarded by "--stress-turbo-late-spilling".
However, we just observed that the JetStream dotnet-interp-wasm
benchmark contains an expensive register spill at the start of each
interpreter loop iteration for a non-phi range, and greatly benefits
from moving the spill down into the (rare) successor blocks that
actually require the value to be on the stack.
Enable the flag by default and rename it to
"--turbo-always-optimize-spills". This is expected to slightly increase
code size in some cases, but this should never increase the number of
spills on any control-flow path.
[email protected]
Bug: 475502210
Change-Id: I91b31c632da7ec192d3a41a61a79d561b13fcf18
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/7510687
Reviewed-by: Daniel Lehmann <[email protected]>
Commit-Queue: Thibaud Michaud <[email protected]>
Cr-Commit-Position: refs/heads/main@{#104853}1 parent ea50d3f commit 51d2067
3 files changed
Lines changed: 7 additions & 7 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2707 | 2707 | | |
2708 | 2708 | | |
2709 | 2709 | | |
2710 | | - | |
| 2710 | + | |
2711 | 2711 | | |
2712 | 2712 | | |
2713 | 2713 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
38 | 38 | | |
39 | 39 | | |
40 | 40 | | |
41 | | - | |
42 | | - | |
43 | | - | |
44 | | - | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
45 | 45 | | |
46 | 46 | | |
47 | | - | |
| 47 | + | |
48 | 48 | | |
49 | 49 | | |
50 | 50 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1367 | 1367 | | |
1368 | 1368 | | |
1369 | 1369 | | |
1370 | | - | |
| 1370 | + | |
1371 | 1371 | | |
1372 | 1372 | | |
1373 | 1373 | | |
| |||
0 commit comments