[LoopPassManager] MemorySSA should be preserved when enabled.
authorAlina Sbirlea <asbirlea@google.com>
Thu, 6 Sep 2018 20:54:24 +0000 (20:54 +0000)
committerAlina Sbirlea <asbirlea@google.com>
Thu, 6 Sep 2018 20:54:24 +0000 (20:54 +0000)
llvm-svn: 341587

llvm/include/llvm/Transforms/Scalar/LoopPassManager.h
llvm/lib/Analysis/LoopAnalysisManager.cpp

index 5f61c39..0d691f3 100644 (file)
@@ -364,8 +364,8 @@ public:
     PA.preserve<DominatorTreeAnalysis>();
     PA.preserve<LoopAnalysis>();
     PA.preserve<ScalarEvolutionAnalysis>();
-    // FIXME: Uncomment this when all loop passes preserve MemorySSA
-    // PA.preserve<MemorySSAAnalysis>();
+    if (EnableMSSALoopDependency)
+      PA.preserve<MemorySSAAnalysis>();
     // FIXME: What we really want to do here is preserve an AA category, but
     // that concept doesn't exist yet.
     PA.preserve<AAManager>();
index 074023a..2a3b29d 100644 (file)
@@ -147,8 +147,8 @@ PreservedAnalyses llvm::getLoopPassPreservedAnalyses() {
   PA.preserve<LoopAnalysis>();
   PA.preserve<LoopAnalysisManagerFunctionProxy>();
   PA.preserve<ScalarEvolutionAnalysis>();
-  // FIXME: Uncomment this when all loop passes preserve MemorySSA
-  // PA.preserve<MemorySSAAnalysis>();
+  if (EnableMSSALoopDependency)
+    PA.preserve<MemorySSAAnalysis>();
   // FIXME: What we really want to do here is preserve an AA category, but that
   // concept doesn't exist yet.
   PA.preserve<AAManager>();