From patchwork Thu Jan 20 00:19:56 2011 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sebastian Pop X-Patchwork-Id: 79628 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from sourceware.org (server1.sourceware.org [209.132.180.131]) by ozlabs.org (Postfix) with SMTP id 78BB3B7156 for ; Thu, 20 Jan 2011 11:20:29 +1100 (EST) Received: (qmail 10920 invoked by alias); 20 Jan 2011 00:20:26 -0000 Received: (qmail 10889 invoked by uid 22791); 20 Jan 2011 00:20:24 -0000 X-SWARE-Spam-Status: No, hits=-2.3 required=5.0 tests=AWL, BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, FREEMAIL_FROM, RCVD_IN_DNSWL_LOW, T_TO_NO_BRKTS_FREEMAIL X-Spam-Check-By: sourceware.org Received: from mail-pw0-f47.google.com (HELO mail-pw0-f47.google.com) (209.85.160.47) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Thu, 20 Jan 2011 00:20:19 +0000 Received: by mail-pw0-f47.google.com with SMTP id 8so9883pwi.20 for ; Wed, 19 Jan 2011 16:20:18 -0800 (PST) Received: by 10.142.241.9 with SMTP id o9mr1443368wfh.130.1295482818875; Wed, 19 Jan 2011 16:20:18 -0800 (PST) Received: from napoca ([163.181.251.115]) by mx.google.com with ESMTPS id y42sm10288796wfd.22.2011.01.19.16.20.16 (version=TLSv1/SSLv3 cipher=RC4-MD5); Wed, 19 Jan 2011 16:20:17 -0800 (PST) Received: by napoca (sSMTP sendmail emulation); Wed, 19 Jan 2011 18:20:14 -0600 From: Sebastian Pop To: gcc-patches@gcc.gnu.org Cc: rguenther@suse.de, gcc-graphite@googlegroups.com, Sebastian Pop Subject: [PATCH 3/3] Only copy PBB_DOMAIN when it is initialized. Date: Wed, 19 Jan 2011 18:19:56 -0600 Message-Id: <1295482796-29304-4-git-send-email-sebpop@gmail.com> In-Reply-To: References: X-IsSubscribed: yes Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Delivered-To: mailing list gcc-patches@gcc.gnu.org 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. --- 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 + * 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 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