llvm-mc/AsmMatcher: Remove some code which has been obsoleted by move to
authorDaniel Dunbar <daniel@zuster.org>
Mon, 10 Aug 2009 19:08:50 +0000 (19:08 +0000)
committerDaniel Dunbar <daniel@zuster.org>
Mon, 10 Aug 2009 19:08:50 +0000 (19:08 +0000)
explicit parser match classes.

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

utils/TableGen/AsmMatcherEmitter.cpp

index 0356cb8363bdd140afac5357c45d8cd1a01a3664..0f3f9ed97f61be7a49e3fee670b0deabe465251b 100644 (file)
@@ -293,9 +293,6 @@ struct ClassInfo {
   /// 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 @@ ClassInfo *AsmMatcherInfo::getTokenClass(const StringRef &Token) {
   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 @@ void AsmMatcherInfo::BuildInfo(CodeGenTarget &Target) {
   // 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 @@ void AsmMatcherInfo::BuildInfo(CodeGenTarget &Target) {
     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 @@ static void EmitClassifyOperand(CodeGenTarget &Target,
         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";