Store just the SimpleValueType in the generated VT tables for each register class...
authorBenjamin Kramer <benny.kra@googlemail.com>
Thu, 9 Feb 2012 12:35:37 +0000 (12:35 +0000)
committerBenjamin Kramer <benny.kra@googlemail.com>
Thu, 9 Feb 2012 12:35:37 +0000 (12:35 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@150173 91177308-0d34-0410-b5e6-96231b3b80d8

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

index 449f3d122594c11702f1edbc4af836bdbdf7c8d3..18f6fc3a26ed2909cdac4795f48546496390b82e 100644 (file)
@@ -36,7 +36,7 @@ class TargetRegisterClass {
 public:
   typedef const unsigned* iterator;
   typedef const unsigned* const_iterator;
-  typedef const EVT* vt_iterator;
+  typedef const MVT::SimpleValueType* vt_iterator;
   typedef const TargetRegisterClass* const * sc_iterator;
 private:
   virtual void anchor();
@@ -46,7 +46,8 @@ private:
   const sc_iterator SuperClasses;
   const sc_iterator SuperRegClasses;
 public:
-  TargetRegisterClass(const MCRegisterClass *MC, const EVT *vts,
+  TargetRegisterClass(const MCRegisterClass *MC,
+                      const MVT::SimpleValueType *vts,
                       const unsigned *subcm,
                       const TargetRegisterClass * const *supcs,
                       const TargetRegisterClass * const *superregcs)
@@ -110,7 +111,7 @@ public:
   ///
   bool hasType(EVT vt) const {
     for(int i = 0; VTs[i] != MVT::Other; ++i)
-      if (VTs[i] == vt)
+      if (EVT(VTs[i]) == vt)
         return true;
     return false;
   }
index cfac70172d4142d89840e59b18f90cd35a2925d1..2ce70541348bc4df37f1ad5d5a1c3f37c364d7a1 100644 (file)
@@ -521,7 +521,7 @@ RegisterInfoEmitter::runTargetDesc(raw_ostream &OS, CodeGenTarget &Target,
     // Emit the register list now.
     OS << "  // " << Name
        << " Register Class Value Types...\n"
-       << "  static const EVT " << Name
+       << "  static const MVT::SimpleValueType " << Name
        << "[] = {\n    ";
     for (unsigned i = 0, e = RC.VTs.size(); i != e; ++i)
       OS << getEnumName(RC.VTs[i]) << ", ";