[llvm-commits] CVS: llvm/lib/Target/Sparc/SparcRegisterInfo.cpp SparcRegisterInfo.h

Evan Cheng evan.cheng at apple.com
Mon Feb 19 13:50:31 PST 2007



Changes in directory llvm/lib/Target/Sparc:

SparcRegisterInfo.cpp updated: 1.53 -> 1.54
SparcRegisterInfo.h updated: 1.19 -> 1.20
---
Log message:

Re-apply my liveintervalanalysis changes. Now with PR1207: http://llvm.org/PR1207  fixes.

---
Diffs of the changes:  (+19 -0)

 SparcRegisterInfo.cpp |   17 +++++++++++++++++
 SparcRegisterInfo.h   |    2 ++
 2 files changed, 19 insertions(+)


Index: llvm/lib/Target/Sparc/SparcRegisterInfo.cpp
diff -u llvm/lib/Target/Sparc/SparcRegisterInfo.cpp:1.53 llvm/lib/Target/Sparc/SparcRegisterInfo.cpp:1.54
--- llvm/lib/Target/Sparc/SparcRegisterInfo.cpp:1.53	Sun Feb 18 21:20:00 2007
+++ llvm/lib/Target/Sparc/SparcRegisterInfo.cpp	Mon Feb 19 15:49:54 2007
@@ -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 @@
   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 };


Index: llvm/lib/Target/Sparc/SparcRegisterInfo.h
diff -u llvm/lib/Target/Sparc/SparcRegisterInfo.h:1.19 llvm/lib/Target/Sparc/SparcRegisterInfo.h:1.20
--- llvm/lib/Target/Sparc/SparcRegisterInfo.h:1.19	Sun Feb 18 21:20:00 2007
+++ llvm/lib/Target/Sparc/SparcRegisterInfo.h	Mon Feb 19 15:49:54 2007
@@ -52,6 +52,8 @@
 
   const TargetRegisterClass* const* getCalleeSavedRegClasses() const;
 
+  BitVector getReservedRegs(const MachineFunction &MF) const;
+
   bool hasFP(const MachineFunction &MF) const;
 
   void eliminateCallFramePseudoInstr(MachineFunction &MF,






More information about the llvm-commits mailing list