diff options
author | Tobias Grosser <grosser@fim.uni-passau.de> | 2010-10-13 11:02:44 +0000 |
---|---|---|
committer | Tobias Grosser <grosser@fim.uni-passau.de> | 2010-10-13 11:02:44 +0000 |
commit | 4b0986b6c171390559c618da6d40dad14040d637 (patch) | |
tree | 61938d6437429099c3357c19edff09e8cc4b2aab /llvm/lib/Analysis/RegionInfo.cpp | |
parent | dd0821e7ff2b7685489b22fd0cd81a5c168e9b61 (diff) | |
download | llvm-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.cpp | 6 |
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(); } |