summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--llvm/lib/Transforms/Utils/SimplifyCFG.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/llvm/lib/Transforms/Utils/SimplifyCFG.cpp b/llvm/lib/Transforms/Utils/SimplifyCFG.cpp
index 09153ed3bb0..a8785fe0a99 100644
--- a/llvm/lib/Transforms/Utils/SimplifyCFG.cpp
+++ b/llvm/lib/Transforms/Utils/SimplifyCFG.cpp
@@ -691,8 +691,9 @@ bool llvm::SimplifyCFG(BasicBlock *BB) {
}
} else if (SwitchInst *SI = dyn_cast<SwitchInst>(BB->begin())) {
- if (FoldValueComparisonIntoPredecessors(SI))
- return SimplifyCFG(BB) || 1;
+ if (isValueEqualityComparison(SI))
+ if (FoldValueComparisonIntoPredecessors(SI))
+ return SimplifyCFG(BB) || 1;
} else if (BranchInst *BI = dyn_cast<BranchInst>(BB->getTerminator())) {
if (Value *CompVal = isValueEqualityComparison(BB->getTerminator())) {
// This block must be empty, except for the setcond inst, if it exists.
OpenPOWER on IntegriCloud