[llvm-commits] [llvm] r52966 - in /llvm/trunk: include/llvm/Target/TargetRegisterInfo.h lib/Target/TargetRegisterInfo.cpp utils/TableGen/RegisterInfoEmitter.cpp

Owen Anderson resistor at mac.com
Tue Jul 1 10:34:38 PDT 2008


Author: resistor
Date: Tue Jul  1 12:34:38 2008
New Revision: 52966

URL: http://llvm.org/viewvc/llvm-project?rev=52966&view=rev
Log:
Make the subregister hashtable output more readable by wrapping the lines,
and mark it const along with the associated changes to TargetRegisterInfo.

Modified:
    llvm/trunk/include/llvm/Target/TargetRegisterInfo.h
    llvm/trunk/lib/Target/TargetRegisterInfo.cpp
    llvm/trunk/utils/TableGen/RegisterInfoEmitter.cpp

Modified: llvm/trunk/include/llvm/Target/TargetRegisterInfo.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/Target/TargetRegisterInfo.h?rev=52966&r1=52965&r2=52966&view=diff

==============================================================================
--- llvm/trunk/include/llvm/Target/TargetRegisterInfo.h (original)
+++ llvm/trunk/include/llvm/Target/TargetRegisterInfo.h Tue Jul  1 12:34:38 2008
@@ -275,8 +275,8 @@
 ///
 class TargetRegisterInfo {
 protected:
-  unsigned* SubregHash;
-  unsigned SubregHashSize;
+  const unsigned* SubregHash;
+  const unsigned SubregHashSize;
 public:
   typedef const TargetRegisterClass * const * regclass_iterator;
 private:
@@ -291,7 +291,9 @@
                      regclass_iterator RegClassBegin,
                      regclass_iterator RegClassEnd,
                      int CallFrameSetupOpcode = -1,
-                     int CallFrameDestroyOpcode = -1);
+                     int CallFrameDestroyOpcode = -1,
+                     const unsigned* subregs = 0,
+                     const unsigned subregsize = 0);
   virtual ~TargetRegisterInfo();
 public:
 

Modified: llvm/trunk/lib/Target/TargetRegisterInfo.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/TargetRegisterInfo.cpp?rev=52966&r1=52965&r2=52966&view=diff

==============================================================================
--- llvm/trunk/lib/Target/TargetRegisterInfo.cpp (original)
+++ llvm/trunk/lib/Target/TargetRegisterInfo.cpp Tue Jul  1 12:34:38 2008
@@ -22,8 +22,10 @@
 
 TargetRegisterInfo::TargetRegisterInfo(const TargetRegisterDesc *D, unsigned NR,
                              regclass_iterator RCB, regclass_iterator RCE,
-                             int CFSO, int CFDO)
-  : Desc(D), NumRegs(NR), RegClassBegin(RCB), RegClassEnd(RCE) {
+                             int CFSO, int CFDO,
+                             const unsigned* subregs, const unsigned subregsize)
+  : Desc(D), NumRegs(NR), RegClassBegin(RCB), RegClassEnd(RCE),
+    SubregHash(subregs), SubregHashSize(subregsize) {
   assert(NumRegs < FirstVirtualRegister &&
          "Target has too many physical registers!");
 

Modified: llvm/trunk/utils/TableGen/RegisterInfoEmitter.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/utils/TableGen/RegisterInfoEmitter.cpp?rev=52966&r1=52965&r2=52966&view=diff

==============================================================================
--- llvm/trunk/utils/TableGen/RegisterInfoEmitter.cpp (original)
+++ llvm/trunk/utils/TableGen/RegisterInfoEmitter.cpp Tue Jul  1 12:34:38 2008
@@ -501,29 +501,34 @@
   if (SubregHashTableSize) {
     std::string Namespace = Regs[0].TheDef->getValueAsString("Namespace");
     
-    OS << "\n\n  unsigned SubregHashTable[] = {";
+    OS << "\n\n  const unsigned SubregHashTable[] = { ";
     for (unsigned i = 0; i < SubregHashTableSize - 1; ++i) {
+      if (i != 0)
+        // Insert spaces for nice formatting.
+        OS << "                                       ";
+      
       if (SubregHashTable[2*i] != ~0U) {
         OS << getQualifiedName(Regs[SubregHashTable[2*i]].TheDef) << ", "
-           << getQualifiedName(Regs[SubregHashTable[2*i+1]].TheDef) << ", ";
+           << getQualifiedName(Regs[SubregHashTable[2*i+1]].TheDef) << ", \n";
       } else {
-        OS << Namespace << "::NoRegister, " << Namespace << "::NoRegister, ";
+        OS << Namespace << "::NoRegister, " << Namespace << "::NoRegister, \n";
       }
     }
     
     unsigned Idx = SubregHashTableSize*2-2;
     if (SubregHashTable[Idx] != ~0U) {
-      OS << getQualifiedName(Regs[SubregHashTable[Idx]].TheDef) << ", "
-         << getQualifiedName(Regs[SubregHashTable[Idx+1]].TheDef) << "};\n";
+      OS << "                                       "
+         << getQualifiedName(Regs[SubregHashTable[Idx]].TheDef) << ", "
+         << getQualifiedName(Regs[SubregHashTable[Idx+1]].TheDef) << " };\n";
     } else {
-      OS << Namespace << "::NoRegister, " << Namespace << "::NoRegister};\n";
+      OS << Namespace << "::NoRegister, " << Namespace << "::NoRegister };\n";
     }
     
-    OS << "  unsigned SubregHashTableSize = "
+    OS << "  const unsigned SubregHashTableSize = "
        << SubregHashTableSize << ";\n";
   } else {
-    OS << "\n\n  unsigned SubregHashTable[] = { ~0U, ~0U };\n"
-       << "  unsigned SubregHashTableSize = 1;\n";
+    OS << "\n\n  const unsigned SubregHashTable[] = { ~0U, ~0U };\n"
+       << "  const unsigned SubregHashTableSize = 1;\n";
   }
   
   delete [] SubregHashTable;
@@ -672,9 +677,8 @@
      << "(int CallFrameSetupOpcode, int CallFrameDestroyOpcode)\n"
      << "  : TargetRegisterInfo(RegisterDescriptors, " << Registers.size()+1
      << ", RegisterClasses, RegisterClasses+" << RegisterClasses.size() <<",\n "
-     << "                 CallFrameSetupOpcode, CallFrameDestroyOpcode) {\n"
-     << "  this->SubregHash = SubregHashTable;\n"
-     << "  this->SubregHashSize = SubregHashTableSize;\n"
+     << "                 CallFrameSetupOpcode, CallFrameDestroyOpcode,\n"
+     << "                 SubregHashTable, SubregHashTableSize) {\n"
      << "}\n\n";
 
   // Collect all information about dwarf register numbers





More information about the llvm-commits mailing list