Home
last modified time | relevance | path

Searched refs:AddRec (Results 1 – 8 of 8) sorted by relevance

/freebsd-11-stable/contrib/llvm-project/llvm/lib/Analysis/
HDDependenceAnalysis.cpp889 const SCEVAddRecExpr *AddRec = dyn_cast<SCEVAddRecExpr>(Expr); in checkSubscript() local
890 if (!AddRec) in checkSubscript()
892 const SCEV *Start = AddRec->getStart(); in checkSubscript()
893 const SCEV *Step = AddRec->getStepRecurrence(*SE); in checkSubscript()
894 const SCEV *UB = SE->getBackedgeTakenCount(AddRec->getLoop()); in checkSubscript()
898 if (!AddRec->getNoWrapFlags()) in checkSubscript()
905 Loops.set(mapSrcLoop(AddRec->getLoop())); in checkSubscript()
907 Loops.set(mapDstLoop(AddRec->getLoop())); in checkSubscript()
1024 if (const SCEVAddRecExpr *AddRec = dyn_cast<SCEVAddRecExpr>(Bound)) { in isKnownLessThan() local
1025 if (AddRec->isAffine()) { in isKnownLessThan()
[all …]
HDLoads.cpp218 auto *AddRec = dyn_cast<SCEVAddRecExpr>(SE.getSCEV(Ptr)); in isDereferenceableAndAlignedInLoop() local
219 if (!AddRec || AddRec->getLoop() != L || !AddRec->isAffine()) in isDereferenceableAndAlignedInLoop()
221 auto* Step = dyn_cast<SCEVConstant>(AddRec->getStepRecurrence(SE)); in isDereferenceableAndAlignedInLoop()
236 auto *StartS = dyn_cast<SCEVUnknown>(AddRec->getStart()); in isDereferenceableAndAlignedInLoop()
HDScalarEvolution.cpp1332 if (const SCEVAddRecExpr *AddRec = dyn_cast<SCEVAddRecExpr>(Op)) { in getTruncateExpr() local
1334 for (const SCEV *Op : AddRec->operands()) in getTruncateExpr()
1336 return getAddRecExpr(Operands, AddRec->getLoop(), SCEV::FlagAnyWrap); in getTruncateExpr()
2704 const SCEVAddRecExpr *AddRec = cast<SCEVAddRecExpr>(Ops[Idx]); in getAddExpr() local
2705 const Loop *AddRecLoop = AddRec->getLoop(); in getAddExpr()
2716 LIOps.push_back(AddRec->getStart()); in getAddExpr()
2718 SmallVector<const SCEV *, 4> AddRecOps(AddRec->op_begin(), in getAddExpr()
2719 AddRec->op_end()); in getAddExpr()
2728 Flags = AddRec->getNoWrapFlags(setFlags(Flags, SCEV::FlagNW)); in getAddExpr()
2736 if (Ops[i] == AddRec) { in getAddExpr()
[all …]
HDIVDescriptors.cpp987 auto *AddRec = dyn_cast<SCEVAddRecExpr>(PSE.getSCEV(Val)); in getCastsForInductionPHI() local
988 if (AddRec && PSE.areAddRecsEqualWithPreds(AddRec, AR)) in getCastsForInductionPHI()
/freebsd-11-stable/contrib/llvm-project/llvm/lib/Transforms/Scalar/
HDIndVarSimplify.cpp655 if (auto *AddRec = dyn_cast<SCEVAddRecExpr>(SE->getSCEV(Inst))) in rewriteLoopExitValues() local
656 if (AddRec->getLoop() == L) in rewriteLoopExitValues()
657 ExitValue = AddRec->evaluateAtIteration(ExitCount, *SE); in rewriteLoopExitValues()
1320 const SCEVAddRecExpr *AddRec = in getExtendedOperandRecurrence() local
1323 if (!AddRec || AddRec->getLoop() != L) in getExtendedOperandRecurrence()
1326 return {AddRec, ExtKind}; in getExtendedOperandRecurrence()
1363 const SCEVAddRecExpr *AddRec = dyn_cast<SCEVAddRecExpr>(WideExpr); in getWideRecurrence() local
1364 if (!AddRec || AddRec->getLoop() != L) in getWideRecurrence()
1366 return {AddRec, ExtKind}; in getWideRecurrence()
1754 const SCEVAddRecExpr *AddRec = dyn_cast<SCEVAddRecExpr>(SE->getSCEV(OrigPhi)); in createWideIV() local
[all …]
HDLoopFuse.cpp901 const SCEVAddRecExpr *AddRec = dyn_cast<SCEVAddRecExpr>(S); in accessDiffIsPositive() local
902 if (!AddRec) in accessDiffIsPositive()
904 return !DT.dominates(L0Header, AddRec->getLoop()->getHeader()) && in accessDiffIsPositive()
905 !DT.dominates(AddRec->getLoop()->getHeader(), L0Header); in accessDiffIsPositive()
HDLoopInterchange.cpp308 const SCEVAddRecExpr *AddRec = in getInductionVariable() local
310 if (!AddRec || !AddRec->isAffine()) in getInductionVariable()
312 const SCEV *Step = AddRec->getStepRecurrence(*SE); in getInductionVariable()
/freebsd-11-stable/contrib/llvm-project/llvm/include/llvm/Analysis/
HDTargetTransformInfoImpl.h685 const SCEVAddRecExpr *AddRec = cast<SCEVAddRecExpr>(Ptr); in getConstantStrideStep() local
686 return dyn_cast<SCEVConstant>(AddRec->getStepRecurrence(*SE)); in getConstantStrideStep()