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>
On May 11, 2012, at 6:35 AM, Jonas Paulsson <jonas.paulsson at ericsson.com> wrote:> 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 bThis should be fixed in r156629. /jakob -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20120511/571b7cff/attachment.html>
Thanks, this fixed our problem! ________________________________ From: llvmdev-bounces at cs.uiuc.edu [mailto:llvmdev-bounces at cs.uiuc.edu] On Behalf Of Jakob Stoklund Olesen Sent: den 11 maj 2012 21:02 To: Jonas Paulsson Cc: LLVM Developers Mailing List Subject: Re: [LLVMdev] overlaps generation, RA crasch On May 11, 2012, at 6:35 AM, Jonas Paulsson <jonas.paulsson at ericsson.com<mailto:jonas.paulsson at ericsson.com>> wrote: 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 This should be fixed in r156629. /jakob -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20120514/9217de5f/attachment.html>