[llvm-commits] CVS: llvm/lib/Target/IA64/IA64RegisterInfo.cpp IA64RegisterInfo.h
Evan Cheng
evan.cheng at apple.com
Tue Mar 20 01:08:21 PDT 2007
Changes in directory llvm/lib/Target/IA64:
IA64RegisterInfo.cpp updated: 1.34 -> 1.35
IA64RegisterInfo.h updated: 1.16 -> 1.17
---
Log message:
Added MRegisterInfo hook to re-materialize an instruction.
---
Diffs of the changes: (+12 -0)
IA64RegisterInfo.cpp | 9 +++++++++
IA64RegisterInfo.h | 3 +++
2 files changed, 12 insertions(+)
Index: llvm/lib/Target/IA64/IA64RegisterInfo.cpp
diff -u llvm/lib/Target/IA64/IA64RegisterInfo.cpp:1.34 llvm/lib/Target/IA64/IA64RegisterInfo.cpp:1.35
--- llvm/lib/Target/IA64/IA64RegisterInfo.cpp:1.34 Tue Feb 27 18:18:52 2007
+++ llvm/lib/Target/IA64/IA64RegisterInfo.cpp Tue Mar 20 03:08:04 2007
@@ -93,6 +93,15 @@
BuildMI(MBB, MI, TII.get(IA64::MOV), DestReg).addReg(SrcReg);
}
+void IA64RegisterInfo::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* IA64RegisterInfo::getCalleeSavedRegs() const {
static const unsigned CalleeSavedRegs[] = {
IA64::r5, 0
Index: llvm/lib/Target/IA64/IA64RegisterInfo.h
diff -u llvm/lib/Target/IA64/IA64RegisterInfo.h:1.16 llvm/lib/Target/IA64/IA64RegisterInfo.h:1.17
--- llvm/lib/Target/IA64/IA64RegisterInfo.h:1.16 Tue Feb 27 18:18:52 2007
+++ llvm/lib/Target/IA64/IA64RegisterInfo.h Tue Mar 20 03:08:04 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;
+
const unsigned *getCalleeSavedRegs() const;
const TargetRegisterClass* const* getCalleeSavedRegClasses() const;
More information about the llvm-commits
mailing list