Regenerate.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32152 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/AsmParser/llvmAsmParser.cpp.cvs b/lib/AsmParser/llvmAsmParser.cpp.cvs
index 125ece6..981ca53 100644
--- a/lib/AsmParser/llvmAsmParser.cpp.cvs
+++ b/lib/AsmParser/llvmAsmParser.cpp.cvs
@@ -169,49 +169,45 @@
      UGT = 360,
      ULE = 361,
      UGE = 362,
-     ORDEQ = 363,
-     ORDNE = 364,
-     ORDLT = 365,
-     ORDGT = 366,
-     ORDLE = 367,
-     ORDGE = 368,
+     OEQ = 363,
+     ONE = 364,
+     OLT = 365,
+     OGT = 366,
+     OLE = 367,
+     OGE = 368,
      ORD = 369,
      UNO = 370,
-     UNOEQ = 371,
-     UNONE = 372,
-     UNOLT = 373,
-     UNOGT = 374,
-     UNOLE = 375,
-     UNOGE = 376,
-     MALLOC = 377,
-     ALLOCA = 378,
-     FREE = 379,
-     LOAD = 380,
-     STORE = 381,
-     GETELEMENTPTR = 382,
-     TRUNC = 383,
-     ZEXT = 384,
-     SEXT = 385,
-     FPTRUNC = 386,
-     FPEXT = 387,
-     BITCAST = 388,
-     UITOFP = 389,
-     SITOFP = 390,
-     FPTOUI = 391,
-     FPTOSI = 392,
-     INTTOPTR = 393,
-     PTRTOINT = 394,
-     PHI_TOK = 395,
-     SELECT = 396,
-     SHL = 397,
-     LSHR = 398,
-     ASHR = 399,
-     VAARG = 400,
-     EXTRACTELEMENT = 401,
-     INSERTELEMENT = 402,
-     SHUFFLEVECTOR = 403,
-     VAARG_old = 404,
-     VANEXT_old = 405
+     UEQ = 371,
+     UNE = 372,
+     MALLOC = 373,
+     ALLOCA = 374,
+     FREE = 375,
+     LOAD = 376,
+     STORE = 377,
+     GETELEMENTPTR = 378,
+     TRUNC = 379,
+     ZEXT = 380,
+     SEXT = 381,
+     FPTRUNC = 382,
+     FPEXT = 383,
+     BITCAST = 384,
+     UITOFP = 385,
+     SITOFP = 386,
+     FPTOUI = 387,
+     FPTOSI = 388,
+     INTTOPTR = 389,
+     PTRTOINT = 390,
+     PHI_TOK = 391,
+     SELECT = 392,
+     SHL = 393,
+     LSHR = 394,
+     ASHR = 395,
+     VAARG = 396,
+     EXTRACTELEMENT = 397,
+     INSERTELEMENT = 398,
+     SHUFFLEVECTOR = 399,
+     VAARG_old = 400,
+     VANEXT_old = 401
    };
 #endif
 /* Tokens.  */
@@ -320,49 +316,45 @@
 #define UGT 360
 #define ULE 361
 #define UGE 362
-#define ORDEQ 363
-#define ORDNE 364
-#define ORDLT 365
-#define ORDGT 366
-#define ORDLE 367
-#define ORDGE 368
+#define OEQ 363
+#define ONE 364
+#define OLT 365
+#define OGT 366
+#define OLE 367
+#define OGE 368
 #define ORD 369
 #define UNO 370
-#define UNOEQ 371
-#define UNONE 372
-#define UNOLT 373
-#define UNOGT 374
-#define UNOLE 375
-#define UNOGE 376
-#define MALLOC 377
-#define ALLOCA 378
-#define FREE 379
-#define LOAD 380
-#define STORE 381
-#define GETELEMENTPTR 382
-#define TRUNC 383
-#define ZEXT 384
-#define SEXT 385
-#define FPTRUNC 386
-#define FPEXT 387
-#define BITCAST 388
-#define UITOFP 389
-#define SITOFP 390
-#define FPTOUI 391
-#define FPTOSI 392
-#define INTTOPTR 393
-#define PTRTOINT 394
-#define PHI_TOK 395
-#define SELECT 396
-#define SHL 397
-#define LSHR 398
-#define ASHR 399
-#define VAARG 400
-#define EXTRACTELEMENT 401
-#define INSERTELEMENT 402
-#define SHUFFLEVECTOR 403
-#define VAARG_old 404
-#define VANEXT_old 405
+#define UEQ 371
+#define UNE 372
+#define MALLOC 373
+#define ALLOCA 374
+#define FREE 375
+#define LOAD 376
+#define STORE 377
+#define GETELEMENTPTR 378
+#define TRUNC 379
+#define ZEXT 380
+#define SEXT 381
+#define FPTRUNC 382
+#define FPEXT 383
+#define BITCAST 384
+#define UITOFP 385
+#define SITOFP 386
+#define FPTOUI 387
+#define FPTOSI 388
+#define INTTOPTR 389
+#define PTRTOINT 390
+#define PHI_TOK 391
+#define SELECT 392
+#define SHL 393
+#define LSHR 394
+#define ASHR 395
+#define VAARG 396
+#define EXTRACTELEMENT 397
+#define INSERTELEMENT 398
+#define SHUFFLEVECTOR 399
+#define VAARG_old 400
+#define VANEXT_old 401
 
 
 
@@ -1386,7 +1378,7 @@
   llvm::FCmpInst::Predicate         FPredicate;
 } YYSTYPE;
 /* Line 196 of yacc.c.  */
-#line 1390 "llvmAsmParser.tab.c"
+#line 1382 "llvmAsmParser.tab.c"
 # define yystype YYSTYPE /* obsolescent; will be withdrawn */
 # define YYSTYPE_IS_DECLARED 1
 # define YYSTYPE_IS_TRIVIAL 1
@@ -1398,7 +1390,7 @@
 
 
 /* Line 219 of yacc.c.  */
-#line 1402 "llvmAsmParser.tab.c"
+#line 1394 "llvmAsmParser.tab.c"
 
 #if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__)
 # define YYSIZE_T __SIZE_TYPE__
@@ -1549,20 +1541,20 @@
 /* YYFINAL -- State number of the termination state. */
 #define YYFINAL  4
 /* YYLAST -- Last index in YYTABLE.  */
-#define YYLAST   1503
+#define YYLAST   1433
 
 /* YYNTOKENS -- Number of terminals. */
-#define YYNTOKENS  165
+#define YYNTOKENS  161
 /* YYNNTS -- Number of nonterminals. */
 #define YYNNTS  78
 /* YYNRULES -- Number of rules. */
-#define YYNRULES  297
+#define YYNRULES  299
 /* YYNRULES -- Number of states. */
-#define YYNSTATES  586
+#define YYNSTATES  588
 
 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
 #define YYUNDEFTOK  2
-#define YYMAXUTOK   405
+#define YYMAXUTOK   401
 
 #define YYTRANSLATE(YYX)						\
   ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
@@ -1574,15 +1566,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,
-     154,   155,   163,     2,   152,     2,     2,     2,     2,     2,
+     150,   151,   159,     2,   148,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     159,   151,   160,     2,     2,     2,     2,     2,     2,     2,
+     155,   147,   156,     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,   156,   153,   158,     2,     2,     2,     2,     2,   164,
+       2,   152,   149,   154,     2,     2,     2,     2,     2,   160,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     157,     2,     2,   161,     2,   162,     2,     2,     2,     2,
+     153,     2,     2,   157,     2,   158,     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,
@@ -1610,7 +1602,7 @@
      115,   116,   117,   118,   119,   120,   121,   122,   123,   124,
      125,   126,   127,   128,   129,   130,   131,   132,   133,   134,
      135,   136,   137,   138,   139,   140,   141,   142,   143,   144,
-     145,   146,   147,   148,   149,   150
+     145,   146
 };
 
 #if YYDEBUG
@@ -1625,163 +1617,163 @@
       79,    81,    83,    85,    87,    89,    91,    93,    95,    97,
       99,   101,   103,   105,   107,   109,   111,   113,   115,   117,
      119,   121,   123,   125,   127,   129,   131,   133,   135,   137,
-     139,   141,   143,   145,   147,   149,   152,   153,   155,   157,
-     159,   161,   163,   165,   167,   168,   169,   171,   173,   175,
-     177,   179,   181,   184,   185,   188,   189,   193,   196,   197,
-     199,   200,   204,   206,   209,   211,   213,   215,   217,   219,
+     139,   141,   143,   145,   147,   149,   151,   153,   156,   157,
+     159,   161,   163,   165,   167,   169,   171,   172,   173,   175,
+     177,   179,   181,   183,   185,   188,   189,   192,   193,   197,
+     200,   201,   203,   204,   208,   210,   213,   215,   217,   219,
      221,   223,   225,   227,   229,   231,   233,   235,   237,   239,
