Lines Matching refs:BO
183 BinaryOperator *BO = BinaryOperator::CreateNeg(Op0, I.getName()); in visitMul() local
185 BO->setHasNoSignedWrap(); in visitMul()
186 return BO; in visitMul()
200 BinaryOperator *BO = BinaryOperator::CreateMul(NewOp, Shl); in visitMul() local
202 BO->setHasNoUnsignedWrap(); in visitMul()
205 BO->setHasNoSignedWrap(); in visitMul()
206 return BO; in visitMul()
284 BinaryOperator *BO = BinaryOperator::CreateMul(Op0v, Op1v); in visitMul() local
288 BO->setHasNoSignedWrap(); in visitMul()
289 return BO; in visitMul()
297 BinaryOperator *BO = dyn_cast<BinaryOperator>(Op0); in visitMul() local
298 if (!BO || in visitMul()
299 (BO->getOpcode() != Instruction::UDiv && in visitMul()
300 BO->getOpcode() != Instruction::SDiv)) { in visitMul()
302 BO = dyn_cast<BinaryOperator>(Op1); in visitMul()
305 if (BO && BO->hasOneUse() && in visitMul()
306 (BO->getOperand(1) == Op1C || BO->getOperand(1) == Neg) && in visitMul()
307 (BO->getOpcode() == Instruction::UDiv || in visitMul()
308 BO->getOpcode() == Instruction::SDiv)) { in visitMul()
309 Value *Op0BO = BO->getOperand(0), *Op1BO = BO->getOperand(1); in visitMul()
312 if (PossiblyExactOperator *SDiv = dyn_cast<PossiblyExactOperator>(BO)) in visitMul()
320 if (BO->getOpcode() == Instruction::UDiv) in visitMul()
324 Rem->takeName(BO); in visitMul()
340 BinaryOperator *BO = nullptr; in visitMul() local
343 BO = BinaryOperator::CreateShl(Op1, Y); in visitMul()
346 BO = BinaryOperator::CreateShl(Op0, Y); in visitMul()
349 if (BO) { in visitMul()
351 BO->setHasNoUnsignedWrap(); in visitMul()
353 BO->setHasNoSignedWrap(); in visitMul()
354 return BO; in visitMul()
815 BinaryOperator *BO = BinaryOperator::Create( in commonIDivTransforms() local
817 BO->setIsExact(I.isExact()); in commonIDivTransforms()
818 return BO; in commonIDivTransforms()
823 BinaryOperator *BO = BinaryOperator::Create( in commonIDivTransforms() local
825 BO->setHasNoUnsignedWrap( in commonIDivTransforms()
828 BO->setHasNoSignedWrap( in commonIDivTransforms()
830 return BO; in commonIDivTransforms()
843 BinaryOperator *BO = BinaryOperator::Create( in commonIDivTransforms() local
845 BO->setIsExact(I.isExact()); in commonIDivTransforms()
846 return BO; in commonIDivTransforms()
851 BinaryOperator *BO = BinaryOperator::Create( in commonIDivTransforms() local
853 BO->setHasNoUnsignedWrap( in commonIDivTransforms()
856 BO->setHasNoSignedWrap( in commonIDivTransforms()
858 return BO; in commonIDivTransforms()
1055 BinaryOperator *BO = BinaryOperator::CreateUDiv( in visitUDiv() local
1058 BO->setIsExact(); in visitUDiv()
1059 return BO; in visitUDiv()
1140 auto *BO = BinaryOperator::CreateSDiv(X, ConstantExpr::getNeg(RHS)); in visitSDiv() local
1141 BO->setIsExact(I.isExact()); in visitSDiv()
1142 return BO; in visitSDiv()
1153 auto *BO = BinaryOperator::CreateUDiv(Op0, Op1, I.getName()); in visitSDiv() local
1154 BO->setIsExact(I.isExact()); in visitSDiv()
1155 return BO; in visitSDiv()
1163 auto *BO = BinaryOperator::CreateUDiv(Op0, Op1, I.getName()); in visitSDiv() local
1164 BO->setIsExact(I.isExact()); in visitSDiv()
1165 return BO; in visitSDiv()