[LLVMdev] Coalescing and VNInfo
Evan Cheng
evan.cheng at apple.com
Tue Sep 25 12:51:10 PDT 2007
On Sep 25, 2007, at 12:24 PM, David Greene <dag at cray.com> wrote:
> On Tuesday 25 September 2007 13:28, David Greene wrote:
>
>>> So VNI->def is always modulo 2. For coalescing, it's checking if the
>>> RHS is live at the "use" cycle. So it's checking VNI->def-1.
>>
>> But why is it looking at a use slot in this case, where the
>> coalescer is
>> trying to get the vaue number for the def of the RHS register so it
>> can
>> use that value number in the resulting merged live interval?
>>
>> The comment at the top of the loop is:
>>
>> 00695 // Loop over the value numbers of the LHS, seeing if any
>> are
>> defined from
>> 00696 // the RHS.
>>
>> As I understyand it, it's looking for def-use chains from the RHS
>> interval
>> to the LHS interval.
>
> Ah, that's where I got it wrong. I think I get it now. We're
> looking at the
> copy "LHS = RHS" so it takes the def index from the LHS interval and
> "def-1" is the use index for "RHS" in the copy. It then tries to
> look up
> the live range for that use index.
Yep, you got it.
Evan
>
>
> I believe I've discovered a problem with my new code so I'll go
> investigate
> that.
>
>
> -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