aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorSebastian Pop <pop@cri.ensmp.fr>2005-10-13 13:52:57 +0200
committerSebastian Pop <spop@gcc.gnu.org>2005-10-13 11:52:57 +0000
commitb2ebf9137cc44f8413d267b4fa3b9056a975d420 (patch)
treeed58fc119a771fbfa3d1ca483be21e0a9d5b6739 /gcc
parent8ca4bf259c9e43016064c46ed853191c2ed4abd2 (diff)
downloadgcc-b2ebf9137cc44f8413d267b4fa3b9056a975d420.zip
gcc-b2ebf9137cc44f8413d267b4fa3b9056a975d420.tar.gz
gcc-b2ebf9137cc44f8413d267b4fa3b9056a975d420.tar.bz2
re PR tree-optimization/24262 (ICE: verify_ssa failed with -O -msse2 -ftree-vectorize)
PR tree-optimization/24262 * tree-data-ref.c (analyze_offset_expr): Check that init is invariant in loop all the time. From-SVN: r105368
Diffstat (limited to 'gcc')
-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 308be61..4e3d0f2 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 cb3a0ea..cf62403 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