[LLVMdev] LLVM ERROR: ran out of registers during register allocation

Jakob Stoklund Olesen stoklund at 2pi.dk
Mon Jan 7 09:07:18 PST 2013


On Jan 7, 2013, at 4:58 AM, Borja Ferrer <borja.ferav at gmail.com> wrote:

> Hello Jakob,
> 
> Did you get a chance to take a look into this, and if not, can you do it when you get some spare time?

It's not likely I'll have time to look at this in the near future. I'd recommend you do it yourself.

/jakob


> 2012/12/19 Borja Ferrer <borja.ferav at gmail.com>
> We did something like this back when the register allocator couldn't split live ranges.
> 
> Yes, I remember the isWinToJoinCrossClass() function, removed here:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/RegisterCoalescer.cpp?r1=152016&r2=155551&diff_format=h
> that prevented some coalescing to the cost of leaving many unnecessary copies around for very constrained regclasses like the one I have.
>  
> 
> 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.
> 
> 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.
> 
> Thanks!
> 
> 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20130107/fecc6b67/attachment.html>


More information about the llvm-dev mailing list