Graphite needs to delinearize the memory accesses in this loop to do vectorization and parallelization: $ cat s.c void foo(unsigned char *in, unsigned char *out, int w, int h) { unsigned int i, j; for (i = 0; i < 3*w*h; i++) for (j = 0; j < 3*w*h; j++) out[i*w+j] = in[(i*w+j)*3] + in[(i*w+j)*3+1] + in[(i*w+j)*3+2]; } $ gcc -O3 -floop-parallelize-all s.c Polly vectorizes this loop with vector factor 16.
Is this related to PR61000?
> Is this related to PR61000? Yes. Also related to PR14741.