This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[PATCH 3/3] Only copy PBB_DOMAIN when it is initialized.
- From: Sebastian Pop <sebpop at gmail dot com>
- To: gcc-patches at gcc dot gnu dot org
- Cc: rguenther at suse dot de, gcc-graphite at googlegroups dot com, Sebastian Pop <sebpop at gmail dot com>
- Date: Wed, 19 Jan 2011 18:19:56 -0600
- Subject: [PATCH 3/3] Only copy PBB_DOMAIN when it is initialized.
- References: <AANLkTinn9R3Dis4m7qk+94+O=heHi81bP668Zj49sR=t@mail.gmail.com>
2011-01-19 Sebastian Pop <sebastian.pop@amd.com>
* graphite-sese-to-poly.c (new_pbb_from_pbb): Only copy PBB_DOMAIN
when it is initialized.
* gfortran.dg/graphite/id-23.f: New.
---
gcc/ChangeLog.graphite | 7 +++++++
gcc/graphite-sese-to-poly.c | 6 ++++--
gcc/testsuite/gfortran.dg/graphite/id-23.f | 13 +++++++++++++
3 files changed, 24 insertions(+), 2 deletions(-)
create mode 100644 gcc/testsuite/gfortran.dg/graphite/id-23.f
diff --git a/gcc/ChangeLog.graphite b/gcc/ChangeLog.graphite
index 613dbc1..8a03a39 100644
--- a/gcc/ChangeLog.graphite
+++ b/gcc/ChangeLog.graphite
@@ -1,5 +1,12 @@
2011-01-19 Sebastian Pop <sebastian.pop@amd.com>
+ * 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 <sebastian.pop@amd.com>
+
* graphite-scop-detection.c (stmt_has_simple_data_refs_p): Update
call to graphite_find_data_references_in_stmt.
* graphite-sese-to-poly.c (outermost_loop_in_sese_1): New.
diff --git a/gcc/graphite-sese-to-poly.c b/gcc/graphite-sese-to-poly.c
index 44d48f0..48ae6df 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/gfortran.dg/graphite/id-23.f b/gcc/testsuite/gfortran.dg/graphite/id-23.f
new file mode 100644
index 0000000..74c2928
--- /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
--
1.7.1