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