Lines Matching refs:Pred

53   CmpInst::Predicate Pred = getMinMaxPred(SPF);  in createMinMax()  local
54 assert(CmpInst::isIntPredicate(Pred) && "Expected integer predicate"); in createMinMax()
55 return Builder.CreateSelect(Builder.CreateICmp(Pred, A, B), A, B); in createMinMax()
66 CmpInst::Predicate Pred; in foldSelectBinOpIdentity() local
67 if (!match(Sel.getCondition(), m_Cmp(Pred, m_Value(X), m_Constant(C)))) in foldSelectBinOpIdentity()
71 if (ICmpInst::isEquality(Pred)) in foldSelectBinOpIdentity()
72 IsEq = Pred == ICmpInst::ICMP_EQ; in foldSelectBinOpIdentity()
73 else if (Pred == FCmpInst::FCMP_OEQ) in foldSelectBinOpIdentity()
75 else if (Pred == FCmpInst::FCMP_UNE) in foldSelectBinOpIdentity()
90 if (!IdC || !CmpInst::isFPPredicate(Pred)) in foldSelectBinOpIdentity()
140 ICmpInst::Predicate Pred = Cmp->getPredicate(); in foldSelectICmpAnd() local
141 if (ICmpInst::isEquality(Pred)) { in foldSelectICmpAnd()
152 Pred, V, AndMask)) { in foldSelectICmpAnd()
153 assert(ICmpInst::isEquality(Pred) && "Not equality test?"); in foldSelectICmpAnd()
182 if (Pred == ICmpInst::ICMP_EQ) { in foldSelectICmpAnd()
189 if (Pred == ICmpInst::ICMP_NE) { in foldSelectICmpAnd()
228 ShouldNotVal ^= Pred == ICmpInst::ICMP_NE; in foldSelectICmpAnd()
551 ICmpInst::Predicate Pred = IC->getPredicate(); in foldSelectICmpLshrAshr() local
559 if ((Pred != ICmpInst::ICMP_SGT || in foldSelectICmpLshrAshr()
562 (Pred != ICmpInst::ICMP_SLT || in foldSelectICmpLshrAshr()
568 if (Pred == ICmpInst::ICMP_SLT) in foldSelectICmpLshrAshr()
725 ICmpInst::Predicate Pred = ICI->getPredicate(); in canonicalizeSaturatedSubtract() local
726 if (!ICmpInst::isUnsigned(Pred)) in canonicalizeSaturatedSubtract()
731 Pred = ICmpInst::getInversePredicate(Pred); in canonicalizeSaturatedSubtract()
739 if (Pred == ICmpInst::ICMP_ULE || Pred == ICmpInst::ICMP_ULT) { in canonicalizeSaturatedSubtract()
742 Pred = ICmpInst::getSwappedPredicate(Pred); in canonicalizeSaturatedSubtract()
745 assert((Pred == ICmpInst::ICMP_UGE || Pred == ICmpInst::ICMP_UGT) && in canonicalizeSaturatedSubtract()
784 ICmpInst::Predicate Pred = Cmp->getPredicate(); in canonicalizeSaturatedAdd() local
787 if (Pred == ICmpInst::ICMP_ULT && in canonicalizeSaturatedAdd()
800 Pred = CmpInst::getInversePredicate(Pred); in canonicalizeSaturatedAdd()
806 if (Pred == ICmpInst::ICMP_UGT || Pred == ICmpInst::ICMP_UGE) { in canonicalizeSaturatedAdd()
808 Pred = CmpInst::getSwappedPredicate(Pred); in canonicalizeSaturatedAdd()
810 if (Pred != ICmpInst::ICMP_ULT && Pred != ICmpInst::ICMP_ULE) in canonicalizeSaturatedAdd()
835 if (Pred == ICmpInst::ICMP_ULT && in canonicalizeSaturatedAdd()
895 ICmpInst::Predicate Pred = ICI->getPredicate(); in foldSelectCttzCtlz() local
905 if (Pred == ICmpInst::ICMP_NE) in foldSelectCttzCtlz()
946 ICmpInst::Predicate Pred = Cmp.getPredicate(); in adjustMinMax() local
965 if (Pred == ICmpInst::ICMP_UGT || Pred == ICmpInst::ICMP_SGT) in adjustMinMax()
967 else if (Pred == ICmpInst::ICMP_ULT || Pred == ICmpInst::ICMP_SLT) in adjustMinMax()
1018 Pred = ICmpInst::getSwappedPredicate(Pred); in adjustMinMax()
1021 Cmp.setPredicate(Pred); in adjustMinMax()
1372 ICmpInst::Predicate Pred; in tryToReuseConstantFromSelectInComparison() local
1376 Pred, m_Value(X), in tryToReuseConstantFromSelectInComparison()
1381 if (ICmpInst::isEquality(Pred)) in tryToReuseConstantFromSelectInComparison()
1386 if (!InstCombiner::isCanonicalPredicate(Pred)) in tryToReuseConstantFromSelectInComparison()
1415 InstCombiner::getFlippedStrictnessPredicateAndConstant(Pred, C0); in tryToReuseConstantFromSelectInComparison()
1427 Pred = ICmpInst::getSwappedPredicate(Pred); // Yes, swapped. in tryToReuseConstantFromSelectInComparison()
1428 Value *NewCmp = IC.Builder.CreateICmp(Pred, X, FlippedStrictness->second, in tryToReuseConstantFromSelectInComparison()
1464 ICmpInst::Predicate Pred = ICI->getPredicate(); in foldSelectInstWithICmp() local
1468 if (CmpLHS == TrueVal && Pred == ICmpInst::ICMP_EQ) { in foldSelectInstWithICmp()
1472 } else if (CmpLHS == FalseVal && Pred == ICmpInst::ICMP_NE) { in foldSelectInstWithICmp()
1489 if (ICmpInst::isEquality(Pred) && in foldSelectInstWithICmp()
1493 TrueWhenUnset = Pred == ICmpInst::ICMP_EQ; in foldSelectInstWithICmp()
1494 } else if (Pred == ICmpInst::ICMP_SLT && match(CmpRHS, m_Zero())) { in foldSelectInstWithICmp()
1499 } else if (Pred == ICmpInst::ICMP_SGT && match(CmpRHS, m_AllOnes())) { in foldSelectInstWithICmp()
1812 ICmpInst::Predicate Pred; in foldOverflowingAddSubSelect() local
1815 if (!match(Limit, m_Select(m_ICmp(Pred, m_Value(Op), m_APInt(C)), in foldOverflowingAddSubSelect()
1837 if (Pred == ICmpInst::ICMP_SLT && IsZeroOrOne(*C) && in foldOverflowingAddSubSelect()
1844 if (Pred == ICmpInst::ICMP_SGT && IsZeroOrOne(*C + 1) && in foldOverflowingAddSubSelect()
1850 if (Op == X && Pred == ICmpInst::ICMP_SLT && IsZeroOrOne(*C + 1) && in foldOverflowingAddSubSelect()
1855 if (Op == X && Pred == ICmpInst::ICMP_SGT && IsZeroOrOne(*C + 2) && in foldOverflowingAddSubSelect()
1860 if (Op == Y && Pred == ICmpInst::ICMP_SLT && IsZeroOrOne(*C) && in foldOverflowingAddSubSelect()
1865 if (Op == Y && Pred == ICmpInst::ICMP_SGT && IsZeroOrOne(*C + 1) && in foldOverflowingAddSubSelect()
2041 CmpInst::Predicate Pred; in foldSelectCmpBitcasts() local
2043 if (!match(Cond, m_Cmp(Pred, m_Value(A), m_Value(B)))) in foldSelectCmpBitcasts()
2363 ICmpInst::Predicate Pred; in foldSelectFunnelShift() local
2364 if (!match(Cond, m_OneUse(m_ICmp(Pred, m_Specific(ShAmt), m_ZeroInt()))) || in foldSelectFunnelShift()
2365 Pred != ICmpInst::ICMP_EQ) in foldSelectFunnelShift()
2404 ICmpInst::Predicate Pred; in foldSelectToCopysign() local
2405 if (!match(Cond, m_OneUse(m_ICmp(Pred, m_BitCast(m_Value(X)), m_APInt(C)))) || in foldSelectToCopysign()
2406 !InstCombiner::isSignBitCheck(Pred, *C, IsTrueIfSignSet) || in foldSelectToCopysign()
2520 for (auto *Pred : predecessors(BB)) { in foldSelectToPhiImpl() local
2522 BasicBlockEdge Incoming(Pred, BB); in foldSelectToPhiImpl()
2524 Inputs[Pred] = IfTrue->DoPHITranslation(BB, Pred); in foldSelectToPhiImpl()
2526 Inputs[Pred] = IfFalse->DoPHITranslation(BB, Pred); in foldSelectToPhiImpl()
2530 if (auto *Insn = dyn_cast<Instruction>(Inputs[Pred])) in foldSelectToPhiImpl()
2531 if (!DT.dominates(Insn, Pred->getTerminator())) in foldSelectToPhiImpl()
2537 for (auto *Pred : predecessors(BB)) in foldSelectToPhiImpl() local
2538 PN->addIncoming(Inputs[Pred], Pred); in foldSelectToPhiImpl()
2574 CmpInst::Predicate Pred; in foldSelectWithFrozenICmp() local
2576 match(Cond, m_c_ICmp(Pred, m_Specific(TrueVal), m_Specific(FalseVal))) && in foldSelectWithFrozenICmp()
2577 (Pred == ICmpInst::ICMP_EQ || Pred == ICmpInst::ICMP_NE)) { in foldSelectWithFrozenICmp()
2578 return Pred == ICmpInst::ICMP_EQ ? FalseVal : TrueVal; in foldSelectWithFrozenICmp()
2658 CmpInst::Predicate Pred; in visitSelectInst() local
2871 if (match(CondVal, m_FCmp(Pred, m_Specific(FalseVal), m_AnyZeroFP())) && in visitSelectInst()
2874 (Pred == FCmpInst::FCMP_OLE || Pred == FCmpInst::FCMP_ULE)) { in visitSelectInst()
2879 if (match(CondVal, m_FCmp(Pred, m_Specific(TrueVal), m_AnyZeroFP())) && in visitSelectInst()
2882 (Pred == FCmpInst::FCMP_OGT || Pred == FCmpInst::FCMP_UGT)) { in visitSelectInst()
2890 if (match(CondVal, m_FCmp(Pred, m_Specific(FalseVal), m_AnyZeroFP())) && in visitSelectInst()
2894 (Pred == FCmpInst::FCMP_OLT || Pred == FCmpInst::FCMP_OLE || in visitSelectInst()
2895 Pred == FCmpInst::FCMP_ULT || Pred == FCmpInst::FCMP_ULE)) { in visitSelectInst()
2902 if (match(CondVal, m_FCmp(Pred, m_Specific(TrueVal), m_AnyZeroFP())) && in visitSelectInst()
2906 (Pred == FCmpInst::FCMP_OGT || Pred == FCmpInst::FCMP_OGE || in visitSelectInst()
2907 Pred == FCmpInst::FCMP_UGT || Pred == FCmpInst::FCMP_UGE)) { in visitSelectInst()