diff options
Diffstat (limited to 'llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp')
| -rw-r--r-- | llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp | 4 |
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); |

