| /freebsd/contrib/llvm-project/llvm/include/llvm/SandboxIR/ |
| H A D | Operator.h | 59 class FPMathOperator : public Operator { 61 bool isFast() const { return cast<llvm::FPMathOperator>(Val)->isFast(); } in isFast() 63 return cast<llvm::FPMathOperator>(Val)->hasAllowReassoc(); in hasAllowReassoc() 66 return cast<llvm::FPMathOperator>(Val)->hasNoNaNs(); in hasNoNaNs() 69 return cast<llvm::FPMathOperator>(Val)->hasNoInfs(); in hasNoInfs() 72 return cast<llvm::FPMathOperator>(Val)->hasNoSignedZeros(); in hasNoSignedZeros() 75 return cast<llvm::FPMathOperator>(Val)->hasAllowReciprocal(); in hasAllowReciprocal() 78 return cast<llvm::FPMathOperator>(Val)->hasAllowContract(); in hasAllowContract() 81 return cast<llvm::FPMathOperator>(Val)->hasApproxFunc(); in hasApproxFunc() 84 return cast<llvm::FPMathOperator>(Val)->getFastMathFlags(); in getFastMathFlags() [all …]
|
| H A D | Value.h | 35 class FPMathOperator; variable 170 friend class FPMathOperator; // For `Val`. variable
|
| H A D | Type.h | 32 class FPMathOperator; variable 69 friend class FPMathOperator; // For LLVMTy. variable
|
| /freebsd/contrib/llvm-project/llvm/lib/IR/ |
| H A D | Instruction.cpp | 465 if (isa<FPMathOperator>(this)) { in dropPoisonGeneratingFlags() 575 assert(isa<FPMathOperator>(this) && "setting fast-math flag on invalid op"); in setFast() 576 cast<FPMathOperator>(this)->setFast(B); in setFast() 580 assert(isa<FPMathOperator>(this) && "setting fast-math flag on invalid op"); in setHasAllowReassoc() 581 cast<FPMathOperator>(this)->setHasAllowReassoc(B); in setHasAllowReassoc() 585 assert(isa<FPMathOperator>(this) && "setting fast-math flag on invalid op"); in setHasNoNaNs() 586 cast<FPMathOperator>(this)->setHasNoNaNs(B); in setHasNoNaNs() 590 assert(isa<FPMathOperator>(this) && "setting fast-math flag on invalid op"); in setHasNoInfs() 591 cast<FPMathOperator>(this)->setHasNoInfs(B); in setHasNoInfs() 595 assert(isa<FPMathOperator>(this) && "setting fast-math flag on invalid op"); in setHasNoSignedZeros() [all …]
|
| H A D | Operator.cpp | 56 if (const auto *FP = dyn_cast<FPMathOperator>(this)) in hasPoisonGeneratingFlags()
|
| H A D | IRBuilder.cpp | 110 if (isa<FPMathOperator>(CI)) in createCallHelper() 968 if (isa<FPMathOperator>(C)) in CreateConstrainedFPCast() 1034 if (isa<FPMathOperator>(Sel)) in CreateSelectFMF()
|
| /freebsd/contrib/llvm-project/llvm/lib/Target/PowerPC/ |
| H A D | PPCGenScalarMASSEntries.cpp | 65 if (!isa<FPMathOperator>(CI)) in isCandidateSafeToLower() 75 if (!isa<FPMathOperator>(CI)) in isFiniteCallSafe()
|
| /freebsd/contrib/llvm-project/llvm/lib/Target/AMDGPU/ |
| H A D | AMDGPULibCalls.cpp | 74 bool fold_pow(FPMathOperator *FPOp, IRBuilder<> &B, const FuncInfo &FInfo); 77 bool fold_rootn(FPMathOperator *FPOp, IRBuilder<> &B, const FuncInfo &FInfo); 95 bool fold_sincos(FPMathOperator *FPOp, IRBuilder<> &B, const FuncInfo &FInfo); 120 bool isUnsafeMath(const FPMathOperator *FPOp) const; 121 bool isUnsafeFiniteOnlyMath(const FPMathOperator *FPOp) const; 123 bool canIncreasePrecisionOfConstantFold(const FPMathOperator *FPOp) const; 130 static void replaceCall(FPMathOperator *I, Value *With) { in replaceCall() 418 bool AMDGPULibCalls::isUnsafeMath(const FPMathOperator *FPOp) const { in isUnsafeMath() 422 bool AMDGPULibCalls::isUnsafeFiniteOnlyMath(const FPMathOperator *FPOp) const { in isUnsafeFiniteOnlyMath() 428 const FPMathOperator *FPOp) const { in canIncreasePrecisionOfConstantFold() [all …]
|
| H A D | AMDGPUCodeGenPrepare.cpp | 290 bool canOptimizeWithRsq(const FPMathOperator *SqrtOp, FastMathFlags DivFMF, 758 if (const FPMathOperator *FPOp = dyn_cast<const FPMathOperator>(&BO)) in foldBinOpIntoSelect() 894 bool AMDGPUCodeGenPrepareImpl::canOptimizeWithRsq(const FPMathOperator *SqrtOp, in canOptimizeWithRsq() 1089 const FPMathOperator *FPOp = cast<const FPMathOperator>(&FDiv); in visitFDiv() 1102 const auto *SqrtOp = cast<FPMathOperator>(DenII); in visitFDiv() 1800 FPMathOperator *FPOp = dyn_cast<FPMathOperator>(&I); in visitSelectInst() 2318 const FPMathOperator *FPOp = cast<const FPMathOperator>(&Sqrt); in visitSqrt() 2336 dyn_cast_or_null<FPMathOperator>(Sqrt.getUniqueUndroppableUser()); in visitSqrt()
|
| H A D | AMDGPUInstCombineIntrinsic.cpp | 137 if (isa<FPMathOperator>(NewCall)) in modifyIntrinsicCall() 492 static bool canContractSqrtToRsq(const FPMathOperator *SqrtOp) { in canContractSqrtToRsq() 669 FastMathFlags FMF = cast<FPMathOperator>(II).getFastMathFlags(); in instCombineIntrinsic() 682 const FPMathOperator *SqrtOp = cast<FPMathOperator>(SrcCI); in instCombineIntrinsic()
|
| /freebsd/contrib/llvm-project/llvm/lib/Transforms/Scalar/ |
| H A D | Reassociate.cpp | 157 assert(I && isa<FPMathOperator>(I) && "Should only check FP ops"); in hasFPAssociativeFlags() 166 if (!isa<FPMathOperator>(BO) || hasFPAssociativeFlags(BO)) in isReassociableOp() 176 if (!isa<FPMathOperator>(BO) || hasFPAssociativeFlags(BO)) in isReassociableOp() 258 Res->setFastMathFlags(cast<FPMathOperator>(FlagsOp)->getFastMathFlags()); in CreateAdd() 271 Res->setFastMathFlags(cast<FPMathOperator>(FlagsOp)->getFastMathFlags()); in CreateMul() 491 || (isa<FPMathOperator>(Op) && in LinearizeExprTree() 703 if (isa<FPMathOperator>(NewOp)) in RewriteExprTree() 729 if (isa<FPMathOperator>(I)) { in RewriteExprTree() 1879 if (auto FPI = dyn_cast<FPMathOperator>(I)) in OptimizeMul() 2173 if (isa<FPMathOperator>(I) && !hasFPAssociativeFlags(I)) in OptimizeInst()
|
| H A D | Float2Int.cpp | 228 (F.isZero() && F.isNegative() && isa<FPMathOperator>(I) && in calcRange()
|
| /freebsd/contrib/llvm-project/llvm/include/llvm/IR/ |
| H A D | FMF.h | 24 friend class FPMathOperator;
|
| H A D | IRBuilder.h | 108 return FMFSource(cast<FPMathOperator>(A)->getFastMathFlags() & in intersect() 109 cast<FPMathOperator>(B)->getFastMathFlags()); in intersect() 1725 if (isa<FPMathOperator>(BinOp)) 1820 if (isa<FPMathOperator>(UnOp)) 2248 if (isa<FPMathOperator>(Cast)) 2499 if (isa<FPMathOperator>(Phi)) 2516 if (isa<FPMathOperator>(CI)) 2527 if (isa<FPMathOperator>(CI))
|
| H A D | Operator.h | 200 class FPMathOperator : public Operator {
|
| /freebsd/contrib/llvm-project/llvm/lib/CodeGen/ |
| H A D | ExpandVectorPredication.cpp | 100 if (!NewInst || !isa<FPMathOperator>(NewVal)) in transferDecorations() 103 auto *OldFMOp = dyn_cast<FPMathOperator>(&VPI); in transferDecorations() 329 if (isa<FPMathOperator>(VPI)) in getNeutralReductionElement()
|
| H A D | ExpandReductions.cpp | 59 isa<FPMathOperator>(II) ? II->getFastMathFlags() : FastMathFlags{}; in expandReductions()
|
| H A D | ReplaceWithVeclib.cpp | 93 if (isa<FPMathOperator>(Replacement)) in replaceWithTLIFunction()
|
| H A D | ComplexDeinterleavingPass.cpp | 693 if (isa<FPMathOperator>(Real) && in identifyPartialMul() 893 if (isa<FPMathOperator>(Real) && in identifySymmetricOperation() 900 if (isa<FPMathOperator>(Real)) in identifySymmetricOperation() 1133 if (isa<FPMathOperator>(Real)) { in identifyReassocNodes()
|
| /freebsd/contrib/llvm-project/llvm/lib/Analysis/ |
| H A D | LoopUnrollAnalyzer.cpp | 89 if (auto FI = dyn_cast<FPMathOperator>(&I)) in visitBinaryOperator()
|
| /freebsd/contrib/llvm-project/llvm/lib/Transforms/Vectorize/ |
| H A D | LoopVectorizationPlanner.h | 277 FPMathOperator *FPBinOp, VPValue *Start, 308 FPMathOperator *FPBinOp, VPValue *IV, VPValue *Step, in createScalarIVSteps()
|
| H A D | VPlan.h | 689 } else if (auto *Op = dyn_cast<FPMathOperator>(&I)) { in VPIRFlags() 3389 const FPMathOperator *FPBinOp; 3400 dyn_cast_or_null<FPMathOperator>(IndDesc.getInductionBinOp()), 3404 const FPMathOperator *FPBinOp, VPValue *Start, VPValue *IV, 3468 dyn_cast_or_null<FPMathOperator>(IndDesc.getInductionBinOp())
|
| H A D | VPlanUnroll.cpp | 157 if (isa_and_present<FPMathOperator>(ID.getInductionBinOp())) in unrollWidenInductionByUF()
|
| /freebsd/contrib/llvm-project/llvm/lib/Transforms/InstCombine/ |
| H A D | InstCombineSelect.cpp | 101 if (isa<FPMathOperator>(BO)) in foldSelectBinOpIdentity() 382 FPMathOperator *SelectFPOp = cast<FPMathOperator>(&SI); in foldSelectOpOp() 383 FastMathFlags FMF = cast<FPMathOperator>(TII)->getFastMathFlags(); in foldSelectOpOp() 384 FMF &= cast<FPMathOperator>(FII)->getFastMathFlags(); in foldSelectOpOp() 517 if (isa<FPMathOperator>(&SI)) in foldSelectIntoOp() 536 if (isa<FPMathOperator>(&SI) && in foldSelectIntoOp() 542 if (isa<FPMathOperator>(&SI)) in foldSelectIntoOp() 548 if (isa<FPMathOperator>(&SI)) { in foldSelectIntoOp() 2901 (cast<FPMathOperator>(CondVal)->hasNoNaNs() || SI.hasNoNaNs() || in foldSelectWithFCmpToFabs() 2921 FastMathFlags FMF = cast<FPMathOperator>(CondVal)->getFastMathFlags(); in foldSelectWithFCmpToFabs() [all …]
|
| /freebsd/contrib/llvm-project/llvm/lib/Transforms/Vectorize/SandboxVectorizer/ |
| H A D | Legality.cpp | 54 if (isa<FPMathOperator>(I0)) { in notVectorizableBasedOnOpcodesAndTypes()
|