On Thu, Oct 13, 2016 at 06:14:16PM +0100, Kyrill Tkachov wrote: > Hi all, > > This patch moves the aarch64-specific FMA steering pass registration into the > new framework > that Jakub introduced. With this patch the RTL dump for the steering pass is > now numbered properly > so that it appears after the regrename pass, rather than getting a dump > number that puts it after > all the other passes. > > I've followed a similar approach to [1] and added an aarch64-passes.def file > and updated > PASSES_EXTRA in t-aarch64. I deleted cortex-a57-fma-steering.h as I don't > think it adds any value. > The prototype for the make_pass* function works just as well in > aarch64-protos.h I think. > > Bootstrapped and tested on aarch64-none-linux-gnu. > Manually checked that the pass still runs when tuning for Cortex-A57 and > doesn't run otherwise. > > Ok for trunk?
OK, a comment on git diffs below that doesn't change the patch content. > [1] https://gcc.gnu.org/ml/gcc-patches/2016-10/msg00615.html > > 2016-10-13 Kyrylo Tkachov <kyrylo.tkac...@arm.com> > > * config/aarch64/aarch64.c: Delete inclusion of > cortex-a57-fma-steering.h. > (aarch64_override_options): Delete call > to aarch64_register_fma_steering. > * config/aarch64/aarch64-protos.h (make_pass_fma_steering): Declare. > * config/aarch64/cortex-a57-fma-steering.h: Delete. > * config/aarch64/aarch64-passes.def: New file. > * config/aarch64/cortex-a57-fma-steering.c > (aarch64_register_fma_steering): Delete definition. > (make_pass_fma_steering): Remove static qualifier. > * config/aarch64/t-aarch64 (PASSES_EXTRA): New directive. > (cortex-a57-fma-steering.o): Remove dependency on > cortex-a57-fma-steering.h. > diff --git a/gcc/config/aarch64/cortex-a57-fma-steering.h > b/gcc/config/aarch64/aarch64-passes.def > similarity index 78% > rename from gcc/config/aarch64/cortex-a57-fma-steering.h > rename to gcc/config/aarch64/aarch64-passes.def > index > 65bf5acc132d2db645d1b00ef031dc33a195bb78..7fe80391a3fb0dc79715b9fb23fd4c08a9d26d74 > 100644 > --- a/gcc/config/aarch64/cortex-a57-fma-steering.h > +++ b/gcc/config/aarch64/aarch64-passes.def > @@ -1,6 +1,5 @@ > -/* This file contains declarations for the FMA steering optimization > - pass for Cortex-A57. > - Copyright (C) 2015-2016 Free Software Foundation, Inc. > +/* AArch64-specific passes declarations. > + Copyright (C) 2016 Free Software Foundation, Inc. > Contributed by ARM Ltd. > > This file is part of GCC. > @@ -19,4 +18,4 @@ > along with GCC; see the file COPYING3. If not see > <http://www.gnu.org/licenses/>. */ > > -void aarch64_register_fma_steering (void); > +INSERT_PASS_AFTER (pass_regrename, 1, pass_fma_steering); A technicality on your git diff format, this should not be a rename. Just make sure when you apply it to svn you accurately record a delete of the old file, and creation of the new file. Thanks, James