loop.c (check_dbra_loop): When checking a loop for reversability...
authorClinton Popetz <cpopetz@cygnus.com>
Sun, 23 Jan 2000 16:07:00 +0000 (16:07 +0000)
committerClinton Popetz <cpopetz@gcc.gnu.org>
Sun, 23 Jan 2000 16:07:00 +0000 (11:07 -0500)
* loop.c (check_dbra_loop): When checking a loop for
reversability, check the source of any stores to ensure
they don't depend on an initial value.

From-SVN: r31569

gcc/ChangeLog
gcc/loop.c

index 56d440469a94f46aad1576bbfd73b2e92568ba22..1048b56482c08c9558e980c2c5d71d23fc44d3c3 100644 (file)
@@ -1,3 +1,9 @@
+2000-01-23  Clinton Popetz  <cpopetz@cygnus.com>
+
+       * loop.c (check_dbra_loop): When checking a loop for
+       reversability, check the source of any stores to ensure
+       they don't depend on an initial value.
+
 2000-01-23  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
 
        * config/c4x/c4x.h (ASM_OUTPUT_BSS): Redefine.
index 833a0a9a205cfa97350fd1e8d456db109df039c8..936adfb96f1326271070eadb90240dc6189400dc 100644 (file)
@@ -8042,7 +8042,7 @@ check_dbra_loop (loop, insn_count)
                {
                  if (v->giv_type == DEST_REG
                      && reg_mentioned_p (v->dest_reg,
-                                         XEXP (loop_store_mems, 0))
+                                        PATTERN (first_loop_store_insn)) 
                      && loop_insn_first_p (first_loop_store_insn, v->insn))
                    reversible_mem_store = 0;
                }