aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorTom de Vries <tom@codesourcery.com>2016-03-14 09:19:14 +0000
committerTom de Vries <vries@gcc.gnu.org>2016-03-14 09:19:14 +0000
commit760ca967d0fea23edea33ff7115663a09000a354 (patch)
tree5a535171c5dfd0ee70f49dcf8253c57995c58d1b /gcc
parentca37d49a63a8ec9ccea471fab39bc03cc5867b33 (diff)
downloadgcc-760ca967d0fea23edea33ff7115663a09000a354.zip
gcc-760ca967d0fea23edea33ff7115663a09000a354.tar.gz
gcc-760ca967d0fea23edea33ff7115663a09000a354.tar.bz2
Unshare create_empty_if_region_on_edge argument
2016-03-14 Tom de Vries <tom@codesourcery.com> PR tree-optimization/70045 * graphite-isl-ast-to-gimple.c (graphite_create_new_loop_guard): Unshare create_empty_if_region_on_edge argument. * gcc.dg/graphite/pr70045.c: New test. From-SVN: r234177
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/graphite-isl-ast-to-gimple.c3
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/gcc.dg/graphite/pr70045.c28
4 files changed, 41 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 70acdc4..3107036 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2016-03-14 Tom de Vries <tom@codesourcery.com>
+
+ PR tree-optimization/70045
+ * graphite-isl-ast-to-gimple.c (graphite_create_new_loop_guard): Unshare
+ create_empty_if_region_on_edge argument.
+
2016-03-13 Eric Botcazou <ebotcazou@adacore.com>
* config/arm/vxworks.h (STACK_CHECK_STATIC_BUILTIN): Define.
diff --git a/gcc/graphite-isl-ast-to-gimple.c b/gcc/graphite-isl-ast-to-gimple.c
index 89a4118..8dd5dc8 100644
--- a/gcc/graphite-isl-ast-to-gimple.c
+++ b/gcc/graphite-isl-ast-to-gimple.c
@@ -821,7 +821,8 @@ graphite_create_new_loop_guard (edge entry_edge,
if (integer_onep (cond_expr))
exit_edge = entry_edge;
else
- exit_edge = create_empty_if_region_on_edge (entry_edge, cond_expr);
+ exit_edge = create_empty_if_region_on_edge (entry_edge,
+ unshare_expr (cond_expr));
return exit_edge;
}
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 78e3ec9..6cec055 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2016-03-14 Tom de Vries <tom@codesourcery.com>
+
+ PR tree-optimization/70045
+ * gcc.dg/graphite/pr70045.c: New test.
+
2016-03-13 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/69043
diff --git a/gcc/testsuite/gcc.dg/graphite/pr70045.c b/gcc/testsuite/gcc.dg/graphite/pr70045.c
new file mode 100644
index 0000000..9f98b1f
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/graphite/pr70045.c
@@ -0,0 +1,28 @@
+/* { dg-do compile } */
+/* { dg-options "-O2 -floop-interchange" } */
+
+int a, b, d, e, f;
+int c[9];
+void
+fn1 ()
+{
+ e = 1;
+ for (; e >= 0; e--)
+ {
+ d = 1;
+ for (; d >= 0; d--)
+ {
+ f = 0;
+ for (; f <= 1; f++)
+ {
+ a = 0;
+ for (; a < 9; a++)
+ {
+ b = 0;
+ for (; b < 2; b++)
+ c[a + b] = 3;
+ }
+ }
+ }
+ }
+}