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
Hi Richard,
On Mon, Nov 05, 2018 at 10:09:30AM +0000, Richard Earnshaw (lists) wrote:
> >>> Shouldn't you be able to do this per function at least?
> >>
> >> do what per function? track speculation?
> >
> > disable shrink-wrapping only when any speculation was there
> > (this is about __bultin_speculation_safe_value, no?)
>
> Only indirectly. This is about the tracking code that tracks
> conditional branches and propagates that information through call/return
> sequences. Shrink wrapping messes with the prologue/epilogue sequences
> after the speculation tracking pass has run and unknowingly deletes some
> of the additional code that was previously inserted by the tracking pass.
Do you have an example of this? Shrink-wrapping does not generally
delete any code.
Segher