From: Christoph Mallon Date: Sun, 12 Oct 2008 12:49:50 +0000 (+0000) Subject: Remove logical impossibility: A node cannot be a Perm and a Proj at the same time... X-Git-Url: http://nsz.repo.hu/git/?a=commitdiff_plain;h=051453480f7a6f94a4c373986dd45a0d8e396035;p=libfirm Remove logical impossibility: A node cannot be a Perm and a Proj at the same time. Even then the code makes no sense, because setting the proj no of a Proj and exchanging it right after that is pretty pointless. [r22800] --- diff --git a/ir/be/belower.c b/ir/be/belower.c index ee09f6b53..2130e864b 100644 --- a/ir/be/belower.c +++ b/ir/be/belower.c @@ -328,17 +328,8 @@ static void lower_perm_node(ir_node *irn, void *walk_env) { DBG((mod, LEVEL_1, "%+F removing equal perm register pair (%+F, %+F, %s)\n", irn, pairs[i].in_node, pairs[i].out_node, pairs[i].out_reg->name)); - /* We have to check for a special case: - The in-node could be a Proj from a Perm. In this case, - we need to correct the projnum */ - if (be_is_Perm(pairs[i].in_node) && is_Proj(pairs[i].in_node)) { - set_Proj_proj(pairs[i].out_node, get_Proj_proj(pairs[i].in_node)); - } - /* reroute the edges from the proj to the argument */ exchange(pairs[i].out_node, pairs[i].in_node); - //edges_reroute(pairs[i].out_node, pairs[i].in_node, env->birg->irg); - //set_irn_n(pairs[i].out_node, 0, new_Bad()); pairs[i].checked = 1; }