[llvm-commits] CVS: llvm/include/llvm/Target/MRegisterInfo.h

Evan Cheng evan.cheng at apple.com
Fri Apr 20 17:54:23 PDT 2007



Changes in directory llvm/include/llvm/Target:

MRegisterInfo.h updated: 1.105 -> 1.106
---
Log message:

Add super-register set.

---
Diffs of the changes:  (+13 -1)

 MRegisterInfo.h |   14 +++++++++++++-
 1 files changed, 13 insertions(+), 1 deletion(-)


Index: llvm/include/llvm/Target/MRegisterInfo.h
diff -u llvm/include/llvm/Target/MRegisterInfo.h:1.105 llvm/include/llvm/Target/MRegisterInfo.h:1.106
--- llvm/include/llvm/Target/MRegisterInfo.h:1.105	Fri Apr 20 16:28:05 2007
+++ llvm/include/llvm/Target/MRegisterInfo.h	Fri Apr 20 19:54:06 2007
@@ -40,11 +40,15 @@
 /// Registers that this does not apply to simply should set this to null.
 /// The SubRegs field is a zero terminated array of registers that are
 /// sub-registers of the specific register, e.g. AL, AH are sub-registers of AX.
+/// The SuperRegs field is a zero terminated array of registers that are
+/// super-registers of the specific register, e.g. RAX, EAX, are sub-registers
+/// of AX.
 ///
 struct TargetRegisterDesc {
   const char     *Name;         // Assembly language name for the register
   const unsigned *AliasSet;     // Register Alias Set, described above
   const unsigned *SubRegs;      // Sub-register set, described above
+  const unsigned *SuperRegs;    // Super-register set, described above
 };
 
 class TargetRegisterClass {
@@ -271,13 +275,21 @@
   }
 
   /// getSubRegisters - Return the set of registers that are sub-registers of
-  // the specified register, or a null list of there are none. The list
+  /// the specified register, or a null list of there are none. The list
   /// returned is zero terminated.
   ///
   const unsigned *getSubRegisters(unsigned RegNo) const {
     return get(RegNo).SubRegs;
   }
 
+  /// getSuperRegisters - Return the set of registers that are super-registers
+  /// of the specified register, or a null list of there are none. The list
+  /// returned is zero terminated.
+  ///
+  const unsigned *getSuperRegisters(unsigned RegNo) const {
+    return get(RegNo).SuperRegs;
+  }
+
   /// getName - Return the symbolic target specific name for the specified
   /// physical register.
   const char *getName(unsigned RegNo) const {






More information about the llvm-commits mailing list