llvm-project/llvm/test/Transforms/LoopIdiom
Stephen Long e02f4976ac [LoopIdiom] Merge TBAA of adjacent stores when creating memset
Factor in the TBAA of adjacent stores instead of just the head store
when merging stores into a memset. We were seeing GVN remove a load that
had a TBAA that matched the 2nd store because GVN determined it didn't
match the TBAA of the memset. The memset had the TBAA of only the first
store.

i.e. Loading the field pi_ of shared_count after memset to create an
array of shared_ptr

template<class T>
class shared_ptr {
  T *p;
  shared_count refcount;
};

class shared_count {
  sp_counted_base *pi_;
};

Differential Revision: https://reviews.llvm.org/D122205
2022-03-30 16:54:49 -07:00
..
AMDGPU
ARM
RISCV [RISCV] Update recently ratified Zb{a,b,c,s} extensions to no longer be experimental 2022-01-12 19:33:44 +00:00
X86 [IRBuilder] Migrate and-folding to value-based FoldAnd. 2022-01-20 10:22:21 +00:00
basic-address-space.ll
basic.ll
crash.ll
ctpop-multiple-users-crash.ll
dbginfo-cost.ll
debug-line.ll
disable-options.ll
expander-do-not-delete-reused-values.ll
int_sideeffect.ll
lir-heurs-multi-block-loop.ll
memcpy-debugify-remarks.ll
memcpy-inline-intrinsic.ll
memcpy-intrinsic-different-types.ll
memcpy-intrinsic.ll
memcpy-tbaa.ll [LoopIdiom] Keep TBAA when creating memcpy/memmove 2022-01-31 16:28:13 -05:00
memcpy-vectors.ll
memcpy.ll
memmove-tbaa.ll [LoopIdiom] Keep TBAA when creating memcpy/memmove 2022-01-31 16:28:13 -05:00
memset-debugify-remarks.ll
memset-pr52104.ll
memset-runtime-32bit.ll [SCEV] Don't try to reuse expressions with offset 2022-02-25 09:16:48 +01:00
memset-runtime-64bit.ll [SCEV] Don't try to reuse expressions with offset 2022-02-25 09:16:48 +01:00
memset-runtime-debug.ll [LoopIdiom] Let LIR fold memset pointer / stride SCEV regarding loop guards 2021-12-13 09:36:58 -08:00
memset-tbaa.ll [LoopIdiom] Merge TBAA of adjacent stores when creating memset 2022-03-30 16:54:49 -07:00
memset.ll
memset_noidiom.ll
non-canonical-loop.ll
non-integral-pointers.ll
nontemporal_store.ll
phi-insertion.ll
pr28196.ll
pr33114.ll
reuse-cast.ll
scev-invalidation.ll
scev-invalidation_topmostloop.ll
struct-custom-dl.ll
struct.ll
struct_pattern.ll
unordered-atomic-memcpy-noarch.ll
unroll-custom-dl.ll
unroll.ll
unsafe.ll
unwind.ll