aboutsummaryrefslogtreecommitdiffhomepage
path: root/ir.c
diff options
context:
space:
mode:
authorlemon <lsof@mailbox.org>2025-09-11 17:15:41 +0200
committerlemon <lsof@mailbox.org>2025-09-11 17:15:41 +0200
commit08f14cba3c350d44878f6133990fa5e4aa02d8f9 (patch)
treedcceb8fa929a221e7af57b53159d578629a4d7d3 /ir.c
parente87cd0b8891e6b57c3e96ce7e53f65080ec33daa (diff)
preprocessor: more awful hacks
Diffstat (limited to 'ir.c')
-rw-r--r--ir.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/ir.c b/ir.c
index 3da5862..fa840cc 100644
--- a/ir.c
+++ b/ir.c
@@ -452,12 +452,14 @@ delnops(struct block *blk)
/* delete trailing nops */
while (blk->ins.n > 0 && instrtab[t = blk->ins.p[blk->ins.n - 1]].op == Onop) {
--blk->ins.n;
+ deluses(t);
memcpy(&instrtab[t], &instrfreelist, sizeof(int));
instrfreelist = t;
}
/* delete rest of nops */
for (i = blk->ins.n - 2, n = 0; i >= 0; --i) {
if (instrtab[t = blk->ins.p[i]].op == Onop) {
+ deluses(t);
memcpy(&instrtab[t], &instrfreelist, sizeof(int));
instrfreelist = t;
++n;