X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fbe%2Fbeabi.c;h=0547a0cf5558c2053c7d6769021dc394354692da;hb=9d20c61722e987065708bfb75669e92c28cab78c;hp=a7e3ce142218ed089d3b4398e3314499865fdb2f;hpb=c143d5e61bf840c47301a8ad6814045558580d41;p=libfirm diff --git a/ir/be/beabi.c b/ir/be/beabi.c index a7e3ce142..0547a0cf5 100644 --- 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 */ - 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);