[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