aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJ"orn Rennecke <amylaar@cygnus.co.uk>1999-05-27 01:46:21 +0000
committerJeff Law <law@gcc.gnu.org>1999-05-26 19:46:21 -0600
commit2485126f2d78e5e03ee82d8328dc2e10f94eac1c (patch)
treeb5f8235a6c1aeb362f840deb9ef6b6ea01d6f0c1
parentb040e3a22c6f326d780129af3e55de52649bcdde (diff)
downloadgcc-2485126f2d78e5e03ee82d8328dc2e10f94eac1c.zip
gcc-2485126f2d78e5e03ee82d8328dc2e10f94eac1c.tar.gz
gcc-2485126f2d78e5e03ee82d8328dc2e10f94eac1c.tar.bz2
* loop.c (strength_reduce): Don't do biv->giv conversion on constants.
From-SVN: r27194
-rw-r--r--gcc/ChangeLog4
-rw-r--r--gcc/loop.c2
2 files changed, 6 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 2ea55b8..f6c768a 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,7 @@
+Thu May 27 02:40:48 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
+
+ * loop.c (strength_reduce): Don't do biv->giv conversion on constants.
+
Thu May 27 02:09:27 1999 Jeffrey A Law (law@cygnus.com)
* reload.c (push_reload): Do not call remove_address_replacements
diff --git a/gcc/loop.c b/gcc/loop.c
index 7ee6532..c7047f2 100644
--- a/gcc/loop.c
+++ b/gcc/loop.c
@@ -4193,6 +4193,8 @@ strength_reduce (scan_start, end, loop_top, insn_count,
|| ! next->always_executed
|| next->maybe_multiple
|| ! CONSTANT_P (next->add_val)
+ || v->mult_val != const1_rtx
+ || next->mult_val != const1_rtx
|| ! (biv_dead_after_loop
|| no_jumps_between_p (v->insn, next->insn)))
{