-     241,   243,   245,   247,   249,   251,   254,   259,   265,   271,
-     275,   278,   281,   283,   287,   289,   293,   295,   296,   301,
-     305,   309,   314,   319,   323,   326,   329,   332,   335,   338,
-     341,   344,   347,   350,   353,   360,   366,   375,   382,   389,
-     396,   405,   414,   421,   428,   437,   446,   450,   452,   454,
-     456,   458,   461,   464,   469,   472,   474,   479,   482,   487,
-     488,   496,   497,   505,   506,   514,   515,   523,   527,   532,
-     533,   535,   537,   539,   543,   547,   551,   555,   559,   563,
-     565,   566,   568,   570,   572,   573,   576,   580,   582,   584,
-     588,   590,   591,   600,   602,   604,   608,   610,   612,   615,
-     616,   618,   620,   621,   626,   627,   629,   631,   633,   635,
-     637,   639,   641,   643,   645,   649,   651,   657,   659,   661,
-     663,   665,   668,   671,   674,   678,   681,   682,   684,   687,
-     690,   694,   704,   714,   723,   737,   739,   741,   748,   754,
-     757,   764,   772,   774,   778,   780,   781,   784,   786,   792,
-     798,   804,   811,   818,   821,   826,   831,   838,   843,   848,
-     853,   858,   865,   872,   875,   883,   885,   888,   889,   891,
-     892,   896,   903,   907,   914,   917,   922,   929
+     241,   243,   245,   247,   249,   251,   253,   255,   258,   263,
+     269,   275,   279,   282,   285,   287,   291,   293,   297,   299,
+     300,   305,   309,   313,   318,   323,   327,   330,   333,   336,
+     339,   342,   345,   348,   351,   354,   357,   364,   370,   379,
+     386,   393,   400,   409,   418,   425,   432,   441,   450,   454,
+     456,   458,   460,   462,   465,   468,   473,   476,   478,   483,
+     486,   491,   492,   500,   501,   509,   510,   518,   519,   527,
+     531,   536,   537,   539,   541,   543,   547,   551,   555,   559,
+     563,   567,   569,   570,   572,   574,   576,   577,   580,   584,
+     586,   588,   592,   594,   595,   604,   606,   608,   612,   614,
+     616,   619,   620,   622,   624,   625,   630,   631,   633,   635,
+     637,   639,   641,   643,   645,   647,   649,   653,   655,   661,
+     663,   665,   667,   669,   672,   675,   678,   682,   685,   686,
+     688,   691,   694,   698,   708,   718,   727,   741,   743,   745,
+     752,   758,   761,   768,   776,   778,   782,   784,   785,   788,
+     790,   796,   802,   808,   815,   822,   825,   830,   835,   842,
+     847,   852,   857,   862,   869,   876,   879,   887,   889,   892,
+     893,   895,   896,   900,   907,   911,   918,   921,   926,   933
 };
 
 /* YYRHS -- A `-1'-separated list of the rules' RHS. */
 static const short int yyrhs[] =
 {
-     199,     0,    -1,     5,    -1,     6,    -1,     3,    -1,     4,
+     195,     0,    -1,     5,    -1,     6,    -1,     3,    -1,     4,
       -1,    78,    -1,    79,    -1,    80,    -1,    81,    -1,    82,
       -1,    83,    -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,   128,    -1,   129,
-      -1,   130,    -1,   131,    -1,   132,    -1,   133,    -1,   134,
-      -1,   135,    -1,   136,    -1,   137,    -1,   138,    -1,   139,
-      -1,   142,    -1,   143,    -1,   144,    -1,    98,    -1,    99,
+      -1,    93,    -1,    94,    -1,    95,    -1,   124,    -1,   125,
+      -1,   126,    -1,   127,    -1,   128,    -1,   129,    -1,   130,
+      -1,   131,    -1,   132,    -1,   133,    -1,   134,    -1,   135,
+      -1,   138,    -1,   139,    -1,   140,    -1,    98,    -1,    99,
       -1,   100,    -1,   101,    -1,   102,    -1,   103,    -1,   104,
       -1,   105,    -1,   106,    -1,   107,    -1,   108,    -1,   109,
       -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,    16,    -1,    14,    -1,    12,
-      -1,    10,    -1,    17,    -1,    15,    -1,    13,    -1,    11,
-      -1,   175,    -1,   176,    -1,    18,    -1,    19,    -1,   211,
-     151,    -1,    -1,    41,    -1,    42,    -1,    43,    -1,    44,
-      -1,    45,    -1,    46,    -1,    47,    -1,    -1,    -1,    65,
-      -1,    66,    -1,    67,    -1,    68,    -1,    69,    -1,    70,
-      -1,    64,     4,    -1,    -1,    57,     4,    -1,    -1,   152,
-      57,     4,    -1,    34,    24,    -1,    -1,   184,    -1,    -1,
-     152,   187,   186,    -1,   184,    -1,    57,     4,    -1,   190,
-      -1,     8,    -1,   192,    -1,     8,    -1,   192,    -1,     9,
-      -1,    10,    -1,    11,    -1,    12,    -1,    13,    -1,    14,
-      -1,    15,    -1,    16,    -1,    17,    -1,    18,    -1,    19,
-      -1,    20,    -1,    21,    -1,    48,    -1,   191,    -1,   226,
-      -1,   153,     4,    -1,   189,   154,   194,   155,    -1,   156,
-       4,   157,   192,   158,    -1,   159,     4,   157,   192,   160,
-      -1,   161,   193,   162,    -1,   161,   162,    -1,   192,   163,
-      -1,   192,    -1,   193,   152,   192,    -1,   193,    -1,   193,
-     152,    37,    -1,    37,    -1,    -1,   190,   156,   197,   158,
-      -1,   190,   156,   158,    -1,   190,   164,    24,    -1,   190,
-     159,   197,   160,    -1,   190,   161,   197,   162,    -1,   190,
-     161,   162,    -1,   190,    38,    -1,   190,    39,    -1,   190,
-     226,    -1,   190,   196,    -1,   190,    26,    -1,   175,   167,
-      -1,   176,     4,    -1,     9,    27,    -1,     9,    28,    -1,
-     178,     7,    -1,   171,   154,   195,    36,   190,   155,    -1,
-     127,   154,   195,   240,   155,    -1,   141,   154,   195,   152,
-     195,   152,   195,   155,    -1,   168,   154,   195,   152,   195,
-     155,    -1,   169,   154,   195,   152,   195,   155,    -1,   170,
-     154,   195,   152,   195,   155,    -1,    96,   154,   173,   152,
-     195,   152,   195,   155,    -1,    97,   154,   174,   152,   195,
-     152,   195,   155,    -1,   172,   154,   195,   152,   195,   155,
-      -1,   146,   154,   195,   152,   195,   155,    -1,   147,   154,
-     195,   152,   195,   152,   195,   155,    -1,   148,   154,   195,
-     152,   195,   152,   195,   155,    -1,   197,   152,   195,    -1,
-     195,    -1,    32,    -1,    33,    -1,   200,    -1,   200,   220,
-      -1,   200,   222,    -1,   200,    62,    61,   206,    -1,   200,
-      25,    -1,   201,    -1,   201,   179,    20,   188,    -1,   201,
-     222,    -1,   201,    62,    61,   206,    -1,    -1,   201,   179,
-     180,   198,   195,   202,   186,    -1,    -1,   201,   179,    50,
-     198,   190,   203,   186,    -1,    -1,   201,   179,    45,   198,
-     190,   204,   186,    -1,    -1,   201,   179,    47,   198,   190,
-     205,   186,    -1,   201,    51,   208,    -1,   201,    58,   151,
-     209,    -1,    -1,    24,    -1,    56,    -1,    55,    -1,    53,
-     151,   207,    -1,    54,   151,     4,    -1,    52,   151,    24,
-      -1,    71,   151,    24,    -1,   156,   210,   158,    -1,   210,
-     152,    24,    -1,    24,    -1,    -1,    22,    -1,    24,    -1,
-     211,    -1,    -1,   190,   212,    -1,   214,   152,   213,    -1,
-     213,    -1,   214,    -1,   214,   152,    37,    -1,    37,    -1,
-      -1,   181,   188,   211,   154,   215,   155,   185,   182,    -1,
-      29,    -1,   161,    -1,   180,   216,   217,    -1,    30,    -1,
-     162,    -1,   229,   219,    -1,    -1,    45,    -1,    47,    -1,
-      -1,    31,   223,   221,   216,    -1,    -1,    63,    -1,     3,
-      -1,     4,    -1,     7,    -1,    27,    -1,    28,    -1,    38,
-      -1,    39,    -1,    26,    -1,   159,   197,   160,    -1,   196,
-      -1,    61,   224,    24,   152,    24,    -1,   166,    -1,   211,
-      -1,   226,    -1,   225,    -1,   190,   227,    -1,   229,   230,
-      -1,   218,   230,    -1,   231,   179,   232,    -1,   231,   234,
-      -1,    -1,    23,    -1,    72,   228,    -1,    72,     8,    -1,
-      73,    21,   227,    -1,    73,     9,   227,   152,    21,   227,
-     152,    21,   227,    -1,    74,   177,   227,   152,    21,   227,
-     156,   233,   158,    -1,    74,   177,   227,   152,    21,   227,
-     156,   158,    -1,    75,   181,   188,   227,   154,   237,   155,
-      36,    21,   227,    76,    21,   227,    -1,    76,    -1,    77,
-      -1,   233,   177,   225,   152,    21,   227,    -1,   177,   225,
-     152,    21,   227,    -1,   179,   239,    -1,   190,   156,   227,
-     152,   227,   158,    -1,   235,   152,   156,   227,   152,   227,
-     158,    -1,   228,    -1,   236,   152,   228,    -1,   236,    -1,
-      -1,    60,    59,    -1,    59,    -1,   168,   190,   227,   152,
-     227,    -1,   169,   190,   227,   152,   227,    -1,   170,   190,
-     227,   152,   227,    -1,    96,   173,   190,   227,   152,   227,
-      -1,    97,   174,   190,   227,   152,   227,    -1,    49,   228,
-      -1,   172,   228,   152,   228,    -1,   171,   228,    36,   190,
-      -1,   141,   228,   152,   228,   152,   228,    -1,   145,   228,
-     152,   190,    -1,   149,   228,   152,   190,    -1,   150,   228,
-     152,   190,    -1,   146,   228,   152,   228,    -1,   147,   228,
-     152,   228,   152,   228,    -1,   148,   228,   152,   228,   152,
-     228,    -1,   140,   235,    -1,   238,   181,   188,   227,   154,
-     237,   155,    -1,   242,    -1,   152,   236,    -1,    -1,    35,
-      -1,    -1,   122,   190,   183,    -1,   122,   190,   152,    15,
-     227,   183,    -1,   123,   190,   183,    -1,   123,   190,   152,
-      15,   227,   183,    -1,   124,   228,    -1,   241,   125,   190,
-     227,    -1,   241,   126,   228,   152,   190,   227,    -1,   127,
-     190,   227,   240,    -1
+      -1,   115,    -1,   116,    -1,   117,    -1,   104,    -1,   105,
+      -1,   106,    -1,   107,    -1,    27,    -1,    28,    -1,    16,
+      -1,    14,    -1,    12,    -1,    10,    -1,    17,    -1,    15,
+      -1,    13,    -1,    11,    -1,   171,    -1,   172,    -1,    18,
+      -1,    19,    -1,   207,   147,    -1,    -1,    41,    -1,    42,
+      -1,    43,    -1,    44,    -1,    45,    -1,    46,    -1,    47,
+      -1,    -1,    -1,    65,    -1,    66,    -1,    67,    -1,    68,
+      -1,    69,    -1,    70,    -1,    64,     4,    -1,    -1,    57,
+       4,    -1,    -1,   148,    57,     4,    -1,    34,    24,    -1,
+      -1,   180,    -1,    -1,   148,   183,   182,    -1,   180,    -1,
+      57,     4,    -1,   186,    -1,     8,    -1,   188,    -1,     8,
+      -1,   188,    -1,     9,    -1,    10,    -1,    11,    -1,    12,
+      -1,    13,    -1,    14,    -1,    15,    -1,    16,    -1,    17,
+      -1,    18,    -1,    19,    -1,    20,    -1,    21,    -1,    48,
+      -1,   187,    -1,   222,    -1,   149,     4,    -1,   185,   150,
+     190,   151,    -1,   152,     4,   153,   188,   154,    -1,   155,
+       4,   153,   188,   156,    -1,   157,   189,   158,    -1,   157,
+     158,    -1,   188,   159,    -1,   188,    -1,   189,   148,   188,
+      -1,   189,    -1,   189,   148,    37,    -1,    37,    -1,    -1,
+     186,   152,   193,   154,    -1,   186,   152,   154,    -1,   186,
+     160,    24,    -1,   186,   155,   193,   156,    -1,   186,   157,
+     193,   158,    -1,   186,   157,   158,    -1,   186,    38,    -1,
+     186,    39,    -1,   186,   222,    -1,   186,   192,    -1,   186,
+      26,    -1,   171,   163,    -1,   172,     4,    -1,     9,    27,
+      -1,     9,    28,    -1,   174,     7,    -1,   167,   150,   191,
+      36,   186,   151,    -1,   123,   150,   191,   236,   151,    -1,
+     137,   150,   191,   148,   191,   148,   191,   151,    -1,   164,
+     150,   191,   148,   191,   151,    -1,   165,   150,   191,   148,
+     191,   151,    -1,   166,   150,   191,   148,   191,   151,    -1,
+      96,   150,   169,   148,   191,   148,   191,   151,    -1,    97,
+     150,   170,   148,   191,   148,   191,   151,    -1,   168,   150,
+     191,   148,   191,   151,    -1,   142,   150,   191,   148,   191,
+     151,    -1,   143,   150,   191,   148,   191,   148,   191,   151,
+      -1,   144,   150,   191,   148,   191,   148,   191,   151,    -1,
+     193,   148,   191,    -1,   191,    -1,    32,    -1,    33,    -1,
+     196,    -1,   196,   216,    -1,   196,   218,    -1,   196,    62,
+      61,   202,    -1,   196,    25,    -1,   197,    -1,   197,   175,
+      20,   184,    -1,   197,   218,    -1,   197,    62,    61,   202,
+      -1,    -1,   197,   175,   176,   194,   191,   198,   182,    -1,
+      -1,   197,   175,    50,   194,   186,   199,   182,    -1,    -1,
+     197,   175,    45,   194,   186,   200,   182,    -1,    -1,   197,
+     175,    47,   194,   186,   201,   182,    -1,   197,    51,   204,
+      -1,   197,    58,   147,   205,    -1,    -1,    24,    -1,    56,
+      -1,    55,    -1,    53,   147,   203,    -1,    54,   147,     4,
+      -1,    52,   147,    24,    -1,    71,   147,    24,    -1,   152,
+     206,   154,    -1,   206,   148,    24,    -1,    24,    -1,    -1,
+      22,    -1,    24,    -1,   207,    -1,    -1,   186,   208,    -1,
+     210,   148,   209,    -1,   209,    -1,   210,    -1,   210,   148,
+      37,    -1,    37,    -1,    -1,   177,   184,   207,   150,   211,
+     151,   181,   178,    -1,    29,    -1,   157,    -1,   176,   212,
+     213,    -1,    30,    -1,   158,    -1,   225,   215,    -1,    -1,
+      45,    -1,    47,    -1,    -1,    31,   219,   217,   212,    -1,
+      -1,    63,    -1,     3,    -1,     4,    -1,     7,    -1,    27,
+      -1,    28,    -1,    38,    -1,    39,    -1,    26,    -1,   155,
+     193,   156,    -1,   192,    -1,    61,   220,    24,   148,    24,
+      -1,   162,    -1,   207,    -1,   222,    -1,   221,    -1,   186,
+     223,    -1,   225,   226,    -1,   214,   226,    -1,   227,   175,
+     228,    -1,   227,   230,    -1,    -1,    23,    -1,    72,   224,
+      -1,    72,     8,    -1,    73,    21,   223,    -1,    73,     9,
+     223,   148,    21,   223,   148,    21,   223,    -1,    74,   173,
+     223,   148,    21,   223,   152,   229,   154,    -1,    74,   173,
+     223,   148,    21,   223,   152,   154,    -1,    75,   177,   184,
+     223,   150,   233,   151,    36,    21,   223,    76,    21,   223,
+      -1,    76,    -1,    77,    -1,   229,   173,   221,   148,    21,
+     223,    -1,   173,   221,   148,    21,   223,    -1,   175,   235,
+      -1,   186,   152,   223,   148,   223,   154,    -1,   231,   148,
+     152,   223,   148,   223,   154,    -1,   224,    -1,   232,   148,
+     224,    -1,   232,    -1,    -1,    60,    59,    -1,    59,    -1,
+     164,   186,   223,   148,   223,    -1,   165,   186,   223,   148,
+     223,    -1,   166,   186,   223,   148,   223,    -1,    96,   169,
+     186,   223,   148,   223,    -1,    97,   170,   186,   223,   148,
+     223,    -1,    49,   224,    -1,   168,   224,   148,   224,    -1,
+     167,   224,    36,   186,    -1,   137,   224,   148,   224,   148,
+     224,    -1,   141,   224,   148,   186,    -1,   145,   224,   148,
+     186,    -1,   146,   224,   148,   186,    -1,   142,   224,   148,
+     224,    -1,   143,   224,   148,   224,   148,   224,    -1,   144,
+     224,   148,   224,   148,   224,    -1,   136,   231,    -1,   234,
+     177,   184,   223,   150,   233,   151,    -1,   238,    -1,   148,
+     232,    -1,    -1,    35,    -1,    -1,   118,   186,   179,    -1,
+     118,   186,   148,    15,   223,   179,    -1,   119,   186,   179,
+      -1,   119,   186,   148,    15,   223,   179,    -1,   120,   224,
+      -1,   237,   121,   186,   223,    -1,   237,   122,   224,   148,
+     186,   223,    -1,   123,   186,   223,   236,    -1
 };
 
 /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
 static const unsigned short int yyrline[] =
 {
-       0,  1105,  1105,  1106,  1114,  1115,  1125,  1125,  1125,  1125,
-    1125,  1125,  1125,  1125,  1125,  1126,  1126,  1126,  1127,  1127,
-    1127,  1127,  1127,  1127,  1128,  1128,  1128,  1128,  1128,  1128,
-    1129,  1129,  1129,  1129,  1129,  1129,  1130,  1130,  1130,  1131,
-    1131,  1131,  1131,  1131,  1131,  1131,  1131,  1131,  1131,  1132,
-    1132,  1132,  1132,  1132,  1132,  1132,  1132,  1133,  1133,  1133,
-    1133,  1133,  1133,  1137,  1137,  1137,  1137,  1138,  1138,  1138,
-    1138,  1139,  1139,  1140,  1140,  1143,  1147,  1152,  1153,  1154,
-    1155,  1156,  1157,  1158,  1159,  1161,  1162,  1163,  1164,  1165,
-    1166,  1167,  1168,  1177,  1178,  1184,  1185,  1193,  1201,  1202,
-    1207,  1208,  1209,  1214,  1228,  1228,  1229,  1229,  1231,  1241,
-    1241,  1241,  1241,  1241,  1241,  1241,  1242,  1242,  1242,  1242,
-    1242,  1242,  1243,  1247,  1251,  1259,  1267,  1280,  1285,  1297,
-    1307,  1311,  1322,  1327,  1333,  1334,  1338,  1342,  1353,  1379,
-    1393,  1423,  1449,  1470,  1483,  1493,  1498,  1559,  1566,  1574,
-    1580,  1586,  1590,  1594,  1602,  1614,  1646,  1654,  1678,  1689,
-    1695,  1700,  1705,  1714,  1720,  1726,  1735,  1739,  1747,  1747,
-    1757,  1765,  1770,  1774,  1778,  1782,  1797,  1819,  1822,  1825,
-    1825,  1833,  1833,  1841,  1841,  1849,  1849,  1858,  1861,  1864,
-    1868,  1881,  1882,  1884,  1888,  1897,  1901,  1906,  1908,  1913,
-    1918,  1927,  1927,  1928,  1928,  1930,  1937,  1943,  1950,  1954,
-    1960,  1965,  1970,  2065,  2065,  2067,  2075,  2075,  2077,  2082,
-    2083,  2084,  2086,  2086,  2096,  2100,  2105,  2109,  2113,  2117,
-    2121,  2125,  2129,  2133,  2137,  2162,  2166,  2180,  2184,  2190,
-    2190,  2196,  2201,  2205,  2214,  2225,  2234,  2246,  2259,  2263,
-    2267,  2272,  2281,  2300,  2309,  2365,  2369,  2376,  2387,  2400,
-    2409,  2418,  2428,  2432,  2439,  2439,  2441,  2445,  2450,  2469,
-    2484,  2498,  2509,  2520,  2533,  2542,  2553,  2561,  2567,  2587,
-    2610,  2616,  2622,  2628,  2643,  2702,  2709,  2712,  2717,  2721,
-    2728,  2733,  2739,  2744,  2750,  2758,  2770,  2785
+       0,  1104,  1104,  1105,  1113,  1114,  1124,  1124,  1124,  1124,
+    1124,  1124,  1124,  1124,  1124,  1125,  1125,  1125,  1126,  1126,
+    1126,  1126,  1126,  1126,  1127,  1127,  1127,  1127,  1127,  1127,
+    1128,  1128,  1128,  1128,  1128,  1128,  1129,  1129,  1129,  1131,
+    1131,  1132,  1132,  1133,  1133,  1134,  1134,  1135,  1135,  1139,
+    1139,  1140,  1140,  1141,  1141,  1142,  1142,  1143,  1143,  1144,
+    1144,  1145,  1145,  1146,  1147,  1152,  1152,  1152,  1152,  1153,
+    1153,  1153,  1153,  1154,  1154,  1155,  1155,  1158,  1162,  1167,
+    1168,  1169,  1170,  1171,  1172,  1173,  1174,  1176,  1177,  1178,
+    1179,  1180,  1181,  1182,  1183,  1192,  1193,  1199,  1200,  1208,
+    1216,  1217,  1222,  1223,  1224,  1229,  1243,  1243,  1244,  1244,
+    1246,  1256,  1256,  1256,  1256,  1256,  1256,  1256,  1257,  1257,
+    1257,  1257,  1257,  1257,  1258,  1262,  1266,  1274,  1282,  1295,
+    1300,  1312,  1322,  1326,  1337,  1342,  1348,  1349,  1353,  1357,
+    1368,  1394,  1408,  1438,  1464,  1485,  1498,  1508,  1513,  1574,
+    1581,  1589,  1595,  1601,  1605,  1609,  1617,  1629,  1661,  1669,
+    1693,  1704,  1710,  1715,  1720,  1729,  1735,  1741,  1750,  1754,
+    1762,  1762,  1772,  1780,  1785,  1789,  1793,  1797,  1812,  1834,
+    1837,  1840,  1840,  1848,  1848,  1856,  1856,  1864,  1864,  1873,
+    1876,  1879,  1883,  1896,  1897,  1899,  1903,  1912,  1916,  1921,
+    1923,  1928,  1933,  1942,  1942,  1943,  1943,  1945,  1952,  1958,
+    1965,  1969,  1975,  1980,  1985,  2080,  2080,  2082,  2090,  2090,
+    2092,  2097,  2098,  2099,  2101,  2101,  2111,  2115,  2120,  2124,
+    2128,  2132,  2136,  2140,  2144,  2148,  2152,  2177,  2181,  2195,
+    2199,  2205,  2205,  2211,  2216,  2220,  2229,  2240,  2249,  2261,
+    2274,  2278,  2282,  2287,  2296,  2315,  2324,  2380,  2384,  2391,
+    2402,  2415,  2424,  2433,  2443,  2447,  2454,  2454,  2456,  2460,
+    2465,  2484,  2499,  2513,  2524,  2535,  2548,  2557,  2568,  2576,
+    2582,  2602,  2625,  2631,  2637,  2643,  2658,  2717,  2724,  2727,
+    2732,  2736,  2743,  2748,  2754,  2759,  2765,  2773,  2785,  2800
 };
 #endif
 
@@ -1806,30 +1798,29 @@
   "MUL", "UDIV", "SDIV", "FDIV", "UREM", "SREM", "FREM", "AND", "OR",
   "XOR", "SETLE", "SETGE", "SETLT", "SETGT", "SETEQ", "SETNE", "ICMP",
   "FCMP", "EQ", "NE", "SLT", "SGT", "SLE", "SGE", "ULT", "UGT", "ULE",
-  "UGE", "ORDEQ", "ORDNE", "ORDLT", "ORDGT", "ORDLE", "ORDGE", "ORD",
-  "UNO", "UNOEQ", "UNONE", "UNOLT", "UNOGT", "UNOLE", "UNOGE", "MALLOC",
-  "ALLOCA", "FREE", "LOAD", "STORE", "GETELEMENTPTR", "TRUNC", "ZEXT",
-  "SEXT", "FPTRUNC", "FPEXT", "BITCAST", "UITOFP", "SITOFP", "FPTOUI",
-  "FPTOSI", "INTTOPTR", "PTRTOINT", "PHI_TOK", "SELECT", "SHL", "LSHR",
-  "ASHR", "VAARG", "EXTRACTELEMENT", "INSERTELEMENT", "SHUFFLEVECTOR",
-  "VAARG_old", "VANEXT_old", "'='", "','", "'\\\\'", "'('", "')'", "'['",
-  "'x'", "']'", "'<'", "'>'", "'{'", "'}'", "'*'", "'c'", "$accept",
-  "INTVAL", "EINT64VAL", "ArithmeticOps", "LogicalOps", "SetCondOps",
-  "CastOps", "ShiftOps", "IPredicates", "FPredicates", "SIntType",
-  "UIntType", "IntType", "FPType", "OptAssign", "OptLinkage",
-  "OptCallingConv", "OptAlign", "OptCAlign", "SectionString", "OptSection",
-  "GlobalVarAttributes", "GlobalVarAttribute", "TypesV", "UpRTypesV",
-  "Types", "PrimType", "UpRTypes", "TypeListI", "ArgTypeListI", "ConstVal",
-  "ConstExpr", "ConstVector", "GlobalType", "Module", "FunctionList",
-  "ConstPool", "@1", "@2", "@3", "@4", "AsmBlock", "BigOrLittle",
-  "TargetDefinition", "LibrariesDefinition", "LibList", "Name", "OptName",
-  "ArgVal", "ArgListH", "ArgList", "FunctionHeaderH", "BEGIN",
-  "FunctionHeader", "END", "Function", "FnDeclareLinkage", "FunctionProto",
-  "@5", "OptSideEffect", "ConstValueRef", "SymbolicValueRef", "ValueRef",
-  "ResolvedVal", "BasicBlockList", "BasicBlock", "InstructionList",
-  "BBTerminatorInst", "JumpTable", "Inst", "PHIList", "ValueRefList",
-  "ValueRefListE", "OptTailCall", "InstVal", "IndexList", "OptVolatile",
-  "MemoryInst", 0
+  "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", "SHL", "LSHR", "ASHR", "VAARG", "EXTRACTELEMENT",
+  "INSERTELEMENT", "SHUFFLEVECTOR", "VAARG_old", "VANEXT_old", "'='",
+  "','", "'\\\\'", "'('", "')'", "'['", "'x'", "']'", "'<'", "'>'", "'{'",
+  "'}'", "'*'", "'c'", "$accept", "INTVAL", "EINT64VAL", "ArithmeticOps",
+  "LogicalOps", "SetCondOps", "CastOps", "ShiftOps", "IPredicates",
+  "FPredicates", "SIntType", "UIntType", "IntType", "FPType", "OptAssign",
+  "OptLinkage", "OptCallingConv", "OptAlign", "OptCAlign", "SectionString",
+  "OptSection", "GlobalVarAttributes", "GlobalVarAttribute", "TypesV",
+  "UpRTypesV", "Types", "PrimType", "UpRTypes", "TypeListI",
+  "ArgTypeListI", "ConstVal", "ConstExpr", "ConstVector", "GlobalType",
+  "Module", "FunctionList", "ConstPool", "@1", "@2", "@3", "@4",
+  "AsmBlock", "BigOrLittle", "TargetDefinition", "LibrariesDefinition",
+  "LibList", "Name", "OptName", "ArgVal", "ArgListH", "ArgList",
+  "FunctionHeaderH", "BEGIN", "FunctionHeader", "END", "Function",
+  "FnDeclareLinkage", "FunctionProto", "@5", "OptSideEffect",
+  "ConstValueRef", "SymbolicValueRef", "ValueRef", "ResolvedVal",
+  "BasicBlockList", "BasicBlock", "InstructionList", "BBTerminatorInst",
+  "JumpTable", "Inst", "PHIList", "ValueRefList", "ValueRefListE",
+  "OptTailCall", "InstVal", "IndexList", "OptVolatile", "MemoryInst", 0
 };
 #endif
 
@@ -1852,45 +1843,45 @@
      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,   390,   391,   392,   393,   394,
