diff options
author | Evan Cheng <evan.cheng@apple.com> | 2007-02-19 21:49:54 +0000 |
---|---|---|
committer | Evan Cheng <evan.cheng@apple.com> | 2007-02-19 21:49:54 +0000 |
commit | b371f457b0ea4a652a9f526ba4375c80ae542252 (patch) | |
tree | ec68e7096a3f2101af8713fb7cba5ac5cf354664 /lib/Target/Sparc/SparcRegisterInfo.cpp | |
parent | d1b2c5b34df35e0f582be44e0d7d2240a0b80812 (diff) | |
download | llvm-b371f457b0ea4a652a9f526ba4375c80ae542252.tar.gz llvm-b371f457b0ea4a652a9f526ba4375c80ae542252.tar.bz2 llvm-b371f457b0ea4a652a9f526ba4375c80ae542252.tar.xz |
Re-apply my liveintervalanalysis changes. Now with PR1207 fixes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34428 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/Sparc/SparcRegisterInfo.cpp')
-rw-r--r-- | lib/Target/Sparc/SparcRegisterInfo.cpp | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/lib/Target/Sparc/SparcRegisterInfo.cpp b/lib/Target/Sparc/SparcRegisterInfo.cpp index 3cb5e502f9..dab0b1037d 100644 --- a/lib/Target/Sparc/SparcRegisterInfo.cpp +++ b/lib/Target/Sparc/SparcRegisterInfo.cpp @@ -20,6 +20,7 @@ #include "llvm/CodeGen/MachineLocation.h" #include "llvm/Target/TargetInstrInfo.h" #include "llvm/Type.h" +#include "llvm/ADT/BitVector.h" #include "llvm/ADT/STLExtras.h" using namespace llvm; @@ -116,6 +117,22 @@ const unsigned* SparcRegisterInfo::getCalleeSavedRegs() const { return CalleeSavedRegs; } +BitVector SparcRegisterInfo::getReservedRegs(const MachineFunction &MF) const { + BitVector Reserved(getNumRegs()); + Reserved.set(SP::G2); + Reserved.set(SP::G3); + Reserved.set(SP::G4); + Reserved.set(SP::O6); + Reserved.set(SP::I6); + Reserved.set(SP::I7); + Reserved.set(SP::G0); + Reserved.set(SP::G5); + Reserved.set(SP::G6); + Reserved.set(SP::G7); + return Reserved; +} + + const TargetRegisterClass* const* SparcRegisterInfo::getCalleeSavedRegClasses() const { static const TargetRegisterClass * const CalleeSavedRegClasses[] = { 0 }; |