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 -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20140424/86a3fa04/attachment.html> -------------- 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/20140424/86a3fa04/attachment.obj>
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/20140424/828f07bc/attachment.html>
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>
Reasonably Related Threads
- [LLVMdev] Regression in 3.4's register allocator?
- [LLVMdev] Regression in 3.4's register allocator?
- [LLVMdev] Regression in 3.4's register allocator?
- [LLVMdev] Fwd: [windows) how to use weak references with llvm 3.4 and windows?
- [LLVMdev] Fwd: [windows) how to use weak references with llvm 3.4 and windows?