-     395,   396,   397,   398,   399,   400,   401,   402,   403,   404,
-     405,    61,    44,    92,    40,    41,    91,   120,    93,    60,
-      62,   123,   125,    42,    99
+     395,   396,   397,   398,   399,   400,   401,    61,    44,    92,
+      40,    41,    91,   120,    93,    60,    62,   123,   125,    42,
+      99
 };
 # endif
 
 /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
 static const unsigned char yyr1[] =
 {
-       0,   165,   166,   166,   167,   167,   168,   168,   168,   168,
-     168,   168,   168,   168,   168,   169,   169,   169,   170,   170,
-     170,   170,   170,   170,   171,   171,   171,   171,   171,   171,
-     171,   171,   171,   171,   171,   171,   172,   172,   172,   173,
-     173,   173,   173,   173,   173,   173,   173,   173,   173,   174,
-     174,   174,   174,   174,   174,   174,   174,   174,   174,   174,
-     174,   174,   174,   175,   175,   175,   175,   176,   176,   176,
-     176,   177,   177,   178,   178,   179,   179,   180,   180,   180,
-     180,   180,   180,   180,   180,   181,   181,   181,   181,   181,
-     181,   181,   181,   182,   182,   183,   183,   184,   185,   185,
-     186,   186,   187,   187,   188,   188,   189,   189,   190,   191,
+       0,   161,   162,   162,   163,   163,   164,   164,   164,   164,
+     164,   164,   164,   164,   164,   165,   165,   165,   166,   166,
+     166,   166,   166,   166,   167,   167,   167,   167,   167,   167,
+     167,   167,   167,   167,   167,   167,   168,   168,   168,   169,
+     169,   169,   169,   169,   169,   169,   169,   169,   169,   170,
+     170,   170,   170,   170,   170,   170,   170,   170,   170,   170,
+     170,   170,   170,   170,   170,   171,   171,   171,   171,   172,
+     172,   172,   172,   173,   173,   174,   174,   175,   175,   176,
+     176,   176,   176,   176,   176,   176,   176,   177,   177,   177,
+     177,   177,   177,   177,   177,   178,   178,   179,   179,   180,
+     181,   181,   182,   182,   183,   183,   184,   184,   185,   185,
+     186,   187,   187,   187,   187,   187,   187,   187,   187,   187,
+     187,   187,   187,   187,   188,   188,   188,   188,   188,   188,
+     188,   188,   188,   188,   189,   189,   190,   190,   190,   190,
      191,   191,   191,   191,   191,   191,   191,   191,   191,   191,
-     191,   191,   192,   192,   192,   192,   192,   192,   192,   192,
-     192,   192,   193,   193,   194,   194,   194,   194,   195,   195,
-     195,   195,   195,   195,   195,   195,   195,   195,   195,   195,
-     195,   195,   195,   195,   196,   196,   196,   196,   196,   196,
-     196,   196,   196,   196,   196,   196,   197,   197,   198,   198,
-     199,   200,   200,   200,   200,   200,   201,   201,   201,   202,
-     201,   203,   201,   204,   201,   205,   201,   201,   201,   201,
-     206,   207,   207,   208,   208,   208,   208,   209,   210,   210,
-     210,   211,   211,   212,   212,   213,   214,   214,   215,   215,
-     215,   215,   216,   217,   217,   218,   219,   219,   220,   221,
-     221,   221,   223,   222,   224,   224,   225,   225,   225,   225,
-     225,   225,   225,   225,   225,   225,   225,   226,   226,   227,
-     227,   228,   229,   229,   230,   231,   231,   231,   232,   232,
-     232,   232,   232,   232,   232,   232,   232,   233,   233,   234,
-     235,   235,   236,   236,   237,   237,   238,   238,   239,   239,
-     239,   239,   239,   239,   239,   239,   239,   239,   239,   239,
-     239,   239,   239,   239,   239,   239,   240,   240,   241,   241,
-     242,   242,   242,   242,   242,   242,   242,   242
+     191,   191,   191,   191,   191,   191,   192,   192,   192,   192,
+     192,   192,   192,   192,   192,   192,   192,   192,   193,   193,
+     194,   194,   195,   196,   196,   196,   196,   196,   197,   197,
+     197,   198,   197,   199,   197,   200,   197,   201,   197,   197,
+     197,   197,   202,   203,   203,   204,   204,   204,   204,   205,
+     206,   206,   206,   207,   207,   208,   208,   209,   210,   210,
+     211,   211,   211,   211,   212,   213,   213,   214,   215,   215,
+     216,   217,   217,   217,   219,   218,   220,   220,   221,   221,
+     221,   221,   221,   221,   221,   221,   221,   221,   221,   222,
+     222,   223,   223,   224,   225,   225,   226,   227,   227,   227,
+     228,   228,   228,   228,   228,   228,   228,   228,   228,   229,
+     229,   230,   231,   231,   232,   232,   233,   233,   234,   234,
+     235,   235,   235,   235,   235,   235,   235,   235,   235,   235,
+     235,   235,   235,   235,   235,   235,   235,   235,   236,   236,
+     237,   237,   238,   238,   238,   238,   238,   238,   238,   238
 };
 
 /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */
@@ -1903,29 +1894,29 @@
        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,     1,     1,     1,     1,     1,
-       1,     1,     1,     1,     1,     2,     0,     1,     1,     1,
-       1,     1,     1,     1,     0,     0,     1,     1,     1,     1,
-       1,     1,     2,     0,     2,     0,     3,     2,     0,     1,
-       0,     3,     1,     2,     1,     1,     1,     1,     1,     1,
+       1,     1,     1,     1,     1,     1,     1,     2,     0,     1,
+       1,     1,     1,     1,     1,     1,     0,     0,     1,     1,
+       1,     1,     1,     1,     2,     0,     2,     0,     3,     2,
+       0,     1,     0,     3,     1,     2,     1,     1,     1,     1,
        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-       1,     1,     1,     1,     1,     2,     4,     5,     5,     3,
-       2,     2,     1,     3,     1,     3,     1,     0,     4,     3,
-       3,     4,     4,     3,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     6,     5,     8,     6,     6,     6,
-       8,     8,     6,     6,     8,     8,     3,     1,     1,     1,
-       1,     2,     2,     4,     2,     1,     4,     2,     4,     0,
-       7,     0,     7,     0,     7,     0,     7,     3,     4,     0,
-       1,     1,     1,     3,     3,     3,     3,     3,     3,     1,
-       0,     1,     1,     1,     0,     2,     3,     1,     1,     3,
-       1,     0,     8,     1,     1,     3,     1,     1,     2,     0,
-       1,     1,     0,     4,     0,     1,     1,     1,     1,     1,
-       1,     1,     1,     1,     3,     1,     5,     1,     1,     1,
-       1,     2,     2,     2,     3,     2,     0,     1,     2,     2,
-       3,     9,     9,     8,    13,     1,     1,     6,     5,     2,
-       6,     7,     1,     3,     1,     0,     2,     1,     5,     5,
-       5,     6,     6,     2,     4,     4,     6,     4,     4,     4,
-       4,     6,     6,     2,     7,     1,     2,     0,     1,     0,
-       3,     6,     3,     6,     2,     4,     6,     4
+       1,     1,     1,     1,     1,     1,     1,     2,     4,     5,
+       5,     3,     2,     2,     1,     3,     1,     3,     1,     0,
+       4,     3,     3,     4,     4,     3,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     6,     5,     8,     6,
+       6,     6,     8,     8,     6,     6,     8,     8,     3,     1,
+       1,     1,     1,     2,     2,     4,     2,     1,     4,     2,
+       4,     0,     7,     0,     7,     0,     7,     0,     7,     3,
+       4,     0,     1,     1,     1,     3,     3,     3,     3,     3,
+       3,     1,     0,     1,     1,     1,     0,     2,     3,     1,
+       1,     3,     1,     0,     8,     1,     1,     3,     1,     1,
+       2,     0,     1,     1,     0,     4,     0,     1,     1,     1,
+       1,     1,     1,     1,     1,     1,     3,     1,     5,     1,
+       1,     1,     1,     2,     2,     2,     3,     2,     0,     1,
+       2,     2,     3,     9,     9,     8,    13,     1,     1,     6,
+       5,     2,     6,     7,     1,     3,     1,     0,     2,     1,
+       5,     5,     5,     6,     6,     2,     4,     4,     6,     4,
+       4,     4,     4,     6,     6,     2,     7,     1,     2,     0,
+       1,     0,     3,     6,     3,     6,     2,     4,     6,     4
 };
 
 /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
@@ -1933,407 +1924,388 @@
    means the default is an error.  */
 static const unsigned short int yydefact[] =
 {
-     189,     0,    84,   175,     1,   174,   222,    77,    78,    79,
-      80,    81,    82,    83,     0,    85,   246,   171,   172,   246,
-     201,   202,     0,     0,     0,    84,     0,   177,   219,     0,
-       0,    86,    87,    88,    89,    90,    91,     0,     0,   247,
-     243,    76,   216,   217,   218,   242,     0,     0,     0,     0,
-     187,     0,     0,     0,     0,     0,     0,     0,    75,   220,
-     221,    85,   190,   173,    92,     2,     3,   105,   109,   110,
-     111,   112,   113,   114,   115,   116,   117,   118,   119,   120,
-     121,   122,     0,     0,     0,     0,   237,     0,     0,   104,
-     123,   108,   238,   124,   213,   214,   215,   289,   245,     0,
-       0,     0,     0,   200,   188,   178,   176,   168,   169,     0,
-       0,     0,     0,   223,   125,     0,     0,   107,   130,   132,
-       0,     0,   137,   131,   288,     0,   267,     0,     0,     0,
-       0,    85,   255,   256,     6,     7,     8,     9,    10,    11,
+     191,     0,    86,   177,     1,   176,   224,    79,    80,    81,
+      82,    83,    84,    85,     0,    87,   248,   173,   174,   248,
+     203,   204,     0,     0,     0,    86,     0,   179,   221,     0,
+       0,    88,    89,    90,    91,    92,    93,     0,     0,   249,
+     245,    78,   218,   219,   220,   244,     0,     0,     0,     0,
+     189,     0,     0,     0,     0,     0,     0,     0,    77,   222,
+     223,    87,   192,   175,    94,     2,     3,   107,   111,   112,
+     113,   114,   115,   116,   117,   118,   119,   120,   121,   122,
+     123,   124,     0,     0,     0,     0,   239,     0,     0,   106,
+     125,   110,   240,   126,   215,   216,   217,   291,   247,     0,
+       0,     0,     0,   202,   190,   180,   178,   170,   171,     0,
+       0,     0,     0,   225,   127,     0,     0,   109,   132,   134,
+       0,     0,   139,   133,   290,     0,   269,     0,     0,     0,
+       0,    87,   257,   258,     6,     7,     8,     9,    10,    11,
       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
       22,    23,     0,     0,     0,     0,     0,     0,    24,    25,
       26,    27,    28,    29,    30,    31,    32,    33,    34,    35,
        0,     0,    36,    37,    38,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,   244,    85,   259,     0,
-     285,   195,   192,   191,   193,   194,   196,   199,     0,   183,
-     185,   181,   109,   110,   111,   112,   113,   114,   115,   116,
-     117,   118,   119,     0,     0,     0,     0,   179,     0,     0,
-       0,   129,   211,   136,   134,     0,     0,   273,   266,   249,
-     248,     0,     0,    66,    70,    65,    69,    64,    68,    63,
-      67,    71,    72,     0,     0,    39,    40,    41,    42,    43,
-      44,    45,    46,    47,    48,     0,    49,    50,    51,    52,
-      53,    54,    55,    56,    57,    58,    59,    60,    61,    62,
-       0,    95,    95,   294,     0,     0,   283,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,   246,    87,   261,     0,
+     287,   197,   194,   193,   195,   196,   198,   201,     0,   185,
+     187,   183,   111,   112,   113,   114,   115,   116,   117,   118,
+     119,   120,   121,     0,     0,     0,     0,   181,     0,     0,
+       0,   131,   213,   138,   136,     0,     0,   275,   268,   251,
+     250,     0,     0,    68,    72,    67,    71,    66,    70,    65,
+      69,    73,    74,     0,     0,    39,    40,    41,    42,    43,
+      44,    45,    46,    47,    48,     0,    63,    64,    59,    60,
+      61,    62,    49,    50,    51,    52,    53,    54,    55,    56,
+      57,    58,     0,    97,    97,   296,     0,     0,   285,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,   197,   100,   100,   100,   151,   152,     4,
-       5,   149,   150,   153,   148,   144,   145,     0,     0,     0,
+       0,     0,     0,     0,     0,   199,   102,   102,   102,   153,
+     154,     4,     5,   151,   152,   155,   150,   146,   147,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,   147,   146,   100,   106,   106,   133,   210,
-     204,   207,   208,     0,     0,   126,   226,   227,   228,   233,
-     229,   230,   231,   232,   224,     0,   235,   240,   239,   241,
-       0,   250,     0,     0,     0,     0,     0,   290,     0,   292,
-     287,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,   198,     0,
-     184,   186,   182,     0,     0,     0,     0,     0,     0,     0,
-     139,   167,     0,     0,   143,     0,   140,     0,     0,     0,
-       0,     0,   180,   127,   128,   203,   205,     0,    98,   135,
-     225,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,   297,     0,     0,     0,   277,   280,     0,     0,
-     278,   279,     0,     0,     0,   275,   274,     0,   295,     0,
-       0,     0,   102,   100,     0,     0,   287,     0,     0,     0,
-       0,     0,   138,   141,   142,     0,     0,     0,     0,     0,
-     209,   206,    99,    93,     0,   234,     0,     0,   265,     0,
-       0,    95,    96,    95,   262,   286,     0,     0,     0,     0,
-       0,   268,   269,   270,   265,     0,    97,   103,   101,     0,
-       0,     0,     0,     0,     0,     0,   166,     0,     0,     0,
-       0,     0,     0,   212,     0,     0,     0,   264,     0,   271,
-     272,     0,   291,   293,     0,     0,     0,   276,   281,   282,
-       0,   296,     0,     0,   155,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,    94,   236,     0,     0,     0,   263,
-     260,     0,   284,     0,     0,     0,   163,     0,     0,   157,
-     158,   159,   154,   162,     0,   253,     0,     0,     0,   261,
-       0,     0,     0,     0,     0,   251,     0,   252,     0,     0,
-     160,   161,   156,   164,   165,     0,     0,     0,     0,     0,
-       0,   258,     0,     0,   257,   254
+       0,     0,     0,     0,     0,   149,   148,   102,   108,   108,
+     135,   212,   206,   209,   210,     0,     0,   128,   228,   229,
+     230,   235,   231,   232,   233,   234,   226,     0,   237,   242,
+     241,   243,     0,   252,     0,     0,     0,     0,     0,   292,
+       0,   294,   289,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+     200,     0,   186,   188,   184,     0,     0,     0,     0,     0,
+       0,     0,   141,   169,     0,     0,   145,     0,   142,     0,
+       0,     0,     0,     0,   182,   129,   130,   205,   207,     0,
+     100,   137,   227,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,   299,     0,     0,     0,   279,   282,
+       0,     0,   280,   281,     0,     0,     0,   277,   276,     0,
+     297,     0,     0,     0,   104,   102,     0,     0,   289,     0,
+       0,     0,     0,     0,   140,   143,   144,     0,     0,     0,
+       0,     0,   211,   208,   101,    95,     0,   236,     0,     0,
+     267,     0,     0,    97,    98,    97,   264,   288,     0,     0,
+       0,     0,     0,   270,   271,   272,   267,     0,    99,   105,
+     103,     0,     0,     0,     0,     0,     0,     0,   168,     0,
+       0,     0,     0,     0,     0,   214,     0,     0,     0,   266,
+       0,   273,   274,     0,   293,   295,     0,     0,     0,   278,
+     283,   284,     0,   298,     0,     0,   157,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,    96,   238,     0,     0,
+       0,   265,   262,     0,   286,     0,     0,     0,   165,     0,
+       0,   159,   160,   161,   156,   164,     0,   255,     0,     0,
+       0,   263,     0,     0,     0,     0,     0,   253,     0,   254,
+       0,     0,   162,   163,   158,   166,   167,     0,     0,     0,
+       0,     0,     0,   260,     0,     0,   259,   256
 };
 
 /* YYDEFGOTO[NTERM-NUM]. */
 static const short int yydefgoto[] =
 {
-      -1,    86,   301,   318,   319,   320,   321,   322,   255,   270,
-     213,   214,   243,   215,    25,    15,    37,   503,   357,   442,
-     463,   380,   443,    87,    88,   216,    90,    91,   120,   225,
-     391,   346,   392,   109,     1,     2,     3,   325,   296,   294,
-     295,    63,   194,    50,   104,   198,    92,   406,   331,   332,
-     333,    38,    96,    16,    44,    17,    61,    18,    28,   411,
-     347,    93,   349,   474,    19,    40,    41,   186,   557,    98,
-     276,   507,   508,   187,   188,   422,   189,   190
+      -1,    86,   303,   320,   321,   322,   323,   324,   255,   272,
+     213,   214,   243,   215,    25,    15,    37,   505,   359,   444,
+     465,   382,   445,    87,    88,   216,    90,    91,   120,   225,
+     393,   348,   394,   109,     1,     2,     3,   327,   298,   296,
+     297,    63,   194,    50,   104,   198,    92,   408,   333,   334,
+     335,    38,    96,    16,    44,    17,    61,    18,    28,   413,
+     349,    93,   351,   476,    19,    40,    41,   186,   559,    98,
+     278,   509,   510,   187,   188,   424,   189,   190
 };
 
 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
    STATE-NUM.  */
