Home
last modified time | relevance | path

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

123

/freebsd-14.2/contrib/llvm-project/llvm/include/llvm/Analysis/
H A DInstructionSimplify.h85 Value *simplifyFNegInst(Value *Op, FastMathFlags FMF, const SimplifyQuery &Q);
90 simplifyFAddInst(Value *LHS, Value *RHS, FastMathFlags FMF,
97 simplifyFSubInst(Value *LHS, Value *RHS, FastMathFlags FMF,
104 simplifyFMulInst(Value *LHS, Value *RHS, FastMathFlags FMF,
113 Value *simplifyFMAFMul(Value *LHS, Value *RHS, FastMathFlags FMF,
120 simplifyFDivInst(Value *LHS, Value *RHS, FastMathFlags FMF,
127 simplifyFRemInst(Value *LHS, Value *RHS, FastMathFlags FMF,
159 FastMathFlags FMF, const SimplifyQuery &Q);
205 Value *simplifyUnOp(unsigned Opcode, Value *Op, FastMathFlags FMF,
214 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 DTargetTransformInfo.h126 FastMathFlags FMF; variable
154 FastMathFlags getFlags() const { return FMF; } in getFlags()
1434 return FMF && !(*FMF).allowReassoc(); in requiresOrderedReduction()
1462 unsigned Opcode, VectorType *Ty, std::optional<FastMathFlags> FMF,
1484 FastMathFlags FMF,
2033 std::optional<FastMathFlags> FMF,
2040 FastMathFlags FMF,
2684 std::optional<FastMathFlags> FMF, in getArithmeticReductionCost() argument
2686 return Impl.getArithmeticReductionCost(Opcode, Ty, FMF, CostKind); in getArithmeticReductionCost()
2691 return Impl.getMinMaxReductionCost(IID, Ty, FMF, CostKind); in getMinMaxReductionCost()
[all …]
H A DValueTracking.h460 const Value *V, FastMathFlags FMF, const DataLayout &DL,
465 if (FMF.noNaNs())
467 if (FMF.noInfs())
473 if (FMF.noNaNs())
475 if (FMF.noInfs())
/freebsd-14.2/contrib/llvm-project/llvm/include/llvm/IR/
H A DFMF.h52 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.h126 FastMathFlags FMF; variable
296 FastMathFlags &getFastMathFlags() { return FMF; } in getFastMathFlags()
299 void clearFastMathFlags() { FMF.clear(); } in clearFastMathFlags()
393 FastMathFlags FMF; variable
401 : Builder(B), FMF(B.FMF), FPMathTag(B.DefaultFPMathTag), in FastMathFlagGuard()
410 Builder.FMF = FMF; in ~FastMathFlagGuard()
1281 I->setFastMathFlags(FMF); in setFPAttrs()
1666 setFPAttrs(BinOp, FPMathTag, FMF);
1759 setFPAttrs(UnOp, FPMathTag, FMF);
2402 setFPAttrs(CI, FPMathTag, FMF);
[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.h46 Value *RHS, FastMathFlags FMF) const = 0;
49 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.h229 void setFastMathFlags(FastMathFlags FMF) { in setFastMathFlags() argument
230 SubclassOptionalData |= FMF.Flags; in setFastMathFlags()
235 void copyFastMathFlags(FastMathFlags FMF) { in copyFastMathFlags() argument
236 SubclassOptionalData = FMF.Flags; in copyFastMathFlags()
H A DConstantFolder.h87 FastMathFlags FMF) const override { in FoldBinOpFMF() argument
92 FastMathFlags FMF) const override { in FoldUnOpFMF() argument
/freebsd-14.2/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()
846 FastMathFlags FMF; in isReductionPHI() local
847 FMF.setNoNaNs( in isReductionPHI()
849 FMF.setNoSignedZeros( in isReductionPHI()
852 if (AddReductionVar(Phi, RecurKind::Add, TheLoop, FMF, RedDes, DB, AC, DT, in isReductionPHI()
862 if (AddReductionVar(Phi, RecurKind::Or, TheLoop, FMF, RedDes, DB, AC, DT, in isReductionPHI()
1063 if (FMF.noSignedZeros()) in getRecurrenceIdentity()
1077 assert((FMF.noNaNs() && FMF.noSignedZeros()) && in getRecurrenceIdentity()
[all …]
H A DInstructionSimplify.cpp4110 if (FMF.noNaNs() || in simplifyFCmpInst()
4240 if (!FMF.noNaNs()) in simplifyFCmpInst()
5645 if (FMF.noNaNs()) { in simplifyFAddInst()
5669 if (FMF.noSignedZeros() && FMF.allowReassoc() && in simplifyFAddInst()
5722 if (FMF.noNaNs()) { in simplifyFSubInst()
5738 if (FMF.noSignedZeros() && FMF.allowReassoc() && in simplifyFSubInst()
5766 if (FMF.noNaNs() && FMF.noSignedZeros()) in simplifyFMAFMul()
5782 FMF.noNaNs() && FMF.noSignedZeros()) in simplifyFMAFMul()
5856 if (FMF.noNaNs() && FMF.noSignedZeros() && match(Op0, m_AnyZeroFP())) in simplifyFDivInst()
5859 if (FMF.noNaNs()) { in simplifyFDivInst()
[all …]
H A DTargetTransformInfo.cpp77 FMF = FPMO->getFastMathFlags(); in IntrinsicCostAttributes()
90 : II(I), RetTy(RTy), IID(Id), FMF(Flags), ScalarizationCost(ScalarCost) { in IntrinsicCostAttributes()
110 : II(I), RetTy(RTy), IID(Id), FMF(Flags), ScalarizationCost(ScalarCost) { in IntrinsicCostAttributes()
1095 unsigned Opcode, VectorType *Ty, std::optional<FastMathFlags> FMF, in getArithmeticReductionCost() argument
1098 TTIImpl->getArithmeticReductionCost(Opcode, Ty, FMF, CostKind); in getArithmeticReductionCost()
1104 Intrinsic::ID IID, VectorType *Ty, FastMathFlags FMF, in getMinMaxReductionCost() argument
1107 TTIImpl->getMinMaxReductionCost(IID, Ty, FMF, CostKind); in getMinMaxReductionCost()
1114 FastMathFlags FMF, TTI::TargetCostKind CostKind) const { in getExtendedReductionCost() argument
1115 return TTIImpl->getExtendedReductionCost(Opcode, IsUnsigned, ResTy, Ty, FMF, in getExtendedReductionCost()
/freebsd-14.2/contrib/llvm-project/llvm/lib/Target/AMDGPU/
H A DAMDGPULibCalls.cpp577 FastMathFlags FMF) { in isKnownIntegral() argument
605 if (FMF.noInfs()) in isKnownIntegral()
621 return (FMF.noInfs() && FMF.noNaNs()) || in isKnownIntegral()
668 B.setFastMathFlags(FMF); in fold()
675 if (FMF.none()) in fold()
680 if (FMF.none()) in fold()
685 if (FMF.none()) in fold()
690 if (FMF.none()) in fold()
695 if (FMF.none()) in fold()
1386 FMF &= OtherOp->getFastMathFlags(); in fold_sincos()
[all …]
H A DAMDGPUCodeGenPrepare.cpp300 FastMathFlags FMF) const;
302 FastMathFlags FMF) const;
818 (!FMF.noNaNs() || !FMF.noInfs())) in emitFrexpDiv()
982 if (FMF.allowReciprocal()) { in optimizeWithRcp()
987 if (HasFP32DenormalFlush || FMF.approxFunc()) { in optimizeWithRcp()
1374 FastMathFlags FMF; in expandDivRem32() local
1375 FMF.setFast(); in expandDivRem32()
1376 Builder.setFastMathFlags(FMF); in expandDivRem32()
2102 FastMathFlags FMF = I.getFastMathFlags(); in visitMinNum() local
2103 FMF.setNoNaNs(); in visitMinNum()
[all …]
/freebsd-14.2/contrib/llvm-project/llvm/lib/CodeGen/
H A DExpandReductions.cpp106 FastMathFlags FMF = in expandReductions() local
114 Builder.setFastMathFlags(FMF); in expandReductions()
123 if (!FMF.allowReassoc()) in expandReductions()
188 !FMF.noNaNs()) in expandReductions()
/freebsd-14.2/contrib/llvm-project/llvm/include/llvm/AsmParser/
H A DLLParser.h232 FastMathFlags FMF; in EatFastMathFlagsIfPresent() local
235 case lltok::kw_fast: FMF.setFast(); Lex.Lex(); continue; in EatFastMathFlagsIfPresent()
236 case lltok::kw_nnan: FMF.setNoNaNs(); Lex.Lex(); continue; in EatFastMathFlagsIfPresent()
237 case lltok::kw_ninf: FMF.setNoInfs(); Lex.Lex(); continue; in EatFastMathFlagsIfPresent()
238 case lltok::kw_nsz: FMF.setNoSignedZeros(); Lex.Lex(); continue; in EatFastMathFlagsIfPresent()
239 case lltok::kw_arcp: FMF.setAllowReciprocal(); Lex.Lex(); continue; in EatFastMathFlagsIfPresent()
241 FMF.setAllowContract(true); in EatFastMathFlagsIfPresent()
244 case lltok::kw_reassoc: FMF.setAllowReassoc(); Lex.Lex(); continue; in EatFastMathFlagsIfPresent()
245 case lltok::kw_afn: FMF.setApproxFunc(); Lex.Lex(); continue; in EatFastMathFlagsIfPresent()
246 default: return FMF; in EatFastMathFlagsIfPresent()
[all …]
/freebsd-14.2/contrib/llvm-project/llvm/lib/Target/RISCV/
H A DRISCVTargetTransformInfo.cpp928 FastMathFlags FMF, in getMinMaxReductionCost() argument
931 return BaseT::getMinMaxReductionCost(IID, Ty, FMF, CostKind); in getMinMaxReductionCost()
935 return BaseT::getMinMaxReductionCost(IID, Ty, FMF, CostKind); in getMinMaxReductionCost()
958 return BaseT::getArithmeticReductionCost(Opcode, Ty, FMF, CostKind); in getArithmeticReductionCost()
983 if (TTI::requiresOrderedReduction(FMF)) in getArithmeticReductionCost()
990 FastMathFlags FMF, TTI::TargetCostKind CostKind) { in getExtendedReductionCost() argument
993 FMF, CostKind); in getExtendedReductionCost()
998 FMF, CostKind); in getExtendedReductionCost()
1002 FMF, CostKind); in getExtendedReductionCost()
1008 FMF, CostKind); in getExtendedReductionCost()
[all …]
H A DRISCVTargetTransformInfo.h152 FastMathFlags FMF,
156 std::optional<FastMathFlags> FMF,
161 FastMathFlags FMF,
/freebsd-14.2/contrib/llvm-project/llvm/include/llvm/CodeGen/
H A DBasicTTIImpl.h1543 FastMathFlags FMF = ICA.getFlags(); in getIntrinsicInstrCost() local
1798 IntrinsicCostAttributes Attrs(IID, RetTy, ICA.getArgTypes(), FMF, I, in getIntrinsicInstrCost()
1813 FastMathFlags FMF = ICA.getFlags(); in getTypeBasedIntrinsicInstrCost() local
2000 FMF, CostKind); in getTypeBasedIntrinsicInstrCost()
2003 FMF, CostKind); in getTypeBasedIntrinsicInstrCost()
2071 IntrinsicCostAttributes Attrs(OverflowOp, OpTy, {RetTy, RetTy}, FMF, in getTypeBasedIntrinsicInstrCost()
2468 if (TTI::requiresOrderedReduction(FMF)) in getArithmeticReductionCost()
2476 FastMathFlags FMF, in getMinMaxReductionCost() argument
2500 IntrinsicCostAttributes Attrs(IID, SubTy, {SubTy, SubTy}, FMF); in getMinMaxReductionCost()
2515 IntrinsicCostAttributes Attrs(IID, Ty, {Ty, Ty}, FMF); in getMinMaxReductionCost()
[all …]
/freebsd-14.2/contrib/llvm-project/llvm/lib/Target/X86/
H A DX86TargetTransformInfo.h212 std::optional<FastMathFlags> FMF,
217 FastMathFlags FMF);
220 FastMathFlags FMF,
/freebsd-14.2/contrib/llvm-project/llvm/lib/Target/ARM/
H A DARMTargetTransformInfo.h283 std::optional<FastMathFlags> FMF,
287 FastMathFlags FMF,
294 FastMathFlags FMF,
/freebsd-14.2/contrib/llvm-project/llvm/lib/Transforms/InstCombine/
H A DInstCombineSelect.cpp365 FMF &= FI->getFastMathFlags(); in foldSelectOpOp()
366 FMF |= SI.getFastMathFlags(); in foldSelectOpOp()
370 NewSelI->setFastMathFlags(FMF); in foldSelectOpOp()
372 NewFNeg->setFastMathFlags(FMF); in foldSelectOpOp()
412 NewLdexp->setFastMathFlags(FMF); in foldSelectOpOp()
528 FastMathFlags FMF; in foldSelectIntoOp() local
530 FMF = SI.getFastMathFlags(); in foldSelectIntoOp()
2733 if (FMF.noNaNs() && !SI.hasNoNaNs()) { in foldSelectWithFCmpToFabs()
3356 FMF.setNoSignedZeros(SelectIsNSZ); in matchFMulByZeroIfResultEqZero()
3607 auto FMF = in visitSelectInst() local
[all …]

123