[LLVMdev] [PATCH] RegScavenger::scavengeRegister
Akira Hatanaka
ahatanak at gmail.com
Mon Mar 25 12:04:02 PDT 2013
This patch adds parameter "EliminateFI" to RegScavenger::scavengeRegister,
which tells register scavenger not to eliminate frame index of the
emergency spill slot if set to false.
I have pseudo load, store and copy instructions which are generated during
register allocation and expanded post-RA but before the final stack size is
known. I use register scavenger to search for a temporary integer GPR that
is used during pseudo-expansion.
This is what happens during pseudo-expansion:
The following pseudo
LoadAC $acc, FI // Pseudo load instructions. Load from FI to accumulator
$acc.
is expanded into this sequence:
LW $reg, FI // load from FI to temporary GPR $reg
MTLO $reg // copy $reg to register LO
LW $reg, FI + 4 // load from FI+4 to GPR $reg
MTHI $reg // copy $reg to register HI
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20130325/d05b1990/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: rs-eliminatefi1.patch
Type: application/octet-stream
Size: 2353 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20130325/d05b1990/attachment.obj>
More information about the llvm-dev
mailing list