X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fbe%2Fbeschedrss.c;h=70091261f8d47109f6de0d4cc3f741ff0f395993;hb=320595b2d2f4b0bc4f7bea706c9c575146607dbf;hp=389c66ccf6b32cbecdb9438796615cef6582e64c;hpb=32ea6ea0320f551448bb66e534e3351977464d42;p=libfirm diff --git a/ir/be/beschedrss.c b/ir/be/beschedrss.c index 389c66ccf..70091261f 100644 --- a/ir/be/beschedrss.c +++ b/ir/be/beschedrss.c @@ -30,6 +30,8 @@ */ #include "config.h" +#include "beschedrss.h" + #include #include "obst.h" @@ -341,7 +343,7 @@ static void dump_nodeset(ir_nodeset_t *ns, const char *prefix) ir_node *irn; ir_nodeset_iterator_init(&iter, ns); - while( (irn = ir_nodeset_iterator_next(&iter)) != NULL ) { + while ( (irn = ir_nodeset_iterator_next(&iter)) != NULL ) { ir_fprintf(stderr, "%s%+F\n", prefix, irn); } } @@ -797,9 +799,6 @@ static int is_potential_killer(rss_t *rss, rss_irn_t *v, rss_irn_t *u) plist_element_t *el; (void) rss; - assert(is_Sink(v->irn) || ((plist_count(v->descendant_list) > 0 && v->descendants) || 1)); - assert(is_Sink(u->irn) || ((plist_count(u->consumer_list) > 0 && u->consumer) || 1)); - /* as we loop over the list: loop over the shorter one */ if (plist_count(v->descendant_list) > plist_count(u->consumer_list)) { list = u->consumer_list; @@ -1736,7 +1735,7 @@ static ir_nodeset_t *compute_maximal_antichain(rss_t *rss, dvg_t *dvg, int itera if (rss->opts->dump_flags & RSS_DUMP_MAXAC) debug_vcg_dump_pkg(rss, values, iteration); - if(temp != NULL) { + if (temp != NULL) { ir_nodeset_destroy(temp); free(temp); } @@ -1895,14 +1894,16 @@ static serialization_t *compute_best_admissible_serialization(rss_t *rss, ir_nod be simultaneously alive with u */ bitset_copy(bs_tmp, bs_vdesc); - mu1 = bitset_popcnt(bitset_and(bs_tmp, bs_sv)); + bitset_and(bs_tmp, bs_sv); + mu1 = bitset_popcount(bs_tmp); /* mu2 = | accum_desc_all_pkiller(u) without descendants(v) | */ if (is_pkiller) { bitset_copy(bs_tmp, bs_ukilldesc); - mu2 = bitset_popcnt(bitset_andnot(bs_tmp, bs_vdesc)); + bitset_andnot(bs_tmp, bs_vdesc); + mu2 = bitset_popcount(bs_tmp); } else { mu2 = 0; @@ -2001,7 +2002,7 @@ static void perform_value_serialization_heuristic(rss_t *rss) arch_put_non_ignore_regs(rss->cls, arch_nonign_bs); be_abi_put_ignore_regs(rss->abi, rss->cls, abi_ign_bs); bitset_andnot(arch_nonign_bs, abi_ign_bs); - available_regs = bitset_popcnt(arch_nonign_bs); + available_regs = bitset_popcount(arch_nonign_bs); //num_live = pset_count(rss->live_block); //available_regs -= num_live < available_regs ? num_live : 0; @@ -2052,7 +2053,7 @@ static void perform_value_serialization_heuristic(rss_t *rss) /* update the dvg */ update_dvg(rss, &dvg, ser->v, ser->u); update_dvg(rss, &dvg, get_rss_irn(rss, ser->edge->src), get_rss_irn(rss, ser->edge->tgt)); - if(sat_vals != NULL) { + if (sat_vals != NULL) { ir_nodeset_destroy(sat_vals); free(sat_vals); } @@ -2085,7 +2086,7 @@ static void process_block(ir_node *block, void *env) int i, n; const ir_edge_t *edge; - phase_init(&rss->ph, "rss block preprocessor", rss->irg, PHASE_DEFAULT_GROWTH, init_rss_irn, NULL); + phase_init(&rss->ph, rss->irg, init_rss_irn); DBG((rss->dbg, LEVEL_1, "preprocessing block %+F\n", block)); rss->block = block; @@ -2171,12 +2172,10 @@ static void process_block(ir_node *block, void *env) ir_nodeset_destroy(&rss->live_block); } - phase_free(&rss->ph); + phase_deinit(&rss->ph); } -/** - * Register the options. - */ +BE_REGISTER_MODULE_CONSTRUCTOR(be_init_schedrss); void be_init_schedrss(void) { lc_opt_entry_t *be_grp = lc_opt_get_grp(firm_opt_get_root(), "be"); @@ -2186,8 +2185,6 @@ void be_init_schedrss(void) lc_opt_add_table(rss_grp, rss_option_table); } -BE_REGISTER_MODULE_CONSTRUCTOR(be_init_schedrss); - /** * Preprocess the irg for scheduling. */