aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRoman Gareev <gareevroman@gmail.com>2014-07-28 06:01:24 +0000
committerRoman Gareev <romangareev@gcc.gnu.org>2014-07-28 06:01:24 +0000
commitd50cc61ad30344444108c6f66f4f2f1295c20551 (patch)
tree370c22b1194e5befe42a219d90fe276a9f018a87 /gcc
parent333cc5184301dc7efafa0f71d2493f4fd88bc106 (diff)
downloadgcc-d50cc61ad30344444108c6f66f4f2f1295c20551.zip
gcc-d50cc61ad30344444108c6f66f4f2f1295c20551.tar.gz
gcc-d50cc61ad30344444108c6f66f4f2f1295c20551.tar.bz2
[gcc/]
* graphite-sese-to-poly.c: (new_pbb_from_pbb): Set a new id of pbb1->domain (instead of using the id of the pbb), which contains pointer to the pbb1. [gcc/testsuite] * gcc.dg/graphite/isl-ast-gen-if-2.c: New testcase. From-SVN: r213110
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog8
-rw-r--r--gcc/graphite-sese-to-poly.c2
-rw-r--r--gcc/testsuite/gcc.dg/graphite/isl-ast-gen-if-2.c31
3 files changed, 41 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 187f988..5476b59 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,13 @@
2014-07-28 Roman Gareev <gareevroman@gmail.com>
+ * graphite-sese-to-poly.c:
+ (new_pbb_from_pbb): Set a new id of pbb1->domain (instead of using the
+ id of the pbb), which contains pointer to the pbb1.
+
+ * gcc.dg/graphite/isl-ast-gen-if-2.c: New testcase.
+
+2014-07-28 Roman Gareev <gareevroman@gmail.com>
+
* graphite-isl-ast-to-gimple.c:
(graphite_create_new_guard): New function.
(translate_isl_ast_node_if): New function.
diff --git a/gcc/graphite-sese-to-poly.c b/gcc/graphite-sese-to-poly.c
index 0bc44330..3254df9 100644
--- a/gcc/graphite-sese-to-poly.c
+++ b/gcc/graphite-sese-to-poly.c
@@ -2044,6 +2044,8 @@ new_pbb_from_pbb (scop_p scop, poly_bb_p pbb, basic_block bb)
break;
pbb1->domain = isl_set_copy (pbb->domain);
+ pbb1->domain = isl_set_set_tuple_id (pbb1->domain,
+ isl_id_for_pbb (scop, pbb1));
GBB_PBB (gbb1) = pbb1;
GBB_CONDITIONS (gbb1) = GBB_CONDITIONS (gbb).copy ();
diff --git a/gcc/testsuite/gcc.dg/graphite/isl-ast-gen-if-2.c b/gcc/testsuite/gcc.dg/graphite/isl-ast-gen-if-2.c
new file mode 100644
index 0000000..512e43d
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/graphite/isl-ast-gen-if-2.c
@@ -0,0 +1,31 @@
+/* { dg-do run } */
+/* { dg-options "-O2 -fgraphite-identity -fgraphite-code-generator=isl" } */
+
+/* This test case tests reduction, where the pbbs are duplicated. */
+
+static int __attribute__((noinline))
+foo ()
+{
+ int i, res = 0;
+
+ for (i = 0; i < 50; i++)
+ {
+ if (i >= 25)
+ res += i;
+ }
+
+ return res;
+}
+
+extern void abort ();
+
+int
+main (void)
+{
+ int res = foo ();
+
+ if (res != 925)
+ abort ();
+
+ return 0;
+}