[llvm-commits] CVS: llvm/lib/Target/X86/X86RegisterInfo.h X86RegisterInfo.cpp
Evan Cheng
evan.cheng at apple.com
Tue Mar 20 01:09:55 PDT 2007
Changes in directory llvm/lib/Target/X86:
X86RegisterInfo.h updated: 1.50 -> 1.51
X86RegisterInfo.cpp updated: 1.207 -> 1.208
---
Log message:
Added MRegisterInfo hook to re-materialize an instruction.
---
Diffs of the changes: (+13 -0)
X86RegisterInfo.cpp | 10 ++++++++++
X86RegisterInfo.h | 3 +++
2 files changed, 13 insertions(+)
Index: llvm/lib/Target/X86/X86RegisterInfo.h
diff -u llvm/lib/Target/X86/X86RegisterInfo.h:1.50 llvm/lib/Target/X86/X86RegisterInfo.h:1.51
--- llvm/lib/Target/X86/X86RegisterInfo.h:1.50 Tue Feb 27 18:20:26 2007
+++ llvm/lib/Target/X86/X86RegisterInfo.h Tue Mar 20 03:09:38 2007
@@ -58,6 +58,9 @@
MachineBasicBlock::iterator MI,
unsigned DestReg, unsigned SrcReg,
const TargetRegisterClass *RC) const;
+
+ void reMaterialize(MachineBasicBlock &MBB, MachineBasicBlock::iterator MI,
+ unsigned DestReg, const MachineInstr *Orig) const;
/// foldMemoryOperand - If this target supports it, fold a load or store of
/// the specified stack slot into the specified machine instruction for the
Index: llvm/lib/Target/X86/X86RegisterInfo.cpp
diff -u llvm/lib/Target/X86/X86RegisterInfo.cpp:1.207 llvm/lib/Target/X86/X86RegisterInfo.cpp:1.208
--- llvm/lib/Target/X86/X86RegisterInfo.cpp:1.207 Thu Mar 8 16:09:11 2007
+++ llvm/lib/Target/X86/X86RegisterInfo.cpp Tue Mar 20 03:09:38 2007
@@ -167,6 +167,16 @@
BuildMI(MBB, MI, TII.get(Opc), DestReg).addReg(SrcReg);
}
+
+void X86RegisterInfo::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);
+}
+
static MachineInstr *FuseTwoAddrInst(unsigned Opcode, unsigned FrameIndex,
MachineInstr *MI,
const TargetInstrInfo &TII) {
More information about the llvm-commits
mailing list