From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: 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 15:45:00 -0000 Message-ID: Subject: Re: [PATCH 3/3] Add -ftree-loop-distribute-patterns. To: Richard Guenther Cc: gcc-patches@gcc.gnu.org, Sebastian Pop Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable X-IsSubscribed: yes Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org X-SW-Source: 2010-07/txt/msg02438.txt.bz2 I forgot this part in the patch below: 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 =3D On Sat, Jul 31, 2010 at 10:27, Sebastian Pop wrote: > --- > =A0gcc/common.opt =A0 =A0 =A0 =A0 =A0 =A0 =A0 | =A0 =A04 ++++ > =A0gcc/doc/invoke.texi =A0 =A0 =A0 =A0 =A0| =A0 =A05 +++++ > =A0gcc/tree-loop-distribution.c | =A0 =A03 ++- > =A03 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 > =A0Common Report Var(flag_tree_loop_distribute_memset_zero) Optimization > =A0Enable 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 libr= ary > + > =A0ftree-loop-im > =A0Common Report Var(flag_tree_loop_im) Init(1) Optimization > =A0Enable 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}. > =A0-ftree-copyrename -ftree-dce -ftree-dominator-opts -ftree-dse @gol > =A0-ftree-forwprop -ftree-fre -ftree-loop-if-convert -ftree-loop-im @gol > =A0-ftree-phiprop -ftree-loop-distribution -ftree-loop-distribute-memset-= zero @gol > +-ftree-loop-distribute-patterns @gol > =A0-ftree-loop-ivcanon -ftree-loop-linear -ftree-loop-optimize @gol > =A0-ftree-parallelize-loops=3D@var{n} -ftree-pre -ftree-pta -ftree-reasso= c @gol > =A0-ftree-sink -ftree-sra -ftree-switch-conversion @gol > @@ -6946,6 +6947,10 @@ ENDDO > =A0and the initialization loop is transformed into a call to memset zero. > =A0This 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. =A0This enables @option{-ftree-loop-distribute-memse= t-zero}. > + > =A0@item -ftree-loop-im > =A0@opindex ftree-loop-im > =A0Perform loop invariant motion on trees. =A0This pass moves only invari= ants 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) > =A0 =A0 =A0 /* If both flag_tree_loop_distribute_memset_zero and > =A0 =A0 =A0 =A0 flag_tree_loop_distribution are set, then only memset_zer= o is > =A0 =A0 =A0 =A0 executed. =A0*/ > - =A0 =A0 =A0if (flag_tree_loop_distribute_memset_zero) > + =A0 =A0 =A0if (flag_tree_loop_distribute_memset_zero > + =A0 =A0 =A0 =A0 || flag_tree_loop_distribute_patterns) > =A0 =A0 =A0 =A0{ > =A0 =A0 =A0 =A0 =A0/* With the following working list, we're asking > =A0 =A0 =A0 =A0 =A0 =A0 distribute_loop to separate from the rest of the = loop the > -- > 1.7.0.4 > >