summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Transforms/Utils/SimplifyCFG.cpp
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2010-12-13 01:28:06 +0000
committerChris Lattner <sabre@nondot.org>2010-12-13 01:28:06 +0000
commit7cb7867d7ad122d7451406222a73b30eb083024b (patch)
tree16cea382b5c2f5545d76b7a804429c04f20ce933 /llvm/lib/Transforms/Utils/SimplifyCFG.cpp
parent481144790c47ee5c6be12446f6aa1f010128bb80 (diff)
downloadbcm5719-llvm-7cb7867d7ad122d7451406222a73b30eb083024b.tar.gz
bcm5719-llvm-7cb7867d7ad122d7451406222a73b30eb083024b.zip
use getFirstNonPHIOrDbg to simplify this code.
llvm-svn: 121664
Diffstat (limited to 'llvm/lib/Transforms/Utils/SimplifyCFG.cpp')
-rw-r--r--llvm/lib/Transforms/Utils/SimplifyCFG.cpp14
1 files changed, 5 insertions, 9 deletions
diff --git a/llvm/lib/Transforms/Utils/SimplifyCFG.cpp b/llvm/lib/Transforms/Utils/SimplifyCFG.cpp
index 8e3ca419af8..0e6ab1354e3 100644
--- a/llvm/lib/Transforms/Utils/SimplifyCFG.cpp
+++ b/llvm/lib/Transforms/Utils/SimplifyCFG.cpp
@@ -1940,15 +1940,11 @@ bool SimplifyCFGOpt::run(BasicBlock *BB) {
}
} else if (BranchInst *BI = dyn_cast<BranchInst>(BB->getTerminator())) {
if (BI->isUnconditional()) {
- BasicBlock::iterator BBI = BB->getFirstNonPHI();
-
- // Ignore dbg intrinsics.
- while (isa<DbgInfoIntrinsic>(BBI))
- ++BBI;
- if (BBI->isTerminator()) // Terminator is the only non-phi instruction!
- if (BB != &Fn->getEntryBlock())
- if (TryToSimplifyUncondBranchFromEmptyBlock(BB))
- return true;
+ // If the Terminator is the only non-phi instruction, simplify the block.
+ Instruction *I = BB->getFirstNonPHIOrDbg();
+ if (I->isTerminator() && BB != &Fn->getEntryBlock() &&
+ TryToSimplifyUncondBranchFromEmptyBlock(BB))
+ return true;
} else { // Conditional branch
if (isValueEqualityComparison(BI)) {
OpenPOWER on IntegriCloud