overlaps generation, RA crasch

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

This should be fixed in r156629.

/jakob

Thanks, this fixed our problem!