[llvm-commits] CVS: llvm/lib/Analysis/LoopInfo.cpp

Chris Lattner lattner at cs.uiuc.edu
Sun Apr 18 01:55:17 PDT 2004


Changes in directory llvm/lib/Analysis:

LoopInfo.cpp updated: 1.50 -> 1.51

---
Log message:

Implement method


---
Diffs of the changes:  (+12 -0)

Index: llvm/lib/Analysis/LoopInfo.cpp
diff -u llvm/lib/Analysis/LoopInfo.cpp:1.50 llvm/lib/Analysis/LoopInfo.cpp:1.51
--- llvm/lib/Analysis/LoopInfo.cpp:1.50	Sun Apr 18 00:38:05 2004
+++ llvm/lib/Analysis/LoopInfo.cpp	Sun Apr 18 01:54:48 2004
@@ -326,6 +326,18 @@
   return L;
 }
 
+/// removeBlock - This method completely removes BB from all data structures,
+/// including all of the Loop objects it is nested in and our mapping from
+/// BasicBlocks to loops.
+void LoopInfo::removeBlock(BasicBlock *BB) {
+  std::map<BasicBlock *, Loop*>::iterator I = BBMap.find(BB);
+  if (I != BBMap.end()) {
+    for (Loop *L = I->second; L; L = L->getParentLoop())
+      L->removeBlockFromLoop(BB);
+    
+    BBMap.erase(I);
+  }
+}
 
 
 //===----------------------------------------------------------------------===//





More information about the llvm-commits mailing list