Searched refs:AddRec (Results 1 - 9 of 9) sorted by relevance

/freebsd-13-stable/contrib/llvm-project/llvm/lib/Analysis/
H A DDependenceAnalysis.cpp889 const SCEVAddRecExpr *AddRec = dyn_cast<SCEVAddRecExpr>(Expr); local
890 if (!AddRec)
892 const SCEV *Start = AddRec->getStart();
893 const SCEV *Step = AddRec->getStepRecurrence(*SE);
894 const SCEV *UB = SE->getBackedgeTakenCount(AddRec->getLoop());
898 if (!AddRec->getNoWrapFlags())
905 Loops.set(mapSrcLoop(AddRec->getLoop()));
907 Loops.set(mapDstLoop(AddRec->getLoop()));
1009 /// with some extra checking if S is an AddRec and we can prove less-than using
1024 if (const SCEVAddRecExpr *AddRec
2994 const SCEVAddRecExpr *AddRec = dyn_cast<SCEVAddRecExpr>(Expr); local
3010 const SCEVAddRecExpr *AddRec = dyn_cast<SCEVAddRecExpr>(Expr); local
3030 const SCEVAddRecExpr *AddRec = dyn_cast<SCEVAddRecExpr>(Expr); local
[all...]
H A DLoads.cpp215 auto *AddRec = dyn_cast<SCEVAddRecExpr>(SE.getSCEV(Ptr));
216 if (!AddRec || AddRec->getLoop() != L || !AddRec->isAffine())
218 auto* Step = dyn_cast<SCEVConstant>(AddRec->getStepRecurrence(SE));
233 auto *StartS = dyn_cast<SCEVUnknown>(AddRec->getStart());
H A DScalarEvolution.cpp216 cl::desc("Max coefficients in AddRec during evolving"),
1073 if (const SCEVAddRecExpr *AddRec = dyn_cast<SCEVAddRecExpr>(Op)) {
1075 for (const SCEV *Op : AddRec->operands())
1077 return getAddRecExpr(Operands, AddRec->getLoop(), SCEV::FlagAnyWrap);
1180 // allows normalizing a sign/zero extended AddRec as such: {sext/zext(Step +
1257 // Get the normalized zero or sign extended expression for this AddRec's Start.
1370 // Finds an integer D for an affine AddRec expression {C,+,x} such that the top
1492 // Cache knowledge of AR NUW, which is propagated to this AddRec.
1510 // Cache knowledge of AR NW, which is propagated to this AddRec.
1543 // AddRec
[all...]
H A DIVDescriptors.cpp988 auto *AddRec = dyn_cast<SCEVAddRecExpr>(PSE.getSCEV(Val)); local
989 if (AddRec && PSE.areAddRecsEqualWithPreds(AddRec, AR))
/freebsd-13-stable/contrib/llvm-project/llvm/lib/Transforms/Scalar/
H A DIndVarSimplify.cpp931 /// operands is an AddRec for this loop, return the AddRec and the kind of
972 const SCEVAddRecExpr *AddRec = local
975 if (!AddRec || AddRec->getLoop() != L)
978 return {AddRec, ExtKind};
1015 const SCEVAddRecExpr *AddRec = dyn_cast<SCEVAddRecExpr>(WideExpr); local
1016 if (!AddRec || AddRec->getLoop() != L)
1018 return {AddRec, ExtKin
1396 const SCEVAddRecExpr *AddRec = dyn_cast<SCEVAddRecExpr>(SE->getSCEV(OrigPhi)); local
[all...]
H A DLoopFuse.cpp912 const SCEVAddRecExpr *AddRec = dyn_cast<SCEVAddRecExpr>(S);
913 if (!AddRec)
915 return !DT.dominates(L0Header, AddRec->getLoop()->getHeader()) &&
916 !DT.dominates(AddRec->getLoop()->getHeader(), L0Header);
H A DLoopInterchange.cpp308 const SCEVAddRecExpr *AddRec = local
310 if (!AddRec || !AddRec->isAffine())
312 const SCEV *Step = AddRec->getStepRecurrence(*SE);
/freebsd-13-stable/contrib/llvm-project/llvm/include/llvm/Analysis/
H A DTargetTransformInfoImpl.h711 const SCEVAddRecExpr *AddRec = cast<SCEVAddRecExpr>(Ptr); local
712 return dyn_cast<SCEVConstant>(AddRec->getStepRecurrence(*SE));
/freebsd-13-stable/contrib/llvm-project/llvm/lib/Transforms/Utils/
H A DLoopUtils.cpp1359 if (auto *AddRec = dyn_cast<SCEVAddRecExpr>(SE->getSCEV(Inst)))
1360 if (AddRec->getLoop() == L)
1361 ExitValue = AddRec->evaluateAtIteration(ExitCount, *SE);

Completed in 183 milliseconds