<html><head><meta http-equiv="Content-Type" content="text/html charset=iso-8859-1"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><br><div><div>On Jan 7, 2013, at 4:58 AM, Borja Ferrer <<a href="mailto:borja.ferav@gmail.com">borja.ferav@gmail.com</a>> wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite">Hello Jakob,<br><br>Did you get a chance to take a look into this, and if not, can you do it when you get some spare time?<br></blockquote><div><br></div><div>It's not likely I'll have time to look at this in the near future. I'd recommend you do it yourself.</div><div><br></div><div>/jakob</div><div><br></div><div><br></div><blockquote type="cite"><div class="gmail_quote">2012/12/19 Borja Ferrer <span dir="ltr"><<a href="mailto:borja.ferav@gmail.com" target="_blank">borja.ferav@gmail.com</a>></span></div><div class="gmail_quote">
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="gmail_quote"><div class="im"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
We did something like this back when the register allocator couldn't split live ranges.<br>
</blockquote></div><div><br>Yes, I remember the isWinToJoinCrossClass() function, removed here:<br><a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/RegisterCoalescer.cpp?r1=152016&r2=155551&diff_format=h" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/RegisterCoalescer.cpp?r1=152016&r2=155551&diff_format=h</a><br>
that prevented some coalescing to the cost of leaving many unnecessary copies around for very constrained regclasses like the one I have.<br> </div><div class="im"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
The problem is that any heuristic you can come up with only makes the problem less likely to happen. It doesn't actually fix it.<span><font color="#888888"><br></font></span></blockquote></div><div><br>Indeed, that heuristic I wrote is a nasty hack and not the way of fixing it correctly. Now that the regalloc has much more freedom on making changes in the code I hope it is fixable. If you need any other info apart of the dumps I've already attached please ask.<br>
<br>Thanks!<br></div></div><br>
</blockquote></div><br>
</blockquote></div><br></body></html>