[PATCH][AArch64] Use new target pass registration framework for FMA steering pass

Kyrill Tkachov kyrylo.tkachov@foss.arm.com
Thu Oct 13 17:14:00 GMT 2016


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?

Thanks,
Kyrill

[1] https://gcc.gnu.org/ml/gcc-patches/2016-10/msg00615.html

2016-10-13  Kyrylo Tkachov  <kyrylo.tkachov@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.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: aarch64-pass.patch
Type: text/x-patch
Size: 4449 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20161013/17787215/attachment.bin>


More information about the Gcc-patches mailing list