Inline this into its only caller.
authorSean Silva <silvas@purdue.edu>
Wed, 9 Jan 2013 02:17:14 +0000 (02:17 +0000)
committerSean Silva <silvas@purdue.edu>
Wed, 9 Jan 2013 02:17:14 +0000 (02:17 +0000)
It's clearer and additionally this gets rid of the usage of `DefmID`,
which doesn't really correspond to anything in the language (it was just
used in the name of this parsing function which parsed a `MultiClassID`
and returned that multiclass's record).

This area of the code still needs a lot of work.

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

lib/TableGen/TGParser.cpp
lib/TableGen/TGParser.h

index b1067009426b4aaa2ea24812d86edc0ffb572832..b6c80923952ab865930bd113549001941f4a5390 100644 (file)
@@ -455,14 +455,6 @@ MultiClass *TGParser::ParseMultiClassID() {
   return Result;
 }
 
-Record *TGParser::ParseDefmID() {
-  MultiClass *MC = ParseMultiClassID();
-  if (!MC)
-    return 0;
-  return &MC->Rec;
-}
-
-
 /// ParseSubClassReference - Parse a reference to a subclass or to a templated
 /// subclass.  This returns a SubClassRefTy with a null Record* on error.
 ///
@@ -474,10 +466,12 @@ ParseSubClassReference(Record *CurRec, bool isDefm) {
   SubClassReference Result;
   Result.RefLoc = Lex.getLoc();
 
-  if (isDefm)
-    Result.Rec = ParseDefmID();
-  else
+  if (isDefm) {
+    if (MultiClass *MC = ParseMultiClassID())
+      Result.Rec = &MC->Rec;
+  } else {
     Result.Rec = ParseClassID();
+  }
   if (Result.Rec == 0) return Result;
 
   // If there is no template arg list, we're done.
index 0ea962b99522984ebc63d5b5b9ec7c15d222d3bd..70fc9df4683177f8db47b12b36f849701cf5120e 100644 (file)
@@ -183,7 +183,6 @@ private:  // Parser methods.
   Init *ParseObjectName(MultiClass *CurMultiClass);
   Record *ParseClassID();
   MultiClass *ParseMultiClassID();
-  Record *ParseDefmID();
 };
 
 } // end namespace llvm