Regenerate


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35795 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/AsmParser/llvmAsmParser.cpp.cvs b/lib/AsmParser/llvmAsmParser.cpp.cvs
index 5233054..9deb8cf 100644
--- a/lib/AsmParser/llvmAsmParser.cpp.cvs
+++ b/lib/AsmParser/llvmAsmParser.cpp.cvs
@@ -82,120 +82,119 @@
      LABELSTR = 273,
      STRINGCONSTANT = 274,
      ATSTRINGCONSTANT = 275,
-     IMPLEMENTATION = 276,
-     ZEROINITIALIZER = 277,
-     TRUETOK = 278,
-     FALSETOK = 279,
-     BEGINTOK = 280,
-     ENDTOK = 281,
-     DECLARE = 282,
-     DEFINE = 283,
-     GLOBAL = 284,
-     CONSTANT = 285,
-     SECTION = 286,
-     VOLATILE = 287,
-     TO = 288,
-     DOTDOTDOT = 289,
-     NULL_TOK = 290,
-     UNDEF = 291,
-     INTERNAL = 292,
-     LINKONCE = 293,
-     WEAK = 294,
-     APPENDING = 295,
-     DLLIMPORT = 296,
-     DLLEXPORT = 297,
-     EXTERN_WEAK = 298,
-     OPAQUE = 299,
-     EXTERNAL = 300,
-     TARGET = 301,
-     TRIPLE = 302,
-     ALIGN = 303,
-     DEPLIBS = 304,
-     CALL = 305,
-     TAIL = 306,
-     ASM_TOK = 307,
-     MODULE = 308,
-     SIDEEFFECT = 309,
-     CC_TOK = 310,
-     CCC_TOK = 311,
-     FASTCC_TOK = 312,
-     COLDCC_TOK = 313,
-     X86_STDCALLCC_TOK = 314,
-     X86_FASTCALLCC_TOK = 315,
-     DATALAYOUT = 316,
-     RET = 317,
-     BR = 318,
-     SWITCH = 319,
-     INVOKE = 320,
-     UNWIND = 321,
-     UNREACHABLE = 322,
-     ADD = 323,
-     SUB = 324,
-     MUL = 325,
-     UDIV = 326,
-     SDIV = 327,
-     FDIV = 328,
-     UREM = 329,
-     SREM = 330,
-     FREM = 331,
-     AND = 332,
-     OR = 333,
-     XOR = 334,
-     SHL = 335,
-     LSHR = 336,
-     ASHR = 337,
-     ICMP = 338,
-     FCMP = 339,
-     EQ = 340,
-     NE = 341,
-     SLT = 342,
-     SGT = 343,
-     SLE = 344,
-     SGE = 345,
-     ULT = 346,
-     UGT = 347,
-     ULE = 348,
-     UGE = 349,
-     OEQ = 350,
-     ONE = 351,
-     OLT = 352,
-     OGT = 353,
-     OLE = 354,
-     OGE = 355,
-     ORD = 356,
-     UNO = 357,
-     UEQ = 358,
-     UNE = 359,
-     MALLOC = 360,
-     ALLOCA = 361,
-     FREE = 362,
-     LOAD = 363,
-     STORE = 364,
-     GETELEMENTPTR = 365,
-     TRUNC = 366,
-     ZEXT = 367,
-     SEXT = 368,
-     FPTRUNC = 369,
-     FPEXT = 370,
-     BITCAST = 371,
-     UITOFP = 372,
-     SITOFP = 373,
-     FPTOUI = 374,
-     FPTOSI = 375,
-     INTTOPTR = 376,
-     PTRTOINT = 377,
-     PHI_TOK = 378,
-     SELECT = 379,
-     VAARG = 380,
-     EXTRACTELEMENT = 381,
-     INSERTELEMENT = 382,
-     SHUFFLEVECTOR = 383,
-     NORETURN = 384,
-     INREG = 385,
-     SRET = 386,
-     NOUNWIND = 387,
-     DEFAULT = 388,
-     HIDDEN = 389
+     ZEROINITIALIZER = 276,
+     TRUETOK = 277,
+     FALSETOK = 278,
+     BEGINTOK = 279,
+     ENDTOK = 280,
+     DECLARE = 281,
+     DEFINE = 282,
+     GLOBAL = 283,
+     CONSTANT = 284,
+     SECTION = 285,
+     VOLATILE = 286,
+     TO = 287,
+     DOTDOTDOT = 288,
+     NULL_TOK = 289,
+     UNDEF = 290,
+     INTERNAL = 291,
+     LINKONCE = 292,
+     WEAK = 293,
+     APPENDING = 294,
+     DLLIMPORT = 295,
+     DLLEXPORT = 296,
+     EXTERN_WEAK = 297,
+     OPAQUE = 298,
+     EXTERNAL = 299,
+     TARGET = 300,
+     TRIPLE = 301,
+     ALIGN = 302,
+     DEPLIBS = 303,
+     CALL = 304,
+     TAIL = 305,
+     ASM_TOK = 306,
+     MODULE = 307,
+     SIDEEFFECT = 308,
+     CC_TOK = 309,
+     CCC_TOK = 310,
+     FASTCC_TOK = 311,
+     COLDCC_TOK = 312,
+     X86_STDCALLCC_TOK = 313,
+     X86_FASTCALLCC_TOK = 314,
+     DATALAYOUT = 315,
+     RET = 316,
+     BR = 317,
+     SWITCH = 318,
+     INVOKE = 319,
+     UNWIND = 320,
+     UNREACHABLE = 321,
+     ADD = 322,
+     SUB = 323,
+     MUL = 324,
+     UDIV = 325,
+     SDIV = 326,
+     FDIV = 327,
+     UREM = 328,
+     SREM = 329,
+     FREM = 330,
+     AND = 331,
+     OR = 332,
+     XOR = 333,
+     SHL = 334,
+     LSHR = 335,
+     ASHR = 336,
+     ICMP = 337,
+     FCMP = 338,
+     EQ = 339,
+     NE = 340,
+     SLT = 341,
+     SGT = 342,
+     SLE = 343,
+     SGE = 344,
+     ULT = 345,
+     UGT = 346,
+     ULE = 347,
+     UGE = 348,
+     OEQ = 349,
+     ONE = 350,
+     OLT = 351,
+     OGT = 352,
+     OLE = 353,
+     OGE = 354,
+     ORD = 355,
+     UNO = 356,
+     UEQ = 357,
+     UNE = 358,
+     MALLOC = 359,
+     ALLOCA = 360,
+     FREE = 361,
+     LOAD = 362,
+     STORE = 363,
+     GETELEMENTPTR = 364,
+     TRUNC = 365,
+     ZEXT = 366,
+     SEXT = 367,
+     FPTRUNC = 368,
+     FPEXT = 369,
+     BITCAST = 370,
+     UITOFP = 371,
+     SITOFP = 372,
+     FPTOUI = 373,
+     FPTOSI = 374,
+     INTTOPTR = 375,
+     PTRTOINT = 376,
+     PHI_TOK = 377,
+     SELECT = 378,
+     VAARG = 379,
+     EXTRACTELEMENT = 380,
+     INSERTELEMENT = 381,
+     SHUFFLEVECTOR = 382,
+     NORETURN = 383,
+     INREG = 384,
+     SRET = 385,
+     NOUNWIND = 386,
+     DEFAULT = 387,
+     HIDDEN = 388
    };
 #endif
 /* Tokens.  */
@@ -217,126 +216,125 @@
 #define LABELSTR 273
 #define STRINGCONSTANT 274
 #define ATSTRINGCONSTANT 275
-#define IMPLEMENTATION 276
-#define ZEROINITIALIZER 277
-#define TRUETOK 278
-#define FALSETOK 279
-#define BEGINTOK 280
-#define ENDTOK 281
-#define DECLARE 282
-#define DEFINE 283
-#define GLOBAL 284
-#define CONSTANT 285
-#define SECTION 286
-#define VOLATILE 287
-#define TO 288
-#define DOTDOTDOT 289
-#define NULL_TOK 290
-#define UNDEF 291
-#define INTERNAL 292
-#define LINKONCE 293
-#define WEAK 294
-#define APPENDING 295
-#define DLLIMPORT 296
-#define DLLEXPORT 297
-#define EXTERN_WEAK 298
-#define OPAQUE 299
-#define EXTERNAL 300
-#define TARGET 301
-#define TRIPLE 302
-#define ALIGN 303
-#define DEPLIBS 304
-#define CALL 305
-#define TAIL 306
-#define ASM_TOK 307
-#define MODULE 308
-#define SIDEEFFECT 309
-#define CC_TOK 310
-#define CCC_TOK 311
-#define FASTCC_TOK 312
-#define COLDCC_TOK 313
-#define X86_STDCALLCC_TOK 314
-#define X86_FASTCALLCC_TOK 315
-#define DATALAYOUT 316
-#define RET 317
-#define BR 318
-#define SWITCH 319
-#define INVOKE 320
-#define UNWIND 321
-#define UNREACHABLE 322
-#define ADD 323
-#define SUB 324
-#define MUL 325
-#define UDIV 326
-#define SDIV 327
-#define FDIV 328
-#define UREM 329
-#define SREM 330
-#define FREM 331
-#define AND 332
-#define OR 333
-#define XOR 334
-#define SHL 335
-#define LSHR 336
-#define ASHR 337
-#define ICMP 338
-#define FCMP 339
-#define EQ 340
-#define NE 341
-#define SLT 342
-#define SGT 343
-#define SLE 344
-#define SGE 345
-#define ULT 346
-#define UGT 347
-#define ULE 348
-#define UGE 349
-#define OEQ 350
-#define ONE 351
-#define OLT 352
-#define OGT 353
-#define OLE 354
-#define OGE 355
-#define ORD 356
-#define UNO 357
-#define UEQ 358
-#define UNE 359
-#define MALLOC 360
-#define ALLOCA 361
-#define FREE 362
-#define LOAD 363
-#define STORE 364
-#define GETELEMENTPTR 365
-#define TRUNC 366
-#define ZEXT 367
-#define SEXT 368
-#define FPTRUNC 369
-#define FPEXT 370
-#define BITCAST 371
-#define UITOFP 372
-#define SITOFP 373
-#define FPTOUI 374
-#define FPTOSI 375
-#define INTTOPTR 376
-#define PTRTOINT 377
-#define PHI_TOK 378
-#define SELECT 379
-#define VAARG 380
-#define EXTRACTELEMENT 381
-#define INSERTELEMENT 382
-#define SHUFFLEVECTOR 383
-#define NORETURN 384
-#define INREG 385
-#define SRET 386
-#define NOUNWIND 387
-#define DEFAULT 388
-#define HIDDEN 389
+#define ZEROINITIALIZER 276
+#define TRUETOK 277
+#define FALSETOK 278
+#define BEGINTOK 279
+#define ENDTOK 280
+#define DECLARE 281
+#define DEFINE 282
+#define GLOBAL 283
+#define CONSTANT 284
+#define SECTION 285
+#define VOLATILE 286
+#define TO 287
+#define DOTDOTDOT 288
+#define NULL_TOK 289
+#define UNDEF 290
+#define INTERNAL 291
+#define LINKONCE 292
+#define WEAK 293
+#define APPENDING 294
+#define DLLIMPORT 295
+#define DLLEXPORT 296
+#define EXTERN_WEAK 297
+#define OPAQUE 298
+#define EXTERNAL 299
+#define TARGET 300
+#define TRIPLE 301
+#define ALIGN 302
+#define DEPLIBS 303
+#define CALL 304
+#define TAIL 305
+#define ASM_TOK 306
+#define MODULE 307
+#define SIDEEFFECT 308
+#define CC_TOK 309
+#define CCC_TOK 310
+#define FASTCC_TOK 311
+#define COLDCC_TOK 312
+#define X86_STDCALLCC_TOK 313
+#define X86_FASTCALLCC_TOK 314
+#define DATALAYOUT 315
+#define RET 316
+#define BR 317
+#define SWITCH 318
+#define INVOKE 319
+#define UNWIND 320
+#define UNREACHABLE 321
+#define ADD 322
+#define SUB 323
+#define MUL 324
+#define UDIV 325
+#define SDIV 326
+#define FDIV 327
+#define UREM 328
+#define SREM 329
+#define FREM 330
+#define AND 331
+#define OR 332
+#define XOR 333
+#define SHL 334
+#define LSHR 335
+#define ASHR 336
+#define ICMP 337
+#define FCMP 338
+#define EQ 339
+#define NE 340
+#define SLT 341
+#define SGT 342
+#define SLE 343
+#define SGE 344
+#define ULT 345
+#define UGT 346
+#define ULE 347
+#define UGE 348
+#define OEQ 349
+#define ONE 350
+#define OLT 351
+#define OGT 352
+#define OLE 353
+#define OGE 354
+#define ORD 355
+#define UNO 356
+#define UEQ 357
+#define UNE 358
+#define MALLOC 359
+#define ALLOCA 360
+#define FREE 361
+#define LOAD 362
+#define STORE 363
+#define GETELEMENTPTR 364
+#define TRUNC 365
+#define ZEXT 366
+#define SEXT 367
+#define FPTRUNC 368
+#define FPEXT 369
+#define BITCAST 370
+#define UITOFP 371
+#define SITOFP 372
+#define FPTOUI 373
+#define FPTOSI 374
+#define INTTOPTR 375
+#define PTRTOINT 376
+#define PHI_TOK 377
+#define SELECT 378
+#define VAARG 379
+#define EXTRACTELEMENT 380
+#define INSERTELEMENT 381
+#define SHUFFLEVECTOR 382
+#define NORETURN 383
+#define INREG 384
+#define SRET 385
+#define NOUNWIND 386
+#define DEFAULT 387
+#define HIDDEN 388
 
 
 
 
 /* Copy the first part of user declarations.  */
-#line 14 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 14 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
 
 #include "ParserInternals.h"
 #include "llvm/CallingConv.h"
@@ -1281,7 +1279,7 @@
 #endif
 
 #if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED)
-#line 939 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 939 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
 typedef union YYSTYPE {
   llvm::Module                           *ModuleVal;
   llvm::Function                         *FunctionVal;
@@ -1329,7 +1327,7 @@
   llvm::FCmpInst::Predicate         FPredicate;
 } YYSTYPE;
 /* Line 196 of yacc.c.  */
-#line 1333 "llvmAsmParser.tab.c"
+#line 1331 "llvmAsmParser.tab.c"
 # define yystype YYSTYPE /* obsolescent; will be withdrawn */
 # define YYSTYPE_IS_DECLARED 1
 # define YYSTYPE_IS_TRIVIAL 1
@@ -1341,7 +1339,7 @@
 
 
 /* Line 219 of yacc.c.  */
-#line 1345 "llvmAsmParser.tab.c"
+#line 1343 "llvmAsmParser.tab.c"
 
 #if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__)
 # define YYSIZE_T __SIZE_TYPE__
@@ -1490,22 +1488,22 @@
 #endif
 
 /* YYFINAL -- State number of the termination state. */
-#define YYFINAL  40
+#define YYFINAL  39
 /* YYLAST -- Last index in YYTABLE.  */
-#define YYLAST   1434
+#define YYLAST   1441
 
 /* YYNTOKENS -- Number of terminals. */
-#define YYNTOKENS  149
+#define YYNTOKENS  148
 /* YYNNTS -- Number of nonterminals. */
 #define YYNNTS  78
 /* YYNRULES -- Number of rules. */
-#define YYNRULES  287
+#define YYNRULES  286
 /* YYNRULES -- Number of states. */
-#define YYNSTATES  560
+#define YYNSTATES  559
 
 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
 #define YYUNDEFTOK  2
-#define YYMAXUTOK   389
+#define YYMAXUTOK   388
 
 #define YYTRANSLATE(YYX)						\
   ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
@@ -1517,15 +1515,15 @@
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     139,   140,   137,     2,   136,     2,     2,     2,     2,     2,
+     138,   139,   136,     2,   135,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     144,   135,   145,     2,     2,     2,     2,     2,     2,     2,
+     143,   134,   144,     2,     2,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,   141,   138,   143,     2,     2,     2,     2,     2,   148,
+       2,   140,   137,   142,     2,     2,     2,     2,     2,   147,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     142,     2,     2,   146,     2,   147,     2,     2,     2,     2,
+     141,     2,     2,   145,     2,   146,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
@@ -1551,7 +1549,7 @@
       95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
      105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
      115,   116,   117,   118,   119,   120,   121,   122,   123,   124,
-     125,   126,   127,   128,   129,   130,   131,   132,   133,   134
+     125,   126,   127,   128,   129,   130,   131,   132,   133
 };
 
 #if YYDEBUG
@@ -1577,113 +1575,113 @@
      352,   358,   361,   364,   367,   370,   373,   376,   379,   382,
      385,   388,   391,   394,   401,   407,   416,   423,   430,   438,
      446,   453,   462,   471,   475,   477,   479,   481,   483,   484,
