Home
last modified time | relevance | path

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

/freebsd/contrib/llvm-project/llvm/include/llvm/Analysis/
H A DIVDescriptors.h378 class InductionDescriptor {
390 InductionDescriptor() = default;
409 InductionDescriptor &D, const SCEV *Expr = nullptr,
417 InductionDescriptor &D);
427 InductionDescriptor &D,
455 InductionDescriptor(Value *Start, InductionKind K, const SCEV *Step,
H A DLoopInfo.h28 class InductionDescriptor; variable
261 InductionDescriptor &IndDesc) const;
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Vectorize/
H A DLoopVectorizationLegality.cpp679 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()
848 [](const InductionDescriptor &ID) { in canVectorizeInstrs()
851 return ID.getKind() == InductionDescriptor::IK_PtrInduction && in canVectorizeInstrs()
869 InductionDescriptor ID; in canVectorizeInstrs()
870 if (InductionDescriptor::isInductionPHI(Phi, TheLoop, PSE, ID) && in canVectorizeInstrs()
885 if (InductionDescriptor::isInductionPHI(Phi, TheLoop, PSE, ID, true) && in canVectorizeInstrs()
[all …]
H A DVPlanTransforms.h24 class InductionDescriptor; variable
88 function_ref<const InductionDescriptor *(PHINode *)>
H A DVPlan.h1937 const InductionDescriptor &IndDesc;
1941 VPValue *Step, const InductionDescriptor &IndDesc, in VPWidenInductionRecipe()
1978 const InductionDescriptor &getInductionDescriptor() const { return IndDesc; } in getInductionDescriptor()
2016 VPValue *VF, const InductionDescriptor &IndDesc, in VPWidenIntOrFpInductionRecipe()
2025 VPValue *VF, const InductionDescriptor &IndDesc, in VPWidenIntOrFpInductionRecipe()
2107 const InductionDescriptor &IndDesc, in VPWidenPointerInductionRecipe()
3386 const InductionDescriptor::InductionKind Kind;
3395 VPDerivedIVRecipe(const InductionDescriptor &IndDesc, VPValue *Start,
3403 VPDerivedIVRecipe(InductionDescriptor::InductionKind Kind,
3464 VPScalarIVStepsRecipe(const InductionDescriptor &IndDesc, VPValue *IV,
H A DEVLIndVarSimplify.cpp114 InductionDescriptor IVD; in run()
H A DVPlanTransforms.cpp43 function_ref<const InductionDescriptor *(PHINode *)> in tryToConvertVPInstructionsToVPRecipes()
564 createScalarIVSteps(VPlan &Plan, InductionDescriptor::InductionKind Kind, in createScalarIVSteps()
667 const InductionDescriptor &ID = PtrIV->getInductionDescriptor(); in legalizeAndOptimizeInductions()
672 Plan, InductionDescriptor::IK_IntInduction, Instruction::Add, nullptr, in legalizeAndOptimizeInductions()
690 const InductionDescriptor &ID = WideIV->getInductionDescriptor(); in legalizeAndOptimizeInductions()
759 return ID.getKind() == InductionDescriptor::IK_PtrInduction && in getOptimizableIVOf()
813 const InductionDescriptor &ID = WideIV->getInductionDescriptor(); in optimizeEarlyExitInductionUser()
2599 const InductionDescriptor &ID = WidenIVR->getInductionDescriptor(); in expandVPWidenIntOrFpInduction()
2605 if (ID.getKind() == InductionDescriptor::IK_IntInduction) { in expandVPWidenIntOrFpInduction()
H A DLoopVectorizationPlanner.h276 VPDerivedIVRecipe *createDerivedIV(InductionDescriptor::InductionKind Kind,
H A DLoopVectorize.cpp2120 InductionDescriptor::InductionKind InductionKind, in emitTransformedIndex()
2163 case InductionDescriptor::IK_IntInduction: { in emitTransformedIndex()
2173 case InductionDescriptor::IK_PtrInduction: in emitTransformedIndex()
2175 case InductionDescriptor::IK_FpInduction: { in emitTransformedIndex()
2188 case InductionDescriptor::IK_NoInduction: in emitTransformedIndex()
2443 static Value *getExpandedStep(const InductionDescriptor &ID, in getExpandedStep()
2865 InductionDescriptor::IK_PtrInduction && in collectLoopScalars()
6520 const InductionDescriptor &IndDes = Induction.second; in collectValuesToIgnore()
7702 VPValue *Start, const InductionDescriptor &IndDesc, in createWidenInductionRecipes()
7766 const InductionDescriptor &II = *Legal->getIntOrFpInductionDescriptor(Phi); in tryToOptimizeInductionTruncate()
[all …]
H A DVPlanRecipes.cpp3704 InductionDescriptor::IK_PtrInduction && in execute()
/freebsd/contrib/llvm-project/llvm/include/llvm/Transforms/Vectorize/
H A DLoopVectorizationLegality.h270 using InductionList = MapVector<PHINode *, InductionDescriptor>;
334 const InductionDescriptor *getIntOrFpInductionDescriptor(PHINode *Phi) const;
338 const InductionDescriptor *getPointerInductionDescriptor(PHINode *Phi) const;
561 void addInductionPhi(PHINode *Phi, const InductionDescriptor &ID,
/freebsd/contrib/llvm-project/llvm/lib/Analysis/
H A DIVDescriptors.cpp1344 InductionDescriptor::InductionDescriptor(Value *Start, InductionKind K, in InductionDescriptor() function in InductionDescriptor
1377 ConstantInt *InductionDescriptor::getConstIntStepValue() const { in getConstIntStepValue()
1383 bool InductionDescriptor::isFPInductionPHI(PHINode *Phi, const Loop *TheLoop, in isFPInductionPHI()
1385 InductionDescriptor &D) { in isFPInductionPHI()
1432 D = InductionDescriptor(StartValue, IK_FpInduction, Step, BOp); in isFPInductionPHI()
1541 bool InductionDescriptor::isInductionPHI(PHINode *Phi, const Loop *TheLoop, in isInductionPHI()
1543 InductionDescriptor &D, bool Assume) { in isInductionPHI()
1585 bool InductionDescriptor::isInductionPHI( in isInductionPHI()
1587 InductionDescriptor &D, const SCEV *Expr, in isInductionPHI()
1634 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.cpp1545 InductionDescriptor &ID) { in checkIsIndPhi()
1552 return InductionDescriptor::isInductionPHI(Phi, L, SE, ID); in checkIsIndPhi()
1612 InductionDescriptor ID; in rewriteLoopExitValues()
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Scalar/
H A DLoopInterchange.cpp898 InductionDescriptor ID; in findInductionAndReductions()
899 if (InductionDescriptor::isInductionPHI(&PHI, L, SE, ID)) in findInductionAndReductions()
1013 InductionDescriptor ID; in findInductions()
1014 if (InductionDescriptor::isInductionPHI(&PHI, L, SE, ID)) in findInductions()