loop.c (strength_reduce): Don't call reg_used_between_p if the insn from BL2 is after...
authorAndreas Schwab <schwab@suse.de>
Tue, 14 Sep 1999 07:34:59 +0000 (07:34 +0000)
committerJeff Law <law@gcc.gnu.org>
Tue, 14 Sep 1999 07:34:59 +0000 (01:34 -0600)
        * loop.c (strength_reduce): Don't call reg_used_between_p if the
        insn from BL2 is after the insn from BL.

From-SVN: r29393

gcc/ChangeLog
gcc/loop.c

index b694c997ab008e519cb266402215ba73d15e11ce..0d3c2def682e8914867f27f5c76830adb1b9ca0e 100644 (file)
@@ -1,3 +1,8 @@
+Tue Sep 14 01:33:15 1999  Andreas Schwab  <schwab@suse.de>
+
+       * loop.c (strength_reduce): Don't call reg_used_between_p if the
+       insn from BL2 is after the insn from BL.
+
 Mon Sep 13 21:06:01 1999  Richard Henderson  <rth@cygnus.com>
 
        * recog.h (INSN_OUTPUT_FORMAT_*): New.
index b25734ddaee1851ea8fd9ce2475fdb5218dced9c..dcff6850fbdd5affd7c2e11959de20a6a55cf9dd 100644 (file)
@@ -4056,11 +4056,11 @@ strength_reduce (scan_start, end, loop_top, insn_count,
                 in-between when biv_total_increment returns nonzero both times
                 but we test it here in case some day some real cfg analysis
                 gets used to set always_computable.  */
-             && ((loop_insn_first_p (bl2->biv->insn, bl->biv->insn)
-                  && no_labels_between_p (bl2->biv->insn, bl->biv->insn))
-                 || (! reg_used_between_p (bl->biv->src_reg, bl->biv->insn,
-                                           bl2->biv->insn)
-                     && no_jumps_between_p (bl->biv->insn, bl2->biv->insn)))
+             && (loop_insn_first_p (bl2->biv->insn, bl->biv->insn)
+                 ? no_labels_between_p (bl2->biv->insn, bl->biv->insn)
+                 : (! reg_used_between_p (bl->biv->src_reg, bl->biv->insn,
+                                          bl2->biv->insn)
+                    && no_jumps_between_p (bl->biv->insn, bl2->biv->insn)))
              && validate_change (bl->biv->insn,
                                  &SET_SRC (single_set (bl->biv->insn)),
                                  copy_rtx (src), 0))