]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
re PR tree-optimization/60785 (ICE in gsi_for_stmt w/ -O2 -ftree-loop-linear)
authorRichard Biener <rguenther@suse.de>
Tue, 8 Apr 2014 10:59:40 +0000 (10:59 +0000)
committerRichard Biener <rguenth@gcc.gnu.org>
Tue, 8 Apr 2014 10:59:40 +0000 (10:59 +0000)
2014-04-08  Richard Biener  <rguenther@suse.de>

PR tree-optimization/60785
* graphite-sese-to-poly.c (rewrite_phi_out_of_ssa): Treat
default defs properly.

* gcc.dg/graphite/pr60785.c: New testcase.

From-SVN: r209214

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

index ec85f097c154e988018402fc62f4abcd4e92bc32..0e0267a845d8288f6b11327c69863e70bf1d7180 100644 (file)
@@ -1,3 +1,9 @@
+2014-04-08  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/60785
+       * graphite-sese-to-poly.c (rewrite_phi_out_of_ssa): Treat
+       default defs properly.
+
 2014-04-08  Nathan Sidwell  <nathan@codesourcery.com>
 
        * doc/invoke (Wnon-virtual-dtor): Update to match implementation.
index d4a1bb2df9a5f34de23a498b451a37a52f84fb9f..28447e4b6fe80080f6767f2f5f3cf9c7c803c391 100644 (file)
@@ -2250,6 +2250,7 @@ rewrite_phi_out_of_ssa (scop_p scop, gimple_stmt_iterator *psi)
       /* Avoid the insertion of code in the loop latch to please the
         pattern matching of the vectorizer.  */
       if (TREE_CODE (arg) == SSA_NAME
+         && !SSA_NAME_IS_DEFAULT_DEF (arg)
          && e->src == bb->loop_father->latch)
        insert_out_of_ssa_copy (scop, zero_dim_array, arg,
                                SSA_NAME_DEF_STMT (arg));
index 526686b87f243fa02a9d0c311b2525a36d24ad29..bfc27226e98cbbe3774a4ecfb54a69085c751542 100644 (file)
@@ -1,3 +1,8 @@
+2014-04-08  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/60785
+       * gcc.dg/graphite/pr60785.c: New testcase.
+
 2014-04-08  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
 
        PR target/60602
diff --git a/gcc/testsuite/gcc.dg/graphite/pr60785.c b/gcc/testsuite/gcc.dg/graphite/pr60785.c
new file mode 100644 (file)
index 0000000..87c1c68
--- /dev/null
@@ -0,0 +1,27 @@
+/* { dg-options "-O2 -floop-interchange" } */
+
+static int
+aqc(void)
+{
+  return 1;
+}
+
+void
+gkd(void)
+{
+  int wu0;
+  static int b1y;
+  static int gw2;
+  static int *ydw = &gw2;
+  static int **m3l = &ydw;
+  **m3l = 0;
+  for (b1y = 0; b1y < 1; ++b1y)
+    {
+      int *cpj = &gw2;
+      if (*ydw |= aqc())
+       {
+         *cpj = 0;
+         *ydw = wu0;
+       }
+    }
+}