[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