aboutsummaryrefslogtreecommitdiff
path: root/lib/Transforms/Utils/SimplifyCFG.cpp
diff options
context:
space:
mode:
authorDale Johannesen <dalej@apple.com>2009-03-12 23:18:09 +0000
committerDale Johannesen <dalej@apple.com>2009-03-12 23:18:09 +0000
commit8483e54837ede5dd40c5561f15c6a663e2bee87c (patch)
treeaf0e65b053098a164e55718570db27cec374632d /lib/Transforms/Utils/SimplifyCFG.cpp
parent7e07c00120d9609a4adbfd3e327f743d629aaf37 (diff)
Previous debug info fix to this code wasn't quite
right; did the wrong thing when there are exactly 11 non-debug instructions, followed by debug info. Remove a FIXME since it's apparently been fixed along the way. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66840 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Transforms/Utils/SimplifyCFG.cpp')
-rw-r--r--lib/Transforms/Utils/SimplifyCFG.cpp9
1 files changed, 4 insertions, 5 deletions
diff --git a/lib/Transforms/Utils/SimplifyCFG.cpp b/lib/Transforms/Utils/SimplifyCFG.cpp
index 637fab0bf0..b8bac6da2f 100644
--- a/lib/Transforms/Utils/SimplifyCFG.cpp
+++ b/lib/Transforms/Utils/SimplifyCFG.cpp
@@ -1122,14 +1122,13 @@ static bool BlockIsSimpleEnoughToThreadThrough(BasicBlock *BB) {
BranchInst *BI = cast<BranchInst>(BB->getTerminator());
unsigned Size = 0;
- // If this basic block contains anything other than a PHI (which controls the
- // branch) and branch itself, bail out. FIXME: improve this in the future.
for (BasicBlock::iterator BBI = BB->begin(); &*BBI != BI; ++BBI) {
+ if (isa<DbgInfoIntrinsic>(BBI))
+ continue;
if (Size > 10) return false; // Don't clone large BB's.
- if (!isa<DbgInfoIntrinsic>(BBI))
- ++Size;
+ ++Size;
- // We can only support instructions that are do not define values that are
+ // We can only support instructions that do not define values that are
// live outside of the current basic block.
for (Value::use_iterator UI = BBI->use_begin(), E = BBI->use_end();
UI != E; ++UI) {