[patch][graphite] Fix PR42334 and PR42178
Sebastian Pop
sebpop@gmail.com
Tue Dec 15 22:52:00 GMT 2009
Hi,
These two patches are fixing the PR42334 and PR42178 by rewriting the
code that traverses the LST for selecting the loops to be
interchanged. The LST is in the same time updated as needed by loop
distribution to create perfect loop nests before interchange.
2009-12-15 Sebastian Pop <sebastian.pop@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.
* 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.
2009-12-15 Sebastian Pop <sebastian.pop@amd.com>
PR middle-end/42178
PR middle-end/42334
* 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.
* 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.
I committed both patches in the graphite branch for further test.
The first patch triggered a compile time bug in calculix, reduced and
fixed by the second patch. I will commit these two patches to trunk
when I will be sure that there is no other thing that broken by these
changes.
Sebastian Pop
--
AMD / Open Source Compiler Engineering / GNU Tools
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-Fix-PR42334-correct-the-update-of-the-LST-on-loop-i.patch
Type: text/x-patch
Size: 10670 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20091215/42c2ffbf/attachment.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0002-Fix-fall-outs-from-Fix-PR42334.patch
Type: text/x-patch
Size: 8563 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20091215/42c2ffbf/attachment-0001.bin>
More information about the Gcc-patches
mailing list