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()
841 [](const InductionDescriptor &ID) { in canVectorizeInstrs()
862 InductionDescriptor ID; in canVectorizeInstrs()
1165 InductionDescriptor IndDesc = Induction.second; in canVectorizeFPMath()
1208 const InductionDescriptor *
1213 if (ID.getKind() == InductionDescriptor::IK_IntInduction || in getIntOrFpInductionDescriptor()
1214 ID.getKind() == InductionDescriptor::IK_FpInduction) in getIntOrFpInductionDescriptor()
1219 const InductionDescriptor *
[all …]
H A DVPlanTransforms.h21 class InductionDescriptor; variable
34 function_ref<const InductionDescriptor *(PHINode *)>
H A DVPlan.h1552 const InductionDescriptor &IndDesc;
1556 const InductionDescriptor &IndDesc) in VPWidenIntOrFpInductionRecipe()
1563 const InductionDescriptor &IndDesc, in VPWidenIntOrFpInductionRecipe()
1610 const InductionDescriptor &getInductionDescriptor() const { return IndDesc; } in getInductionDescriptor()
1623 const InductionDescriptor &IndDesc;
1631 const InductionDescriptor &IndDesc, in VPWidenPointerInductionRecipe()
1651 const InductionDescriptor &getInductionDescriptor() const { return IndDesc; } in getInductionDescriptor()
2259 bool isCanonical(InductionDescriptor::InductionKind Kind, VPValue *Start,
2328 const InductionDescriptor::InductionKind Kind;
2334 VPDerivedIVRecipe(const InductionDescriptor &IndDesc, VPValue *Start, in VPDerivedIVRecipe()
[all …]
H A DVPlanTransforms.cpp33 function_ref<const InductionDescriptor *(PHINode *)> in VPInstructionsToVPRecipes()
492 static VPValue *createScalarIVSteps(VPlan &Plan, const InductionDescriptor &ID, in createScalarIVSteps()
525 const InductionDescriptor &ID = WideIV->getInductionDescriptor(); in optimizeInductions()
H A DLoopVectorize.cpp595 PHINode *OrigPhi, const InductionDescriptor &ID, Value *Step,
2389 case InductionDescriptor::IK_IntInduction: { in emitTransformedIndex()
2399 case InductionDescriptor::IK_PtrInduction: in emitTransformedIndex()
2401 case InductionDescriptor::IK_FpInduction: { in emitTransformedIndex()
2414 case InductionDescriptor::IK_NoInduction: in emitTransformedIndex()
3067 PHINode *OrigPhi, const InductionDescriptor &II, Value *Step, in createInductionResumeValue()
3125 static Value *getExpandedStep(const InductionDescriptor &ID, in getExpandedStep()
3152 const InductionDescriptor &II = InductionEntry.second; in createInductionResumeValues()
3916 InductionDescriptor::IK_PtrInduction && in collectLoopScalars()
7223 const InductionDescriptor &IndDes = Induction.second; in collectValuesToIgnore()
[all …]
H A DVPlanRecipes.cpp965 const InductionDescriptor &ID = getInductionDescriptor(); in execute()
1592 InductionDescriptor::InductionKind Kind, VPValue *Start, VPValue *Step, in isCanonical()
1595 if (Ty != getScalarType() || Kind != InductionDescriptor::IK_IntInduction) in isCanonical()
/freebsd/contrib/llvm-project/llvm/include/llvm/Transforms/Vectorize/
H A DLoopVectorizationLegality.h258 using InductionList = MapVector<PHINode *, InductionDescriptor>;
311 const InductionDescriptor *getIntOrFpInductionDescriptor(PHINode *Phi) const;
315 const InductionDescriptor *getPointerInductionDescriptor(PHINode *Phi) const;
460 void addInductionPhi(PHINode *Phi, const InductionDescriptor &ID,
/freebsd/contrib/llvm-project/llvm/lib/Analysis/
H A DIVDescriptors.cpp1234 InductionDescriptor::InductionDescriptor(Value *Start, InductionKind K, in InductionDescriptor() function in InductionDescriptor
1270 ConstantInt *InductionDescriptor::getConstIntStepValue() const { in getConstIntStepValue()
1276 bool InductionDescriptor::isFPInductionPHI(PHINode *Phi, const Loop *TheLoop, in isFPInductionPHI()
1278 InductionDescriptor &D) { in isFPInductionPHI()
1325 D = InductionDescriptor(StartValue, IK_FpInduction, Step, BOp); in isFPInductionPHI()
1434 bool InductionDescriptor::isInductionPHI(PHINode *Phi, const Loop *TheLoop, in isInductionPHI()
1436 InductionDescriptor &D, bool Assume) { in isInductionPHI()
1478 bool InductionDescriptor::isInductionPHI( in isInductionPHI()
1480 InductionDescriptor &D, const SCEV *Expr, in isInductionPHI()
1527 D = InductionDescriptor(StartValue, IK_IntInduction, Step, BOp, in isInductionPHI()
[all …]
H A DLoopInfo.cpp204 InductionDescriptor IndDesc; in getBounds()
205 if (!InductionDescriptor::isInductionPHI(&IndVar, &L, &SE, IndDesc)) in getBounds()
308 InductionDescriptor IndDesc; in getInductionVariable()
309 if (!InductionDescriptor::isInductionPHI(&IndVar, this, &SE, IndDesc)) in getInductionVariable()
334 InductionDescriptor &IndDesc) const { in getInductionDescriptor()
336 return InductionDescriptor::isInductionPHI(IndVar, this, &SE, IndDesc); in getInductionDescriptor()
354 InductionDescriptor IndDesc; in isAuxiliaryInductionVariable()
355 if (!InductionDescriptor::isInductionPHI(&AuxIndVar, this, &SE, IndDesc)) in isAuxiliaryInductionVariable()
412 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.cpp1334 InductionDescriptor &ID) { in checkIsIndPhi()
1341 return InductionDescriptor::isInductionPHI(Phi, L, SE, ID); in checkIsIndPhi()
1401 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()