Lines Matching refs:SqrtFMF
279 FastMathFlags SqrtFMF) const;
282 FastMathFlags DivFMF, FastMathFlags SqrtFMF,
291 FastMathFlags DivFMF, FastMathFlags SqrtFMF,
892 FastMathFlags SqrtFMF) const { in canOptimizeWithRsq()
894 if (!DivFMF.allowContract() || !SqrtFMF.allowContract()) in canOptimizeWithRsq()
898 return SqrtFMF.approxFunc() || HasUnsafeFPMath || in canOptimizeWithRsq()
904 const FastMathFlags SqrtFMF, const Instruction *CtxI) const { in optimizeWithRsq() argument
906 assert(DivFMF.allowContract() && SqrtFMF.allowContract()); in optimizeWithRsq()
923 Builder.setFastMathFlags(DivFMF | SqrtFMF); in optimizeWithRsq()
925 if ((DivFMF.approxFunc() && SqrtFMF.approxFunc()) || HasUnsafeFPMath || in optimizeWithRsq()
1035 FastMathFlags SqrtFMF, Value *RsqOp, const Instruction *FDivInst, in visitFDivElement() argument
1039 optimizeWithRsq(Builder, Num, RsqOp, DivFMF, SqrtFMF, FDivInst); in visitFDivElement()
1089 FastMathFlags SqrtFMF; in visitFDiv() local
1099 SqrtFMF = SqrtOp->getFastMathFlags(); in visitFDiv()
1100 if (canOptimizeWithRsq(SqrtOp, DivFMF, SqrtFMF)) in visitFDiv()
1141 visitFDivElement(Builder, NumElt, DenElt, DivFMF, SqrtFMF, RsqDenElt, in visitFDiv()
2211 FastMathFlags SqrtFMF = FPOp->getFastMathFlags(); in visitSqrt() local
2215 if (SqrtFMF.approxFunc() || HasUnsafeFPMath) in visitSqrt()
2231 canOptimizeWithRsq(FPOp, FDiv->getFastMathFlags(), SqrtFMF) && in visitSqrt()
2253 ResultVals[I] = emitSqrtIEEE2ULP(Builder, SrcVals[I], SqrtFMF); in visitSqrt()