X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fopt%2Fcode_placement.c;h=72fbdb95e33ddafc3ecbfcdb9a93a3097f68f5f2;hb=3cbd413165c32732a2752738997b0bee27b9f51b;hp=c8eccefd8003d0b0609b9f0d0a8dd1de9417f38e;hpb=d32deaaaf39ca256be208269c9a933c211439feb;p=libfirm diff --git a/ir/opt/code_placement.c b/ir/opt/code_placement.c index c8eccefd8..72fbdb95e 100644 --- a/ir/opt/code_placement.c +++ b/ir/opt/code_placement.c @@ -45,14 +45,6 @@ static bool is_block_reachable(ir_node *block) return get_Block_dom_depth(block) >= 0; } -/* mark node as not-visited */ -static void clear_irn_visited(ir_node *node) -{ - ir_graph *irg = get_irn_irg(node); - ir_visited_t visited = get_irg_visited(irg); - set_irn_visited(node, visited-1); -} - /** * Find the earliest correct block for node n. --- Place n into the * same Block as its dominance-deepest Input. @@ -112,20 +104,7 @@ static void place_floats_early(ir_node *n, waitq *worklist) arity = get_irn_arity(n); place_floats_early(block, worklist); for (i = 0; i < arity; ++i) { - ir_node *pred = get_irn_n(n, i); - ir_node *pred_block = get_nodes_block(pred); - - /* gcse can lead to predecessors of reachable code being unreachable. - * Move them into the current block in this case */ - if (!is_block_reachable(pred_block)) { - ir_node *new_pred_block = block; - assert(get_irn_pinned(pred) == op_pin_state_floats); - if (is_Phi(n)) { - new_pred_block = get_Block_cfgpred_block(block, i); - } - set_nodes_block(pred, new_pred_block); - clear_irn_visited(pred); - } + ir_node *pred = get_irn_n(n, i); place_floats_early(pred, worklist); } @@ -450,7 +429,6 @@ void place_code(ir_graph *irg) unnecessary executions of the node. */ place_late(irg, worklist); - set_irg_outs_inconsistent(irg); set_irg_loopinfo_inconsistent(irg); del_waitq(worklist); }