Lines Matching refs:Num
242 Value *Num, Value *Den) const;
244 Value *Num, Value *Den,
249 Value *Num, Value *Den,
253 Value *Num, Value *Den, unsigned NumBits,
258 Value *Num, Value *Den) const;
261 Value *Num, Value *Den) const;
280 Value *optimizeWithRsq(IRBuilder<> &Builder, Value *Num, Value *Den,
284 Value *optimizeWithRcp(IRBuilder<> &Builder, Value *Num, Value *Den,
286 Value *optimizeWithFDivFast(IRBuilder<> &Builder, Value *Num, Value *Den,
289 Value *visitFDivElement(IRBuilder<> &Builder, Value *Num, Value *Den,
901 IRBuilder<> &Builder, Value *Num, Value *Den, const FastMathFlags DivFMF, in optimizeWithRsq() argument
909 const ConstantFP *CLHS = dyn_cast<ConstantFP>(Num); in optimizeWithRsq()
943 AMDGPUCodeGenPrepareImpl::optimizeWithRcp(IRBuilder<> &Builder, Value *Num, in optimizeWithRcp() argument
951 if (const ConstantFP *CLHS = dyn_cast<ConstantFP>(Num)) { in optimizeWithRcp()
989 return Builder.CreateFMul(Num, Recip); in optimizeWithRcp()
993 return Builder.CreateFMul(Num, Recip); in optimizeWithRcp()
1007 IRBuilder<> &Builder, Value *Num, Value *Den, float ReqdAccuracy) const { in optimizeWithFDivFast() argument
1016 if (const ConstantFP *CNum = dyn_cast<ConstantFP>(Num)) { in optimizeWithFDivFast()
1028 return Builder.CreateIntrinsic(Intrinsic::amdgcn_fdiv_fast, {}, {Num, Den}); in optimizeWithFDivFast()
1032 IRBuilder<> &Builder, Value *Num, Value *Den, FastMathFlags DivFMF, in visitFDivElement() argument
1037 optimizeWithRsq(Builder, Num, RsqOp, DivFMF, SqrtFMF, FDivInst); in visitFDivElement()
1042 Value *Rcp = optimizeWithRcp(Builder, Num, Den, DivFMF, FDivInst); in visitFDivElement()
1050 Value *FDivFast = optimizeWithFDivFast(Builder, Num, Den, ReqdDivAccuracy); in visitFDivElement()
1054 return emitFrexpDiv(Builder, Num, Den, DivFMF); in visitFDivElement()
1089 Value *Num = FDiv.getOperand(0); in visitFDiv() local
1126 extractValues(Builder, NumVals, Num); in visitFDiv()
1191 int AMDGPUCodeGenPrepareImpl::getDivNumBits(BinaryOperator &I, Value *Num, in getDivNumBits() argument
1195 unsigned LHSSignBits = ComputeNumSignBits(Num, DL, 0, AC, &I); in getDivNumBits()
1204 unsigned DivBits = Num->getType()->getScalarSizeInBits() - SignBits; in getDivNumBits()
1213 BinaryOperator &I, Value *Num, in expandDivRem24() argument
1216 int DivBits = getDivNumBits(I, Num, Den, 9, IsSigned); in expandDivRem24()
1219 return expandDivRem24Impl(Builder, I, Num, Den, DivBits, IsDiv, IsSigned); in expandDivRem24()
1223 IRBuilder<> &Builder, BinaryOperator &I, Value *Num, Value *Den, in expandDivRem24Impl() argument
1226 Num = Builder.CreateTrunc(Num, I32Ty); in expandDivRem24Impl()
1235 JQ = Builder.CreateXor(Num, Den); in expandDivRem24Impl()
1245 Value *IA = Num; in expandDivRem24Impl()
1300 Res = Builder.CreateSub(Num, Rem); in expandDivRem24Impl()
1325 Value *Num, in divHasSpecialOptimization() argument
1493 BinaryOperator &I, Value *Num, in shrinkDivRem64() argument
1495 if (!ExpandDiv64InIR && divHasSpecialOptimization(I, Num, Den)) in shrinkDivRem64()
1503 int NumDivBits = getDivNumBits(I, Num, Den, 32, IsSigned); in shrinkDivRem64()
1509 Narrowed = expandDivRem24Impl(Builder, I, Num, Den, NumDivBits, in shrinkDivRem64()
1512 Narrowed = expandDivRem32(Builder, I, Num, Den); in shrinkDivRem64()
1516 return IsSigned ? Builder.CreateSExt(Narrowed, Num->getType()) : in shrinkDivRem64()
1517 Builder.CreateZExt(Narrowed, Num->getType()); in shrinkDivRem64()
1562 Value *Num = I.getOperand(0); in visitBinaryOperator() local
1571 Value *NumEltN = Builder.CreateExtractElement(Num, N); in visitBinaryOperator()
1596 NewDiv = expandDivRem32(Builder, I, Num, Den); in visitBinaryOperator()
1598 NewDiv = shrinkDivRem64(Builder, I, Num, Den); in visitBinaryOperator()