From 2c018fba95a5f40c4eaaa20421e8c893dffdb62e Mon Sep 17 00:00:00 2001 From: Eric Biederman Date: Mon, 21 Jul 2003 20:13:45 +0000 Subject: - 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 --- util/romcc/romcc.c | 34 +++++++++++++++++++++++----------- 1 file changed, 23 insertions(+), 11 deletions(-) (limited to 'util/romcc/romcc.c') 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. -- cgit v1.2.3