projects
/
libfirm
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
removed C99 features
[libfirm]
/
ir
/
be
/
beabi.c
diff --git
a/ir/be/beabi.c
b/ir/be/beabi.c
index
a7e3ce1
..
0547a0c
100644
(file)
--- a/
ir/be/beabi.c
+++ b/
ir/be/beabi.c
@@
-1150,7
+1150,8
@@
static void process_calls_in_block(ir_node *bl, void *data)
/* Keep the last stack state in the block by tying it to Keep node,
* the proj from calls is already kept */
/* Keep the last stack state in the block by tying it to Keep node,
* the proj from calls is already kept */
- if(curr_sp != env->init_sp && !is_Proj(curr_sp)) {
+ if(curr_sp != env->init_sp
+ && !(is_Proj(curr_sp) && be_is_Call(get_Proj_pred(curr_sp)))) {
nodes[0] = curr_sp;
keep = be_new_Keep(env->isa->sp->reg_class, get_irn_irg(bl),
bl, 1, nodes);
nodes[0] = curr_sp;
keep = be_new_Keep(env->isa->sp->reg_class, get_irn_irg(bl),
bl, 1, nodes);