Lines Matching full:stride
291 const SCEV *Stride = nullptr;
292 if (isConsecutive(L, Stride, CLS)) {
294 // (TripCount*Stride)/CLS.
295 assert(Stride != nullptr &&
296 "Stride should not be null for consecutive access!");
297 Type *WiderType = SE.getWiderType(Stride->getType(), TripCount->getType());
299 Stride = SE.getNoopOrAnyExtend(Stride, WiderType);
301 const SCEV *Numerator = SE.getMulExpr(Stride, TripCount);
310 << "Access is consecutive: RefCost=(TripCount*Stride)/CLS="
467 bool IndexedReference::isConsecutive(const Loop &L, const SCEV *&Stride,
479 // ...and the access stride is less than the cache line size.
493 Stride = SE.getMulExpr(SE.getNoopOrSignExtend(Coeff, WiderType),
495 const SCEV *CacheLineSize = SE.getConstant(Stride->getType(), CLS);
497 Stride = SE.isKnownNegative(Stride) ? SE.getNegativeSCEV(Stride) : Stride;
498 return SE.isKnownPredicate(ICmpInst::ICMP_ULT, Stride, CacheLineSize);