OSDN Git Service

Use SSA_NAME_DEF_STMT only on SSA_NAMEs.
authorspop <spop@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 11 Aug 2010 20:29:35 +0000 (20:29 +0000)
committerspop <spop@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 11 Aug 2010 20:29:35 +0000 (20:29 +0000)
2010-07-22  Sebastian Pop  <sebastian.pop@amd.com>

* graphite-sese-to-poly.c (rewrite_phi_out_of_ssa): Use
SSA_NAME_DEF_STMT only on SSA_NAMEs.

* gcc.dg/graphite/id-24.c: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163156 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/ChangeLog.graphite
gcc/graphite-sese-to-poly.c
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/graphite/id-24.c [new file with mode: 0644]

index 4b46d26..15b5acf 100644 (file)
@@ -1,5 +1,10 @@
 2010-08-02  Sebastian Pop  <sebastian.pop@amd.com>
 
+       * graphite-sese-to-poly.c (rewrite_phi_out_of_ssa): Use
+       SSA_NAME_DEF_STMT only on SSA_NAMEs.
+
+2010-08-02  Sebastian Pop  <sebastian.pop@amd.com>
+
        * tree-scalar-evolution.c (instantiate_scev_name): Do not
        instantiate default definitions.
 
index 155e396..1ae2bf2 100644 (file)
@@ -1,5 +1,12 @@
 2010-07-22  Sebastian Pop  <sebastian.pop@amd.com>
 
+       * graphite-sese-to-poly.c (rewrite_phi_out_of_ssa): Use
+       SSA_NAME_DEF_STMT only on SSA_NAMEs.
+
+       * gcc.dg/graphite/id-24.c: New.
+
+2010-07-22  Sebastian Pop  <sebastian.pop@amd.com>
+
        * tree-scalar-evolution.c (instantiate_scev_name): Do not
        instantiate default definitions.
 
index 81b2dc2..084dd31 100644 (file)
@@ -2256,7 +2256,8 @@ rewrite_phi_out_of_ssa (gimple_stmt_iterator *psi)
 
       /* Avoid the insertion of code in the loop latch to please the
         pattern matching of the vectorizer.  */
-      if (e->src == bb->loop_father->latch)
+      if (TREE_CODE (arg) == SSA_NAME
+         && e->src == bb->loop_father->latch)
        insert_out_of_ssa_copy (zero_dim_array, arg, SSA_NAME_DEF_STMT (arg));
       else
        insert_out_of_ssa_copy_on_edge (e, zero_dim_array, arg);
index 553e567..fe46304 100644 (file)
@@ -1,5 +1,9 @@
 2010-08-02  Sebastian Pop  <sebastian.pop@amd.com>
 
+       * gcc.dg/graphite/id-24.c: New.
+
+2010-08-02  Sebastian Pop  <sebastian.pop@amd.com>
+
        * gcc.dg/tree-ssa/pr20742.c: New.
 
 2010-08-02  Sebastian Pop  <sebastian.pop@amd.com>
diff --git a/gcc/testsuite/gcc.dg/graphite/id-24.c b/gcc/testsuite/gcc.dg/graphite/id-24.c
new file mode 100644 (file)
index 0000000..d466069
--- /dev/null
@@ -0,0 +1,22 @@
+/* gcc.dg/tree-ssa/loadpre23.c used to ICE with Graphite.  */
+
+struct {
+  int a;
+  int large[100];
+} x;
+
+int foo(int argc)
+{
+  int b;
+  int c;
+  int i;
+  int d, e;
+
+  for (i = 0; i < argc; i++)
+    {
+      e = x.a;
+      x.a = 9;
+    }
+  return d + e;
+}
+