diff options
author | Tom de Vries <tom@codesourcery.com> | 2016-04-09 15:28:24 +0000 |
---|---|---|
committer | Tom de Vries <vries@gcc.gnu.org> | 2016-04-09 15:28:24 +0000 |
commit | 09bf990eb869cc60f8b84b3c29f54b12d0520345 (patch) | |
tree | 62d4d43012208ea727332cdeb913cbb5a85241d9 /gcc | |
parent | 138c3c1a7881fad8fdadacf41eede035964cd3c0 (diff) | |
download | gcc-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/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/graphite-sese-to-poly.c | 2 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/graphite/pr68953.c | 30 |
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; +} |