Lines Matching refs:Den
170 Value *Num, Value *Den) const;
172 Value *Num, Value *Den,
177 Value *Num, Value *Den,
181 Value *Num, Value *Den, unsigned NumBits,
186 Value *Num, Value *Den) const;
189 Value *Num, Value *Den) const;
660 static Value *optimizeWithRcp(Value *Num, Value *Den, bool AllowInaccurateRcp, in optimizeWithRcp() argument
667 Type *Ty = Den->getType(); in optimizeWithRcp()
685 return Builder.CreateCall(Decl, { Den }); in optimizeWithRcp()
694 Value *FNeg = Builder.CreateFNeg(Den); in optimizeWithRcp()
706 Value *Recip = Builder.CreateCall(Decl, { Den }); in optimizeWithRcp()
719 static Value *optimizeWithFDivFast(Value *Num, Value *Den, float ReqdAccuracy, in optimizeWithFDivFast() argument
727 Type *Ty = Den->getType(); in optimizeWithFDivFast()
742 return Builder.CreateCall(Decl, { Num, Den }); in optimizeWithFDivFast()
791 Value *Den = FDiv.getOperand(1); in visitFDiv() local
801 Value *DenEltI = Builder.CreateExtractElement(Den, I); in visitFDiv()
815 NewFDiv = optimizeWithRcp(Num, Den, AllowInaccurateRcp, RcpIsAccurate, in visitFDiv()
818 NewFDiv = optimizeWithFDivFast(Num, Den, ReqdAccuracy, HasFP32Denormals, in visitFDiv()
884 Value *Num, Value *Den, in getDivNumBits() argument
891 unsigned RHSSignBits = ComputeNumSignBits(Den, DL, 0, AC, &I); in getDivNumBits()
906 Value *Num, Value *Den, in expandDivRem24() argument
908 int DivBits = getDivNumBits(I, Num, Den, 9, IsSigned); in expandDivRem24()
911 return expandDivRem24Impl(Builder, I, Num, Den, DivBits, IsDiv, IsSigned); in expandDivRem24()
916 Value *Num, Value *Den, in expandDivRem24Impl() argument
921 Den = Builder.CreateTrunc(Den, I32Ty); in expandDivRem24Impl()
929 JQ = Builder.CreateXor(Num, Den); in expandDivRem24Impl()
942 Value *IB = Den; in expandDivRem24Impl()
993 Value *Rem = Builder.CreateMul(Div, Den); in expandDivRem24Impl()
1019 BinaryOperator &I, Value *Num, Value *Den) const { in divHasSpecialOptimization()
1020 if (Constant *C = dyn_cast<Constant>(Den)) { in divHasSpecialOptimization()
1037 if (BinaryOperator *BinOpDen = dyn_cast<BinaryOperator>(Den)) { in divHasSpecialOptimization()
1187 Value *Num, Value *Den) const { in shrinkDivRem64()
1188 if (!ExpandDiv64InIR && divHasSpecialOptimization(I, Num, Den)) in shrinkDivRem64()
1196 int NumDivBits = getDivNumBits(I, Num, Den, 32, IsSigned); in shrinkDivRem64()
1202 Narrowed = expandDivRem24Impl(Builder, I, Num, Den, NumDivBits, in shrinkDivRem64()
1205 Narrowed = expandDivRem32(Builder, I, Num, Den); in shrinkDivRem64()
1256 Value *Den = I.getOperand(1); in visitBinaryOperator() local
1265 Value *DenEltN = Builder.CreateExtractElement(Den, N); in visitBinaryOperator()
1289 NewDiv = expandDivRem32(Builder, I, Num, Den); in visitBinaryOperator()
1291 NewDiv = shrinkDivRem64(Builder, I, Num, Den); in visitBinaryOperator()