summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/tree-data-ref.c2
2 files changed, 7 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 308be618a8b..4e3d0f26370 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2005-10-12 Sebastian Pop <pop@cri.ensmp.fr>
+
+ PR tree-optimization/24262
+ * tree-data-ref.c (analyze_offset_expr): Check that init is invariant
+ in loop all the time.
+
2005-10-12 Richard Henderson <rth@redhat.com>
PR c/24255
diff --git a/gcc/tree-data-ref.c b/gcc/tree-data-ref.c
index cb3a0ea0681..cf624038e2b 100644
--- a/gcc/tree-data-ref.c
+++ b/gcc/tree-data-ref.c
@@ -1124,7 +1124,7 @@ analyze_offset_expr (tree expr,
return false;
init = initial_condition_in_loop_num (access_fn, loop->num);
- if (init == expr && !expr_invariant_in_loop_p (loop, init))
+ if (!expr_invariant_in_loop_p (loop, init))
/* Not enough information: may be not loop invariant.
E.g., for a[b[i]], we get a[D], where D=b[i]. EXPR is D, its
initial_condition is D, but it depends on i - loop's induction
OpenPOWER on IntegriCloud