[LLVMdev] Coalescing and VNInfo
David Greene
dag at cray.com
Tue Sep 25 12:24:39 PDT 2007
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.
I believe I've discovered a problem with my new code so I'll go investigate
that.
-Dave
More information about the llvm-dev
mailing list