emit code for alloca
[libfirm] / ir / be / becopyilp.c
index 4d610d9..8f49c34 100644 (file)
@@ -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) {