summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/Sparc
diff options
context:
space:
mode:
authorEvan Cheng <evan.cheng@apple.com>2006-05-18 00:12:58 +0000
committerEvan Cheng <evan.cheng@apple.com>2006-05-18 00:12:58 +0000
commit305c49579c045d0348240eabc77fa7c68fb11eb6 (patch)
tree398fdffc6dfe0e9389b4a23187a70e72bc19deeb /llvm/lib/Target/Sparc
parent297e1cb10a0afa231904a5fafc8602988752cbfe (diff)
downloadbcm5719-llvm-305c49579c045d0348240eabc77fa7c68fb11eb6.tar.gz
bcm5719-llvm-305c49579c045d0348240eabc77fa7c68fb11eb6.zip
getCalleeSaveRegs and getCalleeSaveRegClasses are no long TableGen'd.
llvm-svn: 28378
Diffstat (limited to 'llvm/lib/Target/Sparc')
-rw-r--r--llvm/lib/Target/Sparc/Sparc.td3
-rw-r--r--llvm/lib/Target/Sparc/SparcRegisterInfo.cpp12
-rw-r--r--llvm/lib/Target/Sparc/SparcRegisterInfo.h4
3 files changed, 16 insertions, 3 deletions
diff --git a/llvm/lib/Target/Sparc/Sparc.td b/llvm/lib/Target/Sparc/Sparc.td
index 38b03a4c0d1..1646e0e1f96 100644
--- a/llvm/lib/Target/Sparc/Sparc.td
+++ b/llvm/lib/Target/Sparc/Sparc.td
@@ -75,9 +75,6 @@ def : Proc<"ultrasparc3-vis", [FeatureV9, FeatureV8Deprecated, FeatureVIS]>;
//===----------------------------------------------------------------------===//
def Sparc : Target {
- // FIXME: Specify callee-saved registers
- let CalleeSavedRegisters = [];
-
// Pull in Instruction Info:
let InstructionSet = SparcInstrInfo;
}
diff --git a/llvm/lib/Target/Sparc/SparcRegisterInfo.cpp b/llvm/lib/Target/Sparc/SparcRegisterInfo.cpp
index 88cbc9c769e..7331ebdbff5 100644
--- a/llvm/lib/Target/Sparc/SparcRegisterInfo.cpp
+++ b/llvm/lib/Target/Sparc/SparcRegisterInfo.cpp
@@ -103,6 +103,18 @@ MachineInstr *SparcRegisterInfo::foldMemoryOperand(MachineInstr* MI,
return 0;
}
+const unsigned* SparcRegisterInfo::getCalleeSaveRegs() const {
+ static const unsigned CalleeSaveRegs[] = { 0 };
+ return CalleeSaveRegs;
+}
+
+const TargetRegisterClass* const*
+SparcRegisterInfo::getCalleeSaveRegClasses() const {
+ static const TargetRegisterClass * const CalleeSaveRegClasses[] = { 0 };
+ return CalleeSaveRegClasses;
+}
+
+
void SparcRegisterInfo::
eliminateCallFramePseudoInstr(MachineFunction &MF, MachineBasicBlock &MBB,
MachineBasicBlock::iterator I) const {
diff --git a/llvm/lib/Target/Sparc/SparcRegisterInfo.h b/llvm/lib/Target/Sparc/SparcRegisterInfo.h
index 176e93491b0..bbb11f86dee 100644
--- a/llvm/lib/Target/Sparc/SparcRegisterInfo.h
+++ b/llvm/lib/Target/Sparc/SparcRegisterInfo.h
@@ -46,6 +46,10 @@ struct SparcRegisterInfo : public SparcGenRegisterInfo {
unsigned OpNum,
int FrameIndex) const;
+ const unsigned *getCalleeSaveRegs() const;
+
+ const TargetRegisterClass* const* getCalleeSaveRegClasses() const;
+
void eliminateCallFramePseudoInstr(MachineFunction &MF,
MachineBasicBlock &MBB,
MachineBasicBlock::iterator I) const;
OpenPOWER on IntegriCloud