[LLVMdev] [llvm-commits] ABI: how to let the backend know that an aggregate should be allocated on stack

Rafael EspĂ­ndola rafael.espindola at gmail.com
Wed Oct 24 13:05:28 PDT 2012


> The problem is that the ABI says the argument *should* be split
> between registers and stack. The relevant callbacks in clang only get
> to suggest one type (+ a padding dummy going before if they want);
> they can't (currently) say "put the first 4 bytes here and the rest
> there".
>
> Given that constraint "byval" is probably the sanest option since it's
> special anyway.
>
> That could be changed of course, but I'm not convinced Clang would be
> improved for it.

I see. Clang would then have to split the register and stack parts
itself. I also realized you would still need a padding argument
anyway, in case a following argument does fit in vfp but should go in
the stack because the vfp registers are marked unavailable.

> Tim.

Cheers,
Rafael



More information about the llvm-dev mailing list