------- Comment #9 from spop at gcc dot gnu dot org  2009-12-23 07:50 -------
Subject: Bug 42178

Author: spop
Date: Wed Dec 23 07:50:12 2009
New Revision: 155418

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=155418
Log:
Fix PR42334: correct the update of the LST on loop interchange and
distribution.

2009-12-15  Sebastian Pop  <sebastian....@amd.com>

        PR middle-end/42178
        PR middle-end/42334
        * graphite-interchange.c (lst_perfect_nestify): Reset to NULL the LSTs
        that are empty.
        (lst_do_interchange_1): Renamed lst_interchange_select_inner.
        (lst_try_interchange): Reimplemented.
        (lst_interchange_select_inner): Same.
        (lst_do_interchange): Renamed lst_interchange_select_outer.
        Reimplemented.
        (scop_do_interchange): Update use of lst_interchange_select_outer.

        * graphite-interchange.c (lst_try_interchange): Do not increment the
        the OUTER index when there is no AFTER kernel.  Do not increment the
        OUTER index for after processing the AFTER kernel.
        (lst_interchange_select_inner): Call lst_try_interchange only on loops.
        (lst_interchange_select_outer): Do not pass in a pointer to the OUTER
        index.  Do not pass to lst_interchange_select_inner the OUTER index.
        (scop_do_interchange): Update use of lst_interchange_select_outer.

        * graphite-interchange.c (lst_try_interchange): Do not modify OUTER
        index.  Call lst_interchange_select_inner only once.
        (lst_interchange_select_inner): Update use of lst_try_interchange.
        (lst_interchange_select_outer): Update.

        * testsuite/g++.dg/graphite/pr42130.C: Add -fgraphite-identity.
        * testsuite/gcc.dg/graphite/block-0.c: Un-XFAILed.
        * testsuite/gcc.dg/graphite/pr42211.c: New.
        * testsuite/gfortran.dg/graphite/pr42334.f90: New.

        * testsuite/gfortran.dg/graphite/graphite.exp
        (DEFAULT_FLAGS_GRAPHITE_IDENTITY): Remove -fdump-tree-graphite-all.
        * testsuite/gfortran.dg/graphite/interchange-1.f: Add comment.  Clean
        the graphite dump file.
        * testsuite/gfortran.dg/graphite/interchange-2.f: Same.
        * testsuite/gfortran.dg/graphite/pr42334-1.f: New.

Added:
    trunk/gcc/testsuite/gcc.dg/graphite/pr42211.c
    trunk/gcc/testsuite/gfortran.dg/graphite/pr42334-1.f
    trunk/gcc/testsuite/gfortran.dg/graphite/pr42334.f90
Modified:
    trunk/gcc/ChangeLog.graphite
    trunk/gcc/graphite-interchange.c
    trunk/gcc/testsuite/g++.dg/graphite/pr42130.C
    trunk/gcc/testsuite/gcc.dg/graphite/block-0.c
    trunk/gcc/testsuite/gfortran.dg/graphite/graphite.exp
    trunk/gcc/testsuite/gfortran.dg/graphite/interchange-1.f
    trunk/gcc/testsuite/gfortran.dg/graphite/interchange-2.f


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42178

Reply via email to