[LLVMdev] overlaps generation, RA crasch

Jonas Paulsson jonas.paulsson at ericsson.com
Fri May 11 06:35:07 PDT 2012


Hi,

Recently on trunk, the ovlaps list for a register got a dual entry on my target, which caused the RA to crash.

Reg
  Subreg1
    Subreg b
  Subreg2
    Subreg b

I have a register with two subregs that have subreg b in common. This causes the SuperReg to appear twice in the ovelaps list for Subreg b.

As this causes a register allocator to crasch (it evicts a register, and then inremenets the *AliasI, but the data structure is then not ready to be re-used, so a dual entry is not expected here),
I suggest that TableGen makes the overlaps list a set (each register present only once), as I find at least my model very reasonable, and it has worked before. An alternative might be to change the algorithm in TableGen so that this will not occur...

/Jonas


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20120511/a6e65fba/attachment.html>


More information about the llvm-dev mailing list