diff options
-rw-r--r-- | gcc/ChangeLog | 9 | ||||
-rw-r--r-- | gcc/Makefile.in | 2 | ||||
-rw-r--r-- | gcc/dbgcnt.def | 1 | ||||
-rw-r--r-- | gcc/modulo-sched.c | 6 | ||||
-rw-r--r-- | gcc/params.def | 5 |
5 files changed, 14 insertions, 9 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 03aa3803a6a..e950e64623b 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,12 @@ +2007-09-09 Revital Eres <eres@il.ibm.com> + + * dbgcnt.def (sms_sched_loop): New counter. + * modulo-sched.c: Use sms_sched_loop instead of + MAX_SMS_LOOP_NUMBER to determine the maximum number of loops to + perform swing modulo scheduling on. Include dbgcnt.h. + * Makefile.in: Add DBGCNT_H to modulo-sched.o. + * params.def: Remove PARAM_MAX_SMS_LOOP_NUMBER. + 2007-09-09 Uros Bizjak <ubizjak@gmail.com> * config/i386/i386.md (X87MODEF12, SSEMODEF): Remove mode iterators. diff --git a/gcc/Makefile.in b/gcc/Makefile.in index 348dbc4b774..273dda52cc5 100644 --- a/gcc/Makefile.in +++ b/gcc/Makefile.in @@ -2765,7 +2765,7 @@ modulo-sched.o : modulo-sched.c $(DDG_H) $(CONFIG_H) $(CONFIG_H) $(SYSTEM_H) \ $(FLAGS_H) insn-config.h $(INSN_ATTR_H) except.h $(RECOG_H) \ $(SCHED_INT_H) $(CFGLAYOUT_H) $(CFGLOOP_H) $(EXPR_H) $(PARAMS_H) \ cfghooks.h $(GCOV_IO_H) hard-reg-set.h $(TM_H) timevar.h tree-pass.h \ - $(DF_H) + $(DF_H) $(DBGCNT_H) haifa-sched.o : haifa-sched.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) \ $(SCHED_INT_H) $(REGS_H) hard-reg-set.h $(FLAGS_H) insn-config.h $(FUNCTION_H) \ $(INSN_ATTR_H) toplev.h $(RECOG_H) except.h $(TM_P_H) $(TARGET_H) output.h \ diff --git a/gcc/dbgcnt.def b/gcc/dbgcnt.def index a65ae67f17a..18ef8a7dc55 100644 --- a/gcc/dbgcnt.def +++ b/gcc/dbgcnt.def @@ -83,3 +83,4 @@ DEBUG_COUNTER (split_for_sched2) DEBUG_COUNTER (tail_call) DEBUG_COUNTER (global_alloc_at_func) DEBUG_COUNTER (global_alloc_at_reg) +DEBUG_COUNTER (sms_sched_loop) diff --git a/gcc/modulo-sched.c b/gcc/modulo-sched.c index 37c92048b41..075fe2eae9c 100644 --- a/gcc/modulo-sched.c +++ b/gcc/modulo-sched.c @@ -47,6 +47,7 @@ along with GCC; see the file COPYING3. If not see #include "ddg.h" #include "timevar.h" #include "tree-pass.h" +#include "dbgcnt.h" #ifdef INSN_SCHEDULING @@ -862,7 +863,6 @@ canon_loop (struct loop *loop) static void sms_schedule (void) { - static int passes = 0; rtx insn; ddg_ptr *g_arr, g; int * node_order; @@ -919,10 +919,10 @@ sms_schedule (void) rtx count_reg; /* For debugging. */ - if ((passes++ > MAX_SMS_LOOP_NUMBER) && (MAX_SMS_LOOP_NUMBER != -1)) + if (dbg_cnt (sms_sched_loop) == false) { if (dump_file) - fprintf (dump_file, "SMS reached MAX_PASSES... \n"); + fprintf (dump_file, "SMS reached max limit... \n"); break; } diff --git a/gcc/params.def b/gcc/params.def index bcdb4bb2da2..fcc168951cb 100644 --- a/gcc/params.def +++ b/gcc/params.def @@ -311,11 +311,6 @@ DEFPARAM(PARAM_MAX_ITERATIONS_COMPUTATION_COST, "Bound on the cost of an expression to compute the number of iterations", 10, 0, 0) -DEFPARAM(PARAM_MAX_SMS_LOOP_NUMBER, - "max-sms-loop-number", - "Maximum number of loops to perform swing modulo scheduling on (mainly for debugging)", - -1, -1, -1) - /* This parameter is used to tune SMS MAX II calculations. */ DEFPARAM(PARAM_SMS_MAX_II_FACTOR, "sms-max-ii-factor", |