Home
last modified time | relevance | path

Searched refs:FMF (Results 1 – 25 of 68) sorted by relevance

123

/freebsd/contrib/llvm-project/llvm/include/llvm/Analysis/
H A DInstructionSimplify.h90 LLVM_ABI Value *simplifyFNegInst(Value *Op, FastMathFlags FMF,
95 simplifyFAddInst(Value *LHS, Value *RHS, FastMathFlags FMF,
102 simplifyFSubInst(Value *LHS, Value *RHS, FastMathFlags FMF,
109 simplifyFMulInst(Value *LHS, Value *RHS, FastMathFlags FMF,
119 simplifyFMAFMul(Value *LHS, Value *RHS, FastMathFlags FMF,
126 simplifyFDivInst(Value *LHS, Value *RHS, FastMathFlags FMF,
133 simplifyFRemInst(Value *LHS, Value *RHS, FastMathFlags FMF,
165 FastMathFlags FMF, const SimplifyQuery &Q);
221 LLVM_ABI Value *simplifyUnOp(unsigned Opcode, Value *Op, FastMathFlags FMF,
231 FastMathFlags FMF, const SimplifyQuery &Q);
H A DInstSimplifyFolder.h68 FastMathFlags FMF) const override { in FoldBinOpFMF() argument
69 return simplifyBinOp(Opc, LHS, RHS, FMF, SQ); in FoldBinOpFMF()
73 FastMathFlags FMF) const override { in FoldUnOpFMF() argument
74 return simplifyUnOp(Opc, V, FMF, SQ); in FoldUnOpFMF()
H A DIVDescriptors.h93 RecurKind K, FastMathFlags FMF, Instruction *ExactFP, in RecurrenceDescriptor() argument
98 Kind(K), FMF(FMF), ExactFPMathInst(ExactFP), RecurrenceType(RT), in RecurrenceDescriptor()
227 FastMathFlags getFastMathFlags() const { return FMF; } in getFastMathFlags()
360 FastMathFlags FMF; variable
H A DTargetTransformInfo.h128 FastMathFlags FMF; variable
158 FastMathFlags getFlags() const { return FMF; } in getFlags()
1607 static bool requiresOrderedReduction(std::optional<FastMathFlags> FMF) { in requiresOrderedReduction() argument
1608 return FMF && !(*FMF).allowReassoc(); in requiresOrderedReduction()
1636 unsigned Opcode, VectorType *Ty, std::optional<FastMathFlags> FMF,
1640 Intrinsic::ID IID, VectorType *Ty, FastMathFlags FMF = FastMathFlags(),
1658 std::optional<FastMathFlags> FMF,
H A DTargetFolder.h99 FastMathFlags FMF) const override { in FoldBinOpFMF() argument
112 FastMathFlags FMF) const override { in FoldUnOpFMF() argument
/freebsd/contrib/llvm-project/llvm/include/llvm/IR/
H A DFMF.h51 FastMathFlags FMF; in getFast() local
52 FMF.setFast(); in getFast()
53 return FMF; in getFast()
136 inline raw_ostream &operator<<(raw_ostream &O, FastMathFlags FMF) {
137 FMF.print(O);
H A DFPEnv.h86 inline bool canIgnoreSNaN(fp::ExceptionBehavior EB, FastMathFlags FMF) { in canIgnoreSNaN() argument
87 return (EB == fp::ebIgnore || FMF.noNaNs()); in canIgnoreSNaN()
H A DIRBuilder.h94 std::optional<FastMathFlags> FMF; variable
100 FMF = Source->getFastMathFlags(); in FMFSource()
102 FMFSource(FastMathFlags FMF) : FMF(FMF) {} in FMFSource() argument
104 return FMF.value_or(Default); in get()
153 FastMathFlags FMF; variable
334 FastMathFlags getFastMathFlags() const { return FMF; } in getFastMathFlags()
336 FastMathFlags &getFastMathFlags() { return FMF; } in getFastMathFlags()
339 void clearFastMathFlags() { FMF.clear(); } in clearFastMathFlags()
345 void setFastMathFlags(FastMathFlags NewFMF) { FMF = NewFMF; } in setFastMathFlags()
433 FastMathFlags FMF; variable
[all …]
H A DIRBuilderFolder.h48 Value *RHS, FastMathFlags FMF) const = 0;
51 FastMathFlags FMF) const = 0;
H A DNoFolder.h65 FastMathFlags FMF) const override { in FoldBinOpFMF() argument
70 FastMathFlags FMF) const override { in FoldUnOpFMF() argument
H A DOperator.h259 void setFastMathFlags(FastMathFlags FMF) {
260 SubclassOptionalData |= FMF.Flags;
265 void copyFastMathFlags(FastMathFlags FMF) {
266 SubclassOptionalData = FMF.Flags;
H A DConstantFolder.h88 FastMathFlags FMF) const override { in FoldBinOpFMF() argument
93 FastMathFlags FMF) const override { in FoldUnOpFMF() argument
H A DInstrTypes.h228 FastMathFlags FMF,
232 BO->setFastMathFlags(FMF);
236 static BinaryOperator *CreateFAddFMF(Value *V1, Value *V2, FastMathFlags FMF,
238 return CreateWithFMF(Instruction::FAdd, V1, V2, FMF, Name);
240 static BinaryOperator *CreateFSubFMF(Value *V1, Value *V2, FastMathFlags FMF,
242 return CreateWithFMF(Instruction::FSub, V1, V2, FMF, Name);
244 static BinaryOperator *CreateFMulFMF(Value *V1, Value *V2, FastMathFlags FMF,
246 return CreateWithFMF(Instruction::FMul, V1, V2, FMF, Name);
248 static BinaryOperator *CreateFDivFMF(Value *V1, Value *V2, FastMathFlags FMF,
250 return CreateWithFMF(Instruction::FDiv, V1, V2, FMF, Name);
/freebsd/contrib/llvm-project/llvm/lib/Analysis/
H A DIVDescriptors.cpp289 FastMathFlags FMF = FastMathFlags::getFast(); in AddReductionVar() local
395 FMF &= CurFMF; in AddReductionVar()
601 FMF, ExactFPMathInst, RecurrenceType, IsSigned, in AddReductionVar()
995 FastMathFlags FMF; in isReductionPHI() local
996 FMF.setNoNaNs( in isReductionPHI()
998 FMF.setNoSignedZeros( in isReductionPHI()
1001 if (AddReductionVar(Phi, RecurKind::Add, TheLoop, FMF, RedDes, DB, AC, DT, in isReductionPHI()
1006 if (AddReductionVar(Phi, RecurKind::Mul, TheLoop, FMF, RedDes, DB, AC, DT, in isReductionPHI()
1011 if (AddReductionVar(Phi, RecurKind::Or, TheLoop, FMF, RedDes, DB, AC, DT, in isReductionPHI()
1016 if (AddReductionVar(Phi, RecurKind::And, TheLoop, FMF, RedDes, DB, AC, DT, in isReductionPHI()
[all …]
H A DInstructionSimplify.cpp4065 FastMathFlags FMF, const SimplifyQuery &Q, in simplifyFCmpInst() argument
4115 if (FMF.noNaNs() || in simplifyFCmpInst()
4133 return computeKnownFPClass(LHS, FMF, InterestedFlags, Q); in simplifyFCmpInst()
4246 if (!FMF.noNaNs()) in simplifyFCmpInst()
4253 if ((FMF.noNaNs() || Known.isKnownNeverNaN()) && in simplifyFCmpInst()
4290 FastMathFlags FMF, const SimplifyQuery &Q) { in simplifyFCmpInst() argument
4291 return ::simplifyFCmpInst(Predicate, LHS, RHS, FMF, Q, RecursionLimit); in simplifyFCmpInst()
5584 static Value *simplifyFNegInst(Value *Op, FastMathFlags FMF, in simplifyFNegInst() argument
5597 Value *llvm::simplifyFNegInst(Value *Op, FastMathFlags FMF, in simplifyFNegInst() argument
5599 return ::simplifyFNegInst(Op, FMF, Q, RecursionLimit); in simplifyFNegInst()
[all …]
/freebsd/contrib/llvm-project/llvm/lib/Target/AMDGPU/
H A DAMDGPULibCalls.cpp90 FastMathFlags FMF,
576 FastMathFlags FMF) { in isKnownIntegral() argument
612 if (FMF.noInfs()) in isKnownIntegral()
628 return (FMF.noInfs() && FMF.noNaNs()) || in isKnownIntegral()
676 FastMathFlags FMF = FPOp->getFastMathFlags(); in fold() local
677 B.setFastMathFlags(FMF); in fold()
684 if (FMF.none()) in fold()
687 FMF.approxFunc()); in fold()
689 if (FMF.none()) in fold()
692 FMF.approxFunc()); in fold()
[all …]
H A DAMDGPUCodeGenPrepare.cpp298 FastMathFlags FMF, const Instruction *CtxI) const;
313 FastMathFlags FMF) const;
315 FastMathFlags FMF) const;
819 FastMathFlags FMF) const { in emitFrexpDiv()
824 (!FMF.noNaNs() || !FMF.noInfs())) in emitFrexpDiv()
846 FastMathFlags FMF) const { in emitSqrtIEEE2ULP()
950 Value *Den, FastMathFlags FMF, in optimizeWithRcp() argument
963 if (HasFP32DenormalFlush || FMF.approxFunc()) { in optimizeWithRcp()
988 if (FMF.allowReciprocal()) { in optimizeWithRcp()
993 if (HasFP32DenormalFlush || FMF.approxFunc()) { in optimizeWithRcp()
[all …]
/freebsd/contrib/llvm-project/llvm/lib/CodeGen/
H A DExpandReductions.cpp58 FastMathFlags FMF = in expandReductions() local
68 Builder.setFastMathFlags(FMF); in expandReductions()
78 if (!FMF.allowReassoc()) in expandReductions()
142 !FMF.noNaNs()) in expandReductions()
/freebsd/contrib/llvm-project/llvm/include/llvm/AsmParser/
H A DLLParser.h242 FastMathFlags FMF; in EatFastMathFlagsIfPresent() local
245 case lltok::kw_fast: FMF.setFast(); Lex.Lex(); continue; in EatFastMathFlagsIfPresent()
246 case lltok::kw_nnan: FMF.setNoNaNs(); Lex.Lex(); continue; in EatFastMathFlagsIfPresent()
247 case lltok::kw_ninf: FMF.setNoInfs(); Lex.Lex(); continue; in EatFastMathFlagsIfPresent()
248 case lltok::kw_nsz: FMF.setNoSignedZeros(); Lex.Lex(); continue; in EatFastMathFlagsIfPresent()
249 case lltok::kw_arcp: FMF.setAllowReciprocal(); Lex.Lex(); continue; in EatFastMathFlagsIfPresent()
251 FMF.setAllowContract(true); in EatFastMathFlagsIfPresent()
254 case lltok::kw_reassoc: FMF.setAllowReassoc(); Lex.Lex(); continue; in EatFastMathFlagsIfPresent()
255 case lltok::kw_afn: FMF.setApproxFunc(); Lex.Lex(); continue; in EatFastMathFlagsIfPresent()
256 default: return FMF; in EatFastMathFlagsIfPresent()
[all …]
/freebsd/contrib/llvm-project/llvm/include/llvm/CodeGen/
H A DBasicTTIImpl.h1867 FastMathFlags FMF = ICA.getFlags(); in getIntrinsicInstrCost() local
2013 IntrinsicCostAttributes Attrs(IID, RetTy, Args[0]->getType(), FMF, I, 1); in getIntrinsicInstrCost()
2019 IID, RetTy, {Args[0]->getType(), Args[1]->getType()}, FMF, I, 1); in getIntrinsicInstrCost()
2092 FMF); in getIntrinsicInstrCost()
2105 NewEltTy, NewVecTy, FMF, I, 1); in getIntrinsicInstrCost()
2165 IntrinsicCostAttributes Attrs(IID, RetTy, ICA.getArgTypes(), FMF, I, in getIntrinsicInstrCost()
2180 FastMathFlags FMF = ICA.getFlags(); in getTypeBasedIntrinsicInstrCost() local
2235 IntrinsicCostAttributes ScalarAttrs(IID, ScalarRetTy, ScalarTys, FMF); in getTypeBasedIntrinsicInstrCost()
2422 getArithmeticReductionInstruction(IID), VecOpTy, FMF, CostKind); in getTypeBasedIntrinsicInstrCost()
2476 IntrinsicCostAttributes Attrs(Intrinsic::uadd_sat, ExpRetTy, {}, FMF); in getTypeBasedIntrinsicInstrCost()
[all …]
/freebsd/contrib/llvm-project/llvm/lib/Target/SystemZ/
H A DSystemZTargetTransformInfo.h140 std::optional<FastMathFlags> FMF,
143 getMinMaxReductionCost(Intrinsic::ID IID, VectorType *Ty, FastMathFlags FMF,
/freebsd/contrib/llvm-project/llvm/lib/Transforms/InstCombine/
H A DInstCombineSelect.cpp344 FastMathFlags FMF = TI->getFastMathFlags(); in foldSelectOpOp() local
345 FMF &= FI->getFastMathFlags(); in foldSelectOpOp()
346 FMF |= SI.getFastMathFlags(); in foldSelectOpOp()
350 NewSelI->setFastMathFlags(FMF); in foldSelectOpOp()
352 NewFNeg->setFastMathFlags(FMF); in foldSelectOpOp()
383 FastMathFlags FMF = cast<FPMathOperator>(TII)->getFastMathFlags(); in foldSelectOpOp() local
384 FMF &= cast<FPMathOperator>(FII)->getFastMathFlags(); in foldSelectOpOp()
385 FMF |= SelectFPOp->getFastMathFlags(); in foldSelectOpOp()
392 NewLdexp->setFastMathFlags(FMF); in foldSelectOpOp()
516 FastMathFlags FMF; in foldSelectIntoOp() local
[all …]
/freebsd/contrib/llvm-project/llvm/lib/Target/RISCV/
H A DRISCVTargetTransformInfo.cpp1715 FastMathFlags FMF, in getMinMaxReductionCost() argument
1718 return BaseT::getMinMaxReductionCost(IID, Ty, FMF, CostKind); in getMinMaxReductionCost()
1722 return BaseT::getMinMaxReductionCost(IID, Ty, FMF, CostKind); in getMinMaxReductionCost()
1730 return getArithmeticReductionCost(Instruction::Or, Ty, FMF, CostKind); in getMinMaxReductionCost()
1732 return getArithmeticReductionCost(Instruction::And, Ty, FMF, CostKind); in getMinMaxReductionCost()
1740 if (FMF.noNaNs()) { in getMinMaxReductionCost()
1759 if (FMF.noNaNs()) { in getMinMaxReductionCost()
1821 std::optional<FastMathFlags> FMF, in getArithmeticReductionCost() argument
1824 return BaseT::getArithmeticReductionCost(Opcode, Ty, FMF, CostKind); in getArithmeticReductionCost()
1828 return BaseT::getArithmeticReductionCost(Opcode, Ty, FMF, CostKind); in getArithmeticReductionCost()
[all …]
/freebsd/contrib/llvm-project/llvm/lib/Target/ARM/
H A DARMTargetTransformInfo.h294 std::optional<FastMathFlags> FMF,
298 VectorType *ValTy, std::optional<FastMathFlags> FMF,
305 getMinMaxReductionCost(Intrinsic::ID IID, VectorType *Ty, FastMathFlags FMF,
/freebsd/contrib/llvm-project/llvm/lib/Target/X86/
H A DX86TargetTransformInfo.h220 std::optional<FastMathFlags> FMF,
225 FastMathFlags FMF) const;
228 getMinMaxReductionCost(Intrinsic::ID IID, VectorType *Ty, FastMathFlags FMF,

123