[llvm-dev] Passing structs in C calling convention

Reid Kleckner via llvm-dev llvm-dev at lists.llvm.org
Fri May 6 13:08:24 PDT 2016


LLVM doesn't have enough information to do it for you. The LLVM type system
just isn't as expressive as the C type system, so frontends end up bearing
some of the lowering burden.

You should consider using clang to do the lowering for you:
http://llvm.org/devmtg/2014-10/Slides/Skip%20the%20FFI.pdf

On Fri, May 6, 2016 at 4:32 AM, Paweł Bylica <llvm-dev at lists.llvm.org>
wrote:

> Hi,
>
> I want to declare a function that matches C ABI. Do I need to transform
> declarations like void @f(%struct.A %a) into void @f(%struct.A* byval %a)
> myself or LLVM can do it for me? Is this what "ccc" calling convention
> means?
>
> - Paweł
>
> _______________________________________________
> LLVM Developers mailing list
> llvm-dev at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20160506/f86f0e4f/attachment.html>


More information about the llvm-dev mailing list