Remove the old register list functions from MCRegisterInfo.
authorJakob Stoklund Olesen <stoklund@2pi.dk>
Fri, 1 Jun 2012 23:28:34 +0000 (23:28 +0000)
committerJakob Stoklund Olesen <stoklund@2pi.dk>
Fri, 1 Jun 2012 23:28:34 +0000 (23:28 +0000)
These functions exposed the layout of the underlying data tables as
null-terminated uint16_t arrays.

Use the new MCSubRegIterator, MCSuperRegIterator, and MCRegAliasIterator
classes instead.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157855 91177308-0d34-0410-b5e6-96231b3b80d8

docs/CodeGenerator.html
include/llvm/MC/MCRegisterInfo.h

index 2829a94d4bb8de52f11a802ccad19f58c0066cfb..672dc294a75f412c2298b51da6365ed99aabff3f 100644 (file)
@@ -1626,9 +1626,9 @@ def : Pat&lt;(i32 imm:$imm),
    the registers <tt>EAX</tt>, <tt>AX</tt> and <tt>AL</tt> share the first eight
    bits. These physical registers are marked as <i>aliased</i> in LLVM. Given a
    particular architecture, you can check which registers are aliased by
-   inspecting its <tt>RegisterInfo.td</tt> file. Moreover, the method
-   <tt>MCRegisterInfo::getAliasSet(p_reg)</tt> returns an array containing
-   all the physical registers aliased to the register <tt>p_reg</tt>.</p>
+   inspecting its <tt>RegisterInfo.td</tt> file. Moreover, the class
+   <tt>MCRegAliasIterator</tt> enumerates all the physical registers aliased to
+   a register.</p>
 
 <p>Physical registers, in LLVM, are grouped in <i>Register Classes</i>.
    Elements in the same register class are functionally equivalent, and can be
index 956f5e6aa959d392bae886918885d9af086fd76e..c541f055485adba94f21e7aa84829397ec8b616d 100644 (file)
@@ -324,33 +324,6 @@ public:
     return operator[](RegNo);
   }
 
-  /// getAliasSet - Return the set of registers aliased by the specified
-  /// register, or a null list of there are none.  The list returned is zero
-  /// terminated.
-  ///
-  const uint16_t *getAliasSet(unsigned RegNo) const {
-    // The Overlaps set always begins with Reg itself.
-    return RegLists + get(RegNo).Overlaps + 1;
-  }
-
-  /// getOverlaps - Return a list of registers that overlap Reg, including
-  /// itself. This is the same as the alias set except Reg is included in the
-  /// list.
-  /// These are exactly the registers in { x | regsOverlap(x, Reg) }.
-  ///
-  const uint16_t *getOverlaps(unsigned RegNo) const {
-    return RegLists + get(RegNo).Overlaps;
-  }
-
-  /// getSubRegisters - Return the list of registers that are sub-registers of
-  /// the specified register, or a null list of there are none. The list
-  /// returned is zero terminated and sorted according to super-sub register
-  /// relations. e.g. X86::RAX's sub-register list is EAX, AX, AL, AH.
-  ///
-  const uint16_t *getSubRegisters(unsigned RegNo) const {
-    return RegLists + get(RegNo).SubRegs;
-  }
-
   /// getSubReg - Returns the physical register number of sub-register "Index"
   /// for physical register RegNo. Return zero if the sub-register does not
   /// exist.
@@ -373,15 +346,6 @@ public:
     return 0;
   }
 
-  /// getSuperRegisters - Return the list of registers that are super-registers
-  /// of the specified register, or a null list of there are none. The list
-  /// returned is zero terminated and sorted according to super-sub register
-  /// relations. e.g. X86::AL's super-register list is AX, EAX, RAX.
-  ///
-  const uint16_t *getSuperRegisters(unsigned RegNo) const {
-    return RegLists + get(RegNo).SuperRegs;
-  }
-
   /// getName - Return the human-readable symbolic target-specific name for the
   /// specified physical register.
   const char *getName(unsigned RegNo) const {