Lines Matching refs:BO1
4075 BinaryOperator *BO1 = dyn_cast<BinaryOperator>(Op1); in foldICmpBinOp() local
4076 if (!BO0 && !BO1) in foldICmpBinOp()
4146 if (BO1 && isa<OverflowingBinaryOperator>(BO1)) in foldICmpBinOp()
4149 (CmpInst::isUnsigned(Pred) && BO1->hasNoUnsignedWrap()) || in foldICmpBinOp()
4150 (CmpInst::isSigned(Pred) && BO1->hasNoSignedWrap()); in foldICmpBinOp()
4159 if (BO1 && BO1->getOpcode() == Instruction::Add) { in foldICmpBinOp()
4160 C = BO1->getOperand(0); in foldICmpBinOp()
4161 D = BO1->getOperand(1); in foldICmpBinOp()
4271 (BO0->hasOneUse() || BO1->hasOneUse()) && !I.isUnsigned()) { in foldICmpBinOp()
4288 bool HasNUW = BO1->hasNoUnsignedWrap() && Diff.ule(*AP2); in foldICmpBinOp()
4289 bool HasNSW = BO1->hasNoSignedWrap(); in foldICmpBinOp()
4314 if (BO1 && BO1->getOpcode() == Instruction::Sub) { in foldICmpBinOp()
4315 C = BO1->getOperand(0); in foldICmpBinOp()
4316 D = BO1->getOperand(1); in foldICmpBinOp()
4368 (BO0 && BO1 && BO0->hasNoSignedWrap() && BO1->hasNoSignedWrap()) || in foldICmpBinOp()
4369 (BO0 && BO1 && BO0->hasNoUnsignedWrap() && BO1->hasNoUnsignedWrap())) in foldICmpBinOp()
4378 else if (BO1 && BO1->getOpcode() == Instruction::SRem && in foldICmpBinOp()
4379 Op0 == BO1->getOperand(1)) in foldICmpBinOp()
4380 SRem = BO1; in foldICmpBinOp()
4402 if (BO0 && BO1 && BO0->getOpcode() == BO1->getOpcode() && BO0->hasOneUse() && in foldICmpBinOp()
4403 BO1->hasOneUse() && BO0->getOperand(1) == BO1->getOperand(1)) { in foldICmpBinOp()
4411 return new ICmpInst(Pred, BO0->getOperand(0), BO1->getOperand(0)); in foldICmpBinOp()
4418 return new ICmpInst(NewPred, BO0->getOperand(0), BO1->getOperand(0)); in foldICmpBinOp()
4425 return new ICmpInst(NewPred, BO0->getOperand(0), BO1->getOperand(0)); in foldICmpBinOp()
4444 Value *And2 = Builder.CreateAnd(BO1->getOperand(0), Mask); in foldICmpBinOp()
4452 if (I.isSigned() || !BO0->isExact() || !BO1->isExact()) in foldICmpBinOp()
4454 return new ICmpInst(Pred, BO0->getOperand(0), BO1->getOperand(0)); in foldICmpBinOp()
4457 if (!I.isEquality() || !BO0->isExact() || !BO1->isExact()) in foldICmpBinOp()
4459 return new ICmpInst(Pred, BO0->getOperand(0), BO1->getOperand(0)); in foldICmpBinOp()
4462 if (!BO0->isExact() || !BO1->isExact()) in foldICmpBinOp()
4464 return new ICmpInst(Pred, BO0->getOperand(0), BO1->getOperand(0)); in foldICmpBinOp()
4467 bool NUW = BO0->hasNoUnsignedWrap() && BO1->hasNoUnsignedWrap(); in foldICmpBinOp()
4468 bool NSW = BO0->hasNoSignedWrap() && BO1->hasNoSignedWrap(); in foldICmpBinOp()
4473 return new ICmpInst(Pred, BO0->getOperand(0), BO1->getOperand(0)); in foldICmpBinOp()