aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Analysis/RegionInfo.cpp
diff options
context:
space:
mode:
authorTobias Grosser <grosser@fim.uni-passau.de>2010-10-13 11:02:44 +0000
committerTobias Grosser <grosser@fim.uni-passau.de>2010-10-13 11:02:44 +0000
commit4b0986b6c171390559c618da6d40dad14040d637 (patch)
tree61938d6437429099c3357c19edff09e8cc4b2aab /llvm/lib/Analysis/RegionInfo.cpp
parentdd0821e7ff2b7685489b22fd0cd81a5c168e9b61 (diff)
downloadllvm-4b0986b6c171390559c618da6d40dad14040d637.zip
llvm-4b0986b6c171390559c618da6d40dad14040d637.tar.gz
llvm-4b0986b6c171390559c618da6d40dad14040d637.tar.bz2
Add Region::isTopLevelRegion().
llvm-svn: 116402
Diffstat (limited to 'llvm/lib/Analysis/RegionInfo.cpp')
-rw-r--r--llvm/lib/Analysis/RegionInfo.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/llvm/lib/Analysis/RegionInfo.cpp b/llvm/lib/Analysis/RegionInfo.cpp
index 9d84f55..d26135c 100644
--- a/llvm/lib/Analysis/RegionInfo.cpp
+++ b/llvm/lib/Analysis/RegionInfo.cpp
@@ -140,8 +140,7 @@ bool Region::isSimple() const {
BasicBlock *entry = getEntry(), *exit = getExit();
- // TopLevelRegion
- if (!exit)
+ if (isTopLevelRegion())
return false;
for (pred_iterator PI = pred_begin(entry), PE = pred_end(entry); PI != PE;
@@ -810,9 +809,10 @@ RegionInfo::getCommonRegion(SmallVectorImpl<BasicBlock*> &BBs) const {
void RegionInfo::splitBlock(BasicBlock* NewBB, BasicBlock *OldBB)
{
Region *R = getRegionFor(OldBB);
+
setRegionFor(NewBB, R);
- while (R->getEntry() == OldBB && R->getParent()) {
+ while (R->getEntry() == OldBB && !R->isTopLevelRegion()) {
R->replaceEntry(NewBB);
R = R->getParent();
}