OSDN Git Service

* loop.c (check_dbra_loop): A store using an address giv for which
authorlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 6 Feb 1999 00:46:54 +0000 (00:46 +0000)
committerlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 6 Feb 1999 00:46:54 +0000 (00:46 +0000)
        we have no life information is not reversible.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@25051 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/loop.c

index 1fdb2f0..1bb6c99 100644 (file)
@@ -1,3 +1,8 @@
+1999-02-05  Michael Meissner  <meissner@cygnus.com>
+
+       * loop.c (check_dbra_loop): A store using an address giv for which
+       we have no life information is not reversible.
+
 Fri Feb  5 17:08:01 1999  Dave Brolley  <brolley@cygnus.com>
 
         * function.c (fixup_var_refs): Scan catch_clauses too.
index 29ef980..d5b73a6 100644 (file)
@@ -7713,8 +7713,9 @@ check_dbra_loop (loop_end, insn_count, loop_start, loop_info)
                  if (v->giv_type == DEST_REG
                      && reg_mentioned_p (v->dest_reg,
                                          XEXP (loop_store_mems, 0))
-                     && (INSN_LUID (v->insn)
-                         > INSN_LUID (first_loop_store_insn)))
+                     && (INSN_UID (v->insn) >= max_uid_for_loop
+                         || (INSN_LUID (v->insn)
+                             > INSN_LUID (first_loop_store_insn))))
                    reversible_mem_store = 0;
                }
            }