MergeInClobberRanges

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

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! :slight_smile:

Evan

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

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