Gitiles
Code Review
Sign In
gerrit-public.fairphone.software
/
fp2-dev
/
platform
/
external
/
clang
/
49a87549f4dc95ecb3d8a593b71df7c167a51f85
/
test
/
CodeGen
/
byval-memcpy-elim.c
ea5e4da
The LLVM IR representation of byval arguments has a rather strange property: if the alignment of an argument to a call is less than the specified byval alignment for that argument, there is no way to specify the alignment of the implied copy. Therefore, we must ensure that the alignment of the argument is at least the byval alignment. To do this, we have to mess with the alignment of relevant alloca's in some cases, and insert a copy that conceptually shouldn't be necessary in some cases.
by Eli Friedman
· 13 years ago
55d4848
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.
by Eli Friedman
· 13 years ago
6f08777
Revert r130717, which caused a regression (<rdar://problem/9402621>).
by Douglas Gregor
· 13 years ago
b5a03b6
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.
by Eli Friedman
· 13 years ago