Arranged stack frame - needs furhter organization
Moved InsertCallerSaveInstr to the SparcRegInfo.cpp
llvm-svn: 1106
diff --git a/llvm/lib/Target/Sparc/SparcInternals.h b/llvm/lib/Target/Sparc/SparcInternals.h
index 653a201..72b234f 100644
--- a/llvm/lib/Target/Sparc/SparcInternals.h
+++ b/llvm/lib/Target/Sparc/SparcInternals.h
@@ -401,6 +401,9 @@
MachineInstr * cpMem2RegMI(const unsigned SrcPtrReg, const int Offset,
const unsigned DestReg, const int RegType) const;
+ MachineInstr* cpValue2Value(Value *Src, Value *Dest) const;
+
+
inline bool isRegVolatile(const int RegClassID, const int Reg) const {
return (MachineRegClassArr[RegClassID])->isRegVolatile(Reg);
}
diff --git a/llvm/lib/Target/Sparc/SparcRegInfo.cpp b/llvm/lib/Target/Sparc/SparcRegInfo.cpp
index 11180f5..a34a530 100644
--- a/llvm/lib/Target/Sparc/SparcRegInfo.cpp
+++ b/llvm/lib/Target/Sparc/SparcRegInfo.cpp
@@ -979,7 +979,19 @@
}
+MachineInstr* UltraSparcRegInfo::cpValue2Value(Value *Src, Value *Dest) const {
+ MachineInstr * MI = NULL;
+
+ MI = new MachineInstr(ADD, 3);
+ MI->SetMachineOperand(0, MachineOperand:: MO_VirtualRegister, Src, false);
+ MI->SetMachineOperand(1, SparcIntRegOrder::g0, false);
+ MI->SetMachineOperand(2, MachineOperand:: MO_VirtualRegister, Dest, true);
+
+
+ return MI;
+
+}