Lines Matching defs:Pred

61   CmpInst::Predicate Pred;
62 if (!match(Sel.getCondition(), m_Cmp(Pred, m_Value(X), m_Constant(C))))
66 if (ICmpInst::isEquality(Pred))
67 IsEq = Pred == ICmpInst::ICMP_EQ;
68 else if (Pred == FCmpInst::FCMP_OEQ)
70 else if (Pred == FCmpInst::FCMP_UNE)
85 if (!IdC || !CmpInst::isFPPredicate(Pred))
137 ICmpInst::Predicate Pred = Cmp->getPredicate();
138 if (ICmpInst::isEquality(Pred)) {
149 Pred, V, AndMask)) {
150 assert(ICmpInst::isEquality(Pred) && "Not equality test?");
179 if (Pred == ICmpInst::ICMP_EQ) {
186 if (Pred == ICmpInst::ICMP_NE) {
206 ShouldNotVal ^= Pred == ICmpInst::ICMP_NE;
637 ICmpInst::Predicate Pred;
639 if (!match(Cmp, m_ICmp(Pred, m_Value(AndVal), m_Zero())))
642 if (Pred == ICmpInst::ICMP_NE) {
643 Pred = ICmpInst::ICMP_EQ;
649 if (Pred != ICmpInst::ICMP_EQ ||
675 ICmpInst::Predicate Pred = IC->getPredicate();
683 if ((Pred != ICmpInst::ICMP_SGT ||
686 (Pred != ICmpInst::ICMP_SLT ||
692 if (Pred == ICmpInst::ICMP_SLT)
741 CmpInst::Predicate Pred = IC->getPredicate();
753 if (!decomposeBitTestICmp(CmpLHS, CmpRHS, Pred, CmpLHS, C1) ||
768 NeedXor = Pred == ICmpInst::ICMP_NE;
772 NeedXor = Pred == ICmpInst::ICMP_EQ;
907 ICmpInst::Predicate Pred = ICI->getPredicate();
914 Pred = ICmpInst::getInversePredicate(Pred);
923 if (Pred == ICmpInst::ICMP_NE) {
930 if (!ICmpInst::isUnsigned(Pred))
933 if (Pred == ICmpInst::ICMP_ULE || Pred == ICmpInst::ICMP_ULT) {
936 Pred = ICmpInst::getSwappedPredicate(Pred);
939 assert((Pred == ICmpInst::ICMP_UGE || Pred == ICmpInst::ICMP_UGT) &&
978 ICmpInst::Predicate Pred = Cmp->getPredicate();
981 if (Pred == ICmpInst::ICMP_ULT &&
994 Pred = CmpInst::getInversePredicate(Pred);
1000 if (Pred == ICmpInst::ICMP_UGT || Pred == ICmpInst::ICMP_UGE) {
1002 Pred = CmpInst::getSwappedPredicate(Pred);
1004 if (Pred != ICmpInst::ICMP_ULT && Pred != ICmpInst::ICMP_ULE)
1029 if (Pred == ICmpInst::ICMP_ULT &&
1049 ICmpInst::Predicate Pred = Cmp->getStrictPredicate();
1056 Pred = ICmpInst::getSwappedPredicate(Pred);
1061 if (Pred == CmpInst::ICMP_SGT &&
1136 ICmpInst::Predicate Pred = ICI->getPredicate();
1146 if (Pred == ICmpInst::ICMP_NE)
1574 ICmpInst::Predicate Pred;
1578 Pred, m_Value(X),
1583 if (ICmpInst::isEquality(Pred))
1588 if (!InstCombiner::isCanonicalPredicate(Pred))
1599 if (Pred == CmpInst::ICMP_ULT && match(X, m_Add(m_Value(), m_Constant())))
1622 InstCombiner::getFlippedStrictnessPredicateAndConstant(Pred, C0);
1634 Pred = ICmpInst::getSwappedPredicate(Pred); // Yes, swapped.
1635 Value *NewCmp = IC.Builder.CreateICmp(Pred, X, FlippedStrictness->second,
1672 CmpInst::Predicate Pred;
1673 if (!match(ICI, m_ICmp(Pred, m_Value(V), m_APInt(CmpC))))
1679 if (Pred == ICmpInst::ICMP_EQ && V == FVal) {
1719 ICmpInst::Predicate Pred = ICI->getPredicate();
1720 if (!ICmpInst::isEquality(Pred))
1728 if (Pred == ICmpInst::ICMP_NE)
1847 ICmpInst::Predicate Pred = ICI->getPredicate();
1851 if (CmpLHS == TrueVal && Pred == ICmpInst::ICMP_EQ) {
1855 } else if (CmpLHS == FalseVal && Pred == ICmpInst::ICMP_NE) {
1869 if (Pred == ICmpInst::ICMP_SGT && match(CmpRHS, m_AllOnes()) &&
1891 if (ICmpInst::isEquality(Pred) &&
1895 TrueWhenUnset = Pred == ICmpInst::ICMP_EQ;
1896 } else if (Pred == ICmpInst::ICMP_SLT && match(CmpRHS, m_Zero())) {
1901 } else if (Pred == ICmpInst::ICMP_SGT && match(CmpRHS, m_AllOnes())) {
2115 ICmpInst::Predicate Pred;
2118 if (!match(Limit, m_Select(m_ICmp(Pred, m_Value(Op), m_APInt(C)),
2138 if (Pred == ICmpInst::ICMP_SLT && IsZeroOrOne(*C) &&
2145 if (Pred == ICmpInst::ICMP_SGT && IsZeroOrOne(*C + 1) &&
2151 if (Op == X && Pred == ICmpInst::ICMP_SLT && IsZeroOrOne(*C + 1) &&
2156 if (Op == X && Pred == ICmpInst::ICMP_SGT && IsZeroOrOne(*C + 2) &&
2161 if (Op == Y && Pred == ICmpInst::ICMP_SLT && IsZeroOrOne(*C) &&
2166 if (Op == Y && Pred == ICmpInst::ICMP_SGT && IsZeroOrOne(*C + 1) &&
2324 CmpInst::Predicate Pred;
2326 if (!match(Cond, m_Cmp(Pred, m_Value(A), m_Value(B))))
2487 ICmpInst::Predicate Pred;
2488 if (!match(Cond, m_OneUse(m_ICmp(Pred, m_Specific(ShAmt), m_ZeroInt()))) ||
2489 Pred != ICmpInst::ICMP_EQ)
2529 ICmpInst::Predicate Pred;
2530 if (!match(Cond, m_OneUse(m_ICmp(Pred, m_ElementWiseBitCast(m_Value(X)),
2532 !isSignBitCheck(Pred, *C, IsTrueIfSignSet) || X->getType() != SelType)
2675 for (auto *Pred : predecessors(BB)) {
2677 BasicBlockEdge Incoming(Pred, BB);
2679 Inputs[Pred] = IfTrue->DoPHITranslation(BB, Pred);
2681 Inputs[Pred] = IfFalse->DoPHITranslation(BB, Pred);
2685 if (auto *Insn = dyn_cast<Instruction>(Inputs[Pred]))
2686 if (!DT.dominates(Insn, Pred->getTerminator()))
2692 for (auto *Pred : predecessors(BB))
2693 PN->addIncoming(Inputs[Pred], Pred);
2725 ICmpInst::Predicate Pred;
2730 if (!(match(CondVal, m_ICmp(Pred, m_Value(RemRes), m_APInt(C))) &&
2731 isSignBitCheck(Pred, *C, TrueIfSigned)))
2784 CmpInst::Predicate Pred;
2786 match(Cond, m_c_ICmp(Pred, m_Specific(TrueVal), m_Specific(FalseVal))) &&
2787 (Pred == ICmpInst::ICMP_EQ || Pred == ICmpInst::ICMP_NE)) {
2788 return Pred == ICmpInst::ICMP_EQ ? FalseVal : TrueVal;
2833 CmpInst::Predicate Pred;
2838 if (!match(CondVal, m_FCmp(Pred, m_Specific(X), m_AnyZeroFP())))
2844 if (!Swap && (Pred == FCmpInst::FCMP_OLE || Pred == FCmpInst::FCMP_ULE)) {
2848 if (Swap && (Pred == FCmpInst::FCMP_OGT || Pred == FCmpInst::FCMP_UGT)) {
2884 Pred = FCmpInst::getSwappedPredicate(Pred);
2886 bool IsLTOrLE = Pred == FCmpInst::FCMP_OLT || Pred == FCmpInst::FCMP_OLE ||
2887 Pred == FCmpInst::FCMP_ULT || Pred == FCmpInst::FCMP_ULE;
2888 bool IsGTOrGE = Pred == FCmpInst::FCMP_OGT || Pred == FCmpInst::FCMP_OGE ||
2889 Pred == FCmpInst::FCMP_UGT || Pred == FCmpInst::FCMP_UGE;
2913 CmpInst::Predicate Pred;
2917 m_ICmp(Pred, m_ElementWiseBitCast(m_Specific(X)), m_APInt(C))) ||
2918 !isSignBitCheck(Pred, *C, TrueIfSigned))
2957 ICmpInst::Predicate Pred;
2959 if (!match(Cond, m_ICmp(Pred, m_Value(XLowBits), m_ZeroInt())) ||
2960 !ICmpInst::isEquality(Pred))
2963 if (Pred == ICmpInst::Predicate::ICMP_NE)
3396 static bool isSafeToRemoveBitCeilSelect(ICmpInst::Predicate Pred, Value *Cond0,
3420 CmpInst::getInversePredicate(Pred), *Cond1);
3496 ICmpInst::Predicate Pred;
3499 if (!match(SI.getCondition(), m_ICmp(Pred, m_Value(Cond0), m_APInt(Cond1))))
3504 Pred = CmpInst::getInversePredicate(Pred);
3514 !isSafeToRemoveBitCeilSelect(Pred, Cond0, Cond1, CtlzOp, BitWidth,
3655 FCmpInst::Predicate Pred = FCmp->getPredicate();
3665 if (FCmp->hasOneUse() && FCmpInst::isUnordered(Pred)) {
3696 if (Pred == CmpInst::FCMP_OEQ || Pred == CmpInst::FCMP_UEQ) {
3699 } else if (Pred == CmpInst::FCMP_ONE || Pred == CmpInst::FCMP_UNE) {