X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fbe%2Fbecopyilp2.c;h=acecf27034ee2099e2d3c592fa540620c505b0ad;hb=36e688467f3e9fed2b96e2d7f323edffa4268b53;hp=61cf23b281c3a876670cce94c66c881df5689caa;hpb=9d9b55603b6dc481b3551143a61eda3db59d9090;p=libfirm diff --git a/ir/be/becopyilp2.c b/ir/be/becopyilp2.c index 61cf23b28..acecf2703 100644 --- a/ir/be/becopyilp2.c +++ b/ir/be/becopyilp2.c @@ -50,7 +50,7 @@ #include "raw_bitset.h" #include "pdeq.h" -#include "irtools.h" +#include "util.h" #include "irgwalk.h" #include "becopyilp_t.h" #include "beifg.h" @@ -89,7 +89,7 @@ static void build_coloring_cstr(ilp_env_t *ienv) pmap_insert(lenv->nr_2_irn, INT_TO_PTR(node_nr), irn); - req = arch_get_register_req_out(irn); + req = arch_get_irn_register_req(irn); bitset_clear_all(colors); @@ -104,7 +104,7 @@ static void build_coloring_cstr(ilp_env_t *ienv) cst_idx = lpp_add_cst(ienv->lp, NULL, lpp_equal, 1.0); bitset_foreach(colors, col) { - int var_idx = lpp_add_var(ienv->lp, name_cdd(buf, 'x', node_nr, col), lpp_binary, 0.0); + int var_idx = lpp_add_var(ienv->lp, name_cdd(buf, 'x', node_nr, (int)col), lpp_binary, 0.0); lpp_set_start_value(ienv->lp, var_idx, (col == (unsigned) curr_node_color) ? 1.0 : 0.0); lpp_set_factor_fast(ienv->lp, cst_idx, var_idx, 1); @@ -116,7 +116,7 @@ static void build_coloring_cstr(ilp_env_t *ienv) /* add register constraint constraints */ bitset_foreach_clear(colors, col) { int cst_idx = lpp_add_cst(ienv->lp, NULL, lpp_equal, 0.0); - int var_idx = lpp_add_var(ienv->lp, name_cdd(buf, 'x', node_nr, col), lpp_binary, 0.0); + int var_idx = lpp_add_var(ienv->lp, name_cdd(buf, 'x', node_nr, (int)col), lpp_binary, 0.0); lpp_set_start_value(ienv->lp, var_idx, 0.0); lpp_set_factor_fast(ienv->lp, cst_idx, var_idx, 1); @@ -152,7 +152,7 @@ static void build_interference_cstr(ilp_env_t *ienv) /* for all colors */ for (col=0; collp, NULL, lpp_less, 0.0); + int cst_idx = lpp_add_cst(ienv->lp, NULL, lpp_less_equal, 0.0); root_idx = lpp_get_var_idx(ienv->lp, name_cdd(buf, 'x', root_nr, col)); arg_idx = lpp_get_var_idx(ienv->lp, name_cdd(buf, 'x', arg_nr, col)); @@ -329,8 +329,8 @@ static void build_clique_star_cstr(ilp_env_t *ienv) int growed; /* get 2 starting nodes to form a clique */ - for (e=set_first(edges); !e->n1; e=set_next(edges)) - /*nothing*/ ; + for (e=set_first(edges); !e->n1; e=set_next(edges)) { + } /* we could be stepped out of the loop before the set iterated to the end */ set_break(edges); @@ -382,7 +382,7 @@ static void build_clique_star_cstr(ilp_env_t *ienv) int var_idx, cst_idx, center_nr, member_nr; char buf[16]; - cst_idx = lpp_add_cst(ienv->lp, NULL, lpp_greater, pset_count(clique)-1); + cst_idx = lpp_add_cst(ienv->lp, NULL, lpp_greater_equal, pset_count(clique)-1); center_nr = get_irn_idx(center); pset_foreach(clique, member) { @@ -439,7 +439,7 @@ static void extend_path(ilp_env_t *ienv, pdeq *path, const ir_node *irn) /* And a path of length 2 is covered by a clique star constraint. */ if (len > 2) { /* finally build the constraint */ - int cst_idx = lpp_add_cst(ienv->lp, NULL, lpp_greater, 1.0); + int cst_idx = lpp_add_cst(ienv->lp, NULL, lpp_greater_equal, 1.0); for (i=1; ienv; int lower_bound; - ienv->lp = new_lpp(ienv->co->name, lpp_minimize); + ienv->lp = lpp_new(ienv->co->name, lpp_minimize); build_coloring_cstr(ienv); build_interference_cstr(ienv); build_affinity_cstr(ienv); @@ -516,7 +516,7 @@ static void ilp2_apply(ilp_env_t *ienv) lpp_sol_state_t state = lpp_get_solution(ienv->lp, sol, lenv->first_x_var, lenv->last_x_var); if (state != lpp_optimal) { - printf("WARNING %s: Solution state is not 'optimal': %d\n", ienv->co->name, state); + printf("WARNING %s: Solution state is not 'optimal': %d\n", ienv->co->name, (int)state); assert(state >= lpp_feasible && "The solution should at least be feasible!"); } @@ -549,7 +549,7 @@ static void ilp2_apply(ilp_env_t *ienv) #endif } -BE_REGISTER_MODULE_CONSTRUCTOR(be_init_copyilp2); +BE_REGISTER_MODULE_CONSTRUCTOR(be_init_copyilp2) void be_init_copyilp2(void) { static co_algo_info copyheur = {