-#define YYPACT_NINF -531
+#define YYPACT_NINF -542
 static const short int yypact[] =
 {
-    -531,   114,   234,    65,  -531,  -531,  -531,  -531,  -531,  -531,
-    -531,  -531,  -531,  -531,    74,   132,    47,  -531,  -531,   -13,
-    -531,  -531,    24,   -15,    98,   145,    13,  -531,    84,   153,
-     175,  -531,  -531,  -531,  -531,  -531,  -531,  1181,   -24,  -531,
-    -531,   108,  -531,  -531,  -531,  -531,    29,    30,    32,    33,
-    -531,    26,   153,  1181,    10,    10,    10,    10,  -531,  -531,
-    -531,   132,  -531,  -531,  -531,  -531,  -531,    50,  -531,  -531,
-    -531,  -531,  -531,  -531,  -531,  -531,  -531,  -531,  -531,  -531,
-    -531,  -531,   202,   204,   205,   593,  -531,   108,    56,  -531,
-    -531,   -70,  -531,  -531,  -531,  -531,  -531,  1353,  -531,   187,
-      70,   209,   190,   192,  -531,  -531,  -531,  -531,  -531,  1201,
-    1201,  1201,  1242,  -531,  -531,    62,    63,  -531,  -531,   -70,
-    -140,    68,   982,  -531,  -531,  1201,  -531,   164,  1262,     0,
-     273,   132,  -531,  -531,  -531,  -531,  -531,  -531,  -531,  -531,
-    -531,  -531,  -531,  -531,  -531,  -531,  -531,  -531,  -531,  -531,
-    -531,  -531,   216,   516,  1201,  1201,  1201,  1201,  -531,  -531,
-    -531,  -531,  -531,  -531,  -531,  -531,  -531,  -531,  -531,  -531,
-    1201,  1201,  -531,  -531,  -531,  1201,  1201,  1201,  1201,  1201,
-    1201,  1201,  1201,  1201,  1201,  1201,  -531,   132,  -531,    31,
-    -531,  -531,  -531,  -531,  -531,  -531,  -531,  -531,   -72,  -531,
-    -531,  -531,   133,   159,   220,   163,   221,   165,   222,   167,
-     223,   225,   228,   172,   224,   229,   433,  -531,  1201,  1201,
-    1201,  -531,  1023,  -531,    85,    83,   684,  -531,  -531,    50,
-    -531,   684,   684,  -531,  -531,  -531,  -531,  -531,  -531,  -531,
-    -531,  -531,  -531,   684,  1181,  -531,  -531,  -531,  -531,  -531,
-    -531,  -531,  -531,  -531,  -531,  1201,  -531,  -531,  -531,  -531,
-    -531,  -531,  -531,  -531,  -531,  -531,  -531,  -531,  -531,  -531,
-    1201,    88,    89,  -531,   684,    86,    91,    92,    93,    95,
-      99,   103,   104,   106,   684,   684,   684,   226,   109,  1181,
-    1201,  1201,   236,  -531,   116,   116,   116,  -531,  -531,  -531,
-    -531,  -531,  -531,  -531,  -531,  -531,  -531,   117,   118,   120,
-     143,   144,   148,   154,   927,  1242,   648,   246,   155,   156,
-     157,   170,   171,  -531,  -531,   116,   -59,   -39,   -70,  -531,
-     108,  -531,   147,   179,  1084,  -531,  -531,  -531,  -531,  -531,
-    -531,  -531,  -531,  -531,   272,  1242,  -531,  -531,  -531,  -531,
-     186,  -531,   188,   684,   684,   684,    -1,  -531,     9,  -531,
-     189,   684,   183,  1201,  1201,  1201,  1201,  1201,  1201,  1201,
-     193,   194,   195,  1201,  1201,   684,   684,   196,  -531,   -19,
-    -531,  -531,  -531,   216,   516,  1242,  1242,  1242,  1242,  1242,
-    -531,  -531,   -30,   -60,  -531,   -83,  -531,  1242,  1242,  1242,
-    1242,  1242,  -531,  -531,  -531,  -531,  -531,  1140,   308,  -531,
-    -531,   320,   -47,   328,   329,   198,   206,   207,   684,   352,
-     684,  1201,  -531,   208,   684,   212,  -531,  -531,   213,   215,
-    -531,  -531,   684,   684,   684,  -531,  -531,   214,  -531,  1201,
-     345,   367,  -531,   116,   230,   231,   189,   233,   235,   237,
-     238,  1242,  -531,  -531,  -531,   239,   240,   241,   336,   242,
-    -531,  -531,  -531,   316,   254,  -531,   684,   684,  1201,   684,
-     684,   258,  -531,   258,  -531,   259,   684,   260,  1201,  1201,
-    1201,  -531,  -531,  -531,  1201,   684,  -531,  -531,  -531,  1242,
-    1242,   219,  1242,  1242,  1242,  1242,  -531,  1242,  1242,  1242,
-    1201,  1242,   372,  -531,   353,   261,   232,   259,   262,  -531,
-    -531,   321,  -531,  -531,  1201,   256,   684,  -531,  -531,  -531,
-     263,  -531,   264,   267,  -531,   268,   266,   274,   275,   270,
-     277,   278,   279,   280,  -531,  -531,   360,    20,   350,  -531,
-    -531,   257,  -531,  1242,  1242,  1242,  -531,  1242,  1242,  -531,
-    -531,  -531,  -531,  -531,   684,  -531,   830,    35,   415,  -531,
-     282,   285,   291,   293,   297,  -531,   304,  -531,   830,   684,
-    -531,  -531,  -531,  -531,  -531,   437,   309,   384,   684,   441,
-     443,  -531,   684,   684,  -531,  -531
+    -542,    24,   136,   567,  -542,  -542,  -542,  -542,  -542,  -542,
+    -542,  -542,  -542,  -542,    -5,   144,    56,  -542,  -542,    -9,
+    -542,  -542,    61,   -53,    51,   426,   -16,  -542,    42,   139,
+     167,  -542,  -542,  -542,  -542,  -542,  -542,  1195,   -20,  -542,
+    -542,   162,  -542,  -542,  -542,  -542,    19,    28,    50,    57,
+    -542,    54,   139,  1195,   124,   124,   124,   124,  -542,  -542,
+    -542,   144,  -542,  -542,  -542,  -542,  -542,    66,  -542,  -542,
+    -542,  -542,  -542,  -542,  -542,  -542,  -542,  -542,  -542,  -542,
+    -542,  -542,   220,   221,   222,    87,  -542,   162,    77,  -542,
+    -542,   -81,  -542,  -542,  -542,  -542,  -542,   425,  -542,   204,
+     132,   228,   209,   223,  -542,  -542,  -542,  -542,  -542,  1215,
+    1215,  1215,  1256,  -542,  -542,    81,    90,  -542,  -542,   -81,
+    -133,    96,  1000,  -542,  -542,  1215,  -542,   181,  1276,    -2,
+     377,   144,  -542,  -542,  -542,  -542,  -542,  -542,  -542,  -542,
+    -542,  -542,  -542,  -542,  -542,  -542,  -542,  -542,  -542,  -542,
+    -542,  -542,    23,   210,  1215,  1215,  1215,  1215,  -542,  -542,
+    -542,  -542,  -542,  -542,  -542,  -542,  -542,  -542,  -542,  -542,
+    1215,  1215,  -542,  -542,  -542,  1215,  1215,  1215,  1215,  1215,
+    1215,  1215,  1215,  1215,  1215,  1215,  -542,   144,  -542,    69,
+    -542,  -542,  -542,  -542,  -542,  -542,  -542,  -542,   -68,  -542,
+    -542,  -542,   165,   192,   245,   196,   249,   198,   253,   216,
+     254,   255,   258,   219,   256,   261,   568,  -542,  1215,  1215,
+    1215,  -542,  1041,  -542,   121,   110,   710,  -542,  -542,    66,
+    -542,   710,   710,  -542,  -542,  -542,  -542,  -542,  -542,  -542,
+    -542,  -542,  -542,   710,  1195,  -542,  -542,  -542,  -542,  -542,
+    -542,  -542,  -542,  -542,  -542,  1215,  -542,  -542,  -542,  -542,
+    -542,  -542,  -542,  -542,  -542,  -542,  -542,  -542,  -542,  -542,
+    -542,  -542,  1215,   122,   126,  -542,   710,   120,   127,   129,
+     130,   131,   133,   135,   137,   140,   710,   710,   710,   244,
+     141,  1195,  1215,  1215,   260,  -542,   142,   142,   142,  -542,
+    -542,  -542,  -542,  -542,  -542,  -542,  -542,  -542,  -542,   148,
+     149,   150,   151,   152,   154,   160,   945,  1256,   661,   263,
+     161,   187,   190,   191,   193,  -542,  -542,   142,     5,     6,
+     -81,  -542,   162,  -542,   164,   194,  1098,  -542,  -542,  -542,
+    -542,  -542,  -542,  -542,  -542,  -542,   279,  1256,  -542,  -542,
+    -542,  -542,   201,  -542,   202,   710,   710,   710,     7,  -542,
+       8,  -542,   205,   710,   200,  1215,  1215,  1215,  1215,  1215,
+    1215,  1215,   206,   207,   208,  1215,  1215,   710,   710,   212,
+    -542,   -29,  -542,  -542,  -542,    23,   210,  1256,  1256,  1256,
+    1256,  1256,  -542,  -542,   -38,   -72,  -542,  -105,  -542,  1256,
+    1256,  1256,  1256,  1256,  -542,  -542,  -542,  -542,  -542,  1154,
+     310,  -542,  -542,   333,   -71,   337,   340,   217,   214,   225,
+     710,   364,   710,  1215,  -542,   226,   710,   229,  -542,  -542,
+     230,   233,  -542,  -542,   710,   710,   710,  -542,  -542,   232,
+    -542,  1215,   345,   366,  -542,   142,   235,   236,   205,   237,
+     247,   248,   264,  1256,  -542,  -542,  -542,   265,   266,   270,
+     335,   271,  -542,  -542,  -542,   319,   272,  -542,   710,   710,
+    1215,   710,   710,   273,  -542,   273,  -542,   274,   710,   276,
+    1215,  1215,  1215,  -542,  -542,  -542,  1215,   710,  -542,  -542,
+    -542,  1256,  1256,   257,  1256,  1256,  1256,  1256,  -542,  1256,
+    1256,  1256,  1215,  1256,   421,  -542,   402,   280,   275,   274,
+     278,  -542,  -542,   375,  -542,  -542,  1215,   281,   710,  -542,
+    -542,  -542,   283,  -542,   288,   291,  -542,   292,   290,   294,
+     299,   297,   303,   306,   307,   308,  -542,  -542,   429,    20,
+     427,  -542,  -542,   312,  -542,  1256,  1256,  1256,  -542,  1256,
+    1256,  -542,  -542,  -542,  -542,  -542,   710,  -542,   852,    35,
+     440,  -542,   311,   313,   324,   326,   327,  -542,   339,  -542,
+     852,   710,  -542,  -542,  -542,  -542,  -542,   460,   341,   407,
+     710,   467,   469,  -542,   710,   710,  -542,  -542
 };
 
 /* YYPGOTO[NTERM-NUM].  */
 static const short int yypgoto[] =
 {
-    -531,  -531,  -531,   368,   369,   370,   371,   373,    90,    94,
-    -129,  -128,  -530,  -531,   428,   449,  -112,  -531,  -268,    67,
-    -531,  -231,  -531,   -50,  -531,   -37,  -531,   -65,   354,  -531,
-     -94,   265,  -290,    46,  -531,  -531,  -531,  -531,  -531,  -531,
-    -531,   427,  -531,  -531,  -531,  -531,     3,  -531,    73,  -531,
-    -531,   421,  -531,  -531,  -531,  -531,  -531,   480,  -531,  -531,
-    -515,  -203,    69,  -117,  -531,   465,  -531,  -531,  -531,  -531,
-    -531,    64,     2,  -531,  -531,    42,  -531,  -531
+    -542,  -542,  -542,   394,   395,   396,   428,   430,   138,   147,
+    -129,  -128,  -484,  -542,   483,   501,  -121,  -542,  -270,   125,
+    -542,  -285,  -542,   -50,  -542,   -37,  -542,   -65,   408,  -542,
+     -94,   318,  -277,   113,  -542,  -542,  -542,  -542,  -542,  -542,
+    -542,   484,  -542,  -542,  -542,  -542,     3,  -542,   128,  -542,
+    -542,   478,  -542,  -542,  -542,  -542,  -542,   537,  -542,  -542,
+    -541,    60,  -205,  -117,  -542,   522,  -542,  -542,  -542,  -542,
+    -542,   119,    86,  -542,  -542,    98,  -542,  -542
 };
 
 /* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If
    positive, shift that token.  If negative, reduce the rule which
    number is the opposite.  If zero, do what YYDEFACT says.
    If YYTABLE_NINF, syntax error.  */
