X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fbe%2Fbeblocksched.c;h=4e76c02eecf0eed3b59fe1e0bded38e76316a2e6;hb=1db02a4692443f95545ede1cabff8c828e33442b;hp=acf396d2d6835c9ae3c797c241eafa02792a6ca7;hpb=e2136f1e06e8ddc66609d7a0c53e0edda7f5cca2;p=libfirm diff --git a/ir/be/beblocksched.c b/ir/be/beblocksched.c index acf396d2d..4e76c02ee 100644 --- a/ir/be/beblocksched.c +++ b/ir/be/beblocksched.c @@ -498,10 +498,7 @@ static ir_node **create_block_schedule_greedy(ir_graph *irg, ir_exec_freq *execf env.worklist = NULL; env.blockcount = 0; - /* make sure loopinfo is up-to-date */ - if (! (get_irg_loopinfo_state(irg) & loopinfo_cf_consistent)) { - construct_cf_backedges(irg); - } + assure_loopinfo(irg); // collect edge execution frequencies irg_block_walk_graph(irg, collect_egde_frequency, NULL, &env); @@ -584,7 +581,7 @@ static void collect_egde_frequency_ilp(ir_node *block, void *data) entry->block = block; entry->next = NULL; entry->prev = NULL; - entry->out_cst = lpp_add_cst_uniq(env->lpp, name, lpp_greater, out_count - 1); + entry->out_cst = lpp_add_cst_uniq(env->lpp, name, lpp_greater_equal, out_count - 1); set_irn_link(block, entry); if (block == startblock) @@ -599,7 +596,7 @@ static void collect_egde_frequency_ilp(ir_node *block, void *data) int i; snprintf(name, sizeof(name), "block_in_constr_%ld", get_irn_node_nr(block)); - cst = lpp_add_cst_uniq(env->lpp, name, lpp_greater, arity - 1); + cst = lpp_add_cst_uniq(env->lpp, name, lpp_greater_equal, arity - 1); for (i = 0; i < arity; ++i) { double execfreq;