[LLVMdev] Coalescing and VNInfo

David Greene dag at cray.com
Tue Sep 25 08:49:51 PDT 2007


I've hit a bug in a refactored version of coalescing and I'm trying to
understand what is going on.  In particular, I'm curious about this
line in SimpleRegisterCoalescing.cpp:

00710       LHSValsDefinedFromRHS[VNI] = 
RHS.getLiveRangeContaining(VNI->def-1)->valno;

Why VNI->def-1?  The bug I'm seeing is that RHS returns a NULL
LiveRange because it doesn't contain VNI->def-1:

%reg1093,0 = [5750,5754:2)[5754,5782:1)[5782,5858:0)[5868,5870:0)  
0 at 5782-(5858 5870) 1 at 5754-(5778) 2 at 5750

Should it really be VNI->def-1 here?  If so, why?

                                            -Dave



More information about the llvm-dev mailing list