remove #ifdef HAVE_CONFIG_Hs
[libfirm] / ir / be / becopyheur.c
index 3551dc7..55dd2a1 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 1995-2007 University of Karlsruhe.  All right reserved.
+ * Copyright (C) 1995-2008 University of Karlsruhe.  All right reserved.
  *
  * This file is part of libFirm.
  *
@@ -32,9 +32,7 @@
  * and the qnode is reinserted in the queue. The first qnode colored without
  * conflicts is the best one.
  */
-#ifdef HAVE_CONFIG_H
 #include "config.h"
-#endif
 
 #include "debug.h"
 #include "bitset.h"
@@ -114,7 +112,7 @@ static INLINE void qnode_add_conflict(const qnode_t *qn, const ir_node *n1, cons
        conflict_t c;
        DBG((dbg, LEVEL_4, "\t      %+F -- %+F\n", n1, n2));
 
-       if (get_irn_node_nr(n1) < get_irn_node_nr(n2)) {
+       if (get_irn_idx(n1) < get_irn_idx(n2)) {
                c.n1 = n1;
                c.n2 = n2;
        } else {
@@ -133,7 +131,7 @@ static INLINE int qnode_are_conflicting(const qnode_t *qn, const ir_node *n1, co
        if (n1!=n2 && nodes_interfere(qn->ou->co->cenv, n1, n2))
                return 1;
        /* search for recoloring conflicts */
-       if (get_irn_node_nr(n1) < get_irn_node_nr(n2)) {
+       if (get_irn_idx(n1) < get_irn_idx(n2)) {
                c.n1 = n1;
                c.n2 = n2;
        } else {
@@ -177,7 +175,7 @@ static INLINE int qnode_get_new_color(const qnode_t *qn, ir_node *irn) {
        if (found)
                return found->new_color;
        else
-               return get_irn_col(qn->ou->co, irn);
+               return get_irn_col(irn);
 }
 
 /**
@@ -210,7 +208,7 @@ static INLINE void qnode_pin_local(const qnode_t *qn, ir_node *irn) {
        node_stat_t *found = qnode_find_or_insert_node(qn, irn);
        found->pinned_local = 1;
        if (found->new_color == NO_COLOR)
-               found->new_color = get_irn_col(qn->ou->co, irn);
+               found->new_color = get_irn_col(irn);
 }
 
 
@@ -242,7 +240,6 @@ static ir_node *qnode_color_irn(const qnode_t *qn, ir_node *irn, int col, const
        copy_opt_t *co = qn->ou->co;
        const be_chordal_env_t *chordal_env = co->cenv;
        const arch_register_class_t *cls = co->cls;
-       const arch_env_t *arch_env = co->aenv;
        int irn_col = qnode_get_new_color(qn, irn);
        ir_node *sub_res, *curr;
        be_ifg_t *ifg = chordal_env->ifg;
@@ -278,7 +275,7 @@ static ir_node *qnode_color_irn(const qnode_t *qn, ir_node *irn, int col, const
                bitset_flip_all(free_cols);
 
                /* Exclude colors not assignable to the irn */
-               req = arch_get_register_req(arch_env, irn, -1);
+               req = arch_get_register_req(irn, -1);
                if (arch_register_req_is(req, limited)) {
                        bitset_t *limited = bitset_alloca(cls->n_regs);
                        rbitset_copy_to_bitset(req->limited, limited);
@@ -302,7 +299,7 @@ static ir_node *qnode_color_irn(const qnode_t *qn, ir_node *irn, int col, const
 #endif /* SEARCH_FREE_COLORS */
 
        /* If target color is not allocatable changing color is impossible */
-       if (!arch_reg_is_allocatable(arch_env, irn, -1, arch_register_for_index(cls, col))) {
+       if (!arch_reg_is_allocatable(irn, -1, arch_register_for_index(cls, col))) {
                DBG((dbg, LEVEL_3, "\t      %+F impossible\n", irn));
                return CHANGE_IMPOSSIBLE;
        }
@@ -480,11 +477,11 @@ no_stable_set:
  * Creates a new qnode
  */
 static INLINE qnode_t *new_qnode(const unit_t *ou, int color) {
-       qnode_t *qn = xmalloc(sizeof(*qn));
-       qn->ou = ou;
-       qn->color = color;
-       qn->mis = xmalloc(ou->node_count * sizeof(*qn->mis));
-       qn->conflicts = new_set(set_cmp_conflict_t, SLOTS_CONFLICTS);
+       qnode_t *qn = XMALLOC(qnode_t);
+       qn->ou            = ou;
+       qn->color         = color;
+       qn->mis           = XMALLOCN(ir_node*, ou->node_count);
+       qn->conflicts     = new_set(set_cmp_conflict_t, SLOTS_CONFLICTS);
        qn->changed_nodes = new_set(set_cmp_node_stat_t, SLOTS_CHANGED_NODES);
        return qn;
 }
@@ -535,7 +532,6 @@ static INLINE void ou_insert_qnode(unit_t *ou, qnode_t *qn) {
 static void ou_optimize(unit_t *ou) {
        int i;
        qnode_t *curr = NULL, *tmp;
-       const arch_env_t *aenv = ou->co->aenv;
        const arch_register_class_t *cls = ou->co->cls;
        bitset_pos_t idx;
        bitset_t *pos_regs = bitset_alloca(cls->n_regs);
@@ -547,9 +543,9 @@ static void ou_optimize(unit_t *ou) {
        /* init queue */
        INIT_LIST_HEAD(&ou->queue);
 
-       arch_get_allocatable_regs(aenv, ou->nodes[0], -1, pos_regs);
+       arch_get_allocatable_regs(ou->nodes[0], -1, pos_regs);
 
-       /* exclude ingore colors */
+       /* exclude ignore colors */
        bitset_andnot(pos_regs, ou->co->cenv->ignore_colors);
 
        assert(bitset_popcnt(pos_regs) != 0 && "No register is allowed for this node !!?");