| /freebsd/contrib/llvm-project/llvm/include/llvm/Analysis/ |
| H A D | InstructionSimplify.h | 90 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 D | InstSimplifyFolder.h | 68 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 D | IVDescriptors.h | 93 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 D | TargetTransformInfo.h | 128 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 D | TargetFolder.h | 99 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 D | FMF.h | 51 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 D | FPEnv.h | 86 inline bool canIgnoreSNaN(fp::ExceptionBehavior EB, FastMathFlags FMF) { in canIgnoreSNaN() argument 87 return (EB == fp::ebIgnore || FMF.noNaNs()); in canIgnoreSNaN()
|
| H A D | IRBuilder.h | 94 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 D | IRBuilderFolder.h | 48 Value *RHS, FastMathFlags FMF) const = 0; 51 FastMathFlags FMF) const = 0;
|
| H A D | NoFolder.h | 65 FastMathFlags FMF) const override { in FoldBinOpFMF() argument 70 FastMathFlags FMF) const override { in FoldUnOpFMF() argument
|
| H A D | Operator.h | 259 void setFastMathFlags(FastMathFlags FMF) { 260 SubclassOptionalData |= FMF.Flags; 265 void copyFastMathFlags(FastMathFlags FMF) { 266 SubclassOptionalData = FMF.Flags;
|
| H A D | ConstantFolder.h | 88 FastMathFlags FMF) const override { in FoldBinOpFMF() argument 93 FastMathFlags FMF) const override { in FoldUnOpFMF() argument
|
| H A D | InstrTypes.h | 228 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 D | IVDescriptors.cpp | 289 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 D | InstructionSimplify.cpp | 4065 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 D | AMDGPULibCalls.cpp | 90 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 D | AMDGPUCodeGenPrepare.cpp | 298 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 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 | 242 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 D | BasicTTIImpl.h | 1867 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 D | SystemZTargetTransformInfo.h | 140 std::optional<FastMathFlags> FMF, 143 getMinMaxReductionCost(Intrinsic::ID IID, VectorType *Ty, FastMathFlags FMF,
|
| /freebsd/contrib/llvm-project/llvm/lib/Transforms/InstCombine/ |
| H A D | InstCombineSelect.cpp | 344 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 D | RISCVTargetTransformInfo.cpp | 1715 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 D | ARMTargetTransformInfo.h | 294 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 D | X86TargetTransformInfo.h | 220 std::optional<FastMathFlags> FMF, 225 FastMathFlags FMF) const; 228 getMinMaxReductionCost(Intrinsic::ID IID, VectorType *Ty, FastMathFlags FMF,
|