search for: currinst

Displaying 4 results from an estimated 4 matches for "currinst".

2012 Nov 11
0
[LLVMdev] register scavenger
CC the list. On Sat, Nov 10, 2012 at 6:30 PM, Arnold Schwaighofer <arnold.schwaighofer at gmail.com> wrote: > Assuming you 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...
2012 Nov 11
2
[LLVMdev] register scavenger
..., 2012 at 6:30 PM, Arnold Schwaighofer > <arnold.schwaighofer at gmail.com> wrote: >> Assuming you 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) >> >> &g...
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
...ghofer >> <arnold.schwaighofer at gmail.com> wrote: >>> Assuming you 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(CurrIn...