summaryrefslogtreecommitdiffhomepage
path: root/ir/be/mips
diff options
context:
space:
mode:
authorChristoph Mallon <christoph.mallon@gmx.de>2018-04-03 10:49:53 +0200
committerChristoph Mallon <christoph.mallon@gmx.de>2018-04-03 10:53:52 +0200
commit1c4dde54d20ebf750513fd3474548c06b95f00b7 (patch)
tree1046ce75fa9beda878c8d855219ba702b69df1fe /ir/be/mips
parentced77d384cb1bbedc1c57d345328e79e05a41de0 (diff)
mips: Correctly handle twice returning calls (setjmp).
Diffstat (limited to 'ir/be/mips')
-rw-r--r--ir/be/mips/mips_transform.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/ir/be/mips/mips_transform.c b/ir/be/mips/mips_transform.c
index bff338c..9b2229c 100644
--- a/ir/be/mips/mips_transform.c
+++ b/ir/be/mips/mips_transform.c
@@ -436,8 +436,10 @@ static ir_node *gen_Call(ir_node *const node)
++p;
}
+ ir_type *const fun_type = get_Call_type(node);
+ record_returns_twice(irg, fun_type);
+
mips_calling_convention_t cconv;
- ir_type *const fun_type = get_Call_type(node);
mips_determine_calling_convention(&cconv, fun_type);
ir_node *mems[1 + cconv.n_mem_param];