[llvm] r275335 - [LAA] Don't hold on to DominatorTree in the analysis result

Adam Nemet via llvm-commits llvm-commits at lists.llvm.org
Wed Jul 13 15:36:35 PDT 2016


Author: anemet
Date: Wed Jul 13 17:36:35 2016
New Revision: 275335

URL: http://llvm.org/viewvc/llvm-project?rev=275335&view=rev
Log:
[LAA] Don't hold on to DominatorTree in the analysis result

Modified:
    llvm/trunk/include/llvm/Analysis/LoopAccessAnalysis.h
    llvm/trunk/lib/Analysis/LoopAccessAnalysis.cpp

Modified: llvm/trunk/include/llvm/Analysis/LoopAccessAnalysis.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/Analysis/LoopAccessAnalysis.h?rev=275335&r1=275334&r2=275335&view=diff
==============================================================================
--- llvm/trunk/include/llvm/Analysis/LoopAccessAnalysis.h (original)
+++ llvm/trunk/include/llvm/Analysis/LoopAccessAnalysis.h Wed Jul 13 17:36:35 2016
@@ -520,7 +520,7 @@ public:
   // LoopAccessInfo(LoopAccessInfo &&LAI) = default;
   LoopAccessInfo(LoopAccessInfo &&LAI)
       : PSE(std::move(LAI.PSE)), PtrRtChecking(std::move(LAI.PtrRtChecking)),
-        DepChecker(std::move(LAI.DepChecker)), TheLoop(LAI.TheLoop), DT(LAI.DT),
+        DepChecker(std::move(LAI.DepChecker)), TheLoop(LAI.TheLoop),
         NumLoads(LAI.NumLoads), NumStores(LAI.NumStores),
         MaxSafeDepDistBytes(LAI.MaxSafeDepDistBytes), CanVecMem(LAI.CanVecMem),
         StoreToLoopInvariantAddress(LAI.StoreToLoopInvariantAddress),
@@ -535,7 +535,6 @@ public:
     PtrRtChecking = std::move(LAI.PtrRtChecking);
     DepChecker = std::move(LAI.DepChecker);
     TheLoop = LAI.TheLoop;
-    DT = LAI.DT;
     NumLoads = LAI.NumLoads;
     NumStores = LAI.NumStores;
     MaxSafeDepDistBytes = LAI.MaxSafeDepDistBytes;
@@ -633,7 +632,7 @@ public:
 private:
   /// \brief Analyze the loop.
   void analyzeLoop(AliasAnalysis *AA, LoopInfo *LI,
-                   const TargetLibraryInfo *TLI);
+                   const TargetLibraryInfo *TLI, DominatorTree *DT);
 
   /// \brief Check if the structure of the loop allows it to be analyzed by this
   /// pass.
@@ -658,7 +657,6 @@ private:
   std::unique_ptr<MemoryDepChecker> DepChecker;
 
   Loop *TheLoop;
-  DominatorTree *DT;
 
   unsigned NumLoads;
   unsigned NumStores;

Modified: llvm/trunk/lib/Analysis/LoopAccessAnalysis.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Analysis/LoopAccessAnalysis.cpp?rev=275335&r1=275334&r2=275335&view=diff
==============================================================================
--- llvm/trunk/lib/Analysis/LoopAccessAnalysis.cpp (original)
+++ llvm/trunk/lib/Analysis/LoopAccessAnalysis.cpp Wed Jul 13 17:36:35 2016
@@ -1506,7 +1506,8 @@ bool LoopAccessInfo::canAnalyzeLoop() {
 }
 
 void LoopAccessInfo::analyzeLoop(AliasAnalysis *AA, LoopInfo *LI,
-                                 const TargetLibraryInfo *TLI) {
+                                 const TargetLibraryInfo *TLI,
+                                 DominatorTree *DT) {
   typedef SmallPtrSet<Value*, 16> ValueSet;
 
   // Holds the Load and Store instructions.
@@ -1922,10 +1923,10 @@ LoopAccessInfo::LoopAccessInfo(Loop *L,
     : PSE(llvm::make_unique<PredicatedScalarEvolution>(*SE, *L)),
       PtrRtChecking(llvm::make_unique<RuntimePointerChecking>(SE)),
       DepChecker(llvm::make_unique<MemoryDepChecker>(*PSE, L)), TheLoop(L),
-      DT(DT), NumLoads(0), NumStores(0), MaxSafeDepDistBytes(-1),
-      CanVecMem(false), StoreToLoopInvariantAddress(false) {
+      NumLoads(0), NumStores(0), MaxSafeDepDistBytes(-1), CanVecMem(false),
+      StoreToLoopInvariantAddress(false) {
   if (canAnalyzeLoop())
-    analyzeLoop(AA, LI, TLI);
+    analyzeLoop(AA, LI, TLI, DT);
 }
 
 void LoopAccessInfo::print(raw_ostream &OS, unsigned Depth) const {




More information about the llvm-commits mailing list