From: Matthias Braun Date: Wed, 9 Aug 2006 11:14:21 +0000 (+0000) Subject: - place memperms in the predblocks of the memphi, not in the blocks of the phi argument X-Git-Url: http://nsz.repo.hu/git/?a=commitdiff_plain;h=21a385ac3f6da2d3097c751e0942fe0858af5774;p=libfirm - place memperms in the predblocks of the memphi, not in the blocks of the phi argument --- diff --git a/ir/be/bespillslots.c b/ir/be/bespillslots.c index 8db1ace25..8932c16b4 100644 --- a/ir/be/bespillslots.c +++ b/ir/be/bespillslots.c @@ -585,12 +585,14 @@ static void assign_spillslots(ss_env_t *env) { be_set_frame_entity(node, slot->entity); } else { int i, arity; + ir_node *block = get_nodes_block(node); // should be a PhiM assert(is_Phi(node)); for(i = 0, arity = get_irn_arity(node); i < arity; ++i) { ir_node *arg = get_irn_n(node, i); + ir_node *predblock = get_Block_cfgpred_block(block, i); spill_t *argspill; int argslotid; @@ -606,7 +608,7 @@ static void assign_spillslots(ss_env_t *env) { create_stack_entity(env, argslot); } - memperm = get_memperm(env, get_nodes_block(arg)); + memperm = get_memperm(env, predblock); entry = obstack_alloc(&env->obst, sizeof(entry[0])); entry->node = node;