Home
last modified time | relevance | path

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

123

/freebsd/contrib/llvm-project/llvm/include/llvm/Analysis/
H A DInstructionSimplify.h87 Value *simplifyFNegInst(Value *Op, FastMathFlags FMF, const SimplifyQuery &Q);
92 simplifyFAddInst(Value *LHS, Value *RHS, FastMathFlags FMF,
99 simplifyFSubInst(Value *LHS, Value *RHS, FastMathFlags FMF,
106 simplifyFMulInst(Value *LHS, Value *RHS, FastMathFlags FMF,
115 Value *simplifyFMAFMul(Value *LHS, Value *RHS, FastMathFlags FMF,
122 simplifyFDivInst(Value *LHS, Value *RHS, FastMathFlags FMF,
129 simplifyFRemInst(Value *LHS, Value *RHS, FastMathFlags FMF,
161 FastMathFlags FMF, const SimplifyQuery &Q);
212 Value *simplifyUnOp(unsigned Opcode, Value *Op, FastMathFlags FMF,
221 Value *simplifyBinOp(unsigned Opcode, Value *LHS, Value *RHS, FastMathFlags FMF,
H A DIVDescriptors.h76 RecurKind K, FastMathFlags FMF, Instruction *ExactFP, in RecurrenceDescriptor() argument
81 Kind(K), FMF(FMF), ExactFPMathInst(ExactFP), RecurrenceType(RT), in RecurrenceDescriptor()
160 Value *getRecurrenceIdentity(RecurKind K, Type *Tp, FastMathFlags FMF) const;
201 FastMathFlags getFastMathFlags() const { return FMF; } in getFastMathFlags()
288 FastMathFlags FMF; variable
H A DInstSimplifyFolder.h66 FastMathFlags FMF) const override { in FoldBinOpFMF() argument
67 return simplifyBinOp(Opc, LHS, RHS, FMF, SQ); in FoldBinOpFMF()
71 FastMathFlags FMF) const override { in FoldUnOpFMF() argument
72 return simplifyUnOp(Opc, V, FMF, SQ); in FoldUnOpFMF()
H A DValueTracking.h531 FastMathFlags FMF, FPClassTest InterestedClasses, in computeKnownFPClass() argument
533 if (FMF.noNaNs()) in computeKnownFPClass()
535 if (FMF.noInfs()) in computeKnownFPClass()
541 if (FMF.noNaNs()) in computeKnownFPClass()
543 if (FMF.noInfs()) in computeKnownFPClass()
548 inline KnownFPClass computeKnownFPClass(const Value *V, FastMathFlags FMF, in computeKnownFPClass() argument
555 return computeKnownFPClass(V, DemandedElts, FMF, InterestedClasses, Depth, in computeKnownFPClass()
H A DTargetTransformInfo.h127 FastMathFlags FMF; variable
155 FastMathFlags getFlags() const { return FMF; } in getFlags()
1483 static bool requiresOrderedReduction(std::optional<FastMathFlags> FMF) { in requiresOrderedReduction() argument
1484 return FMF && !(*FMF).allowReassoc(); in requiresOrderedReduction()
1512 unsigned Opcode, VectorType *Ty, std::optional<FastMathFlags> FMF,
1516 Intrinsic::ID IID, VectorType *Ty, FastMathFlags FMF = FastMathFlags(),
1534 FastMathFlags FMF,
2106 std::optional<FastMathFlags> FMF,
2109 getMinMaxReductionCost(Intrinsic::ID IID, VectorType *Ty, FastMathFlags FMF,
2113 FastMathFlags FMF,
[all …]
/freebsd/contrib/llvm-project/llvm/include/llvm/IR/
H A DFMF.h1 //===-- llvm/FMF.h - Fast math flags subclass -------------------*- C++ -*-===//
52 FastMathFlags FMF; in getFast() local
53 FMF.setFast(); in getFast()
54 return FMF; in getFast()
123 inline raw_ostream &operator<<(raw_ostream &O, FastMathFlags FMF) {
124 FMF.print(O);
H A DIRBuilder.h123 FastMathFlags FMF; variable
297 FastMathFlags getFastMathFlags() const { return FMF; } in getFastMathFlags()
299 FastMathFlags &getFastMathFlags() { return FMF; } in getFastMathFlags()
302 void clearFastMathFlags() { FMF.clear(); } in clearFastMathFlags()
308 void setFastMathFlags(FastMathFlags NewFMF) { FMF = NewFMF; } in setFastMathFlags()
396 FastMathFlags FMF; variable
404 : Builder(B), FMF(B.FMF), FPMathTag(B.DefaultFPMathTag), in FastMathFlagGuard()
413 Builder.FMF = FMF; in ~FastMathFlagGuard()
1287 FastMathFlags FMF) const { in setFPAttrs() argument
1292 I->setFastMathFlags(FMF); in setFPAttrs()
[all …]
H A DFPEnv.h83 inline bool canIgnoreSNaN(fp::ExceptionBehavior EB, FastMathFlags FMF) { in canIgnoreSNaN() argument
84 return (EB == fp::ebIgnore || FMF.noNaNs()); in canIgnoreSNaN()
H A DIRBuilderFolder.h47 Value *RHS, FastMathFlags FMF) const = 0;
50 FastMathFlags FMF) const = 0;
H A DNoFolder.h64 FastMathFlags FMF) const override { in FoldBinOpFMF() argument
69 FastMathFlags FMF) const override { in FoldUnOpFMF() argument
H A DOperator.h261 void setFastMathFlags(FastMathFlags FMF) {
262 SubclassOptionalData |= FMF.Flags;
267 void copyFastMathFlags(FastMathFlags FMF) {
268 SubclassOptionalData = FMF.Flags;
H A DConstantFolder.h87 FastMathFlags FMF) const override { in FoldBinOpFMF() argument
92 FastMathFlags FMF) const override { in FoldUnOpFMF() argument
/freebsd/contrib/llvm-project/llvm/lib/Analysis/
H A DIVDescriptors.cpp287 FastMathFlags FMF = FastMathFlags::getFast(); in AddReductionVar() local
393 FMF &= CurFMF; in AddReductionVar()
599 FMF, ExactFPMathInst, RecurrenceType, IsSigned, in AddReductionVar()
845 FastMathFlags FMF; in isReductionPHI() local
846 FMF.setNoNaNs( in isReductionPHI()
848 FMF.setNoSignedZeros( in isReductionPHI()
851 if (AddReductionVar(Phi, RecurKind::Add, TheLoop, FMF, RedDes, DB, AC, DT, in isReductionPHI()
856 if (AddReductionVar(Phi, RecurKind::Mul, TheLoop, FMF, RedDes, DB, AC, DT, in isReductionPHI()
861 if (AddReductionVar(Phi, RecurKind::Or, TheLoop, FMF, RedDes, DB, AC, DT, in isReductionPHI()
866 if (AddReductionVar(Phi, RecurKind::And, TheLoop, FMF, RedDes, DB, AC, DT, in isReductionPHI()
[all …]
H A DInstructionSimplify.cpp4069 FastMathFlags FMF, const SimplifyQuery &Q, in simplifyFCmpInst() argument
4122 if (FMF.noNaNs() || in simplifyFCmpInst()
4140 return computeKnownFPClass(LHS, FMF, InterestedFlags, 0, Q); in simplifyFCmpInst()
4253 if (!FMF.noNaNs()) in simplifyFCmpInst()
4260 if ((FMF.noNaNs() || Known.isKnownNeverNaN()) && in simplifyFCmpInst()
4297 FastMathFlags FMF, const SimplifyQuery &Q) { in simplifyFCmpInst() argument
4298 return ::simplifyFCmpInst(Predicate, LHS, RHS, FMF, Q, RecursionLimit); in simplifyFCmpInst()
5547 static Value *simplifyFNegInst(Value *Op, FastMathFlags FMF, in simplifyFNegInst() argument
5560 Value *llvm::simplifyFNegInst(Value *Op, FastMathFlags FMF, in simplifyFNegInst() argument
5562 return ::simplifyFNegInst(Op, FMF, Q, RecursionLimit); in simplifyFNegInst()
[all …]
H A DTargetTransformInfo.cpp78 FMF = FPMO->getFastMathFlags(); in IntrinsicCostAttributes()
91 : II(I), RetTy(RTy), IID(Id), FMF(Flags), ScalarizationCost(ScalarCost) { in IntrinsicCostAttributes()
111 : II(I), RetTy(RTy), IID(Id), FMF(Flags), ScalarizationCost(ScalarCost) { in IntrinsicCostAttributes()
1150 unsigned Opcode, VectorType *Ty, std::optional<FastMathFlags> FMF, in getArithmeticReductionCost() argument
1153 TTIImpl->getArithmeticReductionCost(Opcode, Ty, FMF, CostKind); in getArithmeticReductionCost()
1159 Intrinsic::ID IID, VectorType *Ty, FastMathFlags FMF, in getMinMaxReductionCost() argument
1162 TTIImpl->getMinMaxReductionCost(IID, Ty, FMF, CostKind); in getMinMaxReductionCost()
1169 FastMathFlags FMF, TTI::TargetCostKind CostKind) const { in getExtendedReductionCost() argument
1170 return TTIImpl->getExtendedReductionCost(Opcode, IsUnsigned, ResTy, Ty, FMF, in getExtendedReductionCost()
/freebsd/contrib/llvm-project/llvm/lib/Target/AMDGPU/
H A DAMDGPULibCalls.cpp94 FastMathFlags FMF,
580 FastMathFlags FMF) { in isKnownIntegral() argument
616 if (FMF.noInfs()) in isKnownIntegral()
632 return (FMF.noInfs() && FMF.noNaNs()) || in isKnownIntegral()
680 FastMathFlags FMF = FPOp->getFastMathFlags(); in fold() local
681 B.setFastMathFlags(FMF); in fold()
688 if (FMF.none()) in fold()
691 FMF.approxFunc()); in fold()
693 if (FMF.none()) in fold()
696 FMF.approxFunc()); in fold()
[all …]
H A DAMDGPUCodeGenPrepare.cpp286 FastMathFlags FMF, const Instruction *CtxI) const;
301 FastMathFlags FMF) const;
303 FastMathFlags FMF) const;
815 FastMathFlags FMF) const { in emitFrexpDiv()
820 (!FMF.noNaNs() || !FMF.noInfs())) in emitFrexpDiv()
842 FastMathFlags FMF) const { in emitSqrtIEEE2ULP()
946 Value *Den, FastMathFlags FMF, in optimizeWithRcp() argument
959 if (HasFP32DenormalFlush || FMF.approxFunc()) { in optimizeWithRcp()
984 if (FMF.allowReciprocal()) { in optimizeWithRcp()
989 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.h239 FastMathFlags FMF; in EatFastMathFlagsIfPresent() local
242 case lltok::kw_fast: FMF.setFast(); Lex.Lex(); continue; in EatFastMathFlagsIfPresent()
243 case lltok::kw_nnan: FMF.setNoNaNs(); Lex.Lex(); continue; in EatFastMathFlagsIfPresent()
244 case lltok::kw_ninf: FMF.setNoInfs(); Lex.Lex(); continue; in EatFastMathFlagsIfPresent()
245 case lltok::kw_nsz: FMF.setNoSignedZeros(); Lex.Lex(); continue; in EatFastMathFlagsIfPresent()
246 case lltok::kw_arcp: FMF.setAllowReciprocal(); Lex.Lex(); continue; in EatFastMathFlagsIfPresent()
248 FMF.setAllowContract(true); in EatFastMathFlagsIfPresent()
251 case lltok::kw_reassoc: FMF.setAllowReassoc(); Lex.Lex(); continue; in EatFastMathFlagsIfPresent()
252 case lltok::kw_afn: FMF.setApproxFunc(); Lex.Lex(); continue; in EatFastMathFlagsIfPresent()
253 default: return FMF; in EatFastMathFlagsIfPresent()
[all …]
/freebsd/contrib/llvm-project/llvm/lib/Target/RISCV/
H A DRISCVTargetTransformInfo.cpp1143 FastMathFlags FMF, in getMinMaxReductionCost() argument
1146 return BaseT::getMinMaxReductionCost(IID, Ty, FMF, CostKind); in getMinMaxReductionCost()
1150 return BaseT::getMinMaxReductionCost(IID, Ty, FMF, CostKind); in getMinMaxReductionCost()
1158 return getArithmeticReductionCost(Instruction::Or, Ty, FMF, CostKind); in getMinMaxReductionCost()
1160 return getArithmeticReductionCost(Instruction::And, Ty, FMF, CostKind); in getMinMaxReductionCost()
1168 if (FMF.noNaNs()) { in getMinMaxReductionCost()
1187 if (FMF.noNaNs()) { in getMinMaxReductionCost()
1249 std::optional<FastMathFlags> FMF, in getArithmeticReductionCost() argument
1252 return BaseT::getArithmeticReductionCost(Opcode, Ty, FMF, CostKind); in getArithmeticReductionCost()
1256 return BaseT::getArithmeticReductionCost(Opcode, Ty, FMF, CostKind); in getArithmeticReductionCost()
[all …]
H A DRISCVTargetTransformInfo.h178 FastMathFlags FMF,
182 std::optional<FastMathFlags> FMF,
187 FastMathFlags FMF,
/freebsd/contrib/llvm-project/llvm/include/llvm/CodeGen/
H A DBasicTTIImpl.h1570 FastMathFlags FMF = ICA.getFlags(); in getIntrinsicInstrCost() local
1695 IntrinsicCostAttributes Attrs(IID, RetTy, Args[0]->getType(), FMF, I, 1); in getIntrinsicInstrCost()
1701 IID, RetTy, {Args[0]->getType(), Args[1]->getType()}, FMF, I, 1); in getIntrinsicInstrCost()
1760 IntrinsicCostAttributes Attrs(Intrinsic::uadd_sat, ExpRetTy, {}, FMF); in getIntrinsicInstrCost()
1794 NewVecTy, {}, FMF); in getIntrinsicInstrCost()
1807 NewEltTy, NewVecTy, FMF, I, 1); in getIntrinsicInstrCost()
1892 IntrinsicCostAttributes Attrs(IID, RetTy, ICA.getArgTypes(), FMF, I, in getIntrinsicInstrCost()
1907 FastMathFlags FMF = ICA.getFlags(); in getTypeBasedIntrinsicInstrCost() local
1962 IntrinsicCostAttributes ScalarAttrs(IID, ScalarRetTy, ScalarTys, FMF); in getTypeBasedIntrinsicInstrCost()
2108 getArithmeticReductionInstruction(IID), VecOpTy, FMF, CostKind); in getTypeBasedIntrinsicInstrCost()
[all …]
/freebsd/contrib/llvm-project/llvm/lib/Target/X86/
H A DX86TargetTransformInfo.h215 std::optional<FastMathFlags> FMF,
220 FastMathFlags FMF);
223 FastMathFlags FMF,
/freebsd/contrib/llvm-project/llvm/lib/Target/ARM/
H A DARMTargetTransformInfo.h284 std::optional<FastMathFlags> FMF,
288 FastMathFlags FMF,
295 FastMathFlags FMF,
/freebsd/contrib/llvm-project/llvm/lib/Transforms/InstCombine/
H A DInstCombineSelect.cpp371 FastMathFlags FMF = TI->getFastMathFlags(); in foldSelectOpOp() local
372 FMF &= FI->getFastMathFlags(); in foldSelectOpOp()
373 FMF |= SI.getFastMathFlags(); in foldSelectOpOp()
377 NewSelI->setFastMathFlags(FMF); in foldSelectOpOp()
379 NewFNeg->setFastMathFlags(FMF); in foldSelectOpOp()
410 FastMathFlags FMF = cast<FPMathOperator>(TII)->getFastMathFlags(); in foldSelectOpOp() local
411 FMF &= cast<FPMathOperator>(FII)->getFastMathFlags(); in foldSelectOpOp()
412 FMF |= SelectFPOp->getFastMathFlags(); in foldSelectOpOp()
419 NewLdexp->setFastMathFlags(FMF); in foldSelectOpOp()
534 FastMathFlags FMF; in foldSelectIntoOp() local
[all …]

123