Lines Matching refs:DivFMF
278 bool canOptimizeWithRsq(const FPMathOperator *SqrtOp, FastMathFlags DivFMF,
282 FastMathFlags DivFMF, FastMathFlags SqrtFMF,
291 FastMathFlags DivFMF, FastMathFlags SqrtFMF,
891 FastMathFlags DivFMF, in canOptimizeWithRsq() argument
894 if (!DivFMF.allowContract() || !SqrtFMF.allowContract()) in canOptimizeWithRsq()
903 IRBuilder<> &Builder, Value *Num, Value *Den, const FastMathFlags DivFMF, 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()
1034 IRBuilder<> &Builder, Value *Num, Value *Den, FastMathFlags DivFMF, in visitFDivElement() argument
1039 optimizeWithRsq(Builder, Num, RsqOp, DivFMF, SqrtFMF, FDivInst); in visitFDivElement()
1044 Value *Rcp = optimizeWithRcp(Builder, Num, Den, DivFMF, FDivInst); in visitFDivElement()
1056 return emitFrexpDiv(Builder, Num, Den, DivFMF); in visitFDivElement()
1086 const FastMathFlags DivFMF = FPOp->getFastMathFlags(); in visitFDiv() local
1100 if (canOptimizeWithRsq(SqrtOp, DivFMF, SqrtFMF)) in visitFDiv()
1113 const bool AllowInaccurateRcp = HasUnsafeFPMath || DivFMF.approxFunc(); in visitFDiv()
1122 Builder.setFastMathFlags(DivFMF); in visitFDiv()
1141 visitFDivElement(Builder, NumElt, DenElt, DivFMF, SqrtFMF, RsqDenElt, in visitFDiv()