expose a new virtual method
authorChris Lattner <sabre@nondot.org>
Fri, 30 Sep 2005 07:06:37 +0000 (07:06 +0000)
committerChris Lattner <sabre@nondot.org>
Fri, 30 Sep 2005 07:06:37 +0000 (07:06 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23555 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/Target/MRegisterInfo.h

index ed8ea23c88c239b4116c516d6057a85cc535564d..2687a3da63a055875e36aa701407ff116c192044 100644 (file)
@@ -25,6 +25,7 @@ namespace llvm {
 class Type;
 class MachineFunction;
 class MachineInstr;
+class TargetRegisterClass;
 
 /// MRegisterDesc - This record contains all of the information known about a
 /// particular register.  The AliasSet field (if not null) contains a pointer to
@@ -214,8 +215,14 @@ public:
     return false;
   }
 
+  /// getCalleeSaveRegs - Return a null-terminated list of all of the
+  /// callee-save registers on this target.
   virtual const unsigned* getCalleeSaveRegs() const = 0;
 
+  /// getCalleeSaveRegClasses - Return a null-terminated list of the preferred
+  /// register classes to spill each callee-saved register with.  The order and
+  /// length of this list match the getCalleeSaveRegs() list.
+  virtual const TargetRegisterClass* const *getCalleeSaveRegClasses() const = 0;
 
   //===--------------------------------------------------------------------===//
   // Register Class Information