[all-commits] [llvm/llvm-project] 3cf24d: [LV] Complete load groups and release store groups...
annamthomas via All-commits
all-commits at lists.llvm.org
Tue Aug 8 15:10:49 PDT 2023
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 3cf24dbbdde01386edc69919bbdaad6be2a822be
https://github.com/llvm/llvm-project/commit/3cf24dbbdde01386edc69919bbdaad6be2a822be
Author: Anna Thomas <anna at azul.com>
Date: 2023-08-08 (Tue, 08 Aug 2023)
Changed paths:
M llvm/lib/Analysis/VectorUtils.cpp
M llvm/test/Transforms/LoopVectorize/X86/interleaved-accesses-hoist-load-across-store.ll
M llvm/test/Transforms/LoopVectorize/X86/interleaved-accesses-sink-store-across-load.ll
A llvm/test/Transforms/LoopVectorize/interleaved-accesses-max-dependences.ll
A llvm/test/Transforms/LoopVectorize/interleaved-accesses-use-after-free.ll
Log Message:
-----------
[LV] Complete load groups and release store groups. Try 2.
This is a complete fix for CompleteLoadGroups introduced in
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 correctly.
This change was previously reverted (e85fd3cbdd68) due to Asan failure with
use-after-free error. A testcase is added and the bug is fixed in this
version of the patch.
Differential Revision: https://reviews.llvm.org/D155520
More information about the All-commits
mailing list