XCore target: Add target specific EmitVAArg

Rafael EspĂ­ndola rafael.espindola at gmail.com
Fri Aug 16 16:39:23 PDT 2013


LGTM

On 16 August 2013 04:55, Robert Lytton <robert at xmos.com> wrote:
> Hi Rafael,
>
> Here is the amended patch.
> Tests now run at -O0
>
> Robert
> 0.
>
> ________________________________________
> From: Rafael EspĂ­ndola [rafael.espindola at gmail.com]
> Sent: 15 August 2013 20:29
> To: Robert Lytton
> Cc: cfe-commits at cs.uiuc.edu; eli.friedman at gmail.com
> Subject: Re: XCore target: Add target specific EmitVAArg
>
> On 15 August 2013 11:07, Robert Lytton <robert at xmos.com> wrote:
>> Hi Rafael,
>>
>> Will change tests to -O0 (a few extra lines emitted)
>
> Thanks.
>
>> As for "case ABIArgInfo::Expand:" how could I arrive there?
>>         Expand - Only valid for aggregate argument types.
>>         The structure should be expanded into consecutive arguments for its constituent fields.
>>         Currently expand is only allowed on structures whose fields are all scalar types or are themselves expandable types.
>> As all aggregate types are passed via a pointer, I assume the target will never need to expand.
>
> OK. I was just confused with the test. llvm_unreachable is the right
> one here then.
>
>> So, what should I place in the case clause?
>>   case ABIArgInfo::Expand:
>>     // Fall back to the LLVM instruction.
>>     return 0;
>>
>> As an aside, I am only needing to handle the ABIArgInfo::Indirect types.
>> Other types could be emitted as LLVM instructions and handled by the backend viz: return 0.
>>
>> Robert
>>
>
> Cheers,
> Rafael




More information about the cfe-commits mailing list