-     486,   489,   490,   494,   495,   499,   503,   505,   509,   513,
-     514,   521,   522,   530,   531,   539,   542,   546,   548,   552,
-     556,   560,   564,   566,   567,   573,   577,   579,   583,   585,
-     586,   596,   598,   600,   605,   607,   609,   612,   616,   617,
-     619,   621,   623,   625,   627,   629,   631,   633,   635,   639,
-     641,   647,   649,   651,   653,   655,   657,   659,   662,   665,
-     668,   672,   675,   676,   678,   681,   684,   688,   698,   708,
-     717,   732,   734,   736,   743,   749,   752,   759,   767,   771,
-     777,   778,   779,   783,   786,   788,   794,   800,   807,   814,
-     819,   826,   831,   836,   843,   850,   853,   862,   864,   866,
-     867,   871,   878,   882,   889,   892,   897,   904
+     486,   489,   490,   494,   495,   499,   503,   507,   511,   512,
+     519,   520,   528,   529,   537,   540,   544,   546,   550,   554,
+     558,   562,   564,   565,   571,   575,   577,   581,   583,   584,
+     594,   596,   598,   603,   605,   607,   610,   614,   615,   617,
+     619,   621,   623,   625,   627,   629,   631,   633,   637,   639,
+     645,   647,   649,   651,   653,   655,   657,   660,   663,   666,
+     670,   673,   674,   676,   679,   682,   686,   696,   706,   715,
+     730,   732,   734,   741,   747,   750,   757,   765,   769,   775,
+     776,   777,   781,   784,   786,   792,   798,   805,   812,   817,
+     824,   829,   834,   841,   848,   851,   860,   862,   864,   865,
+     869,   876,   880,   887,   890,   895,   902
 };
 
 /* YYRHS -- A `-1'-separated list of the rules' RHS. */
 static const short int yyrhs[] =
 {
-     189,     0,    -1,    68,    -1,    69,    -1,    70,    -1,    71,
-      -1,    72,    -1,    73,    -1,    74,    -1,    75,    -1,    76,
-      -1,    80,    -1,    81,    -1,    82,    -1,    77,    -1,    78,
-      -1,    79,    -1,   111,    -1,   112,    -1,   113,    -1,   114,
-      -1,   115,    -1,   116,    -1,   117,    -1,   118,    -1,   119,
-      -1,   120,    -1,   121,    -1,   122,    -1,    85,    -1,    86,
-      -1,    87,    -1,    88,    -1,    89,    -1,    90,    -1,    91,
-      -1,    92,    -1,    93,    -1,    94,    -1,    95,    -1,    96,
-      -1,    97,    -1,    98,    -1,    99,    -1,   100,    -1,   101,
-      -1,   102,    -1,   103,    -1,   104,    -1,    91,    -1,    92,
-      -1,    93,    -1,    94,    -1,    23,    -1,    24,    -1,    11,
-      -1,    12,    -1,    13,    -1,    16,    -1,    19,    -1,   157,
-      -1,    -1,   157,   135,    -1,    -1,    17,    -1,    20,    -1,
-     160,   135,    -1,    -1,    37,    -1,    39,    -1,    38,    -1,
-      40,    -1,    42,    -1,    41,    -1,    43,    -1,    45,    -1,
-      -1,   134,    -1,    -1,    41,    -1,    43,    -1,    -1,    37,
-      -1,    38,    -1,    39,    -1,    42,    -1,    -1,    56,    -1,
-      57,    -1,    58,    -1,    59,    -1,    60,    -1,    55,     4,
-      -1,   112,    -1,   113,    -1,   130,    -1,   131,    -1,    -1,
-     169,   168,    -1,   129,    -1,   132,    -1,   168,    -1,    -1,
-     171,   170,    -1,    -1,    48,     4,    -1,    -1,   136,    48,
-       4,    -1,    31,    19,    -1,    -1,   174,    -1,    -1,   136,
-     177,   176,    -1,   174,    -1,    48,     4,    -1,    11,    -1,
-      12,    -1,    13,    -1,    14,    -1,    44,    -1,   178,    -1,
-     179,   137,    -1,   211,    -1,   138,     4,    -1,   179,   139,
-     183,   140,   171,    -1,    10,   139,   183,   140,   171,    -1,
-     141,     4,   142,   179,   143,    -1,   144,     4,   142,   179,
-     145,    -1,   146,   184,   147,    -1,   146,   147,    -1,   144,
-     146,   184,   147,   145,    -1,   144,   146,   147,   145,    -1,
-     179,   169,    -1,   179,    -1,    10,    -1,   180,    -1,   182,
-     136,   180,    -1,   182,    -1,   182,   136,    34,    -1,    34,
-      -1,    -1,   179,    -1,   184,   136,   179,    -1,   179,   141,
-     187,   143,    -1,   179,   141,   143,    -1,   179,   148,    19,
-      -1,   179,   144,   187,   145,    -1,   179,   146,   187,   147,
-      -1,   179,   146,   147,    -1,   179,   144,   146,   187,   147,
-     145,    -1,   179,   144,   146,   147,   145,    -1,   179,    35,
-      -1,   179,    36,    -1,   179,   211,    -1,   179,   186,    -1,
-     179,    22,    -1,   155,     3,    -1,   155,     5,    -1,   155,
-       4,    -1,   155,     6,    -1,    11,    23,    -1,    11,    24,
-      -1,   156,     9,    -1,   152,   139,   185,    33,   179,   140,
-      -1,   110,   139,   185,   222,   140,    -1,   124,   139,   185,
-     136,   185,   136,   185,   140,    -1,   150,   139,   185,   136,
-     185,   140,    -1,   151,   139,   185,   136,   185,   140,    -1,
-      83,   153,   139,   185,   136,   185,   140,    -1,    84,   154,
-     139,   185,   136,   185,   140,    -1,   126,   139,   185,   136,
-     185,   140,    -1,   127,   139,   185,   136,   185,   136,   185,
-     140,    -1,   128,   139,   185,   136,   185,   136,   185,   140,
-      -1,   187,   136,   185,    -1,   185,    -1,    29,    -1,    30,
-      -1,   190,    -1,    -1,   191,    -1,   190,   191,    -1,    -1,
-      28,   192,   207,    -1,    -1,    27,   193,   208,    -1,    53,
-      52,   197,    -1,    21,    -1,   159,    15,   179,    -1,   159,
-      15,    10,    -1,    -1,   161,   164,   188,   185,   194,   176,
-      -1,    -1,   161,   162,   164,   188,   185,   195,   176,    -1,
-      -1,   161,   163,   164,   188,   179,   196,   176,    -1,    46,
-     198,    -1,    49,   135,   199,    -1,    19,    -1,    47,   135,
-      19,    -1,    61,   135,    19,    -1,   141,   200,   143,    -1,
-     200,   136,    19,    -1,    19,    -1,    -1,   201,   136,   179,
-     169,   158,    -1,   179,   169,   158,    -1,   201,    -1,   201,
-     136,    34,    -1,    34,    -1,    -1,   167,   181,   160,   139,
-     202,   140,   171,   175,   172,    -1,    25,    -1,   146,    -1,
-     166,   164,   203,   204,    -1,    26,    -1,   147,    -1,   214,
-     206,    -1,   165,   164,   203,    -1,    -1,    54,    -1,     3,
-      -1,     4,    -1,     9,    -1,    23,    -1,    24,    -1,    35,
-      -1,    36,    -1,    22,    -1,   144,   187,   145,    -1,   186,
-      -1,    52,   209,    19,   136,    19,    -1,     7,    -1,     8,
-      -1,   157,    -1,   160,    -1,   211,    -1,   210,    -1,   179,
-     212,    -1,   214,   215,    -1,   205,   215,    -1,   216,   159,
-     217,    -1,   216,   219,    -1,    -1,    18,    -1,    62,   213,
-      -1,    62,    10,    -1,    63,    14,   212,    -1,    63,    11,
-     212,   136,    14,   212,   136,    14,   212,    -1,    64,   155,
-     212,   136,    14,   212,   141,   218,   143,    -1,    64,   155,
-     212,   136,    14,   212,   141,   143,    -1,    65,   167,   181,
-     212,   139,   221,   140,   171,    33,    14,   212,    66,    14,
-     212,    -1,    66,    -1,    67,    -1,   218,   155,   210,   136,
-      14,   212,    -1,   155,   210,   136,    14,   212,    -1,   159,
-     224,    -1,   179,   141,   212,   136,   212,   143,    -1,   220,
-     136,   141,   212,   136,   212,   143,    -1,   179,   212,   169,
-      -1,   221,   136,   179,   212,   169,    -1,    -1,    -1,   222,
-     136,   213,    -1,    51,    50,    -1,    50,    -1,   150,   179,
-     212,   136,   212,    -1,   151,   179,   212,   136,   212,    -1,
-      83,   153,   179,   212,   136,   212,    -1,    84,   154,   179,
-     212,   136,   212,    -1,   152,   213,    33,   179,    -1,   124,
-     213,   136,   213,   136,   213,    -1,   125,   213,   136,   179,
-      -1,   126,   213,   136,   213,    -1,   127,   213,   136,   213,
-     136,   213,    -1,   128,   213,   136,   213,   136,   213,    -1,
-     123,   220,    -1,   223,   167,   181,   212,   139,   221,   140,
-     171,    -1,   226,    -1,    32,    -1,    -1,   105,   179,   173,
-      -1,   105,   179,   136,    11,   212,   173,    -1,   106,   179,
-     173,    -1,   106,   179,   136,    11,   212,   173,    -1,   107,
-     213,    -1,   225,   108,   179,   212,    -1,   225,   109,   213,
-     136,   179,   212,    -1,   110,   179,   212,   222,    -1
+     188,     0,    -1,    67,    -1,    68,    -1,    69,    -1,    70,
+      -1,    71,    -1,    72,    -1,    73,    -1,    74,    -1,    75,
+      -1,    79,    -1,    80,    -1,    81,    -1,    76,    -1,    77,
+      -1,    78,    -1,   110,    -1,   111,    -1,   112,    -1,   113,
+      -1,   114,    -1,   115,    -1,   116,    -1,   117,    -1,   118,
+      -1,   119,    -1,   120,    -1,   121,    -1,    84,    -1,    85,
+      -1,    86,    -1,    87,    -1,    88,    -1,    89,    -1,    90,
+      -1,    91,    -1,    92,    -1,    93,    -1,    94,    -1,    95,
+      -1,    96,    -1,    97,    -1,    98,    -1,    99,    -1,   100,
+      -1,   101,    -1,   102,    -1,   103,    -1,    90,    -1,    91,
+      -1,    92,    -1,    93,    -1,    22,    -1,    23,    -1,    11,
+      -1,    12,    -1,    13,    -1,    16,    -1,    19,    -1,   156,
+      -1,    -1,   156,   134,    -1,    -1,    17,    -1,    20,    -1,
+     159,   134,    -1,    -1,    36,    -1,    38,    -1,    37,    -1,
+      39,    -1,    41,    -1,    40,    -1,    42,    -1,    44,    -1,
+      -1,   133,    -1,    -1,    40,    -1,    42,    -1,    -1,    36,
+      -1,    37,    -1,    38,    -1,    41,    -1,    -1,    55,    -1,
+      56,    -1,    57,    -1,    58,    -1,    59,    -1,    54,     4,
+      -1,   111,    -1,   112,    -1,   129,    -1,   130,    -1,    -1,
+     168,   167,    -1,   128,    -1,   131,    -1,   167,    -1,    -1,
+     170,   169,    -1,    -1,    47,     4,    -1,    -1,   135,    47,
+       4,    -1,    30,    19,    -1,    -1,   173,    -1,    -1,   135,
+     176,   175,    -1,   173,    -1,    47,     4,    -1,    11,    -1,
+      12,    -1,    13,    -1,    14,    -1,    43,    -1,   177,    -1,
+     178,   136,    -1,   210,    -1,   137,     4,    -1,   178,   138,
+     182,   139,   170,    -1,    10,   138,   182,   139,   170,    -1,
+     140,     4,   141,   178,   142,    -1,   143,     4,   141,   178,
+     144,    -1,   145,   183,   146,    -1,   145,   146,    -1,   143,
+     145,   183,   146,   144,    -1,   143,   145,   146,   144,    -1,
+     178,   168,    -1,   178,    -1,    10,    -1,   179,    -1,   181,
+     135,   179,    -1,   181,    -1,   181,   135,    33,    -1,    33,
+      -1,    -1,   178,    -1,   183,   135,   178,    -1,   178,   140,
+     186,   142,    -1,   178,   140,   142,    -1,   178,   147,    19,
+      -1,   178,   143,   186,   144,    -1,   178,   145,   186,   146,
+      -1,   178,   145,   146,    -1,   178,   143,   145,   186,   146,
+     144,    -1,   178,   143,   145,   146,   144,    -1,   178,    34,
+      -1,   178,    35,    -1,   178,   210,    -1,   178,   185,    -1,
+     178,    21,    -1,   154,     3,    -1,   154,     5,    -1,   154,
+       4,    -1,   154,     6,    -1,    11,    22,    -1,    11,    23,
+      -1,   155,     9,    -1,   151,   138,   184,    32,   178,   139,
+      -1,   109,   138,   184,   221,   139,    -1,   123,   138,   184,
+     135,   184,   135,   184,   139,    -1,   149,   138,   184,   135,
+     184,   139,    -1,   150,   138,   184,   135,   184,   139,    -1,
+      82,   152,   138,   184,   135,   184,   139,    -1,    83,   153,
+     138,   184,   135,   184,   139,    -1,   125,   138,   184,   135,
+     184,   139,    -1,   126,   138,   184,   135,   184,   135,   184,
+     139,    -1,   127,   138,   184,   135,   184,   135,   184,   139,
+      -1,   186,   135,   184,    -1,   184,    -1,    28,    -1,    29,
+      -1,   189,    -1,    -1,   190,    -1,   189,   190,    -1,    -1,
+      27,   191,   206,    -1,    -1,    26,   192,   207,    -1,    52,
+      51,   196,    -1,   158,    15,   178,    -1,   158,    15,    10,
+      -1,    -1,   160,   163,   187,   184,   193,   175,    -1,    -1,
+     160,   161,   163,   187,   184,   194,   175,    -1,    -1,   160,
+     162,   163,   187,   178,   195,   175,    -1,    45,   197,    -1,
+      48,   134,   198,    -1,    19,    -1,    46,   134,    19,    -1,
+      60,   134,    19,    -1,   140,   199,   142,    -1,   199,   135,
+      19,    -1,    19,    -1,    -1,   200,   135,   178,   168,   157,
+      -1,   178,   168,   157,    -1,   200,    -1,   200,   135,    33,
+      -1,    33,    -1,    -1,   166,   180,   159,   138,   201,   139,
+     170,   174,   171,    -1,    24,    -1,   145,    -1,   165,   163,
+     202,   203,    -1,    25,    -1,   146,    -1,   213,   205,    -1,
+     164,   163,   202,    -1,    -1,    53,    -1,     3,    -1,     4,
+      -1,     9,    -1,    22,    -1,    23,    -1,    34,    -1,    35,
+      -1,    21,    -1,   143,   186,   144,    -1,   185,    -1,    51,
+     208,    19,   135,    19,    -1,     7,    -1,     8,    -1,   156,
+      -1,   159,    -1,   210,    -1,   209,    -1,   178,   211,    -1,
+     213,   214,    -1,   204,   214,    -1,   215,   158,   216,    -1,
+     215,   218,    -1,    -1,    18,    -1,    61,   212,    -1,    61,
+      10,    -1,    62,    14,   211,    -1,    62,    11,   211,   135,
+      14,   211,   135,    14,   211,    -1,    63,   154,   211,   135,
+      14,   211,   140,   217,   142,    -1,    63,   154,   211,   135,
+      14,   211,   140,   142,    -1,    64,   166,   180,   211,   138,
+     220,   139,   170,    32,    14,   211,    65,    14,   211,    -1,
+      65,    -1,    66,    -1,   217,   154,   209,   135,    14,   211,
+      -1,   154,   209,   135,    14,   211,    -1,   158,   223,    -1,
+     178,   140,   211,   135,   211,   142,    -1,   219,   135,   140,
+     211,   135,   211,   142,    -1,   178,   211,   168,    -1,   220,
+     135,   178,   211,   168,    -1,    -1,    -1,   221,   135,   212,
+      -1,    50,    49,    -1,    49,    -1,   149,   178,   211,   135,
+     211,    -1,   150,   178,   211,   135,   211,    -1,    82,   152,
+     178,   211,   135,   211,    -1,    83,   153,   178,   211,   135,
+     211,    -1,   151,   212,    32,   178,    -1,   123,   212,   135,
+     212,   135,   212,    -1,   124,   212,   135,   178,    -1,   125,
+     212,   135,   212,    -1,   126,   212,   135,   212,   135,   212,
+      -1,   127,   212,   135,   212,   135,   212,    -1,   122,   219,
+      -1,   222,   166,   180,   211,   138,   220,   139,   170,    -1,
+     225,    -1,    31,    -1,    -1,   104,   178,   172,    -1,   104,
+     178,   135,    11,   211,   172,    -1,   105,   178,   172,    -1,
+     105,   178,   135,    11,   211,   172,    -1,   106,   212,    -1,
+     224,   107,   178,   211,    -1,   224,   108,   212,   135,   178,
+     211,    -1,   109,   178,   211,   221,    -1
 };
 
 /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
@@ -1707,17 +1705,17 @@
     1629,  1649,  1661,  1668,  1734,  1744,  1754,  1760,  1770,  1776,
     1786,  1791,  1796,  1804,  1816,  1838,  1846,  1852,  1863,  1868,
     1873,  1879,  1885,  1894,  1898,  1906,  1906,  1917,  1922,  1930,
-    1931,  1935,  1935,  1939,  1939,  1942,  1945,  1957,  1981,  1992,
-    1992,  2002,  2002,  2010,  2010,  2020,  2023,  2029,  2042,  2046,
-    2051,  2053,  2058,  2063,  2072,  2082,  2093,  2097,  2106,  2115,
-    2120,  2232,  2232,  2234,  2243,  2243,  2245,  2250,  2262,  2266,
-    2271,  2275,  2279,  2283,  2287,  2291,  2295,  2299,  2303,  2328,
-    2332,  2346,  2350,  2354,  2358,  2364,  2364,  2370,  2379,  2383,
-    2392,  2401,  2410,  2414,  2419,  2423,  2427,  2432,  2442,  2461,
-    2470,  2539,  2543,  2550,  2561,  2574,  2584,  2595,  2605,  2614,
-    2623,  2626,  2627,  2634,  2638,  2643,  2664,  2681,  2695,  2709,
-    2721,  2729,  2736,  2742,  2748,  2754,  2769,  2833,  2838,  2842,
-    2849,  2856,  2864,  2871,  2879,  2887,  2901,  2918
+    1931,  1935,  1935,  1939,  1939,  1942,  1945,  1969,  1980,  1980,
+    1990,  1990,  1998,  1998,  2008,  2011,  2017,  2030,  2034,  2039,
+    2041,  2046,  2051,  2060,  2070,  2081,  2085,  2094,  2103,  2108,
+    2220,  2220,  2222,  2231,  2231,  2233,  2238,  2250,  2254,  2259,
+    2263,  2267,  2271,  2275,  2279,  2283,  2287,  2291,  2316,  2320,
+    2334,  2338,  2342,  2346,  2352,  2352,  2358,  2367,  2371,  2380,
+    2389,  2398,  2402,  2407,  2411,  2415,  2420,  2430,  2449,  2458,
+    2527,  2531,  2538,  2549,  2562,  2572,  2583,  2593,  2602,  2611,
+    2614,  2615,  2622,  2626,  2631,  2652,  2669,  2683,  2697,  2709,
+    2717,  2724,  2730,  2736,  2742,  2757,  2821,  2826,  2830,  2837,
+    2844,  2852,  2859,  2867,  2875,  2889,  2906
 };
 #endif
 
@@ -1729,38 +1727,38 @@
   "$end", "error", "$undefined", "ESINT64VAL", "EUINT64VAL", "ESAPINTVAL",
   "EUAPINTVAL", "LOCALVAL_ID", "GLOBALVAL_ID", "FPVAL", "VOID", "INTTYPE",
   "FLOAT", "DOUBLE", "LABEL", "TYPE", "LOCALVAR", "GLOBALVAR", "LABELSTR",
-  "STRINGCONSTANT", "ATSTRINGCONSTANT", "IMPLEMENTATION",
-  "ZEROINITIALIZER", "TRUETOK", "FALSETOK", "BEGINTOK", "ENDTOK",
-  "DECLARE", "DEFINE", "GLOBAL", "CONSTANT", "SECTION", "VOLATILE", "TO",
-  "DOTDOTDOT", "NULL_TOK", "UNDEF", "INTERNAL", "LINKONCE", "WEAK",
-  "APPENDING", "DLLIMPORT", "DLLEXPORT", "EXTERN_WEAK", "OPAQUE",
-  "EXTERNAL", "TARGET", "TRIPLE", "ALIGN", "DEPLIBS", "CALL", "TAIL",
-  "ASM_TOK", "MODULE", "SIDEEFFECT", "CC_TOK", "CCC_TOK", "FASTCC_TOK",
-  "COLDCC_TOK", "X86_STDCALLCC_TOK", "X86_FASTCALLCC_TOK", "DATALAYOUT",
-  "RET", "BR", "SWITCH", "INVOKE", "UNWIND", "UNREACHABLE", "ADD", "SUB",
-  "MUL", "UDIV", "SDIV", "FDIV", "UREM", "SREM", "FREM", "AND", "OR",
-  "XOR", "SHL", "LSHR", "ASHR", "ICMP", "FCMP", "EQ", "NE", "SLT", "SGT",
-  "SLE", "SGE", "ULT", "UGT", "ULE", "UGE", "OEQ", "ONE", "OLT", "OGT",
-  "OLE", "OGE", "ORD", "UNO", "UEQ", "UNE", "MALLOC", "ALLOCA", "FREE",
-  "LOAD", "STORE", "GETELEMENTPTR", "TRUNC", "ZEXT", "SEXT", "FPTRUNC",
-  "FPEXT", "BITCAST", "UITOFP", "SITOFP", "FPTOUI", "FPTOSI", "INTTOPTR",
-  "PTRTOINT", "PHI_TOK", "SELECT", "VAARG", "EXTRACTELEMENT",
-  "INSERTELEMENT", "SHUFFLEVECTOR", "NORETURN", "INREG", "SRET",
-  "NOUNWIND", "DEFAULT", "HIDDEN", "'='", "','", "'*'", "'\\\\'", "'('",
-  "')'", "'['", "'x'", "']'", "'<'", "'>'", "'{'", "'}'", "'c'", "$accept",
-  "ArithmeticOps", "LogicalOps", "CastOps", "IPredicates", "FPredicates",
-  "IntType", "FPType", "LocalName", "OptLocalName", "OptLocalAssign",
-  "GlobalName", "OptGlobalAssign", "GVInternalLinkage",
-  "GVExternalLinkage", "GVVisibilityStyle", "FunctionDeclareLinkage",
-  "FunctionDefineLinkage", "OptCallingConv", "ParamAttr", "OptParamAttrs",
-  "FuncAttr", "OptFuncAttrs", "OptAlign", "OptCAlign", "SectionString",
-  "OptSection", "GlobalVarAttributes", "GlobalVarAttribute", "PrimType",
-  "Types", "ArgType", "ResultTypes", "ArgTypeList", "ArgTypeListI",
-  "TypeListI", "ConstVal", "ConstExpr", "ConstVector", "GlobalType",
-  "Module", "DefinitionList", "Definition", "@1", "@2", "@3", "@4", "@5",
-  "AsmBlock", "TargetDefinition", "LibrariesDefinition", "LibList",
-  "ArgListH", "ArgList", "FunctionHeaderH", "BEGIN", "FunctionHeader",
-  "END", "Function", "FunctionProto", "OptSideEffect", "ConstValueRef",
+  "STRINGCONSTANT", "ATSTRINGCONSTANT", "ZEROINITIALIZER", "TRUETOK",
+  "FALSETOK", "BEGINTOK", "ENDTOK", "DECLARE", "DEFINE", "GLOBAL",
+  "CONSTANT", "SECTION", "VOLATILE", "TO", "DOTDOTDOT", "NULL_TOK",
+  "UNDEF", "INTERNAL", "LINKONCE", "WEAK", "APPENDING", "DLLIMPORT",
+  "DLLEXPORT", "EXTERN_WEAK", "OPAQUE", "EXTERNAL", "TARGET", "TRIPLE",
+  "ALIGN", "DEPLIBS", "CALL", "TAIL", "ASM_TOK", "MODULE", "SIDEEFFECT",
+  "CC_TOK", "CCC_TOK", "FASTCC_TOK", "COLDCC_TOK", "X86_STDCALLCC_TOK",
+  "X86_FASTCALLCC_TOK", "DATALAYOUT", "RET", "BR", "SWITCH", "INVOKE",
+  "UNWIND", "UNREACHABLE", "ADD", "SUB", "MUL", "UDIV", "SDIV", "FDIV",
+  "UREM", "SREM", "FREM", "AND", "OR", "XOR", "SHL", "LSHR", "ASHR",
+  "ICMP", "FCMP", "EQ", "NE", "SLT", "SGT", "SLE", "SGE", "ULT", "UGT",
+  "ULE", "UGE", "OEQ", "ONE", "OLT", "OGT", "OLE", "OGE", "ORD", "UNO",
+  "UEQ", "UNE", "MALLOC", "ALLOCA", "FREE", "LOAD", "STORE",
+  "GETELEMENTPTR", "TRUNC", "ZEXT", "SEXT", "FPTRUNC", "FPEXT", "BITCAST",
+  "UITOFP", "SITOFP", "FPTOUI", "FPTOSI", "INTTOPTR", "PTRTOINT",
+  "PHI_TOK", "SELECT", "VAARG", "EXTRACTELEMENT", "INSERTELEMENT",
+  "SHUFFLEVECTOR", "NORETURN", "INREG", "SRET", "NOUNWIND", "DEFAULT",
+  "HIDDEN", "'='", "','", "'*'", "'\\\\'", "'('", "')'", "'['", "'x'",
+  "']'", "'<'", "'>'", "'{'", "'}'", "'c'", "$accept", "ArithmeticOps",
+  "LogicalOps", "CastOps", "IPredicates", "FPredicates", "IntType",
+  "FPType", "LocalName", "OptLocalName", "OptLocalAssign", "GlobalName",
+  "OptGlobalAssign", "GVInternalLinkage", "GVExternalLinkage",
+  "GVVisibilityStyle", "FunctionDeclareLinkage", "FunctionDefineLinkage",
+  "OptCallingConv", "ParamAttr", "OptParamAttrs", "FuncAttr",
+  "OptFuncAttrs", "OptAlign", "OptCAlign", "SectionString", "OptSection",
+  "GlobalVarAttributes", "GlobalVarAttribute", "PrimType", "Types",
+  "ArgType", "ResultTypes", "ArgTypeList", "ArgTypeListI", "TypeListI",
+  "ConstVal", "ConstExpr", "ConstVector", "GlobalType", "Module",
+  "DefinitionList", "Definition", "@1", "@2", "@3", "@4", "@5", "AsmBlock",
+  "TargetDefinition", "LibrariesDefinition", "LibList", "ArgListH",
+  "ArgList", "FunctionHeaderH", "BEGIN", "FunctionHeader", "END",
+  "Function", "FunctionProto", "OptSideEffect", "ConstValueRef",
   "SymbolicValueRef", "ValueRef", "ResolvedVal", "BasicBlockList",
   "BasicBlock", "InstructionList", "BBTerminatorInst", "JumpTable", "Inst",
   "PHIList", "ValueRefList", "IndexList", "OptTailCall", "InstVal",
