[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