summaryrefslogtreecommitdiffstats
path: root/llvm/lib/VMCore/Dominators.cpp
diff options
context:
space:
mode:
authorDevang Patel <dpatel@apple.com>2007-10-05 22:29:34 +0000
committerDevang Patel <dpatel@apple.com>2007-10-05 22:29:34 +0000
commita69f987b661fcd09dfce76b98e8eb6d3ef5e7660 (patch)
treeaffd9fd480a1358d435261c2fe5cb57b64c7f702 /llvm/lib/VMCore/Dominators.cpp
parentd3ccf00870355fdc82bf30ccd7f5d194d0591b72 (diff)
downloadbcm5719-llvm-a69f987b661fcd09dfce76b98e8eb6d3ef5e7660.tar.gz
bcm5719-llvm-a69f987b661fcd09dfce76b98e8eb6d3ef5e7660.zip
Fix bug in updating dominance frontier after loop
unswitch when frontier includes basic blocks that are not inside loop. llvm-svn: 42654
Diffstat (limited to 'llvm/lib/VMCore/Dominators.cpp')
-rw-r--r--llvm/lib/VMCore/Dominators.cpp7
1 files changed, 5 insertions, 2 deletions
diff --git a/llvm/lib/VMCore/Dominators.cpp b/llvm/lib/VMCore/Dominators.cpp
index 164fb64d0ec..4e728ac3d44 100644
--- a/llvm/lib/VMCore/Dominators.cpp
+++ b/llvm/lib/VMCore/Dominators.cpp
@@ -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);
}
OpenPOWER on IntegriCloud