@@ -1786,43 +1784,43 @@
      355,   356,   357,   358,   359,   360,   361,   362,   363,   364,
      365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
      375,   376,   377,   378,   379,   380,   381,   382,   383,   384,
-     385,   386,   387,   388,   389,    61,    44,    42,    92,    40,
-      41,    91,   120,    93,    60,    62,   123,   125,    99
+     385,   386,   387,   388,    61,    44,    42,    92,    40,    41,
+      91,   120,    93,    60,    62,   123,   125,    99
 };
 # endif
 
 /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
 static const unsigned char yyr1[] =
 {
-       0,   149,   150,   150,   150,   150,   150,   150,   150,   150,
-     150,   151,   151,   151,   151,   151,   151,   152,   152,   152,
+       0,   148,   149,   149,   149,   149,   149,   149,   149,   149,
+     149,   150,   150,   150,   150,   150,   150,   151,   151,   151,
+     151,   151,   151,   151,   151,   151,   151,   151,   151,   152,
      152,   152,   152,   152,   152,   152,   152,   152,   152,   153,
-     153,   153,   153,   153,   153,   153,   153,   153,   153,   154,
-     154,   154,   154,   154,   154,   154,   154,   154,   154,   154,
-     154,   154,   154,   154,   154,   155,   156,   156,   157,   157,
-     158,   158,   159,   159,   160,   160,   161,   161,   162,   162,
-     162,   162,   162,   163,   163,   163,   164,   164,   165,   165,
-     165,   166,   166,   166,   166,   166,   167,   167,   167,   167,
-     167,   167,   167,   168,   168,   168,   168,   169,   169,   170,
-     170,   170,   171,   171,   172,   172,   173,   173,   174,   175,
-     175,   176,   176,   177,   177,   178,   178,   178,   178,   179,
-     179,   179,   179,   179,   179,   179,   179,   179,   179,   179,
-     179,   179,   180,   181,   181,   182,   182,   183,   183,   183,
-     183,   184,   184,   185,   185,   185,   185,   185,   185,   185,
-     185,   185,   185,   185,   185,   185,   185,   185,   185,   185,
-     185,   185,   185,   186,   186,   186,   186,   186,   186,   186,
-     186,   186,   186,   187,   187,   188,   188,   189,   189,   190,
-     190,   192,   191,   193,   191,   191,   191,   191,   191,   194,
-     191,   195,   191,   196,   191,   191,   191,   197,   198,   198,
-     199,   200,   200,   200,   201,   201,   202,   202,   202,   202,
-     203,   204,   204,   205,   206,   206,   207,   208,   209,   209,
-     210,   210,   210,   210,   210,   210,   210,   210,   210,   210,
-     210,   211,   211,   211,   211,   212,   212,   213,   214,   214,
-     215,   216,   216,   216,   217,   217,   217,   217,   217,   217,
-     217,   217,   217,   218,   218,   219,   220,   220,   221,   221,
-     221,   222,   222,   223,   223,   224,   224,   224,   224,   224,
-     224,   224,   224,   224,   224,   224,   224,   224,   225,   225,
-     226,   226,   226,   226,   226,   226,   226,   226
+     153,   153,   153,   153,   153,   153,   153,   153,   153,   153,
+     153,   153,   153,   153,   153,   154,   155,   155,   156,   156,
+     157,   157,   158,   158,   159,   159,   160,   160,   161,   161,
+     161,   161,   161,   162,   162,   162,   163,   163,   164,   164,
+     164,   165,   165,   165,   165,   165,   166,   166,   166,   166,
+     166,   166,   166,   167,   167,   167,   167,   168,   168,   169,
+     169,   169,   170,   170,   171,   171,   172,   172,   173,   174,
+     174,   175,   175,   176,   176,   177,   177,   177,   177,   178,
+     178,   178,   178,   178,   178,   178,   178,   178,   178,   178,
+     178,   178,   179,   180,   180,   181,   181,   182,   182,   182,
+     182,   183,   183,   184,   184,   184,   184,   184,   184,   184,
+     184,   184,   184,   184,   184,   184,   184,   184,   184,   184,
+     184,   184,   184,   185,   185,   185,   185,   185,   185,   185,
+     185,   185,   185,   186,   186,   187,   187,   188,   188,   189,
+     189,   191,   190,   192,   190,   190,   190,   190,   193,   190,
+     194,   190,   195,   190,   190,   190,   196,   197,   197,   198,
+     199,   199,   199,   200,   200,   201,   201,   201,   201,   202,
+     203,   203,   204,   205,   205,   206,   207,   208,   208,   209,
+     209,   209,   209,   209,   209,   209,   209,   209,   209,   209,
+     210,   210,   210,   210,   211,   211,   212,   213,   213,   214,
+     215,   215,   215,   216,   216,   216,   216,   216,   216,   216,
+     216,   216,   217,   217,   218,   219,   219,   220,   220,   220,
+     221,   221,   222,   222,   223,   223,   223,   223,   223,   223,
+     223,   223,   223,   223,   223,   223,   223,   224,   224,   225,
+     225,   225,   225,   225,   225,   225,   225
 };
 
 /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */
@@ -1846,17 +1844,17 @@
        5,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        2,     2,     2,     6,     5,     8,     6,     6,     7,     7,
        6,     8,     8,     3,     1,     1,     1,     1,     0,     1,
-       2,     0,     3,     0,     3,     3,     1,     3,     3,     0,
-       6,     0,     7,     0,     7,     2,     3,     1,     3,     3,
-       3,     3,     1,     0,     5,     3,     1,     3,     1,     0,
-       9,     1,     1,     4,     1,     1,     2,     3,     0,     1,
-       1,     1,     1,     1,     1,     1,     1,     1,     3,     1,
-       5,     1,     1,     1,     1,     1,     1,     2,     2,     2,
-       3,     2,     0,     1,     2,     2,     3,     9,     9,     8,
-      14,     1,     1,     6,     5,     2,     6,     7,     3,     5,
-       0,     0,     3,     2,     1,     5,     5,     6,     6,     4,
-       6,     4,     4,     6,     6,     2,     8,     1,     1,     0,
-       3,     6,     3,     6,     2,     4,     6,     4
+       2,     0,     3,     0,     3,     3,     3,     3,     0,     6,
+       0,     7,     0,     7,     2,     3,     1,     3,     3,     3,
+       3,     1,     0,     5,     3,     1,     3,     1,     0,     9,
+       1,     1,     4,     1,     1,     2,     3,     0,     1,     1,
+       1,     1,     1,     1,     1,     1,     1,     3,     1,     5,
+       1,     1,     1,     1,     1,     1,     2,     2,     2,     3,
+       2,     0,     1,     2,     2,     3,     9,     9,     8,    14,
+       1,     1,     6,     5,     2,     6,     7,     3,     5,     0,
+       0,     3,     2,     1,     5,     5,     6,     6,     4,     6,
+       4,     4,     6,     6,     2,     8,     1,     1,     0,     3,
+       6,     3,     6,     2,     4,     6,     4
 };
 
 /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
@@ -1864,151 +1862,151 @@
    means the default is an error.  */
 static const unsigned short int yydefact[] =
 {
-      67,    58,    64,    59,    65,   186,   183,   181,     0,     0,
-       0,     0,     0,     0,    76,     0,    67,   179,    78,    81,
-       0,     0,   195,     0,     0,    62,     0,    66,    68,    70,
-      69,    71,    73,    72,    74,    75,    77,    76,    76,     0,
-       1,   180,    79,    80,    76,   184,    82,    83,    84,    85,
-      76,   242,   182,   242,     0,     0,   203,   196,   197,   185,
-     231,   232,   188,   115,   116,   117,   118,   119,     0,     0,
-       0,     0,   233,   234,   120,   187,   122,     0,     0,   175,
-     176,     0,    86,    86,   243,   239,    63,   214,   215,   216,
-     238,   198,   199,   202,     0,   140,   123,     0,     0,     0,
-       0,   129,   141,     0,   121,   140,     0,     0,   115,   116,
-     117,     0,     0,     0,   189,     0,    87,    88,    89,    90,
-      91,     0,   217,     0,   279,   241,     0,   200,   139,    97,
-     135,   137,     0,     0,     0,     0,     0,     0,   128,     0,
-     191,   193,   160,   161,   156,   158,   157,   159,   162,   155,
-     151,   152,     2,     3,     4,     5,     6,     7,     8,     9,
-      10,    14,    15,    16,    11,    12,    13,     0,     0,     0,
-      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
-      27,    28,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,   154,   153,   111,    92,   134,   133,     0,
-     211,   212,   213,   278,   264,     0,     0,     0,     0,    86,
-     251,   252,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,   240,    86,   255,
-       0,   277,   201,   132,     0,   102,     0,     0,   131,     0,
-     142,   102,   111,   111,    29,    30,    31,    32,    33,    34,
-      35,    36,    37,    38,     0,    53,    54,    49,    50,    51,
-      52,    39,    40,    41,    42,    43,    44,    45,    46,    47,
-      48,     0,     0,     0,     0,     0,     0,   144,   174,     0,
-       0,     0,   148,     0,   145,     0,     0,     0,     0,   190,
-       0,   263,   245,     0,   244,     0,     0,    55,     0,     0,
-       0,     0,   106,   106,   284,     0,     0,   275,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,    93,
-      94,    95,    96,    98,   138,   136,   125,   126,   127,   130,
-     124,   192,   194,     0,     0,   261,     0,     0,     0,     0,
-       0,   143,   129,   141,     0,   146,   147,     0,     0,     0,
-       0,     0,   113,   111,   209,   220,   221,   222,   227,   223,
-     224,   225,   226,   218,     0,   229,   236,   235,   237,     0,
-     246,     0,     0,     0,     0,     0,   280,     0,   282,   261,
+      67,    58,    64,    59,    65,   183,   181,     0,     0,     0,
+       0,     0,     0,    76,     0,    67,   179,    78,    81,     0,
+       0,   194,     0,     0,    62,     0,    66,    68,    70,    69,
+      71,    73,    72,    74,    75,    77,    76,    76,     0,     1,
+     180,    79,    80,    76,   184,    82,    83,    84,    85,    76,
+     241,   182,   241,     0,     0,   202,   195,   196,   185,   230,
+     231,   187,   115,   116,   117,   118,   119,     0,     0,     0,
+       0,   232,   233,   120,   186,   122,     0,     0,   175,   176,
+       0,    86,    86,   242,   238,    63,   213,   214,   215,   237,
+     197,   198,   201,     0,   140,   123,     0,     0,     0,     0,
+     129,   141,     0,   121,   140,     0,     0,   115,   116,   117,
+       0,     0,     0,   188,     0,    87,    88,    89,    90,    91,
+       0,   216,     0,   278,   240,     0,   199,   139,    97,   135,
+     137,     0,     0,     0,     0,     0,     0,   128,     0,   190,
+     192,   160,   161,   156,   158,   157,   159,   162,   155,   151,
+     152,     2,     3,     4,     5,     6,     7,     8,     9,    10,
+      14,    15,    16,    11,    12,    13,     0,     0,     0,    17,
+      18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
+      28,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,   154,   153,   111,    92,   134,   133,     0,   210,
+     211,   212,   277,   263,     0,     0,     0,     0,    86,   250,
+     251,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,   239,    86,   254,     0,
+     276,   200,   132,     0,   102,     0,     0,   131,     0,   142,
+     102,   111,   111,    29,    30,    31,    32,    33,    34,    35,
+      36,    37,    38,     0,    53,    54,    49,    50,    51,    52,
+      39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
+       0,     0,     0,     0,     0,     0,   144,   174,     0,     0,
+       0,   148,     0,   145,     0,     0,     0,     0,   189,     0,
+     262,   244,     0,   243,     0,     0,    55,     0,     0,     0,
+       0,   106,   106,   283,     0,     0,   274,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,    93,    94,
+      95,    96,    98,   138,   136,   125,   126,   127,   130,   124,
+     191,   193,     0,     0,   260,     0,     0,     0,     0,     0,
+     143,   129,   141,     0,   146,   147,     0,     0,     0,     0,
+       0,   113,   111,   208,   219,   220,   221,   226,   222,   223,
+     224,   225,   217,     0,   228,   235,   234,   236,     0,   245,
+       0,     0,     0,     0,     0,   279,     0,   281,   260,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,    99,   100,   101,   103,     0,     0,     0,
-       0,     0,     0,     0,   173,   150,     0,     0,     0,     0,
-     108,   114,   112,   208,    97,   206,     0,   219,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,   287,     0,
-       0,     0,   271,   272,     0,     0,     0,     0,   269,     0,
-     285,     0,     0,     0,     0,   164,     0,     0,     0,     0,
-     149,     0,     0,     0,    61,     0,   102,     0,   228,     0,
-       0,   260,     0,     0,   106,   107,   106,     0,     0,     0,
-       0,     0,   265,   266,   260,     0,     0,     0,   262,     0,
-     170,     0,     0,   166,   167,   163,    60,   205,   207,    97,
-     109,     0,     0,     0,     0,     0,   267,   268,     0,   281,
-     283,     0,     0,   270,   273,   274,     0,   286,   168,   169,
-       0,     0,     0,    61,   110,   104,   230,     0,     0,    97,
-       0,   102,   256,     0,   102,   165,   171,   172,   204,     0,
-     210,     0,   249,     0,     0,   258,     0,     0,   257,   276,
-     105,   247,     0,   248,     0,    97,     0,     0,     0,   259,
-       0,     0,     0,     0,   254,     0,     0,   253,     0,   250
+       0,     0,    99,   100,   101,   103,     0,     0,     0,     0,
+       0,     0,     0,   173,   150,     0,     0,     0,     0,   108,
+     114,   112,   207,    97,   205,     0,   218,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,   286,     0,     0,
+       0,   270,   271,     0,     0,     0,     0,   268,     0,   284,
+       0,     0,     0,     0,   164,     0,     0,     0,     0,   149,
+       0,     0,     0,    61,     0,   102,     0,   227,     0,     0,
+     259,     0,     0,   106,   107,   106,     0,     0,     0,     0,
+       0,   264,   265,   259,     0,     0,     0,   261,     0,   170,
+       0,     0,   166,   167,   163,    60,   204,   206,    97,   109,
+       0,     0,     0,     0,     0,   266,   267,     0,   280,   282,
+       0,     0,   269,   272,   273,     0,   285,   168,   169,     0,
+       0,     0,    61,   110,   104,   229,     0,     0,    97,     0,
+     102,   255,     0,   102,   165,   171,   172,   203,     0,   209,
+       0,   248,     0,     0,   257,     0,     0,   256,   275,   105,
+     246,     0,   247,     0,    97,     0,     0,     0,   258,     0,
+       0,     0,     0,   253,     0,     0,   252,     0,   249
 };
 
 /* YYDEFGOTO[NTERM-NUM]. */
 static const short int yydefgoto[] =
 {
-      -1,   190,   191,   192,   254,   271,   111,   112,    72,   487,
-      12,    73,    14,    37,    38,    39,    44,    50,   121,   323,
-     233,   396,   326,   530,   376,   352,   515,   289,   353,    74,
-     113,   130,   199,   131,   132,   103,   278,   365,   279,    81,
-      15,    16,    17,    19,    18,   195,   242,   243,    59,    22,
-      57,    94,   415,   416,   122,   202,    51,    89,    52,    45,
-     418,   366,    76,   368,   294,    53,    85,    86,   227,   534,
-     125,   307,   495,   399,   228,   229,   230,   231
+      -1,   189,   190,   191,   253,   270,   110,   111,    71,   486,
+      11,    72,    13,    36,    37,    38,    43,    49,   120,   322,
+     232,   395,   325,   529,   375,   351,   514,   288,   352,    73,
+     112,   129,   198,   130,   131,   102,   277,   364,   278,    80,
+      14,    15,    16,    18,    17,   194,   241,   242,    58,    21,
+      56,    93,   414,   415,   121,   201,    50,    88,    51,    44,
+     417,   365,    75,   367,   293,    52,    84,    85,   226,   533,
+     124,   306,   494,   398,   227,   228,   229,   230
 };
 
 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
    STATE-NUM.  */
-#define YYPACT_NINF -472
+#define YYPACT_NINF -428
 static const short int yypact[] =
 {
-      44,  -472,  -472,  -472,  -472,  -472,  -472,  -472,    -9,   -93,
-      25,   -40,    89,    40,   303,   124,   406,  -472,   137,   199,
-      48,    73,  -472,    72,   147,  -472,  1101,  -472,  -472,  -472,
-    -472,  -472,  -472,  -472,  -472,  -472,  -472,    86,    86,   110,
-    -472,  -472,  -472,  -472,    86,  -472,  -472,  -472,  -472,  -472,
-      86,   215,  -472,     9,   216,   228,   233,  -472,  -472,  -472,
-    -472,  -472,   118,  -472,  -472,  -472,  -472,  -472,   250,   254,
-       4,   115,  -472,  -472,  -472,    88,  -472,   110,   110,  -472,
-    -472,  1115,   310,   310,  -472,  -472,    31,  -472,  -472,  -472,
-    -472,  -472,  -472,  -472,   -22,   955,  -472,   135,   138,   141,
-     118,  -472,    88,  -102,  -472,   955,  1115,  1153,    52,   251,
-     269,   239,   272,   739,  -472,   280,  -472,  -472,  -472,  -472,
-    -472,  1167,  -472,    -8,  1306,  -472,   270,  -472,  -472,    88,
-    -472,   154,   155,  1153,  1153,   156,   -55,  1153,  -472,   164,
-    -472,    88,  -472,  -472,  -472,  -472,  -472,  -472,  -472,  -472,
-    -472,  -472,  -472,  -472,  -472,  -472,  -472,  -472,  -472,  -472,
-    -472,  -472,  -472,  -472,  -472,  -472,  -472,   289,   447,   166,
-    -472,  -472,  -472,  -472,  -472,  -472,  -472,  -472,  -472,  -472,
-    -472,  -472,   168,   169,   170,   171,   995,  1206,   491,   292,
-     174,   175,   176,  -472,  -472,   182,  -472,   118,    88,    49,
-    -472,  -472,  -472,  -472,  -472,   273,  1221,   122,   313,   310,
-    -472,  -472,   289,   447,  1153,  1153,  1153,  1153,  1153,  1153,
-    1153,  1153,  1153,  1153,  1153,  1153,  1153,  -472,   310,  -472,
-      38,  -472,  -472,   -24,  1010,  -472,    34,   -26,  -472,   180,
-      88,  -472,   182,   182,  -472,  -472,  -472,  -472,  -472,  -472,
-    -472,  -472,  -472,  -472,   187,  -472,  -472,  -472,  -472,  -472,
-    -472,  -472,  -472,  -472,  -472,  -472,  -472,  -472,  -472,  -472,
-    -472,   188,  1115,  1115,  1115,  1115,  1115,  -472,  -472,    -6,
-     909,  -104,  -472,   -42,  -472,  1115,  1115,  1115,   -11,  -472,
-     195,  -472,   118,   592,  -472,   718,   718,  -472,   718,  1167,
-    1153,  1153,   -21,    93,  -472,   592,    35,   200,   203,   211,
-     213,   214,   218,   592,   592,   302,  1167,  1153,  1153,  -472,
-    -472,  -472,  -472,  -472,  -472,  -472,   -29,  -472,  -472,  -472,
-     -29,  -472,  -472,  1115,  1115,  -472,   219,   235,   255,   256,
-    1115,  -472,   207,   739,   -37,  -472,  -472,   258,   261,   354,
-     371,   395,  -472,   182,  1050,  -472,  -472,  -472,  -472,  -472,
-    -472,  -472,  -472,   346,  1115,  -472,  -472,  -472,  -472,   266,
-    -472,   267,   718,   592,   592,    19,  -472,    20,  -472,  -472,
-     718,   263,  1153,  1153,  1153,  1153,  1153,   271,   274,  1153,
-     718,   592,   279,  -472,  -472,  -472,  -472,   281,   282,    29,
-    1115,  1115,  1115,  1115,  -472,  -472,   284,  1115,  1115,  1153,
-    -472,  -472,  -472,  -472,    88,   288,   268,  -472,   412,   -96,
-     418,   421,   299,   304,   305,   718,   435,   718,   306,   307,
-     718,   311,    88,  -472,   312,   314,   718,   718,    88,   317,
-    -472,  1153,  1115,  1115,  1153,  -472,   315,   318,   324,   325,
-    -472,   323,   326,   157,    32,  1066,  -472,   328,  -472,   718,
-     718,  1153,   718,   718,   329,  -472,   329,   718,   331,  1153,
-    1153,  1153,  -472,  -472,  1153,   592,   335,   338,  -472,  1115,
-    -472,  1115,  1115,  -472,  -472,  -472,  -472,  -472,  -472,    88,
-     136,   434,   332,   341,   592,    71,  -472,  -472,   431,  -472,
-    -472,   340,   718,  -472,  -472,  -472,    74,  -472,  -472,  -472,
-     345,   347,   348,    32,  -472,   438,  -472,   455,    -2,  -472,
-    1153,  -472,  -472,   349,  -472,  -472,  -472,  -472,  -472,   485,
-    -472,   718,  -472,   866,    -1,   -24,   592,   190,  -472,   -29,
-    -472,  -472,   357,  -472,   866,  -472,   480,   482,   361,   -24,
-     718,   718,   486,   440,  -472,   718,   495,  -472,   718,  -472
+     262,  -428,  -428,  -428,  -428,  -428,  -428,   -26,   -85,    60,
+       5,    50,     9,   282,   135,   406,  -428,   203,   191,    32,
+      74,  -428,    73,   134,  -428,  1106,  -428,  -428,  -428,  -428,
+    -428,  -428,  -428,  -428,  -428,  -428,    87,    87,   150,  -428,
+    -428,  -428,  -428,    87,  -428,  -428,  -428,  -428,  -428,    87,
+     208,  -428,     1,   228,   234,   248,  -428,  -428,  -428,  -428,
+    -428,   130,  -428,  -428,  -428,  -428,  -428,   276,   280,     4,
+     111,  -428,  -428,  -428,   -57,  -428,   150,   150,  -428,  -428,
+    1143,   311,   311,  -428,  -428,   118,  -428,  -428,  -428,  -428,
+    -428,  -428,  -428,    -6,    40,  -428,   144,   146,   908,   130,
+    -428,   -57,   -68,  -428,    40,  1143,  1157,    39,   281,   285,
+     232,   286,   738,  -428,   292,  -428,  -428,  -428,  -428,  -428,
+    1191,  -428,    -7,  1314,  -428,   278,  -428,  -428,   -57,  -428,
+     166,   163,  1157,  1157,   159,   -36,  1157,  -428,   165,  -428,
+     -57,  -428,  -428,  -428,  -428,  -428,  -428,  -428,  -428,  -428,
+    -428,  -428,  -428,  -428,  -428,  -428,  -428,  -428,  -428,  -428,
+    -428,  -428,  -428,  -428,  -428,  -428,   255,   594,   167,  -428,
+    -428,  -428,  -428,  -428,  -428,  -428,  -428,  -428,  -428,  -428,
+    -428,   170,   171,   173,   175,   497,  1207,   945,   296,   187,
+     196,   197,  -428,  -428,   192,  -428,   130,   -57,   213,  -428,
+    -428,  -428,  -428,  -428,   287,  1228,   247,   338,   311,  -428,
+    -428,   255,   594,  1157,  1157,  1157,  1157,  1157,  1157,  1157,
+    1157,  1157,  1157,  1157,  1157,  1157,  -428,   311,  -428,   152,
+    -428,  -428,   -43,  1003,  -428,   -41,  -103,  -428,   206,   -57,
+    -428,   192,   192,  -428,  -428,  -428,  -428,  -428,  -428,  -428,
+    -428,  -428,  -428,   214,  -428,  -428,  -428,  -428,  -428,  -428,
+    -428,  -428,  -428,  -428,  -428,  -428,  -428,  -428,  -428,  -428,
+     216,  1143,  1143,  1143,  1143,  1143,  -428,  -428,    17,   987,
+     -18,  -428,   -33,  -428,  1143,  1143,  1143,     8,  -428,   217,
+    -428,   130,   592,  -428,   717,   717,  -428,   717,  1191,  1157,
+    1157,   106,   114,  -428,   592,    31,   236,   239,   240,   241,
+     242,   243,   592,   592,   347,  1191,  1157,  1157,  -428,  -428,
+    -428,  -428,  -428,  -428,  -428,   -40,  -428,  -428,  -428,   -40,
+    -428,  -428,  1143,  1143,  -428,   245,   246,   252,   256,  1143,
+    -428,   238,   738,   -31,  -428,  -428,   257,   259,   351,   371,
+     393,  -428,   192,  1050,  -428,  -428,  -428,  -428,  -428,  -428,
+    -428,  -428,   346,  1143,  -428,  -428,  -428,  -428,   265,  -428,
+     267,   717,   592,   592,    16,  -428,    19,  -428,  -428,   717,
+     263,  1157,  1157,  1157,  1157,  1157,   269,   272,  1157,   717,
+     592,   273,  -428,  -428,  -428,  -428,   275,   283,   -32,  1143,
+    1143,  1143,  1143,  -428,  -428,   290,  1143,  1143,  1157,  -428,
+    -428,  -428,  -428,   -57,   289,   288,  -428,   398,    13,   415,
+     417,   297,   302,   303,   717,   435,   717,   305,   306,   717,
+     307,   -57,  -428,   308,   312,   717,   717,   -57,   310,  -428,
+    1157,  1143,  1143,  1157,  -428,   315,   313,   320,   321,  -428,
+     322,   324,    22,    21,  1088,  -428,   325,  -428,   717,   717,
+    1157,   717,   717,   329,  -428,   329,   717,   330,  1157,  1157,
+    1157,  -428,  -428,  1157,   592,   327,   328,  -428,  1143,  -428,
+    1143,  1143,  -428,  -428,  -428,  -428,  -428,  -428,   -57,    34,
+     440,   333,   331,   592,    72,  -428,  -428,   422,  -428,  -428,
+     336,   717,  -428,  -428,  -428,    75,  -428,  -428,  -428,   340,
+     343,   344,    21,  -428,   423,  -428,   461,    -1,  -428,  1157,
+    -428,  -428,   345,  -428,  -428,  -428,  -428,  -428,   481,  -428,
+     717,  -428,   866,     2,   -43,   592,    44,  -428,   -40,  -428,
+    -428,   353,  -428,   866,  -428,   472,   475,   357,   -43,   717,
+     717,   479,   429,  -428,   717,   482,  -428,   717,  -428
 };
 
 /* YYPGOTO[NTERM-NUM].  */
 static const short int yypgoto[] =
 {
-    -472,   388,   390,   391,   308,   309,  -206,  -472,     0,     3,
-     432,    13,  -472,  -472,  -472,    41,  -472,  -472,  -195,  -311,
-    -402,  -472,  -238,  -472,  -296,    27,  -472,  -189,  -472,  -472,
-     -25,   285,  -273,  -472,   416,   424,   -70,  -109,  -182,   173,
-    -472,  -472,   508,  -472,  -472,  -472,  -472,  -472,  -472,  -472,
-    -472,  -472,  -472,  -472,   443,  -472,  -472,  -472,  -472,  -472,
-    -472,  -471,   -74,   100,  -198,  -472,   475,  -472,  -472,  -472,
-    -472,  -472,    55,   152,  -472,  -472,  -472,  -472
+    -428,   374,   375,   376,   291,   294,  -205,  -428,     0,   -12,
+     416,    14,  -428,  -428,  -428,    57,  -428,  -428,  -150,  -313,
+    -404,  -428,  -237,  -428,  -295,    26,  -428,  -210,  -428,  -428,
+     -24,   270,  -223,  -428,   414,   421,   -69,  -108,  -181,   189,
+    -428,  -428,   505,  -428,  -428,  -428,  -428,  -428,  -428,  -428,
+    -428,  -428,  -428,  -428,   439,  -428,  -428,  -428,  -428,  -428,
+    -428,  -427,   -73,   101,  -197,  -428,   470,  -428,  -428,  -428,
+    -428,  -428,    51,   145,  -428,  -428,  -428,  -428
 };
 
 /* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If
@@ -2018,360 +2016,362 @@
 #define YYTABLE_NINF -179
 static const short int yytable[] =
 {
-      11,    75,   298,   330,   193,   281,   283,   378,    98,   297,
-     297,   114,   454,    13,   299,   395,    11,   200,   304,   395,
-     350,   308,   309,   310,   311,   312,   372,    84,   315,    13,
-     425,   427,   340,   316,   137,    87,   140,   351,    20,   194,
-     340,   345,    23,   390,  -178,   138,   102,     1,     1,   458,
-       3,     3,    21,   331,   332,   -55,   -55,   -55,   -55,   -63,
-       1,     2,   542,     3,     4,     5,     2,   426,   426,     4,
-     129,     6,     7,   548,   102,   142,   143,    24,    77,    78,
-     129,   137,   141,   319,   320,    82,    11,   513,   319,   320,
-       8,    83,   239,     9,   340,    25,   198,    10,   344,   340,
-     393,   321,   322,   394,    26,   346,   321,   322,   236,   237,
-     406,   104,   240,   105,   126,   375,   104,   535,   105,   328,
-     392,   127,    60,    61,    40,   100,    63,    64,    65,    66,
-     340,     1,     2,   295,     3,     4,   296,   341,   201,    79,
-      80,   532,   543,   549,   319,   320,   317,   318,    60,    61,
-      99,   100,    63,    64,    65,    66,    88,     1,     2,    67,
-       3,     4,   321,   322,   412,   444,    58,   350,   499,   445,
-     500,   104,   104,   105,   105,    27,   380,   327,    42,   395,
-      43,   293,   419,    54,   431,    67,   433,   434,   435,   302,
-     303,   293,   305,   306,   293,   293,   293,   293,   293,   313,
-     314,   293,   335,   336,   337,   338,   339,   520,    55,   129,
-     520,   521,   290,    56,   524,   347,   348,   349,   490,   367,
-      36,   367,   367,   546,   367,   104,   395,   105,   395,   377,
-     104,   367,   105,    84,   193,    91,    46,    47,    48,   367,
-     367,    49,   144,   145,   146,   147,   478,    92,   319,   320,
-     106,   107,    93,    68,    96,   343,    69,    95,    97,    70,
-     -56,    71,   101,   397,   398,   393,   321,   322,   394,   194,
-     404,   503,   504,   505,   198,   373,   374,   133,   -57,    68,
-     134,   148,    69,   537,   196,    70,   539,    71,   135,   232,
-     234,   198,   391,   293,   104,   235,   105,   485,   367,   367,
-     367,   238,   319,   320,   241,   272,   367,   273,   274,   275,
-     276,   284,   533,   285,   286,   287,   367,   367,   288,   393,
-     321,   322,   394,   291,   297,   329,   333,   334,   544,   414,
-     446,   447,   448,   449,   354,   389,   381,   451,   452,   382,
-      28,    29,    30,    31,    32,    33,    34,   383,    35,   384,
-     385,   367,   405,   367,   386,   400,   367,   293,   432,   293,
-     293,   293,   367,   367,   438,   115,   116,   117,   118,   119,
-     120,   401,   476,   477,   244,   245,   246,   247,   248,   249,
-     250,   251,   252,   253,   453,   367,   367,   409,   367,   367,
-     410,   402,   403,   367,   407,   369,   370,   408,   371,   411,
-     417,   367,   420,   421,   430,   379,  -177,   436,   456,   510,
-     437,   511,   512,   387,   388,   441,   475,   442,   443,   293,
-     367,   -63,     1,     2,   455,     3,     4,     5,   367,   450,
-     489,   457,   459,     6,     7,   460,   494,    36,   461,   465,
-     462,   463,   444,   467,   293,   293,   293,   469,   470,   494,
-     471,   479,     8,   516,   486,     9,   474,   367,   480,    10,
-     481,   482,   367,   483,   491,   498,   484,   502,   517,   531,
-     255,   256,   422,   423,   424,   508,   367,   367,   509,   426,
-     429,   367,   518,   522,   367,   525,   529,   526,   527,   540,
-     439,   440,   538,   547,   550,   536,   551,   552,    60,    61,
-     555,   100,   108,   109,   110,    66,   556,     1,     2,   558,
-       3,     4,   224,   486,   225,   226,   528,   514,   124,   325,
-     300,   139,   301,   136,    41,   464,   123,   466,    90,   506,
-     468,   428,     0,     0,     0,    67,   472,   473,   257,   258,
-     259,   260,   261,   262,   263,   264,   265,   266,   267,   268,
-     269,   270,     0,     0,     0,     0,     0,     0,     0,   492,
-     493,     0,   496,   497,     0,     0,     0,   501,     0,     0,
-       0,     0,     0,     0,     0,   507,     0,     0,     0,     0,
+      10,    74,   297,   329,   192,   280,   282,   377,    97,   453,
+     296,   113,   394,   296,    12,    10,   394,   199,   303,    83,
+      19,   307,   308,   309,   310,   311,    86,   424,   314,    12,
+     426,   330,   331,   103,    20,   104,   139,     1,   349,   193,
+       3,   327,   -55,   -55,   -55,   -55,   101,    59,    60,    22,
+      99,    62,    63,    64,    65,   350,     1,     2,   298,     3,
+       4,   141,   142,   425,   349,    25,   425,   136,   318,   319,
+     128,   318,   319,   127,   101,   371,   545,   315,   137,   103,
+     128,   104,   140,    66,   512,    10,   320,   321,   392,   320,
+     321,   393,   389,    76,    77,   103,   197,   104,   343,   136,
+      81,   326,   339,   443,   339,   541,    82,   444,   235,   236,
+     238,    23,   239,   345,   534,   405,   547,   339,    59,    60,
+     391,    99,    62,    63,    64,    65,   344,     1,     2,   125,
+       3,     4,   318,   319,     1,    39,   126,     3,   200,    24,
+     548,   531,   411,    26,   542,   318,   319,    87,   339,    98,
+     320,   321,   339,    57,    66,   318,   319,   457,   103,   340,
+     104,   484,   392,   320,   321,   393,    53,   103,   498,   104,
+     499,   379,   392,   320,   321,   393,   394,    67,    78,    79,
+      68,   292,   418,    69,   430,    70,   432,   433,   434,   301,
+     302,   292,   304,   305,   292,   292,   292,   292,   292,   312,
+     313,   292,   334,   335,   336,   337,   338,   519,    54,   128,
+     519,   520,   289,    55,   523,   346,   347,   348,   489,   366,
+      35,   366,   366,   394,   366,   394,    83,    45,    46,    47,
+       2,   366,    48,     4,   192,   143,   144,   145,   146,   366,
+     366,   374,   103,    41,   104,    42,   477,    90,    67,   376,
+     103,    68,   104,    91,    69,   342,    70,   100,   294,   316,
+     317,   295,  -178,   396,   397,   105,   106,    92,    94,   193,
+     403,   502,   503,   504,   197,   372,   373,   -63,     1,     2,
+      95,     3,     4,   536,    96,   132,   538,   133,     5,     6,
+     -56,   197,   390,   292,   -57,   147,   195,   231,   366,   366,
+     366,   233,   234,   237,   240,   271,   366,     7,   272,   273,
+       8,   274,   532,   275,     9,   283,   366,   366,    27,    28,
+      29,    30,    31,    32,    33,   284,    34,   287,   543,   413,
+     445,   446,   447,   448,   285,   286,   290,   450,   451,   243,
+     244,   245,   246,   247,   248,   249,   250,   251,   252,   296,
+     328,   366,   332,   366,   333,   353,   366,   292,   431,   292,
+     292,   292,   366,   366,   437,   114,   115,   116,   117,   118,
+     119,   380,   475,   476,   381,   382,   383,   384,   385,   388,
+     399,   400,   404,   408,   452,   366,   366,   401,   366,   366,
+     409,   402,   406,   366,   407,   368,   369,   410,   370,   416,
+     419,   366,   420,   429,   435,   378,  -177,   436,   440,   509,
+     441,   510,   511,   386,   387,    35,   474,   456,   442,   292,
+     366,   -63,     1,     2,   454,     3,     4,   455,   366,   458,
+     488,   459,     5,     6,   449,   460,   493,   461,   462,   464,
+     443,   466,   468,   469,   292,   292,   292,   470,   473,   493,
+     478,     7,   479,   485,     8,   480,   481,   366,     9,   515,
+     490,   482,   366,   483,   497,   501,   507,   508,   516,   425,
+     528,   517,   421,   422,   423,   530,   366,   366,   521,   524,
+     428,   366,   525,   526,   366,   539,   549,   537,   546,   550,
+     438,   439,   551,   554,   555,   535,   557,   223,   224,   225,
+     527,   123,   299,   324,    59,    60,   300,    99,   107,   108,
+     109,    65,   485,     1,     2,   513,     3,     4,   138,   135,
+      40,   122,    89,   427,   505,   463,     0,   465,     0,     0,
+     467,     0,     0,     0,     0,     0,   471,   472,     0,     0,
+      66,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,   491,
+     492,     0,   495,   496,     0,     0,     0,   500,     0,     0,
+       0,     0,     0,     0,     0,   506,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,   519,   355,   356,     0,     0,    60,
-      61,   357,   523,     0,     0,     0,     0,     0,     1,     2,
-       0,     3,     4,     0,   358,   359,   360,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,   361,   362,    68,
-       0,   541,    69,     0,     0,    70,   545,    71,   282,     0,
-       0,     0,     0,     0,   363,     0,     0,     0,     0,     0,
-     553,   554,     0,     0,     0,   557,     0,     0,   559,     0,
+       0,     0,     0,     0,   518,   354,   355,     0,     0,    59,
+      60,   356,   522,     0,     0,     0,     0,     0,     1,     2,
+       0,     3,     4,   357,   358,   359,   254,   255,     0,     0,
+       0,     0,     0,     0,     0,     0,   360,   361,     0,     0,
+       0,   540,     0,     0,    67,     0,   544,    68,     0,   276,
+      69,     0,    70,   362,     0,     0,     0,     0,     0,     0,
+     552,   553,     0,     0,     0,   556,     0,     0,   558,   151,
      152,   153,   154,   155,   156,   157,   158,   159,   160,   161,
-     162,   163,   164,   165,   166,   167,   168,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,   169,   170,   171,   172,   173,   174,   175,   176,
-     177,   178,   179,   180,   181,     0,   182,     0,   183,   184,
-     185,   355,   356,     0,     0,    60,    61,   357,     0,   104,
-       0,   105,     0,     0,     1,     2,   364,     3,     4,     0,
-     358,   359,   360,     0,     0,     0,    60,    61,     0,     0,
-       0,     0,     0,   361,   362,     1,     2,     0,     3,     4,
-       0,   149,     0,     0,     0,     0,     0,     0,     0,     0,
-     363,     0,     0,     0,   150,   151,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,   152,   153,   154,   155,
+     162,   163,   164,   165,   166,   167,     0,     0,     0,     0,
+       0,     0,     0,     0,   256,   257,   258,   259,   260,   261,
+     262,   263,   264,   265,   266,   267,   268,   269,     0,     0,
+       0,   168,   169,   170,   171,   172,   173,   174,   175,   176,
+     177,   178,   179,   180,     0,   181,     0,   182,   183,   184,
+     354,   355,     0,     0,    59,    60,   356,     0,   103,     0,
+     104,     0,     0,     1,     2,   363,     3,     4,   357,   358,
+     359,     0,     0,     0,     0,    59,    60,     0,     0,     0,
+       0,   360,   361,     0,     1,     2,     0,     3,     4,   148,
+       0,     0,     0,     0,     0,     0,     0,     0,   362,     0,
+       0,     0,   149,   150,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,   151,   152,   153,   154,   155,   156,
+     157,   158,   159,   160,   161,   162,   163,   164,   165,   166,
+     167,     0,     0,     0,     0,   151,   152,   153,   154,   155,
      156,   157,   158,   159,   160,   161,   162,   163,   164,   165,
-     166,   167,   168,     0,     0,     0,     0,   152,   153,   154,
-     155,   156,   157,   158,   159,   160,   161,   162,   163,   164,
-     165,   166,   167,   168,     0,     0,     0,     0,   169,   170,
+     166,   167,     0,     0,     0,     0,   168,   169,   170,   171,
+     172,   173,   174,   175,   176,   177,   178,   179,   180,     0,
+     181,     0,   182,   183,   184,     0,     0,   168,   169,   170,
      171,   172,   173,   174,   175,   176,   177,   178,   179,   180,
-     181,     0,   182,     0,   183,   184,   185,     0,     0,   169,
-     170,   171,   172,   173,   174,   175,   176,   177,   178,   179,
-     180,   181,   364,   182,     0,   183,   184,   185,     0,   355,
-     356,     0,     0,     0,     0,   357,   104,     0,   105,     0,
-     186,     0,     0,   187,     0,   188,     0,   189,   358,   359,
-     360,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,   361,   362,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,    60,    61,   363,   100,
-     108,   109,   110,    66,     0,     1,     2,     0,     3,     4,
-       0,     0,     0,     0,   152,   153,   154,   155,   156,   157,
+     363,   181,     0,   182,   183,   184,     0,     0,     0,   354,
+     355,     0,     0,     0,   103,   356,   104,     0,   185,     0,
+       0,   186,     0,   187,     0,   188,     0,   357,   358,   359,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+     360,   361,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,    59,    60,   362,    99,    62,
+      63,    64,    65,     0,     1,     2,     0,     3,     4,     0,
+       0,     0,     0,   151,   152,   153,   154,   155,   156,   157,
      158,   159,   160,   161,   162,   163,   164,   165,   166,   167,
-     168,     0,     0,    67,     0,     0,     0,     0,     0,     0,
-       0,     0,    60,    61,     0,   100,    63,    64,    65,    66,
-       0,     1,     2,     0,     3,     4,   169,   170,   171,   172,
-     173,   174,   175,   176,   177,   178,   179,   180,   181,   128,
-     182,     0,   183,   184,   185,     0,     0,     0,     0,    67,
-       0,     0,    60,    61,     0,   100,   108,   109,   110,    66,
-     364,     1,     2,     0,     3,     4,     0,    60,    61,     0,
-     100,    63,    64,    65,    66,     0,     1,     2,     0,     3,
-       4,     0,     0,     0,     0,     0,     0,     0,     0,    67,
-       0,     0,     0,     0,   324,     0,     0,    68,     0,     0,
-      69,     0,     0,    70,    67,    71,   342,    60,    61,     0,
-     100,    63,    64,    65,    66,     0,     1,     2,     0,     3,
-       4,     0,     0,    60,    61,     0,   100,    63,    64,    65,
-      66,     0,     1,     2,   413,     3,     4,     0,     0,     0,
-       0,     0,     0,    68,    67,     0,    69,     0,     0,    70,
-     488,    71,     0,     0,     0,     0,     0,     0,    60,    61,
-      67,    62,    63,    64,    65,    66,     0,     1,     2,     0,
-       3,     4,    60,    61,     0,   100,   108,   109,   110,    66,
-       0,     1,     2,    68,     3,     4,    69,     0,   277,    70,
-       0,    71,     0,     0,     0,    67,     0,     0,    68,     0,
-       0,    69,     0,     0,    70,     0,    71,     0,     0,    67,
-      60,    61,     0,   100,    63,    64,    65,    66,     0,     1,
-       2,     0,     3,     4,    60,    61,     0,   197,    63,    64,
-      65,    66,     0,     1,     2,     0,     3,     4,    68,     0,
-       0,    69,     0,     0,    70,     0,    71,    67,     0,     0,
-       0,     0,     0,     0,    68,     0,     0,    69,     0,     0,
-      70,    67,    71,    60,    61,     0,   100,   108,   109,   110,
-      66,     0,     1,     2,     0,     3,     4,     0,    60,    61,
-       0,   292,    63,    64,    65,    66,     0,     1,     2,    68,
-       3,     4,    69,     0,     0,    70,     0,    71,     0,     0,
-      67,     0,     0,    68,     0,     0,    69,     0,     0,    70,
-       0,    71,     0,     0,     0,    67,     0,     0,     0,     0,
+       0,    66,    59,    60,     0,    99,   107,   108,   109,    65,
+       0,     1,     2,     0,     3,     4,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,   168,   169,   170,   171,   172,
+     173,   174,   175,   176,   177,   178,   179,   180,    66,   181,
+       0,   182,   183,   184,    59,    60,     0,    99,   107,   108,
+     109,    65,     0,     1,     2,     0,     3,     4,     0,   363,
+      59,    60,     0,    99,    62,    63,    64,    65,     0,     1,
+       2,     0,     3,     4,     0,     0,     0,     0,     0,     0,
+      66,     0,     0,     0,     0,     0,   323,     0,     0,     0,
+       0,     0,     0,     0,     0,    67,    66,     0,    68,     0,
+       0,    69,     0,    70,   134,     0,     0,    59,    60,     0,
+      99,    62,    63,    64,    65,     0,     1,     2,     0,     3,
+       4,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,    67,   412,     0,    68,     0,     0,    69,     0,
+      70,   281,     0,    66,     0,    59,    60,     0,    99,    62,
+      63,    64,    65,     0,     1,     2,     0,     3,     4,     0,
+       0,     0,     0,    59,    60,     0,    61,    62,    63,    64,
+      65,   487,     1,     2,    67,     3,     4,    68,     0,     0,
+      69,    66,    70,   341,     0,     0,     0,     0,     0,     0,
+      67,     0,     0,    68,     0,     0,    69,     0,    70,    66,
+      59,    60,     0,    99,   107,   108,   109,    65,     0,     1,
+       2,     0,     3,     4,    59,    60,     0,    99,    62,    63,
+      64,    65,     0,     1,     2,     0,     3,     4,     0,     0,
+       0,     0,     0,     0,     0,     0,    66,    67,     0,     0,
+      68,     0,     0,    69,     0,    70,     0,     0,    59,    60,
+      66,   196,    62,    63,    64,    65,     0,     1,     2,     0,
+       3,     4,     0,     0,    59,    60,     0,    99,   107,   108,
+     109,    65,     0,     1,     2,    67,     3,     4,    68,     0,
+       0,    69,     0,    70,    66,    59,    60,     0,   291,    62,
+      63,    64,    65,    67,     1,     2,    68,     3,     4,    69,
+      66,    70,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,    66,     0,     0,     0,     0,     0,     0,     0,     0,
+      67,     0,     0,    68,     0,     0,    69,     0,    70,     0,
+       0,     0,     0,     0,    67,     0,     0,    68,     0,     0,
+      69,     0,    70,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,    68,     0,     0,    69,     0,     0,    70,     0,    71,
-       0,     0,     0,     0,     0,    68,     0,     0,    69,     0,
-       0,    70,     0,    71,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,    67,     0,
+       0,    68,     0,     0,    69,     0,    70,     0,     0,     0,
+       0,     0,     0,     0,    67,   202,     0,    68,     0,     0,
+      69,     0,   279,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,   203,   204,    67,     0,     0,    68,     0,
+       0,    69,     0,    70,     0,   205,   206,   207,   208,   209,
+     210,   151,   152,   153,   154,   155,   156,   157,   158,   159,
+     160,   161,   162,   163,   164,   165,   211,   212,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,   203,     0,
-       0,     0,     0,     0,    68,     0,     0,    69,     0,     0,
-      70,     0,   280,     0,     0,     0,   204,   205,     0,    68,
-       0,     0,    69,     0,     0,    70,     0,    71,   206,   207,
-     208,   209,   210,   211,   152,   153,   154,   155,   156,   157,
-     158,   159,   160,   161,   162,   163,   164,   165,   166,   212,
-     213,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,   214,   215,   216,     0,     0,   217,   170,   171,   172,
-     173,   174,   175,   176,   177,   178,   179,   180,   181,   218,
-     219,   220,   221,   222,   223
+       0,     0,     0,     0,     0,     0,     0,     0,   213,   214,
+     215,     0,     0,   216,   169,   170,   171,   172,   173,   174,
+     175,   176,   177,   178,   179,   180,   217,   218,   219,   220,
+     221,   222
 };
 
 static const short int yycheck[] =
 {
-       0,    26,   208,   241,   113,   187,   188,   303,     4,    11,
-      11,    81,   414,     0,   209,   326,    16,    25,   216,   330,
-      31,   219,   220,   221,   222,   223,   299,    18,   226,    16,
-      11,    11,   136,   228,   136,    26,   106,    48,    47,   113,
-     136,   145,   135,   316,     0,   147,    71,    16,    16,   145,
-      19,    19,    61,   242,   243,     3,     4,     5,     6,    15,
-      16,    17,   533,    19,    20,    21,    17,    48,    48,    20,
-      95,    27,    28,   544,    99,    23,    24,    52,    37,    38,
-     105,   136,   107,   112,   113,    44,    86,   489,   112,   113,
-      46,    50,   147,    49,   136,   135,   121,    53,   280,   136,
-     129,   130,   131,   132,    15,   147,   130,   131,   133,   134,
-     147,   137,   137,   139,   136,   136,   137,   519,   139,   145,
-     318,   143,     7,     8,     0,    10,    11,    12,    13,    14,
-     136,    16,    17,    11,    19,    20,    14,   143,   146,    29,
-      30,   143,   143,   545,   112,   113,   108,   109,     7,     8,
-     146,    10,    11,    12,    13,    14,   147,    16,    17,    44,
-      19,    20,   130,   131,   353,   136,    19,    31,   464,   140,
-     466,   137,   137,   139,   139,   135,   141,   143,    41,   490,
-      43,   206,   364,   135,   382,    44,   384,   385,   386,   214,
-     215,   216,   217,   218,   219,   220,   221,   222,   223,   224,
-     225,   226,   272,   273,   274,   275,   276,   136,   135,   234,
-     136,   140,   199,   141,   140,   285,   286,   287,   456,   293,
-     134,   295,   296,    33,   298,   137,   537,   139,   539,   136,
-     137,   305,   139,    18,   343,    19,    37,    38,    39,   313,
-     314,    42,     3,     4,     5,     6,   444,    19,   112,   113,
-      77,    78,    19,   138,     4,   280,   141,   139,     4,   144,
-       9,   146,   147,   333,   334,   129,   130,   131,   132,   343,
-     340,   469,   470,   471,   299,   300,   301,   142,     9,   138,
-     142,     9,   141,   521,     4,   144,   524,   146,   147,    19,
-     136,   316,   317,   318,   137,   140,   139,   140,   372,   373,
-     374,   145,   112,   113,   140,   139,   380,   139,   139,   139,
-     139,    19,   518,   139,   139,   139,   390,   391,   136,   129,
-     130,   131,   132,    50,    11,   145,   139,   139,   534,   354,
-     400,   401,   402,   403,   139,    33,   136,   407,   408,   136,
-      37,    38,    39,    40,    41,    42,    43,   136,    45,   136,
-     136,   425,   145,   427,   136,   136,   430,   382,   383,   384,
-     385,   386,   436,   437,   389,    55,    56,    57,    58,    59,
-      60,   136,   442,   443,    85,    86,    87,    88,    89,    90,
-      91,    92,    93,    94,   409,   459,   460,    33,   462,   463,
-      19,   136,   136,   467,   136,   295,   296,   136,   298,     4,
-      54,   475,   136,   136,   141,   305,     0,   136,   140,   479,
-     136,   481,   482,   313,   314,   136,   441,   136,   136,   444,
-     494,    15,    16,    17,   136,    19,    20,    21,   502,   145,
-     455,    19,    14,    27,    28,    14,   461,   134,   139,     4,
-     136,   136,   136,   136,   469,   470,   471,   136,   136,   474,
-     136,   136,    46,    19,   454,    49,   139,   531,   140,    53,
-     136,   136,   536,   140,   136,   136,   140,   136,   136,    14,
-      23,    24,   372,   373,   374,   140,   550,   551,   140,    48,
-     380,   555,   141,   143,   558,   140,    48,   140,   140,     4,
-     390,   391,   143,   136,    14,   520,    14,   136,     7,     8,
-      14,    10,    11,    12,    13,    14,    66,    16,    17,    14,
-      19,    20,   124,   513,   124,   124,   513,   490,    86,   234,
-     212,   105,   213,    99,    16,   425,    83,   427,    53,   474,
-     430,   379,    -1,    -1,    -1,    44,   436,   437,    91,    92,
-      93,    94,    95,    96,    97,    98,    99,   100,   101,   102,
-     103,   104,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   459,
-     460,    -1,   462,   463,    -1,    -1,    -1,   467,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,   475,    -1,    -1,    -1,    -1,
+       0,    25,   207,   240,   112,   186,   187,   302,     4,   413,
+      11,    80,   325,    11,     0,    15,   329,    24,   215,    18,
+      46,   218,   219,   220,   221,   222,    25,    11,   225,    15,
+      11,   241,   242,   136,    60,   138,   105,    16,    30,   112,
+      19,   144,     3,     4,     5,     6,    70,     7,     8,   134,
+      10,    11,    12,    13,    14,    47,    16,    17,   208,    19,
+      20,    22,    23,    47,    30,    15,    47,   135,   111,   112,
+      94,   111,   112,    33,    98,   298,    32,   227,   146,   136,
+     104,   138,   106,    43,   488,    85,   129,   130,   128,   129,
+     130,   131,   315,    36,    37,   136,   120,   138,   279,   135,
+      43,   142,   135,   135,   135,   532,    49,   139,   132,   133,
+     146,    51,   136,   146,   518,   146,   543,   135,     7,     8,
+     317,    10,    11,    12,    13,    14,   144,    16,    17,   135,
+      19,    20,   111,   112,    16,     0,   142,    19,   145,   134,
+     544,   142,   352,   134,   142,   111,   112,   146,   135,   145,
+     129,   130,   135,    19,    43,   111,   112,   144,   136,   142,
+     138,   139,   128,   129,   130,   131,   134,   136,   463,   138,
+     465,   140,   128,   129,   130,   131,   489,   137,    28,    29,
+     140,   205,   363,   143,   381,   145,   383,   384,   385,   213,
+     214,   215,   216,   217,   218,   219,   220,   221,   222,   223,
+     224,   225,   271,   272,   273,   274,   275,   135,   134,   233,
+     135,   139,   198,   140,   139,   284,   285,   286,   455,   292,
+     133,   294,   295,   536,   297,   538,    18,    36,    37,    38,
+      17,   304,    41,    20,   342,     3,     4,     5,     6,   312,
+     313,   135,   136,    40,   138,    42,   443,    19,   137,   135,
+     136,   140,   138,    19,   143,   279,   145,   146,    11,   107,
+     108,    14,     0,   332,   333,    76,    77,    19,   138,   342,
+     339,   468,   469,   470,   298,   299,   300,    15,    16,    17,
+       4,    19,    20,   520,     4,   141,   523,   141,    26,    27,
+       9,   315,   316,   317,     9,     9,     4,    19,   371,   372,
+     373,   135,   139,   144,   139,   138,   379,    45,   138,   138,
+      48,   138,   517,   138,    52,    19,   389,   390,    36,    37,
+      38,    39,    40,    41,    42,   138,    44,   135,   533,   353,
+     399,   400,   401,   402,   138,   138,    49,   406,   407,    84,
+      85,    86,    87,    88,    89,    90,    91,    92,    93,    11,
+     144,   424,   138,   426,   138,   138,   429,   381,   382,   383,
+     384,   385,   435,   436,   388,    54,    55,    56,    57,    58,
+      59,   135,   441,   442,   135,   135,   135,   135,   135,    32,
+     135,   135,   144,    32,   408,   458,   459,   135,   461,   462,
+      19,   135,   135,   466,   135,   294,   295,     4,   297,    53,
+     135,   474,   135,   140,   135,   304,     0,   135,   135,   478,
+     135,   480,   481,   312,   313,   133,   440,    19,   135,   443,
+     493,    15,    16,    17,   135,    19,    20,   139,   501,    14,
+     454,    14,    26,    27,   144,   138,   460,   135,   135,     4,
+     135,   135,   135,   135,   468,   469,   470,   135,   138,   473,
+     135,    45,   139,   453,    48,   135,   135,   530,    52,    19,
+     135,   139,   535,   139,   135,   135,   139,   139,   135,    47,
+      47,   140,   371,   372,   373,    14,   549,   550,   142,   139,
+     379,   554,   139,   139,   557,     4,    14,   142,   135,    14,
+     389,   390,   135,    14,    65,   519,    14,   123,   123,   123,
+     512,    85,   211,   233,     7,     8,   212,    10,    11,    12,
+      13,    14,   512,    16,    17,   489,    19,    20,   104,    98,
+      15,    82,    52,   378,   473,   424,    -1,   426,    -1,    -1,
+     429,    -1,    -1,    -1,    -1,    -1,   435,   436,    -1,    -1,
+      43,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   458,
+     459,    -1,   461,   462,    -1,    -1,    -1,   466,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,   474,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,   494,     3,     4,    -1,    -1,     7,
-       8,     9,   502,    -1,    -1,    -1,    -1,    -1,    16,    17,
-      -1,    19,    20,    -1,    22,    23,    24,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    35,    36,   138,
-      -1,   531,   141,    -1,    -1,   144,   536,   146,   147,    -1,
-      -1,    -1,    -1,    -1,    52,    -1,    -1,    -1,    -1,    -1,
-     550,   551,    -1,    -1,    -1,   555,    -1,    -1,   558,    -1,
+      -1,    -1,    -1,    -1,   493,     3,     4,    -1,    -1,     7,
+       8,     9,   501,    -1,    -1,    -1,    -1,    -1,    16,    17,
+      -1,    19,    20,    21,    22,    23,    22,    23,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    34,    35,    -1,    -1,
+      -1,   530,    -1,    -1,   137,    -1,   535,   140,    -1,   142,
+     143,    -1,   145,    51,    -1,    -1,    -1,    -1,    -1,    -1,
+     549,   550,    -1,    -1,    -1,   554,    -1,    -1,   557,    67,
       68,    69,    70,    71,    72,    73,    74,    75,    76,    77,
-      78,    79,    80,    81,    82,    83,    84,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,   110,   111,   112,   113,   114,   115,   116,   117,
-     118,   119,   120,   121,   122,    -1,   124,    -1,   126,   127,
-     128,     3,     4,    -1,    -1,     7,     8,     9,    -1,   137,
-      -1,   139,    -1,    -1,    16,    17,   144,    19,    20,    -1,
-      22,    23,    24,    -1,    -1,    -1,     7,     8,    -1,    -1,
-      -1,    -1,    -1,    35,    36,    16,    17,    -1,    19,    20,
-      -1,    22,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      52,    -1,    -1,    -1,    35,    36,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    68,    69,    70,    71,
+      78,    79,    80,    81,    82,    83,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    90,    91,    92,    93,    94,    95,
+      96,    97,    98,    99,   100,   101,   102,   103,    -1,    -1,
+      -1,   109,   110,   111,   112,   113,   114,   115,   116,   117,
+     118,   119,   120,   121,    -1,   123,    -1,   125,   126,   127,
+       3,     4,    -1,    -1,     7,     8,     9,    -1,   136,    -1,
+     138,    -1,    -1,    16,    17,   143,    19,    20,    21,    22,
+      23,    -1,    -1,    -1,    -1,     7,     8,    -1,    -1,    -1,
+      -1,    34,    35,    -1,    16,    17,    -1,    19,    20,    21,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    51,    -1,
+      -1,    -1,    34,    35,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    67,    68,    69,    70,    71,    72,
+      73,    74,    75,    76,    77,    78,    79,    80,    81,    82,
+      83,    -1,    -1,    -1,    -1,    67,    68,    69,    70,    71,
       72,    73,    74,    75,    76,    77,    78,    79,    80,    81,
-      82,    83,    84,    -1,    -1,    -1,    -1,    68,    69,    70,
-      71,    72,    73,    74,    75,    76,    77,    78,    79,    80,
-      81,    82,    83,    84,    -1,    -1,    -1,    -1,   110,   111,
+      82,    83,    -1,    -1,    -1,    -1,   109,   110,   111,   112,
+     113,   114,   115,   116,   117,   118,   119,   120,   121,    -1,
+     123,    -1,   125,   126,   127,    -1,    -1,   109,   110,   111,
      112,   113,   114,   115,   116,   117,   118,   119,   120,   121,
-     122,    -1,   124,    -1,   126,   127,   128,    -1,    -1,   110,
-     111,   112,   113,   114,   115,   116,   117,   118,   119,   120,
-     121,   122,   144,   124,    -1,   126,   127,   128,    -1,     3,
-       4,    -1,    -1,    -1,    -1,     9,   137,    -1,   139,    -1,
-     141,    -1,    -1,   144,    -1,   146,    -1,   148,    22,    23,
-      24,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    35,    36,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,     7,     8,    52,    10,
-      11,    12,    13,    14,    -1,    16,    17,    -1,    19,    20,
-      -1,    -1,    -1,    -1,    68,    69,    70,    71,    72,    73,
+     143,   123,    -1,   125,   126,   127,    -1,    -1,    -1,     3,
+       4,    -1,    -1,    -1,   136,     9,   138,    -1,   140,    -1,
+      -1,   143,    -1,   145,    -1,   147,    -1,    21,    22,    23,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      34,    35,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,     7,     8,    51,    10,    11,
+      12,    13,    14,    -1,    16,    17,    -1,    19,    20,    -1,
+      -1,    -1,    -1,    67,    68,    69,    70,    71,    72,    73,
       74,    75,    76,    77,    78,    79,    80,    81,    82,    83,
-      84,    -1,    -1,    44,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,     7,     8,    -1,    10,    11,    12,    13,    14,
-      -1,    16,    17,    -1,    19,    20,   110,   111,   112,   113,
-     114,   115,   116,   117,   118,   119,   120,   121,   122,    34,
-     124,    -1,   126,   127,   128,    -1,    -1,    -1,    -1,    44,
-      -1,    -1,     7,     8,    -1,    10,    11,    12,    13,    14,
-     144,    16,    17,    -1,    19,    20,    -1,     7,     8,    -1,
+      -1,    43,     7,     8,    -1,    10,    11,    12,    13,    14,
+      -1,    16,    17,    -1,    19,    20,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,   109,   110,   111,   112,   113,
+     114,   115,   116,   117,   118,   119,   120,   121,    43,   123,
+      -1,   125,   126,   127,     7,     8,    -1,    10,    11,    12,
+      13,    14,    -1,    16,    17,    -1,    19,    20,    -1,   143,
+       7,     8,    -1,    10,    11,    12,    13,    14,    -1,    16,
+      17,    -1,    19,    20,    -1,    -1,    -1,    -1,    -1,    -1,
+      43,    -1,    -1,    -1,    -1,    -1,    33,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,   137,    43,    -1,   140,    -1,
+      -1,   143,    -1,   145,   146,    -1,    -1,     7,     8,    -1,
       10,    11,    12,    13,    14,    -1,    16,    17,    -1,    19,
-      20,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    44,
-      -1,    -1,    -1,    -1,    34,    -1,    -1,   138,    -1,    -1,
-     141,    -1,    -1,   144,    44,   146,   147,     7,     8,    -1,
-      10,    11,    12,    13,    14,    -1,    16,    17,    -1,    19,
-      20,    -1,    -1,     7,     8,    -1,    10,    11,    12,    13,
-      14,    -1,    16,    17,    34,    19,    20,    -1,    -1,    -1,
-      -1,    -1,    -1,   138,    44,    -1,   141,    -1,    -1,   144,
-      34,   146,    -1,    -1,    -1,    -1,    -1,    -1,     7,     8,
-      44,    10,    11,    12,    13,    14,    -1,    16,    17,    -1,
-      19,    20,     7,     8,    -1,    10,    11,    12,    13,    14,
-      -1,    16,    17,   138,    19,    20,   141,    -1,   143,   144,
-      -1,   146,    -1,    -1,    -1,    44,    -1,    -1,   138,    -1,
-      -1,   141,    -1,    -1,   144,    -1,   146,    -1,    -1,    44,
+      20,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,   137,    33,    -1,   140,    -1,    -1,   143,    -1,
+     145,   146,    -1,    43,    -1,     7,     8,    -1,    10,    11,
+      12,    13,    14,    -1,    16,    17,    -1,    19,    20,    -1,
+      -1,    -1,    -1,     7,     8,    -1,    10,    11,    12,    13,
+      14,    33,    16,    17,   137,    19,    20,   140,    -1,    -1,
+     143,    43,   145,   146,    -1,    -1,    -1,    -1,    -1,    -1,
+     137,    -1,    -1,   140,    -1,    -1,   143,    -1,   145,    43,
        7,     8,    -1,    10,    11,    12,    13,    14,    -1,    16,
       17,    -1,    19,    20,     7,     8,    -1,    10,    11,    12,
-      13,    14,    -1,    16,    17,    -1,    19,    20,   138,    -1,
-      -1,   141,    -1,    -1,   144,    -1,   146,    44,    -1,    -1,
-      -1,    -1,    -1,    -1,   138,    -1,    -1,   141,    -1,    -1,
-     144,    44,   146,     7,     8,    -1,    10,    11,    12,    13,
-      14,    -1,    16,    17,    -1,    19,    20,    -1,     7,     8,
-      -1,    10,    11,    12,    13,    14,    -1,    16,    17,   138,
-      19,    20,   141,    -1,    -1,   144,    -1,   146,    -1,    -1,
-      44,    -1,    -1,   138,    -1,    -1,   141,    -1,    -1,   144,
-      -1,   146,    -1,    -1,    -1,    44,    -1,    -1,    -1,    -1,
+      13,    14,    -1,    16,    17,    -1,    19,    20,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    43,   137,    -1,    -1,
+     140,    -1,    -1,   143,    -1,   145,    -1,    -1,     7,     8,
+      43,    10,    11,    12,    13,    14,    -1,    16,    17,    -1,
+      19,    20,    -1,    -1,     7,     8,    -1,    10,    11,    12,
+      13,    14,    -1,    16,    17,   137,    19,    20,   140,    -1,
+      -1,   143,    -1,   145,    43,     7,     8,    -1,    10,    11,
+      12,    13,    14,   137,    16,    17,   140,    19,    20,   143,
+      43,   145,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    43,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+     137,    -1,    -1,   140,    -1,    -1,   143,    -1,   145,    -1,
+      -1,    -1,    -1,    -1,   137,    -1,    -1,   140,    -1,    -1,
+     143,    -1,   145,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,   138,    -1,    -1,   141,    -1,    -1,   144,    -1,   146,
-      -1,    -1,    -1,    -1,    -1,   138,    -1,    -1,   141,    -1,
-      -1,   144,    -1,   146,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   137,    -1,
+      -1,   140,    -1,    -1,   143,    -1,   145,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,   137,    31,    -1,   140,    -1,    -1,
+     143,    -1,   145,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    49,    50,   137,    -1,    -1,   140,    -1,
+      -1,   143,    -1,   145,    -1,    61,    62,    63,    64,    65,
+      66,    67,    68,    69,    70,    71,    72,    73,    74,    75,
+      76,    77,    78,    79,    80,    81,    82,    83,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    32,    -1,
-      -1,    -1,    -1,    -1,   138,    -1,    -1,   141,    -1,    -1,
-     144,    -1,   146,    -1,    -1,    -1,    50,    51,    -1,   138,
-      -1,    -1,   141,    -1,    -1,   144,    -1,   146,    62,    63,
-      64,    65,    66,    67,    68,    69,    70,    71,    72,    73,
-      74,    75,    76,    77,    78,    79,    80,    81,    82,    83,
-      84,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,   105,   106,   107,    -1,    -1,   110,   111,   112,   113,
-     114,   115,   116,   117,   118,   119,   120,   121,   122,   123,
-     124,   125,   126,   127,   128
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   104,   105,
+     106,    -1,    -1,   109,   110,   111,   112,   113,   114,   115,
+     116,   117,   118,   119,   120,   121,   122,   123,   124,   125,
+     126,   127
 };
 
 /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
    symbol of state STATE-NUM.  */
 static const unsigned char yystos[] =
 {
-       0,    16,    17,    19,    20,    21,    27,    28,    46,    49,
-      53,   157,   159,   160,   161,   189,   190,   191,   193,   192,
-      47,    61,   198,   135,    52,   135,    15,   135,    37,    38,
-      39,    40,    41,    42,    43,    45,   134,   162,   163,   164,
-       0,   191,    41,    43,   165,   208,    37,    38,    39,    42,
-     166,   205,   207,   214,   135,   135,   141,   199,    19,   197,
-       7,     8,    10,    11,    12,    13,    14,    44,   138,   141,
-     144,   146,   157,   160,   178,   179,   211,   164,   164,    29,
-      30,   188,   164,   164,    18,   215,   216,    26,   147,   206,
-     215,    19,    19,    19,   200,   139,     4,     4,     4,   146,
-      10,   147,   179,   184,   137,   139,   188,   188,    11,    12,
-      13,   155,   156,   179,   185,    55,    56,    57,    58,    59,
-      60,   167,   203,   203,   159,   219,   136,   143,    34,   179,
-     180,   182,   183,   142,   142,   147,   184,   136,   147,   183,
-     185,   179,    23,    24,     3,     4,     5,     6,     9,    22,
-      35,    36,    68,    69,    70,    71,    72,    73,    74,    75,
-      76,    77,    78,    79,    80,    81,    82,    83,    84,   110,
+       0,    16,    17,    19,    20,    26,    27,    45,    48,    52,
+     156,   158,   159,   160,   188,   189,   190,   192,   191,    46,
+      60,   197,   134,    51,   134,    15,   134,    36,    37,    38,
+      39,    40,    41,    42,    44,   133,   161,   162,   163,     0,
+     190,    40,    42,   164,   207,    36,    37,    38,    41,   165,
+     204,   206,   213,   134,   134,   140,   198,    19,   196,     7,
+       8,    10,    11,    12,    13,    14,    43,   137,   140,   143,
+     145,   156,   159,   177,   178,   210,   163,   163,    28,    29,
+     187,   163,   163,    18,   214,   215,    25,   146,   205,   214,
+      19,    19,    19,   199,   138,     4,     4,     4,   145,    10,
+     146,   178,   183,   136,   138,   187,   187,    11,    12,    13,
+     154,   155,   178,   184,    54,    55,    56,    57,    58,    59,
+     166,   202,   202,   158,   218,   135,   142,    33,   178,   179,
+     181,   182,   141,   141,   146,   183,   135,   146,   182,   184,
+     178,    22,    23,     3,     4,     5,     6,     9,    21,    34,
+      35,    67,    68,    69,    70,    71,    72,    73,    74,    75,
+      76,    77,    78,    79,    80,    81,    82,    83,   109,   110,
      111,   112,   113,   114,   115,   116,   117,   118,   119,   120,
-     121,   122,   124,   126,   127,   128,   141,   144,   146,   148,
-     150,   151,   152,   186,   211,   194,     4,    10,   179,   181,
-      25,   146,   204,    32,    50,    51,    62,    63,    64,    65,
-      66,    67,    83,    84,   105,   106,   107,   110,   123,   124,
-     125,   126,   127,   128,   150,   151,   152,   217,   223,   224,
-     225,   226,    19,   169,   136,   140,   179,   179,   145,   147,
-     179,   140,   195,   196,    85,    86,    87,    88,    89,    90,
-      91,    92,    93,    94,   153,    23,    24,    91,    92,    93,
+     121,   123,   125,   126,   127,   140,   143,   145,   147,   149,
+     150,   151,   185,   210,   193,     4,    10,   178,   180,    24,
+     145,   203,    31,    49,    50,    61,    62,    63,    64,    65,
+      66,    82,    83,   104,   105,   106,   109,   122,   123,   124,
+     125,   126,   127,   149,   150,   151,   216,   222,   223,   224,
+     225,    19,   168,   135,   139,   178,   178,   144,   146,   178,
+     139,   194,   195,    84,    85,    86,    87,    88,    89,    90,
+      91,    92,    93,   152,    22,    23,    90,    91,    92,    93,
       94,    95,    96,    97,    98,    99,   100,   101,   102,   103,
-     104,   154,   139,   139,   139,   139,   139,   143,   185,   187,
-     146,   187,   147,   187,    19,   139,   139,   139,   136,   176,
-     160,    50,    10,   179,   213,    11,    14,    11,   155,   167,
-     153,   154,   179,   179,   213,   179,   179,   220,   213,   213,
-     213,   213,   213,   179,   179,   213,   167,   108,   109,   112,
-     113,   130,   131,   168,    34,   180,   171,   143,   145,   145,
-     171,   176,   176,   139,   139,   185,   185,   185,   185,   185,
-     136,   143,   147,   179,   187,   145,   147,   185,   185,   185,
-      31,    48,   174,   177,   139,     3,     4,     9,    22,    23,
-      24,    35,    36,    52,   144,   186,   210,   211,   212,   212,
-     212,   212,   181,   179,   179,   136,   173,   136,   173,   212,
-     141,   136,   136,   136,   136,   136,   136,   212,   212,    33,
-     181,   179,   213,   129,   132,   168,   170,   185,   185,   222,
-     136,   136,   136,   136,   185,   145,   147,   136,   136,    33,
-      19,     4,   176,    34,   179,   201,   202,    54,   209,   187,
-     136,   136,   212,   212,   212,    11,    48,    11,   222,   212,
-     141,   213,   179,   213,   213,   213,   136,   136,   179,   212,
-     212,   136,   136,   136,   136,   140,   185,   185,   185,   185,
-     145,   185,   185,   179,   169,   136,   140,    19,   145,    14,
-      14,   139,   136,   136,   212,     4,   212,   136,   212,   136,
-     136,   136,   212,   212,   139,   179,   185,   185,   213,   136,
-     140,   136,   136,   140,   140,   140,   157,   158,    34,   179,
-     171,   136,   212,   212,   179,   221,   212,   212,   136,   173,
-     173,   212,   136,   213,   213,   213,   221,   212,   140,   140,
-     185,   185,   185,   169,   174,   175,    19,   136,   141,   212,
-     136,   140,   143,   212,   140,   140,   140,   140,   158,    48,
-     172,    14,   143,   155,   218,   169,   179,   171,   143,   171,
-       4,   212,   210,   143,   155,   212,    33,   136,   210,   169,
-      14,    14,   136,   212,   212,    14,    66,   212,    14,   212
+     153,   138,   138,   138,   138,   138,   142,   184,   186,   145,
+     186,   146,   186,    19,   138,   138,   138,   135,   175,   159,
+      49,    10,   178,   212,    11,    14,    11,   154,   166,   152,
+     153,   178,   178,   212,   178,   178,   219,   212,   212,   212,
+     212,   212,   178,   178,   212,   166,   107,   108,   111,   112,
+     129,   130,   167,    33,   179,   170,   142,   144,   144,   170,
+     175,   175,   138,   138,   184,   184,   184,   184,   184,   135,
+     142,   146,   178,   186,   144,   146,   184,   184,   184,    30,
+      47,   173,   176,   138,     3,     4,     9,    21,    22,    23,
+      34,    35,    51,   143,   185,   209,   210,   211,   211,   211,
+     211,   180,   178,   178,   135,   172,   135,   172,   211,   140,
+     135,   135,   135,   135,   135,   135,   211,   211,    32,   180,
+     178,   212,   128,   131,   167,   169,   184,   184,   221,   135,
+     135,   135,   135,   184,   144,   146,   135,   135,    32,    19,
+       4,   175,    33,   178,   200,   201,    53,   208,   186,   135,
+     135,   211,   211,   211,    11,    47,    11,   221,   211,   140,
+     212,   178,   212,   212,   212,   135,   135,   178,   211,   211,
+     135,   135,   135,   135,   139,   184,   184,   184,   184,   144,
+     184,   184,   178,   168,   135,   139,    19,   144,    14,    14,
+     138,   135,   135,   211,     4,   211,   135,   211,   135,   135,
+     135,   211,   211,   138,   178,   184,   184,   212,   135,   139,
+     135,   135,   139,   139,   139,   156,   157,    33,   178,   170,
+     135,   211,   211,   178,   220,   211,   211,   135,   172,   172,
+     211,   135,   212,   212,   212,   220,   211,   139,   139,   184,
+     184,   184,   168,   173,   174,    19,   135,   140,   211,   135,
+     139,   142,   211,   139,   139,   139,   139,   157,    47,   171,
+      14,   142,   154,   217,   168,   178,   170,   142,   170,     4,
+     211,   209,   142,   154,   211,    32,   135,   209,   168,    14,
+      14,   135,   211,   211,    14,    65,   211,    14,   211
 };
 
 #define yyerrok		(yyerrstatus = 0)
