Build correct coercion types in SparcV9ABIInfo.
The coercion type serves two purposes:
1. Pad structs to a multiple of 64 bits, so they are passed
'left-aligned' in registers.
2. Expose aligned floating point elements as first-level elements, so
the code generator knows to pass them in floating point registers.
We also compute the InReg flag which indicates that the struct contains
aligned 32-bit floats. This flag is used by the code generator to pick
the right registers.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@182753
91177308-0d34-0410-b5e6-
96231b3b80d8