[llvm] r198950 - LoopVectorizer: Handle strided memory accesses by versioning

Arnold Schwaighofer aschwaighofer at apple.com
Fri Jan 10 14:05:49 PST 2014


Hi Renato,

This is different, this is about symbolic strides that we assume to be one:

void test(int * restrict A, int StrideA, …) {
  for (int i = 0; i < 256; ++i)
    A[i * StridedA] += B[i * StrideB] …;



On Jan 10, 2014, at 1:53 PM, Renato Golin <renato.golin at linaro.org> wrote:

> On 10 January 2014 18:20, Arnold Schwaighofer <aschwaighofer at apple.com> wrote:
> Author: arnolds
> Date: Fri Jan 10 12:20:32 2014
> New Revision: 198950
> 
> URL: http://llvm.org/viewvc/llvm-project?rev=198950&view=rev
> Log:
> LoopVectorizer: Handle strided memory accesses by versioning
> 
>  for (i = 0; i < N; ++i)
>    A[i * Stride1] += B[i * Stride2];
> 
> Hi Arnold,
> 
> Does that help any of the stride support we were adding last year?
> 
> cheers,
> --renato





More information about the llvm-commits mailing list