diff options
| author | Bob Wilson <bob.wilson@apple.com> | 2011-08-03 05:58:22 +0000 |
|---|---|---|
| committer | Bob Wilson <bob.wilson@apple.com> | 2011-08-03 05:58:22 +0000 |
| commit | e826a2a56ba334eba9d15e79c418fe412750e22f (patch) | |
| tree | 57924a2e7d0635906551a6f9448b0c45329f29b1 /llvm/lib | |
| parent | 9bfd9144e69750a3826e4e474841a86912e292b0 (diff) | |
| download | bcm5719-llvm-e826a2a56ba334eba9d15e79c418fe412750e22f.tar.gz bcm5719-llvm-e826a2a56ba334eba9d15e79c418fe412750e22f.zip | |
Handle "homogeneous aggregates" as required by the ARM AAPCS-VFP ABI.
A homogeneous aggregate is an aggregate data structure where after flattening
any nesting there are 1 to 4 elements of the same base type that is either a
float, double, or Neon vector. All Neon vectors of the same size, either 64
or 128 bits, are treated as equivalent for this purpose. When using the
AAPCS-VFP ABI, check for homogeneous aggregates and pass them as arguments by
expanding them into a sequence of their base types. This requires extending
the existing support for expanded arguments to handle not only structs, but
also constant arrays and complex types.
llvm-svn: 136767
Diffstat (limited to 'llvm/lib')
0 files changed, 0 insertions, 0 deletions

