Lines Matching refs:Den

243                                  Value *Num, Value *Den) const;
245 Value *Num, Value *Den,
250 Value *Num, Value *Den,
254 Value *Num, Value *Den, unsigned NumBits,
259 Value *Num, Value *Den) const;
262 Value *Num, Value *Den) const;
281 Value *optimizeWithRsq(IRBuilder<> &Builder, Value *Num, Value *Den,
285 Value *optimizeWithRcp(IRBuilder<> &Builder, Value *Num, Value *Den,
287 Value *optimizeWithFDivFast(IRBuilder<> &Builder, Value *Num, Value *Den,
290 Value *visitFDivElement(IRBuilder<> &Builder, Value *Num, Value *Den,
903 IRBuilder<> &Builder, Value *Num, Value *Den, const FastMathFlags DivFMF, in optimizeWithRsq() argument
915 assert(Den->getType()->isFloatTy()); in optimizeWithRsq()
926 canIgnoreDenormalInput(Den, CtxI)) { in optimizeWithRsq()
927 Value *Result = Builder.CreateUnaryIntrinsic(Intrinsic::amdgcn_rsq, Den); in optimizeWithRsq()
932 return emitRsqIEEE1ULP(Builder, Den, IsNegative); in optimizeWithRsq()
946 Value *Den, FastMathFlags FMF, in optimizeWithRcp() argument
951 assert(Den->getType()->isFloatTy()); in optimizeWithRcp()
957 Value *Src = Den; in optimizeWithRcp()
990 Value *Recip = Builder.CreateUnaryIntrinsic(Intrinsic::amdgcn_rcp, Den); in optimizeWithRcp()
994 Value *Recip = emitRcpIEEE1ULP(Builder, Den, false); in optimizeWithRcp()
1009 IRBuilder<> &Builder, Value *Num, Value *Den, float ReqdAccuracy) const { in optimizeWithFDivFast() argument
1015 assert(Den->getType()->isFloatTy()); in optimizeWithFDivFast()
1030 return Builder.CreateIntrinsic(Intrinsic::amdgcn_fdiv_fast, {}, {Num, Den}); in optimizeWithFDivFast()
1034 IRBuilder<> &Builder, Value *Num, Value *Den, FastMathFlags DivFMF, in visitFDivElement() argument
1044 Value *Rcp = optimizeWithRcp(Builder, Num, Den, DivFMF, FDivInst); in visitFDivElement()
1052 Value *FDivFast = optimizeWithFDivFast(Builder, Num, Den, ReqdDivAccuracy); in visitFDivElement()
1056 return emitFrexpDiv(Builder, Num, Den, DivFMF); in visitFDivElement()
1092 Value *Den = FDiv.getOperand(1); in visitFDiv() local
1095 auto *DenII = dyn_cast<IntrinsicInst>(Den); in visitFDiv()
1129 extractValues(Builder, DenVals, Den); in visitFDiv()
1194 Value *Den, unsigned AtLeast, in getDivNumBits() argument
1201 unsigned RHSSignBits = ComputeNumSignBits(Den, DL, 0, AC, &I); in getDivNumBits()
1216 Value *Den, bool IsDiv, in expandDivRem24() argument
1221 int DivBits = getDivNumBits(I, Num, Den, AtLeast, IsSigned); in expandDivRem24()
1224 return expandDivRem24Impl(Builder, I, Num, Den, DivBits, IsDiv, IsSigned); in expandDivRem24()
1228 IRBuilder<> &Builder, BinaryOperator &I, Value *Num, Value *Den, in expandDivRem24Impl() argument
1232 Den = Builder.CreateTrunc(Den, I32Ty); in expandDivRem24Impl()
1240 JQ = Builder.CreateXor(Num, Den); in expandDivRem24Impl()
1253 Value *IB = Den; in expandDivRem24Impl()
1304 Value *Rem = Builder.CreateMul(Div, Den); in expandDivRem24Impl()
1331 Value *Den) const { in divHasSpecialOptimization()
1332 if (Constant *C = dyn_cast<Constant>(Den)) { in divHasSpecialOptimization()
1349 if (BinaryOperator *BinOpDen = dyn_cast<BinaryOperator>(Den)) { in divHasSpecialOptimization()
1499 Value *Den) const { in shrinkDivRem64()
1500 if (!ExpandDiv64InIR && divHasSpecialOptimization(I, Num, Den)) in shrinkDivRem64()
1508 int NumDivBits = getDivNumBits(I, Num, Den, 32, IsSigned); in shrinkDivRem64()
1514 Narrowed = expandDivRem24Impl(Builder, I, Num, Den, NumDivBits, in shrinkDivRem64()
1517 Narrowed = expandDivRem32(Builder, I, Num, Den); in shrinkDivRem64()
1568 Value *Den = I.getOperand(1); in visitBinaryOperator() local
1577 Value *DenEltN = Builder.CreateExtractElement(Den, N); in visitBinaryOperator()
1604 NewDiv = expandDivRem32(Builder, I, Num, Den); in visitBinaryOperator()
1606 NewDiv = shrinkDivRem64(Builder, I, Num, Den); in visitBinaryOperator()