/freebsd/contrib/llvm-project/llvm/include/llvm/Analysis/ |
H A D | InstructionSimplify.h | 87 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 D | IVDescriptors.h | 76 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 D | InstSimplifyFolder.h | 66 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 D | ValueTracking.h | 531 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 D | TargetTransformInfo.h | 127 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 D | FMF.h | 1 //===-- 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 D | IRBuilder.h | 123 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 D | FPEnv.h | 83 inline bool canIgnoreSNaN(fp::ExceptionBehavior EB, FastMathFlags FMF) { in canIgnoreSNaN() argument 84 return (EB == fp::ebIgnore || FMF.noNaNs()); in canIgnoreSNaN()
|
H A D | IRBuilderFolder.h | 47 Value *RHS, FastMathFlags FMF) const = 0; 50 FastMathFlags FMF) const = 0;
|
H A D | NoFolder.h | 64 FastMathFlags FMF) const override { in FoldBinOpFMF() argument 69 FastMathFlags FMF) const override { in FoldUnOpFMF() argument
|
H A D | Operator.h | 261 void setFastMathFlags(FastMathFlags FMF) { 262 SubclassOptionalData |= FMF.Flags; 267 void copyFastMathFlags(FastMathFlags FMF) { 268 SubclassOptionalData = FMF.Flags;
|
H A D | ConstantFolder.h | 87 FastMathFlags FMF) const override { in FoldBinOpFMF() argument 92 FastMathFlags FMF) const override { in FoldUnOpFMF() argument
|
/freebsd/contrib/llvm-project/llvm/lib/Analysis/ |
H A D | IVDescriptors.cpp | 287 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 D | InstructionSimplify.cpp | 4069 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 D | TargetTransformInfo.cpp | 78 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 D | AMDGPULibCalls.cpp | 94 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 D | AMDGPUCodeGenPrepare.cpp | 286 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 D | ExpandReductions.cpp | 58 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 D | LLParser.h | 239 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 D | RISCVTargetTransformInfo.cpp | 1143 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 D | RISCVTargetTransformInfo.h | 178 FastMathFlags FMF, 182 std::optional<FastMathFlags> FMF, 187 FastMathFlags FMF,
|
/freebsd/contrib/llvm-project/llvm/include/llvm/CodeGen/ |
H A D | BasicTTIImpl.h | 1570 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 D | X86TargetTransformInfo.h | 215 std::optional<FastMathFlags> FMF, 220 FastMathFlags FMF); 223 FastMathFlags FMF,
|
/freebsd/contrib/llvm-project/llvm/lib/Target/ARM/ |
H A D | ARMTargetTransformInfo.h | 284 std::optional<FastMathFlags> FMF, 288 FastMathFlags FMF, 295 FastMathFlags FMF,
|
/freebsd/contrib/llvm-project/llvm/lib/Transforms/InstCombine/ |
H A D | InstCombineSelect.cpp | 371 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 …]
|