diff options
author | Rafael Espindola <rafael.espindola@gmail.com> | 2012-07-31 02:44:24 +0000 |
---|---|---|
committer | Rafael Espindola <rafael.espindola@gmail.com> | 2012-07-31 02:44:24 +0000 |
commit | 06b2b4a7c940a299473e5fece3fa31fe58233aff (patch) | |
tree | a2ebac330e79b10b410b7a7d4134913348f3e7be /llvm/lib/CodeGen | |
parent | 3865c6e670a9d8054050ac9af733e8a2a5906554 (diff) | |
download | bcm5719-llvm-06b2b4a7c940a299473e5fece3fa31fe58233aff.tar.gz bcm5719-llvm-06b2b4a7c940a299473e5fece3fa31fe58233aff.zip |
Handle functions with struct arguments or return types and the regparm
attribute. It is a variation of the x86_64 ABI:
* A struct returned indirectly uses the first register argument to pass the
pointer.
* Floats, Doubles and structs containing only one of them are not passed in
registers.
* Other structs are split into registers if they fit on the remaining ones.
Otherwise they are passed in memory.
* When a struct doesn't fit it still consumes the registers.
llvm-svn: 161022
Diffstat (limited to 'llvm/lib/CodeGen')
0 files changed, 0 insertions, 0 deletions