X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fopt%2Fgvn_pre.c;h=e6702a2b16349f3a64805af488ab9cc564e7c50a;hb=832d6190467e344baee9d1948665cdeb95da66a5;hp=f4407faa2746705596aea5bbeef60e98ec65cb0f;hpb=1a3b7d363474ab544c13093a2f0b578718d37c7a;p=libfirm diff --git a/ir/opt/gvn_pre.c b/ir/opt/gvn_pre.c index f4407faa2..e6702a2b1 100644 --- a/ir/opt/gvn_pre.c +++ b/ir/opt/gvn_pre.c @@ -537,7 +537,7 @@ static void compute_antic(ir_node *block, void *ctx) static void insert_nodes(ir_node *block, void *ctx) { pre_env *env = (pre_env*)ctx; - ir_node *value, *expr, *idom, *first_s, *worklist; + ir_node *value, *expr, *idom, *first_s; block_info *curr_info, *idom_info; int pos, arity = get_irn_arity(block); int all_same, by_some, updated; @@ -571,7 +571,6 @@ static void insert_nodes(ir_node *block, void *ctx) /* convert the set into a list. This allows the removal of * elements from the set */ - worklist = NULL; foreach_valueset(curr_info->antic_in, value, expr, iter) { ir_mode *mode; @@ -640,7 +639,7 @@ static void insert_nodes(ir_node *block, void *ctx) /* ignore bad blocks. */ if (is_Bad(pred_blk)) { ir_graph *irg = get_irn_irg(pred_blk); - in[pos] = new_r_Bad(irg); + in[pos] = new_r_Bad(irg, mode_X); continue; } @@ -892,11 +891,6 @@ void do_gvn_pre(ir_graph *irg) /* pin the graph again: This is needed due to the use of set_opt_global_cse(1) */ set_irg_pinned(irg, op_pin_state_pinned); restore_optimization_state(&state); - - if (a_env.pairs) { - set_irg_outs_inconsistent(irg); - set_irg_loopinfo_inconsistent(irg); - } } /* do_gvn_pre */ /* Creates an ir_graph pass for do_gvn_pre. */