aboutsummaryrefslogtreecommitdiffhomepage
path: root/ir/ir.c
diff options
context:
space:
mode:
authorlemon <lsof@mailbox.org>2025-10-24 13:50:11 +0200
committerlemon <lsof@mailbox.org>2025-10-24 13:50:11 +0200
commit968f5211d2c64f01c02d416a9ca197b1f43dfc2a (patch)
tree81c9f59ba99dfc4283329acd171da2b5b230fc66 /ir/ir.c
parentb98f2042ca41a5c974b8908d4faf606efa897fa8 (diff)
codegen fixes, propagate terminate
Diffstat (limited to 'ir/ir.c')
-rw-r--r--ir/ir.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/ir/ir.c b/ir/ir.c
index 586b9b8..5cd1624 100644
--- a/ir/ir.c
+++ b/ir/ir.c
@@ -266,10 +266,11 @@ freeblk(struct function *fn, struct block *blk)
if (blk->s2) delpred(blk->s2, blk);
vfree(&blk->phi);
vfree(&blk->ins);
+ if (blk->id != -1)
+ --fn->nblk;
if (blk->lnext) blk->lnext->lprev = blk->lprev;
if (blk->lprev) blk->lprev->lnext = blk->lnext;
blk->id = 1u<<31;
- --fn->nblk;
}
struct block *