[PATCH] D68498: [PATCH 15/38] [noalias] D9382: llvm.noalias - don't prevent loop vectorization

Andrei Elovikov via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Oct 10 11:04:09 PDT 2019


a.elovikov added inline comments.


================
Comment at: llvm/test/Transforms/LoopVectorize/noalias.ll:7-9
+; CHECK-LABEL: @test(
+; CHECK: @llvm.noalias.p0i32
+; CHECK: store <2 x i32>
----------------
lebedev.ri wrote:
> It might be good to check a bit more context - *how* did it get vectorized?
And, in addition to this, it might be good to see how it's vectorized for the interleaved accesses (especially how the intrinsics/shuffles "interaction" looks like), e.g (similar to interleaved-accesses-1.ll).

  struct S {
    int * restrict i;
    float * restrict f;
  };

  S *p1, *p2;
  for (int j = 0; j < N; ++j) {
    S t = p1[j];
    p2[j] = t;
  }



CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D68498/new/

https://reviews.llvm.org/D68498





More information about the llvm-commits mailing list