Add support for the new "target data" information in .ll files.  This provides
a better encoding of the targets data layout, rather than trying to guess it
from the endianness and pointersize like before.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31030 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/AsmParser/llvmAsmParser.y b/lib/AsmParser/llvmAsmParser.y
index e57ca4c..2842f27 100644
--- a/lib/AsmParser/llvmAsmParser.y
+++ b/lib/AsmParser/llvmAsmParser.y
@@ -1068,6 +1068,7 @@
 %token DEPLIBS CALL TAIL ASM_TOK MODULE SIDEEFFECT
 %token CC_TOK CCC_TOK CSRETCC_TOK FASTCC_TOK COLDCC_TOK
 %token X86_STDCALLCC_TOK X86_FASTCALLCC_TOK
+%token DATA
 %type <UIntVal> OptCallingConv
 
 // Basic Block Terminating Operators
@@ -1873,6 +1874,11 @@
     free($3);
     CHECK_FOR_ERROR
   };
+  | DATA '=' STRINGCONSTANT {
+    CurModule.CurrentModule->setDataLayout($3);
+    free($3);
+    CHECK_FOR_ERROR
+  };
 
 LibrariesDefinition : '[' LibList ']';