aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/ir_cse.c
diff options
context:
space:
mode:
authorlemon <lsof@mailbox.org>2026-03-23 19:20:32 +0100
committerlemon <lsof@mailbox.org>2026-03-23 19:20:32 +0100
commit8630aeb8b43c507cd00f5b091ddcee4def464f4d (patch)
tree1e39866c9f95e2f30903b96c7f255dd03a463d82 /src/ir_cse.c
parent9ffc0e5a21817a45956bc35d5996bfae09c4d49e (diff)
IR: mark free'd instructions as such
That way they are not copied when inlining. Also rename ninstr -> ninstrtab. opnarg -> opnoper
Diffstat (limited to 'src/ir_cse.c')
-rw-r--r--src/ir_cse.c6
1 files changed, 3 insertions, 3 deletions
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;