From patchwork Sat Jul 31 15:30:45 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Sebastian Pop X-Patchwork-Id: 60435 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 425341007D2 for ; Sun, 1 Aug 2010 01:31:24 +1000 (EST) Received: (qmail 5132 invoked by alias); 31 Jul 2010 15:31:22 -0000 Received: (qmail 5123 invoked by uid 22791); 31 Jul 2010 15:31:22 -0000 X-SWARE-Spam-Status: No, hits=-1.8 required=5.0 tests=AWL, BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, FREEMAIL_FROM, RCVD_IN_DNSWL_NONE, TW_IV X-Spam-Check-By: sourceware.org Received: from mail-qw0-f47.google.com (HELO mail-qw0-f47.google.com) (209.85.216.47) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Sat, 31 Jul 2010 15:31:17 +0000 Received: by qwg8 with SMTP id 8so701242qwg.20 for ; Sat, 31 Jul 2010 08:31:15 -0700 (PDT) Received: by 10.220.169.131 with SMTP id z3mr4713220vcy.1.1280590275264; Sat, 31 Jul 2010 08:31:15 -0700 (PDT) MIME-Version: 1.0 Received: by 10.220.50.87 with HTTP; Sat, 31 Jul 2010 08:30:45 -0700 (PDT) In-Reply-To: <1280590076-2581-4-git-send-email-sebpop@gmail.com> References: <1280590076-2581-4-git-send-email-sebpop@gmail.com> From: Sebastian Pop Date: Sat, 31 Jul 2010 10:30:45 -0500 Message-ID: Subject: Re: [PATCH 3/3] Add -ftree-loop-distribute-patterns. To: Richard Guenther Cc: gcc-patches@gcc.gnu.org, Sebastian Pop 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 I forgot this part in the patch below: On Sat, Jul 31, 2010 at 10:27, Sebastian Pop wrote: > --- >  gcc/common.opt               |    4 ++++ >  gcc/doc/invoke.texi          |    5 +++++ >  gcc/tree-loop-distribution.c |    3 ++- >  3 files changed, 11 insertions(+), 1 deletions(-) > > diff --git a/gcc/common.opt b/gcc/common.opt > index 77cf58e..a9fcdd2 100644 > --- a/gcc/common.opt > +++ b/gcc/common.opt > @@ -1341,6 +1341,10 @@ ftree-loop-distribute-memset-zero >  Common Report Var(flag_tree_loop_distribute_memset_zero) Optimization >  Enable loop distribution of initialization loops using memset zero > > +ftree-loop-distribute-patterns > +Common Report Var(flag_tree_loop_distribute_patterns) Optimization > +Enable loop distribution of patterns code generated with calls to a library > + >  ftree-loop-im >  Common Report Var(flag_tree_loop_im) Init(1) Optimization >  Enable loop invariant motion on trees > diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi > index ca3238c..b9b8b22 100644 > --- a/gcc/doc/invoke.texi > +++ b/gcc/doc/invoke.texi > @@ -385,6 +385,7 @@ Objective-C and Objective-C++ Dialects}. >  -ftree-copyrename -ftree-dce -ftree-dominator-opts -ftree-dse @gol >  -ftree-forwprop -ftree-fre -ftree-loop-if-convert -ftree-loop-im @gol >  -ftree-phiprop -ftree-loop-distribution -ftree-loop-distribute-memset-zero @gol > +-ftree-loop-distribute-patterns @gol >  -ftree-loop-ivcanon -ftree-loop-linear -ftree-loop-optimize @gol >  -ftree-parallelize-loops=@var{n} -ftree-pre -ftree-pta -ftree-reassoc @gol >  -ftree-sink -ftree-sra -ftree-switch-conversion @gol > @@ -6946,6 +6947,10 @@ ENDDO >  and the initialization loop is transformed into a call to memset zero. >  This flag is enabled by default at @option{-O3}. > > +@item -ftree-loop-distribute-patterns > +Perform loop distribution of patterns that can be code generated with > +calls to a library.  This enables @option{-ftree-loop-distribute-memset-zero}. > + >  @item -ftree-loop-im >  @opindex ftree-loop-im >  Perform loop invariant motion on trees.  This pass moves only invariants that > diff --git a/gcc/tree-loop-distribution.c b/gcc/tree-loop-distribution.c > index 920f744..c677ecb 100644 > --- a/gcc/tree-loop-distribution.c > +++ b/gcc/tree-loop-distribution.c > @@ -1187,7 +1187,8 @@ tree_loop_distribution (void) >       /* If both flag_tree_loop_distribute_memset_zero and >         flag_tree_loop_distribution are set, then only memset_zero is >         executed.  */ > -      if (flag_tree_loop_distribute_memset_zero) > +      if (flag_tree_loop_distribute_memset_zero > +         || flag_tree_loop_distribute_patterns) >        { >          /* With the following working list, we're asking >             distribute_loop to separate from the rest of the loop the > -- > 1.7.0.4 > > diff --git a/gcc/tree-loop-distribution.c b/gcc/tree-loop-distribution.c index c677ecb..34d6e21 100644 --- a/gcc/tree-loop-distribution.c +++ b/gcc/tree-loop-distribution.c @@ -1237,7 +1237,8 @@ static bool gate_tree_loop_distribution (void) { return flag_tree_loop_distribution - || flag_tree_loop_distribute_memset_zero; + || flag_tree_loop_distribute_memset_zero + || flag_tree_loop_distribute_patterns; } struct gimple_opt_pass pass_loop_distribution =