Home
last modified time | relevance | path

Searched refs:InductionDescriptor (Results 1 – 14 of 14) sorted by relevance

/freebsd/contrib/llvm-project/llvm/include/llvm/Analysis/
H A DIVDescriptors.h306 class InductionDescriptor {
318 InductionDescriptor() = default;
337 InductionDescriptor &D, const SCEV *Expr = nullptr,
344 InductionDescriptor &D);
354 InductionDescriptor &D, bool Assume = false);
381 InductionDescriptor(Value *Start, InductionKind K, const SCEV *Step,
H A DLoopInfo.h30 class InductionDescriptor; variable
265 InductionDescriptor &IndDesc) const;
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Vectorize/
H A DLoopVectorizationLegality.cpp682 PHINode *Phi, const InductionDescriptor &ID, in addInductionPhi()
706 if (ID.getKind() == InductionDescriptor::IK_IntInduction && in addInductionPhi()
738 InductionDescriptor ID; in setupOuterLoopInductions()
739 if (InductionDescriptor::isInductionPHI(&Phi, TheLoop, PSE, ID) && in setupOuterLoopInductions()
740 ID.getKind() == InductionDescriptor::IK_IntInduction) { in setupOuterLoopInductions()
841 [](const InductionDescriptor &ID) { in canVectorizeInstrs()
844 return ID.getKind() == InductionDescriptor::IK_PtrInduction && in canVectorizeInstrs()
862 InductionDescriptor ID; in canVectorizeInstrs()
863 if (InductionDescriptor::isInductionPHI(Phi, TheLoop, PSE, ID) && in canVectorizeInstrs()
878 if (InductionDescriptor::isInductionPHI(Phi, TheLoop, PSE, ID, true) && in canVectorizeInstrs()
[all …]
H A DVPlanTransforms.h21 class InductionDescriptor; variable
34 function_ref<const InductionDescriptor *(PHINode *)>
H A DVPlan.h1771 const InductionDescriptor &IndDesc;
1775 const InductionDescriptor &IndDesc) in VPWidenIntOrFpInductionRecipe()
1782 const InductionDescriptor &IndDesc, in VPWidenIntOrFpInductionRecipe()
1834 const InductionDescriptor &getInductionDescriptor() const { return IndDesc; } in getInductionDescriptor()
1848 const InductionDescriptor &IndDesc;
1856 const InductionDescriptor &IndDesc, in VPWidenPointerInductionRecipe()
1882 const InductionDescriptor &getInductionDescriptor() const { return IndDesc; } in getInductionDescriptor()
2759 bool isCanonical(InductionDescriptor::InductionKind Kind, VPValue *Start,
2866 const InductionDescriptor::InductionKind Kind;
2872 VPDerivedIVRecipe(const InductionDescriptor &IndDesc, VPValue *Start, in VPDerivedIVRecipe()
[all …]
H A DVPlanTransforms.cpp32 function_ref<const InductionDescriptor *(PHINode *)> in VPInstructionsToVPRecipes()
523 createScalarIVSteps(VPlan &Plan, InductionDescriptor::InductionKind Kind, in createScalarIVSteps()
590 const InductionDescriptor &ID = PtrIV->getInductionDescriptor(); in legalizeAndOptimizeInductions()
595 Plan, InductionDescriptor::IK_IntInduction, Instruction::Add, nullptr, in legalizeAndOptimizeInductions()
617 const InductionDescriptor &ID = WideIV->getInductionDescriptor(); in legalizeAndOptimizeInductions()
H A DLoopVectorize.cpp536 PHINode *OrigPhi, const InductionDescriptor &ID, Value *Step,
561 void fixupIVUsers(PHINode *OrigPhi, const InductionDescriptor &II,
2218 InductionDescriptor::InductionKind InductionKind, in emitTransformedIndex()
2264 case InductionDescriptor::IK_IntInduction: { in emitTransformedIndex()
2274 case InductionDescriptor::IK_PtrInduction: in emitTransformedIndex()
2276 case InductionDescriptor::IK_FpInduction: { in emitTransformedIndex()
2289 case InductionDescriptor::IK_NoInduction: in emitTransformedIndex()
2607 PHINode *OrigPhi, const InductionDescriptor &II, Value *Step, in createInductionResumeValue()
2665 static Value *getExpandedStep(const InductionDescriptor &ID, in getExpandedStep()
2692 const InductionDescriptor &II = InductionEntry.second; in createInductionResumeValues()
[all …]
H A DVPlanRecipes.cpp1258 const InductionDescriptor &ID = getInductionDescriptor(); in execute()
2430 InductionDescriptor::InductionKind Kind, VPValue *Start, in isCanonical()
2433 if (Kind != InductionDescriptor::IK_IntInduction) in isCanonical()
/freebsd/contrib/llvm-project/llvm/include/llvm/Transforms/Vectorize/
H A DLoopVectorizationLegality.h258 using InductionList = MapVector<PHINode *, InductionDescriptor>;
314 const InductionDescriptor *getIntOrFpInductionDescriptor(PHINode *Phi) const;
318 const InductionDescriptor *getPointerInductionDescriptor(PHINode *Phi) const;
463 void addInductionPhi(PHINode *Phi, const InductionDescriptor &ID,
/freebsd/contrib/llvm-project/llvm/lib/Analysis/
H A DIVDescriptors.cpp1233 InductionDescriptor::InductionDescriptor(Value *Start, InductionKind K, in InductionDescriptor() function in InductionDescriptor
1269 ConstantInt *InductionDescriptor::getConstIntStepValue() const { in getConstIntStepValue()
1275 bool InductionDescriptor::isFPInductionPHI(PHINode *Phi, const Loop *TheLoop, in isFPInductionPHI()
1277 InductionDescriptor &D) { in isFPInductionPHI()
1324 D = InductionDescriptor(StartValue, IK_FpInduction, Step, BOp); in isFPInductionPHI()
1433 bool InductionDescriptor::isInductionPHI(PHINode *Phi, const Loop *TheLoop, in isInductionPHI()
1435 InductionDescriptor &D, bool Assume) { in isInductionPHI()
1477 bool InductionDescriptor::isInductionPHI( in isInductionPHI()
1479 InductionDescriptor &D, const SCEV *Expr, in isInductionPHI()
1526 D = InductionDescriptor(StartValue, IK_IntInduction, Step, BOp, in isInductionPHI()
[all …]
H A DLoopInfo.cpp205 InductionDescriptor IndDesc; in getBounds()
206 if (!InductionDescriptor::isInductionPHI(&IndVar, &L, &SE, IndDesc)) in getBounds()
309 InductionDescriptor IndDesc; in getInductionVariable()
310 if (!InductionDescriptor::isInductionPHI(&IndVar, this, &SE, IndDesc)) in getInductionVariable()
335 InductionDescriptor &IndDesc) const { in getInductionDescriptor()
337 return InductionDescriptor::isInductionPHI(IndVar, this, &SE, IndDesc); in getInductionDescriptor()
355 InductionDescriptor IndDesc; in isAuxiliaryInductionVariable()
356 if (!InductionDescriptor::isInductionPHI(&AuxIndVar, this, &SE, IndDesc)) in isAuxiliaryInductionVariable()
413 InductionDescriptor IndDesc; in isCanonical()
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Utils/
H A DCanonicalizeFreezeInLoops.cpp160 InductionDescriptor ID; in run()
161 if (!InductionDescriptor::isInductionPHI(&PHI, L, &SE, ID)) in run()
H A DLoopUtils.cpp1479 InductionDescriptor &ID) { in checkIsIndPhi()
1486 return InductionDescriptor::isInductionPHI(Phi, L, SE, ID); in checkIsIndPhi()
1546 InductionDescriptor ID; in rewriteLoopExitValues()
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Scalar/
H A DLoopInterchange.cpp734 InductionDescriptor ID; in findInductionAndReductions()
735 if (InductionDescriptor::isInductionPHI(&PHI, L, SE, ID)) in findInductionAndReductions()
848 InductionDescriptor ID; in findInductions()
849 if (InductionDescriptor::isInductionPHI(&PHI, L, SE, ID)) in findInductions()