add a note so the next person doesn't have to dig so long anymore
[libfirm] / ir / be / beschedrss.c
index 389c66c..7009126 100644 (file)
@@ -30,6 +30,8 @@
  */
 #include "config.h"
 
+#include "beschedrss.h"
+
 #include <limits.h>
 
 #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.
  */