diff options
author | Nikita Popov <nikita.ppv@gmail.com> | 2021-08-14 17:55:08 +0200 |
---|---|---|
committer | Nikita Popov <nikita.ppv@gmail.com> | 2021-08-16 20:40:55 +0200 |
commit | 570c9beb8ebb4bdcc807101518cc36ad5e20797c (patch) | |
tree | efbb204855905ce964818761b82a525a8bee5c2f /llvm/lib/Transforms/Utils/LoopVersioning.cpp | |
parent | 0a031449b2c757400090b23bd6ddf4d896d32643 (diff) | |
download | llvm-570c9beb8ebb4bdcc807101518cc36ad5e20797c.zip llvm-570c9beb8ebb4bdcc807101518cc36ad5e20797c.tar.gz llvm-570c9beb8ebb4bdcc807101518cc36ad5e20797c.tar.bz2 |
[MemorySSA] Remove unnecessary MSSA dependencies
LoopLoadElimination, LoopVersioning and LoopVectorize currently
fetch MemorySSA when construction LoopAccessAnalysis. However,
LoopAccessAnalysis does not actually use MemorySSA and we can pass
nullptr instead.
This saves one MemorySSA calculation in the default pipeline, and
thus improves compile-time.
Differential Revision: https://reviews.llvm.org/D108074
Diffstat (limited to 'llvm/lib/Transforms/Utils/LoopVersioning.cpp')
-rw-r--r-- | llvm/lib/Transforms/Utils/LoopVersioning.cpp | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/llvm/lib/Transforms/Utils/LoopVersioning.cpp b/llvm/lib/Transforms/Utils/LoopVersioning.cpp index 8a89158..1443979 100644 --- a/llvm/lib/Transforms/Utils/LoopVersioning.cpp +++ b/llvm/lib/Transforms/Utils/LoopVersioning.cpp @@ -14,9 +14,9 @@ #include "llvm/Transforms/Utils/LoopVersioning.h" #include "llvm/ADT/ArrayRef.h" +#include "llvm/Analysis/AliasAnalysis.h" #include "llvm/Analysis/LoopAccessAnalysis.h" #include "llvm/Analysis/LoopInfo.h" -#include "llvm/Analysis/MemorySSA.h" #include "llvm/Analysis/ScalarEvolution.h" #include "llvm/Analysis/TargetLibraryInfo.h" #include "llvm/IR/Dominators.h" @@ -354,14 +354,11 @@ PreservedAnalyses LoopVersioningPass::run(Function &F, auto &TLI = AM.getResult<TargetLibraryAnalysis>(F); auto &AA = AM.getResult<AAManager>(F); auto &AC = AM.getResult<AssumptionAnalysis>(F); - MemorySSA *MSSA = EnableMSSALoopDependency - ? &AM.getResult<MemorySSAAnalysis>(F).getMSSA() - : nullptr; auto &LAM = AM.getResult<LoopAnalysisManagerFunctionProxy>(F).getManager(); auto GetLAA = [&](Loop &L) -> const LoopAccessInfo & { LoopStandardAnalysisResults AR = {AA, AC, DT, LI, SE, - TLI, TTI, nullptr, MSSA}; + TLI, TTI, nullptr, nullptr}; return LAM.getResult<LoopAccessAnalysis>(L, AR); }; |