[PATCH] D24833: [LoopDataPrefetch/AArch64] Allow selective prefetching of symbolic strided accesses

Balaram Makam via llvm-commits llvm-commits at lists.llvm.org
Fri Sep 23 11:52:38 PDT 2016


bmakam added a comment.

In https://reviews.llvm.org/D24833#551000, @anemet wrote:

> In https://reviews.llvm.org/D24833#549828, @bmakam wrote:
>
> > In https://reviews.llvm.org/D24833#549827, @anemet wrote:
> >
> > > > Irregular streams typically consist of array accesses in which a subscripted variable
> > >
> > > >  appears in one of the subscript positions, such as: A[B[i]].
> > >
> > > > 
> > >
> > > > For example:
> > >
> > > > 
> > >
> > > >   for (unsigned i = 0; i < 100; i++)
> > >
> > > >     A[i + 1] = A[Stride * i] + B[i];
> > >
> > >
> > > There is something confusing here.  Is Stride loop-variant here?  Otherwise I don't see how this is a A[B[i]]-style access.
> >
> >
> > Sorry for the confusion. What I meant was address of B[i] can be represented as i*sizeof(B), so sizeof(B) is the loop-invariant stride here.
>
>
> Sorry but I still don't understand this.  Can you please elaborate on where the A[B[i]] style access is in this loop?


Sorry, this is not for a A[B[i]] style access. This is only restricted to a symbolic stride access.


https://reviews.llvm.org/D24833





More information about the llvm-commits mailing list