-#define YYTABLE_NINF -171
+#define YYTABLE_NINF -173
 static const short int yytable[] =
 {
-      89,   241,   242,   106,   359,    94,    26,   556,   227,   231,
-      39,   230,   220,   324,   418,   440,    89,    42,   217,   244,
-     119,   232,   221,   348,   420,   393,   395,   568,   348,   348,
-     233,   234,   235,   236,   237,   238,   239,   240,   441,   273,
-     348,   566,   107,   108,    26,   233,   234,   235,   236,   237,
-     238,   239,   240,   576,   277,   412,   419,   119,   278,   279,
-     280,   281,   282,   283,   381,   382,   419,   287,   288,   451,
-      39,   348,   199,   200,   201,   289,    46,    47,    48,   454,
-     292,   348,   348,   348,  -106,   -76,   293,    20,   226,    21,
-     121,   226,   451,   123,   402,    49,     6,   -76,   -76,   403,
-     453,   110,   111,   112,   123,   451,   -76,   -76,   -76,   -76,
-     -76,   -76,   -76,   465,     4,   -76,    22,   271,   272,   226,
-     274,   404,   451,    23,   123,   192,   193,    24,   452,    59,
-      20,    60,    21,   275,   226,    29,    51,    95,   226,   226,
-     226,   226,   226,   226,   284,   285,   286,   226,   226,    43,
-     348,   348,   348,   326,   327,   328,   290,   291,   348,    52,
-     297,   298,   -66,   -66,    58,    53,   -65,   -65,   -64,   -64,
-     -63,   -63,   348,   348,   377,   299,   300,    62,   555,    64,
-      99,   100,   103,   101,   102,   330,     7,     8,     9,    10,
-      54,    12,    55,   567,   353,    56,    30,    31,    32,    33,
-      34,    35,    36,   512,  -107,   513,   114,    89,   115,   116,
-     122,   191,   488,   195,   196,   348,   197,   348,   354,   218,
-     219,   348,   222,   228,   -70,   -69,   -68,   -67,   302,   348,
-     348,   348,   -73,   355,  -170,   -74,   303,   334,   335,   375,
-     356,   358,   361,   362,   363,   364,   425,   365,   427,   428,
-     429,   366,    89,   376,   226,   367,   368,   436,   369,     5,
-     378,   374,   373,   348,   348,     6,   348,   348,   379,   328,
-     396,   383,   384,   348,   385,     7,     8,     9,    10,    11,
-      12,    13,   348,   233,   234,   235,   236,   237,   238,   239,
-     240,   446,   447,   448,   449,   450,    14,   386,   387,   407,
-     350,   351,   388,   455,   456,   457,   458,   459,   389,   397,
-     398,   399,   352,   348,   245,   246,   247,   248,   249,   250,
-     251,   252,   253,   254,   400,   401,   226,   426,   226,   226,
-     226,   430,   431,   405,   408,   410,   435,   226,   413,   424,
-     414,   421,   440,   360,   464,   432,   433,   434,   439,   466,
-     467,   348,   468,   370,   371,   372,   472,   496,   469,   470,
-     476,   517,   518,   519,   478,   479,   348,   480,   484,   486,
-     330,   487,   500,   502,   524,   348,   534,   535,   419,   348,
-     348,   554,   489,   490,   226,   492,   558,   493,   537,   494,
-     495,   497,   498,   499,   501,   522,   523,   539,   525,   526,
-     527,   528,   485,   529,   530,   531,   504,   533,   241,   242,
-     511,   514,   516,   536,   540,   559,   543,   538,   542,   544,
-     545,   546,   415,   416,   417,   549,   547,   548,   241,   242,
-     423,   226,   550,   551,   552,   553,   569,   570,    65,    66,
-     571,   226,   226,   226,   437,   438,   572,   226,   573,   560,
-     561,   562,   574,   563,   564,    20,   575,    21,   578,   304,
-     580,   579,   582,   532,   583,   181,   182,   183,   184,    97,
-     185,   305,   306,   444,    57,   462,   224,   226,   445,   105,
-     461,   323,   113,    27,    45,   475,   520,   471,   491,   473,
-       0,     0,     0,   477,     0,     0,     0,     0,     0,     0,
-       0,   481,   482,   483,     0,     0,     0,     0,     0,     0,
-       0,   134,   135,   136,   137,   138,   139,   140,   141,   142,
-     143,   144,   145,   146,   147,   148,   149,   150,   151,   307,
-     308,     0,     0,     0,     0,   505,   506,     0,   509,   510,
-       0,     0,     0,     0,     0,   515,     0,     0,     0,     0,
-       0,     0,     0,     0,   521,     0,     0,     0,     0,     0,
-     309,   158,   159,   160,   161,   162,   163,   164,   165,   166,
-     167,   168,   169,     0,   310,   172,   173,   174,     0,   311,
-     312,   313,     0,     0,     0,   541,     0,     0,     0,   314,
-       0,     0,   315,     0,   316,     0,     0,   317,    65,    66,
-       0,   117,    68,    69,    70,    71,    72,    73,    74,    75,
-      76,    77,    78,    79,    80,    20,     0,    21,     0,     0,
-       0,     0,     0,   565,   256,   257,   258,   259,   260,   261,
-     262,   263,   264,   265,   266,   267,   268,   269,   577,     0,
-       0,    81,     0,     0,     0,     0,     0,   581,     0,     0,
-       0,   584,   585,    65,    66,     0,   117,   202,   203,   204,
-     205,   206,   207,   208,   209,   210,   211,   212,    79,    80,
-      20,     0,    21,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,   336,   337,    65,
-      66,   338,     0,     0,     0,     0,    81,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,    20,     0,    21,     0,
-     339,   340,   341,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,   342,   343,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,   344,    82,     0,     0,    83,
-       0,     0,    84,     0,    85,   118,     0,     0,     0,     0,
-       0,     0,   134,   135,   136,   137,   138,   139,   140,   141,
-     142,   143,   144,   145,   146,   147,   148,   149,   150,   151,
-     307,   308,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,    82,     0,     0,    83,     0,     0,    84,     0,    85,
-     394,   309,   158,   159,   160,   161,   162,   163,   164,   165,
-     166,   167,   168,   169,     0,   310,   172,   173,   174,     0,
-     311,   312,   313,   336,   337,     0,     0,   338,     0,     0,
-       0,     0,     0,   345,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,   339,   340,   341,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,   342,   343,
+      89,   241,   242,   106,   361,   442,    26,   231,   227,    94,
+     244,   230,   383,   384,    39,   220,    89,   568,   217,   232,
+     119,    42,   420,   422,     4,   221,   352,   353,   443,   578,
+     233,   234,   235,   236,   237,   238,   239,   240,   354,   275,
+     395,   397,   404,   453,    26,   233,   234,   235,   236,   237,
+     238,   239,   240,   456,   279,   558,    29,   119,   280,   281,
+     282,   283,   284,   285,   421,   421,   291,   289,   290,  -108,
+     414,   362,   199,   200,   201,   570,   453,   453,   123,    39,
+     294,   372,   373,   374,   455,   467,   295,    59,   226,    60,
+     121,   226,    65,    66,    51,   117,    68,    69,    70,    71,
+      72,    73,    74,    75,    76,    77,    78,    79,    80,    20,
+     453,    21,    52,    46,    47,    48,   454,   273,   274,   226,
+     276,   245,   246,   247,   248,   249,   250,   251,   252,   253,
+     254,    58,    49,   277,   226,    81,  -172,    95,   226,   226,
+     226,   226,   226,   226,   286,   287,   288,   226,   226,    43,
+     417,   418,   419,   328,   329,   330,   107,   108,   425,   405,
+     490,     5,   406,    62,   123,   123,    99,     6,   110,   111,
+     112,    64,   439,   440,   557,   100,   379,     7,     8,     9,
+      10,    11,    12,    13,    20,   332,    21,   192,   193,   569,
+     292,   293,   299,   300,   355,   -68,   -68,   101,    14,   -67,
+     -67,   -66,   -66,   514,   102,   515,   103,    89,    30,    31,
+      32,    33,    34,    35,    36,   473,  -109,   475,   356,   -65,
+     -65,   479,   301,   302,   114,   115,   116,   122,   191,   483,
+     484,   485,   195,   196,   218,   357,    82,   256,   257,    83,
+     228,   377,    84,   219,    85,   118,   222,   197,   427,   -72,
+     429,   430,   431,   -71,    89,   378,   226,   -70,   -69,   438,
+     304,   337,   -75,   507,   508,   -76,   511,   512,   305,   336,
+     358,   330,   363,   517,   360,   364,   326,   365,   366,   367,
+     375,   368,   523,   369,   380,   370,   350,   398,   371,   376,
+     381,   350,   350,   448,   449,   450,   451,   452,   385,   386,
+     387,   388,   389,   350,   390,   457,   458,   459,   460,   461,
+     391,   399,   409,   543,   258,   259,   260,   261,   262,   263,
+     264,   265,   266,   267,   268,   269,   270,   271,   226,   428,
+     226,   226,   226,   432,   433,   407,   350,   400,   437,   226,
+     401,   402,   412,   403,   442,   410,   350,   350,   350,   415,
+     416,   567,   426,   423,   434,   435,   436,   466,   468,   498,
+     441,   469,   471,   519,   520,   521,   579,   470,   474,   488,
+     489,   502,   332,   472,   478,   583,   504,   480,   481,   586,
+     587,   482,   486,   491,   492,   494,   226,   233,   234,   235,
+     236,   237,   238,   239,   240,   495,   496,   524,   525,   541,
+     527,   528,   529,   530,   487,   531,   532,   533,   526,   535,
+     241,   242,   497,   499,   500,   350,   350,   350,   501,   503,
+     506,   513,   516,   350,   518,   536,   537,   539,   538,   540,
+     241,   242,   421,   226,   544,   542,   545,   350,   350,   546,
+     547,   548,   549,   226,   226,   226,    53,   550,   551,   226,
+     556,   562,   563,   564,   552,   565,   566,   553,   554,   555,
+     124,   571,   572,   560,   573,   534,   561,     7,     8,     9,
+      10,    54,    12,    55,   125,   574,    56,   575,   576,   226,
+     350,   580,   350,   582,   126,   127,   350,   577,   584,   581,
+     585,   181,   182,   183,   350,   350,   350,   128,   129,   130,
+     131,   132,   133,   134,   135,   136,   137,   138,   139,   140,
+     141,   142,   143,   144,   145,   146,   147,   148,   149,   150,
+     151,   152,   153,   446,    97,   184,    57,   185,   350,   350,
+     224,   350,   350,   447,   325,   464,   105,   463,   350,   113,
+      27,    45,   477,   154,   155,   156,   493,   350,   157,   158,
+     159,   160,   161,   162,   163,   164,   165,   166,   167,   168,
+     169,   170,   171,   172,   173,   174,   175,   176,   177,   178,
+     179,   180,   522,    65,    66,     0,     0,     0,   350,     0,
+       0,     0,     0,     0,     0,     0,     0,   -78,     0,    20,
+      20,    21,    21,     0,   306,     0,     0,     0,     6,   -78,
+     -78,     0,     0,     0,     0,     0,   307,   308,   -78,   -78,
+     -78,   -78,   -78,   -78,   -78,     0,   350,   -78,    22,     0,
+       0,     0,     0,     0,     0,    23,     0,     0,     0,    24,
+       0,   350,     0,     0,     0,     0,     0,     0,     0,     0,
+     350,     0,     0,     0,   350,   350,   134,   135,   136,   137,
+     138,   139,   140,   141,   142,   143,   144,   145,   146,   147,
+     148,   149,   150,   151,   309,   310,    65,    66,     0,   117,
+     202,   203,   204,   205,   206,   207,   208,   209,   210,   211,
+     212,    79,    80,    20,     0,    21,     0,     0,     0,     0,
+       0,   311,   158,   159,   160,   161,   162,   163,   164,   165,
+     166,   167,   168,   169,     0,   312,   172,   173,   174,    81,
+     313,   314,   315,   338,   339,    65,    66,   340,     0,     0,
+     316,     0,     0,   317,     0,   318,     0,     0,   319,     0,
+       0,     0,    20,     0,    21,     0,   341,   342,   343,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,   344,   345,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,   344,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,   346,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,   134,   135,
      136,   137,   138,   139,   140,   141,   142,   143,   144,   145,
-     146,   147,   148,   149,   150,   151,   307,   308,     0,     0,
-       0,     0,    65,    66,     0,   117,   202,   203,   204,   205,
-     206,   207,   208,   209,   210,   211,   212,    79,    80,    20,
-       0,    21,     0,     0,     0,     0,     0,   309,   158,   159,
-     160,   161,   162,   163,   164,   165,   166,   167,   168,   169,
-       0,   310,   172,   173,   174,    81,   311,   312,   313,     0,
-       0,     0,     0,     0,     0,     0,     0,    65,    66,   345,
-     117,    68,    69,    70,    71,    72,    73,    74,    75,    76,
-      77,    78,    79,    80,    20,     0,    21,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,   223,
-       0,     0,     0,     0,     0,     0,     0,     0,    65,    66,
-      81,   117,    68,    69,    70,    71,    72,    73,    74,    75,
-      76,    77,    78,    79,    80,    20,     0,    21,     0,     0,
+     146,   147,   148,   149,   150,   151,   309,   310,     0,     0,
+      82,     0,     0,    83,     0,     0,    84,     0,    85,   396,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-     329,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,    81,     0,     0,     0,     0,     0,     0,     0,     0,
-      82,     0,     0,    83,     0,   390,    84,     0,    85,    65,
+       0,     0,     0,   311,   158,   159,   160,   161,   162,   163,
+     164,   165,   166,   167,   168,   169,     0,   312,   172,   173,
+     174,     0,   313,   314,   315,   338,   339,     0,     0,   340,
+       0,     0,     0,     0,     0,   347,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,   341,   342,
+     343,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+     344,   345,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,   346,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+     134,   135,   136,   137,   138,   139,   140,   141,   142,   143,
+     144,   145,   146,   147,   148,   149,   150,   151,   309,   310,
+      65,    66,     0,   117,   202,   203,   204,   205,   206,   207,
+     208,   209,   210,   211,   212,    79,    80,    20,     0,    21,
+       0,     0,     0,     0,     0,   311,   158,   159,   160,   161,
+     162,   163,   164,   165,   166,   167,   168,   169,     0,   312,
+     172,   173,   174,    81,   313,   314,   315,     0,     0,     0,
+       0,     0,     0,     0,     0,    65,    66,   347,   117,    68,
+      69,    70,    71,    72,    73,    74,    75,    76,    77,    78,
+      79,    80,    20,     0,    21,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,   223,     0,     0,
+       0,     0,     0,     0,     0,     0,    65,    66,    81,   117,
+      68,    69,    70,    71,    72,    73,    74,    75,    76,    77,
+      78,    79,    80,    20,     0,    21,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,   331,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,    81,
+       0,     0,     0,     0,    82,     0,     0,    83,     0,   392,
+      84,     0,    85,    65,    66,     0,   117,    68,    69,    70,
+      71,    72,    73,    74,    75,    76,    77,    78,    79,    80,
+      20,     0,    21,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,   411,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,    81,     0,     0,    82,
+       0,     0,    83,     0,     0,    84,     0,    85,     0,    65,
       66,     0,   117,    68,    69,    70,    71,    72,    73,    74,
       75,    76,    77,    78,    79,    80,    20,     0,    21,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,   409,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,    81,     0,     0,    82,     0,     0,    83,     0,
-       0,    84,     0,    85,     0,    65,    66,     0,   117,    68,
-      69,    70,    71,    72,    73,    74,    75,    76,    77,    78,
-      79,    80,    20,     0,    21,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,    82,   460,     0,    83,
-       0,     0,    84,     0,    85,     0,    65,    66,    81,    67,
-      68,    69,    70,    71,    72,    73,    74,    75,    76,    77,
-      78,    79,    80,    20,     0,    21,    65,    66,     0,   117,
-      68,    69,    70,    71,    72,    73,    74,    75,    76,    77,
-      78,    79,    80,    20,     0,    21,     0,     0,     0,    81,
-       0,     0,     0,     0,     0,     0,     0,    82,     0,     0,
-      83,     0,     0,    84,     0,    85,     0,    65,    66,    81,
-     117,   202,   203,   204,   205,   206,   207,   208,   209,   210,
-     211,   212,    79,    80,    20,     0,    21,    65,    66,     0,
-     229,    68,    69,    70,    71,    72,    73,    74,    75,    76,
-      77,    78,    79,    80,    20,     0,    21,     0,     0,     0,
-      81,     0,     0,    82,     0,     0,    83,     0,     0,    84,
+      82,   462,     0,    83,     0,     0,    84,     0,    85,     0,
+      65,    66,    81,    67,    68,    69,    70,    71,    72,    73,
+      74,    75,    76,    77,    78,    79,    80,    20,     0,    21,
+      65,    66,     0,   117,    68,    69,    70,    71,    72,    73,
+      74,    75,    76,    77,    78,    79,    80,    20,     0,    21,
+       0,     0,     0,    81,     0,     0,     0,    82,     0,     0,
+      83,     0,     0,    84,     0,    85,     0,     0,     0,     0,
+       0,    65,    66,    81,   117,   202,   203,   204,   205,   206,
+     207,   208,   209,   210,   211,   212,    79,    80,    20,     0,
+      21,    65,    66,     0,   229,    68,    69,    70,    71,    72,
+      73,    74,    75,    76,    77,    78,    79,    80,    20,     0,
+      21,     0,     0,    82,    81,     0,    83,     0,     0,    84,
        0,    85,     0,     0,     0,     0,     0,     0,     0,     0,
-      81,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,    81,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,    82,     0,     0,    83,     0,     0,
       84,     0,    85,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,    82,     0,     0,    83,     0,     0,
       84,     0,    85,     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,   124,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,    82,     0,     0,    83,     0,
-       0,    84,   125,    85,     0,     0,     0,     0,     0,     0,
-       0,     0,   126,   127,     0,    82,     0,     0,    83,     0,
-       0,    84,     0,    85,     0,   128,   129,   130,   131,   132,
-     133,   134,   135,   136,   137,   138,   139,   140,   141,   142,
-     143,   144,   145,   146,   147,   148,   149,   150,   151,   152,
-     153,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,   154,   155,   156,     0,     0,
-     157,   158,   159,   160,   161,   162,   163,   164,   165,   166,
-     167,   168,   169,   170,   171,   172,   173,   174,   175,   176,
-     177,   178,   179,   180
+       0,    84,     0,    85,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,    82,     0,     0,    83,     0,
+       0,    84,     0,    85
 };
 
 static const short int yycheck[] =
 {
-      37,   130,   130,    53,   272,    29,     3,   537,   125,     9,
-      23,   128,   152,   216,    15,    34,    53,    30,   112,   131,
-      85,    21,   162,   226,    15,   315,   316,   557,   231,   232,
-      10,    11,    12,    13,    14,    15,    16,    17,    57,   156,
-     243,   556,    32,    33,    41,    10,    11,    12,    13,    14,
-      15,    16,    17,   568,   171,   345,    57,   122,   175,   176,
-     177,   178,   179,   180,   295,   296,    57,   184,   185,   152,
-      23,   274,   109,   110,   111,   187,    52,    53,    54,   162,
-     152,   284,   285,   286,   154,    20,   158,    22,   125,    24,
-      87,   128,   152,   163,   325,    71,    31,    32,    33,   158,
-     160,    55,    56,    57,   163,   152,    41,    42,    43,    44,
-      45,    46,    47,   160,     0,    50,    51,   154,   155,   156,
-     157,   160,   152,    58,   163,    55,    56,    62,   158,    45,
-      22,    47,    24,   170,   171,    61,   151,   161,   175,   176,
-     177,   178,   179,   180,   181,   182,   183,   184,   185,   162,
-     353,   354,   355,   218,   219,   220,   125,   126,   361,    61,
-      27,    28,     3,     4,   151,    20,     3,     4,     3,     4,
-       3,     4,   375,   376,   291,     3,     4,    24,   158,     4,
-     151,   151,   156,   151,   151,   222,    41,    42,    43,    44,
-      45,    46,    47,   158,   244,    50,    64,    65,    66,    67,
-      68,    69,    70,   471,   154,   473,     4,   244,     4,     4,
-     154,    24,   443,     4,    24,   418,    24,   420,   255,   157,
-     157,   424,   154,    59,     4,     4,     4,     4,     4,   432,
-     433,   434,     7,   270,     0,     7,     7,   152,   155,   289,
-     152,   152,   156,   152,   152,   152,   363,   152,   365,   366,
-     367,   152,   289,   290,   291,   152,   152,   374,   152,    25,
-      24,   152,    36,   466,   467,    31,   469,   470,   152,   334,
-      24,   154,   154,   476,   154,    41,    42,    43,    44,    45,
-      46,    47,   485,    10,    11,    12,    13,    14,    15,    16,
-      17,   385,   386,   387,   388,   389,    62,   154,   154,   152,
-     231,   232,   154,   397,   398,   399,   400,   401,   154,   154,
-     154,   154,   243,   516,    98,    99,   100,   101,   102,   103,
-     104,   105,   106,   107,   154,   154,   363,   364,   365,   366,
-     367,   368,   369,   330,   155,    63,   373,   374,   152,   156,
-     152,   152,    34,   274,    24,   152,   152,   152,   152,    21,
-      21,   554,   154,   284,   285,   286,     4,   451,   152,   152,
-     152,   478,   479,   480,   152,   152,   569,   152,   154,    24,
-     407,     4,    36,    57,   155,   578,     4,    24,    57,   582,
-     583,    21,   152,   152,   421,   152,    36,   152,   156,   152,
-     152,   152,   152,   152,   152,   489,   490,   514,   492,   493,
-     494,   495,   439,   497,   498,   499,   152,   501,   537,   537,
-     152,   152,   152,   152,   158,   158,   152,   155,   155,   152,
-     152,   155,   353,   354,   355,   155,   152,   152,   557,   557,
-     361,   468,   155,   155,   155,   155,    21,   155,     5,     6,
-     155,   478,   479,   480,   375,   376,   155,   484,   155,   543,
-     544,   545,   155,   547,   548,    22,   152,    24,    21,    26,
-      76,   152,    21,   500,    21,    97,    97,    97,    97,    41,
-      97,    38,    39,   383,    25,   408,   122,   514,   384,    52,
-     407,   216,    61,     3,    19,   421,   484,   418,   446,   420,
-      -1,    -1,    -1,   424,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,   432,   433,   434,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    78,    79,    80,    81,    82,    83,    84,    85,    86,
-      87,    88,    89,    90,    91,    92,    93,    94,    95,    96,
-      97,    -1,    -1,    -1,    -1,   466,   467,    -1,   469,   470,
-      -1,    -1,    -1,    -1,    -1,   476,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,   485,    -1,    -1,    -1,    -1,    -1,
-     127,   128,   129,   130,   131,   132,   133,   134,   135,   136,
-     137,   138,   139,    -1,   141,   142,   143,   144,    -1,   146,
-     147,   148,    -1,    -1,    -1,   516,    -1,    -1,    -1,   156,
-      -1,    -1,   159,    -1,   161,    -1,    -1,   164,     5,     6,
-      -1,     8,     9,    10,    11,    12,    13,    14,    15,    16,
-      17,    18,    19,    20,    21,    22,    -1,    24,    -1,    -1,
-      -1,    -1,    -1,   554,   108,   109,   110,   111,   112,   113,
-     114,   115,   116,   117,   118,   119,   120,   121,   569,    -1,
-      -1,    48,    -1,    -1,    -1,    -1,    -1,   578,    -1,    -1,
-      -1,   582,   583,     5,     6,    -1,     8,     9,    10,    11,
-      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
-      22,    -1,    24,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,     3,     4,     5,
-       6,     7,    -1,    -1,    -1,    -1,    48,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    22,    -1,    24,    -1,
-      26,    27,    28,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    38,    39,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    61,   153,    -1,    -1,   156,
-      -1,    -1,   159,    -1,   161,   162,    -1,    -1,    -1,    -1,
-      -1,    -1,    78,    79,    80,    81,    82,    83,    84,    85,
-      86,    87,    88,    89,    90,    91,    92,    93,    94,    95,
-      96,    97,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,   153,    -1,    -1,   156,    -1,    -1,   159,    -1,   161,
-     162,   127,   128,   129,   130,   131,   132,   133,   134,   135,
-     136,   137,   138,   139,    -1,   141,   142,   143,   144,    -1,
-     146,   147,   148,     3,     4,    -1,    -1,     7,    -1,    -1,
-      -1,    -1,    -1,   159,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    26,    27,    28,    -1,
+      37,   130,   130,    53,   274,    34,     3,     9,   125,    29,
+     131,   128,   297,   298,    23,   148,    53,   558,   112,    21,
+      85,    30,    15,    15,     0,   158,   231,   232,    57,   570,
+      10,    11,    12,    13,    14,    15,    16,    17,   243,   156,
+     317,   318,   327,   148,    41,    10,    11,    12,    13,    14,
+      15,    16,    17,   158,   171,   539,    61,   122,   175,   176,
+     177,   178,   179,   180,    57,    57,   187,   184,   185,   150,
+     347,   276,   109,   110,   111,   559,   148,   148,   159,    23,
+     148,   286,   287,   288,   156,   156,   154,    45,   125,    47,
+      87,   128,     5,     6,   147,     8,     9,    10,    11,    12,
+      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
+     148,    24,    61,    52,    53,    54,   154,   154,   155,   156,
+     157,    98,    99,   100,   101,   102,   103,   104,   105,   106,
+     107,   147,    71,   170,   171,    48,     0,   157,   175,   176,
+     177,   178,   179,   180,   181,   182,   183,   184,   185,   158,
+     355,   356,   357,   218,   219,   220,    32,    33,   363,   154,
+     445,    25,   156,    24,   159,   159,   147,    31,    55,    56,
+      57,     4,   377,   378,   154,   147,   293,    41,    42,    43,
+      44,    45,    46,    47,    22,   222,    24,    55,    56,   154,
+     121,   122,    27,    28,   244,     3,     4,   147,    62,     3,
+       4,     3,     4,   473,   147,   475,   152,   244,    64,    65,
+      66,    67,    68,    69,    70,   420,   150,   422,   255,     3,
+       4,   426,     3,     4,     4,     4,     4,   150,    24,   434,
+     435,   436,     4,    24,   153,   272,   149,    27,    28,   152,
+      59,   291,   155,   153,   157,   158,   150,    24,   365,     4,
+     367,   368,   369,     4,   291,   292,   293,     4,     4,   376,
+       4,   151,     7,   468,   469,     7,   471,   472,     7,   148,
+     148,   336,   152,   478,   148,   148,   216,   148,   148,   148,
+      36,   148,   487,   148,    24,   148,   226,    24,   148,   148,
+     148,   231,   232,   387,   388,   389,   390,   391,   150,   150,
+     150,   150,   150,   243,   150,   399,   400,   401,   402,   403,
+     150,   150,   148,   518,   104,   105,   106,   107,   108,   109,
+     110,   111,   112,   113,   114,   115,   116,   117,   365,   366,
+     367,   368,   369,   370,   371,   332,   276,   150,   375,   376,
+     150,   150,    63,   150,    34,   151,   286,   287,   288,   148,
+     148,   556,   152,   148,   148,   148,   148,    24,    21,   453,
+     148,    21,   148,   480,   481,   482,   571,   150,     4,    24,
+       4,    36,   409,   148,   148,   580,    57,   148,   148,   584,
+     585,   148,   150,   148,   148,   148,   423,    10,    11,    12,
+      13,    14,    15,    16,    17,   148,   148,   491,   492,   516,
+     494,   495,   496,   497,   441,   499,   500,   501,   151,   503,
+     539,   539,   148,   148,   148,   355,   356,   357,   148,   148,
+     148,   148,   148,   363,   148,     4,    24,   152,   148,   151,
+     559,   559,    57,   470,   151,   154,   148,   377,   378,   148,
+     148,   151,   148,   480,   481,   482,    20,   148,   151,   486,
+      21,   545,   546,   547,   151,   549,   550,   151,   151,   151,
+      35,    21,   151,    36,   151,   502,   154,    41,    42,    43,
+      44,    45,    46,    47,    49,   151,    50,   151,   151,   516,
+     420,    21,   422,    76,    59,    60,   426,   148,    21,   148,
+      21,    97,    97,    97,   434,   435,   436,    72,    73,    74,
+      75,    76,    77,    78,    79,    80,    81,    82,    83,    84,
+      85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
+      95,    96,    97,   385,    41,    97,    25,    97,   468,   469,
+     122,   471,   472,   386,   216,   410,    52,   409,   478,    61,
+       3,    19,   423,   118,   119,   120,   448,   487,   123,   124,
+     125,   126,   127,   128,   129,   130,   131,   132,   133,   134,
+     135,   136,   137,   138,   139,   140,   141,   142,   143,   144,
+     145,   146,   486,     5,     6,    -1,    -1,    -1,   518,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    -1,    22,
+      22,    24,    24,    -1,    26,    -1,    -1,    -1,    31,    32,
+      33,    -1,    -1,    -1,    -1,    -1,    38,    39,    41,    42,
+      43,    44,    45,    46,    47,    -1,   556,    50,    51,    -1,
+      -1,    -1,    -1,    -1,    -1,    58,    -1,    -1,    -1,    62,
+      -1,   571,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+     580,    -1,    -1,    -1,   584,   585,    78,    79,    80,    81,
+      82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
+      92,    93,    94,    95,    96,    97,     5,     6,    -1,     8,
+       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
+      19,    20,    21,    22,    -1,    24,    -1,    -1,    -1,    -1,
+      -1,   123,   124,   125,   126,   127,   128,   129,   130,   131,
+     132,   133,   134,   135,    -1,   137,   138,   139,   140,    48,
+     142,   143,   144,     3,     4,     5,     6,     7,    -1,    -1,
+     152,    -1,    -1,   155,    -1,   157,    -1,    -1,   160,    -1,
+      -1,    -1,    22,    -1,    24,    -1,    26,    27,    28,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    38,    39,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
@@ -2341,129 +2313,134 @@
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    78,    79,
       80,    81,    82,    83,    84,    85,    86,    87,    88,    89,
       90,    91,    92,    93,    94,    95,    96,    97,    -1,    -1,
-      -1,    -1,     5,     6,    -1,     8,     9,    10,    11,    12,
-      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
-      -1,    24,    -1,    -1,    -1,    -1,    -1,   127,   128,   129,
-     130,   131,   132,   133,   134,   135,   136,   137,   138,   139,
-      -1,   141,   142,   143,   144,    48,   146,   147,   148,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,     5,     6,   159,
-       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
-      18,    19,    20,    21,    22,    -1,    24,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    37,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     5,     6,
-      48,     8,     9,    10,    11,    12,    13,    14,    15,    16,
-      17,    18,    19,    20,    21,    22,    -1,    24,    -1,    -1,
+     149,    -1,    -1,   152,    -1,    -1,   155,    -1,   157,   158,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      37,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    48,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-     153,    -1,    -1,   156,    -1,   158,   159,    -1,   161,     5,
+      -1,    -1,    -1,   123,   124,   125,   126,   127,   128,   129,
+     130,   131,   132,   133,   134,   135,    -1,   137,   138,   139,
+     140,    -1,   142,   143,   144,     3,     4,    -1,    -1,     7,
+      -1,    -1,    -1,    -1,    -1,   155,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    26,    27,
+      28,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      38,    39,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    61,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      78,    79,    80,    81,    82,    83,    84,    85,    86,    87,
+      88,    89,    90,    91,    92,    93,    94,    95,    96,    97,
+       5,     6,    -1,     8,     9,    10,    11,    12,    13,    14,
+      15,    16,    17,    18,    19,    20,    21,    22,    -1,    24,
+      -1,    -1,    -1,    -1,    -1,   123,   124,   125,   126,   127,
+     128,   129,   130,   131,   132,   133,   134,   135,    -1,   137,
+     138,   139,   140,    48,   142,   143,   144,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,     5,     6,   155,     8,     9,
+      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
+      20,    21,    22,    -1,    24,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    37,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,     5,     6,    48,     8,
+       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
+      19,    20,    21,    22,    -1,    24,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    37,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    48,
+      -1,    -1,    -1,    -1,   149,    -1,    -1,   152,    -1,   154,
+     155,    -1,   157,     5,     6,    -1,     8,     9,    10,    11,
+      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
+      22,    -1,    24,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    37,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    48,    -1,    -1,   149,
+      -1,    -1,   152,    -1,    -1,   155,    -1,   157,    -1,     5,
        6,    -1,     8,     9,    10,    11,    12,    13,    14,    15,
       16,    17,    18,    19,    20,    21,    22,    -1,    24,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    37,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    48,    -1,    -1,   153,    -1,    -1,   156,    -1,
-      -1,   159,    -1,   161,    -1,     5,     6,    -1,     8,     9,
-      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
-      20,    21,    22,    -1,    24,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,   153,    37,    -1,   156,
-      -1,    -1,   159,    -1,   161,    -1,     5,     6,    48,     8,
-       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
-      19,    20,    21,    22,    -1,    24,     5,     6,    -1,     8,
-       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
-      19,    20,    21,    22,    -1,    24,    -1,    -1,    -1,    48,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,   153,    -1,    -1,
-     156,    -1,    -1,   159,    -1,   161,    -1,     5,     6,    48,
-       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
-      18,    19,    20,    21,    22,    -1,    24,     5,     6,    -1,
-       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
-      18,    19,    20,    21,    22,    -1,    24,    -1,    -1,    -1,
-      48,    -1,    -1,   153,    -1,    -1,   156,    -1,    -1,   159,
-      -1,   161,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      48,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+     149,    37,    -1,   152,    -1,    -1,   155,    -1,   157,    -1,
+       5,     6,    48,     8,     9,    10,    11,    12,    13,    14,
+      15,    16,    17,    18,    19,    20,    21,    22,    -1,    24,
+       5,     6,    -1,     8,     9,    10,    11,    12,    13,    14,
+      15,    16,    17,    18,    19,    20,    21,    22,    -1,    24,
+      -1,    -1,    -1,    48,    -1,    -1,    -1,   149,    -1,    -1,
+     152,    -1,    -1,   155,    -1,   157,    -1,    -1,    -1,    -1,
+      -1,     5,     6,    48,     8,     9,    10,    11,    12,    13,
+      14,    15,    16,    17,    18,    19,    20,    21,    22,    -1,
+      24,     5,     6,    -1,     8,     9,    10,    11,    12,    13,
+      14,    15,    16,    17,    18,    19,    20,    21,    22,    -1,
+      24,    -1,    -1,   149,    48,    -1,   152,    -1,    -1,   155,
+      -1,   157,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    48,    -1,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,   153,    -1,    -1,   156,    -1,    -1,
-     159,    -1,   161,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,   153,    -1,    -1,   156,    -1,    -1,
-     159,    -1,   161,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,   149,    -1,    -1,   152,    -1,    -1,
+     155,    -1,   157,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,   149,    -1,    -1,   152,    -1,    -1,
+     155,    -1,   157,    -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,    35,    -1,
-      -1,    -1,    -1,    -1,    -1,   153,    -1,    -1,   156,    -1,
-      -1,   159,    49,   161,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    59,    60,    -1,   153,    -1,    -1,   156,    -1,
-      -1,   159,    -1,   161,    -1,    72,    73,    74,    75,    76,
-      77,    78,    79,    80,    81,    82,    83,    84,    85,    86,
-      87,    88,    89,    90,    91,    92,    93,    94,    95,    96,
-      97,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,   122,   123,   124,    -1,    -1,
-     127,   128,   129,   130,   131,   132,   133,   134,   135,   136,
-     137,   138,   139,   140,   141,   142,   143,   144,   145,   146,
-     147,   148,   149,   150
+      -1,    -1,    -1,    -1,    -1,   149,    -1,    -1,   152,    -1,
+      -1,   155,    -1,   157,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,   149,    -1,    -1,   152,    -1,
+      -1,   155,    -1,   157
 };
 
 /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
    symbol of state STATE-NUM.  */
 static const unsigned char yystos[] =
 {
-       0,   199,   200,   201,     0,    25,    31,    41,    42,    43,
-      44,    45,    46,    47,    62,   180,   218,   220,   222,   229,
-      22,    24,    51,    58,    62,   179,   211,   222,   223,    61,
-      64,    65,    66,    67,    68,    69,    70,   181,   216,    23,
-     230,   231,    30,   162,   219,   230,    52,    53,    54,    71,
-     208,   151,    61,    20,    45,    47,    50,   180,   151,    45,
-      47,   221,    24,   206,     4,     5,     6,     8,     9,    10,
+       0,   195,   196,   197,     0,    25,    31,    41,    42,    43,
+      44,    45,    46,    47,    62,   176,   214,   216,   218,   225,
+      22,    24,    51,    58,    62,   175,   207,   218,   219,    61,
+      64,    65,    66,    67,    68,    69,    70,   177,   212,    23,
+     226,   227,    30,   158,   215,   226,    52,    53,    54,    71,
+     204,   147,    61,    20,    45,    47,    50,   176,   147,    45,
+      47,   217,    24,   202,     4,     5,     6,     8,     9,    10,
       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
-      21,    48,   153,   156,   159,   161,   166,   188,   189,   190,
-     191,   192,   211,   226,    29,   161,   217,   179,   234,   151,
-     151,   151,   151,   156,   209,   206,   188,    32,    33,   198,
-     198,   198,   198,   216,     4,     4,     4,     8,   162,   192,
-     193,   211,   154,   163,    35,    49,    59,    60,    72,    73,
+      21,    48,   149,   152,   155,   157,   162,   184,   185,   186,
+     187,   188,   207,   222,    29,   157,   213,   175,   230,   147,
+     147,   147,   147,   152,   205,   202,   184,    32,    33,   194,
+     194,   194,   194,   212,     4,     4,     4,     8,   158,   188,
+     189,   207,   150,   159,    35,    49,    59,    60,    72,    73,
       74,    75,    76,    77,    78,    79,    80,    81,    82,    83,
       84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
-      94,    95,    96,    97,   122,   123,   124,   127,   128,   129,
-     130,   131,   132,   133,   134,   135,   136,   137,   138,   139,
-     140,   141,   142,   143,   144,   145,   146,   147,   148,   149,
-     150,   168,   169,   170,   171,   172,   232,   238,   239,   241,
-     242,    24,    55,    56,   207,     4,    24,    24,   210,   190,
-     190,   190,     9,    10,    11,    12,    13,    14,    15,    16,
-      17,    18,    19,   175,   176,   178,   190,   195,   157,   157,
-     152,   162,   154,    37,   193,   194,   190,   228,    59,     8,
-     228,     9,    21,    10,    11,    12,    13,    14,    15,    16,
-      17,   175,   176,   177,   181,    98,    99,   100,   101,   102,
-     103,   104,   105,   106,   107,   173,   108,   109,   110,   111,
-     112,   113,   114,   115,   116,   117,   118,   119,   120,   121,
-     174,   190,   190,   228,   190,   190,   235,   228,   228,   228,
-     228,   228,   228,   228,   190,   190,   190,   228,   228,   181,
-     125,   126,   152,   158,   204,   205,   203,    27,    28,     3,
-       4,   167,     4,     7,    26,    38,    39,    96,    97,   127,
-     141,   146,   147,   148,   156,   159,   161,   164,   168,   169,
-     170,   171,   172,   196,   226,   202,   192,   192,   192,    37,
-     190,   213,   214,   215,   152,   155,     3,     4,     7,    26,
-      27,    28,    38,    39,    61,   159,   196,   225,   226,   227,
-     227,   227,   227,   188,   190,   190,   152,   183,   152,   183,
-     227,   156,   152,   152,   152,   152,   152,   152,   152,   152,
-     227,   227,   227,    36,   152,   188,   190,   228,    24,   152,
-     186,   186,   186,   154,   154,   154,   154,   154,   154,   154,
-     158,   195,   197,   197,   162,   197,    24,   154,   154,   154,
-     154,   154,   186,   158,   160,   211,   212,   152,   155,    37,
-      63,   224,   197,   152,   152,   227,   227,   227,    15,    57,
-      15,   152,   240,   227,   156,   228,   190,   228,   228,   228,
-     190,   190,   152,   152,   152,   190,   228,   227,   227,   152,
-      34,    57,   184,   187,   173,   174,   195,   195,   195,   195,
-     195,   152,   158,   160,   162,   195,   195,   195,   195,   195,
-      37,   213,   184,   185,    24,   160,    21,    21,   154,   152,
-     152,   227,     4,   227,   228,   236,   152,   227,   152,   152,
-     152,   227,   227,   227,   154,   190,    24,     4,   186,   152,
-     152,   240,   152,   152,   152,   152,   195,   152,   152,   152,
-      36,   152,    57,   182,   152,   227,   227,   236,   237,   227,
-     227,   152,   183,   183,   152,   227,   152,   228,   228,   228,
-     237,   227,   195,   195,   155,   195,   195,   195,   195,   195,
-     195,   195,   190,   195,     4,    24,   152,   156,   155,   228,
-     158,   227,   155,   152,   152,   152,   155,   152,   152,   155,
-     155,   155,   155,   155,    21,   158,   177,   233,    36,   158,
-     195,   195,   195,   195,   195,   227,   225,   158,   177,    21,
-     155,   155,   155,   155,   155,   152,   225,   227,    21,   152,
-      76,   227,    21,    21,   227,   227
+      94,    95,    96,    97,   118,   119,   120,   123,   124,   125,
+     126,   127,   128,   129,   130,   131,   132,   133,   134,   135,
+     136,   137,   138,   139,   140,   141,   142,   143,   144,   145,
+     146,   164,   165,   166,   167,   168,   228,   234,   235,   237,
+     238,    24,    55,    56,   203,     4,    24,    24,   206,   186,
+     186,   186,     9,    10,    11,    12,    13,    14,    15,    16,
+      17,    18,    19,   171,   172,   174,   186,   191,   153,   153,
+     148,   158,   150,    37,   189,   190,   186,   224,    59,     8,
+     224,     9,    21,    10,    11,    12,    13,    14,    15,    16,
+      17,   171,   172,   173,   177,    98,    99,   100,   101,   102,
+     103,   104,   105,   106,   107,   169,    27,    28,   104,   105,
+     106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
+     116,   117,   170,   186,   186,   224,   186,   186,   231,   224,
+     224,   224,   224,   224,   224,   224,   186,   186,   186,   224,
+     224,   177,   121,   122,   148,   154,   200,   201,   199,    27,
+      28,     3,     4,   163,     4,     7,    26,    38,    39,    96,
+      97,   123,   137,   142,   143,   144,   152,   155,   157,   160,
+     164,   165,   166,   167,   168,   192,   222,   198,   188,   188,
+     188,    37,   186,   209,   210,   211,   148,   151,     3,     4,
+       7,    26,    27,    28,    38,    39,    61,   155,   192,   221,
+     222,   223,   223,   223,   223,   184,   186,   186,   148,   179,
+     148,   179,   223,   152,   148,   148,   148,   148,   148,   148,
+     148,   148,   223,   223,   223,    36,   148,   184,   186,   224,
+      24,   148,   182,   182,   182,   150,   150,   150,   150,   150,
+     150,   150,   154,   191,   193,   193,   158,   193,    24,   150,
+     150,   150,   150,   150,   182,   154,   156,   207,   208,   148,
+     151,    37,    63,   220,   193,   148,   148,   223,   223,   223,
+      15,    57,    15,   148,   236,   223,   152,   224,   186,   224,
+     224,   224,   186,   186,   148,   148,   148,   186,   224,   223,
+     223,   148,    34,    57,   180,   183,   169,   170,   191,   191,
+     191,   191,   191,   148,   154,   156,   158,   191,   191,   191,
+     191,   191,    37,   209,   180,   181,    24,   156,    21,    21,
+     150,   148,   148,   223,     4,   223,   224,   232,   148,   223,
+     148,   148,   148,   223,   223,   223,   150,   186,    24,     4,
+     182,   148,   148,   236,   148,   148,   148,   148,   191,   148,
+     148,   148,    36,   148,    57,   178,   148,   223,   223,   232,
+     233,   223,   223,   148,   179,   179,   148,   223,   148,   224,
+     224,   224,   233,   223,   191,   191,   151,   191,   191,   191,
+     191,   191,   191,   191,   186,   191,     4,    24,   148,   152,
+     151,   224,   154,   223,   151,   148,   148,   148,   151,   148,
+     148,   151,   151,   151,   151,   151,    21,   154,   173,   229,
+      36,   154,   191,   191,   191,   191,   191,   223,   221,   154,
+     173,    21,   151,   151,   151,   151,   151,   148,   221,   223,
+      21,   148,    76,   223,    21,    21,   223,   223
 };
 
 #define yyerrok		(yyerrstatus = 0)
