MergeInClobberRanges

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

MergeInClobberRanges

dag-7
Why does LiveInterval::MergeInClobberRanges set the definition index
as unknown?  Why would the definition index not be the definition index
for the range merged in from the other interval?  I suppose if two ranges
overlap it's not clear what to set the def index to.  Perhaps it should result
in two separate ranges with different def indices.

                                                   -Dave
_______________________________________________
LLVM Developers mailing list
[hidden email]         http://llvm.cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
Reply | Threaded
Open this post in threaded view
|

Re: MergeInClobberRanges

Evan Cheng-2

On Apr 2, 2008, at 5:09 PM, David Greene wrote:

> Why does LiveInterval::MergeInClobberRanges set the definition index
> as unknown?  Why would the definition index not be the definition  
> index
> for the range merged in from the other interval?  I suppose if two  
> ranges
> overlap it's not clear what to set the def index to.  Perhaps it  
> should result
> in two separate ranges with different def indices.

Right. The coalescer is being very conservative when it comes to  
dealing with sub- / super- registers so it's not keeping very precise  
information. Feel free to make it better! :-)

Evan

>
>
>                                                   -Dave
> _______________________________________________
> LLVM Developers mailing list
> [hidden email]         http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev

_______________________________________________
LLVM Developers mailing list
[hidden email]         http://llvm.cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
Reply | Threaded
Open this post in threaded view
|

Re: MergeInClobberRanges

Evan Cheng-2
Funny I just ran into a situation where the imprecise information  
inhibits a coalescing. If you have made changes related to this, I'd  
love to have it.

Thanks,

Evan

On Apr 7, 2008, at 10:52 AM, Evan Cheng wrote:

>
> On Apr 2, 2008, at 5:09 PM, David Greene wrote:
>
>> Why does LiveInterval::MergeInClobberRanges set the definition index
>> as unknown?  Why would the definition index not be the definition
>> index
>> for the range merged in from the other interval?  I suppose if two
>> ranges
>> overlap it's not clear what to set the def index to.  Perhaps it
>> should result
>> in two separate ranges with different def indices.
>
> Right. The coalescer is being very conservative when it comes to
> dealing with sub- / super- registers so it's not keeping very precise
> information. Feel free to make it better! :-)
>
> Evan
>
>>
>>
>>                                                  -Dave
>> _______________________________________________
>> LLVM Developers mailing list
>> [hidden email]         http://llvm.cs.uiuc.edu
>> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>
> _______________________________________________
> LLVM Developers mailing list
> [hidden email]         http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev

_______________________________________________
LLVM Developers mailing list
[hidden email]         http://llvm.cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
Reply | Threaded
Open this post in threaded view
|

Re: MergeInClobberRanges

dag-7
On Monday 07 April 2008 21:02, Evan Cheng wrote:
> Funny I just ran into a situation where the imprecise information
> inhibits a coalescing. If you have made changes related to this, I'd
> love to have it.

I have a change that sets the definition index as the index from the
range being merged in.  Right now it doesn't handle overlapping
ranges perfectly.  I need to do more work there.

                                                 -Dave

> Thanks,
>
> Evan
>
> On Apr 7, 2008, at 10:52 AM, Evan Cheng wrote:
> > On Apr 2, 2008, at 5:09 PM, David Greene wrote:
> >> Why does LiveInterval::MergeInClobberRanges set the definition index
> >> as unknown?  Why would the definition index not be the definition
> >> index
> >> for the range merged in from the other interval?  I suppose if two
> >> ranges
> >> overlap it's not clear what to set the def index to.  Perhaps it
> >> should result
> >> in two separate ranges with different def indices.
> >
> > Right. The coalescer is being very conservative when it comes to
> > dealing with sub- / super- registers so it's not keeping very precise
> > information. Feel free to make it better! :-)
> >
> > Evan
> >
> >>                                                  -Dave
> >> _______________________________________________
> >> LLVM Developers mailing list
> >> [hidden email]         http://llvm.cs.uiuc.edu
> >> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
> >
> > _______________________________________________
> > LLVM Developers mailing list
> > [hidden email]         http://llvm.cs.uiuc.edu
> > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>
> _______________________________________________
> LLVM Developers mailing list
> [hidden email]         http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
_______________________________________________
LLVM Developers mailing list
[hidden email]         http://llvm.cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev