[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