I can confirm that this regression has been fixed in trunk. Should I report this as a bug in 3.4? On Thu, Apr 24, 2014 at 10:17 PM, Quentin Colombet <qcolombet at apple.com>wrote:> Hi Niklas, > > This works for me with trunk r207129. > > We did fix some register allocation issues recently, don’t know which > change fixes the issue though. > > Thanks, > -Quentin > > On Apr 24, 2014, at 1:07 PM, Niklas Therning <niklas at therning.org> wrote: > > Hi, > > The RoboVM project recently upgraded from LLVM 3.3 to 3.4 and with the new > version we are sometimes seeing "ran out of registers during register > allocation" errors when targeting x86 32-bit that we haven't seen before. > Nothing has changed in our bitcode generator. I have attached an IR file > which can be used to reproduce this problem. The problem occurs with -O2 > and -disable-fp-elim specified. > > Running llc from 3.3 works without problems: > $ ~/Downloads/clang+llvm-3.3-x86_64-apple-darwin12/bin/llc -mtriple > i386-unknown-macosx -O2 -disable-fp-elim reg-alloc-test.ll > > While llc from 3.4 fails: > $ ~/Downloads/clang+llvm-3.4-x86_64-apple-darwin10.9/bin/llc -mtriple > i386-unknown-macosx -O2 -disable-fp-elim reg-alloc-test.ll > LLVM ERROR: ran out of registers during register allocation > > I haven't been able to test this with the latest trunk but I got the same > error when trying with the 3.4.1 branch. > > Has anyone else seen this? Is it a known bug? Or should I report it? > > Regards, > Niklas > <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/20140514/3c9844e5/attachment.html>
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
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 >-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20140601/de7bcb4d/attachment.html> -------------- next part -------------- A non-text attachment was scrubbed... Name: reg-alloc-regression.patch Type: application/octet-stream Size: 11109 bytes Desc: not available URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20140601/de7bcb4d/attachment.obj> -------------- next part -------------- A non-text attachment was scrubbed... Name: reg-alloc-test.ll Type: application/octet-stream Size: 20405 bytes Desc: not available URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20140601/de7bcb4d/attachment-0001.obj>