aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/ir.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/ir.c')
-rw-r--r--src/ir.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/ir.c b/src/ir.c
index 4f3a43d..f515adb 100644
--- a/src/ir.c
+++ b/src/ir.c
@@ -688,8 +688,16 @@ irfini(Function *fn)
freearena(fn->passarena);
}
if (maybeinlinee(fn)) {
- // goto Fin; XXX do this by having inline function rematerialization when symbol is actually referenced
+ freearena(fn->passarena);
+ return;
}
+
+ irfini_end(fn);
+}
+
+void
+irfini_end(Function *fn)
+{
lowerstack(fn);
freearena(fn->passarena);
if (ccopt.dbg.o) {
@@ -702,7 +710,6 @@ irfini(Function *fn)
if (objout.code)
mctarg->emit(fn);
-//Fin:
freearena(fn->passarena);
freefn(fn);
}