From patchwork Thu Sep 9 20:43:36 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sebastian Pop X-Patchwork-Id: 64333 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 AD542B7113 for ; Fri, 10 Sep 2010 06:44:18 +1000 (EST) Received: (qmail 19938 invoked by alias); 9 Sep 2010 20:44:15 -0000 Received: (qmail 19930 invoked by uid 22791); 9 Sep 2010 20:44:14 -0000 X-SWARE-Spam-Status: No, hits=-1.9 required=5.0 tests=AWL, BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, FREEMAIL_FROM, RCVD_IN_DNSWL_NONE, TW_SV, T_TO_NO_BRKTS_FREEMAIL X-Spam-Check-By: sourceware.org Received: from mail-gx0-f175.google.com (HELO mail-gx0-f175.google.com) (209.85.161.175) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Thu, 09 Sep 2010 20:43:44 +0000 Received: by gxk2 with SMTP id 2so879491gxk.20 for ; Thu, 09 Sep 2010 13:43:42 -0700 (PDT) Received: by 10.151.102.21 with SMTP id e21mr427336ybm.103.1284065021688; Thu, 09 Sep 2010 13:43:41 -0700 (PDT) Received: from napoca ([163.181.251.115]) by mx.google.com with ESMTPS id q21sm7964868ybk.15.2010.09.09.13.43.39 (version=TLSv1/SSLv3 cipher=RC4-MD5); Thu, 09 Sep 2010 13:43:40 -0700 (PDT) Received: by napoca (sSMTP sendmail emulation); Thu, 09 Sep 2010 15:43:38 -0500 From: Sebastian Pop To: gcc-patches@gcc.gnu.org Cc: gcc-graphite@googlegroups.com Subject: [PATCH 1/2] Fix comments. Date: Thu, 9 Sep 2010 15:43:36 -0500 Message-Id: <1284065017-22993-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 From: spop 2010-09-09 Sebastian Pop * graphite-flattening.c: Fix comments. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/graphite@164129 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/ChangeLog.graphite | 4 ++++ gcc/graphite-flattening.c | 10 ++++++++-- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/gcc/ChangeLog.graphite b/gcc/ChangeLog.graphite index 2512ea6..d22ab3c 100644 --- a/gcc/ChangeLog.graphite +++ b/gcc/ChangeLog.graphite @@ -1,5 +1,9 @@ 2010-09-09 Sebastian Pop + * graphite-flattening.c: Fix comments. + +2010-09-09 Sebastian Pop + * Makefile.in (OBJS-common): Add graphite-flattening.o. (graphite-flattening.o): New rule. * common.opt (floop-flatten): New flag. diff --git a/gcc/graphite-flattening.c b/gcc/graphite-flattening.c index 0f98337..c026ffc 100644 --- a/gcc/graphite-flattening.c +++ b/gcc/graphite-flattening.c @@ -55,6 +55,12 @@ along with GCC; see the file COPYING3. If not see then apply on the full loop body, without needing the outer-loop vectorization. + The loop flattening pass that has been described in a very Fortran + specific way in the 1992 paper by Reinhard von Hanxleden and Ken + Kennedy: "Relaxing SIMD Control Flow Constraints using Loop + Transformations" available from + http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.54.5033 + The canonical example is as follows: suppose that we have a loop nest with known iteration counts @@ -95,11 +101,11 @@ along with GCC; see the file COPYING3. If not see | } | } - For an arbitrarily complex loop nests the algorithm proceeds in two + For an arbitrarily complex loop nest the algorithm proceeds in two steps. First, the LST is flattened by removing the loops structure and by inserting the statements in the order they appear in depth-first order. Then, the scattering of each statement is - transformed such that it + transformed accordingly. Supposing that the original program is represented by the following LST: