[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