aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/loop.c5
2 files changed, 8 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 1fdb2f0..1bb6c99 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -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.
diff --git a/gcc/loop.c b/gcc/loop.c
index 29ef980..d5b73a6 100644
--- a/gcc/loop.c
+++ b/gcc/loop.c
@@ -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;
}
}