Lines Matching refs:SE

83 const SCEV *llvm::replaceSymbolicStrideSCEV(ScalarEvolution *SE,
87 const SCEV *OrigSCEV = SE->getSCEV(Ptr);
105 SCEVParameterRewriter::rewrite(OrigSCEV, *SE, RewriteMap, true);
112 return SE->getSCEV(Ptr);
116 ScalarEvolution *SE, Loop *Lp, Value *Ptr, bool WritePtr, unsigned DepSetId,
119 const SCEV *Sc = replaceSymbolicStrideSCEV(SE, Strides, Ptr);
122 const SCEV *Ex = SE->getBackedgeTakenCount(Lp);
123 const SCEV *ScEnd = AR->evaluateAtIteration(Ex, *SE);
225 unsigned &NumComparisons, ScalarEvolution *SE,
275 static bool hasComputableBounds(ScalarEvolution *SE,
277 const SCEV *PtrScev = replaceSymbolicStrideSCEV(SE, Strides, Ptr);
287 static int isStridedPtr(ScalarEvolution *SE, Value *Ptr, const Loop *Lp,
292 ScalarEvolution *SE, Loop *TheLoop, const ValueToValueMap &StridesMap,
323 if (hasComputableBounds(SE, StridesMap, Ptr) &&
327 isStridedPtr(SE, Ptr, TheLoop, StridesMap) == 1)) {
341 RtCheck.insert(SE, TheLoop, Ptr, IsWrite, DepId, ASId, StridesMap);
502 static int isStridedPtr(ScalarEvolution *SE, Value *Ptr, const Loop *Lp,
515 const SCEV *PtrScev = replaceSymbolicStrideSCEV(SE, StridesMap, Ptr);
547 const SCEV *Step = AR->getStepRecurrence(*SE);
690 const SCEV *AScev = replaceSymbolicStrideSCEV(SE, Strides, APtr);
691 const SCEV *BScev = replaceSymbolicStrideSCEV(SE, Strides, BPtr);
693 int StrideAPtr = isStridedPtr(SE, APtr, InnermostLoop, Strides);
694 int StrideBPtr = isStridedPtr(SE, BPtr, InnermostLoop, Strides);
711 const SCEV *Dist = SE->getMinusSCEV(Sink, Src);
930 const SCEV *ExitCount = SE->getBackedgeTakenCount(TheLoop);
931 if (ExitCount == SE->getCouldNotCompute()) {
1085 if (Seen.insert(Ptr).second || !isStridedPtr(SE, Ptr, TheLoop, Strides)) {
1117 CanDoRT = Accesses.canCheckPtrAtRT(PtrRtCheck, NumComparisons, SE, TheLoop,
1159 CanDoRT = Accesses.canCheckPtrAtRT(PtrRtCheck, NumComparisons, SE,
1201 return (SE->isLoopInvariant(SE->getSCEV(V), TheLoop));
1225 SCEVExpander Exp(*SE, DL, "induction");
1230 const SCEV *Sc = SE->getSCEV(Ptr);
1232 if (SE->isLoopInvariant(Sc, TheLoop)) {
1302 LoopAccessInfo::LoopAccessInfo(Loop *L, ScalarEvolution *SE,
1307 : DepChecker(SE, L), NumComparisons(0), TheLoop(L), SE(SE), DL(DL),
1355 LAI = llvm::make_unique<LoopAccessInfo>(L, SE, DL, TLI, AA, DT, Strides);
1378 SE = &getAnalysis<ScalarEvolution>();