]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
Use SSA_NAME_DEF_STMT only on SSA_NAMEs.
authorH.J. Lu <hongjiu.lu@intel.com>
Mon, 29 Nov 2010 21:54:24 +0000 (21:54 +0000)
committerH.J. Lu <hjl@gcc.gnu.org>
Mon, 29 Nov 2010 21:54:24 +0000 (13:54 -0800)
gcc/

2010-11-29  H.J. Lu  <hongjiu.lu@intel.com>

Backport from mainline
PR middle-end/46651
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/testsuite/

2010-11-29  H.J. Lu  <hongjiu.lu@intel.com>

Backport from mainline
2010-07-22  Sebastian Pop  <sebastian.pop@amd.com>

PR middle-end/46651
* gcc.dg/graphite/id-24.c: New.

From-SVN: r167274

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

index ff8a3d377ea46e7dd2edf0a70d8078e28a21f9ed..9d09e88775e0e3fdd43860aa7412c2ea1cf06798 100644 (file)
@@ -1,3 +1,12 @@
+2010-11-29  H.J. Lu  <hongjiu.lu@intel.com>
+
+       Backport from mainline
+       PR middle-end/46651
+       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.
+
 2010-11-29  Zdenek Dvorak  <rakdver@kam.uniff.cz>
 
        PR tree-optimization/46675
index b12210be776741d66ac18c65b921bc3169a45fa5..b8f332ae15a92edf2c0467b82ec52b5bc155bd04 100644 (file)
@@ -2235,7 +2235,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);
       else
        insert_out_of_ssa_copy_on_edge (e, zero_dim_array, arg);
index 60635d7f23e41305ed8f707061071010070dc4ef..2620ee8d3c5b627e25e2c636b26dbc57d0f6a05d 100644 (file)
@@ -1,3 +1,11 @@
+2010-11-29  H.J. Lu  <hongjiu.lu@intel.com>
+
+       Backport from mainline
+       2010-07-22  Sebastian Pop  <sebastian.pop@amd.com>
+
+       PR middle-end/46651
+       * gcc.dg/graphite/id-24.c: New.
+
 2010-11-29  Richard Guenther  <rguenther@suse.de>
            Zdenek Dvorak  <rakdver@kam.uniff.cz>
 
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;
+}
+