summaryrefslogtreecommitdiff
path: root/util/romcc/romcc.c
diff options
context:
space:
mode:
authorEric Biederman <ebiederm@xmission.com>2003-07-21 20:13:45 +0000
committerEric Biederman <ebiederm@xmission.com>2003-07-21 20:13:45 +0000
commit2c018fba95a5f40c4eaaa20421e8c893dffdb62e (patch)
tree3b6ecc6eb72d145dd70bb549fe0130370d7e40fb /util/romcc/romcc.c
parent6d4512cdf976fc071720dbec686cf8a1a40f1db0 (diff)
downloadcoreboot-2c018fba95a5f40c4eaaa20421e8c893dffdb62e.tar.xz
- First pass at s2880 support.
- SMP cleanups (remove SMP only use CONFIG_SMP) - Minor tweaks to romcc to keep it from taking forever compiling - failover fixes - Get a good implementation of k8_cpufixup and sizeram for the opteron git-svn-id: svn://svn.coreboot.org/coreboot/trunk@998 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
Diffstat (limited to 'util/romcc/romcc.c')
-rw-r--r--util/romcc/romcc.c34
1 files changed, 23 insertions, 11 deletions
diff --git a/util/romcc/romcc.c b/util/romcc/romcc.c
index 386d86a238..c721a21002 100644
--- a/util/romcc/romcc.c
+++ b/util/romcc/romcc.c
@@ -14,7 +14,7 @@
#define DEBUG_ERROR_MESSAGES 0
#define DEBUG_COLOR_GRAPH 0
#define DEBUG_SCC 0
-#define DEBUG_CONSISTENCY 2
+#define DEBUG_CONSISTENCY 1
#define DEBUG_RANGE_CONFLICTS 0
#define DEBUG_COALESCING 0
#define DEBUG_SDP_BLOCKS 0
@@ -12952,6 +12952,23 @@ static void verify_graph_ins(
return;
}
+#if DEBUG_CONSISTENCY > 1
+static void verify_interference_graph(
+ struct compile_state *state, struct reg_state *rstate)
+{
+#if 0
+ fprintf(stderr, "verify_interference_graph...\n");
+#endif
+
+ walk_variable_lifetimes(state, rstate->blocks, verify_graph_ins, rstate);
+#if 0
+ fprintf(stderr, "verify_interference_graph done\n");
+#endif
+}
+#else
+static inline void verify_interference_graph(
+ struct compile_state *state, struct reg_state *rstate) {}
+#endif
static void print_interference_ins(
struct compile_state *state,
@@ -13765,6 +13782,7 @@ static int color_graph(struct compile_state *state, struct reg_state *rstate)
return colored;
}
+#if DEBUG_CONSISTENCY
static void verify_colors(struct compile_state *state, struct reg_state *rstate)
{
struct live_range *lr;
@@ -13801,6 +13819,9 @@ static void verify_colors(struct compile_state *state, struct reg_state *rstate)
ins = ins->next;
} while(ins != first);
}
+#else
+static inline void verify_colors(struct compile_state *state, struct reg_state *rstate) {}
+#endif
static void color_triples(struct compile_state *state, struct reg_state *rstate)
{
@@ -14005,17 +14026,8 @@ static void allocate_registers(struct compile_state *state)
#endif
} while(coalesced);
-#if DEBUG_CONSISTENCY > 1
-# if 0
- fprintf(stderr, "verify_graph_ins...\n");
-# endif
/* Verify the interference graph */
- walk_variable_lifetimes(
- state, rstate.blocks, verify_graph_ins, &rstate);
-# if 0
- fprintf(stderr, "verify_graph_ins done\n");
-#endif
-#endif
+ verify_interference_graph(state, &rstate);
/* Build the groups low and high. But with the nodes
* first sorted by degree order.