From 8b486bc9a1333d368538f91e046bf30f68798ce3 Mon Sep 17 00:00:00 2001 From: lemon Date: Wed, 17 Dec 2025 09:11:06 +0100 Subject: emit: don't put the exit block always at the end of the function --- x86_64/emit.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'x86_64') diff --git a/x86_64/emit.c b/x86_64/emit.c index 4a9d9d9..13121b3 100644 --- a/x86_64/emit.c +++ b/x86_64/emit.c @@ -1339,7 +1339,12 @@ emitbin(struct function *fn) exit = blk; continue; } else { - useblk(fn, exit = newblk(fn)); + exit = newblk(fn); + exit->lnext = blk->lnext; + exit->lprev = blk; + blk->lnext = exit; + exit->lnext->lprev = exit; + exit->id = fn->nblk++; exit->jmp.t = Jret; } } -- cgit v1.2.3