Displaying 4 results from an estimated 4 matches for "curreg".
Did you mean:
currec
2012 Nov 11
0
[LLVMdev] register scavenger
...use the scavenger in your own code yes.
>
> A usage could look like:
>
> for all basic blocks BB:
> RS->enter(BB)
> for all instructions CurrInst in block order:
> if CurrInst has virtual def
> CurrReg = RS->scavenge(CurrInst)
> replace virtual def by CurReg
> else if Insts has virtual use
> replace virtual use by CurReg
> RS->forward(CurrInst)
>
>
> Look at scavengeFrameVirtualRegs in PrologEpilogInserter.cpp for more
> detail (I left out some, error checking, etc).
>
> On Sat, Nov 10, 2012 at 6:15 PM, Reed Kot...
2012 Nov 11
2
[LLVMdev] register scavenger
...gt;>
>> A usage could look like:
>>
>> for all basic blocks BB:
>> RS->enter(BB)
>> for all instructions CurrInst in block order:
>> if CurrInst has virtual def
>> CurrReg = RS->scavenge(CurrInst)
>> replace virtual def by CurReg
>> else if Insts has virtual use
>> replace virtual use by CurReg
>> RS->forward(CurrInst)
>>
>>
>> Look at scavengeFrameVirtualRegs in PrologEpilogInserter.cpp for more
>> detail (I left out some, error checking, etc).
>>
>> On...
2012 Nov 10
5
[LLVMdev] register scavenger
I'm confused as to the logic used in the register scavenger when it
cannot find a free register.
I would think that it would want to free up the emergency spill slot
immediately after it's use, because otherwise there is a chance of
needing to use the emergency slot again and not be able to.
Instead it tries to restore it only right before register it is freeing up.
Maybe I'm
2012 Nov 11
0
[LLVMdev] register scavenger
...ld look like:
>>>
>>> for all basic blocks BB:
>>> RS->enter(BB)
>>> for all instructions CurrInst in block order:
>>> if CurrInst has virtual def
>>> CurrReg = RS->scavenge(CurrInst)
>>> replace virtual def by CurReg
>>> else if Insts has virtual use
>>> replace virtual use by CurReg
>>> RS->forward(CurrInst)
>>>
>>>
>>> Look at scavengeFrameVirtualRegs in PrologEpilogInserter.cpp for more
>>> detail (I left out some, error checking...