summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/Sparc
diff options
context:
space:
mode:
authorRuchira Sasanka <sasanka@students.uiuc.edu>2001-11-03 17:13:27 +0000
committerRuchira Sasanka <sasanka@students.uiuc.edu>2001-11-03 17:13:27 +0000
commitb7a397253f8d0cd60a386e749fc71f801a066501 (patch)
tree72e0d99ff8ff5fa3100833653428f2f07e9a3234 /llvm/lib/Target/Sparc
parent629a15247a64adaaaab8d399b4f72a13829392ee (diff)
downloadbcm5719-llvm-b7a397253f8d0cd60a386e749fc71f801a066501.tar.gz
bcm5719-llvm-b7a397253f8d0cd60a386e749fc71f801a066501.zip
Arranged stack frame - needs furhter organization
Moved InsertCallerSaveInstr to the SparcRegInfo.cpp llvm-svn: 1106
Diffstat (limited to 'llvm/lib/Target/Sparc')
-rw-r--r--llvm/lib/Target/Sparc/SparcInternals.h3
-rw-r--r--llvm/lib/Target/Sparc/SparcRegInfo.cpp12
2 files changed, 15 insertions, 0 deletions
diff --git a/llvm/lib/Target/Sparc/SparcInternals.h b/llvm/lib/Target/Sparc/SparcInternals.h
index 653a2018a77..72b234f72cb 100644
--- a/llvm/lib/Target/Sparc/SparcInternals.h
+++ b/llvm/lib/Target/Sparc/SparcInternals.h
@@ -401,6 +401,9 @@ class UltraSparcRegInfo : public MachineRegInfo
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 11180f5995b..a34a5305ae7 100644
--- a/llvm/lib/Target/Sparc/SparcRegInfo.cpp
+++ b/llvm/lib/Target/Sparc/SparcRegInfo.cpp
@@ -979,7 +979,19 @@ MachineInstr * UltraSparcRegInfo::cpMem2RegMI(const unsigned SrcPtrReg,
}
+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;
+
+}
OpenPOWER on IntegriCloud