This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [Patch AArch64 4/4] Add -moverride tuning command, and wire it up for control of fusion and fma-steering


On 23 June 2015 at 09:49, James Greenhalgh <james.greenhalgh@arm.com> wrote:
>
> Hi,
>
> This final patch adds support for the new command line option
> "-moverride". The purpose of this command line is to allow expert-level users
> of the compiler, and those comfortable with experimenting with the compiler,
> *unsupported* full access to the tuning structures used in the AArch64
> back-end.
>
> For now, we only enable command-line access to the fusion pairs to
> enable and whether or not to use the Cortex-A57 FMA register renaming
> pass. Though in future we can expand this further.
>
> With this patch, you might write something like:
>
>   -moverride=fuse=adrp+add.cmp+branch:tune=rename_fma_regs
>
> To enable fusion of adrp+add and cmp+branch and to enable the
> fma-rename pass.
>
> I've bootstrapped and tested the patch set on aarch64-none-linux-gnu
> with BOOT_CFLAGS set to the example string above, and again in the
> standard configuration with no issues.
>
> OK?
>
> Thanks,
> James
>
> ---
> 2015-06-23  James Greenhalgh  <james.greenhalgh@arm.com>
>
>         * config/aarch64/aarch64.opt: (override): New.
>         * doc/invoke.texi (override): Document.
>         * config/aarch64/aarch64.c (aarch64_flag_desc): New
>         (aarch64_fusible_pairs): Likewise.
>         (aarch64_tuning_flags): Likewise.
>         (aarch64_tuning_override_function): Likewise.
>         (aarch64_tuning_override_functions): Likewise.
>         (aarch64_parse_one_option_token): Likewise.
>         (aarch64_parse_boolean_options): Likewise.
>         (aarch64_parse_fuse_string): Likewise.
>         (aarch64_parse_tune_string): Likewise.
>         (aarch64_parse_one_override_token): Likewise.
>         (aarch64_parse_override_string): Likewise.
>         (aarch64_override_options): Parse the -override string if it
>         is present.
>

+static const struct aarch64_tuning_override_function
+  aarch64_tuning_override_functions[] =

The indentation looks odd here, but otherwise OK /Marcus


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]