XCore target: Add target specific EmitVAArg

Robert Lytton robert at xmos.com
Fri Aug 16 04:55:25 PDT 2013


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
-------------- next part --------------
A non-text attachment was scrubbed...
Name: PatchVararg
Type: application/octet-stream
Size: 6513 bytes
Desc: PatchVararg
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20130816/fd72febd/attachment.obj>


More information about the cfe-commits mailing list