[llvm] r231186 - RegisterCoalescer: Gracefully continue if subrange merging fails.

Chandler Carruth chandlerc at google.com
Tue Mar 3 17:54:30 PST 2015


Thanks both Quentin and Matthias.

Two completely meta points:

1) It'd be useful to mention this in a commit that obviously has no test
case. Saves a round trip checking whether it just was accidentally left off
the commit.

2) This makes me want to encourage thinking about ways to unittest
components of CodeGen in the future. Historically we haven't looked at
that, but if we need to support and debug out-of-tree targets with
interesting properties like this it may became important to grow that
ability. Its an important use case for these libraries to work even with
wildly different targets, and important that folks can check that they're
handling edge cases without access to all the weird targets in the world. =]

Anyways, thanks for explaining.

On Tue, Mar 3, 2015 at 5:29 PM, Quentin Colombet <qcolombet at apple.com>
wrote:

> With the in-tree target this not exposed.
>
> Arguably we could create a fake target with such problem, but I do not
> think this is worth the complexity.
>
> Q.
>
>
> On Mar 3, 2015, at 5:21 PM, Chandler Carruth <chandlerc at google.com> wrote:
>
>
> On Tue, Mar 3, 2015 at 4:43 PM, Matthias Braun <matze at braunis.de> wrote:
>
>> Author: matze
>> Date: Tue Mar  3 18:43:50 2015
>> New Revision: 231186
>>
>> URL: http://llvm.org/viewvc/llvm-project?rev=231186&view=rev
>> Log:
>> RegisterCoalescer: Gracefully continue if subrange merging fails.
>>
>> There is a known bug where the register coalescer fails to merge
>> subranges when multiple ranges end up in the "overflow" bit 32 of the
>> lanemasks. A proper fix for this is complicated so for now this is a
>> workaround which lets the register coalescer drop the subregister
>> liveness information (we just loose some precision by that) and
>> continue.
>>
>> Modified:
>>     llvm/trunk/lib/CodeGen/RegisterCoalescer.cpp
>>
>
> No test case? This seems like something really important to cover...
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20150303/635d60cd/attachment.html>


More information about the llvm-commits mailing list