<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><br><div><div>On Jan 25, 2011, at 1:47 PM, Carl Norum wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div><br>I've attached some patches to LLVM for review.  We're currently using these patches to build EFI boot ROMs on Mac OS X using clang/llvm.  The biggest change there is putting Windows ABI code into Mach-O objects.  The patch should apply cleanly to r124214 or later - hopefully nothing's gotten in the way so far!<br><br>Questions/comments/suggestions much appreciated!<br></div></blockquote><div><br></div><div>Thanks, Carl.</div><div><br></div><div>Could you separate the Mach-O related changes from the Win64 tail call fixes, please?</div><div><br></div><div><blockquote type="cite"><font class="Apple-style-span" color="#000000">+// Register class for scratch registers available for tailcalls and tailjumps.<br>+def ptr_rc_tc : PointerLikeRegClass<2>;<br>+</font><br></blockquote><br></div><div>The reason for having a dynamic register class was to avoid creating new Windows-specific pseudo-instructions, but you still have a bunch of new WIN* pseudos.</div><div><br></div><div>Takumi recently submitted a patch to do the exact same thing. I think he managed to avoid the new instructions. I think his solution was better, assuming it works for you.</div><div><br></div><div>/jakob</div><div><br></div></div></body></html>