Lines Matching defs:Cmp1

653 Value *InstCombinerImpl::simplifyRangeCheck(ICmpInst *Cmp0, ICmpInst *Cmp1,
669 ICmpInst::Predicate Pred1 = (Inverted ? Cmp1->getInversePredicate() :
670 Cmp1->getPredicate());
674 if (Cmp1->getOperand(0) == Input) {
676 RangeEnd = Cmp1->getOperand(1);
677 } else if (Cmp1->getOperand(1) == Input) {
679 RangeEnd = Cmp1->getOperand(0);
694 KnownBits Known = computeKnownBits(RangeEnd, /*Depth=*/0, Cmp1);
910 static Value *foldIsPowerOf2OrZero(ICmpInst *Cmp0, ICmpInst *Cmp1, bool IsAnd,
916 !match(Cmp1, m_ICmp(Pred1, m_Specific(X), m_ZeroInt())))
931 static Value *foldIsPowerOf2(ICmpInst *Cmp0, ICmpInst *Cmp1, bool JoinedByAnd,
935 if (JoinedByAnd && Cmp1->getPredicate() == ICmpInst::ICMP_NE)
936 std::swap(Cmp0, Cmp1);
937 else if (!JoinedByAnd && Cmp1->getPredicate() == ICmpInst::ICMP_EQ)
938 std::swap(Cmp0, Cmp1);
944 match(Cmp1, m_ICmp(Pred1, m_Intrinsic<Intrinsic::ctpop>(m_Specific(X)),
947 auto *CtPop = cast<Instruction>(Cmp1->getOperand(0));
955 match(Cmp1, m_ICmp(Pred1, m_Intrinsic<Intrinsic::ctpop>(m_Specific(X)),
958 auto *CtPop = cast<Instruction>(Cmp1->getOperand(0));
1038 static Value *foldPowerOf2AndShiftedMask(ICmpInst *Cmp0, ICmpInst *Cmp1,
1045 CmpPred1 = Cmp1->getPredicate();
1050 getMaskedTypeForICmpPair(A, B, C, D, E, Cmp0, Cmp1, CmpPred0, CmpPred1);
1148 Value *InstCombinerImpl::foldEqOfParts(ICmpInst *Cmp0, ICmpInst *Cmp1,
1150 if (!Cmp0->hasOneUse() || !Cmp1->hasOneUse())
1186 std::optional<IntPart> L1 = GetMatchPart(Cmp1, 0);
1187 std::optional<IntPart> R1 = GetMatchPart(Cmp1, 1);
1220 /// Cmp0/Cmp1 switched to handle logic op commutativity.
1221 static Value *foldAndOrOfICmpsWithConstEq(ICmpInst *Cmp0, ICmpInst *Cmp1,
1242 if (!match(Cmp1, m_c_ICmp(Pred1, m_Value(Y), m_Specific(X))))
1254 if (!Cmp1->hasOneUse())
3482 Value *Cmp1, *Cmp2, *Cmp3, *Cmp4;
3483 if (!match(I.getOperand(0), m_And(m_Value(Cmp1), m_Value(Cmp2))) ||
3488 if (isKnownInversion(Cmp1, Cmp3) && isKnownInversion(Cmp2, Cmp4))
3489 return Builder.CreateXor(Cmp1, Cmp4);
3490 if (isKnownInversion(Cmp1, Cmp4) && isKnownInversion(Cmp2, Cmp3))
3491 return Builder.CreateXor(Cmp1, Cmp3);