Home
last modified time | relevance | path

Searched refs:FPMathOperator (Results 1 – 25 of 65) sorted by relevance

123

/freebsd/contrib/llvm-project/llvm/include/llvm/SandboxIR/
H A DOperator.h59 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 DValue.h35 class FPMathOperator; variable
170 friend class FPMathOperator; // For `Val`. variable
H A DType.h32 class FPMathOperator; variable
69 friend class FPMathOperator; // For LLVMTy. variable
/freebsd/contrib/llvm-project/llvm/lib/IR/
H A DInstruction.cpp465 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 DOperator.cpp56 if (const auto *FP = dyn_cast<FPMathOperator>(this)) in hasPoisonGeneratingFlags()
H A DIRBuilder.cpp110 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 DPPCGenScalarMASSEntries.cpp65 if (!isa<FPMathOperator>(CI)) in isCandidateSafeToLower()
75 if (!isa<FPMathOperator>(CI)) in isFiniteCallSafe()
/freebsd/contrib/llvm-project/llvm/lib/Target/AMDGPU/
H A DAMDGPULibCalls.cpp74 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 DAMDGPUCodeGenPrepare.cpp290 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 DAMDGPUInstCombineIntrinsic.cpp137 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 DReassociate.cpp157 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 DFloat2Int.cpp228 (F.isZero() && F.isNegative() && isa<FPMathOperator>(I) && in calcRange()
/freebsd/contrib/llvm-project/llvm/include/llvm/IR/
H A DFMF.h24 friend class FPMathOperator;
H A DIRBuilder.h108 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 DOperator.h200 class FPMathOperator : public Operator {
/freebsd/contrib/llvm-project/llvm/lib/CodeGen/
H A DExpandVectorPredication.cpp100 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 DExpandReductions.cpp59 isa<FPMathOperator>(II) ? II->getFastMathFlags() : FastMathFlags{}; in expandReductions()
H A DReplaceWithVeclib.cpp93 if (isa<FPMathOperator>(Replacement)) in replaceWithTLIFunction()
H A DComplexDeinterleavingPass.cpp693 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 DLoopUnrollAnalyzer.cpp89 if (auto FI = dyn_cast<FPMathOperator>(&I)) in visitBinaryOperator()
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Vectorize/
H A DLoopVectorizationPlanner.h277 FPMathOperator *FPBinOp, VPValue *Start,
308 FPMathOperator *FPBinOp, VPValue *IV, VPValue *Step, in createScalarIVSteps()
H A DVPlan.h689 } 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 DVPlanUnroll.cpp157 if (isa_and_present<FPMathOperator>(ID.getInductionBinOp())) in unrollWidenInductionByUF()
/freebsd/contrib/llvm-project/llvm/lib/Transforms/InstCombine/
H A DInstCombineSelect.cpp101 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 DLegality.cpp54 if (isa<FPMathOperator>(I0)) { in notVectorizableBasedOnOpcodesAndTypes()

123