split t_Metadata into t_MDNode and t_MDString, eliminating some unsafe casting.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92287 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/AsmParser/LLParser.h b/lib/AsmParser/LLParser.h
index f56207a..fd7bf4e 100644
--- a/lib/AsmParser/LLParser.h
+++ b/lib/AsmParser/LLParser.h
@@ -46,7 +46,8 @@
       t_EmptyArray,               // No value:  []
       t_Constant,                 // Value in ConstantVal.
       t_InlineAsm,                // Value in StrVal/StrVal2/UIntVal.
-      t_Metadata                  // Value in MetadataVal.
+      t_MDNode,                   // Value in MDNodeVal.
+      t_MDString                  // Value in MDStringVal.
     } Kind;
     
     LLLexer::LocTy Loc;
@@ -55,7 +56,8 @@
     APSInt APSIntVal;
     APFloat APFloatVal;
     Constant *ConstantVal;
-    MetadataBase *MetadataVal;
+    MDNode *MDNodeVal;
+    MDString *MDStringVal;
     ValID() : APFloatVal(0.0) {}
     
     bool operator<(const ValID &RHS) const {