Lines Matching refs:FMF
4062 FastMathFlags FMF, const SimplifyQuery &Q, in simplifyFCmpInst() argument
4110 if (FMF.noNaNs() || in simplifyFCmpInst()
4126 return computeKnownFPClass(LHS, FMF, Q.DL, InterestedFlags, 0, Q.TLI, Q.AC, in simplifyFCmpInst()
4240 if (!FMF.noNaNs()) in simplifyFCmpInst()
4247 if ((FMF.noNaNs() || Known.isKnownNeverNaN()) && in simplifyFCmpInst()
4284 FastMathFlags FMF, const SimplifyQuery &Q) { in simplifyFCmpInst() argument
4285 return ::simplifyFCmpInst(Predicate, LHS, RHS, FMF, Q, RecursionLimit); in simplifyFCmpInst()
5510 static Value *simplifyFNegInst(Value *Op, FastMathFlags FMF, in simplifyFNegInst() argument
5523 Value *llvm::simplifyFNegInst(Value *Op, FastMathFlags FMF, in simplifyFNegInst() argument
5525 return ::simplifyFNegInst(Op, FMF, Q, RecursionLimit); in simplifyFNegInst()
5572 static Constant *simplifyFPOp(ArrayRef<Value *> Ops, FastMathFlags FMF, in simplifyFPOp() argument
5589 if (FMF.noNaNs() && (IsNan || IsUndef)) in simplifyFPOp()
5591 if (FMF.noInfs() && (IsInf || IsUndef)) in simplifyFPOp()
5614 simplifyFAddInst(Value *Op0, Value *Op1, FastMathFlags FMF, in simplifyFAddInst() argument
5622 if (Constant *C = simplifyFPOp({Op0, Op1}, FMF, Q, ExBehavior, Rounding)) in simplifyFAddInst()
5630 if (canIgnoreSNaN(ExBehavior, FMF) && in simplifyFAddInst()
5632 FMF.noSignedZeros())) in simplifyFAddInst()
5637 if (canIgnoreSNaN(ExBehavior, FMF)) in simplifyFAddInst()
5639 (FMF.noSignedZeros() || cannotBeNegativeZero(Op0, Q.DL, Q.TLI))) in simplifyFAddInst()
5645 if (FMF.noNaNs()) { in simplifyFAddInst()
5669 if (FMF.noSignedZeros() && FMF.allowReassoc() && in simplifyFAddInst()
5680 simplifyFSubInst(Value *Op0, Value *Op1, FastMathFlags FMF, in simplifyFSubInst() argument
5688 if (Constant *C = simplifyFPOp({Op0, Op1}, FMF, Q, ExBehavior, Rounding)) in simplifyFSubInst()
5692 if (canIgnoreSNaN(ExBehavior, FMF) && in simplifyFSubInst()
5694 FMF.noSignedZeros())) in simplifyFSubInst()
5699 if (canIgnoreSNaN(ExBehavior, FMF)) in simplifyFSubInst()
5701 (FMF.noSignedZeros() || cannotBeNegativeZero(Op0, Q.DL, Q.TLI))) in simplifyFSubInst()
5707 if (canIgnoreSNaN(ExBehavior, FMF)) in simplifyFSubInst()
5713 if (canIgnoreSNaN(ExBehavior, FMF)) in simplifyFSubInst()
5714 if (FMF.noSignedZeros() && match(Op0, m_AnyZeroFP()) && in simplifyFSubInst()
5722 if (FMF.noNaNs()) { in simplifyFSubInst()
5738 if (FMF.noSignedZeros() && FMF.allowReassoc() && in simplifyFSubInst()
5746 static Value *simplifyFMAFMul(Value *Op0, Value *Op1, FastMathFlags FMF, in simplifyFMAFMul() argument
5750 if (Constant *C = simplifyFPOp({Op0, Op1}, FMF, Q, ExBehavior, Rounding)) in simplifyFMAFMul()
5766 if (FMF.noNaNs() && FMF.noSignedZeros()) in simplifyFMAFMul()
5781 if (Op0 == Op1 && match(Op0, m_Sqrt(m_Value(X))) && FMF.allowReassoc() && in simplifyFMAFMul()
5782 FMF.noNaNs() && FMF.noSignedZeros()) in simplifyFMAFMul()
5790 simplifyFMulInst(Value *Op0, Value *Op1, FastMathFlags FMF, in simplifyFMulInst() argument
5799 return simplifyFMAFMul(Op0, Op1, FMF, Q, MaxRecurse, ExBehavior, Rounding); in simplifyFMulInst()
5802 Value *llvm::simplifyFAddInst(Value *Op0, Value *Op1, FastMathFlags FMF, in simplifyFAddInst() argument
5806 return ::simplifyFAddInst(Op0, Op1, FMF, Q, RecursionLimit, ExBehavior, in simplifyFAddInst()
5810 Value *llvm::simplifyFSubInst(Value *Op0, Value *Op1, FastMathFlags FMF, in simplifyFSubInst() argument
5814 return ::simplifyFSubInst(Op0, Op1, FMF, Q, RecursionLimit, ExBehavior, in simplifyFSubInst()
5818 Value *llvm::simplifyFMulInst(Value *Op0, Value *Op1, FastMathFlags FMF, in simplifyFMulInst() argument
5822 return ::simplifyFMulInst(Op0, Op1, FMF, Q, RecursionLimit, ExBehavior, in simplifyFMulInst()
5826 Value *llvm::simplifyFMAFMul(Value *Op0, Value *Op1, FastMathFlags FMF, in simplifyFMAFMul() argument
5830 return ::simplifyFMAFMul(Op0, Op1, FMF, Q, RecursionLimit, ExBehavior, in simplifyFMAFMul()
5835 simplifyFDivInst(Value *Op0, Value *Op1, FastMathFlags FMF, in simplifyFDivInst() argument
5843 if (Constant *C = simplifyFPOp({Op0, Op1}, FMF, Q, ExBehavior, Rounding)) in simplifyFDivInst()
5856 if (FMF.noNaNs() && FMF.noSignedZeros() && match(Op0, m_AnyZeroFP())) in simplifyFDivInst()
5859 if (FMF.noNaNs()) { in simplifyFDivInst()
5867 if (FMF.allowReassoc() && match(Op0, m_c_FMul(m_Value(X), m_Specific(Op1)))) in simplifyFDivInst()
5878 if (FMF.noInfs() && match(Op1, m_AnyZeroFP())) in simplifyFDivInst()
5885 Value *llvm::simplifyFDivInst(Value *Op0, Value *Op1, FastMathFlags FMF, in simplifyFDivInst() argument
5889 return ::simplifyFDivInst(Op0, Op1, FMF, Q, RecursionLimit, ExBehavior, in simplifyFDivInst()
5894 simplifyFRemInst(Value *Op0, Value *Op1, FastMathFlags FMF, in simplifyFRemInst() argument
5902 if (Constant *C = simplifyFPOp({Op0, Op1}, FMF, Q, ExBehavior, Rounding)) in simplifyFRemInst()
5911 if (FMF.noNaNs()) { in simplifyFRemInst()
5923 Value *llvm::simplifyFRemInst(Value *Op0, Value *Op1, FastMathFlags FMF, in simplifyFRemInst() argument
5927 return ::simplifyFRemInst(Op0, Op1, FMF, Q, RecursionLimit, ExBehavior, in simplifyFRemInst()
5949 const FastMathFlags &FMF, const SimplifyQuery &Q, in simplifyFPUnOp() argument
5953 return simplifyFNegInst(Op, FMF, Q, MaxRecurse); in simplifyFPUnOp()
5963 Value *llvm::simplifyUnOp(unsigned Opcode, Value *Op, FastMathFlags FMF, in simplifyUnOp() argument
5965 return ::simplifyFPUnOp(Opcode, Op, FMF, Q, RecursionLimit); in simplifyUnOp()
6022 const FastMathFlags &FMF, const SimplifyQuery &Q, in simplifyBinOp() argument
6026 return simplifyFAddInst(LHS, RHS, FMF, Q, MaxRecurse); in simplifyBinOp()
6028 return simplifyFSubInst(LHS, RHS, FMF, Q, MaxRecurse); in simplifyBinOp()
6030 return simplifyFMulInst(LHS, RHS, FMF, Q, MaxRecurse); in simplifyBinOp()
6032 return simplifyFDivInst(LHS, RHS, FMF, Q, MaxRecurse); in simplifyBinOp()
6044 FastMathFlags FMF, const SimplifyQuery &Q) { in simplifyBinOp() argument
6045 return ::simplifyBinOp(Opcode, LHS, RHS, FMF, Q, RecursionLimit); in simplifyBinOp()