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

Borja Ferrer borja.ferav at gmail.com
Mon Jan 7 04:58:47 PST 2013


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?

Thanks!

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/200d3d4e/attachment.html>


More information about the llvm-dev mailing list