From patchwork Fri Jul 23 05:48:17 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sebastian Pop X-Patchwork-Id: 59734 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 9ABB01007D2 for ; Fri, 23 Jul 2010 15:49:05 +1000 (EST) Received: (qmail 31171 invoked by alias); 23 Jul 2010 05:49:02 -0000 Received: (qmail 31159 invoked by uid 22791); 23 Jul 2010 05:49:02 -0000 X-SWARE-Spam-Status: No, hits=-2.0 required=5.0 tests=AWL, BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, FREEMAIL_FROM, RCVD_IN_DNSWL_NONE, T_TO_NO_BRKTS_FREEMAIL X-Spam-Check-By: sourceware.org Received: from mail-yx0-f175.google.com (HELO mail-yx0-f175.google.com) (209.85.213.175) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Fri, 23 Jul 2010 05:48:56 +0000 Received: by yxi11 with SMTP id 11so3326947yxi.20 for ; Thu, 22 Jul 2010 22:48:54 -0700 (PDT) Received: by 10.150.227.14 with SMTP id z14mr4937778ybg.129.1279864134449; Thu, 22 Jul 2010 22:48:54 -0700 (PDT) Received: from napoca (cpe-70-120-196-107.austin.res.rr.com [70.120.196.107]) by mx.google.com with ESMTPS id q21sm2394191ybk.11.2010.07.22.22.48.52 (version=TLSv1/SSLv3 cipher=RC4-MD5); Thu, 22 Jul 2010 22:48:53 -0700 (PDT) Received: by napoca (sSMTP sendmail emulation); Fri, 23 Jul 2010 00:48:51 -0500 From: Sebastian Pop To: gcc-patches@gcc.gnu.org Cc: gcc-graphite@googlegroups.com, Sebastian Pop Subject: [PATCH 2/3] Use SSA_NAME_DEF_STMT only on SSA_NAMEs. Date: Fri, 23 Jul 2010 00:48:17 -0500 Message-Id: <1279864098-1408-3-git-send-email-sebpop@gmail.com> In-Reply-To: <1279864098-1408-1-git-send-email-sebpop@gmail.com> References: <1279864098-1408-1-git-send-email-sebpop@gmail.com> 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 2010-07-22 Sebastian Pop * graphite-sese-to-poly.c (rewrite_phi_out_of_ssa): Use SSA_NAME_DEF_STMT only on SSA_NAMEs. * gcc.dg/graphite/id-24.c: New. --- gcc/ChangeLog.graphite | 7 +++++++ gcc/graphite-sese-to-poly.c | 3 ++- gcc/testsuite/gcc.dg/graphite/id-24.c | 22 ++++++++++++++++++++++ 3 files changed, 31 insertions(+), 1 deletions(-) create mode 100644 gcc/testsuite/gcc.dg/graphite/id-24.c diff --git a/gcc/ChangeLog.graphite b/gcc/ChangeLog.graphite index e656c32..2174f0c 100644 --- a/gcc/ChangeLog.graphite +++ b/gcc/ChangeLog.graphite @@ -1,5 +1,12 @@ 2010-07-22 Sebastian Pop + * graphite-sese-to-poly.c (rewrite_phi_out_of_ssa): Use + SSA_NAME_DEF_STMT only on SSA_NAMEs. + + * gcc.dg/graphite/id-24.c: New. + +2010-07-22 Sebastian Pop + * tree-scalar-evolution.c (instantiate_scev_name): Do not instantiate default definitions. diff --git a/gcc/graphite-sese-to-poly.c b/gcc/graphite-sese-to-poly.c index 2c85515..245fa8a 100644 --- a/gcc/graphite-sese-to-poly.c +++ b/gcc/graphite-sese-to-poly.c @@ -2255,7 +2255,8 @@ rewrite_phi_out_of_ssa (gimple_stmt_iterator *psi) /* Avoid the insertion of code in the loop latch to please the pattern matching of the vectorizer. */ - if (e->src == bb->loop_father->latch) + if (TREE_CODE (arg) == SSA_NAME + && e->src == bb->loop_father->latch) insert_out_of_ssa_copy (zero_dim_array, arg, SSA_NAME_DEF_STMT (arg)); else insert_out_of_ssa_copy_on_edge (e, zero_dim_array, arg); diff --git a/gcc/testsuite/gcc.dg/graphite/id-24.c b/gcc/testsuite/gcc.dg/graphite/id-24.c new file mode 100644 index 0000000..d466069 --- /dev/null +++ b/gcc/testsuite/gcc.dg/graphite/id-24.c @@ -0,0 +1,22 @@ +/* gcc.dg/tree-ssa/loadpre23.c used to ICE with Graphite. */ + +struct { + int a; + int large[100]; +} x; + +int foo(int argc) +{ + int b; + int c; + int i; + int d, e; + + for (i = 0; i < argc; i++) + { + e = x.a; + x.a = 9; + } + return d + e; +} +