Simplify for loop, clear a per-loop map after processing each loop
authorChris Lattner <sabre@nondot.org>
Tue, 2 Aug 2005 02:44:31 +0000 (02:44 +0000)
committerChris Lattner <sabre@nondot.org>
Tue, 2 Aug 2005 02:44:31 +0000 (02:44 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22580 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Transforms/Scalar/LoopStrengthReduce.cpp

index f3834158c1caa8398c166b7b5aa3e6a6392d8af5..a39ba6eda263b910fbe83e956cea78e7d16abffb 100644 (file)
@@ -632,7 +632,7 @@ void LoopStrengthReduce::runOnLoop(Loop *L) {
 
     BasicBlock::iterator I = L->getHeader()->begin();
     PHINode *PN;
-    for (; (PN = dyn_cast<PHINode>(I)); ) {
+    while ((PN = dyn_cast<PHINode>(I))) {
       ++I;  // Preincrement iterator to avoid invalidating it when deleting PN.
       
       // At this point, we know that we have killed one or more GEP instructions.
@@ -664,5 +664,6 @@ void LoopStrengthReduce::runOnLoop(Loop *L) {
   }
 
   IVUsesByStride.clear();
+  CastedBasePointers.clear();
   return;
 }