Lines Matching refs:Mul

145 static Value *foldMulShl1(BinaryOperator &Mul, bool CommuteOperands,  in foldMulShl1()  argument
147 Value *X = Mul.getOperand(0), *Y = Mul.getOperand(1); in foldMulShl1()
151 const bool HasNSW = Mul.hasNoSignedWrap(); in foldMulShl1()
152 const bool HasNUW = Mul.hasNoUnsignedWrap(); in foldMulShl1()
158 return Builder.CreateShl(X, Z, Mul.getName(), HasNUW, PropagateNSW); in foldMulShl1()
171 return Builder.CreateAdd(Shl, FrX, Mul.getName(), HasNUW, PropagateNSW); in foldMulShl1()
182 return Builder.CreateSub(Shl, FrX, Mul.getName()); in foldMulShl1()
231 BinaryOperator *Mul = cast<BinaryOperator>(I.getOperand(0)); in visitMul() local
233 if (HasNUW && Mul->hasNoUnsignedWrap()) in visitMul()
235 if (HasNSW && Mul->hasNoSignedWrap() && Shl->isNotMinSignedValue()) in visitMul()
960 auto *Mul = cast<OverflowingBinaryOperator>(Op0); in foldIDivShl() local
962 bool HasNUW = Mul->hasNoUnsignedWrap() && Shl->hasNoUnsignedWrap(); in foldIDivShl()
963 bool HasNSW = Mul->hasNoSignedWrap() && Shl->hasNoSignedWrap(); in foldIDivShl()
1083 auto *Mul = BinaryOperator::Create(Instruction::Mul, X, in commonIDivTransforms() local
1086 Mul->setHasNoUnsignedWrap(!IsSigned && OBO->hasNoUnsignedWrap()); in commonIDivTransforms()
1087 Mul->setHasNoSignedWrap(OBO->hasNoSignedWrap()); in commonIDivTransforms()
1088 return Mul; in commonIDivTransforms()
1109 auto *Mul = BinaryOperator::Create(Instruction::Mul, X, in commonIDivTransforms() local
1112 Mul->setHasNoUnsignedWrap(!IsSigned && OBO->hasNoUnsignedWrap()); in commonIDivTransforms()
1113 Mul->setHasNoSignedWrap(OBO->hasNoSignedWrap()); in commonIDivTransforms()
1114 return Mul; in commonIDivTransforms()
1207 auto *Mul = cast<OverflowingBinaryOperator>(InnerDiv->getOperand(0)); in commonIDivTransforms() local
1209 if (!IsSigned && Mul->hasNoUnsignedWrap()) in commonIDivTransforms()
1211 else if (IsSigned && Mul->hasNoSignedWrap()) in commonIDivTransforms()
1814 if (Instruction *Mul = foldFDivPowDivisor(I, Builder)) in visitFDiv() local
1815 return Mul; in visitFDiv()