search for: scavengeslot

Displaying 2 results from an estimated 2 matches for "scavengeslot".

2012 Nov 10
0
[LLVMdev] register scavenger
...client can then use this register to replace vreg1 with. Then the client is expected to call RS->forward(I) which will update the current liveness state (include the store of R1). R1 will then be available for the next time you call RS->scavenge - in our example for vreg2. R1 = ... store R1, ScavengeSlot // Spill vreg1 = add SP, 1000 ... = load vreg1 <kill> ... // more code vreg2 = add SP, 2000 ... = load vreg2 <kill> R1 = load ScavengeSlot // Restore ... = R1 ===> we replace vreg1 with R1 and advance the RS' state by calling RS->forward(It) R1 = ... store R1, ScavengeSlot...
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