@@ -3041,142 +3041,142 @@
   switch (yyn)
     {
         case 29:
-#line 1099 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1099 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.IPredicate) = ICmpInst::ICMP_EQ; ;}
     break;
 
   case 30:
-#line 1099 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1099 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.IPredicate) = ICmpInst::ICMP_NE; ;}
     break;
 
   case 31:
-#line 1100 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1100 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.IPredicate) = ICmpInst::ICMP_SLT; ;}
     break;
 
   case 32:
-#line 1100 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1100 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.IPredicate) = ICmpInst::ICMP_SGT; ;}
     break;
 
   case 33:
-#line 1101 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1101 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.IPredicate) = ICmpInst::ICMP_SLE; ;}
     break;
 
   case 34:
-#line 1101 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1101 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.IPredicate) = ICmpInst::ICMP_SGE; ;}
     break;
 
   case 35:
-#line 1102 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1102 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.IPredicate) = ICmpInst::ICMP_ULT; ;}
     break;
 
   case 36:
-#line 1102 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1102 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.IPredicate) = ICmpInst::ICMP_UGT; ;}
     break;
 
   case 37:
-#line 1103 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1103 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.IPredicate) = ICmpInst::ICMP_ULE; ;}
     break;
 
   case 38:
-#line 1103 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1103 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.IPredicate) = ICmpInst::ICMP_UGE; ;}
     break;
 
   case 39:
-#line 1107 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1107 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.FPredicate) = FCmpInst::FCMP_OEQ; ;}
     break;
 
   case 40:
-#line 1107 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1107 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.FPredicate) = FCmpInst::FCMP_ONE; ;}
     break;
 
   case 41:
-#line 1108 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1108 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.FPredicate) = FCmpInst::FCMP_OLT; ;}
     break;
 
   case 42:
-#line 1108 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1108 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.FPredicate) = FCmpInst::FCMP_OGT; ;}
     break;
 
   case 43:
-#line 1109 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1109 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.FPredicate) = FCmpInst::FCMP_OLE; ;}
     break;
 
   case 44:
-#line 1109 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1109 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.FPredicate) = FCmpInst::FCMP_OGE; ;}
     break;
 
   case 45:
-#line 1110 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1110 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.FPredicate) = FCmpInst::FCMP_ORD; ;}
     break;
 
   case 46:
-#line 1110 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1110 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.FPredicate) = FCmpInst::FCMP_UNO; ;}
     break;
 
   case 47:
-#line 1111 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1111 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.FPredicate) = FCmpInst::FCMP_UEQ; ;}
     break;
 
   case 48:
-#line 1111 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1111 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.FPredicate) = FCmpInst::FCMP_UNE; ;}
     break;
 
   case 49:
-#line 1112 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1112 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.FPredicate) = FCmpInst::FCMP_ULT; ;}
     break;
 
   case 50:
-#line 1112 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1112 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.FPredicate) = FCmpInst::FCMP_UGT; ;}
     break;
 
   case 51:
-#line 1113 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1113 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.FPredicate) = FCmpInst::FCMP_ULE; ;}
     break;
 
   case 52:
-#line 1113 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1113 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.FPredicate) = FCmpInst::FCMP_UGE; ;}
     break;
 
   case 53:
-#line 1114 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1114 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.FPredicate) = FCmpInst::FCMP_TRUE; ;}
     break;
 
   case 54:
-#line 1115 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1115 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.FPredicate) = FCmpInst::FCMP_FALSE; ;}
     break;
 
   case 61:
-#line 1124 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1124 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.StrVal) = 0; ;}
     break;
 
   case 62:
-#line 1128 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1128 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.StrVal) = (yyvsp[-1].StrVal);
     CHECK_FOR_ERROR
@@ -3184,7 +3184,7 @@
     break;
 
   case 63:
-#line 1132 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1132 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.StrVal) = 0;
     CHECK_FOR_ERROR
@@ -3192,7 +3192,7 @@
     break;
 
   case 66:
-#line 1139 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1139 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.StrVal) = (yyvsp[-1].StrVal);
     CHECK_FOR_ERROR
@@ -3200,7 +3200,7 @@
     break;
 
   case 67:
-#line 1143 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1143 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.StrVal) = 0;
     CHECK_FOR_ERROR
@@ -3208,127 +3208,127 @@
     break;
 
   case 68:
-#line 1149 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1149 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.Linkage) = GlobalValue::InternalLinkage; ;}
     break;
 
   case 69:
-#line 1150 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1150 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.Linkage) = GlobalValue::WeakLinkage; ;}
     break;
 
   case 70:
-#line 1151 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1151 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.Linkage) = GlobalValue::LinkOnceLinkage; ;}
     break;
 
   case 71:
-#line 1152 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1152 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.Linkage) = GlobalValue::AppendingLinkage; ;}
     break;
 
   case 72:
-#line 1153 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1153 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.Linkage) = GlobalValue::DLLExportLinkage; ;}
     break;
 
   case 73:
-#line 1157 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1157 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.Linkage) = GlobalValue::DLLImportLinkage; ;}
     break;
 
   case 74:
-#line 1158 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1158 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.Linkage) = GlobalValue::ExternalWeakLinkage; ;}
     break;
 
   case 75:
-#line 1159 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1159 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.Linkage) = GlobalValue::ExternalLinkage; ;}
     break;
 
   case 76:
-#line 1163 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1163 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.Visibility) = GlobalValue::DefaultVisibility; ;}
     break;
 
   case 77:
-#line 1164 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1164 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.Visibility) = GlobalValue::HiddenVisibility;  ;}
     break;
 
   case 78:
-#line 1168 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1168 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.Linkage) = GlobalValue::ExternalLinkage; ;}
     break;
 
   case 79:
-#line 1169 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1169 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.Linkage) = GlobalValue::DLLImportLinkage; ;}
     break;
 
   case 80:
-#line 1170 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1170 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.Linkage) = GlobalValue::ExternalWeakLinkage; ;}
     break;
 
   case 81:
-#line 1174 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1174 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.Linkage) = GlobalValue::ExternalLinkage; ;}
     break;
 
   case 82:
-#line 1175 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1175 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.Linkage) = GlobalValue::InternalLinkage; ;}
     break;
 
   case 83:
-#line 1176 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1176 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.Linkage) = GlobalValue::LinkOnceLinkage; ;}
     break;
 
   case 84:
-#line 1177 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1177 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.Linkage) = GlobalValue::WeakLinkage; ;}
     break;
 
   case 85:
-#line 1178 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1178 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.Linkage) = GlobalValue::DLLExportLinkage; ;}
     break;
 
   case 86:
-#line 1181 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1181 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.UIntVal) = CallingConv::C; ;}
     break;
 
   case 87:
-#line 1182 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1182 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.UIntVal) = CallingConv::C; ;}
     break;
 
   case 88:
-#line 1183 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1183 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.UIntVal) = CallingConv::Fast; ;}
     break;
 
   case 89:
-#line 1184 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1184 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.UIntVal) = CallingConv::Cold; ;}
     break;
 
   case 90:
-#line 1185 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1185 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.UIntVal) = CallingConv::X86_StdCall; ;}
     break;
 
   case 91:
-#line 1186 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1186 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.UIntVal) = CallingConv::X86_FastCall; ;}
     break;
 
   case 92:
-#line 1187 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1187 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
                    if ((unsigned)(yyvsp[0].UInt64Val) != (yyvsp[0].UInt64Val))
                      GEN_ERROR("Calling conv too large");
@@ -3338,66 +3338,66 @@
     break;
 
   case 93:
-#line 1194 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1194 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.ParamAttrs) = FunctionType::ZExtAttribute;      ;}
     break;
 
   case 94:
-#line 1195 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1195 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.ParamAttrs) = FunctionType::SExtAttribute;      ;}
     break;
 
   case 95:
-#line 1196 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1196 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.ParamAttrs) = FunctionType::InRegAttribute;     ;}
     break;
 
   case 96:
-#line 1197 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1197 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.ParamAttrs) = FunctionType::StructRetAttribute; ;}
     break;
 
   case 97:
-#line 1200 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1200 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.ParamAttrs) = FunctionType::NoAttributeSet; ;}
     break;
 
   case 98:
-#line 1201 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1201 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
                 (yyval.ParamAttrs) = FunctionType::ParameterAttributes((yyvsp[-1].ParamAttrs) | (yyvsp[0].ParamAttrs));
               ;}
     break;
 
   case 99:
