From 38013f25bc66d8595de8359dd30a0a0e3e0713af Mon Sep 17 00:00:00 2001 From: Sebastian Pop Date: Tue, 25 Jan 2011 06:48:42 +0000 Subject: [PATCH] Only copy PBB_DOMAIN when it is initialized. 2011-01-25 Sebastian Pop * graphite-sese-to-poly.c (new_pbb_from_pbb): Only copy PBB_DOMAIN when it is initialized. * gfortran.dg/graphite/id-23.f: New. From-SVN: r169219 --- gcc/ChangeLog | 5 +++++ gcc/ChangeLog.graphite | 7 +++++++ gcc/graphite-sese-to-poly.c | 6 ++++-- gcc/testsuite/ChangeLog | 6 +++++- gcc/testsuite/gfortran.dg/graphite/id-23.f | 13 +++++++++++++ 5 files changed, 34 insertions(+), 3 deletions(-) create mode 100644 gcc/testsuite/gfortran.dg/graphite/id-23.f diff --git a/gcc/ChangeLog b/gcc/ChangeLog index ef46f734369..599ee15eff7 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2011-01-25 Sebastian Pop + + * graphite-sese-to-poly.c (new_pbb_from_pbb): Only copy PBB_DOMAIN + when it is initialized. + 2011-01-25 Sebastian Pop * graphite-scop-detection.c (stmt_has_simple_data_refs_p): Update diff --git a/gcc/ChangeLog.graphite b/gcc/ChangeLog.graphite index 12524d4b9c1..88556060ade 100644 --- a/gcc/ChangeLog.graphite +++ b/gcc/ChangeLog.graphite @@ -1,3 +1,10 @@ +2011-01-19 Sebastian Pop + + * graphite-sese-to-poly.c (new_pbb_from_pbb): Only copy PBB_DOMAIN + when it is initialized. + + * gfortran.dg/graphite/id-23.f: New. + 2011-01-19 Sebastian Pop * graphite-scop-detection.c (stmt_has_simple_data_refs_p): Update diff --git a/gcc/graphite-sese-to-poly.c b/gcc/graphite-sese-to-poly.c index 88536fe84af..c6b43858887 100644 --- a/gcc/graphite-sese-to-poly.c +++ b/gcc/graphite-sese-to-poly.c @@ -2152,9 +2152,11 @@ new_pbb_from_pbb (scop_p scop, poly_bb_p pbb, basic_block bb) if (VEC_index (poly_bb_p, SCOP_BBS (scop), index) == pbb) break; + if (PBB_DOMAIN (pbb)) + ppl_new_Pointset_Powerset_C_Polyhedron_from_Pointset_Powerset_C_Polyhedron + (&PBB_DOMAIN (pbb1), PBB_DOMAIN (pbb)); + GBB_PBB (gbb1) = pbb1; - ppl_new_Pointset_Powerset_C_Polyhedron_from_Pointset_Powerset_C_Polyhedron - (&PBB_DOMAIN (pbb1), PBB_DOMAIN (pbb)); GBB_CONDITIONS (gbb1) = VEC_copy (gimple, heap, GBB_CONDITIONS (gbb)); GBB_CONDITION_CASES (gbb1) = VEC_copy (gimple, heap, GBB_CONDITION_CASES (gbb)); VEC_safe_insert (poly_bb_p, heap, SCOP_BBS (scop), index + 1, pbb1); diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 5edbea6997e..a03e7d92117 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,4 +1,8 @@ -2011-01-21 Sebastian Pop +2011-01-25 Sebastian Pop + + * gfortran.dg/graphite/id-23.f: New. + +2011-01-25 Sebastian Pop * gfortran.dg/graphite/interchange-3.f90: Un-XFAILed. diff --git a/gcc/testsuite/gfortran.dg/graphite/id-23.f b/gcc/testsuite/gfortran.dg/graphite/id-23.f new file mode 100644 index 00000000000..74c29283ddc --- /dev/null +++ b/gcc/testsuite/gfortran.dg/graphite/id-23.f @@ -0,0 +1,13 @@ + SUBROUTINE CAMB(RX2,RTX,NUM) + DIMENSION RX2(NUM,NUM),RTX(NUM,NUM) + DO I=1,NUM + DO J=1,I + DO M=1,NUM + RX2(I,J)=RX2(I,J)+RTX(M,I) + END DO + END DO + END DO + IF (RX2(I,1).LE.EIGCT2) THEN + RTX(I,1)=4.0D+00 + END IF + END