remove unused be_add_remat function
[libfirm] / ir / be / becopyilp2.c
index 8c3abfb..36dad10 100644 (file)
  *  - Clique-star constraints
  *
  *
- *     \min \sum_{ (i,j) \in Q }  w_ij y_ij
+ * \min \sum_{ (i,j) \in Q }  w_ij y_ij
  *
- *             \sum_c x_nc                     =  1                    n \in N, c \in C
+ *     \sum_c x_nc           =  1           n \in N, c \in C
  *
- *             x_nc                            =  0                    n \in N, c \not\in C(n)
+ *     x_nc                  =  0           n \in N, c \not\in C(n)
  *
- *             \sum x_nc                       <= 1                    x_nc \in Clique \in AllCliques,  c \in C
+ *     \sum x_nc            <=  1           x_nc \in Clique \in AllCliques,  c \in C
  *
- *             \sum_{e \in p} y_e      >= 1                    p \in P         path constraints
+ *     \sum_{e \in p} y_e   >=  1           p \in P      path constraints
  *
- *             \sum_{e \in cs} y_e     >= |cs| - 1             cs \in CP       clique-star constraints
+ *     \sum_{e \in cs} y_e  >= |cs| - 1     cs \in CP    clique-star constraints
  *
- *             x_nc, y_ij \in N,   w_ij \in R^+
+ *     x_nc, y_ij \in N,   w_ij \in R^+
  */
 #include "config.h"
 
 #include "irtools.h"
 #include "irgwalk.h"
 #include "becopyilp_t.h"
-#include "beifg_t.h"
+#include "beifg.h"
 #include "besched.h"
 #include "bemodule.h"
 
 #define DEBUG_LVL 1
 
-typedef struct _local_env_t {
+typedef struct local_env_t {
        double time_limit;
        int first_x_var, last_x_var;
        int n_colors;
@@ -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;
+                       size_t 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)
@@ -218,7 +218,7 @@ static void build_affinity_cstr(ilp_env_t *ienv)
 /**
  * Helping stuff for build_clique_star_cstr
  */
-typedef struct _edge_t {
+typedef struct edge_t {
        ir_node *n1, *n2;
 } edge_t;
 
@@ -578,8 +578,8 @@ 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);
+       be_put_allocatable_regs(co->irg, co->cls, my.normal_colors);
+       my.n_colors = bitset_popcount(my.normal_colors);
 
        ienv = new_ilp_env(co, ilp2_build, ilp2_apply, &my);