@@ -3133,7 +3110,7 @@
   switch (yyn)
     {
         case 3:
-#line 1106 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1105 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
   if ((yyvsp[0].UIntVal) > (uint32_t)INT32_MAX)     // Outside of my range!
     GEN_ERROR("Value too large for type!");
@@ -3143,7 +3120,7 @@
     break;
 
   case 5:
-#line 1115 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1114 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
   if ((yyvsp[0].UInt64Val) > (uint64_t)INT64_MAX)     // Outside of my range!
     GEN_ERROR("Value too large for type!");
@@ -3152,99 +3129,229 @@
 ;}
     break;
 
-  case 75:
+  case 39:
+#line 1131 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+    { (yyval.IPredicate) = ICmpInst::ICMP_EQ; ;}
+    break;
+
+  case 40:
+#line 1131 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+    { (yyval.IPredicate) = ICmpInst::ICMP_NE; ;}
+    break;
+
+  case 41:
+#line 1132 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+    { (yyval.IPredicate) = ICmpInst::ICMP_SLT; ;}
+    break;
+
+  case 42:
+#line 1132 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+    { (yyval.IPredicate) = ICmpInst::ICMP_SGT; ;}
+    break;
+
+  case 43:
+#line 1133 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+    { (yyval.IPredicate) = ICmpInst::ICMP_SLE; ;}
+    break;
+
+  case 44:
+#line 1133 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+    { (yyval.IPredicate) = ICmpInst::ICMP_SGE; ;}
+    break;
+
+  case 45:
+#line 1134 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+    { (yyval.IPredicate) = ICmpInst::ICMP_ULT; ;}
+    break;
+
+  case 46:
+#line 1134 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+    { (yyval.IPredicate) = ICmpInst::ICMP_UGT; ;}
+    break;
+
+  case 47:
+#line 1135 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+    { (yyval.IPredicate) = ICmpInst::ICMP_ULE; ;}
+    break;
+
+  case 48:
+#line 1135 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+    { (yyval.IPredicate) = ICmpInst::ICMP_UGE; ;}
+    break;
+
+  case 49:
+#line 1139 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+    { (yyval.FPredicate) = FCmpInst::FCMP_OEQ; ;}
+    break;
+
+  case 50:
+#line 1139 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+    { (yyval.FPredicate) = FCmpInst::FCMP_ONE; ;}
+    break;
+
+  case 51:
+#line 1140 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+    { (yyval.FPredicate) = FCmpInst::FCMP_OLT; ;}
+    break;
+
+  case 52:
+#line 1140 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+    { (yyval.FPredicate) = FCmpInst::FCMP_OGT; ;}
+    break;
+
+  case 53:
+#line 1141 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+    { (yyval.FPredicate) = FCmpInst::FCMP_OLE; ;}
+    break;
+
+  case 54:
+#line 1141 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+    { (yyval.FPredicate) = FCmpInst::FCMP_OGE; ;}
+    break;
+
+  case 55:
+#line 1142 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+    { (yyval.FPredicate) = FCmpInst::FCMP_ORD; ;}
+    break;
+
+  case 56:
+#line 1142 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+    { (yyval.FPredicate) = FCmpInst::FCMP_UNO; ;}
+    break;
+
+  case 57:
 #line 1143 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+    { (yyval.FPredicate) = FCmpInst::FCMP_UEQ; ;}
+    break;
+
+  case 58:
+#line 1143 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+    { (yyval.FPredicate) = FCmpInst::FCMP_UNE; ;}
+    break;
+
+  case 59:
+#line 1144 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+    { (yyval.FPredicate) = FCmpInst::FCMP_ULT; ;}
+    break;
+
+  case 60:
+#line 1144 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+    { (yyval.FPredicate) = FCmpInst::FCMP_UGT; ;}
+    break;
+
+  case 61:
+#line 1145 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+    { (yyval.FPredicate) = FCmpInst::FCMP_ULE; ;}
+    break;
+
+  case 62:
+#line 1145 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+    { (yyval.FPredicate) = FCmpInst::FCMP_UGE; ;}
+    break;
+
+  case 63:
+#line 1146 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+    { (yyval.FPredicate) = FCmpInst::FCMP_TRUE; ;}
+    break;
+
+  case 64:
+#line 1147 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+    { (yyval.FPredicate) = FCmpInst::FCMP_FALSE; ;}
+    break;
+
+  case 77:
+#line 1158 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.StrVal) = (yyvsp[-1].StrVal);
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 76:
-#line 1147 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 78:
+#line 1162 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.StrVal) = 0;
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 77:
-#line 1152 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 79:
+#line 1167 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.Linkage) = GlobalValue::InternalLinkage; ;}
     break;
 
-  case 78:
-#line 1153 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 80:
+#line 1168 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.Linkage) = GlobalValue::LinkOnceLinkage; ;}
     break;
 
-  case 79:
-#line 1154 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 81:
+#line 1169 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.Linkage) = GlobalValue::WeakLinkage; ;}
     break;
 
-  case 80:
-#line 1155 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 82:
+#line 1170 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.Linkage) = GlobalValue::AppendingLinkage; ;}
     break;
 
-  case 81:
-#line 1156 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 83:
+#line 1171 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.Linkage) = GlobalValue::DLLImportLinkage; ;}
     break;
 
-  case 82:
-#line 1157 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 84:
+#line 1172 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.Linkage) = GlobalValue::DLLExportLinkage; ;}
     break;
 
-  case 83:
-#line 1158 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 85:
+#line 1173 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.Linkage) = GlobalValue::ExternalWeakLinkage; ;}
     break;
 
-  case 84:
-#line 1159 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 86:
+#line 1174 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.Linkage) = GlobalValue::ExternalLinkage; ;}
     break;
 
-  case 85:
-#line 1161 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
-    { (yyval.UIntVal) = CallingConv::C; ;}
-    break;
-
-  case 86:
-#line 1162 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
-    { (yyval.UIntVal) = CallingConv::C; ;}
-    break;
-
   case 87:
-#line 1163 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
-    { (yyval.UIntVal) = CallingConv::CSRet; ;}
+#line 1176 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+    { (yyval.UIntVal) = CallingConv::C; ;}
     break;
 
   case 88:
-#line 1164 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
-    { (yyval.UIntVal) = CallingConv::Fast; ;}
+#line 1177 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+    { (yyval.UIntVal) = CallingConv::C; ;}
     break;
 
   case 89:
-#line 1165 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
-    { (yyval.UIntVal) = CallingConv::Cold; ;}
+#line 1178 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+    { (yyval.UIntVal) = CallingConv::CSRet; ;}
     break;
 
   case 90:
