Searched refs:AddRec (Results 1 – 8 of 8) sorted by relevance
| /freebsd-11-stable/contrib/llvm-project/llvm/lib/Analysis/ |
| HD | DependenceAnalysis.cpp | 889 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 …]
|
| HD | Loads.cpp | 218 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()
|
| HD | ScalarEvolution.cpp | 1332 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 …]
|
| HD | IVDescriptors.cpp | 987 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/ |
| HD | IndVarSimplify.cpp | 655 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 …]
|
| HD | LoopFuse.cpp | 901 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()
|
| HD | LoopInterchange.cpp | 308 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/ |
| HD | TargetTransformInfoImpl.h | 685 const SCEVAddRecExpr *AddRec = cast<SCEVAddRecExpr>(Ptr); in getConstantStrideStep() local 686 return dyn_cast<SCEVConstant>(AddRec->getStepRecurrence(*SE)); in getConstantStrideStep()
|