diff options
author | Devang Patel <dpatel@apple.com> | 2007-10-05 22:29:34 +0000 |
---|---|---|
committer | Devang Patel <dpatel@apple.com> | 2007-10-05 22:29:34 +0000 |
commit | a69f987b661fcd09dfce76b98e8eb6d3ef5e7660 (patch) | |
tree | affd9fd480a1358d435261c2fe5cb57b64c7f702 /llvm/lib/VMCore/Dominators.cpp | |
parent | d3ccf00870355fdc82bf30ccd7f5d194d0591b72 (diff) | |
download | bcm5719-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.cpp | 7 |
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); } |