summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Transforms/Utils/SimplifyCFG.cpp
diff options
context:
space:
mode:
authorZhou Sheng <zhousheng00@gmail.com>2009-02-25 15:34:27 +0000
committerZhou Sheng <zhousheng00@gmail.com>2009-02-25 15:34:27 +0000
commit5d9cc1763beba95d3c8328ebac791513a3857fb2 (patch)
treea1b14da2844f0c8357db4e4f22d35100f5bb0686 /llvm/lib/Transforms/Utils/SimplifyCFG.cpp
parentdd4ddf13a6eb34e95551f44f8e637683b30e90d0 (diff)
downloadbcm5719-llvm-5d9cc1763beba95d3c8328ebac791513a3857fb2.tar.gz
bcm5719-llvm-5d9cc1763beba95d3c8328ebac791513a3857fb2.zip
Don't block basic block with only SwitchInst to fold into predecessors.
llvm-svn: 65456
Diffstat (limited to 'llvm/lib/Transforms/Utils/SimplifyCFG.cpp')
-rw-r--r--llvm/lib/Transforms/Utils/SimplifyCFG.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/llvm/lib/Transforms/Utils/SimplifyCFG.cpp b/llvm/lib/Transforms/Utils/SimplifyCFG.cpp
index 6c14a643e81..08c8a3f65e5 100644
--- a/llvm/lib/Transforms/Utils/SimplifyCFG.cpp
+++ b/llvm/lib/Transforms/Utils/SimplifyCFG.cpp
@@ -1887,7 +1887,11 @@ bool llvm::SimplifyCFG(BasicBlock *BB) {
// If the block only contains the switch, see if we can fold the block
// away into any preds.
- if (SI == &BB->front())
+ BasicBlock::iterator BBI = BB->begin();
+ // Ignore dbg intrinsics.
+ while (isa<DbgInfoIntrinsic>(BBI))
+ ++BBI;
+ if (SI == &*BBI)
if (FoldValueComparisonIntoPredecessors(SI))
return SimplifyCFG(BB) || 1;
}
OpenPOWER on IntegriCloud