diff options
| author | 2026-03-16 18:15:37 +0100 | |
|---|---|---|
| committer | 2026-03-16 18:15:37 +0100 | |
| commit | 28261b6b1b55184ce7084eb14cdcb42edc7f8480 (patch) | |
| tree | 14843ed375949f42afce9501bff66c0ef398641d /todo.txt | |
| parent | 3e83c4280f0b1d72774c522a7e0d135913151b56 (diff) | |
regalloc: improve spilling and cleanup
Instead of spilling current interval when running out of registers,
spill the longest-lived active interval with a lower spill cost than
current. Spill costs are estimated based on multiplicative loop depth.
Also cleanup regalloc.c somewhat.
Update todo.txt too.
Diffstat (limited to 'todo.txt')
| -rw-r--r-- | todo.txt | 10 |
1 files changed, 5 insertions, 5 deletions
@@ -4,10 +4,10 @@ - DWARF debug information - implement GNU extensions: __attribute__, __builtin_*, ... - compiler optimizations: - - dead store/load optimization, - - inlining - - loop inversion + - dead store/load optimization, forwarding + - all kinds of loop optimizations + - switch statements (bsearch, maybe jumptables?) - instruction scheduling - - better regalloc spilling heuristics + - use of memory operands in arith instrs in x86 -- testing on real world codebases +- more testing on real world codebases |