[cfe-dev] [llvm-dev] RFC: Implementing the Swift calling convention in LLVM and Clang

Renato Golin via cfe-dev cfe-dev at lists.llvm.org
Fri Mar 4 11:23:22 PST 2016

On 4 March 2016 at 19:17, John McCall <rjmccall at apple.com> wrote:
> We are using a different swiftcc convention in IR already, and we are fine with
> locking the error-result treatment to that CC.

Makes sense.

> I don’t think we can make this depend on statically recognizing when we’re
> passing extra arguments.  That’s why, in our current implementation, whether
> or not the register is treated as an ordinary callee-save register or the magic
> error result is based on whether there’s an argument to the call (or function
> on the callee side) with that specific parameter attribute.

Right, and you set it up even if the caller doesn't use the error
argument, which is expected.

I think all my questions were answered, and I'm happy with it. Thanks
for the time! :)

I'll look into Manman's patch soon, but seems quite straightforward.
No changes on the ARM side at all so far.


PS: Nice to see you're using X86 like ARM, not the other way around... :)

More information about the cfe-dev mailing list