aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorTom de Vries <tom@codesourcery.com>2016-04-09 15:28:24 +0000
committerTom de Vries <vries@gcc.gnu.org>2016-04-09 15:28:24 +0000
commit09bf990eb869cc60f8b84b3c29f54b12d0520345 (patch)
tree62d4d43012208ea727332cdeb913cbb5a85241d9 /gcc
parent138c3c1a7881fad8fdadacf41eede035964cd3c0 (diff)
downloadgcc-09bf990eb869cc60f8b84b3c29f54b12d0520345.zip
gcc-09bf990eb869cc60f8b84b3c29f54b12d0520345.tar.gz
gcc-09bf990eb869cc60f8b84b3c29f54b12d0520345.tar.bz2
Fix pdr accesses order
2016-04-09 Tom de Vries <tom@codesourcery.com> PR tree-optimization/68953 * graphite-sese-to-poly.c (pdr_add_memory_accesses): Order accesses from first to last subscript. * gcc.dg/graphite/pr68953.c: New test. From-SVN: r234851
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/graphite-sese-to-poly.c2
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/gcc.dg/graphite/pr68953.c30
4 files changed, 42 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 7f2180d..8d9a94d 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2016-04-09 Tom de Vries <tom@codesourcery.com>
+
+ PR tree-optimization/68953
+ * graphite-sese-to-poly.c (pdr_add_memory_accesses): Order accesses from
+ first to last subscript.
+
2016-04-09 Jakub Jelinek <jakub@redhat.com>
PR tree-optimization/70586
diff --git a/gcc/graphite-sese-to-poly.c b/gcc/graphite-sese-to-poly.c
index b62789f8..22a09a1 100644
--- a/gcc/graphite-sese-to-poly.c
+++ b/gcc/graphite-sese-to-poly.c
@@ -672,7 +672,7 @@ pdr_add_memory_accesses (isl_map *acc, dr_info &dri)
aff = extract_affine (scop, afn,
isl_space_domain (isl_map_get_space (acc)));
- acc = set_index (acc, i + 1, aff);
+ acc = set_index (acc, nb_subscripts - i , aff);
}
return isl_map_coalesce (acc);
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index fb1ff1e..1b8a9c7 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2016-04-09 Tom de Vries <tom@codesourcery.com>
+
+ PR tree-optimization/68953
+ * gcc.dg/graphite/pr68953.c: New test.
+
2016-04-09 Dominique d'Humieres <dominiq@lps.ens.fr>
PR fortran/70592
diff --git a/gcc/testsuite/gcc.dg/graphite/pr68953.c b/gcc/testsuite/gcc.dg/graphite/pr68953.c
new file mode 100644
index 0000000..12c632d
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/graphite/pr68953.c
@@ -0,0 +1,30 @@
+/* { dg-do run } */
+/* { dg-options "-O1 -floop-nest-optimize" } */
+
+extern void abort (void);
+
+int yu[4][1] = { { 1 }, { 2 }, { 3 }, { 4 } };
+
+static void __attribute__((noinline,noclone))
+foo (void)
+{
+ int zh, ro;
+
+ for (zh = 0; zh < 2; ++zh)
+ for (ro = 0; ro < 3; ++ro)
+ yu[ro][0] = yu[zh + 1][0];
+}
+
+int
+main (void)
+{
+ foo ();
+
+ if (yu[0][0] != 2
+ || yu[1][0] != 2
+ || yu[2][0] != 2
+ || yu[3][0] != 4)
+ abort ();
+
+ return 0;
+}