[PATCH] D60832: [MemorySSA] LCSSA preserves MemorySSA.

Chandler Carruth via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Apr 18 16:39:18 PDT 2019


chandlerc requested changes to this revision.
chandlerc added a comment.
This revision now requires changes to proceed.

Mostly questions around the AA manager preservation, see inline.



================
Comment at: include/llvm/Analysis/LoopAnalysisManager.h:64-66
-/// Enables memory ssa as a dependency for loop passes.
-extern cl::opt<bool> EnableMSSALoopDependency;
-
----------------
You should move the definition as well as the declaration.

It does make sense to me to put this in MemorySSA.cpp itself -- its something a bunch of users of it need to coordinate about, including the loop analysis manager.


================
Comment at: lib/Transforms/Utils/LCSSA.cpp:490-491
   PA.preserve<ScalarEvolutionAnalysis>();
+  // In the new pass manager, LCSSA must mark the AAManager as preserved too, in
+  // order to correctly preserve MemorySSA.
+  PA.preserve<MemorySSAAnalysis>();
----------------
Should the AA manager just preserve itself instead so that this isn't so confusing for users?


Repository:
  rL LLVM

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

https://reviews.llvm.org/D60832





More information about the llvm-commits mailing list