[llvm-commits] [PATCH] Win64 var arg support

Cameron Esfahani dirty at apple.com
Thu Sep 2 20:42:31 PDT 2010


This is required for the var arg support.  Without this change, there's no way to know how far the home register space allocated by the caller is from the top of the stack.  Any fixed object created via MFI is put at it's offset after the frame info stuff is calculated.  So, if you wanted to put something into the caller's frame, it's pretty difficult.

On Sep 2, 2010, at 4:13 PM, Anton Korobeynikov wrote:

> Hello, Cameron
> 
>> Here's the corresponding llvm changes to support the Win64 ABI version of var args.  With a test case!
> This hunk seems to be unrelated to the patch and in wrong in general:
> -              (Subtarget.isTargetWin64() ? -40 :
> -               (Subtarget.is64Bit() ? -8 : -4))),
> +              (Subtarget.is64Bit() ? -8 : -4)),
> Why do you need it?
> 
> -- 
> With best regards, Anton Korobeynikov
> Faculty of Mathematics and Mechanics, Saint Petersburg State University

Cameron Esfahani
dirty at apple.com

"You only live once, and the way I live, once is enough"

Frank Sinatra







More information about the llvm-commits mailing list