summaryrefslogtreecommitdiffstats
path: root/clang/test/CodeGenCXX/homogeneous-aggregates.cpp
diff options
context:
space:
mode:
authorTim Northover <tnorthover@apple.com>2014-11-27 21:02:42 +0000
committerTim Northover <tnorthover@apple.com>2014-11-27 21:02:42 +0000
commit3c55ccac4846ff2a0fbddec7e3440bd88e6e2d16 (patch)
treeffb9faa07a74d6827011e872d77cffb2a46d54e7 /clang/test/CodeGenCXX/homogeneous-aggregates.cpp
parent2f206d6ee4404c6511826cd47cfebbfea293ba59 (diff)
downloadbcm5719-llvm-3c55ccac4846ff2a0fbddec7e3440bd88e6e2d16.tar.gz
bcm5719-llvm-3c55ccac4846ff2a0fbddec7e3440bd88e6e2d16.zip
AArch64: treat [N x Ty] as a block during procedure calls.
The AAPCS treats small structs and homogeneous floating (or vector) aggregates specially, and guarantees they either get passed as a contiguous block of registers, or prevent any future use of those registers and get passed on the stack. This concept can fit quite neatly into LLVM's own type system, mapping an HFA to [N x float] and so on, and small structs to [N x i64]. Doing so allows front-ends to emit AAPCS compliant code without having to duplicate the register counting logic. llvm-svn: 222903
Diffstat (limited to 'clang/test/CodeGenCXX/homogeneous-aggregates.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud