diff options
author | Owen Anderson <resistor@mac.com> | 2006-10-18 02:21:12 +0000 |
---|---|---|
committer | Owen Anderson <resistor@mac.com> | 2006-10-18 02:21:12 +0000 |
commit | cf7ff2b4c8c18d67aced9d7ba84482819b38a84b (patch) | |
tree | 20ac08acae42a4e16ae1b95c36f6a205fd228817 /lib/AsmParser | |
parent | 9935dd919882bec89f185d49655eba9db644e49e (diff) | |
download | external_llvm-cf7ff2b4c8c18d67aced9d7ba84482819b38a84b.zip external_llvm-cf7ff2b4c8c18d67aced9d7ba84482819b38a84b.tar.gz external_llvm-cf7ff2b4c8c18d67aced9d7ba84482819b38a84b.tar.bz2 |
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
Diffstat (limited to 'lib/AsmParser')
-rw-r--r-- | lib/AsmParser/Lexer.l | 1 | ||||
-rw-r--r-- | lib/AsmParser/llvmAsmParser.y | 6 |
2 files changed, 7 insertions, 0 deletions
diff --git a/lib/AsmParser/Lexer.l b/lib/AsmParser/Lexer.l index 635318c..af61a67 100644 --- a/lib/AsmParser/Lexer.l +++ b/lib/AsmParser/Lexer.l @@ -210,6 +210,7 @@ triple { return TRIPLE; } deplibs { return DEPLIBS; } endian { return ENDIAN; } pointersize { return POINTERSIZE; } +data { return DATA; } little { return LITTLE; } big { return BIG; } volatile { return VOLATILE; } 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 @@ Module *llvm::RunVMAsmParser(const char * AsmString, Module * M) { %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 @@ TargetDefinition : ENDIAN '=' BigOrLittle { free($3); CHECK_FOR_ERROR }; + | DATA '=' STRINGCONSTANT { + CurModule.CurrentModule->setDataLayout($3); + free($3); + CHECK_FOR_ERROR + }; LibrariesDefinition : '[' LibList ']'; |