[llvm-commits] CVS: llvm/lib/Target/Sparc/SparcRegisterInfo.cpp SparcRegisterInfo.h

Evan Cheng evan.cheng at apple.com
Tue Mar 20 01:09:05 PDT 2007



Changes in directory llvm/lib/Target/Sparc:

SparcRegisterInfo.cpp updated: 1.57 -> 1.58
SparcRegisterInfo.h updated: 1.22 -> 1.23
---
Log message:

Added MRegisterInfo hook to re-materialize an instruction.

---
Diffs of the changes:  (+12 -0)

 SparcRegisterInfo.cpp |    9 +++++++++
 SparcRegisterInfo.h   |    3 +++
 2 files changed, 12 insertions(+)


Index: llvm/lib/Target/Sparc/SparcRegisterInfo.cpp
diff -u llvm/lib/Target/Sparc/SparcRegisterInfo.cpp:1.57 llvm/lib/Target/Sparc/SparcRegisterInfo.cpp:1.58
--- llvm/lib/Target/Sparc/SparcRegisterInfo.cpp:1.57	Tue Feb 27 18:20:02 2007
+++ llvm/lib/Target/Sparc/SparcRegisterInfo.cpp	Tue Mar 20 03:08:48 2007
@@ -77,6 +77,15 @@
     assert (0 && "Can't copy this register");
 }
 
+void SparcRegisterInfo::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);
+}
+
 MachineInstr *SparcRegisterInfo::foldMemoryOperand(MachineInstr* MI,
                                                    unsigned OpNum,
                                                    int FI) const {


Index: llvm/lib/Target/Sparc/SparcRegisterInfo.h
diff -u llvm/lib/Target/Sparc/SparcRegisterInfo.h:1.22 llvm/lib/Target/Sparc/SparcRegisterInfo.h:1.23
--- llvm/lib/Target/Sparc/SparcRegisterInfo.h:1.22	Tue Feb 27 18:20:02 2007
+++ llvm/lib/Target/Sparc/SparcRegisterInfo.h	Tue Mar 20 03:08:48 2007
@@ -44,6 +44,9 @@
                     unsigned DestReg, unsigned SrcReg,
                     const TargetRegisterClass *RC) const;
   
+  void reMaterialize(MachineBasicBlock &MBB, MachineBasicBlock::iterator MI,
+                     unsigned DestReg, const MachineInstr *Orig) const;
+
   virtual MachineInstr* foldMemoryOperand(MachineInstr* MI,
                                           unsigned OpNum,
                                           int FrameIndex) const;






More information about the llvm-commits mailing list