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>
On Sun, Jun 01, 2014 at 10:45:18PM +0200, Niklas Therning 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? >Hi Niklas, Unfortunately, it is too late to get this into 3.4.2. With the 3.5 release coming soon, I wasn't planning on doing another 3.4 point release. I took a quick look at the patch, would it be possible to work around this by adding a value to the FeatureString when invoking LLVM? -Tom> > > 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 > >
Hi Tom, On 9 Jun 2014, at 15:36, Tom Stellard <tom at stellard.net> wrote:> Unfortunately, it is too late to get this into 3.4.2. With the 3.5 > release coming soon, I wasn't planning on doing another 3.4 point > release.We are likely to keep the llvm 3.4 port in FreeBSD for a while after 3.5 is released. We've only removed the llvm 3.1 port a couple of months ago. A few things still depend on LLVM 3.2, a few more on LLVM 3.3, so they're going to stay for a bit too. The lack of any vague nods in the direction of API stability or deprecation mechanisms mean that there's always a moderate lag (2 years seems about normal) between an LLVM release being superseded and all dependent projects being upgraded (or, in some cases, abandoned). This means that, if you have the time do to it, keeping the 3.4.x branch alive would likely be valuable. David
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/20140616/73bd1972/attachment.html>
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/20140616/6d52751c/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?