[cfe-commits] [PATCH] ARM AAPCS-VFP: fix handling of homogeneous aggregate.

Eli Friedman eli.friedman at gmail.com
Mon Oct 29 18:03:09 PDT 2012


On Mon, Oct 29, 2012 at 2:55 PM, manman ren <mren at apple.com> wrote:
>
> On Oct 29, 2012, at 2:38 PM, Eli Friedman <eli.friedman at gmail.com> wrote:
>
>> On Mon, Oct 29, 2012 at 10:16 AM, manman ren <mren at apple.com> wrote:
>>>
>>> If Homogeneous Aggregate can only partially fit into VFP registers, we add padding to make sure
>>> HA will be on stack and later VFP CPRCs will be on stack as well.
>>>
>>> There is a discussion on whether we should use byval to pass things on stack:
>>> llvm-commits: ABI: how to let the backend know that an aggregate should be allocated on stack
>>>
>>> For now, the patch implemented what Eli suggested.
>>
>> +      llvm::Type *PaddingTy = llvm::VectorType::get(
>> +          llvm::Type::getFloatTy(getVMContext()), NumVFPs - PreAllocation);
>>
>> Using illegal vector types here isn't a good idea, even if it may work
>> for the moment.
>
> Hi Eli,
>
> Thanks for reviewing.
> Do you have any suggestion on what type to use as padding here?

An array of floats would be okay.

-Eli



More information about the cfe-commits mailing list