summaryrefslogtreecommitdiff
path: root/lib/CodeGen/MachineFunction.cpp
diff options
context:
space:
mode:
authorBill Schmidt <wschmidt@linux.vnet.ibm.com>2012-10-11 15:38:20 +0000
committerBill Schmidt <wschmidt@linux.vnet.ibm.com>2012-10-11 15:38:20 +0000
commita867f378979f26e7d87bb6db5b7665a2ee4c0293 (patch)
treeb73103bebc80babb9d327be267d824a794468d84 /lib/CodeGen/MachineFunction.cpp
parenta54b2dfb0a706cdede7be53302d5237ae79f6eed (diff)
downloadllvm-a867f378979f26e7d87bb6db5b7665a2ee4c0293.tar.gz
llvm-a867f378979f26e7d87bb6db5b7665a2ee4c0293.tar.bz2
llvm-a867f378979f26e7d87bb6db5b7665a2ee4c0293.tar.xz
This patch addresses PR13947.
For function calls on the 64-bit PowerPC SVR4 target, each parameter is mapped to as many doublewords in the parameter save area as necessary to hold the parameter. The first 13 non-varargs floating-point values are passed in registers; any additional floating-point parameters are passed in the parameter save area. A single-precision floating-point parameter (32 bits) must be mapped to the second (rightmost, low-order) word of its assigned doubleword slot. Currently LLVM violates this ABI requirement by mapping such a parameter to the first (leftmost, high-order) word of its assigned doubleword slot. This is internally self-consistent but will not interoperate correctly with libraries compiled with an ABI-compliant compiler. This patch corrects the problem by adjusting the parameter addressing on both sides of the calling convention. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165714 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/MachineFunction.cpp')
0 files changed, 0 insertions, 0 deletions