aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorAndreas Schwab <schwab@suse.de>1999-09-14 07:34:59 +0000
committerJeff Law <law@gcc.gnu.org>1999-09-14 01:34:59 -0600
commit328de7dac7ee9534f9245d1a8f8084fbaa6b3451 (patch)
tree1e8da1a5f2954c525fab12a718808715db0502ff /gcc
parent51f53e010519ccfd1c857f37c52d34cc6e31a3d0 (diff)
downloadgcc-328de7dac7ee9534f9245d1a8f8084fbaa6b3451.zip
gcc-328de7dac7ee9534f9245d1a8f8084fbaa6b3451.tar.gz
gcc-328de7dac7ee9534f9245d1a8f8084fbaa6b3451.tar.bz2
loop.c (strength_reduce): Don't call reg_used_between_p if the insn from BL2 is after the insn from BL.
* 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
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/loop.c10
2 files changed, 10 insertions, 5 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index b694c99..0d3c2de 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -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.
diff --git a/gcc/loop.c b/gcc/loop.c
index b25734d..dcff685 100644
--- a/gcc/loop.c
+++ b/gcc/loop.c
@@ -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))