RegisterCoalescer: Gracefully continue if subrange merging fails.
authorMatthias Braun <matze@braunis.de>
Wed, 4 Mar 2015 00:43:50 +0000 (00:43 +0000)
committerMatthias Braun <matze@braunis.de>
Wed, 4 Mar 2015 00:43:50 +0000 (00:43 +0000)
commitb6aa399b966026c43457f99828d3595d96eec801
tree97c418ff93466450811d5765a53d48cb08c9a31c
parentc82398a2ace7399508d4540677745acc2119af46
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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@231186 91177308-0d34-0410-b5e6-96231b3b80d8
lib/CodeGen/RegisterCoalescer.cpp