aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorZdenek Dvorak <dvorakz@suse.cz>2005-06-01 01:07:25 +0200
committerZdenek Dvorak <rakdver@gcc.gnu.org>2005-05-31 23:07:25 +0000
commit60407f7a65c33d2aecea3bf7c8dd7c60a9365b2a (patch)
tree73f806204342b65cfc56e80c487c1fc421798933 /gcc
parentec22e73ba8b0c57e65fb72522603fe7555123010 (diff)
downloadgcc-60407f7a65c33d2aecea3bf7c8dd7c60a9365b2a.zip
gcc-60407f7a65c33d2aecea3bf7c8dd7c60a9365b2a.tar.gz
gcc-60407f7a65c33d2aecea3bf7c8dd7c60a9365b2a.tar.bz2
re PR tree-optimization/21817 (ICE in for_each_index, at tree-ssa-loop-im.c:200)
PR tree-optimization/21817 * tree-ssa-loop-im.c (for_each_index): Handle VECTOR_CST. From-SVN: r100410
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/gcc.dg/torture/pr21817-1.c12
-rw-r--r--gcc/tree-ssa-loop-im.c1
4 files changed, 23 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index bb29e7c..9887402 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2005-05-31 Zdenek Dvorak <dvorakz@suse.cz>
+
+ PR tree-optimization/21817
+ * tree-ssa-loop-im.c (for_each_index): Handle VECTOR_CST.
+
2005-05-31 Pat Haugen <pthaugen@us.ibm.com>
* loop.c (loop_invariant_p, valid_initial_value_p): Revert last
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 3d27673..7e75d30 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2005-05-31 Zdenek Dvorak <dvorakz@suse.cz>
+
+ PR tree-optimization/21817
+ * gcc.dg/torture/pr21817-1.c: New.
+
2005-05-31 Nathan Sidwell <nathan@codesourcery.com>
PR c++/21165
diff --git a/gcc/testsuite/gcc.dg/torture/pr21817-1.c b/gcc/testsuite/gcc.dg/torture/pr21817-1.c
new file mode 100644
index 0000000..524c798
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/torture/pr21817-1.c
@@ -0,0 +1,12 @@
+/* { dg-do compile } */
+
+typedef float v4sf __attribute__((vector_size(16)));
+v4sf value;
+void foo(void)
+{
+ unsigned int band;
+ for(band=0; band < 2; band++)
+ {
+ value += (v4sf){1e9f,1e9f,1e9f,1e9f};
+ }
+}
diff --git a/gcc/tree-ssa-loop-im.c b/gcc/tree-ssa-loop-im.c
index 99dab7e..dc9002f 100644
--- a/gcc/tree-ssa-loop-im.c
+++ b/gcc/tree-ssa-loop-im.c
@@ -201,6 +201,7 @@ for_each_index (tree *addr_p, bool (*cbck) (tree, tree *, void *), void *data)
case PARM_DECL:
case STRING_CST:
case RESULT_DECL:
+ case VECTOR_CST:
return true;
default: