On Sat, Apr 9, 2016 at 11:00 AM, Tom de Vries <tom_devr...@mentor.com> wrote: > On 09/12/15 19:26, Sebastian Pop wrote: >> >> we used to add the access functions in the wrong order, Fortran style, >> leading to unprofitable interchanges. >> --- >> gcc/graphite-sese-to-poly.c | 2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) >> >> diff --git a/gcc/graphite-sese-to-poly.c b/gcc/graphite-sese-to-poly.c >> index 887c212..480c552 100644 >> --- a/gcc/graphite-sese-to-poly.c >> +++ b/gcc/graphite-sese-to-poly.c >> @@ -912,7 +912,7 @@ pdr_add_memory_accesses (isl_map *acc, dr_info &dri) >> for (i = 0; i < nb_subscripts; i++) >> { >> isl_pw_aff *aff; >> - tree afn = DR_ACCESS_FN (dr, nb_subscripts - 1 - i); >> + tree afn = DR_ACCESS_FN (dr, i); >> >> aff = extract_affine (scop, afn, >> isl_space_domain (isl_map_get_space (acc))); >> > > Hi, > > I think the fix for PR68953 ( > https://gcc.gnu.org/viewcvs/gcc?view=revision&revision=234851 ) undoes this > fix. > > What problem was this patch intending to address? > > In other words, have I re-introduced a problem by fixing PR68953 ? >
>From the commit message of r234851, it was an interchange profitability that triggered the change. I think there is still a problem in the way we are parsing arrays in C vs. Fortran. It is good that now we have the correctness testcase that you added with the patch. Thanks, Sebastian