Fix bug in updating dominance frontier after loop
[oota-llvm.git] / lib / VMCore / Dominators.cpp
index 164fb64d0ec3704e94d61dfbc2c9c84cd99092ee..4e728ac3d444eabf54458f53c79265c4215b5b77 100644 (file)
@@ -422,8 +422,11 @@ void DominanceFrontier::splitBlock(BasicBlock *NewBB) {
       }
 
       if (NewBBI != end()) {
-        DominanceFrontier::DomSetType NewBBSet = NewBBI->second;
-        NewBBSet.insert(Set.begin(), Set.end());
+        for (DominanceFrontier::DomSetType::iterator SetI = Set.begin(),
+               E = Set.end(); SetI != E; ++SetI) {
+          BasicBlock *SB = *SetI;
+          addToFrontier(NewBBI, SB);
+        }
       } else 
         addBasicBlock(NewBB, Set);
     }