-#line 1166 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
-    { (yyval.UIntVal) = CallingConv::X86_StdCall; ;}
+#line 1179 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+    { (yyval.UIntVal) = CallingConv::Fast; ;}
     break;
 
   case 91:
-#line 1167 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
-    { (yyval.UIntVal) = CallingConv::X86_FastCall; ;}
+#line 1180 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+    { (yyval.UIntVal) = CallingConv::Cold; ;}
     break;
 
   case 92:
-#line 1168 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1181 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+    { (yyval.UIntVal) = CallingConv::X86_StdCall; ;}
+    break;
+
+  case 93:
+#line 1182 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+    { (yyval.UIntVal) = CallingConv::X86_FastCall; ;}
+    break;
+
+  case 94:
+#line 1183 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
                    if ((unsigned)(yyvsp[0].UInt64Val) != (yyvsp[0].UInt64Val))
                      GEN_ERROR("Calling conv too large!");
@@ -3253,28 +3360,13 @@
                  ;}
     break;
 
-  case 93:
-#line 1177 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
-    { (yyval.UIntVal) = 0; ;}
-    break;
-
-  case 94:
-#line 1178 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
-    {
-  (yyval.UIntVal) = (yyvsp[0].UInt64Val);
-  if ((yyval.UIntVal) != 0 && !isPowerOf2_32((yyval.UIntVal)))
-    GEN_ERROR("Alignment must be a power of two!");
-  CHECK_FOR_ERROR
-;}
-    break;
-
   case 95:
-#line 1184 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1192 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.UIntVal) = 0; ;}
     break;
 
   case 96:
-#line 1185 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1193 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
   (yyval.UIntVal) = (yyvsp[0].UInt64Val);
   if ((yyval.UIntVal) != 0 && !isPowerOf2_32((yyval.UIntVal)))
@@ -3284,7 +3376,22 @@
     break;
 
   case 97:
-#line 1193 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1199 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+    { (yyval.UIntVal) = 0; ;}
+    break;
+
+  case 98:
+#line 1200 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+    {
+  (yyval.UIntVal) = (yyvsp[0].UInt64Val);
+  if ((yyval.UIntVal) != 0 && !isPowerOf2_32((yyval.UIntVal)))
+    GEN_ERROR("Alignment must be a power of two!");
+  CHECK_FOR_ERROR
+;}
+    break;
+
+  case 99:
+#line 1208 "/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] == '\\')
@@ -3294,28 +3401,28 @@
 ;}
     break;
 
-  case 98:
-#line 1201 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 100:
+#line 1216 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.StrVal) = 0; ;}
     break;
 
-  case 99:
-#line 1202 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 101:
+#line 1217 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.StrVal) = (yyvsp[0].StrVal); ;}
     break;
 
-  case 100:
-#line 1207 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
-    {;}
-    break;
-
-  case 101:
-#line 1208 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
-    {;}
-    break;
-
   case 102:
-#line 1209 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1222 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+    {;}
+    break;
+
+  case 103:
+#line 1223 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+    {;}
+    break;
+
+  case 104:
+#line 1224 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     CurGV->setSection((yyvsp[0].StrVal));
     free((yyvsp[0].StrVal));
@@ -3323,8 +3430,8 @@
   ;}
     break;
 
-  case 103:
-#line 1214 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 105:
+#line 1229 "/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!");
@@ -3333,18 +3440,18 @@
   ;}
     break;
 
-  case 105:
-#line 1228 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
-    { (yyval.TypeVal) = new PATypeHolder((yyvsp[0].PrimType)); ;}
-    break;
-
   case 107:
-#line 1229 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1243 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.TypeVal) = new PATypeHolder((yyvsp[0].PrimType)); ;}
     break;
 
-  case 108:
-#line 1231 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 109:
+#line 1244 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+    { (yyval.TypeVal) = new PATypeHolder((yyvsp[0].PrimType)); ;}
+    break;
+
+  case 110:
+#line 1246 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[0].TypeVal))->getDescription());
@@ -3353,24 +3460,24 @@
   ;}
     break;
 
-  case 122:
-#line 1243 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 124:
+#line 1258 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.TypeVal) = new PATypeHolder(OpaqueType::get());
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 123:
-#line 1247 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 125:
+#line 1262 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.TypeVal) = new PATypeHolder((yyvsp[0].PrimType));
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 124:
-#line 1251 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 126:
+#line 1266 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {            // Named types are also simple types...
   const Type* tmp = getTypeVal((yyvsp[0].ValIDVal));
   CHECK_FOR_ERROR
@@ -3378,8 +3485,8 @@
 ;}
     break;
 
-  case 125:
-#line 1259 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 127:
+#line 1274 "/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
@@ -3390,8 +3497,8 @@
   ;}
     break;
 
-  case 126:
-#line 1267 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 128:
+#line 1282 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {           // Function derived type?
     std::vector<const Type*> Params;
     for (std::list<llvm::PATypeHolder>::iterator I = (yyvsp[-1].TypeList)->begin(),
@@ -3407,8 +3514,8 @@
   ;}
     break;
 
-  case 127:
-#line 1280 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 129:
+#line 1295 "/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);
@@ -3416,8 +3523,8 @@
   ;}
     break;
 
-  case 128:
-#line 1285 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 130:
+#line 1300 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {          // Packed array type?
      const llvm::Type* ElemTy = (yyvsp[-1].TypeVal)->get();
      if ((unsigned)(yyvsp[-3].UInt64Val) != (yyvsp[-3].UInt64Val))
@@ -3432,8 +3539,8 @@
   ;}
     break;
 
-  case 129:
-#line 1297 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 131:
+#line 1312 "/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(),
@@ -3446,16 +3553,16 @@
   ;}
     break;
 
-  case 130:
-#line 1307 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 132:
+#line 1322 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {                                  // Empty structure type?
     (yyval.TypeVal) = new PATypeHolder(StructType::get(std::vector<const Type*>()));
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 131:
-#line 1311 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 133:
+#line 1326 "/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");
@@ -3465,8 +3572,8 @@
   ;}
     break;
 
-  case 132:
-#line 1322 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 134:
+#line 1337 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.TypeList) = new std::list<PATypeHolder>();
     (yyval.TypeList)->push_back(*(yyvsp[0].TypeVal)); delete (yyvsp[0].TypeVal);
@@ -3474,40 +3581,40 @@
   ;}
     break;
 
-  case 133:
-#line 1327 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 135:
+#line 1342 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     ((yyval.TypeList)=(yyvsp[-2].TypeList))->push_back(*(yyvsp[0].TypeVal)); delete (yyvsp[0].TypeVal);
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 135:
-#line 1334 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 137:
+#line 1349 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     ((yyval.TypeList)=(yyvsp[-2].TypeList))->push_back(Type::VoidTy);
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 136:
-#line 1338 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 138:
+#line 1353 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     ((yyval.TypeList) = new std::list<PATypeHolder>())->push_back(Type::VoidTy);
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 137:
-#line 1342 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 139:
+#line 1357 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.TypeList) = new std::list<PATypeHolder>();
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 138:
-#line 1353 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 140:
+#line 1368 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { // Nonempty unsized arr
     const ArrayType *ATy = dyn_cast<ArrayType>((yyvsp[-3].TypeVal)->get());
     if (ATy == 0)
@@ -3536,8 +3643,8 @@
   ;}
     break;
 
-  case 139:
-#line 1379 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 141:
+#line 1394 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     const ArrayType *ATy = dyn_cast<ArrayType>((yyvsp[-2].TypeVal)->get());
     if (ATy == 0)
@@ -3554,8 +3661,8 @@
   ;}
     break;
 
-  case 140:
-#line 1393 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 142:
+#line 1408 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     const ArrayType *ATy = dyn_cast<ArrayType>((yyvsp[-2].TypeVal)->get());
     if (ATy == 0)
@@ -3588,8 +3695,8 @@
   ;}
     break;
 
-  case 141:
-#line 1423 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 143:
+#line 1438 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { // Nonempty unsized arr
     const PackedType *PTy = dyn_cast<PackedType>((yyvsp[-3].TypeVal)->get());
     if (PTy == 0)
@@ -3618,8 +3725,8 @@
   ;}
     break;
 
-  case 142:
-#line 1449 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 144:
+#line 1464 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     const StructType *STy = dyn_cast<StructType>((yyvsp[-3].TypeVal)->get());
     if (STy == 0)
@@ -3643,8 +3750,8 @@
   ;}
     break;
 
-  case 143:
-#line 1470 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 145:
+#line 1485 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     const StructType *STy = dyn_cast<StructType>((yyvsp[-2].TypeVal)->get());
     if (STy == 0)
@@ -3660,8 +3767,8 @@
   ;}
     break;
 
-  case 144:
-#line 1483 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 146:
+#line 1498 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     const PointerType *PTy = dyn_cast<PointerType>((yyvsp[-1].TypeVal)->get());
     if (PTy == 0)
@@ -3674,8 +3781,8 @@
   ;}
     break;
 
-  case 145:
-#line 1493 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 147:
+#line 1508 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ConstVal) = UndefValue::get((yyvsp[-1].TypeVal)->get());
     delete (yyvsp[-1].TypeVal);
@@ -3683,8 +3790,8 @@
   ;}
     break;
 
-  case 146:
-#line 1498 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 148:
+#line 1513 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     const PointerType *Ty = dyn_cast<PointerType>((yyvsp[-1].TypeVal)->get());
     if (Ty == 0)
@@ -3748,8 +3855,8 @@
   ;}
     break;
 
-  case 147:
-#line 1559 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 149:
+#line 1574 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     if ((yyvsp[-1].TypeVal)->get() != (yyvsp[0].ConstVal)->getType())
       GEN_ERROR("Mismatched types for constant expression!");
@@ -3759,8 +3866,8 @@
   ;}
     break;
 
-  case 148:
-#line 1566 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 150:
+#line 1581 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     const Type *Ty = (yyvsp[-1].TypeVal)->get();
     if (isa<FunctionType>(Ty) || Ty == Type::LabelTy || isa<OpaqueType>(Ty))
@@ -3771,8 +3878,8 @@
   ;}
     break;
 
-  case 149:
-#line 1574 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 151:
+#line 1589 "/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!");
@@ -3781,8 +3888,8 @@
   ;}
     break;
 
-  case 150:
-#line 1580 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 152:
+#line 1595 "/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!");
@@ -3791,24 +3898,24 @@
   ;}
     break;
 
-  case 151:
-#line 1586 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 153:
+#line 1601 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {                      // Boolean constants
     (yyval.ConstVal) = ConstantBool::getTrue();
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 152:
-#line 1590 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 154:
+#line 1605 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {                     // Boolean constants
     (yyval.ConstVal) = ConstantBool::getFalse();
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 153:
-#line 1594 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 155:
+#line 1609 "/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!!");
@@ -3817,8 +3924,8 @@
   ;}
     break;
 
-  case 154:
-#line 1602 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 156:
+#line 1617 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     Constant *Val = (yyvsp[-3].ConstVal);
     const Type *Ty = (yyvsp[-1].TypeVal)->get();
@@ -3833,8 +3940,8 @@
   ;}
     break;
 
-  case 155:
-#line 1614 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 157:
+#line 1629 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     if (!isa<PointerType>((yyvsp[-2].ConstVal)->getType()))
       GEN_ERROR("GetElementPtr requires a pointer operand!");
@@ -3869,8 +3976,8 @@
   ;}
     break;
 
-  case 156:
-#line 1646 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 158:
+#line 1661 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     if ((yyvsp[-5].ConstVal)->getType() != Type::BoolTy)
       GEN_ERROR("Select condition must be of boolean type!");
@@ -3881,8 +3988,8 @@
   ;}
     break;
 
-  case 157:
-#line 1654 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 159:
+#line 1669 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     if ((yyvsp[-3].ConstVal)->getType() != (yyvsp[-1].ConstVal)->getType())
       GEN_ERROR("Binary operator types must match!");
@@ -3909,8 +4016,8 @@
   ;}
     break;
 
-  case 158:
-#line 1678 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 160:
+#line 1693 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     if ((yyvsp[-3].ConstVal)->getType() != (yyvsp[-1].ConstVal)->getType())
       GEN_ERROR("Logical operator types must match!");
@@ -3924,8 +4031,8 @@
   ;}
     break;
 
-  case 159:
-#line 1689 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 161:
+#line 1704 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     if ((yyvsp[-3].ConstVal)->getType() != (yyvsp[-1].ConstVal)->getType())
       GEN_ERROR("setcc operand types must match!");
@@ -3934,8 +4041,8 @@
   ;}
     break;
 
-  case 160:
-#line 1695 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 162:
+#line 1710 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     if ((yyvsp[-3].ConstVal)->getType() != (yyvsp[-1].ConstVal)->getType())
       GEN_ERROR("icmp operand types must match!");
@@ -3943,8 +4050,8 @@
   ;}
     break;
 
-  case 161:
-#line 1700 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 163:
+#line 1715 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     if ((yyvsp[-3].ConstVal)->getType() != (yyvsp[-1].ConstVal)->getType())
       GEN_ERROR("fcmp operand types must match!");
@@ -3952,8 +4059,8 @@
   ;}
     break;
 
-  case 162:
-#line 1705 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 164:
+#line 1720 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     if ((yyvsp[-1].ConstVal)->getType() != Type::UByteTy)
       GEN_ERROR("Shift count for shift constant must be unsigned byte!");
@@ -3965,8 +4072,8 @@
   ;}
     break;
 
-  case 163:
-#line 1714 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 165:
+#line 1729 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     if (!ExtractElementInst::isValidOperands((yyvsp[-3].ConstVal), (yyvsp[-1].ConstVal)))
       GEN_ERROR("Invalid extractelement operands!");
@@ -3975,8 +4082,8 @@
   ;}
     break;
 
-  case 164:
-#line 1720 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 166:
+#line 1735 "/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!");
@@ -3985,8 +4092,8 @@
   ;}
     break;
 
-  case 165:
-#line 1726 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 167:
+#line 1741 "/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!");
@@ -3995,16 +4102,16 @@
   ;}
     break;
 
-  case 166:
-#line 1735 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 168:
+#line 1750 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     ((yyval.ConstVector) = (yyvsp[-2].ConstVector))->push_back((yyvsp[0].ConstVal));
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 167:
-#line 1739 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 169:
+#line 1754 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ConstVector) = new std::vector<Constant*>();
     (yyval.ConstVector)->push_back((yyvsp[0].ConstVal));
@@ -4012,18 +4119,18 @@
   ;}
     break;
 
-  case 168:
-#line 1747 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 170:
+#line 1762 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.BoolVal) = false; ;}
     break;
 
-  case 169:
-#line 1747 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 171:
+#line 1762 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.BoolVal) = true; ;}
     break;
 
-  case 170:
-#line 1757 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 172:
+#line 1772 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
   (yyval.ModuleVal) = ParserResult = (yyvsp[0].ModuleVal);
   CurModule.ModuleDone();
@@ -4031,8 +4138,8 @@
 ;}
     break;
 
-  case 171:
-#line 1765 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 173:
+#line 1780 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ModuleVal) = (yyvsp[-1].ModuleVal);
     CurFun.FunctionDone();
@@ -4040,24 +4147,8 @@
   ;}
     break;
 
-  case 172:
-#line 1770 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
-    {
-    (yyval.ModuleVal) = (yyvsp[-1].ModuleVal);
-    CHECK_FOR_ERROR
-  ;}
-    break;
-
-  case 173:
-#line 1774 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
-    {
-    (yyval.ModuleVal) = (yyvsp[-3].ModuleVal);
-    CHECK_FOR_ERROR
-  ;}
-    break;
-
   case 174:
-#line 1778 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1785 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ModuleVal) = (yyvsp[-1].ModuleVal);
     CHECK_FOR_ERROR
@@ -4065,7 +4156,23 @@
     break;
 
   case 175:
-#line 1782 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1789 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+    {
+    (yyval.ModuleVal) = (yyvsp[-3].ModuleVal);
+    CHECK_FOR_ERROR
+  ;}
+    break;
+
+  case 176:
+#line 1793 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+    {
+    (yyval.ModuleVal) = (yyvsp[-1].ModuleVal);
+    CHECK_FOR_ERROR
+  ;}
+    break;
+
+  case 177:
+#line 1797 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ModuleVal) = CurModule.CurrentModule;
     // Emit an error if there are any unresolved types left.
@@ -4081,8 +4188,8 @@
   ;}
     break;
 
-  case 176:
-#line 1797 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 178:
+#line 1812 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     // Eagerly resolve types.  This is not an optimization, this is a
     // requirement that is due to the fact that we could have this:
@@ -4107,22 +4214,22 @@
   ;}
     break;
 
-  case 177:
-#line 1819 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 179:
+#line 1834 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {       // Function prototypes can be in const pool
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 178:
-#line 1822 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 180:
+#line 1837 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {  // Asm blocks can be in the const pool
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 179:
-#line 1825 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 181:
+#line 1840 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     if ((yyvsp[0].ConstVal) == 0) 
       GEN_ERROR("Global value initializer is not a constant!");
@@ -4131,15 +4238,15 @@
   ;}
     break;
 
-  case 180:
-#line 1830 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 182:
+#line 1845 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     CurGV = 0;
   ;}
     break;
 
-  case 181:
-#line 1833 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 183:
+#line 1848 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     CurGV = ParseGlobalVariable((yyvsp[-3].StrVal), GlobalValue::ExternalLinkage, (yyvsp[-1].BoolVal), *(yyvsp[0].TypeVal), 0);
     CHECK_FOR_ERROR
@@ -4147,25 +4254,8 @@
   ;}
     break;
 
-  case 182:
-#line 1837 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
-    {
-    CurGV = 0;
-    CHECK_FOR_ERROR
-  ;}
-    break;
-
-  case 183:
-#line 1841 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
-    {
-    CurGV = ParseGlobalVariable((yyvsp[-3].StrVal), GlobalValue::DLLImportLinkage, (yyvsp[-1].BoolVal), *(yyvsp[0].TypeVal), 0);
-    CHECK_FOR_ERROR
-    delete (yyvsp[0].TypeVal);
-  ;}
-    break;
-
   case 184:
-#line 1845 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1852 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     CurGV = 0;
     CHECK_FOR_ERROR
@@ -4173,7 +4263,24 @@
     break;
 
   case 185:
-#line 1849 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1856 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+    {
+    CurGV = ParseGlobalVariable((yyvsp[-3].StrVal), GlobalValue::DLLImportLinkage, (yyvsp[-1].BoolVal), *(yyvsp[0].TypeVal), 0);
+    CHECK_FOR_ERROR
+    delete (yyvsp[0].TypeVal);
+  ;}
+    break;
+
+  case 186:
+#line 1860 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+    {
+    CurGV = 0;
+    CHECK_FOR_ERROR
+  ;}
+    break;
+
+  case 187:
+#line 1864 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     CurGV = 
       ParseGlobalVariable((yyvsp[-3].StrVal), GlobalValue::ExternalWeakLinkage, (yyvsp[-1].BoolVal), *(yyvsp[0].TypeVal), 0);
@@ -4182,36 +4289,36 @@
   ;}
     break;
 
-  case 186:
-#line 1854 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 188:
+#line 1869 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     CurGV = 0;
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 187:
-#line 1858 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 189:
+#line 1873 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { 
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 188:
-#line 1861 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 190:
+#line 1876 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 189:
-#line 1864 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 191:
+#line 1879 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { 
   ;}
     break;
 
-  case 190:
-#line 1868 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 192:
+#line 1883 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
   const std::string &AsmSoFar = CurModule.CurrentModule->getModuleInlineAsm();
   char *EndStr = UnEscapeLexed((yyvsp[0].StrVal), true);
@@ -4226,26 +4333,26 @@
 ;}
     break;
 
-  case 191:
-#line 1881 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 193:
+#line 1896 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.Endianness) = Module::BigEndian; ;}
     break;
 
-  case 192:
-#line 1882 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 194:
+#line 1897 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.Endianness) = Module::LittleEndian; ;}
     break;
 
