diff options
| author | 2026-03-23 11:24:10 +0100 | |
|---|---|---|
| committer | 2026-03-23 11:27:34 +0100 | |
| commit | b9d12248e4c3e698ab35f8f264443d5a4b48be1a (patch) | |
| tree | edd8a8c0ccfb81daf97636d69acedf429231daa1 | |
| parent | 66d6e08f6ea863f9181c8e6e24c94f4a6c4baac7 (diff) | |
rega/devirt: don't assume unused operands are zeroinitialized
| -rw-r--r-- | src/ir_regalloc.c | 2 |
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]; |