AsmParser: Reorder ParseMetadata() logic, NFC
authorDuncan P. N. Exon Smith <dexonsmith@apple.com>
Mon, 12 Jan 2015 22:24:50 +0000 (22:24 +0000)
committerDuncan P. N. Exon Smith <dexonsmith@apple.com>
Mon, 12 Jan 2015 22:24:50 +0000 (22:24 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@225709 91177308-0d34-0410-b5e6-96231b3b80d8

lib/AsmParser/LLParser.cpp

index 5090cfb8a508e21b0fe9fa4010b6df534e1d9572..d30fccaef86723f9c5c542cd8309b7b393f1fb64 100644 (file)
@@ -2966,6 +2966,16 @@ bool LLParser::ParseMetadata(Metadata *&MD, PerFunctionState *PFS) {
   assert(Lex.getKind() == lltok::exclaim && "Expected '!' here");
   Lex.Lex();
 
+  // MDString:
+  //   ::= '!' STRINGCONSTANT
+  if (Lex.getKind() == lltok::StringConstant) {
+    MDString *S;
+    if (ParseMDString(S))
+      return true;
+    MD = S;
+    return false;
+  }
+
   // MDNode:
   // !{ ... }
   if (Lex.getKind() == lltok::lbrace) {
@@ -2978,20 +2988,10 @@ bool LLParser::ParseMetadata(Metadata *&MD, PerFunctionState *PFS) {
 
   // Standalone metadata reference
   // !42
-  if (Lex.getKind() == lltok::APSInt) {
-    MDNode *N;
-    if (ParseMDNodeID(N))
-      return true;
-    MD = N;
-    return false;
-  }
-
-  // MDString:
-  //   ::= '!' STRINGCONSTANT
-  MDString *S;
-  if (ParseMDString(S))
+  MDNode *N;
+  if (ParseMDNodeID(N))
     return true;
-  MD = S;
+  MD = N;
   return false;
 }