diff options
| author | 2023-06-24 23:37:14 +0200 | |
|---|---|---|
| committer | 2023-06-24 23:37:14 +0200 | |
| commit | ba84ebbd89d1dbe431f71b010b2d71214303ae48 (patch) | |
| tree | 3e39efbbacd6892986b0bff70cf232bd3c87e32d /regalloc.c | |
| parent | a140edef347a033a5743346ca1d29687e424910a (diff) | |
fix regalloc thinking some ins are dead by adding ins.keep
Diffstat (limited to 'regalloc.c')
| -rw-r--r-- | regalloc.c | 2 |
1 files changed, 1 insertions, 1 deletions
@@ -688,7 +688,7 @@ regalloc(struct function *fn) blk->id = id++; for (int i = 0; i < blk->ins.n; ++i) { struct instr *ins = &instrtab[blk->ins.p[i]]; - if (!ins->reg && insrescls(*ins) && ins->op != Omove && !oiscmp(ins->op)) { + if (!ins->reg && insrescls(*ins) && ins->op != Omove && !ins->keep) { /* dead */ Nop: *ins = mkinstr(Onop,0,); |