#include "irtools.h"
#include "irgwalk.h"
#include "becopyilp_t.h"
-#include "beifg_t.h"
+#include "beifg.h"
#include "besched.h"
#include "bemodule.h"
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);
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;
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)
}
}
-#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
#endif
}
+BE_REGISTER_MODULE_CONSTRUCTOR(be_init_copyilp2);
void be_init_copyilp2(void)
{
static co_algo_info copyheur = {
be_register_copyopt("ilp", ©heur);
}
-BE_REGISTER_MODULE_CONSTRUCTOR(be_init_copyilp2);
-
int co_solve_ilp2(copy_opt_t *co)
{
lpp_sol_state_t sol_state;
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);