aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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)))
{