Lines Matching refs:BO

441 static bool willNotOverflow(BinaryOpIntrinsic *BO, LazyValueInfo *LVI) {  in willNotOverflow()  argument
442 ConstantRange LRange = LVI->getConstantRange(BO->getLHS(), BO); in willNotOverflow()
443 ConstantRange RRange = LVI->getConstantRange(BO->getRHS(), BO); in willNotOverflow()
445 BO->getBinaryOp(), RRange, BO->getNoWrapKind()); in willNotOverflow()
551 if (auto *BO = dyn_cast<BinaryOperator>(NegX)) in processAbsIntrinsic() local
552 processBinOp(BO, LVI); in processAbsIntrinsic()
592 if (auto *BO = dyn_cast<BinaryOperator>(NewOp)) in processOverflowIntrinsic() local
593 processBinOp(BO, LVI); in processOverflowIntrinsic()
612 if (auto *BO = dyn_cast<BinaryOperator>(BinOp)) in processSaturatingInst() local
613 processBinOp(BO, LVI); in processSaturatingInst()
762 auto *BO = B.CreateBinOp(Instr->getOpcode(), LHS, RHS, Instr->getName()); in narrowSDivOrSRem() local
763 auto *Sext = B.CreateSExt(BO, Instr->getType(), Instr->getName() + ".sext"); in narrowSDivOrSRem()
764 if (auto *BinOp = dyn_cast<BinaryOperator>(BO)) in narrowSDivOrSRem()
806 auto *BO = B.CreateBinOp(Instr->getOpcode(), LHS, RHS, Instr->getName()); in processUDivOrURem() local
807 auto *Zext = B.CreateZExt(BO, Instr->getType(), Instr->getName() + ".zext"); in processUDivOrURem()
808 if (auto *BinOp = dyn_cast<BinaryOperator>(BO)) in processUDivOrURem()
843 auto *BO = in processSRem() local
845 BO->setDebugLoc(SDI->getDebugLoc()); in processSRem()
846 Op.V = BO; in processSRem()
899 auto *BO = in processSDiv() local
901 BO->setDebugLoc(SDI->getDebugLoc()); in processSDiv()
902 Op.V = BO; in processSDiv()
962 auto *BO = BinaryOperator::CreateLShr(SDI->getOperand(0), SDI->getOperand(1), in processAShr() local
964 BO->takeName(SDI); in processAShr()
965 BO->setDebugLoc(SDI->getDebugLoc()); in processAShr()
966 BO->setIsExact(SDI->isExact()); in processAShr()
967 SDI->replaceAllUsesWith(BO); in processAShr()