[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