On Tue, Oct 30, 2012 at 3:02 PM, manman ren <[email protected]> wrote:
>
> On Oct 29, 2012, at 2:55 PM, manman ren <[email protected]> wrote:
>
>>
>> On Oct 29, 2012, at 2:38 PM, Eli Friedman <[email protected]> wrote:
>>
>>> On Mon, Oct 29, 2012 at 10:16 AM, manman ren <[email protected]> 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
_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to