Home
last modified time | relevance | path

Searched refs:RecurKind (Results 1 – 11 of 11) sorted by relevance

/freebsd-13-stable/contrib/llvm-project/llvm/lib/Analysis/
HDIVDescriptors.cpp40 bool RecurrenceDescriptor::isIntegerRecurrenceKind(RecurKind Kind) { in isIntegerRecurrenceKind()
44 case RecurKind::Add: in isIntegerRecurrenceKind()
45 case RecurKind::Mul: in isIntegerRecurrenceKind()
46 case RecurKind::Or: in isIntegerRecurrenceKind()
47 case RecurKind::And: in isIntegerRecurrenceKind()
48 case RecurKind::Xor: in isIntegerRecurrenceKind()
49 case RecurKind::SMax: in isIntegerRecurrenceKind()
50 case RecurKind::SMin: in isIntegerRecurrenceKind()
51 case RecurKind::UMax: in isIntegerRecurrenceKind()
52 case RecurKind::UMin: in isIntegerRecurrenceKind()
[all …]
/freebsd-13-stable/contrib/llvm-project/llvm/include/llvm/Analysis/
HDIVDescriptors.h34 enum class RecurKind { enum
76 RecurKind K, FastMathFlags FMF, Instruction *ExactFP, in RecurrenceDescriptor()
92 RecKind(RecurKind::None), ExactFPMathInst(ExactFP) {} in IsRecurrence()
94 InstDesc(Instruction *I, RecurKind K, Instruction *ExactFP = nullptr)
104 RecurKind getRecKind() const { return RecKind; } in getRecKind()
115 RecurKind RecKind;
127 RecurKind Kind, InstDesc &Prev,
143 static InstDesc isMinMaxPattern(Instruction *I, RecurKind Kind,
157 static InstDesc isConditionalRdxPattern(RecurKind Kind, Instruction *I);
160 Value *getRecurrenceIdentity(RecurKind K, Type *Tp, FastMathFlags FMF) const;
[all …]
/freebsd-13-stable/contrib/llvm-project/llvm/lib/Transforms/Utils/
HDLoopUtils.cpp921 constexpr Intrinsic::ID llvm::getReductionIntrinsicID(RecurKind RK) { in getReductionIntrinsicID()
925 case RecurKind::Add: in getReductionIntrinsicID()
927 case RecurKind::Mul: in getReductionIntrinsicID()
929 case RecurKind::And: in getReductionIntrinsicID()
931 case RecurKind::Or: in getReductionIntrinsicID()
933 case RecurKind::Xor: in getReductionIntrinsicID()
935 case RecurKind::FMulAdd: in getReductionIntrinsicID()
936 case RecurKind::FAdd: in getReductionIntrinsicID()
938 case RecurKind::FMul: in getReductionIntrinsicID()
940 case RecurKind::SMax: in getReductionIntrinsicID()
[all …]
/freebsd-13-stable/contrib/llvm-project/llvm/lib/Target/RISCV/
HDRISCVTargetTransformInfo.h314 case RecurKind::Add: in isLegalToVectorizeReduction()
315 case RecurKind::FAdd: in isLegalToVectorizeReduction()
316 case RecurKind::And: in isLegalToVectorizeReduction()
317 case RecurKind::Or: in isLegalToVectorizeReduction()
318 case RecurKind::Xor: in isLegalToVectorizeReduction()
319 case RecurKind::SMin: in isLegalToVectorizeReduction()
320 case RecurKind::SMax: in isLegalToVectorizeReduction()
321 case RecurKind::UMin: in isLegalToVectorizeReduction()
322 case RecurKind::UMax: in isLegalToVectorizeReduction()
323 case RecurKind::FMin: in isLegalToVectorizeReduction()
[all …]
/freebsd-13-stable/contrib/llvm-project/llvm/include/llvm/Transforms/Utils/
HDLoopUtils.h364 constexpr Intrinsic::ID getReductionIntrinsicID(RecurKind RK);
373 Intrinsic::ID getMinMaxReductionIntrinsicOp(RecurKind RK);
376 RecurKind getMinMaxReductionRecurKind(Intrinsic::ID RdxID);
379 CmpInst::Predicate getMinMaxReductionPredicate(RecurKind RK);
383 Value *createMinMaxOp(IRBuilderBase &Builder, RecurKind RK, Value *Left,
388 unsigned Op, RecurKind MinMaxKind = RecurKind::None);
394 RecurKind MinMaxKind = RecurKind::None);
403 RecurKind RdxKind);
/freebsd-13-stable/contrib/llvm-project/llvm/lib/Transforms/Vectorize/
HDSLPVectorizer.cpp1342 bool isLoadCombineReductionCandidate(RecurKind RdxKind) const;
10088 bool BoUpSLP::isLoadCombineReductionCandidate(RecurKind RdxKind) const { in isLoadCombineReductionCandidate()
10089 if (RdxKind != RecurKind::Or) in isLoadCombineReductionCandidate()
15495 static RecurKind getRdxKind(Value *V);
16670 RecurKind RdxKind;
16689 static bool isVectorizable(RecurKind Kind, Instruction *I) { in isVectorizable()
16690 if (Kind == RecurKind::None) in isVectorizable()
16698 if (Kind == RecurKind::FMax || Kind == RecurKind::FMin) { in isVectorizable()
16705 if (Kind == RecurKind::FMaximum || Kind == RecurKind::FMinimum) in isVectorizable()
16716 if (getRdxKind(I) == RecurKind::Or && isa<SelectInst>(I) && Index == 1) in getRdxOperand()
[all …]
HDVPlanTransforms.cpp978 RecurKind RK = RdxDesc.getRecurrenceKind(); in clearReductionWrapFlags()
979 if (RK != RecurKind::Add && RK != RecurKind::Mul) in clearReductionWrapFlags()
HDVPlanRecipes.cpp556 RecurKind RK = RdxDesc.getRecurrenceKind(); in generatePerPart()
1704 RecurKind Kind = RdxDesc.getRecurrenceKind(); in execute()
1761 RecurKind Kind = RdxDesc.getRecurrenceKind(); in execute()
2583 RecurKind RK = RdxDesc.getRecurrenceKind(); in execute()
HDLoopVectorize.cpp5781 RecurKind RK = RdxDesc.getRecurrenceKind(); in getReductionPatternCost()
5793 if (RK == RecurKind::FMulAdd) in getReductionPatternCost()
8816 RecurKind Kind = RdxDesc.getRecurrenceKind(); in adjustRecipesForReductions()
8850 bool IsFMulAdd = (Kind == RecurKind::FMulAdd); in adjustRecipesForReductions()
10018 RecurKind RK = RdxDesc.getRecurrenceKind(); in processLoop()
/freebsd-13-stable/contrib/llvm-project/llvm/lib/CodeGen/
HDExpandReductions.cpp61 RecurKind RK = getMinMaxReductionRecurKind(ID); in expandReductions()
/freebsd-13-stable/contrib/llvm-project/llvm/lib/Target/AArch64/
HDAArch64TargetTransformInfo.cpp3793 case RecurKind::Add: in isLegalToVectorizeReduction()
3794 case RecurKind::FAdd: in isLegalToVectorizeReduction()
3795 case RecurKind::And: in isLegalToVectorizeReduction()
3796 case RecurKind::Or: in isLegalToVectorizeReduction()
3797 case RecurKind::Xor: in isLegalToVectorizeReduction()
3798 case RecurKind::SMin: in isLegalToVectorizeReduction()
3799 case RecurKind::SMax: in isLegalToVectorizeReduction()
3800 case RecurKind::UMin: in isLegalToVectorizeReduction()
3801 case RecurKind::UMax: in isLegalToVectorizeReduction()
3802 case RecurKind::FMin: in isLegalToVectorizeReduction()
[all …]