llvm-project/llvm/test/Transforms/MemCpyOpt
Philip Reames e75a2dfe20 [tests] Stablize tests for possible change in deref semantics
There's a potential change in dereferenceability attribute semantics in the nearish future.  See llvm-dev thread "RFC: Decomposing deref(N) into deref(N) + nofree" and D99100 for context.

This change simply adds appropriate attributes to tests to keep transform logic exercised under both old and new/proposed semantics.  Note that for many of these cases, O3 would infer exactly these attributes on the test IR.

This change handles the idiomatic pattern of a dereferenceable object being passed to a call which can not free that memory.  There's a couple other tests which need more one-off attention, they'll be handled in another change.
2021-07-14 13:05:43 -07:00
..
2008-02-24-MultipleUseofSRet.ll
2008-03-13-ReturnSlotBitcast.ll
2011-06-02-CallSlotOverwritten.ll
aa-recursion-assertion-failure.ll
aggregate-type-crash.ll
align.ll
atomic.ll
byval-readnone.ll [MemCpyOpt] Fix handling of readnone byval arguments 2021-02-22 18:48:31 +01:00
callslot.ll Reapply [CaptureTracking] Do not check domination 2021-05-16 15:46:31 +02:00
callslot_aa.ll
callslot_badaa.ll
callslot_deref.ll [tests] Stablize tests for possible change in deref semantics 2021-07-14 13:05:43 -07:00
callslot_throw.ll
capturing-func.ll
crash.ll
fca2memcpy.ll
form-memset.ll
invariant.start.ll
lifetime.ll Reland "[Libcalls, Attrs] Annotate libcalls with noundef" 2021-02-20 06:18:48 +01:00
load-store-to-memcpy.ll
loadstore-sret.ll
memcpy-in-loop.ll [MemorySSA] Don't bail on phi starting access 2021-03-13 10:53:13 +01:00
memcpy-invoke-memcpy.ll
memcpy-to-memset-with-lifetimes.ll Reland "[Libcalls, Attrs] Annotate libcalls with noundef" 2021-02-20 06:18:48 +01:00
memcpy-to-memset.ll
memcpy-undef.ll [MemCpyOpt] Handle read from lifetime.start with offset 2021-03-13 20:38:09 +01:00
memcpy.ll [Intrinsics] Make MemCpyInlineInst a MemCpyInst 2021-07-02 10:25:24 -07:00
memmove.ll
memset-memcpy-oversized.ll
memset-memcpy-redundant-memset.ll [MemCpyOpt] Preserve address space 2021-06-27 20:21:19 +02:00
memset-memcpy-to-2x-memset.ll
merge-into-memset.ll
mixed-sizes.ll
non-integral.ll
nonlocal-memcpy-memcpy.ll
nontemporal.ll
pr29105.ll Reland "[Libcalls, Attrs] Annotate libcalls with noundef" 2021-02-20 06:18:48 +01:00
pr37967.ll
preserve-memssa.ll [MemCpyOpt] Don't generate zero-size memset 2021-03-13 11:41:15 +01:00
process_store.ll
profitable-memset.ll
smaller.ll
sret.ll [tests] Refresh a bunch of autogen test to adjust for format changes 2021-03-22 10:41:39 -07:00
stackrestore.ll
store-to-memset-is-nonzero-type.ll
store-to-memset.ll
variable-sized-memcpy-memcpy.ll [MemCpyOpt] Allow variable lengths in memcpy optimizer 2021-04-21 23:23:38 +02:00
variable-sized-memcpy-uninit.ll [MemCpyOpt] Allow variable lengths in memcpy optimizer 2021-04-21 23:23:38 +02:00
variable-sized-memset-memcpy.ll [MemCpyOpt] Allow variable lengths in memcpy optimizer 2021-04-21 23:23:38 +02:00
vscale-memset.ll