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

manman ren mren at apple.com
Tue Oct 30 16:22:15 PDT 2012


In r167058. Added test for vector types.

Thanks,
Manman

On Oct 30, 2012, at 3:37 PM, Eli Friedman <eli.friedman at gmail.com> wrote:

> On Tue, Oct 30, 2012 at 3:02 PM, manman ren <mren at apple.com> wrote:
>> 
>> On 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?
>>> 
>>>> 
>>>> +      it->info = ABIArgInfo::getDirect(0, 0, PaddingTy);
>>>> 
>>>> getExpandWithPadding would be a bit more clear here.
>>> Will do.
>> 
>> Aha, found getExpandWithPadding after "make update".
>> Modified the patch to use getExpandWithPadding.
> 
> A test including vector types would be nice.  Otherwise, looks fine;
> please commit.
> 
> -Eli




More information about the cfe-commits mailing list