[LLVMdev] Regalloc Refactoring

David Greene greened at obbligato.org
Wed Apr 18 13:06:00 PDT 2007


Evan Cheng wrote:

>> - What specific def-use info is needed that we don't have access
>>    to currently?
> 
> Quick answer is: You want uses of each virtual registers to make it  
> easier to modify if splitting is performed. You want the definition  
> instruction in order to do rematerialization. It might also be useful  
> to keep track of positions of the copies that are joined as these are  
> natural (though non-optimal) split points.
> 
> The current LiveInterval value numbering scheme is messy to me. Upon  
> joining, I would rather update the registers of all the uses right  
> away while keeping the original registers as unique ids (makes it  
> easy to go back to when splitting).

Ok, gotcha.  Exactly what I ran into when I tried to eliminate r2rmap.

>> - A couple of weeks ago I asked about the comment in
>>    LiveIntervalAnalysis referring to "conservative" computation.
>>    What's conservative about it?  What information does it lack that
>>    a traditional live variable/live range analysis provides?
>>
>>    The answers I got back said essentially that it's not conservative
>>    at all and can't be improved upon.  I'm getting a different sense
>>    from you so I'd like to understand this better.
> 
> It's not conservative, rather just lacking proper bookkeeping.

Ok, that makes sense to me now.  Thanks.

                                    -Dave



More information about the llvm-dev mailing list