aboutsummaryrefslogtreecommitdiffhomepage
path: root/ir
diff options
context:
space:
mode:
authorlemon <lsof@mailbox.org>2026-03-04 17:26:23 +0100
committerlemon <lsof@mailbox.org>2026-03-04 17:26:23 +0100
commit4fa7cc840f591392d1d2c58c60e4f3e403050f1f (patch)
tree2ede412c27d513bfc53b0b6400b19106f0509058 /ir
parentfb2120120ee0b5a0165e4d10ee64dfd7bf01814b (diff)
regalloc: fix minor regression with storing of regs into spilled stack slots
Diffstat (limited to 'ir')
-rw-r--r--ir/regalloc.c2
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);