aboutsummaryrefslogtreecommitdiffhomepage
path: root/ir
diff options
context:
space:
mode:
authorlemon <lsof@mailbox.org>2026-02-18 18:19:29 +0100
committerlemon <lsof@mailbox.org>2026-02-18 18:19:29 +0100
commit350a56d155e4dc5a5fc48bd2ab724dcbfc103d45 (patch)
tree2b494638478f26da3fb28dd3b8b0e5767e40d820 /ir
parent6f6c98879f2ff71f93891611e3475757b395f136 (diff)
ir: regalloc & x86-64 isel bugfixes
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 9057d43..85b6a65 100644
--- a/ir/regalloc.c
+++ b/ir/regalloc.c
@@ -1139,7 +1139,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 && ins->l.t != RADDR) {
+ if (ins->op == Ocopy && ins->l.t != RADDR && !isaddrcon(ins->l,0)) {
ins->op = store;
ins->r = ins->l;
addstkslotref(temp, alloc->a*8);