-#line 1206 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1206 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.ParamAttrs) = FunctionType::NoReturnAttribute; ;}
     break;
 
   case 100:
-#line 1207 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1207 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.ParamAttrs) = FunctionType::NoUnwindAttribute; ;}
     break;
 
   case 102:
-#line 1211 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1211 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.ParamAttrs) = FunctionType::NoAttributeSet; ;}
     break;
 
   case 103:
-#line 1212 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1212 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
                 (yyval.ParamAttrs) = FunctionType::ParameterAttributes((yyvsp[-1].ParamAttrs) | (yyvsp[0].ParamAttrs));
               ;}
     break;
 
   case 104:
-#line 1219 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1219 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.UIntVal) = 0; ;}
     break;
 
   case 105:
-#line 1220 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1220 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
   (yyval.UIntVal) = (yyvsp[0].UInt64Val);
   if ((yyval.UIntVal) != 0 && !isPowerOf2_32((yyval.UIntVal)))
@@ -3407,12 +3407,12 @@
     break;
 
   case 106:
-#line 1226 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1226 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.UIntVal) = 0; ;}
     break;
 
   case 107:
-#line 1227 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1227 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
   (yyval.UIntVal) = (yyvsp[0].UInt64Val);
   if ((yyval.UIntVal) != 0 && !isPowerOf2_32((yyval.UIntVal)))
