reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
3674 if (!BO0 && !BO1) 3691 if (BO0 && isa<OverflowingBinaryOperator>(BO0)) 3691 if (BO0 && isa<OverflowingBinaryOperator>(BO0)) 3694 (CmpInst::isUnsigned(Pred) && BO0->hasNoUnsignedWrap()) || 3695 (CmpInst::isSigned(Pred) && BO0->hasNoSignedWrap()); 3705 if (BO0 && BO0->getOpcode() == Instruction::Add) { 3705 if (BO0 && BO0->getOpcode() == Instruction::Add) { 3706 A = BO0->getOperand(0); 3707 B = BO0->getOperand(1); 3821 (BO0->hasOneUse() || BO1->hasOneUse()) && !I.isUnsigned()) 3847 if (BO0 && BO0->getOpcode() == Instruction::Sub) { 3847 if (BO0 && BO0->getOpcode() == Instruction::Sub) { 3848 A = BO0->getOperand(0); 3849 B = BO0->getOperand(1); 3890 if (match(BO0, m_Neg(m_Value(X)))) 3899 if (BO0 && BO0->getOpcode() == Instruction::SRem && Op1 == BO0->getOperand(1)) 3899 if (BO0 && BO0->getOpcode() == Instruction::SRem && Op1 == BO0->getOperand(1)) 3899 if (BO0 && BO0->getOpcode() == Instruction::SRem && Op1 == BO0->getOperand(1)) 3900 SRem = BO0; 3908 switch (SRem == BO0 ? ICmpInst::getSwappedPredicate(Pred) : Pred) { 3926 if (BO0 && BO1 && BO0->getOpcode() == BO1->getOpcode() && BO0->hasOneUse() && 3926 if (BO0 && BO1 && BO0->getOpcode() == BO1->getOpcode() && BO0->hasOneUse() && 3926 if (BO0 && BO1 && BO0->getOpcode() == BO1->getOpcode() && BO0->hasOneUse() && 3927 BO1->hasOneUse() && BO0->getOperand(1) == BO1->getOperand(1)) { 3928 switch (BO0->getOpcode()) { 3935 return new ICmpInst(Pred, BO0->getOperand(0), BO1->getOperand(0)); 3938 if (match(BO0->getOperand(1), m_APInt(C))) { 3943 return new ICmpInst(NewPred, BO0->getOperand(0), BO1->getOperand(0)); 3947 if (BO0->getOpcode() == Instruction::Xor && C->isMaxSignedValue()) { 3951 return new ICmpInst(NewPred, BO0->getOperand(0), BO1->getOperand(0)); 3961 if (match(BO0->getOperand(1), m_APInt(C)) && !C->isNullValue() && 3967 BO0->getType(), 3969 Value *And1 = Builder.CreateAnd(BO0->getOperand(0), Mask); 3976 return new ICmpInst(Pred, BO0->getOperand(0), BO1->getOperand(0)); 3982 if (I.isSigned() || !BO0->isExact() || !BO1->isExact()) 3984 return new ICmpInst(Pred, BO0->getOperand(0), BO1->getOperand(0)); 3987 if (!I.isEquality() || !BO0->isExact() || !BO1->isExact()) 3989 return new ICmpInst(Pred, BO0->getOperand(0), BO1->getOperand(0)); 3992 if (!BO0->isExact() || !BO1->isExact()) 3994 return new ICmpInst(Pred, BO0->getOperand(0), BO1->getOperand(0)); 3997 bool NUW = BO0->hasNoUnsignedWrap() && BO1->hasNoUnsignedWrap(); 3998 bool NSW = BO0->hasNoSignedWrap() && BO1->hasNoSignedWrap(); 4003 return new ICmpInst(Pred, BO0->getOperand(0), BO1->getOperand(0)); 4008 if (BO0) { 4013 if (match(BO0, BitwiseAnd) && Pred == ICmpInst::ICMP_ULT) { 4014 auto *Zero = Constant::getNullValue(BO0->getType());