This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [aarch64] disable shrink wrapping when tracking speculative execution
- From: Richard Biener <richard dot guenther at gmail dot com>
- To: Richard Earnshaw <Richard dot Earnshaw at arm dot com>
- Cc: GCC Patches <gcc-patches at gcc dot gnu dot org>
- Date: Fri, 2 Nov 2018 14:53:20 +0100
- Subject: Re: [aarch64] disable shrink wrapping when tracking speculative execution
- References: <5198b7ac-afa0-193f-6c2c-47feacc91cf2@arm.com>
On Fri, Nov 2, 2018 at 2:38 PM Richard Earnshaw (lists)
<Richard.Earnshaw@arm.com> wrote:
>
> Although there's no fundamental reason why shrink wrapping and
> speculation tracking are incompatible, a phase-ordering requirement (we
> need to do speculation tracking before the final basic block clean-up)
> means that the shrink wrapping pass can undo some of the changes the
> speculation tracking pass makes. The result is that the tracking, while
> still safe is less comprehensive than we really want.
>
> So to keep things simple, and because the tracking code is quite
> expensive anyway, it seems best to just disable that pass when we are
> tracking speculative execution.
Shouldn't you be able to do this per function at least?
Richard.
> * config/aarch64/aarch64.c (aarch64_override_options): Disable
> shrink-wrapping when -mtrack-speculation.
>
> Committed.