diff options
| author | 2026-03-16 18:15:37 +0100 | |
|---|---|---|
| committer | 2026-03-16 18:15:37 +0100 | |
| commit | 28261b6b1b55184ce7084eb14cdcb42edc7f8480 (patch) | |
| tree | 14843ed375949f42afce9501bff66c0ef398641d /ir/ir.h | |
| 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 'ir/ir.h')
| -rw-r--r-- | ir/ir.h | 2 |
1 files changed, 1 insertions, 1 deletions
@@ -295,7 +295,7 @@ void fillblkids(struct function *); #define startbbvisit() (void)(++visitmark) #define wasvisited(blk) ((blk)->visit == visitmark) #define markvisited(blk) ((blk)->visit = visitmark) -void numberinstrs(struct function *); +uint numberinstrs(struct function *); bool blkreachable(struct function *fn, struct block *blk); /** builder.c **/ |