[PATCH] D92486: Set option default for enabling memory ssa for loop sink pass to true.
Nikita Popov via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Dec 2 09:51:29 PST 2020
nikic added a comment.
In D92486#2428865 <https://reviews.llvm.org/D92486#2428865>, @fhahn wrote:
> In D92486#2428821 <https://reviews.llvm.org/D92486#2428821>, @nikic wrote:
>
>> Compile-time: https://llvm-compile-time-tracker.com/compare.php?from=54eab293f523956bdc4b1a98b6cf5abc0bd1ef3f&to=b023c8adc9eb545ec5b8aa1a8d6f77a46d622006&stat=instructions
>>
>> The problem here is that LoopSink is only relevant for PGO, but MemorySSA gets computed unconditionally in the legacy PM. This problem does not affect the new pass manager, where it's possible to compute MemorySSA only if useful. Supporting this properly in LegacyPM would require something like LazyMemorySSA.
>>
>> I think in this instance it might be best to do this change only for NewPM. It's best to keep both pass managers in sync, but here there is a technical reason for different treatment.
>
> Perhaps it would also be possible to directly construct MemorySSA in the pass, if PGO is enabled with the legacy PM?
I think that would require constructing MemorySSA anew for each loop. I'm not really familiar with pass manager limitations though, maybe this is not the case.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D92486/new/
https://reviews.llvm.org/D92486
More information about the llvm-commits
mailing list