Lines Matching full:sizes
200 SmallVectorImpl<const SCEV *> &Sizes) { in findArrayDimensionsRec() argument
215 Sizes.push_back(Step); in findArrayDimensionsRec()
235 if (!findArrayDimensionsRec(SE, Terms, Sizes)) in findArrayDimensionsRec()
238 Sizes.push_back(Step); in findArrayDimensionsRec()
279 SmallVectorImpl<const SCEV *> &Sizes, in findArrayDimensions() argument
326 if (NewTerms.empty() || !findArrayDimensionsRec(SE, NewTerms, Sizes)) { in findArrayDimensions()
327 Sizes.clear(); in findArrayDimensions()
331 // The last element to be pushed into Sizes is the size of an element. in findArrayDimensions()
332 Sizes.push_back(ElementSize); in findArrayDimensions()
335 dbgs() << "Sizes:\n"; in findArrayDimensions()
336 for (const SCEV *S : Sizes) in findArrayDimensions()
343 SmallVectorImpl<const SCEV *> &Sizes) { in computeAccessFunctions() argument
345 if (Sizes.empty()) in computeAccessFunctions()
353 int Last = Sizes.size() - 1; in computeAccessFunctions()
356 SCEVDivision::divide(SE, Res, Sizes[i], &Q, &R); in computeAccessFunctions()
360 dbgs() << "Sizes[i]: " << *Sizes[i] << "\n"; in computeAccessFunctions()
361 dbgs() << "Res divided by Sizes[i]:\n"; in computeAccessFunctions()
375 Sizes.clear(); in computeAccessFunctions()
400 /// sizes of an array access. Returns the remainder of the delinearization that
450 SmallVectorImpl<const SCEV *> &Sizes, in delinearize() argument
459 // Second step: find subscript sizes. in delinearize()
460 findArrayDimensions(SE, Terms, Sizes, ElementSize); in delinearize()
462 if (Sizes.empty()) in delinearize()
466 computeAccessFunctions(SE, Expr, Subscripts, Sizes); in delinearize()
474 for (const SCEV *S : Sizes) in delinearize()
487 SmallVectorImpl<int> &Sizes) { in getIndexExpressionsFromGEP() argument
488 assert(Subscripts.empty() && Sizes.empty() && in getIndexExpressionsFromGEP()
509 Sizes.clear(); in getIndexExpressionsFromGEP()
515 Sizes.push_back(ArrayTy->getNumElements()); in getIndexExpressionsFromGEP()
524 SmallVectorImpl<const SCEV *> &Subscripts, SmallVectorImpl<int> &Sizes) { in tryDelinearizeFixedSizeImpl() argument
532 getIndexExpressionsFromGEP(*SE, SrcGEP, Subscripts, Sizes); in tryDelinearizeFixedSizeImpl()
537 // to how we handle Sizes. in tryDelinearizeFixedSizeImpl()
538 if (Sizes.empty() || Subscripts.size() <= 1) { in tryDelinearizeFixedSizeImpl()
553 assert(Subscripts.size() == Sizes.size() + 1 && in tryDelinearizeFixedSizeImpl()
589 SmallVector<const SCEV *, 3> Subscripts, Sizes; in printDelinearization() local
590 delinearize(*SE, AccessFn, Subscripts, Sizes, SE->getElementSize(&Inst)); in printDelinearization()
591 if (Subscripts.size() == 0 || Sizes.size() == 0 || in printDelinearization()
592 Subscripts.size() != Sizes.size()) { in printDelinearization()
601 O << "[" << *Sizes[i] << "]"; in printDelinearization()
602 O << " with elements of " << *Sizes[Size - 1] << " bytes.\n"; in printDelinearization()