]> granicus.if.org Git - clang/commit
ARM ABI: simplify decisions on whether args can be expanded.
authorTim Northover <tnorthover@apple.com>
Fri, 7 Nov 2014 22:30:50 +0000 (22:30 +0000)
committerTim Northover <tnorthover@apple.com>
Fri, 7 Nov 2014 22:30:50 +0000 (22:30 +0000)
commit4efc4104f171d384f16664450974c0d86d4f9201
treecde87d628372962f6a37f61eed5d5664831436b1
parentc914e25cc8f42fb1889b6695005d3c09437a3b20
ARM ABI: simplify decisions on whether args can be expanded.

Homogeneous aggregates on AAPCS_VFP ARM need to be passed *without* being
flattened (e.g. [2 x float] rather than "float, float") for various weird ABI
reasons. However, this isn't the case for anything else; further, we know at
the ABIArgInfo::getDirect callsites whether this flattening is allowed.

So, we can get more unified ARM code, with a simpler Clang, by just using that
knowledge directly.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@221559 91177308-0d34-0410-b5e6-96231b3b80d8
lib/CodeGen/TargetInfo.cpp
test/CodeGen/arm-aapcs-vfp.c
test/CodeGen/arm-arguments.c
test/CodeGen/arm-homogenous.c
test/CodeGenCXX/homogeneous-aggregates.cpp