<div dir="ltr">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!<div><br></div>
<div>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?</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Mon, Jun 16, 2014 at 7:20 PM, Jim Grosbach <span dir="ltr"><<a href="mailto:grosbach@apple.com" target="_blank">grosbach@apple.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word">Yep, quite right, Evan. Any regalloc differences due to that patch are purely coincidence;<div>
<br></div><div>-Jim</div><div><div class="h5"><div><br><div><blockquote type="cite"><div>On Jun 16, 2014, at 10:13 AM, Evan Cheng <<a href="mailto:evan.cheng@apple.com" target="_blank">evan.cheng@apple.com</a>> wrote:</div>
<br><div><div style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px">
Hi Niklas,</div><div style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px">
<br></div><span style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;float:none;display:inline!important">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.</span><div style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px">
<br></div><div style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px">
Jim, can you confirm?<br><div><br></div><div>Evan</div><div><br><div><div>On Jun 1, 2014, at 1:45 PM, Niklas Therning <<a href="mailto:niklas@therning.org" target="_blank">niklas@therning.org</a>> wrote:</div><br><blockquote type="cite">
<div dir="ltr">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 "<span style="font-family:arial,sans-serif;font-size:13px">LLVM ERROR: ran out of registers during register allocation</span>" 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.<div>
<br></div><div>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?</div><div><br></div></div><div class="gmail_extra">
<br><br><div class="gmail_quote">On Wed, May 14, 2014 at 3:25 PM, Renato Golin<span> </span><span dir="ltr"><<a href="mailto:renato.golin@linaro.org" target="_blank">renato.golin@linaro.org</a>></span><span> </span>wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div>On 14 May 2014 14:15, Niklas Therning <<a href="mailto:niklas@therning.org" target="_blank">niklas@therning.org</a>> wrote:<br>
> I can confirm that this regression has been fixed in trunk. Should I report<br>> this as a bug in 3.4?<br><br></div>The 3.4.2 release is coming, you might want to consider finding the<br>patches responsible for the fix and proposing it for back-porting.<br>
<br>Please email Tom (cc'd) if you end up with a proposal.<br><br>cheers,<br>--renato<br></blockquote></div><br></div><span><reg-alloc-regression.patch></span><span><reg-alloc-test.ll></span>_______________________________________________<br>
LLVM Developers mailing list<br><a href="mailto:LLVMdev@cs.uiuc.edu" target="_blank">LLVMdev@cs.uiuc.edu</a><span> </span>        <a href="http://llvm.cs.uiuc.edu/" target="_blank">http://llvm.cs.uiuc.edu</a><br><a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev</a></blockquote>
</div></div></div></div></blockquote></div><br></div></div></div></div></blockquote></div><br></div>