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

Anna Thomas via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Jul 17 15:10:57 PDT 2023


anna created this revision.
anna added reviewers: Ayal, fhahn, gilr.
Herald added subscribers: artagnon, StephenFan, hiraditya.
Herald added a project: All.
anna requested review of this revision.
Herald added subscribers: llvm-commits, wangpc.
Herald added a project: LLVM.

This is a more complete fix for CompleteLoadGroups introduced in
D154309 <https://reviews.llvm.org/D154309>. We need to check for dependency between A and every member of
the load Group of B.
This patch also fixes another miscompile seen when we incorrectly sink stores
below a depending load (see testcase in
interleaved-accesses-sink-store-across-load.ll). This is fixed by
releasing store groups.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D155520

Files:
  llvm/lib/Analysis/VectorUtils.cpp
  llvm/test/Transforms/LoopVectorize/X86/interleaved-accesses-hoist-load-across-store.ll
  llvm/test/Transforms/LoopVectorize/X86/interleaved-accesses-sink-store-across-load.ll
  llvm/test/Transforms/LoopVectorize/X86/interleaved-accesses-waw-dependency.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D155520.541249.patch
Type: text/x-patch
Size: 18776 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20230717/623ab2d6/attachment.bin>


More information about the llvm-commits mailing list