@@ -3422,7 +3422,7 @@
     break;
 
   case 108:
-#line 1235 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1235 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
   for (unsigned i = 0, e = strlen((yyvsp[0].StrVal)); i != e; ++i)
     if ((yyvsp[0].StrVal)[i] == '"' || (yyvsp[0].StrVal)[i] == '\\')
@@ -3433,27 +3433,27 @@
     break;
 
   case 109:
-#line 1243 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1243 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.StrVal) = 0; ;}
     break;
 
   case 110:
-#line 1244 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1244 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.StrVal) = (yyvsp[0].StrVal); ;}
     break;
 
   case 111:
-#line 1249 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1249 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {;}
     break;
 
   case 112:
-#line 1250 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1250 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {;}
     break;
 
   case 113:
-#line 1251 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1251 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     CurGV->setSection((yyvsp[0].StrVal));
     free((yyvsp[0].StrVal));
@@ -3462,7 +3462,7 @@
     break;
 
   case 114:
-#line 1256 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1256 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     if ((yyvsp[0].UInt64Val) != 0 && !isPowerOf2_32((yyvsp[0].UInt64Val)))
       GEN_ERROR("Alignment must be a power of two");
@@ -3472,7 +3472,7 @@
     break;
 
   case 119:
-#line 1272 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1272 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.TypeVal) = new PATypeHolder(OpaqueType::get());
     CHECK_FOR_ERROR
@@ -3480,7 +3480,7 @@
     break;
 
   case 120:
-#line 1276 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1276 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.TypeVal) = new PATypeHolder((yyvsp[0].PrimType));
     CHECK_FOR_ERROR
@@ -3488,7 +3488,7 @@
     break;
 
   case 121:
-#line 1280 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1280 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {                             // Pointer type?
     if (*(yyvsp[-1].TypeVal) == Type::LabelTy)
       GEN_ERROR("Cannot form a pointer to a basic block");
@@ -3499,7 +3499,7 @@
     break;
 
   case 122:
-#line 1287 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1287 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {            // Named types are also simple types...
     const Type* tmp = getTypeVal((yyvsp[0].ValIDVal));
     CHECK_FOR_ERROR
@@ -3508,7 +3508,7 @@
     break;
 
   case 123:
-#line 1292 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1292 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {                   // Type UpReference
     if ((yyvsp[0].UInt64Val) > (uint64_t)~0U) GEN_ERROR("Value out of range");
     OpaqueType *OT = OpaqueType::get();        // Use temporary placeholder
@@ -3520,7 +3520,7 @@
     break;
 
   case 124:
-#line 1300 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1300 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     std::vector<const Type*> Params;
     std::vector<FunctionType::ParameterAttributes> Attrs;
@@ -3543,7 +3543,7 @@
     break;
 
   case 125:
-#line 1319 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1319 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     std::vector<const Type*> Params;
     std::vector<FunctionType::ParameterAttributes> Attrs;
@@ -3565,7 +3565,7 @@
     break;
 
   case 126:
-#line 1338 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1338 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {          // Sized array type?
     (yyval.TypeVal) = new PATypeHolder(HandleUpRefs(ArrayType::get(*(yyvsp[-1].TypeVal), (unsigned)(yyvsp[-3].UInt64Val))));
     delete (yyvsp[-1].TypeVal);
@@ -3574,7 +3574,7 @@
     break;
 
   case 127:
-#line 1343 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1343 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {          // Vector type?
      const llvm::Type* ElemTy = (yyvsp[-1].TypeVal)->get();
      if ((unsigned)(yyvsp[-3].UInt64Val) != (yyvsp[-3].UInt64Val))
@@ -3590,7 +3590,7 @@
     break;
 
   case 128:
-#line 1355 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1355 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {                        // Structure type?
     std::vector<const Type*> Elements;
     for (std::list<llvm::PATypeHolder>::iterator I = (yyvsp[-1].TypeList)->begin(),
@@ -3604,7 +3604,7 @@
     break;
 
   case 129:
-#line 1365 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1365 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {                                  // Empty structure type?
     (yyval.TypeVal) = new PATypeHolder(StructType::get(std::vector<const Type*>()));
     CHECK_FOR_ERROR
@@ -3612,7 +3612,7 @@
     break;
 
   case 130:
-#line 1369 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1369 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     std::vector<const Type*> Elements;
     for (std::list<llvm::PATypeHolder>::iterator I = (yyvsp[-2].TypeList)->begin(),
@@ -3626,7 +3626,7 @@
     break;
 
   case 131:
-#line 1379 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1379 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {                         // Empty structure type?
     (yyval.TypeVal) = new PATypeHolder(StructType::get(std::vector<const Type*>(), true));
     CHECK_FOR_ERROR
@@ -3634,7 +3634,7 @@
     break;
 
   case 132:
-#line 1386 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1386 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { 
     (yyval.TypeWithAttrs).Ty = (yyvsp[-1].TypeVal); 
     (yyval.TypeWithAttrs).Attrs = (yyvsp[0].ParamAttrs); 
@@ -3642,7 +3642,7 @@
     break;
 
   case 133:
-#line 1393 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1393 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[0].TypeVal))->getDescription());
@@ -3653,14 +3653,14 @@
     break;
 
   case 134:
-#line 1400 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1400 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.TypeVal) = new PATypeHolder(Type::VoidTy);
   ;}
     break;
 
   case 135:
-#line 1405 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1405 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.TypeWithAttrsList) = new TypeWithAttrsList();
     (yyval.TypeWithAttrsList)->push_back((yyvsp[0].TypeWithAttrs));
@@ -3669,7 +3669,7 @@
     break;
 
   case 136:
-#line 1410 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1410 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     ((yyval.TypeWithAttrsList)=(yyvsp[-2].TypeWithAttrsList))->push_back((yyvsp[0].TypeWithAttrs));
     CHECK_FOR_ERROR
@@ -3677,7 +3677,7 @@
     break;
 
   case 138:
-#line 1418 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1418 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.TypeWithAttrsList)=(yyvsp[-2].TypeWithAttrsList);
     TypeWithAttrs TWA; TWA.Attrs = FunctionType::NoAttributeSet;
@@ -3688,7 +3688,7 @@
     break;
 
   case 139:
-#line 1425 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1425 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.TypeWithAttrsList) = new TypeWithAttrsList;
     TypeWithAttrs TWA; TWA.Attrs = FunctionType::NoAttributeSet;
@@ -3699,7 +3699,7 @@
     break;
 
   case 140:
-#line 1432 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1432 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.TypeWithAttrsList) = new TypeWithAttrsList();
     CHECK_FOR_ERROR
@@ -3707,7 +3707,7 @@
     break;
 
   case 141:
-#line 1440 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1440 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.TypeList) = new std::list<PATypeHolder>();
     (yyval.TypeList)->push_back(*(yyvsp[0].TypeVal)); 
@@ -3717,7 +3717,7 @@
     break;
 
   case 142:
-#line 1446 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1446 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     ((yyval.TypeList)=(yyvsp[-2].TypeList))->push_back(*(yyvsp[0].TypeVal)); 
     delete (yyvsp[0].TypeVal);
@@ -3726,7 +3726,7 @@
     break;
 
   case 143:
-#line 1458 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1458 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { // Nonempty unsized arr
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-3].TypeVal))->getDescription());
@@ -3758,7 +3758,7 @@
     break;
 
   case 144:
-#line 1486 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1486 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-2].TypeVal))->getDescription());
@@ -3778,7 +3778,7 @@
     break;
 
   case 145:
-#line 1502 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1502 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-2].TypeVal))->getDescription());
@@ -3811,7 +3811,7 @@
     break;
 
   case 146:
-#line 1531 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1531 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { // Nonempty unsized arr
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-3].TypeVal))->getDescription());
@@ -3843,7 +3843,7 @@
     break;
 
   case 147:
-#line 1559 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1559 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     const StructType *STy = dyn_cast<StructType>((yyvsp[-3].TypeVal)->get());
     if (STy == 0)
@@ -3872,7 +3872,7 @@
     break;
 
   case 148:
-#line 1584 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1584 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-2].TypeVal))->getDescription());
@@ -3895,7 +3895,7 @@
     break;
 
   case 149:
-#line 1603 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1603 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     const StructType *STy = dyn_cast<StructType>((yyvsp[-5].TypeVal)->get());
     if (STy == 0)
@@ -3925,7 +3925,7 @@
     break;
 
   case 150:
-#line 1629 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1629 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-4].TypeVal))->getDescription());
@@ -3949,7 +3949,7 @@
     break;
 
   case 151:
-#line 1649 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1649 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-1].TypeVal))->getDescription());
@@ -3965,7 +3965,7 @@
     break;
 
   case 152:
-#line 1661 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1661 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-1].TypeVal))->getDescription());
@@ -3976,7 +3976,7 @@
     break;
 
   case 153:
-#line 1668 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1668 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-1].TypeVal))->getDescription());
@@ -4046,7 +4046,7 @@
     break;
 
   case 154:
-#line 1734 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1734 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-1].TypeVal))->getDescription());
@@ -4060,7 +4060,7 @@
     break;
 
   case 155:
-#line 1744 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1744 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-1].TypeVal))->getDescription());
@@ -4074,7 +4074,7 @@
     break;
 
   case 156:
-#line 1754 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1754 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {      // integral constants
     if (!ConstantInt::isValueValidForType((yyvsp[-1].PrimType), (yyvsp[0].SInt64Val)))
       GEN_ERROR("Constant value doesn't fit in type");
@@ -4084,7 +4084,7 @@
     break;
 
   case 157:
-#line 1760 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1760 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {      // arbitrary precision integer constants
     uint32_t BitWidth = cast<IntegerType>((yyvsp[-1].PrimType))->getBitWidth();
     if ((yyvsp[0].APIntVal)->getBitWidth() > BitWidth) {
@@ -4098,7 +4098,7 @@
     break;
 
   case 158:
-#line 1770 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1770 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {      // integral constants
     if (!ConstantInt::isValueValidForType((yyvsp[-1].PrimType), (yyvsp[0].UInt64Val)))
       GEN_ERROR("Constant value doesn't fit in type");
@@ -4108,7 +4108,7 @@
     break;
 
   case 159:
-#line 1776 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1776 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {      // arbitrary precision integer constants
     uint32_t BitWidth = cast<IntegerType>((yyvsp[-1].PrimType))->getBitWidth();
     if ((yyvsp[0].APIntVal)->getBitWidth() > BitWidth) {
@@ -4122,7 +4122,7 @@
     break;
 
   case 160:
-#line 1786 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1786 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {                      // Boolean constants
     assert(cast<IntegerType>((yyvsp[-1].PrimType))->getBitWidth() == 1 && "Not Bool?");
     (yyval.ConstVal) = ConstantInt::getTrue();
@@ -4131,7 +4131,7 @@
     break;
 
   case 161:
-#line 1791 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1791 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {                     // Boolean constants
     assert(cast<IntegerType>((yyvsp[-1].PrimType))->getBitWidth() == 1 && "Not Bool?");
     (yyval.ConstVal) = ConstantInt::getFalse();
@@ -4140,7 +4140,7 @@
     break;
 
   case 162:
-#line 1796 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1796 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {                   // Float & Double constants
     if (!ConstantFP::isValueValidForType((yyvsp[-1].PrimType), (yyvsp[0].FPVal)))
       GEN_ERROR("Floating point constant invalid for type");
@@ -4150,7 +4150,7 @@
     break;
 
   case 163:
-#line 1804 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1804 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-1].TypeVal))->getDescription());
@@ -4166,7 +4166,7 @@
     break;
 
   case 164:
-#line 1816 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1816 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     if (!isa<PointerType>((yyvsp[-2].ConstVal)->getType()))
       GEN_ERROR("GetElementPtr requires a pointer operand");
@@ -4192,7 +4192,7 @@
     break;
 
   case 165:
-#line 1838 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1838 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     if ((yyvsp[-5].ConstVal)->getType() != Type::Int1Ty)
       GEN_ERROR("Select condition must be of boolean type");
@@ -4204,7 +4204,7 @@
     break;
 
   case 166:
-#line 1846 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1846 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     if ((yyvsp[-3].ConstVal)->getType() != (yyvsp[-1].ConstVal)->getType())
       GEN_ERROR("Binary operator types must match");
@@ -4214,7 +4214,7 @@
     break;
 
   case 167:
-#line 1852 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1852 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     if ((yyvsp[-3].ConstVal)->getType() != (yyvsp[-1].ConstVal)->getType())
       GEN_ERROR("Logical operator types must match");
@@ -4229,7 +4229,7 @@
     break;
 
   case 168:
-#line 1863 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1863 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     if ((yyvsp[-3].ConstVal)->getType() != (yyvsp[-1].ConstVal)->getType())
       GEN_ERROR("icmp operand types must match");
@@ -4238,7 +4238,7 @@
     break;
 
   case 169:
-#line 1868 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1868 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     if ((yyvsp[-3].ConstVal)->getType() != (yyvsp[-1].ConstVal)->getType())
       GEN_ERROR("fcmp operand types must match");
@@ -4247,7 +4247,7 @@
     break;
 
   case 170:
-#line 1873 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1873 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     if (!ExtractElementInst::isValidOperands((yyvsp[-3].ConstVal), (yyvsp[-1].ConstVal)))
       GEN_ERROR("Invalid extractelement operands");
@@ -4257,7 +4257,7 @@
     break;
 
   case 171:
-#line 1879 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1879 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     if (!InsertElementInst::isValidOperands((yyvsp[-5].ConstVal), (yyvsp[-3].ConstVal), (yyvsp[-1].ConstVal)))
       GEN_ERROR("Invalid insertelement operands");
@@ -4267,7 +4267,7 @@
     break;
 
   case 172:
-#line 1885 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1885 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     if (!ShuffleVectorInst::isValidOperands((yyvsp[-5].ConstVal), (yyvsp[-3].ConstVal), (yyvsp[-1].ConstVal)))
       GEN_ERROR("Invalid shufflevector operands");
@@ -4277,7 +4277,7 @@
     break;
 
   case 173:
-#line 1894 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1894 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     ((yyval.ConstVector) = (yyvsp[-2].ConstVector))->push_back((yyvsp[0].ConstVal));
     CHECK_FOR_ERROR
@@ -4285,7 +4285,7 @@
     break;
 
   case 174:
-#line 1898 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1898 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ConstVector) = new std::vector<Constant*>();
     (yyval.ConstVector)->push_back((yyvsp[0].ConstVal));
@@ -4294,17 +4294,17 @@
     break;
 
   case 175:
-#line 1906 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1906 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.BoolVal) = false; ;}
     break;
 
   case 176:
-#line 1906 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1906 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.BoolVal) = true; ;}
     break;
 
   case 177:
-#line 1917 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1917 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ModuleVal) = ParserResult = CurModule.CurrentModule;
     CurModule.ModuleDone();
@@ -4313,7 +4313,7 @@
     break;
 
   case 178:
-#line 1922 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1922 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ModuleVal) = ParserResult = CurModule.CurrentModule;
     CurModule.ModuleDone();
@@ -4322,12 +4322,12 @@
     break;
 
   case 181:
-#line 1935 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1935 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { CurFun.isDeclare = false; ;}
     break;
 
   case 182:
-#line 1935 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1935 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     CurFun.FunctionDone();
     CHECK_FOR_ERROR
@@ -4335,42 +4335,26 @@
     break;
 
   case 183:
-#line 1939 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1939 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { CurFun.isDeclare = true; ;}
     break;
 
   case 184:
-#line 1939 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1939 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     CHECK_FOR_ERROR
   ;}
     break;
 
   case 185:
-#line 1942 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1942 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     CHECK_FOR_ERROR
   ;}
     break;
 
   case 186:
