* loop.c (strength_reduce): Don't do biv->giv conversion on constants.
authorlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 27 May 1999 01:46:21 +0000 (01:46 +0000)
committerlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 27 May 1999 01:46:21 +0000 (01:46 +0000)
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@27194 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/loop.c

index 2ea55b8..f6c768a 100644 (file)
@@ -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
index 7ee6532..c7047f2 100644 (file)
@@ -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)))
                {