Lines Matching refs:DivFMF
277 bool canOptimizeWithRsq(const FPMathOperator *SqrtOp, FastMathFlags DivFMF,
281 FastMathFlags DivFMF, FastMathFlags SqrtFMF,
290 FastMathFlags DivFMF, FastMathFlags SqrtFMF,
889 FastMathFlags DivFMF, in canOptimizeWithRsq() argument
892 if (!DivFMF.allowContract() || !SqrtFMF.allowContract()) in canOptimizeWithRsq()
901 IRBuilder<> &Builder, Value *Num, Value *Den, const FastMathFlags DivFMF, in optimizeWithRsq() argument
904 assert(DivFMF.allowContract() && SqrtFMF.allowContract()); in optimizeWithRsq()
921 Builder.setFastMathFlags(DivFMF | SqrtFMF); in optimizeWithRsq()
923 if ((DivFMF.approxFunc() && SqrtFMF.approxFunc()) || HasUnsafeFPMath || in optimizeWithRsq()
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()
1054 return emitFrexpDiv(Builder, Num, Den, DivFMF); in visitFDivElement()
1084 const FastMathFlags DivFMF = FPOp->getFastMathFlags(); in visitFDiv() local
1098 if (canOptimizeWithRsq(SqrtOp, DivFMF, SqrtFMF)) in visitFDiv()
1111 const bool AllowInaccurateRcp = HasUnsafeFPMath || DivFMF.approxFunc(); in visitFDiv()
1120 Builder.setFastMathFlags(DivFMF); in visitFDiv()
1139 visitFDivElement(Builder, NumElt, DenElt, DivFMF, SqrtFMF, RsqDenElt, in visitFDiv()