-  case 193:
-#line 1884 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 195:
+#line 1899 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     CurModule.CurrentModule->setEndianness((yyvsp[0].Endianness));
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 194:
-#line 1888 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 196:
+#line 1903 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     if ((yyvsp[0].UInt64Val) == 32)
       CurModule.CurrentModule->setPointerSize(Module::Pointer32);
@@ -4257,54 +4364,54 @@
   ;}
     break;
 
-  case 195:
-#line 1897 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 197:
+#line 1912 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     CurModule.CurrentModule->setTargetTriple((yyvsp[0].StrVal));
     free((yyvsp[0].StrVal));
   ;}
     break;
 
-  case 196:
-#line 1901 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 198:
+#line 1916 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     CurModule.CurrentModule->setDataLayout((yyvsp[0].StrVal));
     free((yyvsp[0].StrVal));
   ;}
     break;
 
-  case 198:
-#line 1908 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
-    {
-          CurModule.CurrentModule->addLibrary((yyvsp[0].StrVal));
-          free((yyvsp[0].StrVal));
-          CHECK_FOR_ERROR
-        ;}
-    break;
-
-  case 199:
-#line 1913 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
-    {
-          CurModule.CurrentModule->addLibrary((yyvsp[0].StrVal));
-          free((yyvsp[0].StrVal));
-          CHECK_FOR_ERROR
-        ;}
-    break;
-
   case 200:
-#line 1918 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1923 "/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 1928 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+    {
+          CurModule.CurrentModule->addLibrary((yyvsp[0].StrVal));
+          free((yyvsp[0].StrVal));
+          CHECK_FOR_ERROR
+        ;}
+    break;
+
+  case 202:
+#line 1933 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
           CHECK_FOR_ERROR
         ;}
     break;
 
-  case 204:
-#line 1928 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 206:
+#line 1943 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.StrVal) = 0; ;}
     break;
 
-  case 205:
-#line 1930 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 207:
+#line 1945 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
   if (*(yyvsp[-1].TypeVal) == Type::VoidTy)
     GEN_ERROR("void typed arguments are invalid!");
@@ -4313,8 +4420,8 @@
 ;}
     break;
 
-  case 206:
-#line 1937 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 208:
+#line 1952 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ArgList) = (yyvsp[-2].ArgList);
     (yyvsp[-2].ArgList)->push_back(*(yyvsp[0].ArgVal));
@@ -4323,8 +4430,8 @@
   ;}
     break;
 
-  case 207:
-#line 1943 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 209:
+#line 1958 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ArgList) = new std::vector<std::pair<PATypeHolder*,char*> >();
     (yyval.ArgList)->push_back(*(yyvsp[0].ArgVal));
@@ -4333,16 +4440,16 @@
   ;}
     break;
 
-  case 208:
-#line 1950 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 210:
+#line 1965 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ArgList) = (yyvsp[0].ArgList);
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 209:
-#line 1954 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 211:
+#line 1969 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ArgList) = (yyvsp[-2].ArgList);
     (yyval.ArgList)->push_back(std::pair<PATypeHolder*,
@@ -4351,8 +4458,8 @@
   ;}
     break;
 
-  case 210:
-#line 1960 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 212:
+#line 1975 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ArgList) = new std::vector<std::pair<PATypeHolder*,char*> >();
     (yyval.ArgList)->push_back(std::make_pair(new PATypeHolder(Type::VoidTy), (char*)0));
@@ -4360,16 +4467,16 @@
   ;}
     break;
 
-  case 211:
-#line 1965 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 213:
+#line 1980 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ArgList) = 0;
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 212:
-#line 1971 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 214:
+#line 1986 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
   UnEscapeLexed((yyvsp[-5].StrVal));
   std::string FunctionName((yyvsp[-5].StrVal));
@@ -4465,8 +4572,8 @@
 ;}
     break;
 
-  case 215:
-#line 2067 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 217:
+#line 2082 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
   (yyval.FunctionVal) = CurFun.CurrentFunction;
 
@@ -4476,31 +4583,31 @@
 ;}
     break;
 
-  case 218:
-#line 2077 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 220:
+#line 2092 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
   (yyval.FunctionVal) = (yyvsp[-1].FunctionVal);
   CHECK_FOR_ERROR
 ;}
     break;
 
-  case 220:
-#line 2083 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 222:
+#line 2098 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { CurFun.Linkage = GlobalValue::DLLImportLinkage; ;}
     break;
 
-  case 221:
-#line 2084 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 223:
+#line 2099 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { CurFun.Linkage = GlobalValue::ExternalWeakLinkage; ;}
     break;
 
-  case 222:
-#line 2086 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 224:
+#line 2101 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { CurFun.isDeclare = true; ;}
     break;
 
-  case 223:
-#line 2086 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 225:
+#line 2101 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.FunctionVal) = CurFun.CurrentFunction;
     CurFun.FunctionDone();
@@ -4508,88 +4615,88 @@
   ;}
     break;
 
-  case 224:
-#line 2096 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 226:
+#line 2111 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.BoolVal) = false;
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 225:
-#line 2100 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 227:
+#line 2115 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.BoolVal) = true;
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 226:
-#line 2105 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 228:
+#line 2120 "/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 227:
-#line 2109 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 229:
+#line 2124 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ValIDVal) = ValID::create((yyvsp[0].UInt64Val));
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 228:
-#line 2113 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 230:
+#line 2128 "/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 229:
-#line 2117 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 231:
+#line 2132 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ValIDVal) = ValID::create(ConstantBool::getTrue());
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 230:
-#line 2121 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 232:
+#line 2136 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ValIDVal) = ValID::create(ConstantBool::getFalse());
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 231:
-#line 2125 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 233:
+#line 2140 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ValIDVal) = ValID::createNull();
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 232:
-#line 2129 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 234:
+#line 2144 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ValIDVal) = ValID::createUndef();
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 233:
-#line 2133 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 235:
+#line 2148 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {     // A vector zero constant.
     (yyval.ValIDVal) = ValID::createZeroInit();
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 234:
-#line 2137 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 236:
+#line 2152 "/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(); 
@@ -4617,16 +4724,16 @@
   ;}
     break;
 
-  case 235:
-#line 2162 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 237:
+#line 2177 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ValIDVal) = ValID::create((yyvsp[0].ConstVal));
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 236:
-#line 2166 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 238:
+#line 2181 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     char *End = UnEscapeLexed((yyvsp[-2].StrVal), true);
     std::string AsmStr = std::string((yyvsp[-2].StrVal), End);
@@ -4639,48 +4746,48 @@
   ;}
     break;
 
-  case 237:
-#line 2180 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 239:
+#line 2195 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {  // Is it an integer reference...?
     (yyval.ValIDVal) = ValID::create((yyvsp[0].SIntVal));
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 238:
-#line 2184 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 240:
+#line 2199 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {                   // Is it a named reference...?
     (yyval.ValIDVal) = ValID::create((yyvsp[0].StrVal));
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 241:
-#line 2196 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 243:
+#line 2211 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ValueVal) = getVal(*(yyvsp[-1].TypeVal), (yyvsp[0].ValIDVal)); delete (yyvsp[-1].TypeVal);
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 242:
-#line 2201 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 244:
+#line 2216 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.FunctionVal) = (yyvsp[-1].FunctionVal);
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 243:
-#line 2205 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 245:
+#line 2220 "/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 244:
-#line 2214 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 246:
+#line 2229 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     setValueName((yyvsp[0].TermInstVal), (yyvsp[-1].StrVal));
     CHECK_FOR_ERROR
@@ -4693,8 +4800,8 @@
   ;}
     break;
 
-  case 245:
-#line 2225 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 247:
+#line 2240 "/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)))
@@ -4706,8 +4813,8 @@
   ;}
     break;
 
-  case 246:
-#line 2234 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 248:
+#line 2249 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.BasicBlockVal) = CurBB = getBBVal(ValID::create((int)CurFun.NextBBNum++), true);
     CHECK_FOR_ERROR
@@ -4722,8 +4829,8 @@
   ;}
     break;
 
-  case 247:
-#line 2246 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 249:
+#line 2261 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.BasicBlockVal) = CurBB = getBBVal(ValID::create((yyvsp[0].StrVal)), true);
     CHECK_FOR_ERROR
@@ -4738,24 +4845,24 @@
   ;}
     break;
 
-  case 248:
-#line 2259 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 250:
+#line 2274 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {              // Return with a result...
     (yyval.TermInstVal) = new ReturnInst((yyvsp[0].ValueVal));
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 249:
-#line 2263 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 251:
+#line 2278 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {                                       // Return with no result...
     (yyval.TermInstVal) = new ReturnInst();
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 250:
-#line 2267 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 252:
+#line 2282 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {                         // Unconditional Branch...
     BasicBlock* tmpBB = getBBVal((yyvsp[0].ValIDVal));
     CHECK_FOR_ERROR
@@ -4763,8 +4870,8 @@
   ;}
     break;
 
-  case 251:
-#line 2272 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 253:
+#line 2287 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {  
     BasicBlock* tmpBBA = getBBVal((yyvsp[-3].ValIDVal));
     CHECK_FOR_ERROR
@@ -4776,8 +4883,8 @@
   ;}
     break;
 
-  case 252:
-#line 2281 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 254:
+#line 2296 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     Value* tmpVal = getVal((yyvsp[-7].PrimType), (yyvsp[-6].ValIDVal));
     CHECK_FOR_ERROR
@@ -4799,8 +4906,8 @@
   ;}
     break;
 
-  case 253:
-#line 2300 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 255:
+#line 2315 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     Value* tmpVal = getVal((yyvsp[-6].PrimType), (yyvsp[-5].ValIDVal));
     CHECK_FOR_ERROR
@@ -4812,8 +4919,8 @@
   ;}
     break;
 
-  case 254:
-#line 2310 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 256:
+#line 2325 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     const PointerType *PFTy;
     const FunctionType *Ty;
@@ -4871,24 +4978,24 @@
   ;}
     break;
 
-  case 255:
-#line 2365 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 257:
+#line 2380 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.TermInstVal) = new UnwindInst();
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 256:
-#line 2369 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 258:
+#line 2384 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.TermInstVal) = new UnreachableInst();
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 257:
-#line 2376 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 259:
+#line 2391 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.JumpTable) = (yyvsp[-5].JumpTable);
     Constant *V = cast<Constant>(getValNonImprovising((yyvsp[-4].PrimType), (yyvsp[-3].ValIDVal)));
@@ -4902,8 +5009,8 @@
   ;}
     break;
 
-  case 258:
-#line 2387 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 260:
+#line 2402 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.JumpTable) = new std::vector<std::pair<Constant*, BasicBlock*> >();
     Constant *V = cast<Constant>(getValNonImprovising((yyvsp[-4].PrimType), (yyvsp[-3].ValIDVal)));
@@ -4918,8 +5025,8 @@
   ;}
     break;
 
-  case 259:
-#line 2400 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 261:
+#line 2415 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
   // Is this definition named?? if so, assign the name...
   setValueName((yyvsp[0].InstVal), (yyvsp[-1].StrVal));
@@ -4930,8 +5037,8 @@
 ;}
     break;
 
-  case 260:
-#line 2409 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 262:
+#line 2424 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {    // Used for PHI nodes
     (yyval.PHIList) = new std::list<std::pair<Value*, BasicBlock*> >();
     Value* tmpVal = getVal(*(yyvsp[-5].TypeVal), (yyvsp[-3].ValIDVal));
@@ -4943,8 +5050,8 @@
   ;}
     break;
 
-  case 261:
-#line 2418 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 263:
+#line 2433 "/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));
@@ -4955,16 +5062,16 @@
   ;}
     break;
 
-  case 262:
-#line 2428 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 264:
+#line 2443 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {    // Used for call statements, and memory insts...
     (yyval.ValueList) = new std::vector<Value*>();
     (yyval.ValueList)->push_back((yyvsp[0].ValueVal));
   ;}
     break;
 
-  case 263:
-#line 2432 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 265:
+#line 2447 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ValueList) = (yyvsp[-2].ValueList);
     (yyvsp[-2].ValueList)->push_back((yyvsp[0].ValueVal));
@@ -4972,29 +5079,29 @@
   ;}
     break;
 
-  case 265:
-#line 2439 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 267:
+#line 2454 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.ValueList) = 0; ;}
     break;
 
-  case 266:
-#line 2441 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 268:
+#line 2456 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.BoolVal) = true;
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 267:
-#line 2445 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 269:
+#line 2460 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.BoolVal) = false;
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 268:
-#line 2450 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 270:
+#line 2465 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     if (!(*(yyvsp[-3].TypeVal))->isInteger() && !(*(yyvsp[-3].TypeVal))->isFloatingPoint() && 
         !isa<PackedType>((*(yyvsp[-3].TypeVal)).get()))
@@ -5016,8 +5123,8 @@
   ;}
     break;
 
-  case 269:
-#line 2469 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 271:
+#line 2484 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     if (!(*(yyvsp[-3].TypeVal))->isIntegral()) {
       if (!isa<PackedType>((yyvsp[-3].TypeVal)->get()) ||
@@ -5035,8 +5142,8 @@
   ;}
     break;
 
-  case 270:
-#line 2484 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 272:
+#line 2499 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     if(isa<PackedType>((*(yyvsp[-3].TypeVal)).get())) {
       GEN_ERROR(
@@ -5053,8 +5160,8 @@
   ;}
     break;
 
-  case 271:
-#line 2498 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 273:
+#line 2513 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     if (isa<PackedType>((*(yyvsp[-3].TypeVal)).get()))
       GEN_ERROR("Packed types not supported by icmp instruction");
@@ -5068,8 +5175,8 @@
   ;}
     break;
 
-  case 272:
-#line 2509 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 274:
+#line 2524 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     if (isa<PackedType>((*(yyvsp[-3].TypeVal)).get()))
       GEN_ERROR("Packed types not supported by fcmp instruction");
@@ -5083,8 +5190,8 @@
   ;}
     break;
 
-  case 273:
-#line 2520 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 275:
+#line 2535 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     llvm_cerr << "WARNING: Use of eliminated 'not' instruction:"
               << " Replacing with 'xor'.\n";
@@ -5100,8 +5207,8 @@
   ;}
     break;
 
-  case 274:
-#line 2533 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 276:
+#line 2548 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     if ((yyvsp[0].ValueVal)->getType() != Type::UByteTy)
       GEN_ERROR("Shift amount must be ubyte!");
@@ -5113,8 +5220,8 @@
   ;}
     break;
 
-  case 275:
-#line 2542 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 277:
+#line 2557 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     Value* Val = (yyvsp[-2].ValueVal);
     const Type* Ty = (yyvsp[0].TypeVal)->get();
@@ -5128,8 +5235,8 @@
   ;}
     break;
 
-  case 276:
-#line 2553 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 278:
+#line 2568 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     if ((yyvsp[-4].ValueVal)->getType() != Type::BoolTy)
       GEN_ERROR("select condition must be boolean!");
@@ -5140,8 +5247,8 @@
   ;}
     break;
 
-  case 277:
-#line 2561 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 279:
+#line 2576 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     NewVarArgs = true;
     (yyval.InstVal) = new VAArgInst((yyvsp[-2].ValueVal), *(yyvsp[0].TypeVal));
@@ -5150,8 +5257,8 @@
   ;}
     break;
 
-  case 278:
-#line 2567 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 280:
+#line 2582 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     ObsoleteVarArgs = true;
     const Type* ArgTy = (yyvsp[-2].ValueVal)->getType();
@@ -5174,8 +5281,8 @@
   ;}
     break;
 
-  case 279:
-#line 2587 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 281:
+#line 2602 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     ObsoleteVarArgs = true;
     const Type* ArgTy = (yyvsp[-2].ValueVal)->getType();
@@ -5201,8 +5308,8 @@
   ;}
     break;
 
-  case 280:
-#line 2610 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 282:
+#line 2625 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     if (!ExtractElementInst::isValidOperands((yyvsp[-2].ValueVal), (yyvsp[0].ValueVal)))
       GEN_ERROR("Invalid extractelement operands!");
@@ -5211,8 +5318,8 @@
   ;}
     break;
 
-  case 281:
-#line 2616 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 283:
+#line 2631 "/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!");
@@ -5221,8 +5328,8 @@
   ;}
     break;
 
-  case 282:
-#line 2622 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 284:
+#line 2637 "/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!");
@@ -5231,8 +5338,8 @@
   ;}
     break;
 
-  case 283:
-#line 2628 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 285:
+#line 2643 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     const Type *Ty = (yyvsp[0].PHIList)->front().first->getType();
     if (!Ty->isFirstClassType())
@@ -5250,8 +5357,8 @@
   ;}
     break;
 
-  case 284:
-#line 2643 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 286:
+#line 2658 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     const PointerType *PFTy = 0;
     const FunctionType *Ty = 0;
@@ -5313,48 +5420,48 @@
   ;}
     break;
 
-  case 285:
-#line 2702 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 287:
+#line 2717 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.InstVal) = (yyvsp[0].InstVal);
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 286:
-#line 2709 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 288:
+#line 2724 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { 
     (yyval.ValueList) = (yyvsp[0].ValueList); 
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 287:
-#line 2712 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 289:
+#line 2727 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { 
     (yyval.ValueList) = new std::vector<Value*>(); 
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 288:
-#line 2717 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 290:
+#line 2732 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.BoolVal) = true;
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 289:
-#line 2721 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 291:
+#line 2736 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.BoolVal) = false;
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 290:
-#line 2728 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 292:
+#line 2743 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.InstVal) = new MallocInst(*(yyvsp[-1].TypeVal), 0, (yyvsp[0].UIntVal));
     delete (yyvsp[-1].TypeVal);
@@ -5362,8 +5469,8 @@
   ;}
     break;
 
-  case 291:
-#line 2733 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 293:
+#line 2748 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     Value* tmpVal = getVal((yyvsp[-2].PrimType), (yyvsp[-1].ValIDVal));
     CHECK_FOR_ERROR
@@ -5372,8 +5479,8 @@
   ;}
     break;
 
-  case 292:
-#line 2739 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 294:
+#line 2754 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.InstVal) = new AllocaInst(*(yyvsp[-1].TypeVal), 0, (yyvsp[0].UIntVal));
     delete (yyvsp[-1].TypeVal);
@@ -5381,8 +5488,8 @@
   ;}
     break;
 
-  case 293:
-#line 2744 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 295:
+#line 2759 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     Value* tmpVal = getVal((yyvsp[-2].PrimType), (yyvsp[-1].ValIDVal));
     CHECK_FOR_ERROR
@@ -5391,8 +5498,8 @@
   ;}
     break;
 
-  case 294:
-#line 2750 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 296:
+#line 2765 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     if (!isa<PointerType>((yyvsp[0].ValueVal)->getType()))
       GEN_ERROR("Trying to free nonpointer type " + 
@@ -5402,8 +5509,8 @@
   ;}
     break;
 
-  case 295:
-#line 2758 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 297:
+#line 2773 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     if (!isa<PointerType>((yyvsp[-1].TypeVal)->get()))
       GEN_ERROR("Can't load from nonpointer type: " +
@@ -5418,8 +5525,8 @@
   ;}
     break;
 
-  case 296:
-#line 2770 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 298:
+#line 2785 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     const PointerType *PT = dyn_cast<PointerType>((yyvsp[-1].TypeVal)->get());
     if (!PT)
@@ -5437,8 +5544,8 @@
   ;}
     break;
 
-  case 297:
-#line 2785 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+  case 299:
+#line 2800 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     if (!isa<PointerType>((yyvsp[-2].TypeVal)->get()))
       GEN_ERROR("getelementptr insn requires pointer operand!");
@@ -5470,7 +5577,7 @@
     }
 
 /* Line 1126 of yacc.c.  */
-#line 5474 "llvmAsmParser.tab.c"
+#line 5581 "llvmAsmParser.tab.c"
 
   yyvsp -= yylen;
   yyssp -= yylen;
@@ -5738,7 +5845,7 @@
 }
 
 
-#line 2811 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 2826 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
 
 
 void llvm::GenerateError(const std::string &message, int LineNo) {