reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

References

lib/Transforms/InstCombine/InstCombineCompares.cpp
 3674   if (!BO0 && !BO1)
 3696   if (BO1 && isa<OverflowingBinaryOperator>(BO1))
 3696   if (BO1 && isa<OverflowingBinaryOperator>(BO1))
 3699         (CmpInst::isUnsigned(Pred) && BO1->hasNoUnsignedWrap()) ||
 3700         (CmpInst::isSigned(Pred) && BO1->hasNoSignedWrap());
 3709   if (BO1 && BO1->getOpcode() == Instruction::Add) {
 3709   if (BO1 && BO1->getOpcode() == Instruction::Add) {
 3710     C = BO1->getOperand(0);
 3711     D = BO1->getOperand(1);
 3821       (BO0->hasOneUse() || BO1->hasOneUse()) && !I.isUnsigned())
 3851   if (BO1 && BO1->getOpcode() == Instruction::Sub) {
 3851   if (BO1 && BO1->getOpcode() == Instruction::Sub) {
 3852     C = BO1->getOperand(0);
 3853     D = BO1->getOperand(1);
 3902   else if (BO1 && BO1->getOpcode() == Instruction::SRem &&
 3902   else if (BO1 && BO1->getOpcode() == Instruction::SRem &&
 3903            Op0 == BO1->getOperand(1))
 3904     SRem = BO1;
 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)) {
 3927       BO1->hasOneUse() && BO0->getOperand(1) == BO1->getOperand(1)) {
 3935         return new ICmpInst(Pred, BO0->getOperand(0), BO1->getOperand(0));
 3943           return new ICmpInst(NewPred, BO0->getOperand(0), BO1->getOperand(0));
 3951           return new ICmpInst(NewPred, BO0->getOperand(0), BO1->getOperand(0));
 3970           Value *And2 = Builder.CreateAnd(BO1->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));