aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorlemon <lsof@mailbox.org>2026-03-23 11:24:10 +0100
committerlemon <lsof@mailbox.org>2026-03-23 11:27:34 +0100
commitb9d12248e4c3e698ab35f8f264443d5a4b48be1a (patch)
treeedd8a8c0ccfb81daf97636d69acedf429231daa1
parent66d6e08f6ea863f9181c8e6e24c94f4a6c4baac7 (diff)
rega/devirt: don't assume unused operands are zeroinitialized
-rw-r--r--src/ir_regalloc.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/ir_regalloc.c b/src/ir_regalloc.c
index 3b204c6..ec1802d 100644
--- a/src/ir_regalloc.c
+++ b/src/ir_regalloc.c
@@ -1155,7 +1155,7 @@ devirt(RegAlloc *ra, Block *blk)
int nspill = 0;
/** devirtualize operands **/
- for (int i = 0; i < 3; ++i) {
+ for (int i = 0; i < opnarg[ins->op]; ++i) {
Ref *r = &ins->oper[i];
if (r->t == RADDR) {
IRAddr *a = &addrtab.p[r->i];