On Fri, Nov 2, 2018 at 3:04 PM Richard Earnshaw (lists)
<richard.earns...@arm.com> wrote:
>
> On 02/11/2018 13:53, Richard Biener wrote:
> > On Fri, Nov 2, 2018 at 2:38 PM Richard Earnshaw (lists)
> > <richard.earns...@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?
> >
>
> do what per function?  track speculation?

disable shrink-wrapping only when any speculation was there
(this is about __bultin_speculation_safe_value, no?)

Richard.

> R.
>
> > Richard.
> >
> >>         * config/aarch64/aarch64.c (aarch64_override_options): Disable
> >>         shrink-wrapping when -mtrack-speculation.
> >>
> >> Committed.
>

Reply via email to