From 87f9753fb776a1fa6e59baef759e4687fb9a1ac7 Mon Sep 17 00:00:00 2001 From: lemon Date: Fri, 21 Nov 2025 17:07:28 +0100 Subject: ir: barebones IR passes checked contracts --- ir/abi0.c | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'ir/abi0.c') diff --git a/ir/abi0.c b/ir/abi0.c index 895277c..fe1a7e3 100644 --- a/ir/abi0.c +++ b/ir/abi0.c @@ -348,6 +348,8 @@ abi0(struct function *fn) struct block *blk; union ref sret = {0}; + FREQUIRE(FNUSE); + if (fn->retty.t == TYVOID) { fn->nabiret = 0; } else { @@ -435,6 +437,9 @@ abi0(struct function *fn) blk->id = id++; } while ((blk = blk->lnext) != fn->entry); + /* vaargs might break */ + fn->prop &= ~(FNBLKID | FNRPO); + if (ccopt.dbg.a) { bfmt(ccopt.dbgout, "<< After abi0 >>\n"); irdump(fn); -- cgit v1.2.3