-#line 1945 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
-    {
-    // Emit an error if there are any unresolved types left.
-    if (!CurModule.LateResolveTypes.empty()) {
-      const ValID &DID = CurModule.LateResolveTypes.begin()->first;
-      if (DID.Type == ValID::LocalName) {
-        GEN_ERROR("Reference to an undefined type: '"+DID.getName() + "'");
-      } else {
-        GEN_ERROR("Reference to an undefined type: #" + itostr(DID.Num));
-      }
-    }
-    CHECK_FOR_ERROR
-  ;}
-    break;
-
-  case 187:
-#line 1957 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1945 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[0].TypeVal))->getDescription());
@@ -4397,8 +4381,8 @@
   ;}
     break;
 
-  case 188:
-#line 1981 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 187:
+#line 1969 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     ResolveTypeTo((yyvsp[-2].StrVal), (yyvsp[0].PrimType));
 
@@ -4412,8 +4396,8 @@
   ;}
     break;
 
-  case 189:
-#line 1992 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 188:
+#line 1980 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { 
     /* "Externally Visible" Linkage */
     if ((yyvsp[0].ConstVal) == 0) 
@@ -4424,15 +4408,15 @@
   ;}
     break;
 
-  case 190:
-#line 1999 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 189:
+#line 1987 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     CurGV = 0;
   ;}
     break;
 
-  case 191:
-#line 2002 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 190:
+#line 1990 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     if ((yyvsp[0].ConstVal) == 0) 
       GEN_ERROR("Global value initializer is not a constant");
@@ -4441,15 +4425,15 @@
   ;}
     break;
 
-  case 192:
-#line 2007 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 191:
+#line 1995 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     CurGV = 0;
   ;}
     break;
 
-  case 193:
-#line 2010 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 192:
+#line 1998 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[0].TypeVal))->getDescription());
@@ -4459,30 +4443,30 @@
   ;}
     break;
 
-  case 194:
-#line 2016 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 193:
+#line 2004 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     CurGV = 0;
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 195:
-#line 2020 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 194:
+#line 2008 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { 
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 196:
-#line 2023 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 195:
+#line 2011 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 197:
-#line 2029 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 196:
+#line 2017 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
   const std::string &AsmSoFar = CurModule.CurrentModule->getModuleInlineAsm();
   char *EndStr = UnEscapeLexed((yyvsp[0].StrVal), true);
@@ -4497,24 +4481,33 @@
 ;}
     break;
 
-  case 198:
-#line 2042 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 197:
+#line 2030 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     CurModule.CurrentModule->setTargetTriple((yyvsp[0].StrVal));
     free((yyvsp[0].StrVal));
   ;}
     break;
 
-  case 199:
-#line 2046 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 198:
+#line 2034 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     CurModule.CurrentModule->setDataLayout((yyvsp[0].StrVal));
     free((yyvsp[0].StrVal));
   ;}
     break;
 
+  case 200:
+#line 2041 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+    {
+          CurModule.CurrentModule->addLibrary((yyvsp[0].StrVal));
+          free((yyvsp[0].StrVal));
+          CHECK_FOR_ERROR
+        ;}
+    break;
+
   case 201:
-#line 2053 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 2046 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
           CurModule.CurrentModule->addLibrary((yyvsp[0].StrVal));
           free((yyvsp[0].StrVal));
@@ -4523,23 +4516,14 @@
     break;
 
   case 202:
-#line 2058 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 2051 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
-          CurModule.CurrentModule->addLibrary((yyvsp[0].StrVal));
-          free((yyvsp[0].StrVal));
           CHECK_FOR_ERROR
         ;}
     break;
 
   case 203:
-#line 2063 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
-    {
-          CHECK_FOR_ERROR
-        ;}
-    break;
-
-  case 204:
-#line 2072 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 2060 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-2].TypeVal))->getDescription());
@@ -4552,8 +4536,8 @@
   ;}
     break;
 
-  case 205:
-#line 2082 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 204:
+#line 2070 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-2].TypeVal))->getDescription());
@@ -4566,16 +4550,16 @@
   ;}
     break;
 
-  case 206:
-#line 2093 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 205:
+#line 2081 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ArgList) = (yyvsp[0].ArgList);
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 207:
-#line 2097 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 206:
+#line 2085 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ArgList) = (yyvsp[-2].ArgList);
     struct ArgListEntry E;
@@ -4587,8 +4571,8 @@
   ;}
     break;
 
-  case 208:
-#line 2106 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 207:
+#line 2094 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ArgList) = new ArgListType;
     struct ArgListEntry E;
@@ -4600,16 +4584,16 @@
   ;}
     break;
 
-  case 209:
-#line 2115 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 208:
+#line 2103 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ArgList) = 0;
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 210:
-#line 2121 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 209:
+#line 2109 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
   UnEscapeLexed((yyvsp[-6].StrVal));
   std::string FunctionName((yyvsp[-6].StrVal));
@@ -4722,8 +4706,8 @@
 ;}
     break;
 
-  case 213:
-#line 2234 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 212:
+#line 2222 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
   (yyval.FunctionVal) = CurFun.CurrentFunction;
 
@@ -4734,16 +4718,16 @@
 ;}
     break;
 
-  case 216:
-#line 2245 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 215:
+#line 2233 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
   (yyval.FunctionVal) = (yyvsp[-1].FunctionVal);
   CHECK_FOR_ERROR
 ;}
     break;
 
-  case 217:
-#line 2250 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 216:
+#line 2238 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     CurFun.CurrentFunction->setLinkage((yyvsp[-2].Linkage));
     CurFun.CurrentFunction->setVisibility((yyvsp[-1].Visibility));
@@ -4753,88 +4737,88 @@
   ;}
     break;
 
-  case 218:
-#line 2262 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 217:
+#line 2250 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.BoolVal) = false;
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 219:
-#line 2266 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 218:
+#line 2254 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.BoolVal) = true;
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 220:
-#line 2271 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 219:
+#line 2259 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {    // A reference to a direct constant
     (yyval.ValIDVal) = ValID::create((yyvsp[0].SInt64Val));
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 221:
-#line 2275 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 220:
+#line 2263 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ValIDVal) = ValID::create((yyvsp[0].UInt64Val));
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 222:
-#line 2279 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 221:
+#line 2267 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {                     // Perhaps it's an FP constant?
     (yyval.ValIDVal) = ValID::create((yyvsp[0].FPVal));
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 223:
-#line 2283 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 222:
+#line 2271 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ValIDVal) = ValID::create(ConstantInt::getTrue());
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 224:
-#line 2287 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 223:
+#line 2275 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ValIDVal) = ValID::create(ConstantInt::getFalse());
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 225:
-#line 2291 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 224:
+#line 2279 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ValIDVal) = ValID::createNull();
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 226:
-#line 2295 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 225:
+#line 2283 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ValIDVal) = ValID::createUndef();
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 227:
-#line 2299 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 226:
+#line 2287 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {     // A vector zero constant.
     (yyval.ValIDVal) = ValID::createZeroInit();
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 228:
-#line 2303 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 227:
+#line 2291 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { // Nonempty unsized packed vector
     const Type *ETy = (*(yyvsp[-1].ConstVector))[0]->getType();
     int NumElements = (yyvsp[-1].ConstVector)->size(); 
@@ -4862,16 +4846,16 @@
   ;}
     break;
 
-  case 229:
-#line 2328 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 228:
+#line 2316 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ValIDVal) = ValID::create((yyvsp[0].ConstVal));
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 230:
-#line 2332 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 229:
+#line 2320 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     char *End = UnEscapeLexed((yyvsp[-2].StrVal), true);
     std::string AsmStr = std::string((yyvsp[-2].StrVal), End);
@@ -4884,40 +4868,40 @@
   ;}
     break;
 
-  case 231:
-#line 2346 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 230:
+#line 2334 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {  // Is it an integer reference...?
     (yyval.ValIDVal) = ValID::createLocalID((yyvsp[0].UIntVal));
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 232:
-#line 2350 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 231:
+#line 2338 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ValIDVal) = ValID::createGlobalID((yyvsp[0].UIntVal));
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 233:
-#line 2354 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 232:
+#line 2342 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {                   // Is it a named reference...?
     (yyval.ValIDVal) = ValID::createLocalName((yyvsp[0].StrVal));
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 234:
-#line 2358 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 233:
+#line 2346 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {                   // Is it a named reference...?
     (yyval.ValIDVal) = ValID::createGlobalName((yyvsp[0].StrVal));
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 237:
-#line 2370 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 236:
+#line 2358 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-1].TypeVal))->getDescription());
@@ -4927,24 +4911,24 @@
   ;}
     break;
 
-  case 238:
-#line 2379 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 237:
+#line 2367 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.FunctionVal) = (yyvsp[-1].FunctionVal);
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 239:
-#line 2383 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 238:
+#line 2371 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { // Do not allow functions with 0 basic blocks   
     (yyval.FunctionVal) = (yyvsp[-1].FunctionVal);
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 240:
-#line 2392 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 239:
+#line 2380 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     setValueName((yyvsp[0].TermInstVal), (yyvsp[-1].StrVal));
     CHECK_FOR_ERROR
@@ -4955,8 +4939,8 @@
   ;}
     break;
 
-  case 241:
-#line 2401 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 240:
+#line 2389 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     if (CastInst *CI1 = dyn_cast<CastInst>((yyvsp[0].InstVal)))
       if (CastInst *CI2 = dyn_cast<CastInst>(CI1->getOperand(0)))
@@ -4968,40 +4952,40 @@
   ;}
     break;
 
-  case 242:
-#line 2410 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 241:
+#line 2398 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {          // Empty space between instruction lists
     (yyval.BasicBlockVal) = defineBBVal(ValID::createLocalID(CurFun.NextValNum));
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 243:
-#line 2414 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 242:
+#line 2402 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {             // Labelled (named) basic block
     (yyval.BasicBlockVal) = defineBBVal(ValID::createLocalName((yyvsp[0].StrVal)));
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 244:
-#line 2419 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 243:
+#line 2407 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {              // Return with a result...
     (yyval.TermInstVal) = new ReturnInst((yyvsp[0].ValueVal));
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 245:
-#line 2423 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 244:
+#line 2411 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {                                    // Return with no result...
     (yyval.TermInstVal) = new ReturnInst();
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 246:
-#line 2427 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 245:
+#line 2415 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {                           // Unconditional Branch...
     BasicBlock* tmpBB = getBBVal((yyvsp[0].ValIDVal));
     CHECK_FOR_ERROR
@@ -5009,8 +4993,8 @@
   ;}
     break;
 
-  case 247:
-#line 2432 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 246:
+#line 2420 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {  
     assert(cast<IntegerType>((yyvsp[-7].PrimType))->getBitWidth() == 1 && "Not Bool?");
     BasicBlock* tmpBBA = getBBVal((yyvsp[-3].ValIDVal));
@@ -5023,8 +5007,8 @@
   ;}
     break;
 
-  case 248:
-#line 2442 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 247:
+#line 2430 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     Value* tmpVal = getVal((yyvsp[-7].PrimType), (yyvsp[-6].ValIDVal));
     CHECK_FOR_ERROR
@@ -5046,8 +5030,8 @@
   ;}
     break;
 
-  case 249:
-#line 2461 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 248:
+#line 2449 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     Value* tmpVal = getVal((yyvsp[-6].PrimType), (yyvsp[-5].ValIDVal));
     CHECK_FOR_ERROR
@@ -5059,8 +5043,8 @@
   ;}
     break;
 
-  case 250:
-#line 2471 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 249:
+#line 2459 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
 
     // Handle the short syntax
@@ -5131,24 +5115,24 @@
   ;}
     break;
 
-  case 251:
-#line 2539 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 250:
+#line 2527 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.TermInstVal) = new UnwindInst();
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 252:
-#line 2543 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 251:
+#line 2531 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.TermInstVal) = new UnreachableInst();
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 253:
-#line 2550 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 252:
+#line 2538 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.JumpTable) = (yyvsp[-5].JumpTable);
     Constant *V = cast<Constant>(getExistingVal((yyvsp[-4].PrimType), (yyvsp[-3].ValIDVal)));
@@ -5162,8 +5146,8 @@
   ;}
     break;
 
-  case 254:
-#line 2561 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 253:
+#line 2549 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.JumpTable) = new std::vector<std::pair<Constant*, BasicBlock*> >();
     Constant *V = cast<Constant>(getExistingVal((yyvsp[-4].PrimType), (yyvsp[-3].ValIDVal)));
@@ -5178,8 +5162,8 @@
   ;}
     break;
 
-  case 255:
-#line 2574 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 254:
+#line 2562 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     // Is this definition named?? if so, assign the name...
     setValueName((yyvsp[0].InstVal), (yyvsp[-1].StrVal));
@@ -5190,8 +5174,8 @@
   ;}
     break;
 
-  case 256:
-#line 2584 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 255:
+#line 2572 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {    // Used for PHI nodes
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-5].TypeVal))->getDescription());
@@ -5205,8 +5189,8 @@
   ;}
     break;
 
-  case 257:
-#line 2595 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 256:
+#line 2583 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.PHIList) = (yyvsp[-6].PHIList);
     Value* tmpVal = getVal((yyvsp[-6].PHIList)->front().first->getType(), (yyvsp[-3].ValIDVal));
@@ -5217,8 +5201,8 @@
   ;}
     break;
 
-  case 258:
-#line 2605 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 257:
+#line 2593 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {    
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-2].TypeVal))->getDescription());
@@ -5230,8 +5214,8 @@
   ;}
     break;
 
-  case 259:
-#line 2614 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 258:
+#line 2602 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-2].TypeVal))->getDescription());
@@ -5243,18 +5227,18 @@
   ;}
     break;
 
-  case 260:
-#line 2623 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 259:
+#line 2611 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.ValueRefList) = new ValueRefList(); ;}
     break;
 
-  case 261:
-#line 2626 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 260:
+#line 2614 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.ValueList) = new std::vector<Value*>(); ;}
     break;
 
-  case 262:
-#line 2627 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 261:
+#line 2615 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ValueList) = (yyvsp[-2].ValueList);
     (yyval.ValueList)->push_back((yyvsp[0].ValueVal));
@@ -5262,24 +5246,24 @@
   ;}
     break;
 
-  case 263:
-#line 2634 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 262:
+#line 2622 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.BoolVal) = true;
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 264:
-#line 2638 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 263:
+#line 2626 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.BoolVal) = false;
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 265:
-#line 2643 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 264:
+#line 2631 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-3].TypeVal))->getDescription());
@@ -5303,8 +5287,8 @@
   ;}
     break;
 
-  case 266:
-#line 2664 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 265:
+#line 2652 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-3].TypeVal))->getDescription());
@@ -5324,8 +5308,8 @@
   ;}
     break;
 
-  case 267:
-#line 2681 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 266:
+#line 2669 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-3].TypeVal))->getDescription());
@@ -5342,8 +5326,8 @@
   ;}
     break;
 
-  case 268:
-#line 2695 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 267:
+#line 2683 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-3].TypeVal))->getDescription());
@@ -5360,8 +5344,8 @@
   ;}
     break;
 
-  case 269:
-#line 2709 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 268:
+#line 2697 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[0].TypeVal))->getDescription());
@@ -5376,8 +5360,8 @@
   ;}
     break;
 
-  case 270:
-#line 2721 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 269:
+#line 2709 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     if ((yyvsp[-4].ValueVal)->getType() != Type::Int1Ty)
       GEN_ERROR("select condition must be boolean");
@@ -5388,8 +5372,8 @@
   ;}
     break;
 
-  case 271:
-#line 2729 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 270:
+#line 2717 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[0].TypeVal))->getDescription());
@@ -5399,8 +5383,8 @@
   ;}
     break;
 
-  case 272:
-#line 2736 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 271:
+#line 2724 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     if (!ExtractElementInst::isValidOperands((yyvsp[-2].ValueVal), (yyvsp[0].ValueVal)))
       GEN_ERROR("Invalid extractelement operands");
@@ -5409,8 +5393,8 @@
   ;}
     break;
 
-  case 273:
-#line 2742 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 272:
+#line 2730 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     if (!InsertElementInst::isValidOperands((yyvsp[-4].ValueVal), (yyvsp[-2].ValueVal), (yyvsp[0].ValueVal)))
       GEN_ERROR("Invalid insertelement operands");
@@ -5419,8 +5403,8 @@
   ;}
     break;
 
-  case 274:
-#line 2748 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 273:
+#line 2736 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     if (!ShuffleVectorInst::isValidOperands((yyvsp[-4].ValueVal), (yyvsp[-2].ValueVal), (yyvsp[0].ValueVal)))
       GEN_ERROR("Invalid shufflevector operands");
@@ -5429,8 +5413,8 @@
   ;}
     break;
 
-  case 275:
-#line 2754 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 274:
+#line 2742 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     const Type *Ty = (yyvsp[0].PHIList)->front().first->getType();
     if (!Ty->isFirstClassType())
@@ -5448,8 +5432,8 @@
   ;}
     break;
 
-  case 276:
-#line 2770 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 275:
+#line 2758 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
 
     // Handle the short syntax
@@ -5515,32 +5499,32 @@
   ;}
     break;
 
-  case 277:
-#line 2833 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 276:
+#line 2821 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.InstVal) = (yyvsp[0].InstVal);
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 278:
-#line 2838 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 277:
+#line 2826 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.BoolVal) = true;
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 279:
-#line 2842 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 278:
+#line 2830 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.BoolVal) = false;
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 280:
-#line 2849 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 279:
+#line 2837 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-1].TypeVal))->getDescription());
@@ -5550,8 +5534,8 @@
   ;}
     break;
 
-  case 281:
-#line 2856 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 280:
+#line 2844 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-4].TypeVal))->getDescription());
@@ -5562,8 +5546,8 @@
   ;}
     break;
 
-  case 282:
-#line 2864 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 281:
+#line 2852 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-1].TypeVal))->getDescription());
@@ -5573,8 +5557,8 @@
   ;}
     break;
 
-  case 283:
-#line 2871 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 282:
+#line 2859 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-4].TypeVal))->getDescription());
@@ -5585,8 +5569,8 @@
   ;}
     break;
 
-  case 284:
-#line 2879 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 283:
+#line 2867 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     if (!isa<PointerType>((yyvsp[0].ValueVal)->getType()))
       GEN_ERROR("Trying to free nonpointer type " + 
@@ -5596,8 +5580,8 @@
   ;}
     break;
 
-  case 285:
-#line 2887 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 284:
+#line 2875 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-1].TypeVal))->getDescription());
@@ -5614,8 +5598,8 @@
   ;}
     break;
 
-  case 286:
-#line 2901 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 285:
+#line 2889 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-1].TypeVal))->getDescription());
@@ -5635,8 +5619,8 @@
   ;}
     break;
 
-  case 287:
-#line 2918 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 286:
+#line 2906 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-2].TypeVal))->getDescription());
@@ -5659,7 +5643,7 @@
     }
 
 /* Line 1126 of yacc.c.  */
-#line 5663 "llvmAsmParser.tab.c"
+#line 5647 "llvmAsmParser.tab.c"
 
   yyvsp -= yylen;
   yyssp -= yylen;
@@ -5927,7 +5911,7 @@
 }
 
 
-#line 2935 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 2923 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
 
 
 // common code from the two 'RunVMAsmParser' functions