]> granicus.if.org Git - clang/commit
Skip extra copy from aggregate where it isn't necessary; rdar://problem/8139919 ...
authorEli Friedman <eli.friedman@gmail.com>
Thu, 26 May 2011 00:10:27 +0000 (00:10 +0000)
committerEli Friedman <eli.friedman@gmail.com>
Thu, 26 May 2011 00:10:27 +0000 (00:10 +0000)
commit55d484802f3e27930317739efc5f5956b78aac25
tree374f135ee009f730e8e8a1530f0d0a69355d4af7
parente5cfd52a3a5d4bb46f77323fa8fa0b973fcde7bc
Skip extra copy from aggregate where it isn't necessary; rdar://problem/8139919 .  This shouldn't make much of a difference at -O3, but should substantially reduce the number of generated memcpy's at -O0.

Originally r130717, but was backed out due to an ObjC regression.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@132102 91177308-0d34-0410-b5e6-96231b3b80d8
lib/CodeGen/CGCall.cpp
lib/CodeGen/CGCall.h
test/CodeGen/byval-memcpy-elim.c [new file with mode: 0644]