X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fbe%2Fbecopyilp.c;h=8f49c34f133c80c012f88bd0f346027b07cd1dc1;hb=bbc1f10ec95baa41187ff10ae7b3cadd66ad5e08;hp=4d610d91ed5c95cf6cfa19672b87e8bb017ead79;hpb=4c66ebcce62ceffb68a891142dd309429e03351a;p=libfirm diff --git a/ir/be/becopyilp.c b/ir/be/becopyilp.c index 4d610d91e..8f49c34f1 100644 --- a/ir/be/becopyilp.c +++ b/ir/be/becopyilp.c @@ -109,7 +109,7 @@ static INLINE int pi_is_simplicial(problem_instance_t *pi, const ir_node *ifn) { int i, o, size = 0; ir_node **all, *curr; be_ifg_t *ifg = pi->co->chordal_env->ifg; - void *iter = be_ifg_iter_alloca(ifg); + void *iter = be_ifg_neighbours_iter_alloca(ifg); all = alloca(be_ifg_degree(ifg, ifn) * sizeof(*all)); @@ -142,14 +142,15 @@ static void pi_find_simplicials(problem_instance_t *pi) { int redo = 1; int n_nodes = 0; const be_ifg_t *ifg = pi->co->chordal_env->ifg; - void *iter = be_ifg_iter_alloca(ifg); + void *iter = be_ifg_neighbours_iter_alloca(ifg); DBG((dbg, LEVEL_2, "Find simlicials...\n")); while (redo) { + arch_register_req_t req; redo = 0; be_ifg_foreach_node(ifg, iter, irn) { - if (!is_removed(irn) && !is_optimizable(get_arch_env(pi->co), irn) && !is_optimizable_arg(pi->co, irn)) { + if (!is_removed(irn) && !is_optimizable(get_arch_env(pi->co), irn, &req) && !is_optimizable_arg(pi->co, irn)) { if (pi_is_simplicial(pi, irn)) { simpl_t *s = xmalloc(sizeof(*s)); s->irn = irn; @@ -921,7 +922,7 @@ static void pi_set_simplicials(problem_instance_t *pi) { simpl_t *simpl, *tmp; be_ifg_t *ifg = pi->co->chordal_env->ifg; bitset_t *used_cols = bitset_alloca(arch_register_class_n_regs(pi->co->chordal_env->cls)); - void *iter = be_ifg_iter_alloca(ifg); + void *iter = be_ifg_neighbours_iter_alloca(ifg); DBG((dbg, LEVEL_2, "Set simplicials...\n")); /* color the simplicial nodes in right order */ @@ -992,10 +993,6 @@ int co_ilp_opt(copy_opt_t *co, double time_limit) { problem_instance_t *pi; dbg = firm_dbg_register("ir.be.copyoptilp"); - if (!strcmp(co->name, DEBUG_IRG)) - firm_dbg_set_mask(dbg, DEBUG_IRG_LVL_ILP); - else - firm_dbg_set_mask(dbg, DEBUG_LVL_ILP); pi = new_pi(co); if (!pi->all_simplicial) {