thank you,jakob. Jakob Stoklund Olesen <[email protected]>编写:
> >On Nov 14, 2013, at 6:20 AM, sheng wang <[email protected]> wrote: > >> Hello llvmers: >> I'm study Fast register allocation in codegen. I get confused >> with isKill flag in MachineOperand. I thin "isKill" flag the last Use >> Reference. But, Fast Register doesn't require LiveVariable Analysis which >> will mark isKill Flag for global virtual Register. So during Fast >> RegisterAllocation, Faster Register Allocation procedure can't determine if >> this use-reference is the last use through current path ; >> >> , How does Fast RegisterAllocation resolve such problem ? > >It is using the use-def chain of the virtual register. Virtual registers are >rewritten to physical registers in a top-down manner, and MachineRegisterInfo >updates the use-def lists as operands are rewritten. When the last use of a >virtual register is rewritten, its use-def chain becomes empty. > >This only works for local virtual registers, of course. If a virtual register >has uses or refs in multiple basic blocks, it is always assumed to be live out >of the block. The fast register allocator is optimized for debug builds where >the code has almost no global virtual registers. > >Thanks, >/jakob >. > _______________________________________________ lldb-dev mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev
