Use the new version of isSubClassOf


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7683 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/utils/TableGen/InstrSelectorEmitter.cpp b/utils/TableGen/InstrSelectorEmitter.cpp
index 5aadfa4..b9f0d6e 100644
--- a/utils/TableGen/InstrSelectorEmitter.cpp
+++ b/utils/TableGen/InstrSelectorEmitter.cpp
@@ -110,18 +110,17 @@
 
 static MVT::ValueType getIntrinsicType(Record *R) {
   // Check to see if this is a register or a register class...
-  const std::vector<Record*> &SuperClasses = R->getSuperClasses();
-  for (unsigned i = 0, e = SuperClasses.size(); i != e; ++i)
-    if (SuperClasses[i]->getName() == "RegisterClass") {
-      return getValueType(R->getValueAsDef("RegType"));
-    } else if (SuperClasses[i]->getName() == "Register") {
-      std::cerr << "WARNING: Explicit registers not handled yet!\n";
-      return MVT::Other;
-    } else if (SuperClasses[i]->getName() == "Nonterminal") {
-      //std::cerr << "Warning nonterminal type not handled yet:" << R->getName()
-      //          << "\n";
-      return MVT::Other;
-    }
+  if (R->isSubClassOf("RegisterClass")) {
+    return getValueType(R->getValueAsDef("RegType"));
+  } else if (R->isSubClassOf("Register")) {
+    std::cerr << "WARNING: Explicit registers not handled yet!\n";
+    return MVT::Other;
+  } else if (R->isSubClassOf("Nonterminal")) {
+    //std::cerr << "Warning nonterminal type not handled yet:" << R->getName()
+    //          << "\n";
+    return MVT::Other;
+  }
+
   throw "Error: Unknown value used: " + R->getName();
 }