From 350a56d155e4dc5a5fc48bd2ab724dcbfc103d45 Mon Sep 17 00:00:00 2001 From: lemon Date: Wed, 18 Feb 2026 18:19:29 +0100 Subject: ir: regalloc & x86-64 isel bugfixes --- ir/regalloc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'ir/regalloc.c') 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); -- cgit v1.2.3