3ea9e33ea25e0c2b12db56418ba3f994eb662c04 |
|
08-Apr-2015 |
Pirama Arumuga Nainar <pirama@google.com> |
Update aosp/master clang for rebase to r233350 Change-Id: I12d4823f10bc9e445b8b86e7721b71f98d1df442
/external/clang/test/CodeGen/sparcv9-abi.c
|
651f13cea278ec967336033dd032faef0e9fc2ec |
|
24-Apr-2014 |
Stephen Hines <srhines@google.com> |
Updated to Clang 3.5a. Change-Id: I8127eb568f674c2e72635b639a3295381fe8af82
/external/clang/test/CodeGen/sparcv9-abi.c
|
93ab6bf534fb6c26563c00f28a8fc5581bb71dfd |
|
15-Aug-2013 |
Stephen Lin <stephenwlin@gmail.com> |
CHECK-LABEL-ify some code gen tests to improve diagnostic experience when tests fail. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@188447 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGen/sparcv9-abi.c
|
a4b56d30389753cbde96ad410e86db4b4b86ac16 |
|
05-Jun-2013 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Implement SparcV9ABIInfo::EmitVAArg. This could actually be implemented with the LLVM IR va_arg instruction, but it doesn't seem to offer any advantages over accessing the va_list pointer directly. Using the va_list pointer directly makes it possible to perform type coercion directly from the argument array, and the va_list updates are exposed to the optimizers. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@183292 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGen/sparcv9-abi.c
|
7e9f52f1faacf5505476418411127c5b16e07533 |
|
05-Jun-2013 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Fix CoerceIntOrPtrToIntOrPtr on big-endian targets. Type coercion for argument passing is equivalent to storing the source type and loading the destination type from the same pointer. On big-endian targets, this means that the high bits of integers are preserved. This patch fixes the CoerceIntOrPtrToIntOrPtr() function on big-endian targets by inserting the required shift instructions to preserve the high bits instead of the low bits. This is used by SparcABIInfo when passing small structs in the high bits of registers. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@183291 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGen/sparcv9-abi.c
|
90f9ec0dff7592c635e719909d288b5de04d224b |
|
05-Jun-2013 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Heed ABIArgInfo::getInReg() for return values. The 'inreg' attribute can also be applied to function return values in LLVM IR. The SPARC v9 backend is using the flag when returning structs containing 32-bit floats. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@183290 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGen/sparcv9-abi.c
|
fc782fbeb25ad880ec667f34997bd45d530aef86 |
|
28-May-2013 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Build correct coercion types in SparcV9ABIInfo. The coercion type serves two purposes: 1. Pad structs to a multiple of 64 bits, so they are passed 'left-aligned' in registers. 2. Expose aligned floating point elements as first-level elements, so the code generator knows to pass them in floating point registers. We also compute the InReg flag which indicates that the struct contains aligned 32-bit floats. This flag is used by the code generator to pick the right registers. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@182753 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGen/sparcv9-abi.c
|
107196cb219128bfddde53f4718e5c9aa3a41ba6 |
|
27-May-2013 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Add a SparcV9ABIInfo class for handling the standard SPARC v9 ABI. - All integer arguments smaller than 64 bits are extended. - Large structs are passed indirectly, not using 'byval'. - Structs up to 32 bytes in size are returned in registers. Some things are not implemented yet: - EmitVAArg can be implemented in terms of the va_arg instruction. - When structs are passed in registers, float members require special handling because they are passed in the floating point registers. - Structs are left-aligned when passed in registers. This may require padding. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@182745 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGen/sparcv9-abi.c
|