[LLVMdev] Win64 bugs

Stefanus Du Toit stefanus.dutoit at rapidmind.com
Fri Jul 31 10:49:32 PDT 2009


On 30-Jul-09, at 8:54 PM, Eli Friedman wrote:
> On Thu, Jul 30, 2009 at 5:32 PM, Peter Shugalev<peter at shugalev.com>  
> wrote:
>> Though the most problematic stuff is the lack of 'shadow zone'  
>> support
>> in Win64 ABI. Or maybe I haven't figured out how to turn this on. In
>> Win64 any function can treat 32 bytes of stack (RSP+08h..RSP+28h just
>> after the call instruction) as scratch data. VC++ compiler stores
>> arguments passed in registers there. In debug builds this doesn't get
>> optimized away.
>
> Wow, that's really strange... I'm pretty sure that simply isn't  
> implemented.

Anton K has a patch for this that we have been using successfully  
internally but he is still working out issues with regards to certain  
parameter types, in particular MMX/SSE params, that I believe he was  
going to fix before committing it. I'm sure he'll weigh into this  
discussion.

Stefanus

--
Stefanus Du Toit <stefanus.dutoit at rapidmind.com>
   RapidMind Inc.
   phone: +1 519 885 5455 x116 -- fax: +1 519 885 1463






More information about the llvm-dev mailing list