diff options
| author | 2026-03-04 17:26:23 +0100 | |
|---|---|---|
| committer | 2026-03-04 17:26:23 +0100 | |
| commit | 4fa7cc840f591392d1d2c58c60e4f3e403050f1f (patch) | |
| tree | 2ede412c27d513bfc53b0b6400b19106f0509058 /ir | |
| parent | fb2120120ee0b5a0165e4d10ee64dfd7bf01814b (diff) | |
regalloc: fix minor regression with storing of regs into spilled stack slots
Diffstat (limited to 'ir')
| -rw-r--r-- | ir/regalloc.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/ir/regalloc.c b/ir/regalloc.c index cdbd7af..09bc955 100644 --- a/ir/regalloc.c +++ b/ir/regalloc.c @@ -1159,7 +1159,7 @@ devirt(struct rega *ra, struct block *blk) enum irclass cls = insrescls(*ins); int store = cls2store[cls]; /* t was spilled, gen store */ - if (ins->op == Ocopy && isstoreimm(ins->l)) { + if (ins->op == Ocopy && (ins->l.t == RREG || isstoreimm(ins->l))) { ins->op = store; ins->r = ins->l; addstkslotref(temp, alloc->a*8); |