Changes in directory llvm/lib/Target/PowerPC:
PPCRegisterInfo.cpp updated: 1.116 -> 1.117 PPCRegisterInfo.h updated: 1.33 -> 1.34 --- Log message: Added MRegisterInfo hook to re-materialize an instruction. --- Diffs of the changes: (+12 -0) PPCRegisterInfo.cpp | 9 +++++++++ PPCRegisterInfo.h | 3 +++ 2 files changed, 12 insertions(+) Index: llvm/lib/Target/PowerPC/PPCRegisterInfo.cpp diff -u llvm/lib/Target/PowerPC/PPCRegisterInfo.cpp:1.116 llvm/lib/Target/PowerPC/PPCRegisterInfo.cpp:1.117 --- llvm/lib/Target/PowerPC/PPCRegisterInfo.cpp:1.116 Tue Mar 6 04:05:14 2007 +++ llvm/lib/Target/PowerPC/PPCRegisterInfo.cpp Tue Mar 20 03:08:30 2007 @@ -239,6 +239,15 @@ } } +void PPCRegisterInfo::reMaterialize(MachineBasicBlock &MBB, + MachineBasicBlock::iterator I, + unsigned DestReg, + const MachineInstr *Orig) const { + MachineInstr *MI = Orig->clone(); + MI->getOperand(0).setReg(DestReg); + MBB.insert(I, MI); +} + const unsigned* PPCRegisterInfo::getCalleeSavedRegs() const { // 32-bit Darwin calling convention. static const unsigned Darwin32_CalleeSavedRegs[] = { Index: llvm/lib/Target/PowerPC/PPCRegisterInfo.h diff -u llvm/lib/Target/PowerPC/PPCRegisterInfo.h:1.33 llvm/lib/Target/PowerPC/PPCRegisterInfo.h:1.34 --- llvm/lib/Target/PowerPC/PPCRegisterInfo.h:1.33 Tue Mar 6 04:05:14 2007 +++ llvm/lib/Target/PowerPC/PPCRegisterInfo.h Tue Mar 20 03:08:30 2007 @@ -49,6 +49,9 @@ unsigned DestReg, unsigned SrcReg, const TargetRegisterClass *RC) const; + void reMaterialize(MachineBasicBlock &MBB, MachineBasicBlock::iterator MI, + unsigned DestReg, const MachineInstr *Orig) const; + /// foldMemoryOperand - PowerPC (like most RISC's) can only fold spills into /// copy instructions, turning them into load/store instructions. virtual MachineInstr* foldMemoryOperand(MachineInstr* MI, unsigned OpNum, _______________________________________________ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits