[LLVMdev] Bug? Coalescing & Updating Subreg Intervals

David Greene dag at cray.com
Wed Feb 20 12:25:19 PST 2008


On Wednesday 20 February 2008 14:14, David Greene wrote:

> I discovered this through an assert I put into some of my own code.  I want
> to know if that assert is bogus or if there's a bug here.

A little more information: the assert checks that after coalescing two nodes,
all subregister live intervals for the register coaelsced to now interfere 
with whatever the eliminated live interval interfered with, since the 
superregister live interval now contains information from the eliminated live 
interval and thus it interferes with whatever the eliminated live interval 
interfered with (and thuis so should the subregister live interval, correct?).  
In my case, this test _fails_, which I found to be unexpected.

In other words, after coalescing, should it be the case that subregister
intervals contain at least all of the range information that was contained
in any eliminated intervals when those eliminated intervals were coalesced
to the subregister's superregister?

If not, which is this code supposed to be doing?

                                                 -Dave



More information about the llvm-dev mailing list