Don't eliminate memcpy's when the address of the pointer may itself be relevant....
authorNick Lewycky <nicholas@mxc.ca>
Mon, 14 Jul 2014 18:52:02 +0000 (18:52 +0000)
committerNick Lewycky <nicholas@mxc.ca>
Mon, 14 Jul 2014 18:52:02 +0000 (18:52 +0000)
commitbd5603c16ef1953813ffef6d4643699c992d6595
tree26820a7edb3099c4899a7fb8737338c639a5a19d
parente31c05926bfdfbd0f3bdd21e1456e416872cd1cc
Don't eliminate memcpy's when the address of the pointer may itself be relevant. Fixes PR18304. Patch by David Wiberg!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@212970 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Transforms/Scalar/MemCpyOptimizer.cpp
test/Transforms/MemCpyOpt/2008-02-24-MultipleUseofSRet.ll
test/Transforms/MemCpyOpt/2008-03-13-ReturnSlotBitcast.ll
test/Transforms/MemCpyOpt/capturing-func.ll [new file with mode: 0644]
test/Transforms/MemCpyOpt/loadstore-sret.ll
test/Transforms/MemCpyOpt/memcpy.ll
test/Transforms/MemCpyOpt/sret.ll