aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/loop.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/gcc/loop.c b/gcc/loop.c
index 631d1fc..60243f7 100644
--- a/gcc/loop.c
+++ b/gcc/loop.c
@@ -5731,7 +5731,9 @@ check_dbra_loop (loop_end, insn_count, loop_start)
case, the insn should have been moved out of the loop. */
if (num_mem_sets == 1)
- reversible_mem_store = ! invariant_p (XEXP (loop_store_mems[0], 0));
+ reversible_mem_store
+ = (! unknown_address_altered
+ && ! invariant_p (XEXP (loop_store_mems[0], 0)));
/* This code only acts for innermost loops. Also it simplifies
the memory address check by only reversing loops with