reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

References

lib/Analysis/LoopCacheAnalysis.cpp
  173       SE.getMinusSCEV(LastSubscript, OtherLastSubscript));
  268   const SCEV *TripCount = computeTripCount(L, SE);
  273     TripCount = SE.getConstant(ElemSize->getType(), DefaultTripCount);
  284     const SCEV *Stride = SE.getMulExpr(Coeff, ElemSize);
  285     const SCEV *CacheLineSize = SE.getConstant(Stride->getType(), CLS);
  286     const SCEV *Numerator = SE.getMulExpr(Stride, TripCount);
  287     RefCost = SE.getUDivExpr(Numerator, CacheLineSize);
  313   const SCEV *ElemSize = SE.getElementSize(&StoreOrLoadInst);
  318         SE.getSCEVAtScope(getPointerOperand(&StoreOrLoadInst), L);
  320     BasePointer = dyn_cast<SCEVUnknown>(SE.getPointerBase(AccessFn));
  328     AccessFn = SE.getMinusSCEV(AccessFn, BasePointer);
  333     SE.delinearize(AccessFn, Subscripts, Sizes,
  334                    SE.getElementSize(&StoreOrLoadInst));
  340       if (!isOneDimensionalArray(*AccessFn, *ElemSize, *L, SE)) {
  348       const SCEV *Div = SE.getUDivExactExpr(AccessFn, ElemSize);
  364   assert(SE.isSCEVable(Addr->getType()) && "Addr should be SCEVable");
  366   if (SE.isLoopInvariant(SE.getSCEV(Addr), &L))
  366   if (SE.isLoopInvariant(SE.getSCEV(Addr), &L))
  392   const SCEV *Stride = SE.getMulExpr(Coeff, ElemSize);
  393   const SCEV *CacheLineSize = SE.getConstant(Stride->getType(), CLS);
  395   return SE.isKnownPredicate(ICmpInst::ICMP_ULT, Stride, CacheLineSize);
  403   return AR->getStepRecurrence(SE);
  410                          : SE.isLoopInvariant(&Subscript, &L);
  425   const SCEV *Step = AR->getStepRecurrence(SE);
  427   if (!SE.isLoopInvariant(Start, &L) || !SE.isLoopInvariant(Step, &L))
  427   if (!SE.isLoopInvariant(Start, &L) || !SE.isLoopInvariant(Step, &L))