emit arm symconsts as .LC%u instead of .L%u to avoid clashed with block numbers
[libfirm] / ir / be / becopyilp2.c
index c45683f..028abda 100644 (file)
@@ -55,7 +55,7 @@
 #include "irtools.h"
 #include "irgwalk.h"
 #include "becopyilp_t.h"
-#include "beifg_t.h"
+#include "beifg.h"
 #include "besched.h"
 #include "bemodule.h"
 
@@ -73,16 +73,16 @@ typedef struct _local_env_t {
 static void build_coloring_cstr(ilp_env_t *ienv)
 {
        be_ifg_t *ifg     = ienv->co->cenv->ifg;
-       void *iter        = be_ifg_nodes_iter_alloca(ifg);
+       nodes_iter_t iter;
        bitset_t *colors;
        ir_node *irn;
        char buf[16];
 
        colors = bitset_alloca(arch_register_class_n_regs(ienv->co->cls));
 
-       be_ifg_foreach_node(ifg, iter, irn)
+       be_ifg_foreach_node(ifg, &iter, irn)
                if (!sr_is_removed(ienv->sr, irn)) {
-                       bitset_pos_t col;
+                       unsigned col;
                        int cst_idx;
                        const arch_register_req_t *req;
                        int curr_node_color = get_irn_col(irn);
@@ -133,7 +133,7 @@ static void build_interference_cstr(ilp_env_t *ienv)
        local_env_t *lenv     = ienv->env;
        be_ifg_t    *ifg      = ienv->co->cenv->ifg;
        int          n_colors = lenv->n_colors;
-       void        *iter     = be_ifg_cliques_iter_alloca(ifg);
+       cliques_iter_t iter;
        ir_node    **clique   = ALLOCAN(ir_node*, n_colors);
        int          size;
        int          col;
@@ -142,7 +142,7 @@ static void build_interference_cstr(ilp_env_t *ienv)
        char buf[16];
 
        /* for each maximal clique */
-       be_ifg_foreach_clique(ifg, iter, clique, &size) {
+       be_ifg_foreach_clique(ifg, &iter, clique, &size) {
                int realsize = 0;
 
                for (i=0; i<size; ++i)
@@ -281,7 +281,7 @@ static inline void remove_edge(set *edges, ir_node *n1, ir_node *n2, int *counte
        }
 }
 
-#define pset_foreach(pset, irn)  for(irn=pset_first(pset); irn; irn=pset_next(pset))
+#define pset_foreach(pset, irn)  for (irn=pset_first(pset); irn; irn=pset_next(pset))
 
 /**
  * Search for an interference clique and an external node
@@ -551,6 +551,7 @@ static void ilp2_apply(ilp_env_t *ienv)
 #endif
 }
 
+BE_REGISTER_MODULE_CONSTRUCTOR(be_init_copyilp2);
 void be_init_copyilp2(void)
 {
        static co_algo_info copyheur = {
@@ -560,8 +561,6 @@ void be_init_copyilp2(void)
        be_register_copyopt("ilp", &copyheur);
 }
 
-BE_REGISTER_MODULE_CONSTRUCTOR(be_init_copyilp2);
-
 int co_solve_ilp2(copy_opt_t *co)
 {
        lpp_sol_state_t sol_state;
@@ -580,7 +579,7 @@ int co_solve_ilp2(copy_opt_t *co)
        my.normal_colors = bitset_alloca(arch_register_class_n_regs(co->cls));
        bitset_clear_all(my.normal_colors);
        arch_put_non_ignore_regs(co->cls, my.normal_colors);
-       my.n_colors = bitset_popcnt(my.normal_colors);
+       my.n_colors = bitset_popcount(my.normal_colors);
 
        ienv = new_ilp_env(co, ilp2_build, ilp2_apply, &my);