From: Matthias Braun Date: Tue, 2 Oct 2007 18:34:23 +0000 (+0000) Subject: we still need an esp keep for allocas X-Git-Url: http://nsz.repo.hu/git/?a=commitdiff_plain;ds=sidebyside;h=0441b61645d1f998f0852e14f528527a825f537e;p=libfirm we still need an esp keep for allocas [r16037] --- 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);