XCore target: Add target specific EmitVAArg

Rafael EspĂ­ndola rafael.espindola at gmail.com
Thu Aug 15 12:29:01 PDT 2013


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