[llvm-commits] CVS: llvm/lib/Target/Alpha/Alpha.td AlphaRegisterInfo.cpp AlphaRegisterInfo.h

Evan Cheng evan.cheng at apple.com
Wed May 17 17:12:05 PDT 2006



Changes in directory llvm/lib/Target/Alpha:

Alpha.td updated: 1.10 -> 1.11
AlphaRegisterInfo.cpp updated: 1.44 -> 1.45
AlphaRegisterInfo.h updated: 1.12 -> 1.13
---
Log message:

getCalleeSaveRegs and getCalleeSaveRegClasses are no long TableGen'd.

---
Diffs of the changes:  (+31 -11)

 Alpha.td              |   11 -----------
 AlphaRegisterInfo.cpp |   27 +++++++++++++++++++++++++++
 AlphaRegisterInfo.h   |    4 ++++
 3 files changed, 31 insertions(+), 11 deletions(-)


Index: llvm/lib/Target/Alpha/Alpha.td
diff -u llvm/lib/Target/Alpha/Alpha.td:1.10 llvm/lib/Target/Alpha/Alpha.td:1.11
--- llvm/lib/Target/Alpha/Alpha.td:1.10	Wed May 17 16:18:48 2006
+++ llvm/lib/Target/Alpha/Alpha.td	Wed May 17 19:11:53 2006
@@ -65,17 +65,6 @@
 
 
 def Alpha : Target {
-  let CalleeSavedRegisters = 
-	//saved regs
-	[R9, R10, R11, R12, R13, R14, 
-	//Frame pointer
-//	R15, 
-	//return address
-//	R26, 
-	//Stack Pointer
-//	R30,
-         F2, F3, F4, F5, F6, F7, F8, F9];
-
   // Pull in Instruction Info:
   let InstructionSet = AlphaInstrInfo;
 }


Index: llvm/lib/Target/Alpha/AlphaRegisterInfo.cpp
diff -u llvm/lib/Target/Alpha/AlphaRegisterInfo.cpp:1.44 llvm/lib/Target/Alpha/AlphaRegisterInfo.cpp:1.45
--- llvm/lib/Target/Alpha/AlphaRegisterInfo.cpp:1.44	Wed May 17 14:24:49 2006
+++ llvm/lib/Target/Alpha/AlphaRegisterInfo.cpp	Wed May 17 19:11:53 2006
@@ -145,6 +145,33 @@
   }
 }
 
+const unsigned* AlphaRegisterInfo::getCalleeSaveRegs() const {
+  static const unsigned CalleeSaveRegs[] = {
+    Alpha::R9, Alpha::R10,
+    Alpha::R11, Alpha::R12,
+    Alpha::R13, Alpha::R14,
+    Alpha::F2, Alpha::F3,
+    Alpha::F4, Alpha::F5,
+    Alpha::F6, Alpha::F7,
+    Alpha::F8, Alpha::F9,  0
+  };
+  return CalleeSaveRegs;
+}
+
+const TargetRegisterClass* const*
+AlphaRegisterInfo::getCalleeSaveRegClasses() const {
+  static const TargetRegisterClass * const CalleeSaveRegClasses[] = {
+    &Alpha::GPRCRegClass, &Alpha::GPRCRegClass,
+    &Alpha::GPRCRegClass, &Alpha::GPRCRegClass,
+    &Alpha::GPRCRegClass, &Alpha::GPRCRegClass,
+    &Alpha::F8RCRegClass, &Alpha::F8RCRegClass,
+    &Alpha::F8RCRegClass, &Alpha::F8RCRegClass,
+    &Alpha::F8RCRegClass, &Alpha::F8RCRegClass,
+    &Alpha::F8RCRegClass, &Alpha::F8RCRegClass,  0
+  };
+  return CalleeSaveRegClasses;
+}
+
 //===----------------------------------------------------------------------===//
 // Stack Frame Processing methods
 //===----------------------------------------------------------------------===//


Index: llvm/lib/Target/Alpha/AlphaRegisterInfo.h
diff -u llvm/lib/Target/Alpha/AlphaRegisterInfo.h:1.12 llvm/lib/Target/Alpha/AlphaRegisterInfo.h:1.13
--- llvm/lib/Target/Alpha/AlphaRegisterInfo.h:1.12	Fri Apr  7 11:34:45 2006
+++ llvm/lib/Target/Alpha/AlphaRegisterInfo.h	Wed May 17 19:11:53 2006
@@ -42,6 +42,10 @@
                     unsigned DestReg, unsigned SrcReg,
                     const TargetRegisterClass *RC) const;
 
+  const unsigned *getCalleeSaveRegs() const;
+
+  const TargetRegisterClass* const* getCalleeSaveRegClasses() const;
+
   void eliminateCallFramePseudoInstr(MachineFunction &MF,
                                      MachineBasicBlock &MBB,
                                      MachineBasicBlock::iterator I) const;






More information about the llvm-commits mailing list