[LLVMdev] Regression in 3.4's register allocator?

Niklas Therning niklas at therning.org
Thu Apr 24 13:07:46 PDT 2014


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>


More information about the llvm-dev mailing list