diff options
author | Evan Cheng <evan.cheng@apple.com> | 2006-05-18 00:12:58 +0000 |
---|---|---|
committer | Evan Cheng <evan.cheng@apple.com> | 2006-05-18 00:12:58 +0000 |
commit | 305c49579c045d0348240eabc77fa7c68fb11eb6 (patch) | |
tree | 398fdffc6dfe0e9389b4a23187a70e72bc19deeb /llvm/lib/Target/Sparc | |
parent | 297e1cb10a0afa231904a5fafc8602988752cbfe (diff) | |
download | bcm5719-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.td | 3 | ||||
-rw-r--r-- | llvm/lib/Target/Sparc/SparcRegisterInfo.cpp | 12 | ||||
-rw-r--r-- | llvm/lib/Target/Sparc/SparcRegisterInfo.h | 4 |
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; |