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? Richard. > * config/aarch64/aarch64.c (aarch64_override_options): Disable > shrink-wrapping when -mtrack-speculation. > > Committed.