John McCall
|
de5d3c7176
Whether an argument is required (in contrast with being an
|
13 年之前 |
Akira Hatanaka
|
a34e921165
Class objects passed by value follow the same rules as structure objects.
|
13 年之前 |
Akira Hatanaka
|
da54ff3062
Fix bugs in function MipsABIInfo::returnAggregateInRegs. Functions returning
|
13 年之前 |
Akira Hatanaka
|
526cdfb2bf
Do not return records with non trivial destructors or copy constructors in
|
13 年之前 |
Chris Lattner
|
8b418685e9
simplify a bunch of code to use the well-known LLVM IR types computed by CodeGenModule.
|
13 年之前 |
Eli Friedman
|
55fc7e2b80
Add some ABI tweaks for i386-pc-win32 triple so that we return structs in an MSVC-compatible way. Patch by Joe Groff.
|
13 年之前 |
Akira Hatanaka
|
8f675e4b18
Make sure the integer type used to align the vaarg address is the same as the
|
13 年之前 |
Akira Hatanaka
|
a8536c086f
Ignore return type if its size is zero.
|
13 年之前 |
David Blaikie
|
3026348bd4
More dead code removal (using -Wunreachable-code)
|
13 年之前 |
Akira Hatanaka
|
cc66254946
Take into account the pointer to an aggregate that is passed as a hidden
|
13 年之前 |
Akira Hatanaka
|
2afd23da0e
Call CodeGenTypes::ConvertType to get LLVM::Type*.
|
13 年之前 |
Akira Hatanaka
|
9db0a5e7e3
Remove switch/case statements and call GetFloatingPointTy() instead to get the
|
13 年之前 |
Akira Hatanaka
|
6d1080fd18
Flatten float complex arguments. N32/64 requires float complex arguments be
|
13 年之前 |
Akira Hatanaka
|
9659d59ec3
Remove space.
|
13 年之前 |
Chandler Carruth
|
b43550bf1b
Add support for the androideabi environment to our triple support, and
|
13 年之前 |
Joerg Sonnenberger
|
91ee4a7f36
Contrary to the other BSDs, NetBSD followed the ELF ABI for structure
|
13 年之前 |
Akira Hatanaka
|
a33fd393d5
Insert padding before unaligned long double arguments.
|
13 年之前 |
Akira Hatanaka
|
f0cc2087b1
Add field PaddingType to ABIArgInfo which specifies the type of padding that
|
13 年之前 |
Akira Hatanaka
|
c7ecc2e369
Have functions return structures smaller than 128-bit in registers if ABI
|
13 年之前 |
Tony Linthicum
|
9631939f82
Hexagon backend support
|
13 年之前 |
Eli Friedman
|
68805fef77
Minor comment update.
|
13 年之前 |
Eli Friedman
|
ee1ad99f1c
When we're passing a vector with an illegal type through memory on x86-64, use byval so we're sure the backend does the right thing. Fixes va_arg with illegal vectors and an obscure ABI mismatch with __m64 vectors.
|
13 年之前 |
Eli Friedman
|
3ed7903d27
Don't use a varargs convention for calls unprototyped functions where one of the arguments is an AVX vector.
|
13 年之前 |
Tanya Lattner
|
ce275675d3
Correct the code generation for function arguments of vec3 types on x86_64 when they are greater than 128 bits. This was incorrectly coercing things like long3 into a double2.
|
13 年之前 |
Eli Friedman
|
5a1ac89b24
Finish r144971, which was an incomplete commit.
|
13 年之前 |
Eli Friedman
|
7e7ad3f8fa
Fix the meaning of an "empty" record for the case of a zero-length array. Use isEmptyRecord for arguments on x86-32; there are structs of size 0 which don't count as empty.
|
13 年之前 |
Eli Friedman
|
8d2fe42417
Make va_arg on x86-64 compute alignment the same way as argument passing.
|
13 年之前 |
Eli Friedman
|
7b1fb81a51
A bunch of fixes to argument passing and va_arg on Darwin x86-32 for structures containing an SSE vector.
|
13 年之前 |
Eli Friedman
|
506d4e375a
Don't try to expand struct arguments containing holes on x86-32. From gcc struct layout tests.
|
13 年之前 |
Eli Friedman
|
bd4d3bcd2c
Simplify code for returning a struct for Darwin x86-32 ABI. Use a better type for a function returning a struct containing only a pointer. Handle the edge case of a struct containing only a float or double plus some dead padding instead of asserting.
|
13 年之前 |