diff options
author | Reid Kleckner <rnk@google.com> | 2017-01-13 17:18:19 +0000 |
---|---|---|
committer | Reid Kleckner <rnk@google.com> | 2017-01-13 17:18:19 +0000 |
commit | 791bbf6f18bff3d02964b1db0ac1028917cf2082 (patch) | |
tree | 21f6723d0d7bdb5a70313d2f44e60c4be8591b39 /clang/lib/Frontend/CompilerInvocation.cpp | |
parent | 17d266bc96198c3d0bb3f27af23c35f2d893c6aa (diff) | |
download | bcm5719-llvm-791bbf6f18bff3d02964b1db0ac1028917cf2082.tar.gz bcm5719-llvm-791bbf6f18bff3d02964b1db0ac1028917cf2082.zip |
Use less byval on 32-bit Windows x86 for classes with bases
This comes up in V8, which has a Handle template class that wraps a
typed pointer, and is frequently passed by value. The pointer is stored
in the base, HandleBase. This change allows us to pass the struct as a
pointer instead of using byval. This avoids creating tons of temporary
allocas that we copy from during call lowering.
Eventually, it would be good to use FCAs here instead.
llvm-svn: 291917
Diffstat (limited to 'clang/lib/Frontend/CompilerInvocation.cpp')
0 files changed, 0 insertions, 0 deletions