diff options
| author | Alina Sbirlea <asbirlea@google.com> | 2019-08-17 01:02:12 +0000 |
|---|---|---|
| committer | Alina Sbirlea <asbirlea@google.com> | 2019-08-17 01:02:12 +0000 |
| commit | f92109dc01b831304bedc990c41d8ea4bfd0a277 (patch) | |
| tree | a12698af0bdebeeff1feb60961f931868fe7ca32 /llvm/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp | |
| parent | edf504f5038b573a3e2f0eedfa7de69ec0ab9e7f (diff) | |
| download | bcm5719-llvm-f92109dc01b831304bedc990c41d8ea4bfd0a277.tar.gz bcm5719-llvm-f92109dc01b831304bedc990c41d8ea4bfd0a277.zip | |
[MemorySSA] Loop passes should mark MSSA preserved when available.
This patch applies only to the new pass manager.
Currently, when MSSA Analysis is available, and pass to each loop pass, it will be preserved by that loop pass.
Hence, mark the analysis preserved based on that condition, vs the current `EnableMSSALoopDependency`. This leaves the global flag to affect only the entry point in the loop pass manager (in FunctionToLoopPassAdaptor).
llvm-svn: 369181
Diffstat (limited to 'llvm/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp')
| -rw-r--r-- | llvm/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/llvm/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp b/llvm/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp index aeac6f548b3..4e7abfc5bda 100644 --- a/llvm/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp +++ b/llvm/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp @@ -2880,7 +2880,7 @@ PreservedAnalyses SimpleLoopUnswitchPass::run(Loop &L, LoopAnalysisManager &AM, assert(AR.DT.verify(DominatorTree::VerificationLevel::Fast)); auto PA = getLoopPassPreservedAnalyses(); - if (EnableMSSALoopDependency) + if (AR.MSSA) PA.preserve<MemorySSAAnalysis>(); return PA; } |

