summaryrefslogtreecommitdiffstats
path: root/llvm/lib
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/lib')
-rw-r--r--llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp b/llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
index b02865c1290..96b8b4ffac6 100644
--- a/llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
+++ b/llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
@@ -1555,8 +1555,8 @@ Instruction *InstCombiner::visitSelectInst(SelectInst &SI) {
// MAX(~a, ~b) -> ~MIN(a, b)
// MIN(~a, ~b) -> ~MAX(a, b)
Value *A, *B;
- if (match(LHS, m_Not(m_Value(A))) && LHS->getNumUses() <= 2 &&
- match(RHS, m_Not(m_Value(B))) && RHS->getNumUses() <= 2) {
+ if (match(LHS, m_Not(m_Value(A))) && match(RHS, m_Not(m_Value(B))) &&
+ (LHS->getNumUses() <= 2 || RHS->getNumUses() <= 2)) {
CmpInst::Predicate InvertedPred =
getCmpPredicateForMinMax(getInverseMinMaxSelectPattern(SPF));
Value *InvertedCmp = Builder.CreateICmp(InvertedPred, A, B);
OpenPOWER on IntegriCloud