[aarch64] disable shrink wrapping when tracking speculative execution

Richard Earnshaw (lists) Richard.Earnshaw@arm.com
Fri Nov 2 14:04:00 GMT 2018


On 02/11/2018 13:53, Richard Biener wrote:
> 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?
> 

do what per function?  track speculation?

R.

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



More information about the Gcc-patches mailing list