mirror of git://gcc.gnu.org/git/gcc.git
Fix PR42988: handle unknown_dependence.
2010-02-07 Sebastian Pop <sebastian.pop@amd.com> PR middle-end/42988 * graphite-dependences.c (dependence_polyhedron): Set PDDR_KIND to unknown_dependence. (graphite_legal_transform_dr): Handle the unknown_dependence. (graphite_carried_dependence_level_k): Same. * testsuite/libgomp.graphite/force-parallel-5.c: Un-XFAILed. * testsuite/libgomp.graphite/pr41118.c: Renamed from pr4118. From-SVN: r156582
This commit is contained in:
parent
45489e99d6
commit
8d2220b234
|
|
@ -1,3 +1,11 @@
|
||||||
|
2010-02-07 Sebastian Pop <sebastian.pop@amd.com>
|
||||||
|
|
||||||
|
PR middle-end/42988
|
||||||
|
* graphite-dependences.c (dependence_polyhedron): Set PDDR_KIND
|
||||||
|
to unknown_dependence.
|
||||||
|
(graphite_legal_transform_dr): Handle the unknown_dependence.
|
||||||
|
(graphite_carried_dependence_level_k): Same.
|
||||||
|
|
||||||
2010-02-07 Sebastian Pop <sebastian.pop@amd.com>
|
2010-02-07 Sebastian Pop <sebastian.pop@amd.com>
|
||||||
|
|
||||||
* ChangeLog.graphite: Remove testsuite/ or gcc/testsuite/.
|
* ChangeLog.graphite: Remove testsuite/ or gcc/testsuite/.
|
||||||
|
|
|
||||||
|
|
@ -603,6 +603,11 @@ dependence_polyhedron (poly_dr_p pdr1, poly_dr_p pdr2,
|
||||||
|
|
||||||
res = new_poly_ddr (pdr1, pdr2, ddp, original_scattering_p);
|
res = new_poly_ddr (pdr1, pdr2, ddp, original_scattering_p);
|
||||||
|
|
||||||
|
if (!(pdr_read_p (pdr1) && pdr_read_p (pdr2))
|
||||||
|
&& PDR_BASE_OBJECT_SET (pdr1) != PDR_BASE_OBJECT_SET (pdr2)
|
||||||
|
&& poly_drs_may_alias_p (pdr1, pdr2))
|
||||||
|
PDDR_KIND (res) = unknown_dependence;
|
||||||
|
|
||||||
if (original_scattering_p)
|
if (original_scattering_p)
|
||||||
*x = res;
|
*x = res;
|
||||||
|
|
||||||
|
|
@ -669,7 +674,9 @@ graphite_legal_transform_dr (poly_dr_p pdr1, poly_dr_p pdr2)
|
||||||
i.e. the transform should reverse no dependences, and so PT, the
|
i.e. the transform should reverse no dependences, and so PT, the
|
||||||
reversed transformed PDDR, should have no constraint from PO. */
|
reversed transformed PDDR, should have no constraint from PO. */
|
||||||
opddr = dependence_polyhedron (pdr1, pdr2, 1, true);
|
opddr = dependence_polyhedron (pdr1, pdr2, 1, true);
|
||||||
tpddr = dependence_polyhedron (pdr1, pdr2, -1, false);
|
|
||||||
|
if (PDDR_KIND (opddr) == unknown_dependence)
|
||||||
|
return false;
|
||||||
|
|
||||||
/* There are no dependences between PDR1 and PDR2 in the original
|
/* There are no dependences between PDR1 and PDR2 in the original
|
||||||
version of the program, or after the transform, so the
|
version of the program, or after the transform, so the
|
||||||
|
|
@ -677,6 +684,14 @@ graphite_legal_transform_dr (poly_dr_p pdr1, poly_dr_p pdr2)
|
||||||
if (pddr_is_empty (opddr))
|
if (pddr_is_empty (opddr))
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
|
tpddr = dependence_polyhedron (pdr1, pdr2, -1, false);
|
||||||
|
|
||||||
|
if (PDDR_KIND (tpddr) == unknown_dependence)
|
||||||
|
{
|
||||||
|
free_poly_ddr (tpddr);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
if (pddr_is_empty (tpddr))
|
if (pddr_is_empty (tpddr))
|
||||||
{
|
{
|
||||||
free_poly_ddr (tpddr);
|
free_poly_ddr (tpddr);
|
||||||
|
|
@ -792,6 +807,12 @@ graphite_carried_dependence_level_k (poly_dr_p pdr1, poly_dr_p pdr2,
|
||||||
bool empty_p;
|
bool empty_p;
|
||||||
poly_ddr_p pddr = dependence_polyhedron (pdr1, pdr2, 1, false);
|
poly_ddr_p pddr = dependence_polyhedron (pdr1, pdr2, 1, false);
|
||||||
|
|
||||||
|
if (PDDR_KIND (pddr) == unknown_dependence)
|
||||||
|
{
|
||||||
|
free_poly_ddr (pddr);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
if (pddr_is_empty (pddr))
|
if (pddr_is_empty (pddr))
|
||||||
{
|
{
|
||||||
free_poly_ddr (pddr);
|
free_poly_ddr (pddr);
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,8 @@
|
||||||
|
2010-02-07 Sebastian Pop <sebastian.pop@amd.com>
|
||||||
|
|
||||||
|
* testsuite/libgomp.graphite/force-parallel-5.c: Un-XFAILed.
|
||||||
|
* testsuite/libgomp.graphite/pr41118.c: Renamed from pr4118.
|
||||||
|
|
||||||
2009-10-09 Sebastian Pop <sebastian.pop@amd.com>
|
2009-10-09 Sebastian Pop <sebastian.pop@amd.com>
|
||||||
|
|
||||||
* testsuite/libgomp.graphite/graphite.exp (PARALLEL_CFLAGS): Add
|
* testsuite/libgomp.graphite/graphite.exp (PARALLEL_CFLAGS): Add
|
||||||
|
|
|
||||||
|
|
@ -34,6 +34,6 @@ int main(void)
|
||||||
/* { dg-final { scan-tree-dump-times "2 loops carried no dependency" 1 "graphite" } } */
|
/* { dg-final { scan-tree-dump-times "2 loops carried no dependency" 1 "graphite" } } */
|
||||||
/* { dg-final { cleanup-tree-dump "graphite" } } */
|
/* { dg-final { cleanup-tree-dump "graphite" } } */
|
||||||
/* { dg-final { scan-tree-dump-times "loopfn.0" 5 "optimized" } } */
|
/* { dg-final { scan-tree-dump-times "loopfn.0" 5 "optimized" } } */
|
||||||
/* { dg-final { scan-tree-dump-times "loopfn.1" 5 "optimized" { xfail *-*-* } } } */
|
/* { dg-final { scan-tree-dump-times "loopfn.1" 5 "optimized" } } */
|
||||||
/* { dg-final { cleanup-tree-dump "parloops" } } */
|
/* { dg-final { cleanup-tree-dump "parloops" } } */
|
||||||
/* { dg-final { cleanup-tree-dump "optimized" } } */
|
/* { dg-final { cleanup-tree-dump "optimized" } } */
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue