[PATCH] D111032: Testing instcombine/licm pass order...

Nikita Popov via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Oct 5 01:04:52 PDT 2021


nikic added inline comments.


================
Comment at: llvm/lib/Passes/PassBuilderPipelines.cpp:561
+      LICMPass(PTO.LicmMssaOptCap, PTO.LicmMssaNoAccForPromotionCap),
+      /*UseMemorySSA=*/true, /*UseBlockFrequencyInfo=*/true));
   invokePeepholeEPCallbacks(FPM, Level);
----------------
asbirlea wrote:
> mnadeem wrote:
> > nikic wrote:
> > > This LICM run is currently placed to reuse the MSSA analysis computed for MemCpyOpt and DSE. While the LTO change looks reasonable to me, the compile-time impact of this move is unlikely to be worthwhile under global consideration.
> > Looking at the changes in `clang/test/CodeGen/thinlto-distributed-newpm.ll` it does not look like MemorySSA is being run again.
> > 
> > Does simplifycfg or instcombine invalidate the MSSA analysis?
> Neither simplifycfg nor instcombine updates MSSA.
With the new pass manager, the pipeline tests no longer tell you whether analyses are invalidated (because invalidation is conditional, and pipeline tests run on trivial code). Only way to tell is by checking which analyses are declared as preserved, or empirically by checking compile-time impact.


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D111032/new/

https://reviews.llvm.org/D111032



More information about the llvm-commits mailing list