trim down the target info structs now that we have a preferred spill register class...
authorChris Lattner <sabre@nondot.org>
Fri, 30 Sep 2005 17:35:22 +0000 (17:35 +0000)
committerChris Lattner <sabre@nondot.org>
Fri, 30 Sep 2005 17:35:22 +0000 (17:35 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23560 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/Target/MRegisterInfo.h
utils/TableGen/RegisterInfoEmitter.cpp

index 2687a3da63a055875e36aa701407ff116c192044..716db0398c5626794d79400a75a87a2904a60999 100644 (file)
@@ -36,8 +36,6 @@ class TargetRegisterClass;
 struct MRegisterDesc {
   const char     *Name;         // Assembly language name for the register
   const unsigned *AliasSet;     // Register Alias Set, described above
-  unsigned char SpillSize;      // Size of this register in bytes
-  unsigned char SpillAlignment; // Alignment of stack slot for this reg
 };
 
 class TargetRegisterClass {
@@ -189,18 +187,6 @@ public:
     return get(RegNo).Name;
   }
 
-  /// getSpillSize - Return the size in bits required of a stack slot used to
-  /// spill register into.
-  unsigned getSpillSize(unsigned RegNo) const {
-    return get(RegNo).SpillSize;
-  }
-
-  /// getSpillAlignment - Return the alignment required by a stack slot used to
-  /// spill register into.
-  unsigned getSpillAlignment(unsigned RegNo) const {
-    return get(RegNo).SpillAlignment;
-  }
-
   /// getNumRegs - Return the number of registers this target has
   /// (useful for sizing arrays holding per register information)
   unsigned getNumRegs() const {
index 3d778d16c6d704f4aaf897cb8f1ab509e11be8b1..fae9c399b7b8de1ae5bdb54411ad193234b7af23 100644 (file)
@@ -214,24 +214,9 @@ void RegisterInfoEmitter::run(std::ostream &OS) {
       OS << Reg.getName();
     OS << "\",\t";
     if (RegisterAliases.count(Reg.TheDef))
-      OS << Reg.getName() << "_AliasSet,\t";
+      OS << Reg.getName() << "_AliasSet },\n";
     else
-      OS << "Empty_AliasSet,\t";
-
-    // Figure out what the size and alignment of the spill slots are for this
-    // reg.  This may be explicitly declared in the register, or it may be
-    // inferred from the register classes it is part of.
-    std::multimap<Record*, const CodeGenRegisterClass*>::iterator I, E;
-    tie(I, E) = RegClassesBelongedTo.equal_range(Reg.TheDef);
-    unsigned SpillSize = Reg.DeclaredSpillSize;
-    unsigned SpillAlign = Reg.DeclaredSpillAlignment;
-    for (; I != E; ++I) {   // For each reg class this belongs to.
-      const CodeGenRegisterClass *RC = I->second;
-      SpillSize = std::max(SpillSize, RC->SpillSize);
-      SpillAlign = std::max(SpillAlign, RC->SpillAlignment);
-    }
-
-    OS << SpillSize << ", " << SpillAlign << " },\n";
+      OS << "Empty_AliasSet },\n";
   }
   OS << "  };\n";      // End of register descriptors...
   OS << "}\n\n";       // End of anonymous namespace...