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>