[LLVMdev] Need advice on writing scheduling pass
Jakob Stoklund Olesen
stoklund at 2pi.dk
Thu May 26 07:33:50 PDT 2011
On May 26, 2011, at 6:36 AM, Gergö Barany wrote:
>> One thing that is somewhat unclear to me is why phys-regs are only considered live to end of block? Is this because the RA later ignores these registers? How come
>> this information is not needed?
>
> My understanding is that physregs are only ever used for very brief, local
> operations; for instance, an argument register is loaded before a function
> call but is dead afterwards. Return registers are immediately copied to
> virtual registers and can then be considered dead.
>
> This way, you don't need to track liveness and reaching definitions for such
> registers across blocks.
That's right.
It it possible to have physregs live across blocks, but they must be explicitly added to the live-in list for each block.
/jakob
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20110526/8be754cd/attachment.html>
More information about the llvm-dev
mailing list