[llvm-commits] [llvm] r78588 - /llvm/trunk/utils/TableGen/AsmMatcherEmitter.cpp

Daniel Dunbar daniel at zuster.org
Mon Aug 10 12:08:50 PDT 2009


Author: ddunbar
Date: Mon Aug 10 14:08:50 2009
New Revision: 78588

URL: http://llvm.org/viewvc/llvm-project?rev=78588&view=rev
Log:
llvm-mc/AsmMatcher: Remove some code which has been obsoleted by move to
explicit parser match classes.

Modified:
    llvm/trunk/utils/TableGen/AsmMatcherEmitter.cpp

Modified: llvm/trunk/utils/TableGen/AsmMatcherEmitter.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/utils/TableGen/AsmMatcherEmitter.cpp?rev=78588&r1=78587&r2=78588&view=diff

==============================================================================
--- llvm/trunk/utils/TableGen/AsmMatcherEmitter.cpp (original)
+++ llvm/trunk/utils/TableGen/AsmMatcherEmitter.cpp Mon Aug 10 14:08:50 2009
@@ -293,9 +293,6 @@
   /// N) for the Nth user defined class.
   unsigned Kind;
 
-  /// SuperClassKind - The super class kind for user classes.
-  unsigned SuperClassKind;
-
   /// SuperClass - The super class, or 0.
   ClassInfo *SuperClass;
 
@@ -525,6 +522,7 @@
   if (!Entry) {
     Entry = new ClassInfo();
     Entry->Kind = ClassInfo::Token;
+    Entry->SuperClass = 0;
     Entry->ClassName = "Token";
     Entry->Name = "MCK_" + getEnumNameForToken(Token);
     Entry->ValueName = Token;
@@ -562,7 +560,7 @@
   // FIXME: This needs to dice up the RegisterClass instances.
   ClassInfo *RegClass = TheRegisterClass = new ClassInfo();
   RegClass->Kind = ClassInfo::Register;
-  RegClass->SuperClassKind = ClassInfo::Invalid;
+  RegClass->SuperClass = 0;
   RegClass->ClassName = "Reg";
   RegClass->Name = "MCK_Reg";
   RegClass->ValueName = "<register class>";
@@ -661,24 +659,6 @@
     Instructions.push_back(II.take());
   }
 
-  // Bind user super classes.
-  std::map<unsigned, ClassInfo*> UserClasses;
-  for (unsigned i = 0, e = Classes.size(); i != e; ++i) {
-    ClassInfo &CI = *Classes[i];
-    if (CI.isUserClass())
-      UserClasses[CI.Kind] = &CI;
-  }
-
-  for (unsigned i = 0, e = Classes.size(); i != e; ++i) {
-    ClassInfo &CI = *Classes[i];
-    if (CI.isUserClass() && CI.SuperClassKind != ClassInfo::Invalid) {
-      CI.SuperClass = UserClasses[CI.SuperClassKind];
-      assert(CI.SuperClass && "Missing super class definition!");
-    } else {
-      CI.SuperClass = 0;
-    }
-  }
-
   // Reorder classes so that classes preceed super classes.
   std::sort(Classes.begin(), Classes.end(), less_ptr<ClassInfo>());
 }
@@ -863,8 +843,8 @@
         OS << "    assert(Operand." << CI.SuperClass->PredicateMethod
            << "() && \"Invalid class relationship!\");\n";
 
-      OS << "    return " << CI.Name << ";\n\n";
-      OS << "  }";
+      OS << "    return " << CI.Name << ";\n";
+      OS << "  }\n\n";
     }
   }
   OS << "  return InvalidMatchClass;\n";





More information about the llvm-commits mailing list