aboutsummaryrefslogtreecommitdiffhomepage
path: root/ir/builder.c
diff options
context:
space:
mode:
Diffstat (limited to 'ir/builder.c')
-rw-r--r--ir/builder.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/ir/builder.c b/ir/builder.c
index 640c1fd..1d73314 100644
--- a/ir/builder.c
+++ b/ir/builder.c
@@ -207,11 +207,19 @@ putcondbranch(struct function *fn, union ref arg, struct block *t, struct block
void
putreturn(struct function *fn, union ref r0, union ref r1)
{
+ assert(fn->curblk);
adduse(fn->curblk, USERJUMP, r0);
adduse(fn->curblk, USERJUMP, r1);
putjump(fn, Jret, r0, r1, NULL, NULL);
}
+void
+puttrap(struct function *fn)
+{
+ assert(fn->curblk);
+ putjump(fn, Jtrap, NOREF, NOREF, NULL, NULL);
+}
+
#undef putjump
/* vim:set ts=3 sw=3 expandtab: */