[aarch64] disable shrink wrapping when tracking speculative execution

Richard Biener richard.guenther@gmail.com
Fri Nov 2 13:53:00 GMT 2018


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.



More information about the Gcc-patches mailing list