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

Reply via email to