[llvm] db43dd7 - LAA: simplify LoopAccessInfoManager::clear (NFC) (#125488)

via llvm-commits llvm-commits at lists.llvm.org
Mon Feb 3 08:06:24 PST 2025


Author: Ramkumar Ramachandra
Date: 2025-02-03T16:06:21Z
New Revision: db43dd7f4fb60641911ffd6364c33e1f83c44b7f

URL: https://github.com/llvm/llvm-project/commit/db43dd7f4fb60641911ffd6364c33e1f83c44b7f
DIFF: https://github.com/llvm/llvm-project/commit/db43dd7f4fb60641911ffd6364c33e1f83c44b7f.diff

LOG: LAA: simplify LoopAccessInfoManager::clear (NFC) (#125488)

DenseMap::erase() doesn't invalidate the iterator.

Added: 
    

Modified: 
    llvm/lib/Analysis/LoopAccessAnalysis.cpp

Removed: 
    


################################################################################
diff  --git a/llvm/lib/Analysis/LoopAccessAnalysis.cpp b/llvm/lib/Analysis/LoopAccessAnalysis.cpp
index ac8a35fbc54fb1d..3202ba81be78e1d 100644
--- a/llvm/lib/Analysis/LoopAccessAnalysis.cpp
+++ b/llvm/lib/Analysis/LoopAccessAnalysis.cpp
@@ -3078,7 +3078,6 @@ const LoopAccessInfo &LoopAccessInfoManager::getInfo(Loop &L) {
   return *It->second;
 }
 void LoopAccessInfoManager::clear() {
-  SmallVector<Loop *> ToRemove;
   // Collect LoopAccessInfo entries that may keep references to IR outside the
   // analyzed loop or SCEVs that may have been modified or invalidated. At the
   // moment, that is loops requiring memory or SCEV runtime checks, as those cache
@@ -3087,11 +3086,8 @@ void LoopAccessInfoManager::clear() {
     if (LAI->getRuntimePointerChecking()->getChecks().empty() &&
         LAI->getPSE().getPredicate().isAlwaysTrue())
       continue;
-    ToRemove.push_back(L);
-  }
-
-  for (Loop *L : ToRemove)
     LoopAccessInfoMap.erase(L);
+  }
 }
 
 bool LoopAccessInfoManager::invalidate(


        


More information about the llvm-commits mailing list