[LLVMdev] Regression in 3.4's register allocator?

Niklas Therning niklas at therning.org
Tue Jun 17 07:58:15 PDT 2014


Thanks guys! I did some experimenting and it turns out that if I just set a
value for CPU in the call to LLVMCreateTargetMachine() the "ran out of
registers" error disappears. Easy fix!

BTW, if it's up to the tools to do the auto-detection I guess llc in 3.4 is
broken then since it fails too?


On Mon, Jun 16, 2014 at 7:20 PM, Jim Grosbach <grosbach at apple.com> wrote:

> Yep, quite right, Evan. Any regalloc differences due to that patch are
> purely coincidence;
>
> -Jim
>
> On Jun 16, 2014, at 10:13 AM, Evan Cheng <evan.cheng at apple.com> wrote:
>
> Hi Niklas,
>
> The attached patch has nothing to do with register allocation. r206094
> changes how cpu auto-detection is done. I believe it's now the
> responsibility of the tools (e.g. llc) to detect the cpu. My guess is the
> proper fix is on the RoboVM side to handle the change.
>
> Jim, can you confirm?
>
> Evan
>
> On Jun 1, 2014, at 1:45 PM, Niklas Therning <niklas at therning.org> wrote:
>
> I think we have located the revision which fixes this regression: r206094
> (or commit 6bb00df in llvm-mirror on GitHub). I have attached a patch which
> can be applied to the current release_34 branch (tested against the
> release_34 branch in llvm-mirror). With this patch the attached
> reg-alloc-test.ll file doesn't fail with the "LLVM ERROR: ran out of
> registers during register allocation" error any longer. I haven't run any
> llvm tests to make sure this patch doesn't break anything else but as far
> as I can see it doesn't at least break anything when used in RoboVM.
>
> Is it too late to get this into 3.4.2? Is there anything else I can do to
> make it easier for you to include this patch in 3.4.2 or the next possible
> point release?
>
>
>
> On Wed, May 14, 2014 at 3:25 PM, Renato Golin <renato.golin at linaro.org>
> wrote:
>
>> On 14 May 2014 14:15, Niklas Therning <niklas at therning.org> wrote:
>> > I can confirm that this regression has been fixed in trunk. Should I
>> report
>> > this as a bug in 3.4?
>>
>> The 3.4.2 release is coming, you might want to consider finding the
>> patches responsible for the fix and proposing it for back-porting.
>>
>> Please email Tom (cc'd) if you end up with a proposal.
>>
>> cheers,
>> --renato
>>
>
> <reg-alloc-regression.patch><reg-alloc-test.ll>
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20140617/1e64b6e7/attachment.html>


More information about the llvm-dev mailing list