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

/freebsd-11-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.cpp218 auto *AddRec = dyn_cast<SCEVAddRecExpr>(SE.getSCEV(Ptr));
219 if (!AddRec || AddRec->getLoop() != L || !AddRec->isAffine())
221 auto* Step = dyn_cast<SCEVConstant>(AddRec->getStepRecurrence(SE));
236 auto *StartS = dyn_cast<SCEVUnknown>(AddRec->getStart());
H A DScalarEvolution.cpp216 cl::desc("Max coefficients in AddRec during evolving"),
1332 if (const SCEVAddRecExpr *AddRec = dyn_cast<SCEVAddRecExpr>(Op)) {
1334 for (const SCEV *Op : AddRec->operands())
1336 return getAddRecExpr(Operands, AddRec->getLoop(), SCEV::FlagAnyWrap);
1439 // allows normalizing a sign/zero extended AddRec as such: {sext/zext(Step +
1516 // Get the normalized zero or sign extended expression for this AddRec's Start.
1629 // Finds an integer D for an affine AddRec expression {C,+,x} such that the top
1751 // Cache knowledge of AR NUW, which is propagated to this AddRec.
1769 // Cache knowledge of AR NW, which is propagated to this AddRec.
1802 // AddRec
2704 const SCEVAddRecExpr *AddRec = cast<SCEVAddRecExpr>(Ops[Idx]); variable
[all...]
H A DIVDescriptors.cpp987 auto *AddRec = dyn_cast<SCEVAddRecExpr>(PSE.getSCEV(Val)); local
988 if (AddRec && PSE.areAddRecsEqualWithPreds(AddRec, AR))
/freebsd-11-stable/contrib/llvm-project/llvm/lib/Transforms/Scalar/
H A DIndVarSimplify.cpp655 if (auto *AddRec = dyn_cast<SCEVAddRecExpr>(SE->getSCEV(Inst)))
656 if (AddRec->getLoop() == L)
657 ExitValue = AddRec->evaluateAtIteration(ExitCount, *SE);
1279 /// operands is an AddRec for this loop, return the AddRec and the kind of
1320 const SCEVAddRecExpr *AddRec = local
1323 if (!AddRec || AddRec->getLoop() != L)
1326 return {AddRec, ExtKind};
1363 const SCEVAddRecExpr *AddRec local
1754 const SCEVAddRecExpr *AddRec = dyn_cast<SCEVAddRecExpr>(SE->getSCEV(OrigPhi)); local
[all...]
H A DLoopFuse.cpp901 const SCEVAddRecExpr *AddRec = dyn_cast<SCEVAddRecExpr>(S);
902 if (!AddRec)
904 return !DT.dominates(L0Header, AddRec->getLoop()->getHeader()) &&
905 !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-11-stable/contrib/llvm-project/llvm/include/llvm/Analysis/
H A DTargetTransformInfoImpl.h685 const SCEVAddRecExpr *AddRec = cast<SCEVAddRecExpr>(Ptr); local
686 return dyn_cast<SCEVConstant>(AddRec->getStepRecurrence(*SE));

Completed in 151 milliseconds