[LLVMbugs] [Bug 3196] Incorrect calling convention for MVR functions on Linux

bugzilla-daemon at cs.uiuc.edu bugzilla-daemon at cs.uiuc.edu
Tue Dec 16 11:57:59 PST 2008


http://llvm.org/bugs/show_bug.cgi?id=3196


Dan Gohman <gohman at apple.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |gohman at apple.com
             Status|NEW                         |RESOLVED
         Resolution|                            |INVALID




--- Comment #3 from Dan Gohman <gohman at apple.com>  2008-12-16 13:57:54 ---
MRV does not currently attempt to follow the C ABI for returning struct
values. If you wish to have C-ABI-conforming output, it's necessary for
the front-end to use sret arguments and other mechanisms in an
ABI-appropriate way.

If llvm-gcc is emitting the wrong thing on FreeBSD, then llvm-gcc
has a bug. The intention is that llvm-gcc should emit correct code
for the target ABI.

This situation is not ideal, and I'd be happy to review patches to
rectify it. Note that many targets have complex requirements for
struct values. Also, note that LLVM IR doesn't carry full C type
information, so front-ends would likely still need to be aware of
much of the ABI complexity.


-- 
Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.



More information about the llvm-bugs mailing list