[PATCH] D155520: [LV] Complete load groups and release store groups in presence of dependency

Ayal Zaks via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Sat Aug 5 15:01:37 PDT 2023


Ayal accepted this revision.
Ayal added a comment.
This revision is now accepted and ready to land.

Looks good to me, thanks for fixing!

Worth checking with @MatzeB and @mstorsjo if this fixes their cases.



================
Comment at: llvm/test/Transforms/LoopVectorize/interleaved-accesses-use-after-free.ll:43
+; CHECK: LV: Invalidated store group due to dependence between   store ptr %load7, ptr %getelementptr, align 8 and   store ptr null, ptr %getelementptr13, align 8
+; CHECK-NOT: LV: Invalidated store group due to dependence between
+define void @test(ptr %arg, ptr %arg1) local_unnamed_addr #0 {
----------------
note: worth clarifying which of the two groups is invalidated (a shortcoming of existing debug prints) - this is checking that exactly one store group is invalidated, due to a dependence between a store of one group and a store of the other. Alternatively, can check the generated scalar stores and shuffles that feed the interleaved store.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D155520



More information about the llvm-commits mailing list