Lines Matching refs:ICmpInst

31   ICmpInst *ICI = dyn_cast<ICmpInst>(SI->getCondition());  in MatchSelectPattern()
34 ICmpInst::Predicate Pred = ICI->getPredicate(); in MatchSelectPattern()
47 case ICmpInst::ICMP_UGT: in MatchSelectPattern()
48 case ICmpInst::ICMP_UGE: return SPF_UMAX; in MatchSelectPattern()
49 case ICmpInst::ICMP_SGT: in MatchSelectPattern()
50 case ICmpInst::ICMP_SGE: return SPF_SMAX; in MatchSelectPattern()
51 case ICmpInst::ICMP_ULT: in MatchSelectPattern()
52 case ICmpInst::ICMP_ULE: return SPF_UMIN; in MatchSelectPattern()
53 case ICmpInst::ICMP_SLT: in MatchSelectPattern()
54 case ICmpInst::ICMP_SLE: return SPF_SMIN; in MatchSelectPattern()
62 case ICmpInst::ICMP_UGT: in MatchSelectPattern()
63 case ICmpInst::ICMP_UGE: return SPF_UMIN; in MatchSelectPattern()
64 case ICmpInst::ICMP_SGT: in MatchSelectPattern()
65 case ICmpInst::ICMP_SGE: return SPF_SMIN; in MatchSelectPattern()
66 case ICmpInst::ICMP_ULT: in MatchSelectPattern()
67 case ICmpInst::ICMP_ULE: return SPF_UMAX; in MatchSelectPattern()
68 case ICmpInst::ICMP_SLT: in MatchSelectPattern()
69 case ICmpInst::ICMP_SLE: return SPF_SMAX; in MatchSelectPattern()
79 if (Pred == ICmpInst::ICMP_SGT && (C1->isZero() || C1->isMinusOne())) { in MatchSelectPattern()
85 if (Pred == ICmpInst::ICMP_SLT && (C1->isZero() || C1->isOne())) { in MatchSelectPattern()
394 const ICmpInst *IC = dyn_cast<ICmpInst>(SI.getCondition()); in foldSelectICmpAndOr()
432 ICmpInst::Predicate Pred = IC->getPredicate(); in foldSelectICmpAndOr()
433 if ((Pred == ICmpInst::ICMP_NE && OrOnFalseVal) || in foldSelectICmpAndOr()
434 (Pred == ICmpInst::ICMP_EQ && OrOnTrueVal)) in foldSelectICmpAndOr()
452 static Value *foldSelectCttzCtlz(ICmpInst *ICI, Value *TrueVal, Value *FalseVal, in foldSelectCttzCtlz()
454 ICmpInst::Predicate Pred = ICI->getPredicate(); in foldSelectCttzCtlz()
464 if (Pred == ICmpInst::ICMP_NE) in foldSelectCttzCtlz()
500 ICmpInst *ICI) { in visitSelectInstWithICmp()
502 ICmpInst::Predicate Pred = ICI->getPredicate(); in visitSelectInstWithICmp()
514 if ((Pred == ICmpInst::ICMP_SLT || Pred == ICmpInst::ICMP_ULT) in visitSelectInstWithICmp()
515 && CI->isMinValue(Pred == ICmpInst::ICMP_SLT)) in visitSelectInstWithICmp()
518 else if ((Pred == ICmpInst::ICMP_SGT || Pred == ICmpInst::ICMP_UGT) in visitSelectInstWithICmp()
519 && CI->isMaxValue(Pred == ICmpInst::ICMP_SGT)) in visitSelectInstWithICmp()
523 case ICmpInst::ICMP_ULT: in visitSelectInstWithICmp()
524 case ICmpInst::ICMP_SLT: in visitSelectInstWithICmp()
525 case ICmpInst::ICMP_UGT: in visitSelectInstWithICmp()
526 case ICmpInst::ICMP_SGT: { in visitSelectInstWithICmp()
533 if (Pred == ICmpInst::ICMP_UGT || Pred == ICmpInst::ICMP_SGT) in visitSelectInstWithICmp()
584 Pred = ICmpInst::getSwappedPredicate(Pred); in visitSelectInstWithICmp()
612 if (Pred == ICmpInst::ICMP_SGT && Cmp->isAllOnesValue()) { in visitSelectInstWithICmp()
615 } else if (Pred == ICmpInst::ICMP_SLT && Cmp->isNullValue()) { in visitSelectInstWithICmp()
637 if (Pred == ICmpInst::ICMP_EQ) { in visitSelectInstWithICmp()
648 } else if (Pred == ICmpInst::ICMP_NE) { in visitSelectInstWithICmp()
664 if (CmpLHS == TrueVal && Pred == ICmpInst::ICMP_EQ) { in visitSelectInstWithICmp()
668 } else if (CmpLHS == FalseVal && Pred == ICmpInst::ICMP_NE) { in visitSelectInstWithICmp()
681 if (ICmpInst::isEquality(Pred) && in visitSelectInstWithICmp()
685 TrueWhenUnset = Pred == ICmpInst::ICMP_EQ; in visitSelectInstWithICmp()
686 } else if (Pred == ICmpInst::ICMP_SLT && match(CmpRHS, m_Zero())) { in visitSelectInstWithICmp()
691 } else if (Pred == ICmpInst::ICMP_SGT && match(CmpRHS, m_AllOnes())) { in visitSelectInstWithICmp()
842 const ICmpInst *IC = dyn_cast<ICmpInst>(SI.getCondition()); in foldSelectICmpAnd()
900 ShouldNotVal ^= IC->getPredicate() == ICmpInst::ICMP_NE; in foldSelectICmpAnd()
1070 if (ICmpInst *ICI = dyn_cast<ICmpInst>(CondVal)) in visitSelectInst()