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  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.
>  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
> (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
> diff --git a/gcc/config/aarch64/cortex-a57-fma-steering.h
> similarity index 78%
> rename from gcc/config/aarch64/cortex-a57-fma-steering.h
> rename to gcc/config/aarch64/aarch64-passes.def
> --- 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.