llvm-project/llvm/test/Transforms/MemCpyOpt
Dan Gohman 59e4c0b938 [memcpyopt] Teach memcpyopt to optimize across basic blocks
This teaches memcpyopt to make a non-local memdep query when a local query
indicates that the dependency is non-local. This notably allows it to
eliminate many more llvm.memcpy calls in common Rust code, often by 20-30%.

Fixes PR28958.

Differential Revision: https://reviews.llvm.org/D38374

llvm-svn: 319482
2017-11-30 22:10:53 +00:00
..
2008-02-24-MultipleUseofSRet.ll
2008-03-13-ReturnSlotBitcast.ll
2011-06-02-CallSlotOverwritten.ll
align.ll
atomic.ll
callslot_aa.ll
callslot_deref.ll
callslot_throw.ll
capturing-func.ll
crash.ll
fca2memcpy.ll
form-memset.ll
invariant.start.ll
lifetime.ll Add address space mangling to lifetime intrinsics 2017-04-10 20:18:21 +00:00
load-store-to-memcpy.ll
loadstore-sret.ll
memcpy-invoke-memcpy.ll [memcpyopt] Teach memcpyopt to optimize across basic blocks 2017-11-30 22:10:53 +00:00
memcpy-to-memset-with-lifetimes.ll Add address space mangling to lifetime intrinsics 2017-04-10 20:18:21 +00:00
memcpy-to-memset.ll
memcpy-undef.ll Add address space mangling to lifetime intrinsics 2017-04-10 20:18:21 +00:00
memcpy.ll Fix some misc. -enable-var-scope violations 2017-11-13 01:47:52 +00:00
memmove.ll
memset-memcpy-redundant-memset.ll
memset-memcpy-to-2x-memset.ll
nonlocal-memcpy-memcpy.ll [memcpyopt] Teach memcpyopt to optimize across basic blocks 2017-11-30 22:10:53 +00:00
nontemporal.ll
pr29105.ll Add address space mangling to lifetime intrinsics 2017-04-10 20:18:21 +00:00
profitable-memset.ll
smaller.ll
sret.ll