diff options
| -rw-r--r-- | gcc/ChangeLog | 6 | ||||
| -rw-r--r-- | gcc/tree-data-ref.c | 2 |
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 |

