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.

Update the generated files.

llvm-svn: 31031
This commit is contained in:
Owen Anderson 2006-10-18 02:21:48 +00:00
parent 12374f766b
commit de03eb21c2
5 changed files with 2217 additions and 2365 deletions

File diff suppressed because it is too large Load Diff

View File

@ -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; }

File diff suppressed because it is too large Load Diff

View File

@ -105,43 +105,44 @@ typedef union {
#define COLDCC_TOK 322
#define X86_STDCALLCC_TOK 323
#define X86_FASTCALLCC_TOK 324
#define RET 325
#define BR 326
#define SWITCH 327
#define INVOKE 328
#define UNWIND 329
#define UNREACHABLE 330
#define ADD 331
#define SUB 332
#define MUL 333
#define DIV 334
#define REM 335
#define AND 336
#define OR 337
#define XOR 338
#define SETLE 339
#define SETGE 340
#define SETLT 341
#define SETGT 342
#define SETEQ 343
#define SETNE 344
#define MALLOC 345
#define ALLOCA 346
#define FREE 347
#define LOAD 348
#define STORE 349
#define GETELEMENTPTR 350
#define PHI_TOK 351
#define CAST 352
#define SELECT 353
#define SHL 354
#define SHR 355
#define VAARG 356
#define EXTRACTELEMENT 357
#define INSERTELEMENT 358
#define SHUFFLEVECTOR 359
#define VAARG_old 360
#define VANEXT_old 361
#define DATA 325
#define RET 326
#define BR 327
#define SWITCH 328
#define INVOKE 329
#define UNWIND 330
#define UNREACHABLE 331
#define ADD 332
#define SUB 333
#define MUL 334
#define DIV 335
#define REM 336
#define AND 337
#define OR 338
#define XOR 339
#define SETLE 340
#define SETGE 341
#define SETLT 342
#define SETGT 343
#define SETEQ 344
#define SETNE 345
#define MALLOC 346
#define ALLOCA 347
#define FREE 348
#define LOAD 349
#define STORE 350
#define GETELEMENTPTR 351
#define PHI_TOK 352
#define CAST 353
#define SELECT 354
#define SHL 355
#define SHR 356
#define VAARG 357
#define EXTRACTELEMENT 358
#define INSERTELEMENT 359
#define SHUFFLEVECTOR 360
#define VAARG_old 361
#define VANEXT_old 362
extern YYSTYPE llvmAsmlval;

View File

@ -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 ']';