Go to file
Manman Ren 2738278b7f [i386 ABI] expand small C like structs in C++, just like how we handle small
C structs.

This comes up when we have a function that takes a struct and is defined in a
C++ file and used in a C file.

Before this commit, we will generate byval for C++ and will expand the struct
for C, thus causing difference at IR level. We will use bitcast of function type
at the callsite, which causes the inliner to not inline the function.

This commit changes how we handle small C like structs at IR level, but at
backend, we should generate the same argument passing before and after the
commit.

Note that the condition for expanding is still over conservative. We should be
able to expand type that is spelled with “class” and types that are not C-like.
But this commit fixes the inconsistent argument passing between C/C++.

Reviewed by John.

rdar://20121030

llvm-svn: 234033
2015-04-03 18:10:29 +00:00
clang [i386 ABI] expand small C like structs in C++, just like how we handle small 2015-04-03 18:10:29 +00:00
clang-tools-extra [clang-tidy] Clarify message for the google-explicit-constructor check 2015-03-31 16:24:44 +00:00
compiler-rt [sancov] Shrink pc array on Android back to 2**24. 2015-04-03 12:59:39 +00:00
debuginfo-tests New round of fixes for "Always compile debuginfo-tests for the host triple" 2014-10-18 23:47:59 +00:00
libclc Implement atanpi builtin 2015-04-02 17:01:58 +00:00
libcxx Fix race conditions in test class used throughout the std::thread tests. 2015-04-02 21:12:17 +00:00
libcxxabi [libcxxabi] Fix multi-level pointer conversions and pointer to member conversion detection. 2015-04-02 23:26:37 +00:00
lld Fix for revision r234009 (gcc/msvc compilation differences) 2015-04-03 14:44:33 +00:00
lldb Don't use literal slashes when concatenating paths in Python. 2015-04-03 17:19:43 +00:00
llgo llgoi: Fix type identity for imported binary packages. 2015-03-18 08:34:40 +00:00
llvm [GraphWriter] Attempt to open .dot files with xdg-open/open first 2015-04-03 17:22:36 +00:00
openmp Replace some unsafe API calls with safe alternatives on Windows, prepare code for similar actions on other platforms - wrap unsafe API calls into macros. 2015-04-02 13:27:08 +00:00
polly Do not scale tile loops 2015-03-31 07:52:36 +00:00