+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.
$(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 \
DEBUG_COUNTER (tail_call)
DEBUG_COUNTER (global_alloc_at_func)
DEBUG_COUNTER (global_alloc_at_reg)
+DEBUG_COUNTER (sms_sched_loop)
#include "ddg.h"
#include "timevar.h"
#include "tree-pass.h"
+#include "dbgcnt.h"
#ifdef INSN_SCHEDULING
static void
sms_schedule (void)
{
- static int passes = 0;
rtx insn;
ddg_ptr *g_arr, g;
int * node_order;
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;
}
"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",