[LLVMdev] Bug? Coalescing & Updating Subreg Intervals

Evan Cheng evan.cheng at apple.com
Wed Feb 20 17:00:28 PST 2008


On Feb 20, 2008, at 12:25 PM, David Greene wrote:

> 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?

Right. The code is being conservative. It's saying all of the entirety  
of the superregister's live interval must also be in the subregister's  
live interval. i.e. When the superregister is live, the subregister  
must be live.

Evan

>
>
> If not, which is this code supposed to be doing?
>
>                                                 -Dave
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev




More information about the llvm-dev mailing list