OSDN Git Service

* loop.c (strength_reduce): Compute number of iterations as
authorrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 10 Mar 2002 23:46:14 +0000 (23:46 +0000)
committerrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 10 Mar 2002 23:46:14 +0000 (23:46 +0000)
        unsigned HOST_WIDE_INT.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@50550 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/loop.c

index 26ee503..378d3cc 100644 (file)
@@ -1,5 +1,10 @@
 2002-03-10  Richard Henderson  <rth@redhat.com>
 
+       * loop.c (strength_reduce): Compute number of iterations as
+       unsigned HOST_WIDE_INT.
+
+2002-03-10  Richard Henderson  <rth@redhat.com>
+
        * sched-rgn.c (add_branch_dependences): Don't allow insns that throw
        to move away from the end of the block.
 
index 506984b..3108b03 100644 (file)
@@ -5225,13 +5225,13 @@ strength_reduce (loop, flags)
   /* In case number of iterations is known, drop branch prediction note
      in the branch.  Do that only in second loop pass, as loop unrolling
      may change the number of iterations performed.  */
-  if ((flags & LOOP_BCT)
-      && loop_info->n_iterations / loop_info->unroll_number > 1)
+  if (flags & LOOP_BCT)
     {
-      int n = loop_info->n_iterations / loop_info->unroll_number;
-      predict_insn (PREV_INSN (loop->end),
-                   PRED_LOOP_ITERATIONS,
-                   REG_BR_PROB_BASE - REG_BR_PROB_BASE / n);
+      unsigned HOST_WIDE_INT n
+       = loop_info->n_iterations / loop_info->unroll_number;
+      if (n > 1)
+       predict_insn (PREV_INSN (loop->end), PRED_LOOP_ITERATIONS,
+                     REG_BR_PROB_BASE - REG_BR_PROB_BASE / n);
     }
 
   if (loop_dump_stream)