Use multiple virtual registers in PPC CR spilling
authorHal Finkel <hfinkel@anl.gov>
Tue, 26 Mar 2013 18:57:22 +0000 (18:57 +0000)
committerHal Finkel <hfinkel@anl.gov>
Tue, 26 Mar 2013 18:57:22 +0000 (18:57 +0000)
commit0dfbb05aff3e8b6f0d82cad0122f7e4b3178f533
tree6e7fdadedecf2c95a2874b993422412276b60c8a
parentd8a423cd71bb2a9b7666fd58fc82db16b4666d1d
Use multiple virtual registers in PPC CR spilling

Now that the register scavenger can support multiple spill slots, and PEI can
use virtual-register-based scavenging for multiple simultaneous registers, we
can use a virtual register for the transfer register in the CR spilling code.

This should eliminate the last place (outside of the prologue/epilogue) where
we depend on the unconditional availability of the r0 register. We will soon be
able to allocate it (in a somewhat restricted sense) as a GPR.

llvm-svn: 178060
llvm/lib/Target/PowerPC/PPCFrameLowering.cpp
llvm/lib/Target/PowerPC/PPCRegisterInfo.cpp
llvm/test/CodeGen/PowerPC/2010-02-12-saveCR.ll