[LLVMdev] x86 unwind support

Eli Friedman eli.friedman at gmail.com
Thu Jul 16 09:44:05 PDT 2009


On Thu, Jul 16, 2009 at 9:10 AM, Kenneth Uildriks<kennethuil at gmail.com> wrote:
> 1. Which ones?  I know that Windows uses it for the "this" pointer.

The internal fastcc convention and the Windows fastcall convention off
the top of my head.

> Anyway, unless the callee is required to preserve it in a given
> calling convention, that doesn't preclude us using it for a *return*
> value.  It would be checked after calls return, and wouldn't affect
> the use of the register for passing values in before the call is made.
>  The callee would set it right before return.

Right, so that sounds okay.

> 2. Does LLVM support nested functions?  I must have missed that.

To the extent required to implement the gcc nested functions
extension, yes.  The specific relevant behavior here is that if a
parameter is marked with the nest attribute, it gets passed in ECX.

-Eli




More information about the llvm-dev mailing list