give Bad nodes a mode
[libfirm] / ir / be / becopyheur4.c
index 479964d..b7e873d 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 1995-2010 University of Karlsruhe.  All right reserved.
+ * Copyright (C) 1995-2011 University of Karlsruhe.  All right reserved.
  *
  * This file is part of libFirm.
  *
@@ -181,7 +181,7 @@ static void dbg_admissible_colors(const co_mst_env_t *env, const co_mst_irn_t *n
                fprintf(stderr, "no admissible colors?!?");
        else {
                bitset_foreach(node->adm_colors, idx) {
-                       fprintf(stderr, " %d", idx);
+                       ir_fprintf(stderr, " %zu", idx);
                }
        }
 }
@@ -736,13 +736,13 @@ static void build_affinity_chunks(co_mst_env_t *env)
 
 static __attribute__((unused)) void chunk_order_nodes(co_mst_env_t *env, aff_chunk_t *chunk)
 {
-       pqueue_t *grow = new_pqueue();
-       const ir_node *max_node = NULL;
-       int max_weight = 0;
-       int i;
+       pqueue_t      *grow       = new_pqueue();
+       ir_node const *max_node   = NULL;
+       int            max_weight = 0;
+       size_t         i;
 
-       for (i = ARR_LEN(chunk->n) - 1; i >= 0; i--) {
-               const ir_node   *irn = chunk->n[i];
+       for (i = ARR_LEN(chunk->n); i != 0;) {
+               const ir_node   *irn = chunk->n[--i];
                affinity_node_t *an  = get_affinity_info(env->co, irn);
                int w = 0;
                neighb_t *neigh;
@@ -764,8 +764,8 @@ static __attribute__((unused)) void chunk_order_nodes(co_mst_env_t *env, aff_chu
        if (max_node) {
                bitset_t *visited = bitset_irg_malloc(env->co->irg);
 
-               for (i = ARR_LEN(chunk->n) - 1; i >= 0; --i)
-                       bitset_add_irn(visited, chunk->n[i]);
+               for (i = ARR_LEN(chunk->n); i != 0;)
+                       bitset_add_irn(visited, chunk->n[--i]);
 
                pqueue_put(grow, (void *) max_node, max_weight);
                bitset_remv_irn(visited, max_node);
@@ -1118,7 +1118,7 @@ static int recolor_nodes(co_mst_env_t *env, co_mst_irn_t *node, col_cost_t *cost
 }
 
 /**
- * Tries to bring node @p node and all it's neighbours to color @p tgt_col.
+ * Tries to bring node @p node and all its neighbours to color @p tgt_col.
  * @return 1 if color @p col could be applied, 0 otherwise
  */
 static int change_node_color(co_mst_env_t *env, co_mst_irn_t *node, int tgt_col, struct list_head *changed)
@@ -1135,7 +1135,7 @@ static int change_node_color(co_mst_env_t *env, co_mst_irn_t *node, int tgt_col,
 
        /*
                Node has not yet a fixed color and target color is admissible
-               -> try to recolor node and it's affinity neighbours
+               -> try to recolor node and its affinity neighbours
        */
        if (is_loose(node) && bitset_is_set(node->adm_colors, tgt_col)) {
                col_cost_t *costs = env->single_cols[tgt_col];
@@ -1183,7 +1183,11 @@ static void color_aff_chunk(co_mst_env_t *env, aff_chunk_t *c)
        waitq       *best_starts  = NULL;
        col_cost_t  *order        = ALLOCANZ(col_cost_t, env->n_regs);
        bitset_t    *visited;
-       int         idx, len, i, nidx, pos;
+       int         i;
+       size_t      idx;
+       size_t      len;
+       size_t      nidx;
+       size_t      pos;
        struct list_head changed;
 
        DB((dbg, LEVEL_2, "fragmentizing chunk #%u", c->id));
@@ -1421,7 +1425,8 @@ static int co_solve_heuristic_mst(copy_opt_t *co)
 {
        unsigned     n_regs            = co->cls->n_regs;
        bitset_t     *allocatable_regs = bitset_alloca(n_regs);
-       unsigned     i, j, k;
+       unsigned     i, j;
+       size_t       k;
        ir_node      *irn;
        co_mst_env_t mst_env;
 
@@ -1510,7 +1515,7 @@ static const lc_opt_table_entry_t options[] = {
        LC_OPT_LAST
 };
 
-BE_REGISTER_MODULE_CONSTRUCTOR(be_init_copyheur4);
+BE_REGISTER_MODULE_CONSTRUCTOR(be_init_copyheur4)
 void be_init_copyheur4(void)
 {
        lc_opt_entry_t *be_grp = lc_opt_get_grp(firm_opt_get_root(), "be");