[LLVMdev] Win64 bugs

Nicolas Capens nicolas at capens.net
Tue Aug 4 17:28:36 PDT 2009


Hi Anton,

Thanks a lot for the heads up. I hadn't run into any problems yet with my
hack because I haven't used other callee-saved registers so far. Anyway, I'm
looking forward to your fix!

Kind regards,

Nicolas


-----Original Message-----
From: llvmdev-bounces at cs.uiuc.edu [mailto:llvmdev-bounces at cs.uiuc.edu] On
Behalf Of Anton Korobeynikov
Sent: zaterdag 1 augustus 2009 13:00
To: LLVM Developers Mailing List
Subject: Re: [LLVMdev] Win64 bugs

Hello, Nicolas

> The attached patch is a workaround for the XMM misalignment issue.
Basically
> it uses the fallback method of saving and restoring registers on the
stack,
> which does work correctly with alignment. If I recall correctly it also
> doesn't save any registers unnecessarily, but I could be wrong about that.
Please don't use this patch, it's completely wrong. The problem is
that prologue / epilogue emission code is not prepared for such
'fallback' solution and will emit improper stack update code. You can
easily catch this problem when you have other callee-saved registers
spilled (not only high xmm ones).

I have patch which should complete the win64 CC support in LLVM
(modulo varargs functions), I hope to commit it within next few days.

-- 
With best regards, Anton Korobeynikov
Faculty of Mathematics and Mechanics, Saint Petersburg State University
_______________________________________________
LLVM Developers mailing list
LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev




More information about the llvm-dev mailing list