From 8630aeb8b43c507cd00f5b091ddcee4def464f4d Mon Sep 17 00:00:00 2001 From: lemon Date: Mon, 23 Mar 2026 19:20:32 +0100 Subject: IR: mark free'd instructions as such That way they are not copied when inlining. Also rename ninstr -> ninstrtab. opnarg -> opnoper --- src/ir_cse.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'src/ir_cse.c') diff --git a/src/ir_cse.c b/src/ir_cse.c index 6007f8c..8e1805d 100644 --- a/src/ir_cse.c +++ b/src/ir_cse.c @@ -12,7 +12,7 @@ insequ(const Instr *a, const Instr *b) { if (a->op != b->op) return 0; enum op op = a->op; - switch (opnarg[op]) { + switch (opnoper[op]) { default: assert(0); case 2: if (a->r.bits != b->r.bits) return 0; case 1: if (a->l.bits != b->l.bits) return 0; @@ -68,8 +68,8 @@ void cselim(Function *fn) { FREQUIRE(FNUSE | FNRPO | FNDOM | FNBLKID); - extern int ninstr; - for (ninsht = 32; ninsht <= ninstr; ninsht *= 2) ; + extern int ninstrtab; + for (ninsht = 32; ninsht <= ninstrtab; ninsht *= 2) ; insht = allocz(fn->passarena, ninsht * sizeof *insht, 0); int memno = 0, cutoff = 0; Block *blk = fn->entry; -- cgit v1.2.3