Regenerate.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32772 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Reid Spencer 2006-12-29 20:35:03 +00:00
parent a9d7e89fa9
commit 6fd36abf5e
13 changed files with 7269 additions and 7096 deletions

File diff suppressed because it is too large Load Diff

View File

@ -192,6 +192,7 @@ end { return ENDTOK; }
true { return TRUETOK; }
false { return FALSETOK; }
declare { return DECLARE; }
define { return DEFINE; }
global { return GLOBAL; }
constant { return CONSTANT; }
internal { return INTERNAL; }

File diff suppressed because it is too large Load Diff

View File

@ -46,8 +46,8 @@
ULONG = 272,
FLOAT = 273,
DOUBLE = 274,
TYPE = 275,
LABEL = 276,
LABEL = 275,
TYPE = 276,
VAR_ID = 277,
LABELSTR = 278,
STRINGCONSTANT = 279,
@ -58,113 +58,114 @@
BEGINTOK = 284,
ENDTOK = 285,
DECLARE = 286,
GLOBAL = 287,
CONSTANT = 288,
SECTION = 289,
VOLATILE = 290,
TO = 291,
DOTDOTDOT = 292,
NULL_TOK = 293,
UNDEF = 294,
CONST = 295,
INTERNAL = 296,
LINKONCE = 297,
WEAK = 298,
APPENDING = 299,
DLLIMPORT = 300,
DLLEXPORT = 301,
EXTERN_WEAK = 302,
OPAQUE = 303,
NOT = 304,
EXTERNAL = 305,
TARGET = 306,
TRIPLE = 307,
ENDIAN = 308,
POINTERSIZE = 309,
LITTLE = 310,
BIG = 311,
ALIGN = 312,
DEPLIBS = 313,
CALL = 314,
TAIL = 315,
ASM_TOK = 316,
MODULE = 317,
SIDEEFFECT = 318,
CC_TOK = 319,
CCC_TOK = 320,
CSRETCC_TOK = 321,
FASTCC_TOK = 322,
COLDCC_TOK = 323,
X86_STDCALLCC_TOK = 324,
X86_FASTCALLCC_TOK = 325,
DATALAYOUT = 326,
RET = 327,
BR = 328,
SWITCH = 329,
INVOKE = 330,
UNWIND = 331,
UNREACHABLE = 332,
ADD = 333,
SUB = 334,
MUL = 335,
UDIV = 336,
SDIV = 337,
FDIV = 338,
UREM = 339,
SREM = 340,
FREM = 341,
AND = 342,
OR = 343,
XOR = 344,
ICMP = 345,
FCMP = 346,
EQ = 347,
NE = 348,
SLT = 349,
SGT = 350,
SLE = 351,
SGE = 352,
ULT = 353,
UGT = 354,
ULE = 355,
UGE = 356,
OEQ = 357,
ONE = 358,
OLT = 359,
OGT = 360,
OLE = 361,
OGE = 362,
ORD = 363,
UNO = 364,
UEQ = 365,
UNE = 366,
MALLOC = 367,
ALLOCA = 368,
FREE = 369,
LOAD = 370,
STORE = 371,
GETELEMENTPTR = 372,
TRUNC = 373,
ZEXT = 374,
SEXT = 375,
FPTRUNC = 376,
FPEXT = 377,
BITCAST = 378,
UITOFP = 379,
SITOFP = 380,
FPTOUI = 381,
FPTOSI = 382,
INTTOPTR = 383,
PTRTOINT = 384,
PHI_TOK = 385,
SELECT = 386,
SHL = 387,
LSHR = 388,
ASHR = 389,
VAARG = 390,
EXTRACTELEMENT = 391,
INSERTELEMENT = 392,
SHUFFLEVECTOR = 393
DEFINE = 287,
GLOBAL = 288,
CONSTANT = 289,
SECTION = 290,
VOLATILE = 291,
TO = 292,
DOTDOTDOT = 293,
NULL_TOK = 294,
UNDEF = 295,
CONST = 296,
INTERNAL = 297,
LINKONCE = 298,
WEAK = 299,
APPENDING = 300,
DLLIMPORT = 301,
DLLEXPORT = 302,
EXTERN_WEAK = 303,
OPAQUE = 304,
NOT = 305,
EXTERNAL = 306,
TARGET = 307,
TRIPLE = 308,
ENDIAN = 309,
POINTERSIZE = 310,
LITTLE = 311,
BIG = 312,
ALIGN = 313,
DEPLIBS = 314,
CALL = 315,
TAIL = 316,
ASM_TOK = 317,
MODULE = 318,
SIDEEFFECT = 319,
CC_TOK = 320,
CCC_TOK = 321,
CSRETCC_TOK = 322,
FASTCC_TOK = 323,
COLDCC_TOK = 324,
X86_STDCALLCC_TOK = 325,
X86_FASTCALLCC_TOK = 326,
DATALAYOUT = 327,
RET = 328,
BR = 329,
SWITCH = 330,
INVOKE = 331,
UNWIND = 332,
UNREACHABLE = 333,
ADD = 334,
SUB = 335,
MUL = 336,
UDIV = 337,
SDIV = 338,
FDIV = 339,
UREM = 340,
SREM = 341,
FREM = 342,
AND = 343,
OR = 344,
XOR = 345,
ICMP = 346,
FCMP = 347,
EQ = 348,
NE = 349,
SLT = 350,
SGT = 351,
SLE = 352,
SGE = 353,
ULT = 354,
UGT = 355,
ULE = 356,
UGE = 357,
OEQ = 358,
ONE = 359,
OLT = 360,
OGT = 361,
OLE = 362,
OGE = 363,
ORD = 364,
UNO = 365,
UEQ = 366,
UNE = 367,
MALLOC = 368,
ALLOCA = 369,
FREE = 370,
LOAD = 371,
STORE = 372,
GETELEMENTPTR = 373,
TRUNC = 374,
ZEXT = 375,
SEXT = 376,
FPTRUNC = 377,
FPEXT = 378,
BITCAST = 379,
UITOFP = 380,
SITOFP = 381,
FPTOUI = 382,
FPTOSI = 383,
INTTOPTR = 384,
PTRTOINT = 385,
PHI_TOK = 386,
SELECT = 387,
SHL = 388,
LSHR = 389,
ASHR = 390,
VAARG = 391,
EXTRACTELEMENT = 392,
INSERTELEMENT = 393,
SHUFFLEVECTOR = 394
};
#endif
/* Tokens. */
@ -185,8 +186,8 @@
#define ULONG 272
#define FLOAT 273
#define DOUBLE 274
#define TYPE 275
#define LABEL 276
#define LABEL 275
#define TYPE 276
#define VAR_ID 277
#define LABELSTR 278
#define STRINGCONSTANT 279
@ -197,119 +198,120 @@
#define BEGINTOK 284
#define ENDTOK 285
#define DECLARE 286
#define GLOBAL 287
#define CONSTANT 288
#define SECTION 289
#define VOLATILE 290
#define TO 291
#define DOTDOTDOT 292
#define NULL_TOK 293
#define UNDEF 294
#define CONST 295
#define INTERNAL 296
#define LINKONCE 297
#define WEAK 298
#define APPENDING 299
#define DLLIMPORT 300
#define DLLEXPORT 301
#define EXTERN_WEAK 302
#define OPAQUE 303
#define NOT 304
#define EXTERNAL 305
#define TARGET 306
#define TRIPLE 307
#define ENDIAN 308
#define POINTERSIZE 309
#define LITTLE 310
#define BIG 311
#define ALIGN 312
#define DEPLIBS 313
#define CALL 314
#define TAIL 315
#define ASM_TOK 316
#define MODULE 317
#define SIDEEFFECT 318
#define CC_TOK 319
#define CCC_TOK 320
#define CSRETCC_TOK 321
#define FASTCC_TOK 322
#define COLDCC_TOK 323
#define X86_STDCALLCC_TOK 324
#define X86_FASTCALLCC_TOK 325
#define DATALAYOUT 326
#define RET 327
#define BR 328
#define SWITCH 329
#define INVOKE 330
#define UNWIND 331
#define UNREACHABLE 332
#define ADD 333
#define SUB 334
#define MUL 335
#define UDIV 336
#define SDIV 337
#define FDIV 338
#define UREM 339
#define SREM 340
#define FREM 341
#define AND 342
#define OR 343
#define XOR 344
#define ICMP 345
#define FCMP 346
#define EQ 347
#define NE 348
#define SLT 349
#define SGT 350
#define SLE 351
#define SGE 352
#define ULT 353
#define UGT 354
#define ULE 355
#define UGE 356
#define OEQ 357
#define ONE 358
#define OLT 359
#define OGT 360
#define OLE 361
#define OGE 362
#define ORD 363
#define UNO 364
#define UEQ 365
#define UNE 366
#define MALLOC 367
#define ALLOCA 368
#define FREE 369
#define LOAD 370
#define STORE 371
#define GETELEMENTPTR 372
#define TRUNC 373
#define ZEXT 374
#define SEXT 375
#define FPTRUNC 376
#define FPEXT 377
#define BITCAST 378
#define UITOFP 379
#define SITOFP 380
#define FPTOUI 381
#define FPTOSI 382
#define INTTOPTR 383
#define PTRTOINT 384
#define PHI_TOK 385
#define SELECT 386
#define SHL 387
#define LSHR 388
#define ASHR 389
#define VAARG 390
#define EXTRACTELEMENT 391
#define INSERTELEMENT 392
#define SHUFFLEVECTOR 393
#define DEFINE 287
#define GLOBAL 288
#define CONSTANT 289
#define SECTION 290
#define VOLATILE 291
#define TO 292
#define DOTDOTDOT 293
#define NULL_TOK 294
#define UNDEF 295
#define CONST 296
#define INTERNAL 297
#define LINKONCE 298
#define WEAK 299
#define APPENDING 300
#define DLLIMPORT 301
#define DLLEXPORT 302
#define EXTERN_WEAK 303
#define OPAQUE 304
#define NOT 305
#define EXTERNAL 306
#define TARGET 307
#define TRIPLE 308
#define ENDIAN 309
#define POINTERSIZE 310
#define LITTLE 311
#define BIG 312
#define ALIGN 313
#define DEPLIBS 314
#define CALL 315
#define TAIL 316
#define ASM_TOK 317
#define MODULE 318
#define SIDEEFFECT 319
#define CC_TOK 320
#define CCC_TOK 321
#define CSRETCC_TOK 322
#define FASTCC_TOK 323
#define COLDCC_TOK 324
#define X86_STDCALLCC_TOK 325
#define X86_FASTCALLCC_TOK 326
#define DATALAYOUT 327
#define RET 328
#define BR 329
#define SWITCH 330
#define INVOKE 331
#define UNWIND 332
#define UNREACHABLE 333
#define ADD 334
#define SUB 335
#define MUL 336
#define UDIV 337
#define SDIV 338
#define FDIV 339
#define UREM 340
#define SREM 341
#define FREM 342
#define AND 343
#define OR 344
#define XOR 345
#define ICMP 346
#define FCMP 347
#define EQ 348
#define NE 349
#define SLT 350
#define SGT 351
#define SLE 352
#define SGE 353
#define ULT 354
#define UGT 355
#define ULE 356
#define UGE 357
#define OEQ 358
#define ONE 359
#define OLT 360
#define OGT 361
#define OLE 362
#define OGE 363
#define ORD 364
#define UNO 365
#define UEQ 366
#define UNE 367
#define MALLOC 368
#define ALLOCA 369
#define FREE 370
#define LOAD 371
#define STORE 372
#define GETELEMENTPTR 373
#define TRUNC 374
#define ZEXT 375
#define SEXT 376
#define FPTRUNC 377
#define FPEXT 378
#define BITCAST 379
#define UITOFP 380
#define SITOFP 381
#define FPTOUI 382
#define FPTOSI 383
#define INTTOPTR 384
#define PTRTOINT 385
#define PHI_TOK 386
#define SELECT 387
#define SHL 388
#define LSHR 389
#define ASHR 390
#define VAARG 391
#define EXTRACTELEMENT 392
#define INSERTELEMENT 393
#define SHUFFLEVECTOR 394
#if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED)
#line 855 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
#line 855 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
typedef union YYSTYPE {
llvm::Module *ModuleVal;
llvm::Function *FunctionVal;
@ -353,7 +355,7 @@ typedef union YYSTYPE {
llvm::FCmpInst::Predicate FPredicate;
} YYSTYPE;
/* Line 1447 of yacc.c. */
#line 357 "llvmAsmParser.tab.h"
#line 359 "llvmAsmParser.tab.h"
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
# define YYSTYPE_IS_DECLARED 1
# define YYSTYPE_IS_TRIVIAL 1

View File

@ -895,7 +895,7 @@ Module *llvm::RunVMAsmParser(const char * AsmString, Module * M) {
llvm::FCmpInst::Predicate FPredicate;
}
%type <ModuleVal> Module FunctionList
%type <ModuleVal> Module
%type <FunctionVal> Function FunctionProto FunctionHeader BasicBlockList
%type <BasicBlockVal> BasicBlock InstructionList
%type <TermInstVal> BBTerminatorInst
@ -913,7 +913,7 @@ Module *llvm::RunVMAsmParser(const char * AsmString, Module * M) {
%type <BoolVal> OptVolatile // 'volatile' or not
%type <BoolVal> OptTailCall // TAIL CALL or plain CALL.
%type <BoolVal> OptSideEffect // 'sideeffect' or not.
%type <Linkage> OptLinkage
%type <Linkage> FunctionLinkage GVInternalLinkage GVExternalLinkage
%type <Endianness> BigOrLittle
// ValueRef - Unresolved reference to a definition or BB
@ -936,7 +936,8 @@ Module *llvm::RunVMAsmParser(const char * AsmString, Module * M) {
%type <TypeVal> Types TypesV UpRTypes UpRTypesV
%type <PrimType> SIntType UIntType IntType FPType PrimType // Classifications
%token <PrimType> VOID BOOL SBYTE UBYTE SHORT USHORT INT UINT LONG ULONG
%token <PrimType> FLOAT DOUBLE TYPE LABEL
%token <PrimType> FLOAT DOUBLE LABEL
%token TYPE
%token <StrVal> VAR_ID LABELSTR STRINGCONSTANT
%type <StrVal> Name OptName OptAssign
@ -944,7 +945,7 @@ Module *llvm::RunVMAsmParser(const char * AsmString, Module * M) {
%type <StrVal> OptSection SectionString
%token IMPLEMENTATION ZEROINITIALIZER TRUETOK FALSETOK BEGINTOK ENDTOK
%token DECLARE GLOBAL CONSTANT SECTION VOLATILE
%token DECLARE DEFINE GLOBAL CONSTANT SECTION VOLATILE
%token TO DOTDOTDOT NULL_TOK UNDEF CONST INTERNAL LINKONCE WEAK APPENDING
%token DLLIMPORT DLLEXPORT EXTERN_WEAK
%token OPAQUE NOT EXTERNAL TARGET TRIPLE ENDIAN POINTERSIZE LITTLE BIG ALIGN
@ -1038,14 +1039,33 @@ OptAssign : Name '=' {
CHECK_FOR_ERROR
};
OptLinkage : INTERNAL { $$ = GlobalValue::InternalLinkage; } |
LINKONCE { $$ = GlobalValue::LinkOnceLinkage; } |
WEAK { $$ = GlobalValue::WeakLinkage; } |
APPENDING { $$ = GlobalValue::AppendingLinkage; } |
DLLIMPORT { $$ = GlobalValue::DLLImportLinkage; } |
DLLEXPORT { $$ = GlobalValue::DLLExportLinkage; } |
EXTERN_WEAK { $$ = GlobalValue::ExternalWeakLinkage; } |
/*empty*/ { $$ = GlobalValue::ExternalLinkage; };
GVInternalLinkage
: INTERNAL { $$ = GlobalValue::InternalLinkage; }
| WEAK { $$ = GlobalValue::WeakLinkage; }
| LINKONCE { $$ = GlobalValue::LinkOnceLinkage; }
| APPENDING { $$ = GlobalValue::AppendingLinkage; }
| DLLEXPORT { $$ = GlobalValue::DLLExportLinkage; }
;
GVExternalLinkage
: DLLIMPORT { $$ = GlobalValue::DLLImportLinkage; }
| EXTERN_WEAK { $$ = GlobalValue::ExternalWeakLinkage; }
| EXTERNAL { $$ = GlobalValue::ExternalLinkage; }
;
FnDeclareLinkage
: /*empty*/ { /*default*/ }
| DLLIMPORT { CurFun.Linkage = GlobalValue::DLLImportLinkage; }
| EXTERN_WEAK { CurFun.Linkage = GlobalValue::ExternalWeakLinkage; }
;
FunctionLinkage
: INTERNAL { $$ = GlobalValue::InternalLinkage; }
| LINKONCE { $$ = GlobalValue::LinkOnceLinkage; }
| WEAK { $$ = GlobalValue::WeakLinkage; }
| DLLEXPORT { $$ = GlobalValue::DLLExportLinkage; }
| /*empty*/ { $$ = GlobalValue::ExternalLinkage; }
;
OptCallingConv : /*empty*/ { $$ = CallingConv::C; } |
CCC_TOK { $$ = CallingConv::C; } |
@ -1128,7 +1148,7 @@ Types : UpRTypes {
// Derived types are added later...
//
PrimType : BOOL | SBYTE | UBYTE | SHORT | USHORT | INT | UINT ;
PrimType : LONG | ULONG | FLOAT | DOUBLE | TYPE | LABEL;
PrimType : LONG | ULONG | FLOAT | DOUBLE | LABEL ;
UpRTypes : OPAQUE {
$$ = new PATypeHolder(OpaqueType::get());
CHECK_FOR_ERROR
@ -1634,33 +1654,36 @@ GlobalType : GLOBAL { $$ = false; } | CONSTANT { $$ = true; };
// Module rule: Capture the result of parsing the whole file into a result
// variable...
//
Module : FunctionList {
$$ = ParserResult = $1;
CurModule.ModuleDone();
CHECK_FOR_ERROR;
};
Module
: DefinitionList {
$$ = ParserResult = CurModule.CurrentModule;
CurModule.ModuleDone();
CHECK_FOR_ERROR;
}
| /*empty*/ {
$$ = ParserResult = CurModule.CurrentModule;
CurModule.ModuleDone();
CHECK_FOR_ERROR;
}
;
// FunctionList - A list of functions, preceeded by a constant pool.
//
FunctionList : FunctionList Function {
$$ = $1;
DefinitionList
: Definition
| DefinitionList Definition
;
Definition
: DEFINE { CurFun.isDeclare = false } Function {
CurFun.FunctionDone();
CHECK_FOR_ERROR
}
| FunctionList FunctionProto {
$$ = $1;
}
| DECLARE { CurFun.isDeclare = true; } FunctionProto {
CHECK_FOR_ERROR
}
| FunctionList MODULE ASM_TOK AsmBlock {
$$ = $1;
| MODULE ASM_TOK AsmBlock {
CHECK_FOR_ERROR
}
| FunctionList IMPLEMENTATION {
$$ = $1;
CHECK_FOR_ERROR
}
| ConstPool {
$$ = CurModule.CurrentModule;
| IMPLEMENTATION {
// Emit an error if there are any unresolved types left.
if (!CurModule.LateResolveTypes.empty()) {
const ValID &DID = CurModule.LateResolveTypes.begin()->first;
@ -1671,10 +1694,8 @@ FunctionList : FunctionList Function {
}
}
CHECK_FOR_ERROR
};
// ConstPool - Constants with optional names assigned to them.
ConstPool : ConstPool OptAssign TYPE TypesV {
}
| OptAssign TYPE TypesV {
// Eagerly resolve types. This is not an optimization, this is a
// requirement that is due to the fact that we could have this:
//
@ -1684,65 +1705,50 @@ ConstPool : ConstPool OptAssign TYPE TypesV {
// If types are not resolved eagerly, then the two types will not be
// determined to be the same type!
//
ResolveTypeTo($2, *$4);
ResolveTypeTo($1, *$3);
if (!setTypeName(*$4, $2) && !$2) {
if (!setTypeName(*$3, $1) && !$1) {
CHECK_FOR_ERROR
// If this is a named type that is not a redefinition, add it to the slot
// table.
CurModule.Types.push_back(*$4);
CurModule.Types.push_back(*$3);
}
delete $4;
delete $3;
CHECK_FOR_ERROR
}
| ConstPool FunctionProto { // Function prototypes can be in const pool
CHECK_FOR_ERROR
}
| ConstPool MODULE ASM_TOK AsmBlock { // Asm blocks can be in the const pool
CHECK_FOR_ERROR
}
| ConstPool OptAssign OptLinkage GlobalType ConstVal {
if ($5 == 0)
| OptAssign GlobalType ConstVal { /* "Externally Visible" Linkage */
if ($3 == 0)
GEN_ERROR("Global value initializer is not a constant!");
CurGV = ParseGlobalVariable($2, $3, $4, $5->getType(), $5);
CurGV = ParseGlobalVariable($1, GlobalValue::ExternalLinkage, $2,
$3->getType(), $3);
CHECK_FOR_ERROR
} GlobalVarAttributes {
CurGV = 0;
}
| ConstPool OptAssign EXTERNAL GlobalType Types {
CurGV = ParseGlobalVariable($2, GlobalValue::ExternalLinkage, $4, *$5, 0);
| OptAssign GVInternalLinkage GlobalType ConstVal {
if ($4 == 0)
GEN_ERROR("Global value initializer is not a constant!");
CurGV = ParseGlobalVariable($1, $2, $3, $4->getType(), $4);
CHECK_FOR_ERROR
delete $5;
} GlobalVarAttributes {
CurGV = 0;
}
| OptAssign GVExternalLinkage GlobalType Types {
CurGV = ParseGlobalVariable($1, $2, $3, *$4, 0);
CHECK_FOR_ERROR
delete $4;
} GlobalVarAttributes {
CurGV = 0;
CHECK_FOR_ERROR
}
| ConstPool OptAssign DLLIMPORT GlobalType Types {
CurGV = ParseGlobalVariable($2, GlobalValue::DLLImportLinkage, $4, *$5, 0);
CHECK_FOR_ERROR
delete $5;
} GlobalVarAttributes {
CurGV = 0;
| TARGET TargetDefinition {
CHECK_FOR_ERROR
}
| ConstPool OptAssign EXTERN_WEAK GlobalType Types {
CurGV =
ParseGlobalVariable($2, GlobalValue::ExternalWeakLinkage, $4, *$5, 0);
CHECK_FOR_ERROR
delete $5;
} GlobalVarAttributes {
CurGV = 0;
| DEPLIBS '=' LibrariesDefinition {
CHECK_FOR_ERROR
}
| ConstPool TARGET TargetDefinition {
CHECK_FOR_ERROR
}
| ConstPool DEPLIBS '=' LibrariesDefinition {
CHECK_FOR_ERROR
}
| /* empty: end of list */ {
};
;
AsmBlock : STRINGCONSTANT {
@ -1944,7 +1950,7 @@ FunctionHeaderH : OptCallingConv TypesV Name '(' ArgList ')'
BEGIN : BEGINTOK | '{'; // Allow BEGIN or '{' to start a function
FunctionHeader : OptLinkage FunctionHeaderH BEGIN {
FunctionHeader : FunctionLinkage FunctionHeaderH BEGIN {
$$ = CurFun.CurrentFunction;
// Make sure that we keep track of the linkage type even if there was a
@ -1959,11 +1965,7 @@ Function : BasicBlockList END {
CHECK_FOR_ERROR
};
FnDeclareLinkage: /*default*/ |
DLLIMPORT { CurFun.Linkage = GlobalValue::DLLImportLinkage; } |
EXTERN_WEAK { CurFun.Linkage = GlobalValue::ExternalWeakLinkage; };
FunctionProto : DECLARE { CurFun.isDeclare = true; } FnDeclareLinkage FunctionHeaderH {
FunctionProto : FnDeclareLinkage FunctionHeaderH {
$$ = CurFun.CurrentFunction;
CurFun.FunctionDone();
CHECK_FOR_ERROR

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -105,6 +105,7 @@ end { RET_TOK( ENDTOK); }
true { RET_TOK( TRUETOK); }
false { RET_TOK( FALSETOK); }
declare { RET_TOK( DECLARE); }
define { RET_TOK( DEFINE); }
global { RET_TOK( GLOBAL); }
constant { RET_TOK( CONSTANT); }
internal { RET_TOK( INTERNAL); }

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -61,122 +61,123 @@
BEGINTOK = 287,
ENDTOK = 288,
DECLARE = 289,
GLOBAL = 290,
CONSTANT = 291,
SECTION = 292,
VOLATILE = 293,
TO = 294,
DOTDOTDOT = 295,
CONST = 296,
INTERNAL = 297,
LINKONCE = 298,
WEAK = 299,
DLLIMPORT = 300,
DLLEXPORT = 301,
EXTERN_WEAK = 302,
APPENDING = 303,
NOT = 304,
EXTERNAL = 305,
TARGET = 306,
TRIPLE = 307,
ENDIAN = 308,
POINTERSIZE = 309,
LITTLE = 310,
BIG = 311,
ALIGN = 312,
UNINITIALIZED = 313,
DEPLIBS = 314,
CALL = 315,
TAIL = 316,
ASM_TOK = 317,
MODULE = 318,
SIDEEFFECT = 319,
CC_TOK = 320,
CCC_TOK = 321,
CSRETCC_TOK = 322,
FASTCC_TOK = 323,
COLDCC_TOK = 324,
X86_STDCALLCC_TOK = 325,
X86_FASTCALLCC_TOK = 326,
DATALAYOUT = 327,
RET = 328,
BR = 329,
SWITCH = 330,
INVOKE = 331,
EXCEPT = 332,
UNWIND = 333,
UNREACHABLE = 334,
ADD = 335,
SUB = 336,
MUL = 337,
DIV = 338,
UDIV = 339,
SDIV = 340,
FDIV = 341,
REM = 342,
UREM = 343,
SREM = 344,
FREM = 345,
AND = 346,
OR = 347,
XOR = 348,
SETLE = 349,
SETGE = 350,
SETLT = 351,
SETGT = 352,
SETEQ = 353,
SETNE = 354,
ICMP = 355,
FCMP = 356,
EQ = 357,
NE = 358,
SLT = 359,
SGT = 360,
SLE = 361,
SGE = 362,
OEQ = 363,
ONE = 364,
OLT = 365,
OGT = 366,
OLE = 367,
OGE = 368,
ORD = 369,
UNO = 370,
UEQ = 371,
UNE = 372,
ULT = 373,
UGT = 374,
ULE = 375,
UGE = 376,
MALLOC = 377,
ALLOCA = 378,
FREE = 379,
LOAD = 380,
STORE = 381,
GETELEMENTPTR = 382,
PHI_TOK = 383,
SELECT = 384,
SHL = 385,
SHR = 386,
ASHR = 387,
LSHR = 388,
VAARG = 389,
EXTRACTELEMENT = 390,
INSERTELEMENT = 391,
SHUFFLEVECTOR = 392,
CAST = 393,
TRUNC = 394,
ZEXT = 395,
SEXT = 396,
FPTRUNC = 397,
FPEXT = 398,
FPTOUI = 399,
FPTOSI = 400,
UITOFP = 401,
SITOFP = 402,
PTRTOINT = 403,
INTTOPTR = 404,
BITCAST = 405
DEFINE = 290,
GLOBAL = 291,
CONSTANT = 292,
SECTION = 293,
VOLATILE = 294,
TO = 295,
DOTDOTDOT = 296,
CONST = 297,
INTERNAL = 298,
LINKONCE = 299,
WEAK = 300,
DLLIMPORT = 301,
DLLEXPORT = 302,
EXTERN_WEAK = 303,
APPENDING = 304,
NOT = 305,
EXTERNAL = 306,
TARGET = 307,
TRIPLE = 308,
ENDIAN = 309,
POINTERSIZE = 310,
LITTLE = 311,
BIG = 312,
ALIGN = 313,
UNINITIALIZED = 314,
DEPLIBS = 315,
CALL = 316,
TAIL = 317,
ASM_TOK = 318,
MODULE = 319,
SIDEEFFECT = 320,
CC_TOK = 321,
CCC_TOK = 322,
CSRETCC_TOK = 323,
FASTCC_TOK = 324,
COLDCC_TOK = 325,
X86_STDCALLCC_TOK = 326,
X86_FASTCALLCC_TOK = 327,
DATALAYOUT = 328,
RET = 329,
BR = 330,
SWITCH = 331,
INVOKE = 332,
EXCEPT = 333,
UNWIND = 334,
UNREACHABLE = 335,
ADD = 336,
SUB = 337,
MUL = 338,
DIV = 339,
UDIV = 340,
SDIV = 341,
FDIV = 342,
REM = 343,
UREM = 344,
SREM = 345,
FREM = 346,
AND = 347,
OR = 348,
XOR = 349,
SETLE = 350,
SETGE = 351,
SETLT = 352,
SETGT = 353,
SETEQ = 354,
SETNE = 355,
ICMP = 356,
FCMP = 357,
EQ = 358,
NE = 359,
SLT = 360,
SGT = 361,
SLE = 362,
SGE = 363,
OEQ = 364,
ONE = 365,
OLT = 366,
OGT = 367,
OLE = 368,
OGE = 369,
ORD = 370,
UNO = 371,
UEQ = 372,
UNE = 373,
ULT = 374,
UGT = 375,
ULE = 376,
UGE = 377,
MALLOC = 378,
ALLOCA = 379,
FREE = 380,
LOAD = 381,
STORE = 382,
GETELEMENTPTR = 383,
PHI_TOK = 384,
SELECT = 385,
SHL = 386,
SHR = 387,
ASHR = 388,
LSHR = 389,
VAARG = 390,
EXTRACTELEMENT = 391,
INSERTELEMENT = 392,
SHUFFLEVECTOR = 393,
CAST = 394,
TRUNC = 395,
ZEXT = 396,
SEXT = 397,
FPTRUNC = 398,
FPEXT = 399,
FPTOUI = 400,
FPTOSI = 401,
UITOFP = 402,
SITOFP = 403,
PTRTOINT = 404,
INTTOPTR = 405,
BITCAST = 406
};
#endif
/* Tokens. */
@ -212,128 +213,129 @@
#define BEGINTOK 287
#define ENDTOK 288
#define DECLARE 289
#define GLOBAL 290
#define CONSTANT 291
#define SECTION 292
#define VOLATILE 293
#define TO 294
#define DOTDOTDOT 295
#define CONST 296
#define INTERNAL 297
#define LINKONCE 298
#define WEAK 299
#define DLLIMPORT 300
#define DLLEXPORT 301
#define EXTERN_WEAK 302
#define APPENDING 303
#define NOT 304
#define EXTERNAL 305
#define TARGET 306
#define TRIPLE 307
#define ENDIAN 308
#define POINTERSIZE 309
#define LITTLE 310
#define BIG 311
#define ALIGN 312
#define UNINITIALIZED 313
#define DEPLIBS 314
#define CALL 315
#define TAIL 316
#define ASM_TOK 317
#define MODULE 318
#define SIDEEFFECT 319
#define CC_TOK 320
#define CCC_TOK 321
#define CSRETCC_TOK 322
#define FASTCC_TOK 323
#define COLDCC_TOK 324
#define X86_STDCALLCC_TOK 325
#define X86_FASTCALLCC_TOK 326
#define DATALAYOUT 327
#define RET 328
#define BR 329
#define SWITCH 330
#define INVOKE 331
#define EXCEPT 332
#define UNWIND 333
#define UNREACHABLE 334
#define ADD 335
#define SUB 336
#define MUL 337
#define DIV 338
#define UDIV 339
#define SDIV 340
#define FDIV 341
#define REM 342
#define UREM 343
#define SREM 344
#define FREM 345
#define AND 346
#define OR 347
#define XOR 348
#define SETLE 349
#define SETGE 350
#define SETLT 351
#define SETGT 352
#define SETEQ 353
#define SETNE 354
#define ICMP 355
#define FCMP 356
#define EQ 357
#define NE 358
#define SLT 359
#define SGT 360
#define SLE 361
#define SGE 362
#define OEQ 363
#define ONE 364
#define OLT 365
#define OGT 366
#define OLE 367
#define OGE 368
#define ORD 369
#define UNO 370
#define UEQ 371
#define UNE 372
#define ULT 373
#define UGT 374
#define ULE 375
#define UGE 376
#define MALLOC 377
#define ALLOCA 378
#define FREE 379
#define LOAD 380
#define STORE 381
#define GETELEMENTPTR 382
#define PHI_TOK 383
#define SELECT 384
#define SHL 385
#define SHR 386
#define ASHR 387
#define LSHR 388
#define VAARG 389
#define EXTRACTELEMENT 390
#define INSERTELEMENT 391
#define SHUFFLEVECTOR 392
#define CAST 393
#define TRUNC 394
#define ZEXT 395
#define SEXT 396
#define FPTRUNC 397
#define FPEXT 398
#define FPTOUI 399
#define FPTOSI 400
#define UITOFP 401
#define SITOFP 402
#define PTRTOINT 403
#define INTTOPTR 404
#define BITCAST 405
#define DEFINE 290
#define GLOBAL 291
#define CONSTANT 292
#define SECTION 293
#define VOLATILE 294
#define TO 295
#define DOTDOTDOT 296
#define CONST 297
#define INTERNAL 298
#define LINKONCE 299
#define WEAK 300
#define DLLIMPORT 301
#define DLLEXPORT 302
#define EXTERN_WEAK 303
#define APPENDING 304
#define NOT 305
#define EXTERNAL 306
#define TARGET 307
#define TRIPLE 308
#define ENDIAN 309
#define POINTERSIZE 310
#define LITTLE 311
#define BIG 312
#define ALIGN 313
#define UNINITIALIZED 314
#define DEPLIBS 315
#define CALL 316
#define TAIL 317
#define ASM_TOK 318
#define MODULE 319
#define SIDEEFFECT 320
#define CC_TOK 321
#define CCC_TOK 322
#define CSRETCC_TOK 323
#define FASTCC_TOK 324
#define COLDCC_TOK 325
#define X86_STDCALLCC_TOK 326
#define X86_FASTCALLCC_TOK 327
#define DATALAYOUT 328
#define RET 329
#define BR 330
#define SWITCH 331
#define INVOKE 332
#define EXCEPT 333
#define UNWIND 334
#define UNREACHABLE 335
#define ADD 336
#define SUB 337
#define MUL 338
#define DIV 339
#define UDIV 340
#define SDIV 341
#define FDIV 342
#define REM 343
#define UREM 344
#define SREM 345
#define FREM 346
#define AND 347
#define OR 348
#define XOR 349
#define SETLE 350
#define SETGE 351
#define SETLT 352
#define SETGT 353
#define SETEQ 354
#define SETNE 355
#define ICMP 356
#define FCMP 357
#define EQ 358
#define NE 359
#define SLT 360
#define SGT 361
#define SLE 362
#define SGE 363
#define OEQ 364
#define ONE 365
#define OLT 366
#define OGT 367
#define OLE 368
#define OGE 369
#define ORD 370
#define UNO 371
#define UEQ 372
#define UNE 373
#define ULT 374
#define UGT 375
#define ULE 376
#define UGE 377
#define MALLOC 378
#define ALLOCA 379
#define FREE 380
#define LOAD 381
#define STORE 382
#define GETELEMENTPTR 383
#define PHI_TOK 384
#define SELECT 385
#define SHL 386
#define SHR 387
#define ASHR 388
#define LSHR 389
#define VAARG 390
#define EXTRACTELEMENT 391
#define INSERTELEMENT 392
#define SHUFFLEVECTOR 393
#define CAST 394
#define TRUNC 395
#define ZEXT 396
#define SEXT 397
#define FPTRUNC 398
#define FPEXT 399
#define FPTOUI 400
#define FPTOSI 401
#define UITOFP 402
#define SITOFP 403
#define PTRTOINT 404
#define INTTOPTR 405
#define BITCAST 406
#if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED)
#line 275 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
#line 275 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
typedef union YYSTYPE {
std::string* String;
TypeInfo Type;
@ -342,7 +344,7 @@ typedef union YYSTYPE {
ValueList* ValList;
} YYSTYPE;
/* Line 1447 of yacc.c. */
#line 346 "UpgradeParser.tab.h"
#line 348 "UpgradeParser.tab.h"
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
# define YYSTYPE_IS_DECLARED 1
# define YYSTYPE_IS_TRIVIAL 1

View File

@ -61,122 +61,123 @@
BEGINTOK = 287,
ENDTOK = 288,
DECLARE = 289,
GLOBAL = 290,
CONSTANT = 291,
SECTION = 292,
VOLATILE = 293,
TO = 294,
DOTDOTDOT = 295,
CONST = 296,
INTERNAL = 297,
LINKONCE = 298,
WEAK = 299,
DLLIMPORT = 300,
DLLEXPORT = 301,
EXTERN_WEAK = 302,
APPENDING = 303,
NOT = 304,
EXTERNAL = 305,
TARGET = 306,
TRIPLE = 307,
ENDIAN = 308,
POINTERSIZE = 309,
LITTLE = 310,
BIG = 311,
ALIGN = 312,
UNINITIALIZED = 313,
DEPLIBS = 314,
CALL = 315,
TAIL = 316,
ASM_TOK = 317,
MODULE = 318,
SIDEEFFECT = 319,
CC_TOK = 320,
CCC_TOK = 321,
CSRETCC_TOK = 322,
FASTCC_TOK = 323,
COLDCC_TOK = 324,
X86_STDCALLCC_TOK = 325,
X86_FASTCALLCC_TOK = 326,
DATALAYOUT = 327,
RET = 328,
BR = 329,
SWITCH = 330,
INVOKE = 331,
EXCEPT = 332,
UNWIND = 333,
UNREACHABLE = 334,
ADD = 335,
SUB = 336,
MUL = 337,
DIV = 338,
UDIV = 339,
SDIV = 340,
FDIV = 341,
REM = 342,
UREM = 343,
SREM = 344,
FREM = 345,
AND = 346,
OR = 347,
XOR = 348,
SETLE = 349,
SETGE = 350,
SETLT = 351,
SETGT = 352,
SETEQ = 353,
SETNE = 354,
ICMP = 355,
FCMP = 356,
EQ = 357,
NE = 358,
SLT = 359,
SGT = 360,
SLE = 361,
SGE = 362,
OEQ = 363,
ONE = 364,
OLT = 365,
OGT = 366,
OLE = 367,
OGE = 368,
ORD = 369,
UNO = 370,
UEQ = 371,
UNE = 372,
ULT = 373,
UGT = 374,
ULE = 375,
UGE = 376,
MALLOC = 377,
ALLOCA = 378,
FREE = 379,
LOAD = 380,
STORE = 381,
GETELEMENTPTR = 382,
PHI_TOK = 383,
SELECT = 384,
SHL = 385,
SHR = 386,
ASHR = 387,
LSHR = 388,
VAARG = 389,
EXTRACTELEMENT = 390,
INSERTELEMENT = 391,
SHUFFLEVECTOR = 392,
CAST = 393,
TRUNC = 394,
ZEXT = 395,
SEXT = 396,
FPTRUNC = 397,
FPEXT = 398,
FPTOUI = 399,
FPTOSI = 400,
UITOFP = 401,
SITOFP = 402,
PTRTOINT = 403,
INTTOPTR = 404,
BITCAST = 405
DEFINE = 290,
GLOBAL = 291,
CONSTANT = 292,
SECTION = 293,
VOLATILE = 294,
TO = 295,
DOTDOTDOT = 296,
CONST = 297,
INTERNAL = 298,
LINKONCE = 299,
WEAK = 300,
DLLIMPORT = 301,
DLLEXPORT = 302,
EXTERN_WEAK = 303,
APPENDING = 304,
NOT = 305,
EXTERNAL = 306,
TARGET = 307,
TRIPLE = 308,
ENDIAN = 309,
POINTERSIZE = 310,
LITTLE = 311,
BIG = 312,
ALIGN = 313,
UNINITIALIZED = 314,
DEPLIBS = 315,
CALL = 316,
TAIL = 317,
ASM_TOK = 318,
MODULE = 319,
SIDEEFFECT = 320,
CC_TOK = 321,
CCC_TOK = 322,
CSRETCC_TOK = 323,
FASTCC_TOK = 324,
COLDCC_TOK = 325,
X86_STDCALLCC_TOK = 326,
X86_FASTCALLCC_TOK = 327,
DATALAYOUT = 328,
RET = 329,
BR = 330,
SWITCH = 331,
INVOKE = 332,
EXCEPT = 333,
UNWIND = 334,
UNREACHABLE = 335,
ADD = 336,
SUB = 337,
MUL = 338,
DIV = 339,
UDIV = 340,
SDIV = 341,
FDIV = 342,
REM = 343,
UREM = 344,
SREM = 345,
FREM = 346,
AND = 347,
OR = 348,
XOR = 349,
SETLE = 350,
SETGE = 351,
SETLT = 352,
SETGT = 353,
SETEQ = 354,
SETNE = 355,
ICMP = 356,
FCMP = 357,
EQ = 358,
NE = 359,
SLT = 360,
SGT = 361,
SLE = 362,
SGE = 363,
OEQ = 364,
ONE = 365,
OLT = 366,
OGT = 367,
OLE = 368,
OGE = 369,
ORD = 370,
UNO = 371,
UEQ = 372,
UNE = 373,
ULT = 374,
UGT = 375,
ULE = 376,
UGE = 377,
MALLOC = 378,
ALLOCA = 379,
FREE = 380,
LOAD = 381,
STORE = 382,
GETELEMENTPTR = 383,
PHI_TOK = 384,
SELECT = 385,
SHL = 386,
SHR = 387,
ASHR = 388,
LSHR = 389,
VAARG = 390,
EXTRACTELEMENT = 391,
INSERTELEMENT = 392,
SHUFFLEVECTOR = 393,
CAST = 394,
TRUNC = 395,
ZEXT = 396,
SEXT = 397,
FPTRUNC = 398,
FPEXT = 399,
FPTOUI = 400,
FPTOSI = 401,
UITOFP = 402,
SITOFP = 403,
PTRTOINT = 404,
INTTOPTR = 405,
BITCAST = 406
};
#endif
/* Tokens. */
@ -212,128 +213,129 @@
#define BEGINTOK 287
#define ENDTOK 288
#define DECLARE 289
#define GLOBAL 290
#define CONSTANT 291
#define SECTION 292
#define VOLATILE 293
#define TO 294
#define DOTDOTDOT 295
#define CONST 296
#define INTERNAL 297
#define LINKONCE 298
#define WEAK 299
#define DLLIMPORT 300
#define DLLEXPORT 301
#define EXTERN_WEAK 302
#define APPENDING 303
#define NOT 304
#define EXTERNAL 305
#define TARGET 306
#define TRIPLE 307
#define ENDIAN 308
#define POINTERSIZE 309
#define LITTLE 310
#define BIG 311
#define ALIGN 312
#define UNINITIALIZED 313
#define DEPLIBS 314
#define CALL 315
#define TAIL 316
#define ASM_TOK 317
#define MODULE 318
#define SIDEEFFECT 319
#define CC_TOK 320
#define CCC_TOK 321
#define CSRETCC_TOK 322
#define FASTCC_TOK 323
#define COLDCC_TOK 324
#define X86_STDCALLCC_TOK 325
#define X86_FASTCALLCC_TOK 326
#define DATALAYOUT 327
#define RET 328
#define BR 329
#define SWITCH 330
#define INVOKE 331
#define EXCEPT 332
#define UNWIND 333
#define UNREACHABLE 334
#define ADD 335
#define SUB 336
#define MUL 337
#define DIV 338
#define UDIV 339
#define SDIV 340
#define FDIV 341
#define REM 342
#define UREM 343
#define SREM 344
#define FREM 345
#define AND 346
#define OR 347
#define XOR 348
#define SETLE 349
#define SETGE 350
#define SETLT 351
#define SETGT 352
#define SETEQ 353
#define SETNE 354
#define ICMP 355
#define FCMP 356
#define EQ 357
#define NE 358
#define SLT 359
#define SGT 360
#define SLE 361
#define SGE 362
#define OEQ 363
#define ONE 364
#define OLT 365
#define OGT 366
#define OLE 367
#define OGE 368
#define ORD 369
#define UNO 370
#define UEQ 371
#define UNE 372
#define ULT 373
#define UGT 374
#define ULE 375
#define UGE 376
#define MALLOC 377
#define ALLOCA 378
#define FREE 379
#define LOAD 380
#define STORE 381
#define GETELEMENTPTR 382
#define PHI_TOK 383
#define SELECT 384
#define SHL 385
#define SHR 386
#define ASHR 387
#define LSHR 388
#define VAARG 389
#define EXTRACTELEMENT 390
#define INSERTELEMENT 391
#define SHUFFLEVECTOR 392
#define CAST 393
#define TRUNC 394
#define ZEXT 395
#define SEXT 396
#define FPTRUNC 397
#define FPEXT 398
#define FPTOUI 399
#define FPTOSI 400
#define UITOFP 401
#define SITOFP 402
#define PTRTOINT 403
#define INTTOPTR 404
#define BITCAST 405
#define DEFINE 290
#define GLOBAL 291
#define CONSTANT 292
#define SECTION 293
#define VOLATILE 294
#define TO 295
#define DOTDOTDOT 296
#define CONST 297
#define INTERNAL 298
#define LINKONCE 299
#define WEAK 300
#define DLLIMPORT 301
#define DLLEXPORT 302
#define EXTERN_WEAK 303
#define APPENDING 304
#define NOT 305
#define EXTERNAL 306
#define TARGET 307
#define TRIPLE 308
#define ENDIAN 309
#define POINTERSIZE 310
#define LITTLE 311
#define BIG 312
#define ALIGN 313
#define UNINITIALIZED 314
#define DEPLIBS 315
#define CALL 316
#define TAIL 317
#define ASM_TOK 318
#define MODULE 319
#define SIDEEFFECT 320
#define CC_TOK 321
#define CCC_TOK 322
#define CSRETCC_TOK 323
#define FASTCC_TOK 324
#define COLDCC_TOK 325
#define X86_STDCALLCC_TOK 326
#define X86_FASTCALLCC_TOK 327
#define DATALAYOUT 328
#define RET 329
#define BR 330
#define SWITCH 331
#define INVOKE 332
#define EXCEPT 333
#define UNWIND 334
#define UNREACHABLE 335
#define ADD 336
#define SUB 337
#define MUL 338
#define DIV 339
#define UDIV 340
#define SDIV 341
#define FDIV 342
#define REM 343
#define UREM 344
#define SREM 345
#define FREM 346
#define AND 347
#define OR 348
#define XOR 349
#define SETLE 350
#define SETGE 351
#define SETLT 352
#define SETGT 353
#define SETEQ 354
#define SETNE 355
#define ICMP 356
#define FCMP 357
#define EQ 358
#define NE 359
#define SLT 360
#define SGT 361
#define SLE 362
#define SGE 363
#define OEQ 364
#define ONE 365
#define OLT 366
#define OGT 367
#define OLE 368
#define OGE 369
#define ORD 370
#define UNO 371
#define UEQ 372
#define UNE 373
#define ULT 374
#define UGT 375
#define ULE 376
#define UGE 377
#define MALLOC 378
#define ALLOCA 379
#define FREE 380
#define LOAD 381
#define STORE 382
#define GETELEMENTPTR 383
#define PHI_TOK 384
#define SELECT 385
#define SHL 386
#define SHR 387
#define ASHR 388
#define LSHR 389
#define VAARG 390
#define EXTRACTELEMENT 391
#define INSERTELEMENT 392
#define SHUFFLEVECTOR 393
#define CAST 394
#define TRUNC 395
#define ZEXT 396
#define SEXT 397
#define FPTRUNC 398
#define FPEXT 399
#define FPTOUI 400
#define FPTOSI 401
#define UITOFP 402
#define SITOFP 403
#define PTRTOINT 404
#define INTTOPTR 405
#define BITCAST 406
#if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED)
#line 275 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
#line 275 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
typedef union YYSTYPE {
std::string* String;
TypeInfo Type;
@ -342,7 +344,7 @@ typedef union YYSTYPE {
ValueList* ValList;
} YYSTYPE;
/* Line 1447 of yacc.c. */
#line 346 "UpgradeParser.tab.h"
#line 348 "UpgradeParser.tab.h"
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
# define YYSTYPE_IS_DECLARED 1
# define YYSTYPE_IS_TRIVIAL 1

View File

@ -286,7 +286,7 @@ getCompareOp(const std::string& setcc, const TypeInfo& TI) {
%token <String> NULL_TOK UNDEF ZEROINITIALIZER TRUETOK FALSETOK
%token <String> TYPE VAR_ID LABELSTR STRINGCONSTANT
%token <String> IMPLEMENTATION BEGINTOK ENDTOK
%token <String> DECLARE GLOBAL CONSTANT SECTION VOLATILE
%token <String> DECLARE DEFINE GLOBAL CONSTANT SECTION VOLATILE
%token <String> TO DOTDOTDOT CONST INTERNAL LINKONCE WEAK
%token <String> DLLIMPORT DLLEXPORT EXTERN_WEAK APPENDING
%token <String> NOT EXTERNAL TARGET TRIPLE ENDIAN POINTERSIZE LITTLE BIG
@ -489,6 +489,16 @@ UpRTypes
$$.newTy = new std::string("{}");
$$.oldTy = StructTy;
}
| '<' '{' TypeListI '}' '>' { // Packed Structure type?
$3->insert(0, "<{ ");
*$3 += " }>";
$$.newTy = $3;
$$.oldTy = StructTy;
}
| '<' '{' '}' '>' { // Empty packed structure type?
$$.newTy = new std::string("<{}>");
$$.oldTy = StructTy;
}
| UpRTypes '*' { // Pointer type?
*$1.newTy += '*';
$$.elemTy = $1.oldTy;
@ -741,12 +751,12 @@ DefinitionList : DefinitionList Function {
$$ = 0;
}
| DefinitionList FunctionProto {
*O << *$2 << "\n";
*O << *$2 << '\n';
delete $2;
$$ = 0;
}
| DefinitionList MODULE ASM_TOK AsmBlock {
*O << "module asm " << " " << *$4 << "\n";
*O << "module asm " << ' ' << *$4 << '\n';
$$ = 0;
}
| DefinitionList IMPLEMENTATION {
@ -766,17 +776,17 @@ ConstPool : ConstPool OptAssign TYPE TypesV {
NamedTypes[*$2].elemTy = $4.elemTy;
*O << *$2 << " = ";
}
*O << "type " << *$4.newTy << "\n";
*O << "type " << *$4.newTy << '\n';
delete $2; delete $3; $4.destroy();
$$ = 0;
}
| ConstPool FunctionProto { // Function prototypes can be in const pool
*O << *$2 << "\n";
*O << *$2 << '\n';
delete $2;
$$ = 0;
}
| ConstPool MODULE ASM_TOK AsmBlock { // Asm blocks can be in the const pool
*O << *$2 << " " << *$3 << " " << *$4 << "\n";
*O << *$2 << ' ' << *$3 << ' ' << *$4 << '\n';
delete $2; delete $3; delete $4;
$$ = 0;
}
@ -785,7 +795,7 @@ ConstPool : ConstPool OptAssign TYPE TypesV {
*O << *$2 << " = ";
Globals[*$2] = $5.type.clone();
}
*O << *$3 << " " << *$4 << " " << *$5.cnst << " " << *$6 << "\n";
*O << *$3 << ' ' << *$4 << ' ' << *$5.cnst << ' ' << *$6 << '\n';
delete $2; delete $3; delete $4; $5.destroy(); delete $6;
$$ = 0;
}
@ -794,7 +804,7 @@ ConstPool : ConstPool OptAssign TYPE TypesV {
*O << *$2 << " = ";
Globals[*$2] = $5.clone();
}
*O << *$3 << " " << *$4 << " " << *$5.newTy << " " << *$6 << "\n";
*O << *$3 << ' ' << *$4 << ' ' << *$5.newTy << ' ' << *$6 << '\n';
delete $2; delete $3; delete $4; $5.destroy(); delete $6;
$$ = 0;
}
@ -803,7 +813,7 @@ ConstPool : ConstPool OptAssign TYPE TypesV {
*O << *$2 << " = ";
Globals[*$2] = $5.clone();
}
*O << *$3 << " " << *$4 << " " << *$5.newTy << " " << *$6 << "\n";
*O << *$3 << ' ' << *$4 << ' ' << *$5.newTy << ' ' << *$6 << '\n';
delete $2; delete $3; delete $4; $5.destroy(); delete $6;
$$ = 0;
}
@ -812,17 +822,17 @@ ConstPool : ConstPool OptAssign TYPE TypesV {
*O << *$2 << " = ";
Globals[*$2] = $5.clone();
}
*O << *$3 << " " << *$4 << " " << *$5.newTy << " " << *$6 << "\n";
*O << *$3 << ' ' << *$4 << ' ' << *$5.newTy << ' ' << *$6 << '\n';
delete $2; delete $3; delete $4; $5.destroy(); delete $6;
$$ = 0;
}
| ConstPool TARGET TargetDefinition {
*O << *$2 << " " << *$3 << "\n";
*O << *$2 << ' ' << *$3 << '\n';
delete $2; delete $3;
$$ = 0;
}
| ConstPool DEPLIBS '=' LibrariesDefinition {
*O << *$2 << " = " << *$4 << "\n";
*O << *$2 << " = " << *$4 << '\n';
delete $2; delete $4;
$$ = 0;
}
@ -935,14 +945,26 @@ FunctionHeaderH : OptCallingConv TypesV Name '(' ArgList ')'
BEGIN : BEGINTOK { $$ = new std::string("{"); delete $1; }
| '{' { $$ = new std::string ("{"); }
FunctionHeader : OptLinkage FunctionHeaderH BEGIN {
if (!$1->empty()) {
*O << *$1 << " ";
FunctionHeader
: OptLinkage FunctionHeaderH BEGIN {
*O << "define ";
if (!$1->empty()) {
*O << *$1 << ' ';
}
*O << *$2 << ' ' << *$3 << '\n';
delete $1; delete $2; delete $3;
$$ = 0;
}
*O << *$2 << " " << *$3 << "\n";
delete $1; delete $2; delete $3;
$$ = 0;
};
| DEFINE OptLinkage FunctionHeaderH BEGIN {
*O << *$1 << ' ';
if (!$2->empty()) {
*O << *$2 << ' ';
}
*O << *$3 << ' ' << *$4 << '\n';
delete $1; delete $2; delete $3; delete $4;
$$ = 0;
}
;
END : ENDTOK { $$ = new std::string("}"); delete $1; }
| '}' { $$ = new std::string("}"); };
@ -950,7 +972,7 @@ END : ENDTOK { $$ = new std::string("}"); delete $1; }
Function : FunctionHeader BasicBlockList END {
if ($2)
*O << *$2;
*O << '\n' << *$3 << "\n";
*O << '\n' << *$3 << '\n';
$$ = 0;
};
@ -1038,7 +1060,7 @@ BasicBlock : InstructionList BBTerminatorInst {
};
InstructionList : InstructionList Inst {
*O << " " << *$2 << "\n";
*O << " " << *$2 << '\n';
delete $2;
$$ = 0;
}
@ -1046,7 +1068,7 @@ InstructionList : InstructionList Inst {
$$ = 0;
}
| LABELSTR {
*O << *$1 << "\n";
*O << *$1 << '\n';
delete $1;
$$ = 0;
};
@ -1054,38 +1076,38 @@ InstructionList : InstructionList Inst {
Unwind : UNWIND | EXCEPT { $$ = $1; *$$ = "unwind"; }
BBTerminatorInst : RET ResolvedVal { // Return with a result...
*O << " " << *$1 << " " << *$2.val << "\n";
*O << " " << *$1 << ' ' << *$2.val << '\n';
delete $1; $2.destroy();
$$ = 0;
}
| RET VOID { // Return with no result...
*O << " " << *$1 << " " << *$2.newTy << "\n";
*O << " " << *$1 << ' ' << *$2.newTy << '\n';
delete $1; $2.destroy();
$$ = 0;
}
| BR LABEL ValueRef { // Unconditional Branch...
*O << " " << *$1 << " " << *$2.newTy << " " << *$3.val << "\n";
*O << " " << *$1 << ' ' << *$2.newTy << ' ' << *$3.val << '\n';
delete $1; $2.destroy(); $3.destroy();
$$ = 0;
} // Conditional Branch...
| BR BOOL ValueRef ',' LABEL ValueRef ',' LABEL ValueRef {
*O << " " << *$1 << " " << *$2.newTy << " " << *$3.val << ", "
<< *$5.newTy << " " << *$6.val << ", " << *$8.newTy << " "
<< *$9.val << "\n";
*O << " " << *$1 << ' ' << *$2.newTy << ' ' << *$3.val << ", "
<< *$5.newTy << ' ' << *$6.val << ", " << *$8.newTy << ' '
<< *$9.val << '\n';
delete $1; $2.destroy(); $3.destroy(); $5.destroy(); $6.destroy();
$8.destroy(); $9.destroy();
$$ = 0;
}
| SWITCH IntType ValueRef ',' LABEL ValueRef '[' JumpTable ']' {
*O << " " << *$1 << " " << *$2.newTy << " " << *$3.val << ", "
<< *$5.newTy << " " << *$6.val << " [" << *$8 << " ]\n";
*O << " " << *$1 << ' ' << *$2.newTy << ' ' << *$3.val << ", "
<< *$5.newTy << ' ' << *$6.val << " [" << *$8 << " ]\n";
delete $1; $2.destroy(); $3.destroy(); $5.destroy(); $6.destroy();
delete $8;
$$ = 0;
}
| SWITCH IntType ValueRef ',' LABEL ValueRef '[' ']' {
*O << " " << *$1 << " " << *$2.newTy << " " << *$3.val << ", "
<< *$5.newTy << " " << *$6.val << "[]\n";
*O << " " << *$1 << ' ' << *$2.newTy << ' ' << *$3.val << ", "
<< *$5.newTy << ' ' << *$6.val << "[]\n";
delete $1; $2.destroy(); $3.destroy(); $5.destroy(); $6.destroy();
$$ = 0;
}
@ -1094,7 +1116,7 @@ BBTerminatorInst : RET ResolvedVal { // Return with a result...
*O << " ";
if (!$1->empty())
*O << *$1 << " = ";
*O << *$2 << " " << *$3 << " " << *$4.newTy << " " << *$5.val << " (";
*O << *$2 << ' ' << *$3 << ' ' << *$4.newTy << ' ' << *$5.val << " (";
for (unsigned i = 0; i < $7->size(); ++i) {
ValueInfo& VI = (*$7)[i];
*O << *VI.val;
@ -1102,20 +1124,20 @@ BBTerminatorInst : RET ResolvedVal { // Return with a result...
*O << ", ";
VI.destroy();
}
*O << ") " << *$9 << " " << *$10.newTy << " " << *$11.val << " "
<< *$12 << " " << *$13.newTy << " " << *$14.val << "\n";
*O << ") " << *$9 << ' ' << *$10.newTy << ' ' << *$11.val << ' '
<< *$12 << ' ' << *$13.newTy << ' ' << *$14.val << '\n';
delete $1; delete $2; delete $3; $4.destroy(); $5.destroy(); delete $7;
delete $9; $10.destroy(); $11.destroy(); delete $12; $13.destroy();
$14.destroy();
$$ = 0;
}
| Unwind {
*O << " " << *$1 << "\n";
*O << " " << *$1 << '\n';
delete $1;
$$ = 0;
}
| UNREACHABLE {
*O << " " << *$1 << "\n";
*O << " " << *$1 << '\n';
delete $1;
$$ = 0;
};
@ -1198,13 +1220,13 @@ InstVal : ArithmeticOps Types ValueRef ',' ValueRef {
$2.destroy(); $3.destroy(); $5.destroy();
$$ = $1;
}
| ICMP IPredicates Types ValueRef ',' ValueRef ')' {
*$1 += " " + *$2 + " " + *$4.val + "," + *$6.val + ")";
| ICMP IPredicates Types ValueRef ',' ValueRef {
*$1 += " " + *$2 + " " + *$3.newTy + " " + *$4.val + "," + *$6.val;
delete $2; $4.destroy(); $6.destroy();
$$ = $1;
}
| FCMP FPredicates Types ValueRef ',' ValueRef ')' {
*$1 += " " + *$2 + " " + *$4.val + "," + *$6.val + ")";
| FCMP FPredicates Types ValueRef ',' ValueRef {
*$1 += " " + *$2 + " " + *$3.newTy + " " + *$4.val + "," + *$6.val;
delete $2; $4.destroy(); $6.destroy();
$$ = $1;
}