[llvm-commits] [llvm] r61150 - in /llvm/trunk/lib/AsmParser: llvmAsmParser.cpp.cvs llvmAsmParser.h.cvs llvmAsmParser.y.cvs

Bill Wendling isanbard at gmail.com
Wed Dec 17 12:59:59 PST 2008


Author: void
Date: Wed Dec 17 14:59:57 2008
New Revision: 61150

URL: http://llvm.org/viewvc/llvm-project?rev=61150&view=rev
Log:
Forgot to revert r61031 when I reverted r61019, r61030, and r61040.

Modified:
    llvm/trunk/lib/AsmParser/llvmAsmParser.cpp.cvs
    llvm/trunk/lib/AsmParser/llvmAsmParser.h.cvs
    llvm/trunk/lib/AsmParser/llvmAsmParser.y.cvs

Modified: llvm/trunk/lib/AsmParser/llvmAsmParser.cpp.cvs
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/AsmParser/llvmAsmParser.cpp.cvs?rev=61150&r1=61149&r2=61150&view=diff

==============================================================================
--- llvm/trunk/lib/AsmParser/llvmAsmParser.cpp.cvs (original)
+++ llvm/trunk/lib/AsmParser/llvmAsmParser.cpp.cvs Wed Dec 17 14:59:57 2008
@@ -219,8 +219,8 @@
      SRET = 400,
      NOUNWIND = 401,
      NOALIAS = 402,
-     NOCAPTURE = 403,
-     BYVAL = 404,
+     BYVAL = 403,
+     NEST = 404,
      READNONE = 405,
      READONLY = 406,
      GC = 407,
@@ -229,10 +229,9 @@
      ALWAYSINLINE = 410,
      SSP = 411,
      SSPREQ = 412,
-     NEST = 413,
-     DEFAULT = 414,
-     HIDDEN = 415,
-     PROTECTED = 416
+     DEFAULT = 413,
+     HIDDEN = 414,
+     PROTECTED = 415
    };
 #endif
 /* Tokens.  */
@@ -381,8 +380,8 @@
 #define SRET 400
 #define NOUNWIND 401
 #define NOALIAS 402
-#define NOCAPTURE 403
-#define BYVAL 404
+#define BYVAL 403
+#define NEST 404
 #define READNONE 405
 #define READONLY 406
 #define GC 407
@@ -391,10 +390,9 @@
 #define ALWAYSINLINE 410
 #define SSP 411
 #define SSPREQ 412
-#define NEST 413
-#define DEFAULT 414
-#define HIDDEN 415
-#define PROTECTED 416
+#define DEFAULT 413
+#define HIDDEN 414
+#define PROTECTED 415
 
 
 
@@ -1442,7 +1440,7 @@
   llvm::FCmpInst::Predicate         FPredicate;
 }
 /* Line 187 of yacc.c.  */
-#line 1446 "llvmAsmParser.tab.c"
+#line 1444 "llvmAsmParser.tab.c"
 	YYSTYPE;
 # define yystype YYSTYPE /* obsolescent; will be withdrawn */
 # define YYSTYPE_IS_DECLARED 1
@@ -1455,7 +1453,7 @@
 
 
 /* Line 216 of yacc.c.  */
-#line 1459 "llvmAsmParser.tab.c"
+#line 1457 "llvmAsmParser.tab.c"
 
 #ifdef short
 # undef short
@@ -1670,20 +1668,20 @@
 /* YYFINAL -- State number of the termination state.  */
 #define YYFINAL  44
 /* YYLAST -- Last index in YYTABLE.  */
-#define YYLAST   2372
+#define YYLAST   2434
 
 /* YYNTOKENS -- Number of terminals.  */
-#define YYNTOKENS  176
+#define YYNTOKENS  175
 /* YYNNTS -- Number of nonterminals.  */
 #define YYNNTS  87
 /* YYNRULES -- Number of rules.  */
-#define YYNRULES  352
+#define YYNRULES  351
 /* YYNRULES -- Number of states.  */
-#define YYNSTATES  712
+#define YYNSTATES  711
 
 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
 #define YYUNDEFTOK  2
-#define YYMAXUTOK   416
+#define YYMAXUTOK   415
 
 #define YYTRANSLATE(YYX)						\
   ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
@@ -1695,15 +1693,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,
-     162,   163,   166,     2,   165,     2,     2,     2,     2,     2,
+     161,   162,   165,     2,   164,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     171,   164,   172,     2,     2,     2,     2,     2,     2,     2,
+     170,   163,   171,     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,   168,   167,   170,     2,     2,     2,     2,     2,   175,
+       2,   167,   166,   169,     2,     2,     2,     2,     2,   174,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     169,     2,     2,   173,     2,   174,     2,     2,     2,     2,
+     168,     2,     2,   172,     2,   173,     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,
@@ -1732,7 +1730,7 @@
      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,   151,   152,   153,   154,
-     155,   156,   157,   158,   159,   160,   161
+     155,   156,   157,   158,   159,   160
 };
 
 #if YYDEBUG
@@ -1751,37 +1749,37 @@
      160,   162,   164,   166,   167,   169,   171,   172,   174,   176,
      178,   180,   181,   183,   185,   186,   188,   190,   192,   194,
      196,   199,   201,   203,   205,   207,   209,   211,   213,   215,
-     217,   219,   222,   223,   226,   228,   230,   232,   234,   235,
+     217,   220,   221,   224,   226,   228,   230,   232,   233,   236,
      238,   240,   242,   244,   246,   248,   250,   252,   254,   256,
-     258,   260,   262,   263,   266,   267,   270,   271,   274,   275,
-     279,   282,   283,   285,   286,   290,   292,   295,   297,   299,
-     301,   303,   305,   307,   309,   311,   313,   317,   319,   322,
-     328,   334,   340,   346,   350,   353,   359,   364,   367,   369,
-     371,   373,   377,   379,   383,   385,   386,   388,   392,   397,
-     401,   405,   410,   415,   419,   426,   432,   435,   438,   441,
-     444,   447,   450,   453,   456,   459,   462,   465,   468,   475,
-     481,   490,   497,   504,   512,   520,   528,   536,   543,   552,
-     561,   567,   575,   579,   581,   583,   585,   587,   588,   591,
-     598,   600,   601,   603,   606,   607,   611,   612,   616,   620,
-     624,   628,   629,   638,   639,   649,   650,   660,   666,   669,
-     673,   675,   679,   683,   687,   691,   693,   694,   700,   704,
-     706,   710,   712,   713,   725,   727,   729,   734,   736,   738,
-     741,   745,   746,   748,   750,   752,   754,   756,   758,   760,
-     762,   764,   766,   768,   772,   776,   779,   782,   786,   789,
-     795,   800,   802,   808,   810,   812,   814,   816,   818,   820,
-     823,   825,   829,   832,   835,   839,   843,   846,   847,   849,
-     852,   855,   859,   869,   879,   888,   904,   906,   908,   915,
-     921,   924,   927,   934,   942,   947,   952,   959,   966,   967,
-     968,   972,   975,   979,   982,   984,   990,   996,  1003,  1010,
-    1017,  1024,  1029,  1036,  1041,  1046,  1053,  1060,  1063,  1073,
-    1075,  1077,  1078,  1082,  1089,  1093,  1100,  1103,  1109,  1117,
-    1123,  1128,  1133
+     258,   260,   261,   264,   265,   268,   269,   272,   273,   277,
+     280,   281,   283,   284,   288,   290,   293,   295,   297,   299,
+     301,   303,   305,   307,   309,   311,   315,   317,   320,   326,
+     332,   338,   344,   348,   351,   357,   362,   365,   367,   369,
+     371,   375,   377,   381,   383,   384,   386,   390,   395,   399,
+     403,   408,   413,   417,   424,   430,   433,   436,   439,   442,
+     445,   448,   451,   454,   457,   460,   463,   466,   473,   479,
+     488,   495,   502,   510,   518,   526,   534,   541,   550,   559,
+     565,   573,   577,   579,   581,   583,   585,   586,   589,   596,
+     598,   599,   601,   604,   605,   609,   610,   614,   618,   622,
+     626,   627,   636,   637,   647,   648,   658,   664,   667,   671,
+     673,   677,   681,   685,   689,   691,   692,   698,   702,   704,
+     708,   710,   711,   723,   725,   727,   732,   734,   736,   739,
+     743,   744,   746,   748,   750,   752,   754,   756,   758,   760,
+     762,   764,   766,   770,   774,   777,   780,   784,   787,   793,
+     798,   800,   806,   808,   810,   812,   814,   816,   818,   821,
+     823,   827,   830,   833,   837,   841,   844,   845,   847,   850,
+     853,   857,   867,   877,   886,   902,   904,   906,   913,   919,
+     922,   925,   932,   940,   945,   950,   957,   964,   965,   966,
+     970,   973,   977,   980,   982,   988,   994,  1001,  1008,  1015,
+    1022,  1027,  1034,  1039,  1044,  1051,  1058,  1061,  1071,  1073,
+    1075,  1076,  1080,  1087,  1091,  1098,  1101,  1107,  1115,  1121,
+    1126,  1131
 };
 
 /* YYRHS -- A `-1'-separated list of the rules' RHS.  */
 static const yytype_int16 yyrhs[] =
 {
-     223,     0,    -1,    75,    -1,    76,    -1,    77,    -1,    78,
+     222,     0,    -1,    75,    -1,    76,    -1,    77,    -1,    78,
       -1,    79,    -1,    80,    -1,    81,    -1,    82,    -1,    83,
       -1,    87,    -1,    88,    -1,    89,    -1,    84,    -1,    85,
       -1,    86,    -1,   120,    -1,   121,    -1,   122,    -1,   123,
@@ -1792,110 +1790,109 @@
       -1,   106,    -1,   107,    -1,   108,    -1,   109,    -1,   110,
       -1,   111,    -1,   112,    -1,   113,    -1,   100,    -1,   101,
       -1,   102,    -1,   103,    -1,    26,    -1,    27,    -1,    19,
-      -1,    22,    -1,    24,    -1,   182,    -1,    -1,    55,   162,
-       4,   163,    -1,    -1,   182,   164,    -1,    -1,     7,   164,
-      -1,    20,    -1,    23,    -1,   189,    -1,    -1,   187,   164,
+      -1,    22,    -1,    24,    -1,   181,    -1,    -1,    55,   161,
+       4,   162,    -1,    -1,   181,   163,    -1,    -1,     7,   163,
+      -1,    20,    -1,    23,    -1,   188,    -1,    -1,   186,   163,
       -1,    42,    -1,    44,    -1,    43,    -1,    45,    -1,    47,
       -1,    49,    -1,    46,    -1,    48,    -1,    51,    -1,    -1,
-     159,    -1,   160,    -1,   161,    -1,    -1,    46,    -1,    48,
+     158,    -1,   159,    -1,   160,    -1,    -1,    46,    -1,    48,
       -1,    -1,    42,    -1,    43,    -1,    44,    -1,    47,    -1,
       -1,    44,    -1,    42,    -1,    -1,    63,    -1,    64,    -1,
       65,    -1,    66,    -1,    67,    -1,    62,     4,    -1,   142,
       -1,   121,    -1,   141,    -1,   122,    -1,   144,    -1,   145,
-      -1,   147,    -1,   148,    -1,   149,    -1,   158,    -1,    54,
-       4,    -1,    -1,   198,   197,    -1,   144,    -1,   142,    -1,
-     141,    -1,   147,    -1,    -1,   200,   199,    -1,   143,    -1,
-     146,    -1,   144,    -1,   142,    -1,   141,    -1,   150,    -1,
-     151,    -1,   154,    -1,   155,    -1,   153,    -1,   156,    -1,
-     157,    -1,    -1,   202,   201,    -1,    -1,   152,    22,    -1,
-      -1,    54,     4,    -1,    -1,   165,    54,     4,    -1,    34,
-      22,    -1,    -1,   206,    -1,    -1,   165,   209,   208,    -1,
-     206,    -1,    54,     4,    -1,    11,    -1,    12,    -1,    13,
-      -1,    16,    -1,    15,    -1,    14,    -1,    17,    -1,    50,
-      -1,   210,    -1,   211,   184,   166,    -1,   245,    -1,   167,
-       4,    -1,   211,   162,   215,   163,   202,    -1,    10,   162,
-     215,   163,   202,    -1,   168,     4,   169,   211,   170,    -1,
-     171,     4,   169,   211,   172,    -1,   173,   216,   174,    -1,
-     173,   174,    -1,   171,   173,   216,   174,   172,    -1,   171,
-     173,   174,   172,    -1,   211,   198,    -1,   211,    -1,    10,
-      -1,   212,    -1,   214,   165,   212,    -1,   214,    -1,   214,
-     165,    39,    -1,    39,    -1,    -1,   211,    -1,   216,   165,
-     211,    -1,   211,   168,   219,   170,    -1,   211,   168,   170,
-      -1,   211,   175,    22,    -1,   211,   171,   219,   172,    -1,
-     211,   173,   219,   174,    -1,   211,   173,   174,    -1,   211,
-     171,   173,   219,   174,   172,    -1,   211,   171,   173,   174,
-     172,    -1,   211,    40,    -1,   211,    41,    -1,   211,   245,
-      -1,   211,   218,    -1,   211,    25,    -1,   211,     3,    -1,
-     211,     5,    -1,   211,     4,    -1,   211,     6,    -1,   211,
-      26,    -1,   211,    27,    -1,   211,     9,    -1,   179,   162,
-     217,    38,   211,   163,    -1,   119,   162,   217,   257,   163,
-      -1,   133,   162,   217,   165,   217,   165,   217,   163,    -1,
-     177,   162,   217,   165,   217,   163,    -1,   178,   162,   217,
-     165,   217,   163,    -1,    90,   180,   162,   217,   165,   217,
-     163,    -1,    91,   181,   162,   217,   165,   217,   163,    -1,
-      92,   180,   162,   217,   165,   217,   163,    -1,    93,   181,
-     162,   217,   165,   217,   163,    -1,   135,   162,   217,   165,
-     217,   163,    -1,   136,   162,   217,   165,   217,   165,   217,
-     163,    -1,   137,   162,   217,   165,   217,   165,   217,   163,
-      -1,   139,   162,   217,   258,   163,    -1,   140,   162,   217,
-     165,   217,   258,   163,    -1,   219,   165,   217,    -1,   217,
-      -1,    32,    -1,    33,    -1,    37,    -1,    -1,   213,   245,
-      -1,   125,   162,   222,    38,   211,   163,    -1,   224,    -1,
-      -1,   225,    -1,   224,   225,    -1,    -1,    31,   226,   241,
-      -1,    -1,    30,   227,   242,    -1,    60,    59,   231,    -1,
-     185,    18,   211,    -1,   185,    18,    10,    -1,    -1,   188,
-     192,   221,   220,   217,   184,   228,   208,    -1,    -1,   188,
-     190,   192,   221,   220,   217,   184,   229,   208,    -1,    -1,
-     188,   191,   192,   221,   220,   211,   184,   230,   208,    -1,
-     188,   192,    35,   195,   222,    -1,    52,   232,    -1,    56,
-     164,   233,    -1,    22,    -1,    53,   164,    22,    -1,    68,
-     164,    22,    -1,   168,   234,   170,    -1,   234,   165,    22,
-      -1,    22,    -1,    -1,   235,   165,   211,   198,   183,    -1,
-     211,   198,   183,    -1,   235,    -1,   235,   165,    39,    -1,
-      39,    -1,    -1,   196,   200,   213,   187,   162,   236,   163,
-     202,   207,   204,   203,    -1,    28,    -1,   173,    -1,   194,
-     192,   237,   238,    -1,    29,    -1,   174,    -1,   249,   240,
-      -1,   193,   192,   237,    -1,    -1,    61,    -1,     3,    -1,
-       4,    -1,     5,    -1,     6,    -1,     9,    -1,    26,    -1,
-      27,    -1,    40,    -1,    41,    -1,    25,    -1,   171,   219,
-     172,    -1,   168,   219,   170,    -1,   168,   170,    -1,   175,
-      22,    -1,   173,   219,   174,    -1,   173,   174,    -1,   171,
-     173,   219,   174,   172,    -1,   171,   173,   174,   172,    -1,
-     218,    -1,    59,   243,    22,   165,    22,    -1,     7,    -1,
-       8,    -1,   182,    -1,   187,    -1,   245,    -1,   244,    -1,
-     211,   246,    -1,   247,    -1,   248,   165,   247,    -1,   249,
-     250,    -1,   239,   250,    -1,   251,   185,   252,    -1,   251,
-     186,   252,    -1,   251,   254,    -1,    -1,    21,    -1,    69,
-     248,    -1,    69,    10,    -1,    70,    17,   246,    -1,    70,
-      11,   246,   165,    17,   246,   165,    17,   246,    -1,    71,
-      11,   246,   165,    17,   246,   168,   253,   170,    -1,    71,
-      11,   246,   165,    17,   246,   168,   170,    -1,    72,   196,
-     200,   213,   246,   162,   256,   163,   202,    38,    17,   246,
-      73,    17,   246,    -1,    73,    -1,    74,    -1,   253,    11,
-     244,   165,    17,   246,    -1,    11,   244,   165,    17,   246,
-      -1,   185,   260,    -1,   186,   260,    -1,   211,   168,   246,
-     165,   246,   170,    -1,   255,   165,   168,   246,   165,   246,
-     170,    -1,   211,   198,   246,   198,    -1,    17,   198,   246,
-     198,    -1,   256,   165,   211,   198,   246,   198,    -1,   256,
-     165,    17,   198,   246,   198,    -1,    -1,    -1,   257,   165,
-     247,    -1,   165,     4,    -1,   258,   165,     4,    -1,    58,
-      57,    -1,    57,    -1,   177,   211,   246,   165,   246,    -1,
-     178,   211,   246,   165,   246,    -1,    90,   180,   211,   246,
-     165,   246,    -1,    91,   181,   211,   246,   165,   246,    -1,
-      92,   180,   211,   246,   165,   246,    -1,    93,   181,   211,
-     246,   165,   246,    -1,   179,   247,    38,   211,    -1,   133,
-     247,   165,   247,   165,   247,    -1,   134,   247,   165,   211,
-      -1,   135,   247,   165,   247,    -1,   136,   247,   165,   247,
-     165,   247,    -1,   137,   247,   165,   247,   165,   247,    -1,
-     132,   255,    -1,   259,   196,   200,   213,   246,   162,   256,
-     163,   202,    -1,   262,    -1,    36,    -1,    -1,   114,   211,
-     205,    -1,   114,   211,   165,    11,   246,   205,    -1,   115,
-     211,   205,    -1,   115,   211,   165,    11,   246,   205,    -1,
-     116,   247,    -1,   261,   117,   211,   246,   205,    -1,   261,
-     118,   247,   165,   211,   246,   205,    -1,   138,   211,   246,
-     165,     4,    -1,   119,   211,   246,   257,    -1,   139,   211,
-     246,   258,    -1,   140,   211,   246,   165,   211,   246,   258,
-      -1
+      -1,   147,    -1,   148,    -1,   149,    -1,    54,     4,    -1,
+      -1,   197,   196,    -1,   144,    -1,   142,    -1,   141,    -1,
+     147,    -1,    -1,   199,   198,    -1,   143,    -1,   146,    -1,
+     144,    -1,   142,    -1,   141,    -1,   150,    -1,   151,    -1,
+     154,    -1,   155,    -1,   153,    -1,   156,    -1,   157,    -1,
+      -1,   201,   200,    -1,    -1,   152,    22,    -1,    -1,    54,
+       4,    -1,    -1,   164,    54,     4,    -1,    34,    22,    -1,
+      -1,   205,    -1,    -1,   164,   208,   207,    -1,   205,    -1,
+      54,     4,    -1,    11,    -1,    12,    -1,    13,    -1,    16,
+      -1,    15,    -1,    14,    -1,    17,    -1,    50,    -1,   209,
+      -1,   210,   183,   165,    -1,   244,    -1,   166,     4,    -1,
+     210,   161,   214,   162,   201,    -1,    10,   161,   214,   162,
+     201,    -1,   167,     4,   168,   210,   169,    -1,   170,     4,
+     168,   210,   171,    -1,   172,   215,   173,    -1,   172,   173,
+      -1,   170,   172,   215,   173,   171,    -1,   170,   172,   173,
+     171,    -1,   210,   197,    -1,   210,    -1,    10,    -1,   211,
+      -1,   213,   164,   211,    -1,   213,    -1,   213,   164,    39,
+      -1,    39,    -1,    -1,   210,    -1,   215,   164,   210,    -1,
+     210,   167,   218,   169,    -1,   210,   167,   169,    -1,   210,
+     174,    22,    -1,   210,   170,   218,   171,    -1,   210,   172,
+     218,   173,    -1,   210,   172,   173,    -1,   210,   170,   172,
+     218,   173,   171,    -1,   210,   170,   172,   173,   171,    -1,
+     210,    40,    -1,   210,    41,    -1,   210,   244,    -1,   210,
+     217,    -1,   210,    25,    -1,   210,     3,    -1,   210,     5,
+      -1,   210,     4,    -1,   210,     6,    -1,   210,    26,    -1,
+     210,    27,    -1,   210,     9,    -1,   178,   161,   216,    38,
+     210,   162,    -1,   119,   161,   216,   256,   162,    -1,   133,
+     161,   216,   164,   216,   164,   216,   162,    -1,   176,   161,
+     216,   164,   216,   162,    -1,   177,   161,   216,   164,   216,
+     162,    -1,    90,   179,   161,   216,   164,   216,   162,    -1,
+      91,   180,   161,   216,   164,   216,   162,    -1,    92,   179,
+     161,   216,   164,   216,   162,    -1,    93,   180,   161,   216,
+     164,   216,   162,    -1,   135,   161,   216,   164,   216,   162,
+      -1,   136,   161,   216,   164,   216,   164,   216,   162,    -1,
+     137,   161,   216,   164,   216,   164,   216,   162,    -1,   139,
+     161,   216,   257,   162,    -1,   140,   161,   216,   164,   216,
+     257,   162,    -1,   218,   164,   216,    -1,   216,    -1,    32,
+      -1,    33,    -1,    37,    -1,    -1,   212,   244,    -1,   125,
+     161,   221,    38,   210,   162,    -1,   223,    -1,    -1,   224,
+      -1,   223,   224,    -1,    -1,    31,   225,   240,    -1,    -1,
+      30,   226,   241,    -1,    60,    59,   230,    -1,   184,    18,
+     210,    -1,   184,    18,    10,    -1,    -1,   187,   191,   220,
+     219,   216,   183,   227,   207,    -1,    -1,   187,   189,   191,
+     220,   219,   216,   183,   228,   207,    -1,    -1,   187,   190,
+     191,   220,   219,   210,   183,   229,   207,    -1,   187,   191,
+      35,   194,   221,    -1,    52,   231,    -1,    56,   163,   232,
+      -1,    22,    -1,    53,   163,    22,    -1,    68,   163,    22,
+      -1,   167,   233,   169,    -1,   233,   164,    22,    -1,    22,
+      -1,    -1,   234,   164,   210,   197,   182,    -1,   210,   197,
+     182,    -1,   234,    -1,   234,   164,    39,    -1,    39,    -1,
+      -1,   195,   199,   212,   186,   161,   235,   162,   201,   206,
+     203,   202,    -1,    28,    -1,   172,    -1,   193,   191,   236,
+     237,    -1,    29,    -1,   173,    -1,   248,   239,    -1,   192,
+     191,   236,    -1,    -1,    61,    -1,     3,    -1,     4,    -1,
+       5,    -1,     6,    -1,     9,    -1,    26,    -1,    27,    -1,
+      40,    -1,    41,    -1,    25,    -1,   170,   218,   171,    -1,
+     167,   218,   169,    -1,   167,   169,    -1,   174,    22,    -1,
+     172,   218,   173,    -1,   172,   173,    -1,   170,   172,   218,
+     173,   171,    -1,   170,   172,   173,   171,    -1,   217,    -1,
+      59,   242,    22,   164,    22,    -1,     7,    -1,     8,    -1,
+     181,    -1,   186,    -1,   244,    -1,   243,    -1,   210,   245,
+      -1,   246,    -1,   247,   164,   246,    -1,   248,   249,    -1,
+     238,   249,    -1,   250,   184,   251,    -1,   250,   185,   251,
+      -1,   250,   253,    -1,    -1,    21,    -1,    69,   247,    -1,
+      69,    10,    -1,    70,    17,   245,    -1,    70,    11,   245,
+     164,    17,   245,   164,    17,   245,    -1,    71,    11,   245,
+     164,    17,   245,   167,   252,   169,    -1,    71,    11,   245,
+     164,    17,   245,   167,   169,    -1,    72,   195,   199,   212,
+     245,   161,   255,   162,   201,    38,    17,   245,    73,    17,
+     245,    -1,    73,    -1,    74,    -1,   252,    11,   243,   164,
+      17,   245,    -1,    11,   243,   164,    17,   245,    -1,   184,
+     259,    -1,   185,   259,    -1,   210,   167,   245,   164,   245,
+     169,    -1,   254,   164,   167,   245,   164,   245,   169,    -1,
+     210,   197,   245,   197,    -1,    17,   197,   245,   197,    -1,
+     255,   164,   210,   197,   245,   197,    -1,   255,   164,    17,
+     197,   245,   197,    -1,    -1,    -1,   256,   164,   246,    -1,
+     164,     4,    -1,   257,   164,     4,    -1,    58,    57,    -1,
+      57,    -1,   176,   210,   245,   164,   245,    -1,   177,   210,
+     245,   164,   245,    -1,    90,   179,   210,   245,   164,   245,
+      -1,    91,   180,   210,   245,   164,   245,    -1,    92,   179,
+     210,   245,   164,   245,    -1,    93,   180,   210,   245,   164,
+     245,    -1,   178,   246,    38,   210,    -1,   133,   246,   164,
+     246,   164,   246,    -1,   134,   246,   164,   210,    -1,   135,
+     246,   164,   246,    -1,   136,   246,   164,   246,   164,   246,
+      -1,   137,   246,   164,   246,   164,   246,    -1,   132,   254,
+      -1,   258,   195,   199,   212,   245,   161,   255,   162,   201,
+      -1,   261,    -1,    36,    -1,    -1,   114,   210,   204,    -1,
+     114,   210,   164,    11,   245,   204,    -1,   115,   210,   204,
+      -1,   115,   210,   164,    11,   245,   204,    -1,   116,   246,
+      -1,   260,   117,   210,   245,   204,    -1,   260,   118,   246,
+     164,   210,   245,   204,    -1,   138,   210,   245,   164,     4,
+      -1,   119,   210,   245,   256,    -1,   139,   210,   245,   257,
+      -1,   140,   210,   245,   164,   210,   245,   257,    -1
 };
 
 /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
@@ -1912,31 +1909,31 @@
     1230,  1231,  1232,  1236,  1237,  1238,  1242,  1243,  1244,  1245,
     1246,  1250,  1251,  1252,  1255,  1256,  1257,  1258,  1259,  1260,
     1261,  1268,  1269,  1270,  1271,  1272,  1273,  1274,  1275,  1276,
-    1277,  1278,  1282,  1283,  1288,  1289,  1290,  1291,  1294,  1295,
+    1277,  1281,  1282,  1287,  1288,  1289,  1290,  1293,  1294,  1300,
     1301,  1302,  1303,  1304,  1305,  1306,  1307,  1308,  1309,  1310,
-    1311,  1312,  1315,  1316,  1322,  1323,  1330,  1331,  1339,  1340,
-    1351,  1359,  1360,  1365,  1366,  1367,  1372,  1387,  1387,  1387,
-    1387,  1387,  1387,  1387,  1390,  1394,  1398,  1405,  1410,  1418,
-    1453,  1484,  1489,  1499,  1509,  1513,  1523,  1530,  1539,  1546,
-    1551,  1556,  1563,  1564,  1571,  1578,  1586,  1592,  1604,  1632,
-    1648,  1675,  1703,  1729,  1749,  1775,  1795,  1807,  1814,  1880,
-    1890,  1900,  1911,  1924,  1935,  1949,  1956,  1963,  1981,  1993,
-    2014,  2022,  2028,  2039,  2044,  2049,  2054,  2059,  2065,  2071,
-    2077,  2085,  2096,  2100,  2108,  2108,  2111,  2111,  2114,  2126,
-    2147,  2152,  2160,  2161,  2165,  2165,  2169,  2169,  2172,  2175,
-    2199,  2211,  2210,  2222,  2221,  2231,  2230,  2241,  2281,  2284,
-    2290,  2300,  2304,  2309,  2311,  2316,  2321,  2330,  2340,  2351,
-    2355,  2364,  2373,  2378,  2527,  2527,  2529,  2538,  2538,  2540,
-    2545,  2557,  2561,  2566,  2570,  2574,  2579,  2584,  2588,  2592,
-    2596,  2600,  2604,  2608,  2630,  2652,  2658,  2671,  2683,  2688,
-    2700,  2706,  2710,  2720,  2724,  2728,  2733,  2740,  2740,  2746,
-    2755,  2760,  2765,  2769,  2778,  2787,  2800,  2809,  2813,  2821,
-    2841,  2845,  2850,  2861,  2880,  2889,  2993,  2997,  3004,  3015,
-    3028,  3037,  3050,  3061,  3071,  3082,  3090,  3100,  3107,  3110,
-    3111,  3119,  3125,  3134,  3138,  3143,  3159,  3176,  3188,  3200,
-    3214,  3228,  3240,  3261,  3268,  3274,  3280,  3286,  3301,  3411,
-    3416,  3420,  3427,  3434,  3444,  3451,  3461,  3469,  3483,  3500,
-    3514,  3529,  3544
+    1311,  1314,  1315,  1321,  1322,  1329,  1330,  1336,  1337,  1346,
+    1354,  1355,  1360,  1361,  1362,  1367,  1380,  1380,  1380,  1380,
+    1380,  1380,  1380,  1383,  1387,  1391,  1398,  1403,  1411,  1446,
+    1477,  1482,  1492,  1502,  1506,  1516,  1523,  1532,  1539,  1544,
+    1549,  1556,  1557,  1564,  1571,  1579,  1585,  1597,  1625,  1641,
+    1668,  1696,  1722,  1742,  1768,  1788,  1800,  1807,  1873,  1883,
+    1893,  1904,  1917,  1928,  1942,  1949,  1956,  1974,  1986,  2007,
+    2015,  2021,  2032,  2037,  2042,  2047,  2052,  2058,  2064,  2070,
+    2078,  2089,  2093,  2101,  2101,  2104,  2104,  2107,  2119,  2140,
+    2145,  2153,  2154,  2158,  2158,  2162,  2162,  2165,  2168,  2192,
+    2204,  2203,  2215,  2214,  2224,  2223,  2234,  2274,  2277,  2283,
+    2293,  2297,  2302,  2304,  2309,  2314,  2323,  2333,  2344,  2348,
+    2357,  2366,  2371,  2520,  2520,  2522,  2531,  2531,  2533,  2538,
+    2550,  2554,  2559,  2563,  2567,  2572,  2577,  2581,  2585,  2589,
+    2593,  2597,  2601,  2623,  2645,  2651,  2664,  2676,  2681,  2693,
+    2699,  2703,  2713,  2717,  2721,  2726,  2733,  2733,  2739,  2748,
+    2753,  2758,  2762,  2771,  2780,  2793,  2802,  2806,  2814,  2834,
+    2838,  2843,  2854,  2873,  2882,  2986,  2990,  2997,  3008,  3021,
+    3030,  3043,  3054,  3064,  3075,  3083,  3093,  3100,  3103,  3104,
+    3112,  3118,  3127,  3131,  3136,  3152,  3169,  3181,  3193,  3207,
+    3221,  3233,  3254,  3261,  3267,  3273,  3279,  3294,  3404,  3409,
+    3413,  3420,  3427,  3437,  3444,  3454,  3462,  3476,  3493,  3507,
+    3522,  3537
 };
 #endif
 
@@ -1967,11 +1964,11 @@
   "SITOFP", "FPTOUI", "FPTOSI", "INTTOPTR", "PTRTOINT", "PHI_TOK",
   "SELECT", "VAARG", "EXTRACTELEMENT", "INSERTELEMENT", "SHUFFLEVECTOR",
   "GETRESULT", "EXTRACTVALUE", "INSERTVALUE", "SIGNEXT", "ZEROEXT",
-  "NORETURN", "INREG", "SRET", "NOUNWIND", "NOALIAS", "NOCAPTURE", "BYVAL",
+  "NORETURN", "INREG", "SRET", "NOUNWIND", "NOALIAS", "BYVAL", "NEST",
   "READNONE", "READONLY", "GC", "OPTSIZE", "NOINLINE", "ALWAYSINLINE",
-  "SSP", "SSPREQ", "NEST", "DEFAULT", "HIDDEN", "PROTECTED", "'('", "')'",
-  "'='", "','", "'*'", "'\\\\'", "'['", "'x'", "']'", "'<'", "'>'", "'{'",
-  "'}'", "'c'", "$accept", "ArithmeticOps", "LogicalOps", "CastOps",
+  "SSP", "SSPREQ", "DEFAULT", "HIDDEN", "PROTECTED", "'('", "')'", "'='",
+  "','", "'*'", "'\\\\'", "'['", "'x'", "']'", "'<'", "'>'", "'{'", "'}'",
+  "'c'", "$accept", "ArithmeticOps", "LogicalOps", "CastOps",
   "IPredicates", "FPredicates", "LocalName", "OptLocalName",
   "OptAddrSpace", "OptLocalAssign", "LocalNumber", "GlobalName",
   "OptGlobalAssign", "GlobalAssign", "GVInternalLinkage",
@@ -2015,50 +2012,50 @@
      385,   386,   387,   388,   389,   390,   391,   392,   393,   394,
      395,   396,   397,   398,   399,   400,   401,   402,   403,   404,
      405,   406,   407,   408,   409,   410,   411,   412,   413,   414,
-     415,   416,    40,    41,    61,    44,    42,    92,    91,   120,
-      93,    60,    62,   123,   125,    99
+     415,    40,    41,    61,    44,    42,    92,    91,   120,    93,
+      60,    62,   123,   125,    99
 };
 # endif
 
 /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
 static const yytype_uint16 yyr1[] =
 {
-       0,   176,   177,   177,   177,   177,   177,   177,   177,   177,
-     177,   178,   178,   178,   178,   178,   178,   179,   179,   179,
+       0,   175,   176,   176,   176,   176,   176,   176,   176,   176,
+     176,   177,   177,   177,   177,   177,   177,   178,   178,   178,
+     178,   178,   178,   178,   178,   178,   178,   178,   178,   179,
      179,   179,   179,   179,   179,   179,   179,   179,   179,   180,
-     180,   180,   180,   180,   180,   180,   180,   180,   180,   181,
-     181,   181,   181,   181,   181,   181,   181,   181,   181,   181,
-     181,   181,   181,   181,   181,   182,   182,   182,   183,   183,
-     184,   184,   185,   185,   186,   187,   187,   188,   188,   189,
-     190,   190,   190,   190,   190,   190,   191,   191,   191,   192,
-     192,   192,   192,   193,   193,   193,   194,   194,   194,   194,
-     194,   195,   195,   195,   196,   196,   196,   196,   196,   196,
-     196,   197,   197,   197,   197,   197,   197,   197,   197,   197,
-     197,   197,   198,   198,   199,   199,   199,   199,   200,   200,
-     201,   201,   201,   201,   201,   201,   201,   201,   201,   201,
-     201,   201,   202,   202,   203,   203,   204,   204,   205,   205,
-     206,   207,   207,   208,   208,   209,   209,   210,   210,   210,
-     210,   210,   210,   210,   211,   211,   211,   211,   211,   211,
-     211,   211,   211,   211,   211,   211,   211,   212,   213,   213,
-     214,   214,   215,   215,   215,   215,   216,   216,   217,   217,
+     180,   180,   180,   180,   180,   180,   180,   180,   180,   180,
+     180,   180,   180,   180,   180,   181,   181,   181,   182,   182,
+     183,   183,   184,   184,   185,   186,   186,   187,   187,   188,
+     189,   189,   189,   189,   189,   189,   190,   190,   190,   191,
+     191,   191,   191,   192,   192,   192,   193,   193,   193,   193,
+     193,   194,   194,   194,   195,   195,   195,   195,   195,   195,
+     195,   196,   196,   196,   196,   196,   196,   196,   196,   196,
+     196,   197,   197,   198,   198,   198,   198,   199,   199,   200,
+     200,   200,   200,   200,   200,   200,   200,   200,   200,   200,
+     200,   201,   201,   202,   202,   203,   203,   204,   204,   205,
+     206,   206,   207,   207,   208,   208,   209,   209,   209,   209,
+     209,   209,   209,   210,   210,   210,   210,   210,   210,   210,
+     210,   210,   210,   210,   210,   210,   211,   212,   212,   213,
+     213,   214,   214,   214,   214,   215,   215,   216,   216,   216,
+     216,   216,   216,   216,   216,   216,   216,   216,   216,   216,
+     216,   216,   216,   216,   216,   216,   216,   217,   217,   217,
      217,   217,   217,   217,   217,   217,   217,   217,   217,   217,
-     217,   217,   217,   217,   217,   217,   217,   217,   218,   218,
-     218,   218,   218,   218,   218,   218,   218,   218,   218,   218,
-     218,   218,   219,   219,   220,   220,   221,   221,   222,   222,
-     223,   223,   224,   224,   226,   225,   227,   225,   225,   225,
-     225,   228,   225,   229,   225,   230,   225,   225,   225,   225,
-     231,   232,   232,   233,   234,   234,   234,   235,   235,   236,
-     236,   236,   236,   237,   238,   238,   239,   240,   240,   241,
-     242,   243,   243,   244,   244,   244,   244,   244,   244,   244,
-     244,   244,   244,   244,   244,   244,   244,   244,   244,   244,
-     244,   244,   244,   245,   245,   245,   245,   246,   246,   247,
-     248,   248,   249,   249,   250,   250,   251,   251,   251,   252,
-     252,   252,   252,   252,   252,   252,   252,   252,   253,   253,
-     254,   254,   255,   255,   256,   256,   256,   256,   256,   257,
-     257,   258,   258,   259,   259,   260,   260,   260,   260,   260,
-     260,   260,   260,   260,   260,   260,   260,   260,   260,   260,
-     261,   261,   262,   262,   262,   262,   262,   262,   262,   262,
-     262,   262,   262
+     217,   218,   218,   219,   219,   220,   220,   221,   221,   222,
+     222,   223,   223,   225,   224,   226,   224,   224,   224,   224,
+     227,   224,   228,   224,   229,   224,   224,   224,   224,   230,
+     231,   231,   232,   233,   233,   233,   234,   234,   235,   235,
+     235,   235,   236,   237,   237,   238,   239,   239,   240,   241,
+     242,   242,   243,   243,   243,   243,   243,   243,   243,   243,
+     243,   243,   243,   243,   243,   243,   243,   243,   243,   243,
+     243,   243,   244,   244,   244,   244,   245,   245,   246,   247,
+     247,   248,   248,   249,   249,   250,   250,   250,   251,   251,
+     251,   251,   251,   251,   251,   251,   251,   252,   252,   253,
+     253,   254,   254,   255,   255,   255,   255,   255,   256,   256,
+     257,   257,   258,   258,   259,   259,   259,   259,   259,   259,
+     259,   259,   259,   259,   259,   259,   259,   259,   259,   260,
+     260,   261,   261,   261,   261,   261,   261,   261,   261,   261,
+     261,   261
 };
 
 /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */
@@ -2075,31 +2072,31 @@
        1,     1,     1,     0,     1,     1,     0,     1,     1,     1,
        1,     0,     1,     1,     0,     1,     1,     1,     1,     1,
        2,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-       1,     2,     0,     2,     1,     1,     1,     1,     0,     2,
+       2,     0,     2,     1,     1,     1,     1,     0,     2,     1,
        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-       1,     1,     0,     2,     0,     2,     0,     2,     0,     3,
-       2,     0,     1,     0,     3,     1,     2,     1,     1,     1,
-       1,     1,     1,     1,     1,     1,     3,     1,     2,     5,
-       5,     5,     5,     3,     2,     5,     4,     2,     1,     1,
-       1,     3,     1,     3,     1,     0,     1,     3,     4,     3,
-       3,     4,     4,     3,     6,     5,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     6,     5,
-       8,     6,     6,     7,     7,     7,     7,     6,     8,     8,
-       5,     7,     3,     1,     1,     1,     1,     0,     2,     6,
-       1,     0,     1,     2,     0,     3,     0,     3,     3,     3,
-       3,     0,     8,     0,     9,     0,     9,     5,     2,     3,
-       1,     3,     3,     3,     3,     1,     0,     5,     3,     1,
-       3,     1,     0,    11,     1,     1,     4,     1,     1,     2,
-       3,     0,     1,     1,     1,     1,     1,     1,     1,     1,
-       1,     1,     1,     3,     3,     2,     2,     3,     2,     5,
-       4,     1,     5,     1,     1,     1,     1,     1,     1,     2,
-       1,     3,     2,     2,     3,     3,     2,     0,     1,     2,
-       2,     3,     9,     9,     8,    15,     1,     1,     6,     5,
-       2,     2,     6,     7,     4,     4,     6,     6,     0,     0,
-       3,     2,     3,     2,     1,     5,     5,     6,     6,     6,
-       6,     4,     6,     4,     4,     6,     6,     2,     9,     1,
-       1,     0,     3,     6,     3,     6,     2,     5,     7,     5,
-       4,     4,     7
+       1,     0,     2,     0,     2,     0,     2,     0,     3,     2,
+       0,     1,     0,     3,     1,     2,     1,     1,     1,     1,
+       1,     1,     1,     1,     1,     3,     1,     2,     5,     5,
+       5,     5,     3,     2,     5,     4,     2,     1,     1,     1,
+       3,     1,     3,     1,     0,     1,     3,     4,     3,     3,
+       4,     4,     3,     6,     5,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     6,     5,     8,
+       6,     6,     7,     7,     7,     7,     6,     8,     8,     5,
+       7,     3,     1,     1,     1,     1,     0,     2,     6,     1,
+       0,     1,     2,     0,     3,     0,     3,     3,     3,     3,
+       0,     8,     0,     9,     0,     9,     5,     2,     3,     1,
+       3,     3,     3,     3,     1,     0,     5,     3,     1,     3,
+       1,     0,    11,     1,     1,     4,     1,     1,     2,     3,
+       0,     1,     1,     1,     1,     1,     1,     1,     1,     1,
+       1,     1,     3,     3,     2,     2,     3,     2,     5,     4,
+       1,     5,     1,     1,     1,     1,     1,     1,     2,     1,
+       3,     2,     2,     3,     3,     2,     0,     1,     2,     2,
+       3,     9,     9,     8,    15,     1,     1,     6,     5,     2,
+       2,     6,     7,     4,     4,     6,     6,     0,     0,     3,
+       2,     3,     2,     1,     5,     5,     6,     6,     6,     6,
+       4,     6,     4,     4,     6,     6,     2,     9,     1,     1,
+       0,     3,     6,     3,     6,     2,     5,     7,     5,     4,
+       4,     7
 };
 
 /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
@@ -2107,314 +2104,310 @@
    means the default is an error.  */
 static const yytype_uint16 yydefact[] =
 {
-      68,    55,    65,    56,    66,    57,   226,   224,     0,     0,
-       0,     0,     0,     0,    79,    67,     0,    68,   222,    83,
-      86,     0,     0,   238,     0,     0,    62,     0,    69,    70,
+      68,    55,    65,    56,    66,    57,   225,   223,     0,     0,
+       0,     0,     0,     0,    79,    67,     0,    68,   221,    83,
+      86,     0,     0,   237,     0,     0,    62,     0,    69,    70,
       72,    71,    73,    76,    74,    77,    75,    78,    80,    81,
-      82,    79,    79,   217,     1,   223,    84,    85,    79,   227,
-      87,    88,    89,    90,    79,   297,   225,   297,     0,     0,
-     246,   239,   240,   228,   283,   284,   230,   147,   148,   149,
-     152,   151,   150,   153,   154,     0,     0,     0,     0,   285,
-     286,   155,   229,   157,   217,   217,    91,   216,     0,    94,
-      94,   298,   293,    63,   257,   258,   259,   292,   241,   242,
-     245,     0,   175,   158,     0,     0,     0,     0,   164,   176,
-       0,     0,   175,     0,     0,     0,    93,    92,     0,   214,
-     215,     0,     0,    95,    96,    97,    98,    99,   118,   260,
-       0,     0,   341,   341,   296,     0,   243,   174,   112,   170,
-     172,     0,     0,     0,     0,     0,     0,   163,     0,     0,
-     156,     0,     0,   169,     0,   168,     0,   237,    61,    61,
-     100,     0,   254,   255,   256,    64,   340,   324,     0,     0,
-       0,     0,    94,   306,   307,     2,     3,     4,     5,     6,
+      82,    79,    79,   216,     1,   222,    84,    85,    79,   226,
+      87,    88,    89,    90,    79,   296,   224,   296,     0,     0,
+     245,   238,   239,   227,   282,   283,   229,   146,   147,   148,
+     151,   150,   149,   152,   153,     0,     0,     0,     0,   284,
+     285,   154,   228,   156,   216,   216,    91,   215,     0,    94,
+      94,   297,   292,    63,   256,   257,   258,   291,   240,   241,
+     244,     0,   174,   157,     0,     0,     0,     0,   163,   175,
+       0,     0,   174,     0,     0,     0,    93,    92,     0,   213,
+     214,     0,     0,    95,    96,    97,    98,    99,   117,   259,
+       0,     0,   340,   340,   295,     0,   242,   173,   111,   169,
+     171,     0,     0,     0,     0,     0,     0,   162,     0,     0,
+     155,     0,     0,   168,     0,   167,     0,   236,    61,    61,
+     100,     0,   253,   254,   255,    64,   339,   323,     0,     0,
+       0,     0,    94,   305,   306,     2,     3,     4,     5,     6,
        7,     8,     9,    10,    14,    15,    16,    11,    12,    13,
        0,     0,     0,     0,     0,     0,     0,     0,    17,    18,
       19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,   294,    94,   310,     0,   339,   295,   311,   244,
-     167,     0,   132,    61,    61,   166,     0,   177,     0,   132,
-      61,    61,     0,   218,   191,   193,   192,   194,   197,   190,
-     195,   196,   186,   187,     0,     0,     0,     0,     0,     0,
+       0,     0,   293,    94,   309,     0,   338,   294,   310,   243,
+     166,     0,   131,    61,    61,   165,     0,   176,     0,   131,
+      61,    61,     0,   217,   190,   192,   191,   193,   196,   189,
+     194,   195,   185,   186,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,   189,   188,   231,   116,   115,   114,   117,   119,
-       0,   323,   300,    61,   290,   299,     0,     0,     0,   118,
+       0,     0,   188,   187,   230,   115,   114,   113,   116,   118,
+       0,   322,   299,    61,   289,   298,     0,     0,     0,   117,
       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
        0,    53,    54,    49,    50,    51,    52,    39,    40,    41,
       42,    43,    44,    45,    46,    47,    48,     0,     0,     0,
-     138,   138,   346,    61,    61,   337,     0,     0,     0,     0,
-       0,    61,    61,    61,    61,    61,     0,   118,     0,     0,
+     137,   137,   345,    61,    61,   336,     0,     0,     0,     0,
+       0,    61,    61,    61,    61,    61,     0,   117,     0,     0,
        0,   102,   104,   103,   101,   105,   106,   107,   108,   109,
-     110,   113,   173,   171,   160,   161,   162,   165,    60,   159,
-     233,   235,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,   179,   213,     0,     0,     0,   183,
-       0,   180,     0,     0,     0,   143,     0,   263,   264,   265,
-     266,   267,   272,   268,   269,   270,   271,   261,     0,     0,
-       0,     0,   281,   288,   287,   289,     0,     0,   301,     0,
-       0,    61,    61,    61,    61,     0,   342,     0,   344,   319,
+     112,   172,   170,   159,   160,   161,   164,    60,   158,   232,
+     234,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,   178,   212,     0,     0,     0,   182,     0,
+     179,     0,     0,     0,   142,     0,   262,   263,   264,   265,
+     266,   271,   267,   268,   269,   270,   260,     0,     0,     0,
+       0,   280,   287,   286,   288,     0,     0,   300,     0,     0,
+      61,    61,    61,    61,     0,   341,     0,   343,   318,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,    61,     0,   111,   124,   123,   120,
-     122,   121,   125,   126,   129,   127,   128,   130,   131,   133,
-     143,   143,     0,     0,     0,     0,     0,   319,     0,     0,
-       0,     0,     0,     0,     0,   178,   164,   176,     0,   181,
-     182,     0,     0,     0,     0,   232,   252,   262,     0,   275,
-       0,     0,     0,   278,     0,   276,   291,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,   350,     0,     0,
-       0,   333,   334,     0,     0,     0,     0,   351,     0,     0,
-       0,   331,     0,   138,     0,   234,   236,    61,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,   212,
-     185,     0,     0,     0,     0,     0,     0,   145,   143,   251,
-     112,   249,     0,     0,   274,   164,     0,   273,   277,     0,
-       0,     0,     0,     0,     0,     0,   138,   139,   138,     0,
-       0,     0,     0,     0,     0,   349,   321,     0,    61,   325,
-     326,     0,     0,   347,    61,   219,     0,     0,     0,     0,
-     199,     0,     0,     0,     0,   210,     0,   184,     0,     0,
-      61,   140,   146,   144,    59,     0,   132,     0,   280,     0,
-       0,     0,   318,   327,   328,   329,   330,   343,   345,   320,
-       0,     0,   332,   335,   336,   322,     0,   318,   138,     0,
-       0,     0,     0,     0,   207,     0,     0,     0,   201,   202,
-     198,    58,   248,   250,   112,   141,   282,   279,     0,     0,
-     112,   112,     0,   312,     0,   352,     0,   348,   203,   204,
-     205,   206,     0,     0,     0,   211,    59,   142,   136,     0,
-       0,   304,     0,     0,     0,   132,     0,   313,   132,   200,
-     208,   209,   247,     0,   134,   302,     0,     0,   303,   102,
-     104,   112,   112,     0,   112,   112,   338,   137,     0,   253,
-       0,     0,   315,   314,     0,     0,     0,   135,     0,     0,
-       0,   112,   112,   309,     0,     0,   317,   316,   308,     0,
-       0,   305
+       0,     0,     0,    61,     0,   110,   123,   122,   119,   121,
+     120,   124,   125,   128,   126,   127,   129,   130,   132,   142,
+     142,     0,     0,     0,     0,     0,   318,     0,     0,     0,
+       0,     0,     0,     0,   177,   163,   175,     0,   180,   181,
+       0,     0,     0,     0,   231,   251,   261,     0,   274,     0,
+       0,     0,   277,     0,   275,   290,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,   349,     0,     0,     0,
+     332,   333,     0,     0,     0,     0,   350,     0,     0,     0,
+     330,     0,   137,     0,   233,   235,    61,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,   211,   184,
+       0,     0,     0,     0,     0,     0,   144,   142,   250,   111,
+     248,     0,     0,   273,   163,     0,   272,   276,     0,     0,
+       0,     0,     0,     0,     0,   137,   138,   137,     0,     0,
+       0,     0,     0,     0,   348,   320,     0,    61,   324,   325,
+       0,     0,   346,    61,   218,     0,     0,     0,     0,   198,
+       0,     0,     0,     0,   209,     0,   183,     0,     0,    61,
+     139,   145,   143,    59,     0,   131,     0,   279,     0,     0,
+       0,   317,   326,   327,   328,   329,   342,   344,   319,     0,
+       0,   331,   334,   335,   321,     0,   317,   137,     0,     0,
+       0,     0,     0,   206,     0,     0,     0,   200,   201,   197,
+      58,   247,   249,   111,   140,   281,   278,     0,     0,   111,
+     111,     0,   311,     0,   351,     0,   347,   202,   203,   204,
+     205,     0,     0,     0,   210,    59,   141,   135,     0,     0,
+     303,     0,     0,     0,   131,     0,   312,   131,   199,   207,
+     208,   246,     0,   133,   301,     0,     0,   302,   102,   104,
+     111,   111,     0,   111,   111,   337,   136,     0,   252,     0,
+       0,   314,   313,     0,     0,     0,   134,     0,     0,     0,
+     111,   111,   308,     0,     0,   316,   315,   307,     0,     0,
+     304
 };
 
 /* YYDEFGOTO[NTERM-NUM].  */
 static const yytype_int16 yydefgoto[] =
 {
-      -1,   269,   270,   271,   300,   317,    79,   632,   113,    12,
+      -1,   269,   270,   271,   300,   317,    79,   631,   113,    12,
      133,    80,    14,    15,    41,    42,    43,    48,    54,   118,
-     128,   351,   230,   279,   161,   449,   354,   689,   674,   416,
-     537,   658,   475,   538,    81,   158,   139,   156,   140,   141,
-     110,   375,   402,   376,   121,    88,   157,    16,    17,    18,
-      20,    19,   385,   450,   451,    63,    23,    61,   101,   541,
-     542,   129,   164,    55,    96,    56,    49,   478,   403,    83,
-     405,   284,   285,    57,    92,    93,   222,   662,   134,   325,
-     642,   497,   507,   223,   224,   225,   226
+     128,   350,   230,   279,   161,   448,   353,   688,   673,   415,
+     536,   657,   474,   537,    81,   158,   139,   156,   140,   141,
+     110,   374,   401,   375,   121,    88,   157,    16,    17,    18,
+      20,    19,   384,   449,   450,    63,    23,    61,   101,   540,
+     541,   129,   164,    55,    96,    56,    49,   477,   402,    83,
+     404,   284,   285,    57,    92,    93,   222,   661,   134,   325,
+     641,   496,   506,   223,   224,   225,   226
 };
 
 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
    STATE-NUM.  */
-#define YYPACT_NINF -611
+#define YYPACT_NINF -619
 static const yytype_int16 yypact[] =
 {
-     828,  -611,  -611,  -611,  -611,  -611,  -611,  -611,    -5,   -90,
-      68,   -25,   113,   -20,    -9,  -611,   153,  1107,  -611,   173,
-      15,    36,    48,  -611,    -3,   196,  -611,  1950,  -611,  -611,
-    -611,  -611,  -611,  -611,  -611,  -611,  -611,  -611,  -611,  -611,
-    -611,   137,   137,   190,  -611,  -611,  -611,  -611,   137,  -611,
-    -611,  -611,  -611,  -611,   137,   203,  -611,     3,   212,   215,
-     229,  -611,  -611,  -611,  -611,  -611,    83,  -611,  -611,  -611,
-    -611,  -611,  -611,  -611,  -611,   252,   268,     7,    87,  -611,
-    -611,  -611,    73,  -611,   238,   238,   186,  -611,    22,   200,
-     200,  -611,  -611,    42,  -611,  -611,  -611,  -611,  -611,  -611,
-    -611,     8,  1765,  -611,   110,   121,   573,    83,  -611,    73,
-    -114,   138,  1765,   142,    22,    22,  -611,  -611,  1368,  -611,
-    -611,  1991,   298,  -611,  -611,  -611,  -611,  -611,  -611,  -611,
-     -16,   168,  2181,  2181,  -611,   311,  -611,  -611,    73,  -611,
-     169,   174,  1991,  1991,   164,   -95,  1991,  -611,   334,   178,
-    -611,  1991,  1991,    83,   182,    73,   287,  -611,  1319,   293,
-    -611,  1680,  -611,  -611,  -611,  -611,  -611,  -611,   295,  2032,
-     119,   339,   200,  -611,  -611,  -611,  -611,  -611,  -611,  -611,
-    -611,  -611,  -611,  -611,  -611,  -611,  -611,  -611,  -611,  -611,
-     465,   412,   465,   412,  1991,  1991,  1991,  1991,  -611,  -611,
-    -611,  -611,  -611,  -611,  -611,  -611,  -611,  -611,  -611,  -611,
-    1991,  1991,  1991,  1991,  1991,  1991,  1991,  1991,  1991,  1991,
-    1991,  1991,  -611,   200,  -611,   -33,  -611,  -611,  -611,  -611,
-     271,  1818,  -611,    -8,   -39,  -611,   181,    73,   191,  -611,
-     293,    -2,  1368,  -611,  -611,  -611,  -611,  -611,  -611,  -611,
-    -611,  -611,  -611,  -611,   465,   412,   465,   412,   193,   195,
-     199,   201,   202,   205,   206,  1721,  2061,   659,   336,   210,
-     211,   213,  -611,  -611,  -611,  -611,  -611,  -611,  -611,  -611,
-     187,  -611,    83,   973,  -611,   197,  1492,  1492,  1492,  -611,
-    -611,  -611,  -611,  -611,  -611,  -611,  -611,  -611,  -611,  -611,
-    1991,  -611,  -611,  -611,  -611,  -611,  -611,  -611,  -611,  -611,
-    -611,  -611,  -611,  -611,  -611,  -611,  -611,  1991,  1991,  1991,
-       1,    17,  -611,   973,   -30,   214,   216,   218,   220,   221,
-     224,   973,   973,   973,   973,   973,   322,  -611,  1991,  1991,
-     361,  -611,  -611,  -611,  -611,  -611,  -611,  -611,  -611,  -611,
-    -611,  -611,  -611,  -611,   657,  -611,  -611,  -611,  -611,   657,
-    -611,   142,   338,   226,   228,   232,   233,  1991,  1991,  1991,
-    1991,  1991,  1991,  1991,  -611,  -611,    41,   743,    32,  -611,
-     -83,  -611,  1991,  1991,  1991,   236,   240,  -611,  -611,  -611,
-    -611,  -611,  -611,  -611,  -611,  -611,  -611,   313,  1859,  2117,
-    1023,   355,  -611,  -611,  -611,  -611,  1991,   243,  -611,   245,
-    1680,   973,   973,   973,   973,    33,  -611,    35,  -611,  -611,
-    1492,   235,  1991,  1991,  1991,  1991,  1991,   256,   257,   258,
-     265,   267,  1991,  1680,   973,   269,  -611,  -611,  -611,  -611,
-    -611,  -611,  -611,  -611,  -611,  -611,  -611,  -611,  -611,  -611,
-     236,   236,  1991,  1991,  1991,  1991,  1991,  -611,   270,   272,
-     275,   276,   257,   284,  1991,  -611,   219,  1146,   -69,  -611,
-    -611,   286,   288,   340,    11,  -611,  1891,  -611,   383,  -611,
-      44,  1195,    43,  -611,   -53,  -611,  -611,   400,   416,  1492,
-     289,   291,   296,   297,  1492,   432,  1492,   301,   306,  1492,
-     307,    73,  -611,   308,   309,   448,   456,   312,  1991,  1492,
-    1492,    73,  1492,   314,  1991,  -611,  -611,   -14,   315,   316,
-     319,   320,    78,  1991,  1991,  1991,  1991,    94,  1991,  -611,
-    -611,   304,  1991,  1991,  1991,   441,   474,  -611,   236,  -611,
-      73,   321,   324,   329,  -611,   325,   -52,  -611,  -611,  1492,
-    1492,   345,  1492,  1492,  1492,  1492,   314,  -611,   314,  1991,
-    1492,   331,  1991,  1991,  1991,  -611,  -611,   494,   973,  -611,
-    -611,   365,   447,  -611,   973,  -611,  1991,  1991,  1991,  1991,
-    -611,   367,   371,   370,   375,  -611,   257,  -611,   378,   379,
-     126,  -611,  -611,  -611,   198,  1932,  -611,   521,  -611,   372,
-     380,   381,  2158,  -611,  -611,  -611,  -611,  -611,  -611,  -611,
-     377,  1492,  -611,  -611,  -611,  -611,   257,  2158,   314,   385,
-     387,   388,   389,  1991,  -611,  1991,  1991,   122,  -611,  -611,
-    -611,  -611,  -611,  -611,    73,   127,  -611,  -611,   536,     2,
-      74,    73,   136,  -611,   401,   312,   140,  -611,  -611,  -611,
-    -611,  -611,   407,   409,   410,  -611,   198,  -611,   523,  1492,
-    1630,  -611,     4,   816,   816,  -611,  2199,  -611,  -611,  -611,
-    -611,  -611,  -611,   571,   430,  -611,   437,  1630,  -611,   442,
-     443,  -611,  -611,   349,    74,    73,   657,  -611,   584,  -611,
-     592,   449,   271,   271,   595,   816,   816,  -611,  1492,   599,
-    1492,  -611,  -611,  -611,  1492,   544,   271,   271,  -611,   601,
-    1492,  -611
+     790,  -619,  -619,  -619,  -619,  -619,  -619,  -619,    10,   -86,
+      53,   -45,   136,    38,    62,  -619,    49,  1492,  -619,   117,
+     167,    39,    43,  -619,    45,   151,  -619,  1999,  -619,  -619,
+    -619,  -619,  -619,  -619,  -619,  -619,  -619,  -619,  -619,  -619,
+    -619,   -27,   -27,   146,  -619,  -619,  -619,  -619,   -27,  -619,
+    -619,  -619,  -619,  -619,   -27,   197,  -619,     9,   216,   224,
+     228,  -619,  -619,  -619,  -619,  -619,   105,  -619,  -619,  -619,
+    -619,  -619,  -619,  -619,  -619,   266,   269,     2,   481,  -619,
+    -619,  -619,   -37,  -619,   244,   244,   156,  -619,    69,   213,
+     213,  -619,  -619,    40,  -619,  -619,  -619,  -619,  -619,  -619,
+    -619,   -70,  1724,  -619,   118,   119,   550,   105,  -619,   -37,
+    -118,   124,  1724,   125,    69,    69,  -619,  -619,  1768,  -619,
+    -619,  2024,   285,  -619,  -619,  -619,  -619,  -619,  -619,  -619,
+     -16,   131,  2294,  2294,  -619,   273,  -619,  -619,   -37,  -619,
+     132,   135,  2024,  2024,   127,   -83,  2024,  -619,   295,   138,
+    -619,  2024,  2024,   105,   145,   -37,    46,  -619,  1278,   252,
+    -619,  1679,  -619,  -619,  -619,  -619,  -619,  -619,   251,  2065,
+      78,   298,   213,  -619,  -619,  -619,  -619,  -619,  -619,  -619,
+    -619,  -619,  -619,  -619,  -619,  -619,  -619,  -619,  -619,  -619,
+     630,   660,   630,   660,  2024,  2024,  2024,  2024,  -619,  -619,
+    -619,  -619,  -619,  -619,  -619,  -619,  -619,  -619,  -619,  -619,
+    2024,  2024,  2024,  2024,  2024,  2024,  2024,  2024,  2024,  2024,
+    2024,  2024,  -619,   213,  -619,    59,  -619,  -619,  -619,  -619,
+     335,  1817,  -619,   -39,   -42,  -619,   147,   -37,   158,  -619,
+     252,   -10,  1768,  -619,  -619,  -619,  -619,  -619,  -619,  -619,
+    -619,  -619,  -619,  -619,   630,   660,   630,   660,   160,   161,
+     170,   171,   172,   174,   175,  1858,  2124,   984,   312,   176,
+     181,   182,  -619,  -619,  -619,  -619,  -619,  -619,  -619,  -619,
+      64,  -619,   105,   934,  -619,   180,  1450,  1450,  1450,  -619,
+    -619,  -619,  -619,  -619,  -619,  -619,  -619,  -619,  -619,  -619,
+    2024,  -619,  -619,  -619,  -619,  -619,  -619,  -619,  -619,  -619,
+    -619,  -619,  -619,  -619,  -619,  -619,  -619,  2024,  2024,  2024,
+     -24,   -19,  -619,   934,   -40,   183,   184,   187,   188,   189,
+     190,   934,   934,   934,   934,   934,   307,  -619,  2024,  2024,
+     342,  -619,  -619,  -619,  -619,  -619,  -619,  -619,  -619,  -619,
+    -619,  -619,  -619,   557,  -619,  -619,  -619,  -619,   557,  -619,
+     125,   317,   195,   196,   200,   201,  2024,  2024,  2024,  2024,
+    2024,  2024,  2024,  -619,  -619,    -9,  1155,  -120,  -619,   -76,
+    -619,  2024,  2024,  2024,   203,   202,  -619,  -619,  -619,  -619,
+    -619,  -619,  -619,  -619,  -619,  -619,   299,  1899,  2165,  1327,
+     343,  -619,  -619,  -619,  -619,  2024,   204,  -619,   208,  1679,
+     934,   934,   934,   934,    17,  -619,    28,  -619,  -619,  1450,
+     206,  2024,  2024,  2024,  2024,  2024,   210,   211,   212,   214,
+     217,  2024,  1679,   934,   218,  -619,  -619,  -619,  -619,  -619,
+    -619,  -619,  -619,  -619,  -619,  -619,  -619,  -619,  -619,   203,
+     203,  2024,  2024,  2024,  2024,  2024,  -619,   220,   222,   227,
+     229,   211,   230,  2024,  -619,   193,  1106,   -73,  -619,  -619,
+     238,   240,   339,     6,  -619,  1940,  -619,   366,  -619,    -3,
+    1638,   -97,  -619,   -11,  -619,  -619,   375,   390,  1450,   248,
+     250,   255,   256,  1450,   411,  1450,   257,   258,  1450,   259,
+     -37,  -619,   260,   262,   412,   423,   265,  2024,  1450,  1450,
+     -37,  1450,   268,  2024,  -619,  -619,   -23,   270,   271,   272,
+     274,    55,  2024,  2024,  2024,  2024,    66,  2024,  -619,  -619,
+     276,  2024,  2024,  2024,   408,   429,  -619,   203,  -619,   -37,
+     275,   280,   284,  -619,   279,    35,  -619,  -619,  1450,  1450,
+     291,  1450,  1450,  1450,  1450,   268,  -619,   268,  2024,  1450,
+     289,  2024,  2024,  2024,  -619,  -619,   433,   934,  -619,  -619,
+     294,   404,  -619,   934,  -619,  2024,  2024,  2024,  2024,  -619,
+     296,   304,   303,   305,  -619,   211,  -619,   306,   308,   -12,
+    -619,  -619,  -619,   522,  1958,  -619,   449,  -619,   314,   311,
+     319,  2190,  -619,  -619,  -619,  -619,  -619,  -619,  -619,   309,
+    1450,  -619,  -619,  -619,  -619,   211,  2190,   268,   328,   337,
+     344,   351,  2024,  -619,  2024,  2024,    72,  -619,  -619,  -619,
+    -619,  -619,  -619,   -37,   173,  -619,  -619,   497,    -2,   -13,
+     -37,    73,  -619,   346,   265,    87,  -619,  -619,  -619,  -619,
+    -619,   354,   360,   361,  -619,   522,  -619,   470,  1450,  1588,
+    -619,     3,   778,   778,  -619,  2231,  -619,  -619,  -619,  -619,
+    -619,  -619,   521,   374,  -619,   363,  1588,  -619,   367,   368,
+    -619,  -619,   474,   -13,   -37,   557,  -619,   508,  -619,   516,
+     370,   335,   335,   523,   778,   778,  -619,  1450,   525,  1450,
+    -619,  -619,  -619,  1450,   465,   335,   335,  -619,   526,  1450,
+    -619
 };
 
 /* YYPGOTO[NTERM-NUM].  */
 static const yytype_int16 yypgoto[] =
 {
-    -611,   183,   185,   189,  -166,  -110,     0,   -36,  -116,   528,
-    -611,     6,  -611,  -611,  -611,  -611,    27,  -611,  -611,  -611,
-    -145,  -611,  -526,  -611,  -260,  -611,  -237,  -611,  -611,  -314,
-     -13,  -611,  -420,  -611,  -611,   -26,   393,  -157,  -611,   514,
-     522,    75,  -153,  -258,   209,   246,   390,  -611,  -611,   610,
-    -611,  -611,  -611,  -611,  -611,  -611,  -611,  -611,  -611,  -611,
-    -611,   539,  -611,  -611,  -611,  -611,  -611,  -611,  -610,   -85,
-     223,  -193,  -611,  -611,   574,  -611,   497,  -611,  -611,  -611,
-      16,   184,  -452,  -611,   505,  -611,  -611
+    -619,   110,   128,   130,  -158,  -132,     0,  -116,  -126,   452,
+    -619,     8,  -619,  -619,  -619,  -619,    31,  -619,  -619,  -619,
+    -148,  -619,  -436,  -619,  -254,  -619,  -236,  -619,  -619,  -316,
+     -87,  -619,  -393,  -619,  -619,   -26,   318,  -150,  -619,   436,
+     445,  -114,  -156,  -240,   157,   199,   310,  -619,  -619,   536,
+    -619,  -619,  -619,  -619,  -619,  -619,  -619,  -619,  -619,  -619,
+    -619,   466,  -619,  -619,  -619,  -619,  -619,  -619,  -618,  -108,
+     186,  -192,  -619,  -619,   502,  -619,   438,  -619,  -619,  -619,
+     -38,   121,  -451,  -619,   446,  -619,  -619
 };
 
 /* 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 -222
+#define YYTABLE_NINF -221
 static const yytype_int16 yytable[] =
 {
-      11,    82,   359,   322,   280,   272,    13,   418,   378,   380,
-     527,   105,   162,   660,   594,   677,   111,    11,   326,   327,
-     328,   329,   330,    13,    91,   111,   318,   289,   336,   410,
-     515,   516,    94,    29,    30,    31,    32,    33,    34,    35,
-      36,   111,    37,   274,   494,   535,   496,   111,    21,   131,
-     676,   146,   109,   111,   119,   120,   111,    50,    51,    52,
-     147,     1,    53,    22,     3,   536,     5,   691,    84,    85,
-     146,   243,   111,   273,    24,    89,   138,   433,   337,   236,
-     109,    90,   464,   319,   338,   339,   138,   495,   363,   495,
-     365,   470,   155,    11,    64,    65,   464,   107,    67,    68,
-      69,    70,    71,    72,    73,   531,     1,     2,   656,     3,
-       4,     5,   464,   464,   663,   664,   233,   234,   593,   468,
-     237,   548,   599,   112,   360,   361,   241,    25,   111,  -153,
-     286,    27,   112,   356,   627,   155,   287,    74,   420,    26,
-     480,   482,   484,   283,    28,   364,   435,   366,   112,   575,
-      38,    39,    40,    44,   112,   692,   693,   163,   695,   696,
-     112,   535,   355,   112,   645,    60,   415,   -61,   320,   321,
-     283,   323,   661,   135,   678,   706,   707,    95,   136,   112,
-     106,   111,   417,   -61,   324,   283,   283,   283,   283,   283,
-     331,   332,   333,   334,   335,   283,   159,   464,   404,   573,
-      58,   404,   404,   404,   469,   138,   464,     2,   464,   464,
-       4,   465,    59,   486,   544,   547,   155,     1,    62,    46,
-       3,    47,     5,   546,    91,    86,   240,    87,   116,   500,
-     117,   502,   503,   504,    98,   112,  -153,    99,   404,   -61,
-    -153,   580,   607,   559,   608,   102,   404,   404,   404,   404,
-     404,   100,   340,   489,    75,    76,   103,   585,    77,   567,
-      78,   108,   122,   123,   124,   125,   126,   127,   437,   438,
-     439,   440,   104,   441,   411,    87,   512,   442,   443,   142,
-     444,   445,   446,   447,   448,   655,   386,   567,   112,   630,
-     143,   412,   413,   414,    64,    65,    38,    39,    40,   665,
-     148,   666,   160,   668,   647,   666,     1,     2,   150,     3,
-       4,     5,   434,   283,   272,   219,   219,   220,   220,   341,
-     342,   221,   221,   151,   152,   340,   404,   404,   404,   404,
-     114,   115,   165,   229,   231,   404,   235,   232,   238,   343,
-     344,   239,   345,   346,   242,   347,   348,   349,   111,   404,
-     288,   467,   281,   357,   358,   367,   350,   368,   381,   635,
-     432,   369,   406,   370,   371,   436,   609,   372,   373,   612,
-     613,   614,   382,   383,   477,   384,   452,   485,   534,   421,
-     283,   422,   273,   423,   155,   424,   425,   694,   453,   426,
-     454,   530,   341,   342,   455,   456,   283,   501,   283,   283,
-     283,   474,   476,   499,   404,   543,   511,   155,   487,   404,
-     488,   404,   343,   344,   404,   345,   346,   549,   347,   348,
-     349,   505,   506,   508,   404,   404,   517,   404,   683,   350,
-     509,   686,   510,   550,   514,   523,   557,   524,   301,   302,
-     525,   526,   457,   458,   459,   460,   461,   462,   463,   528,
-     540,   532,   565,   533,   552,   467,   553,   471,   472,   473,
-     566,   554,   555,   591,   404,   404,   559,   404,   404,   404,
-     404,   560,   562,   563,   564,   404,   587,   567,   592,   572,
-     576,   577,   568,   404,   578,   579,   595,   596,   574,   404,
-     437,   438,   439,   440,   597,   441,   611,   598,   615,   442,
-     443,   495,   444,   445,   446,   447,   448,   602,   590,   407,
-     408,   409,   303,   304,   305,   306,   307,   308,   309,   310,
-     311,   312,   313,   314,   315,   316,   404,   617,   518,   519,
-     520,   521,   623,   283,   624,   625,   283,   283,   283,   529,
-     626,   628,   629,   636,   637,   638,   419,   643,   648,   639,
-     649,   650,   651,   659,   427,   428,   429,   430,   431,   290,
-     291,   292,   293,   294,   295,   296,   297,   298,   299,   634,
-     669,   667,   670,   671,   404,   687,   641,   673,   404,   404,
-      64,    65,   688,   107,    67,    68,    69,    70,    71,    72,
-      73,   641,     1,     2,   631,     3,     4,     5,   581,   582,
-     583,   584,   690,   586,   -18,   -19,   697,   588,   589,   698,
-     404,   404,   700,   404,   699,   404,   704,   709,   710,   404,
-     672,   132,   657,    74,   353,   404,   149,    45,   145,   130,
-     227,    97,   362,   646,   490,   491,   492,   493,   228,     0,
-     685,   522,     0,   498,     0,     0,     0,     0,     0,     0,
-       0,   619,   620,   621,   622,     0,   631,   513,     0,     0,
-       0,     0,     0,     0,     0,     0,    64,    65,     0,   107,
-      67,    68,    69,    70,    71,    72,    73,     0,     1,     2,
-       0,     3,     4,     5,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,   652,     0,
-     653,   654,     0,     0,     0,     0,     0,     0,     0,    74,
-       0,     0,   551,     0,     0,     0,     0,   556,     0,   558,
-       0,     0,   561,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,   569,   570,     0,   571,     0,     0,     0,     0,
-      75,    76,     0,     0,    77,     0,    78,   144,     0,     0,
-      64,    65,     0,   107,    67,    68,    69,    70,    71,    72,
-      73,     0,     1,     2,     0,     3,     4,     5,     0,     0,
-       0,     0,   600,   601,     0,   603,   604,   605,   606,     0,
-       0,     0,     0,   610,     0,     0,     0,     0,     0,     0,
-       0,   616,     0,    74,     0,     0,     0,   618,   437,   438,
-     439,   440,     0,   441,     0,     0,     0,   442,   443,     0,
-     444,   445,   446,   447,   448,     0,     0,     0,     0,   387,
-     388,   389,   390,    64,    65,   391,    75,    76,  -221,     0,
-      77,     0,    78,   379,   644,     1,     2,     0,     3,     4,
-       5,   392,   393,   394,     0,     0,   -63,     1,     2,     0,
-       3,     4,     5,     0,     0,     0,   395,   396,     6,     7,
+      11,    82,   272,   358,   322,   417,   105,   159,    13,   659,
+     526,   280,   162,   111,   676,   111,   111,    11,   111,   326,
+     327,   328,   329,   330,   289,    13,   377,   379,   493,   336,
+      91,   111,   111,   274,   318,   409,   111,   240,    94,   495,
+     534,   675,  -152,   111,   463,   111,   146,   131,   243,    44,
+     273,   468,   109,    64,    65,   147,   514,   515,   690,     1,
+     535,   319,     3,    21,     5,     1,     2,   463,     3,     4,
+       5,   494,    84,    85,   546,   337,   138,    24,    22,    89,
+     109,   146,   494,   432,     2,    90,   138,     4,   463,   286,
+     236,   463,   155,    11,   135,   287,   362,   469,   364,   136,
+     530,   119,   120,   593,    29,    30,    31,    32,    33,    34,
+      35,    36,    25,    37,   359,   360,   233,   234,    26,   112,
+     237,   112,   112,   363,   112,   365,   241,   419,   -61,   355,
+     354,    38,    39,    40,   626,   155,   467,   112,   112,   574,
+     414,   -61,   112,   283,   592,   416,   -61,   434,  -152,   112,
+     629,   112,  -152,   463,    27,   463,   163,   479,   481,   483,
+     464,   463,   547,    46,   644,    47,   543,   660,   320,   321,
+     283,   323,   677,    62,   106,   403,   338,   339,   403,   403,
+     403,    86,    95,    87,   324,   283,   283,   283,   283,   283,
+     331,   332,   333,   334,   335,   283,   572,   655,   116,   463,
+     117,    28,    58,   662,   663,   138,    59,   534,   598,    50,
+      51,    52,    60,   485,    53,   403,   155,   579,    91,   558,
+      38,    39,    40,   403,   403,   403,   403,   403,   584,   499,
+     566,   501,   502,   503,   654,   664,   566,   665,    98,   606,
+     545,   607,   219,   219,   691,   692,    99,   694,   695,   667,
+     100,   665,   456,   457,   458,   459,   460,   461,   462,   488,
+     220,   220,   221,   221,   705,   706,   102,   470,   471,   472,
+     103,   151,   152,   104,   410,   122,   123,   124,   125,   126,
+     127,    87,   511,   114,   115,   148,   142,   143,   385,   160,
+     150,   411,   412,   413,   165,   229,   231,   232,   235,   238,
+     239,   646,   403,   403,   403,   403,   242,   111,   281,   288,
+     272,   403,   433,   283,   436,   437,   438,   439,   356,   440,
+     357,   366,   367,   441,   442,   403,   443,   444,   445,   446,
+     447,   368,   369,   370,   380,   371,   372,   381,   517,   518,
+     519,   520,   382,   383,   405,   431,   435,   420,   421,   528,
+     466,   422,   423,   424,   425,   451,   452,   453,   273,   634,
+     476,   454,   455,   475,   529,   484,   608,   473,   486,   611,
+     612,   613,   487,   498,   504,   505,   507,   533,   508,   283,
+     403,   509,   513,   155,   522,   403,   523,   403,   542,   340,
+     403,   524,   548,   525,   527,   283,   500,   283,   283,   283,
+     403,   403,   531,   403,   532,   510,   155,   549,   580,   581,
+     582,   583,   551,   585,   552,   556,   564,   587,   588,   553,
+     554,   558,   559,   561,   562,   516,   563,   565,   682,   566,
+     590,   685,   571,   591,   575,   576,   577,   614,   578,   594,
+     403,   403,   595,   403,   403,   403,   403,   586,   596,   539,
+     597,   403,   601,   610,   466,   616,   341,   342,   494,   403,
+     622,   618,   619,   620,   621,   403,   623,   624,   627,   625,
+     628,   635,   406,   407,   408,   637,   343,   344,   642,   345,
+     346,   567,   347,   348,   349,   636,   638,   573,    64,    65,
+     647,   107,    67,    68,    69,    70,    71,    72,    73,   648,
+       1,     2,   403,     3,     4,     5,   649,   589,   651,   418,
+     652,   653,   693,   650,   658,   666,   668,   426,   427,   428,
+     429,   430,   669,   670,   672,   686,   687,   689,   -18,   -19,
+     696,    74,   283,   697,   698,   283,   283,   283,   708,   671,
+     699,     1,   703,   709,     3,   132,     5,   656,   149,   352,
+     403,   145,   361,    45,   403,   403,   130,    64,    65,    97,
+     107,    67,    68,    69,    70,    71,    72,    73,   633,     1,
+       2,   227,     3,     4,     5,   640,   340,   521,   645,   228,
+       0,     0,     0,     0,     0,     0,   403,   403,     0,   403,
+     640,   403,     0,   630,     0,   403,   489,   490,   491,   492,
+      74,   403,     0,     0,     0,   497,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,   436,   437,   438,   439,   512,
+     440,     0,     0,     0,   441,   442,     0,   443,   444,   445,
+     446,   447,     0,     0,     0,     0,     0,     0,     0,   684,
+       0,     0,     0,   341,   342,     0,     0,    75,    76,     0,
+       0,    77,     0,    78,   108,   630,     0,     0,     0,     0,
+       0,     0,     0,   343,   344,     0,   345,   346,     0,   347,
+     348,   349,     0,     0,   550,     0,     0,     0,     0,   555,
+       0,   557,     0,     0,   560,     0,   301,   302,     0,     0,
+       0,     0,     0,     0,   568,   569,     0,   570,   436,   437,
+     438,   439,     0,   440,     0,     0,     0,   441,   442,     0,
+     443,   444,   445,   446,   447,     0,    75,    76,     0,     0,
+      77,     0,    78,   144,   290,   291,   292,   293,   294,   295,
+     296,   297,   298,   299,   599,   600,     0,   602,   603,   604,
+     605,     0,     0,     0,     0,   609,     0,     0,     0,     0,
+       0,     0,     0,   615,     0,     0,     0,     0,     0,   617,
+     303,   304,   305,   306,   307,   308,   309,   310,   311,   312,
+     313,   314,   315,   316,     0,     0,     0,     0,     0,     0,
+       0,   386,   387,   388,   389,    64,    65,   390,     0,     0,
+    -220,     0,     0,     0,     0,     0,   643,     1,     2,     0,
+       3,     4,     5,   391,   392,   393,     0,     0,   -63,     1,
+       2,     0,     3,     4,     5,     0,     0,     0,   394,   395,
+       6,     7,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,   340,     0,     0,     0,     0,   396,     0,     0,
+       0,     0,     8,     0,   674,     0,     9,     0,   680,   681,
+      10,     0,     0,   175,   176,   177,   178,   179,   180,   181,
+     182,   183,   184,   185,   186,   187,   188,   189,   254,   255,
+     256,   257,     0,     0,     0,     0,     0,     0,     0,     0,
+     700,   701,     0,   702,     0,   704,     0,     0,     0,   707,
+       0,     0,     0,     0,     0,   710,     0,   258,   198,   678,
+     679,   201,   202,   203,   204,   205,   206,   207,   208,   209,
+       0,   259,     0,   260,   261,   262,     0,   263,   264,   343,
+     344,     0,   345,   346,     0,   347,   348,   349,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,   386,   387,   388,
+     389,    64,    65,   390,     0,   397,     0,     0,   398,     0,
+     399,     0,   400,     1,     2,     0,     3,     4,     5,   391,
+     392,   393,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,   394,   395,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,   111,
+       0,    64,    65,   396,   107,    67,    68,    69,    70,    71,
+      72,    73,     0,     1,     2,     0,     3,     4,     5,   175,
+     176,   177,   178,   179,   180,   181,   182,   183,   184,   185,
+     186,   187,   188,   189,   254,   255,   256,   257,     0,     0,
+       0,     0,     0,     0,    74,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-     340,     0,     0,     0,     0,   397,     0,     0,     0,     0,
-       8,     0,   675,     0,     9,     0,   681,   682,    10,     0,
-       0,   175,   176,   177,   178,   179,   180,   181,   182,   183,
-     184,   185,   186,   187,   188,   189,   254,   255,   256,   257,
-      75,    76,     0,     0,    77,     0,    78,   466,   701,   702,
-       0,   703,     0,   705,     0,     0,     0,   708,     0,     0,
-       0,     0,     0,   711,     0,   258,   198,   679,   680,   201,
-     202,   203,   204,   205,   206,   207,   208,   209,     0,   259,
-       0,   260,   261,   262,     0,   263,   264,   343,   344,     0,
-     345,   346,     0,   347,   348,   349,     0,     0,     0,     0,
-       0,     0,     0,     0,   350,     0,   387,   388,   389,   390,
-      64,    65,   391,     0,   398,     0,     0,   399,     0,   400,
-       0,   401,     1,     2,     0,     3,     4,     5,   392,   393,
-     394,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,   395,   396,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,   111,     0,
-      64,    65,   397,   107,    67,    68,    69,    70,    71,    72,
-      73,     0,     1,     2,     0,     3,     4,     5,   175,   176,
-     177,   178,   179,   180,   181,   182,   183,   184,   185,   186,
-     187,   188,   189,   254,   255,   256,   257,     0,     0,     0,
-       0,     0,     0,    74,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,   258,   198,   199,   200,   201,   202,   203,
+     204,   205,   206,   207,   208,   209,     0,   259,     0,   260,
+     261,   262,     0,   263,   264,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,   258,   198,   199,   200,   201,   202,   203,   204,
-     205,   206,   207,   208,   209,     0,   259,  -220,   260,   261,
-     262,     0,   263,   264,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,   -63,     1,     2,     0,     3,
-       4,     5,     0,     0,     0,   112,     0,     6,     7,     0,
-       0,   398,     0,     0,   399,     0,   400,     0,   401,   244,
-     245,   246,   247,    64,    65,   248,     0,     0,     0,     8,
-       0,     0,     0,     9,     0,     1,     2,    10,     3,     4,
+       0,     0,     0,     0,     0,   112,     0,     0,     0,     0,
+       0,   397,     0,     0,   398,     0,   399,     0,   400,   244,
+     245,   246,   247,    64,    65,   248,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     1,     2,     0,     3,     4,
        5,   249,   250,   251,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,   252,   253,     0,     0,
-      75,    76,     0,     0,    77,     0,    78,   483,     0,     0,
+      75,    76,     0,     0,    77,     0,    78,   378,     0,     0,
        0,   111,    64,    65,     0,   107,    67,    68,    69,    70,
       71,    72,    73,     0,     1,     2,     0,     3,     4,     5,
        0,   175,   176,   177,   178,   179,   180,   181,   182,   183,
@@ -2425,238 +2418,244 @@
      202,   203,   204,   205,   206,   207,   208,   209,     0,   259,
        0,   260,   261,   262,     0,   263,   264,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,   112,     0,
-       0,     0,   -61,     0,   265,     0,     0,   266,     0,   267,
-       0,   268,   244,   245,   246,   247,    64,    65,   248,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     1,     2,
-       0,     3,     4,     5,   249,   250,   251,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,   252,
-     253,     0,    75,    76,     0,     0,    77,     0,    78,   545,
-       0,     0,     0,     0,   111,    64,    65,     0,   153,    67,
-      68,    69,    70,    71,    72,    73,     0,     1,     2,     0,
-       3,     4,     5,     0,   175,   176,   177,   178,   179,   180,
-     181,   182,   183,   184,   185,   186,   187,   188,   189,   254,
-     255,   256,   257,     0,     0,     0,     0,     0,    74,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,   258,   198,
-     199,   200,   201,   202,   203,   204,   205,   206,   207,   208,
-     209,     0,   259,     0,   260,   261,   262,     0,   263,   264,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,   112,     0,     0,     0,     0,     0,   265,     0,     0,
-     266,     0,   267,   154,   268,   387,   388,   389,   390,    64,
-      65,   391,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     1,     2,     0,     3,     4,     5,   392,   393,   394,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,   395,   396,     0,    75,    76,     0,     0,    77,
-       0,    78,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,   397,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,   175,   176,   177,
-     178,   179,   180,   181,   182,   183,   184,   185,   186,   187,
-     188,   189,   254,   255,   256,   257,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,   112,     0,     0,
+       0,   -61,     0,   265,     0,     0,   266,     0,   267,     0,
+     268,   244,   245,   246,   247,    64,    65,   248,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     1,     2,     0,
+       3,     4,     5,   249,   250,   251,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,   252,   253,
+       0,    75,    76,     0,     0,    77,     0,    78,   465,     0,
+       0,     0,     0,   111,    64,    65,     0,   107,    67,    68,
+      69,    70,    71,    72,    73,     0,     1,     2,     0,     3,
+       4,     5,     0,   175,   176,   177,   178,   179,   180,   181,
+     182,   183,   184,   185,   186,   187,   188,   189,   254,   255,
+     256,   257,     0,     0,     0,     0,     0,    74,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,   258,   198,   199,
+     200,   201,   202,   203,   204,   205,   206,   207,   208,   209,
+       0,   259,     0,   260,   261,   262,     0,   263,   264,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,   258,   198,   199,   200,   201,   202,   203,   204,   205,
-     206,   207,   208,   209,     0,   259,     0,   260,   261,   262,
-       0,   263,   264,   387,   388,   389,   390,     0,     0,   391,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,   112,
+       0,     0,     0,     0,     0,   265,     0,     0,   266,     0,
+     267,     0,   268,   386,   387,   388,   389,    64,    65,   390,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     1,
+       2,     0,     3,     4,     5,   391,   392,   393,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,   392,   393,   394,     0,     0,
-     398,     0,     0,   399,     0,   400,     0,   401,     0,     0,
-     395,   396,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,    64,    65,   397,
-     153,    67,    68,    69,    70,    71,    72,    73,     0,     1,
-       2,     0,     3,     4,     5,   175,   176,   177,   178,   179,
+     394,   395,  -219,    75,    76,     0,     0,    77,     0,    78,
+     482,     0,     0,     0,     0,     0,     0,     0,     0,   396,
+     -63,     1,     2,     0,     3,     4,     5,     0,     0,     0,
+       0,     0,     6,     7,     0,   175,   176,   177,   178,   179,
      180,   181,   182,   183,   184,   185,   186,   187,   188,   189,
-     254,   255,   256,   257,     0,     0,     0,     0,    64,    65,
-      74,   107,    67,    68,    69,    70,    71,    72,    73,     0,
-       1,     2,     0,     3,     4,     5,     0,     0,     0,   258,
+     254,   255,   256,   257,     8,     0,     0,     0,     9,     0,
+       0,     0,    10,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,   258,
      198,   199,   200,   201,   202,   203,   204,   205,   206,   207,
      208,   209,     0,   259,     0,   260,   261,   262,     0,   263,
-     264,    74,    64,    65,     0,   107,    67,    68,    69,    70,
-      71,    72,    73,     0,     1,     2,     0,     3,     4,     5,
-       0,     0,     0,     0,     0,     0,     0,     0,   398,     0,
-       0,   399,     0,   400,   137,   401,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,    74,     0,     0,     0,     0,
-       0,   275,   276,     0,   277,    64,    65,   278,   107,    67,
+     264,   386,   387,   388,   389,     0,     0,   390,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,   391,   392,   393,     0,   397,     0,     0,
+     398,     0,   399,     0,   400,     0,     0,     0,   394,   395,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,    64,    65,   396,   107,    67,
       68,    69,    70,    71,    72,    73,     0,     1,     2,     0,
-       3,     4,     5,     0,     0,     0,     0,    75,    76,     0,
-       0,    77,     0,    78,     0,     0,     0,   352,     0,     0,
-       0,     0,     0,     0,     0,     0,    64,    65,    74,   107,
+       3,     4,     5,   175,   176,   177,   178,   179,   180,   181,
+     182,   183,   184,   185,   186,   187,   188,   189,   254,   255,
+     256,   257,     0,     0,     0,     0,    64,    65,    74,   153,
       67,    68,    69,    70,    71,    72,    73,     0,     1,     2,
-       0,     3,     4,     5,     0,     0,     0,     0,    75,    76,
-       0,   374,    77,     0,    78,     0,     0,     0,    64,    65,
-       0,   107,    67,    68,    69,    70,    71,    72,    73,    74,
-       1,     2,     0,     3,     4,     5,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-     539,     0,    75,    76,     0,     0,    77,     0,    78,    64,
-      65,    74,   107,    67,    68,    69,    70,    71,    72,    73,
-       0,     1,     2,     0,     3,     4,     5,    64,    65,     0,
-      66,    67,    68,    69,    70,    71,    72,    73,     0,     1,
-       2,   633,     3,     4,     5,     0,     0,     0,     0,     0,
-       0,     0,    74,     0,     0,    75,    76,     0,     0,    77,
-       0,    78,     0,     0,     0,     0,     0,     0,    64,    65,
-      74,   107,    67,    68,    69,    70,    71,    72,    73,     0,
-       1,     2,     0,     3,     4,     5,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,    75,    76,     0,   479,
-      77,     0,    78,     0,     0,     0,     0,     0,     0,    64,
-      65,    74,   282,    67,    68,    69,    70,    71,    72,    73,
-       0,     1,     2,     0,     3,     4,     5,     0,    75,    76,
-       0,     0,    77,     0,    78,     0,     0,     0,    64,    65,
-       0,   107,    67,    68,    69,    70,    71,    72,    73,     0,
-       1,     2,    74,     3,     4,     5,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,    75,
-      76,     0,     0,    77,     0,    78,     0,     0,     0,     0,
-       0,    74,     0,     0,     0,     0,     0,    75,    76,     0,
-       0,    77,     0,    78,    64,    65,     0,   107,    67,    68,
+       0,     3,     4,     5,     0,     0,     0,   258,   198,   199,
+     200,   201,   202,   203,   204,   205,   206,   207,   208,   209,
+       0,   259,     0,   260,   261,   262,     0,   263,   264,    74,
+       0,    64,    65,     0,   107,    67,    68,    69,    70,    71,
+      72,    73,     0,     1,     2,     0,     3,     4,     5,     0,
+       0,     0,     0,     0,     0,   397,     0,     0,   398,     0,
+     399,     0,   400,   137,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,    74,    64,    65,     0,   153,    67,
+      68,    69,    70,    71,    72,    73,     0,     1,     2,     0,
+       3,     4,     5,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,    75,    76,     0,     0,    77,     0,
+      78,   544,     0,     0,     0,     0,     0,     0,    74,     0,
+     275,   276,     0,   277,    64,    65,   278,   107,    67,    68,
       69,    70,    71,    72,    73,     0,     1,     2,     0,     3,
-       4,     5,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,    75,    76,
-       0,     0,    77,     0,    78,    64,    65,    74,   107,    67,
-      68,    69,    70,    71,    72,   640,     0,     1,     2,     0,
+       4,     5,     0,     0,     0,    75,    76,     0,     0,    77,
+       0,    78,     0,     0,     0,     0,   351,     0,     0,     0,
+       0,     0,     0,     0,     0,    64,    65,    74,   107,    67,
+      68,    69,    70,    71,    72,    73,     0,     1,     2,     0,
        3,     4,     5,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,    75,
-      76,     0,     0,    77,     0,    78,    64,    65,    74,   107,
-      67,    68,    69,    70,    71,    72,   684,   166,     1,     2,
-       0,     3,     4,     5,     0,     0,     0,     0,    75,    76,
-       0,     0,    77,     0,   377,     0,     0,     0,   167,   168,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,    74,
-     169,   170,   171,   172,   173,   174,   175,   176,   177,   178,
-     179,   180,   181,   182,   183,   184,   185,   186,   187,   188,
-     189,   190,   191,   192,   193,     0,     0,     0,     0,     0,
+      75,    76,     0,   154,    77,     0,    78,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,    64,    65,    74,   107,
+      67,    68,    69,    70,    71,    72,    73,     0,     1,     2,
+       0,     3,     4,     5,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,    75,    76,     0,     0,    77,     0,
-     481,     0,     0,     0,     0,   194,   195,   196,     0,     0,
-     197,   198,   199,   200,   201,   202,   203,   204,   205,   206,
-     207,   208,   209,   210,   211,   212,   213,   214,   215,   216,
-     217,   218,     0,     0,     0,    75,    76,     0,     0,    77,
-       0,    78,     0,     0,     0,     0,     0,     0,     0,     0,
+      78,     0,     0,     0,     0,     0,     0,    64,    65,    74,
+     107,    67,    68,    69,    70,    71,    72,    73,     0,     1,
+       2,     0,     3,     4,     5,    64,    65,     0,   107,    67,
+      68,    69,    70,    71,    72,    73,     0,     1,     2,   538,
+       3,     4,     5,    75,    76,     0,     0,    77,     0,    78,
+      74,     0,     0,     0,     0,     0,     0,   632,     0,     0,
+       0,     0,     0,     0,     0,     0,    64,    65,    74,    66,
+      67,    68,    69,    70,    71,    72,    73,     0,     1,     2,
+       0,     3,     4,     5,    75,    76,     0,   373,    77,     0,
+      78,    64,    65,     0,   107,    67,    68,    69,    70,    71,
+      72,    73,     0,     1,     2,     0,     3,     4,     5,    74,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,    75,    76,     0,   478,    77,
+       0,    78,    64,    65,    74,   282,    67,    68,    69,    70,
+      71,    72,    73,     0,     1,     2,     0,     3,     4,     5,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,    75,    76,     0,     0,
-      77,     0,    78
+      77,     0,    78,     0,     0,    74,     0,     0,     0,     0,
+       0,     0,     0,     0,    75,    76,     0,     0,    77,     0,
+      78,    64,    65,     0,   107,    67,    68,    69,    70,    71,
+      72,    73,     0,     1,     2,     0,     3,     4,     5,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,    75,    76,     0,     0,    77,
+       0,    78,    64,    65,    74,   107,    67,    68,    69,    70,
+      71,    72,    73,     0,     1,     2,     0,     3,     4,     5,
+      75,    76,     0,     0,    77,     0,    78,    64,    65,     0,
+     107,    67,    68,    69,    70,    71,    72,   639,     0,     1,
+       2,     0,     3,     4,     5,    74,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,    75,    76,     0,     0,    77,     0,    78,    64,    65,
+      74,   107,    67,    68,    69,    70,    71,    72,   683,     0,
+       1,     2,     0,     3,     4,     5,     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,    74,     0,     0,     0,     0,     0,     0,     0,     0,
+      75,    76,     0,     0,    77,     0,   376,     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,     0,     0,     0,     0,     0,     0,     0,     0,
+     166,    75,    76,     0,     0,    77,     0,   480,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,   167,   168,     0,     0,     0,    75,    76,     0,     0,
+      77,     0,    78,   169,   170,   171,   172,   173,   174,   175,
+     176,   177,   178,   179,   180,   181,   182,   183,   184,   185,
+     186,   187,   188,   189,   190,   191,   192,   193,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,    75,    76,     0,
+       0,    77,     0,    78,     0,     0,     0,     0,   194,   195,
+     196,     0,     0,   197,   198,   199,   200,   201,   202,   203,
+     204,   205,   206,   207,   208,   209,   210,   211,   212,   213,
+     214,   215,   216,   217,   218
 };
 
 static const yytype_int16 yycheck[] =
 {
-       0,    27,   239,   196,   161,   158,     0,   321,   266,   267,
-     462,     4,    28,    11,   540,    11,    55,    17,   211,   212,
-     213,   214,   215,    17,    21,    55,   192,   172,   221,   289,
-     450,   451,    29,    42,    43,    44,    45,    46,    47,    48,
-      49,    55,    51,   159,    11,    34,    11,    55,    53,     7,
-     660,   165,    78,    55,    32,    33,    55,    42,    43,    44,
-     174,    19,    47,    68,    22,    54,    24,   677,    41,    42,
-     165,   156,    55,   158,   164,    48,   102,   337,   223,   174,
-     106,    54,   165,   193,   117,   118,   112,    54,   254,    54,
-     256,   174,   118,    93,     7,     8,   165,    10,    11,    12,
-      13,    14,    15,    16,    17,   174,    19,    20,   634,    22,
-      23,    24,   165,   165,   640,   641,   142,   143,   538,   377,
-     146,   174,   174,   162,   240,   241,   152,    59,    55,    55,
-      11,    18,   162,   172,   586,   161,    17,    50,   168,   164,
-     398,   399,   400,   169,   164,   255,   339,   257,   162,   163,
-     159,   160,   161,     0,   162,   681,   682,   173,   684,   685,
-     162,    34,   170,   162,   616,   168,   165,   166,   194,   195,
-     196,   197,   170,   165,   170,   701,   702,   174,   170,   162,
-     173,    55,   165,   166,   210,   211,   212,   213,   214,   215,
-     216,   217,   218,   219,   220,   221,   121,   165,   283,   513,
-     164,   286,   287,   288,   172,   231,   165,    20,   165,   165,
-      23,   170,   164,   406,   170,   172,   242,    19,    22,    46,
-      22,    48,    24,   481,    21,    35,   151,    37,    42,   422,
-      44,   424,   425,   426,    22,   162,   162,    22,   323,   166,
-     166,   163,   556,   165,   558,   162,   331,   332,   333,   334,
-     335,    22,    54,   410,   167,   168,     4,   163,   171,   165,
-     173,   174,    62,    63,    64,    65,    66,    67,   141,   142,
-     143,   144,     4,   146,   300,    37,   433,   150,   151,   169,
-     153,   154,   155,   156,   157,   163,   280,   165,   162,   163,
-     169,   317,   318,   319,     7,     8,   159,   160,   161,   163,
-     162,   165,     4,   163,   618,   165,    19,    20,   166,    22,
-      23,    24,   338,   339,   467,   132,   133,   132,   133,   121,
-     122,   132,   133,   114,   115,    54,   411,   412,   413,   414,
-      84,    85,   164,    22,   165,   420,   172,   163,     4,   141,
-     142,   163,   144,   145,   162,   147,   148,   149,    55,   434,
-      11,   377,    57,   172,   163,   162,   158,   162,    22,   596,
-      38,   162,   165,   162,   162,     4,   559,   162,   162,   562,
-     563,   564,   162,   162,    61,   162,    38,    22,    38,   165,
-     406,   165,   467,   165,   410,   165,   165,    38,   162,   165,
-     162,   172,   121,   122,   162,   162,   422,   423,   424,   425,
-     426,   165,   162,   168,   489,    22,   432,   433,   165,   494,
-     165,   496,   141,   142,   499,   144,   145,    17,   147,   148,
-     149,   165,   165,   165,   509,   510,   452,   512,   665,   158,
-     165,   668,   165,    17,   165,   165,     4,   165,    26,    27,
-     165,   165,   367,   368,   369,   370,   371,   372,   373,   165,
-     476,   165,     4,   165,   165,   481,   165,   382,   383,   384,
-       4,   165,   165,    22,   549,   550,   165,   552,   553,   554,
-     555,   165,   165,   165,   165,   560,   172,   165,     4,   165,
-     165,   165,   508,   568,   165,   165,   165,   163,   514,   574,
-     141,   142,   143,   144,   165,   146,   165,   172,     4,   150,
-     151,    54,   153,   154,   155,   156,   157,   162,   534,   286,
-     287,   288,   100,   101,   102,   103,   104,   105,   106,   107,
-     108,   109,   110,   111,   112,   113,   611,   162,   453,   454,
-     455,   456,   165,   559,   163,   165,   562,   563,   564,   464,
-     165,   163,   163,    22,   172,   165,   323,   170,   163,   168,
-     163,   163,   163,    17,   331,   332,   333,   334,   335,    94,
-      95,    96,    97,    98,    99,   100,   101,   102,   103,   595,
-     163,   170,   163,   163,   659,     4,   602,    54,   663,   664,
-       7,     8,   152,    10,    11,    12,    13,    14,    15,    16,
-      17,   617,    19,    20,   594,    22,    23,    24,   523,   524,
-     525,   526,   165,   528,   162,   162,    22,   532,   533,    17,
-     695,   696,    17,   698,   165,   700,    17,    73,    17,   704,
-     656,    93,   635,    50,   231,   710,   112,    17,   106,    90,
-     133,    57,   242,   617,   411,   412,   413,   414,   133,    -1,
-     666,   457,    -1,   420,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,   576,   577,   578,   579,    -1,   656,   434,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,     7,     8,    -1,    10,
-      11,    12,    13,    14,    15,    16,    17,    -1,    19,    20,
-      -1,    22,    23,    24,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   623,    -1,
-     625,   626,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    50,
-      -1,    -1,   489,    -1,    -1,    -1,    -1,   494,    -1,   496,
-      -1,    -1,   499,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,   509,   510,    -1,   512,    -1,    -1,    -1,    -1,
-     167,   168,    -1,    -1,   171,    -1,   173,   174,    -1,    -1,
-       7,     8,    -1,    10,    11,    12,    13,    14,    15,    16,
-      17,    -1,    19,    20,    -1,    22,    23,    24,    -1,    -1,
-      -1,    -1,   549,   550,    -1,   552,   553,   554,   555,    -1,
-      -1,    -1,    -1,   560,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,   568,    -1,    50,    -1,    -1,    -1,   574,   141,   142,
+       0,    27,   158,   239,   196,   321,     4,   121,     0,    11,
+     461,   161,    28,    55,    11,    55,    55,    17,    55,   211,
+     212,   213,   214,   215,   172,    17,   266,   267,    11,   221,
+      21,    55,    55,   159,   192,   289,    55,   151,    29,    11,
+      34,   659,    55,    55,   164,    55,   164,     7,   156,     0,
+     158,   171,    78,     7,     8,   173,   449,   450,   676,    19,
+      54,   193,    22,    53,    24,    19,    20,   164,    22,    23,
+      24,    54,    41,    42,   171,   223,   102,   163,    68,    48,
+     106,   164,    54,   337,    20,    54,   112,    23,   164,    11,
+     173,   164,   118,    93,   164,    17,   254,   173,   256,   169,
+     173,    32,    33,   539,    42,    43,    44,    45,    46,    47,
+      48,    49,    59,    51,   240,   241,   142,   143,   163,   161,
+     146,   161,   161,   255,   161,   257,   152,   167,   165,   171,
+     169,   158,   159,   160,   585,   161,   376,   161,   161,   162,
+     164,   165,   161,   169,   537,   164,   165,   339,   161,   161,
+     162,   161,   165,   164,    18,   164,   172,   397,   398,   399,
+     169,   164,   173,    46,   615,    48,   169,   169,   194,   195,
+     196,   197,   169,    22,   172,   283,   117,   118,   286,   287,
+     288,    35,   173,    37,   210,   211,   212,   213,   214,   215,
+     216,   217,   218,   219,   220,   221,   512,   633,    42,   164,
+      44,   163,   163,   639,   640,   231,   163,    34,   173,    42,
+      43,    44,   167,   405,    47,   323,   242,   162,    21,   164,
+     158,   159,   160,   331,   332,   333,   334,   335,   162,   421,
+     164,   423,   424,   425,   162,   162,   164,   164,    22,   555,
+     480,   557,   132,   133,   680,   681,    22,   683,   684,   162,
+      22,   164,   366,   367,   368,   369,   370,   371,   372,   409,
+     132,   133,   132,   133,   700,   701,   161,   381,   382,   383,
+       4,   114,   115,     4,   300,    62,    63,    64,    65,    66,
+      67,    37,   432,    84,    85,   161,   168,   168,   280,     4,
+     165,   317,   318,   319,   163,    22,   164,   162,   171,     4,
+     162,   617,   410,   411,   412,   413,   161,    55,    57,    11,
+     466,   419,   338,   339,   141,   142,   143,   144,   171,   146,
+     162,   161,   161,   150,   151,   433,   153,   154,   155,   156,
+     157,   161,   161,   161,    22,   161,   161,   161,   452,   453,
+     454,   455,   161,   161,   164,    38,     4,   164,   164,   463,
+     376,   164,   164,   164,   164,    38,   161,   161,   466,   595,
+      61,   161,   161,   161,   171,    22,   558,   164,   164,   561,
+     562,   563,   164,   167,   164,   164,   164,    38,   164,   405,
+     488,   164,   164,   409,   164,   493,   164,   495,    22,    54,
+     498,   164,    17,   164,   164,   421,   422,   423,   424,   425,
+     508,   509,   164,   511,   164,   431,   432,    17,   522,   523,
+     524,   525,   164,   527,   164,     4,     4,   531,   532,   164,
+     164,   164,   164,   164,   164,   451,   164,     4,   664,   164,
+      22,   667,   164,     4,   164,   164,   164,     4,   164,   164,
+     548,   549,   162,   551,   552,   553,   554,   171,   164,   475,
+     171,   559,   161,   164,   480,   161,   121,   122,    54,   567,
+     164,   575,   576,   577,   578,   573,   162,   164,   162,   164,
+     162,    22,   286,   287,   288,   164,   141,   142,   169,   144,
+     145,   507,   147,   148,   149,   171,   167,   513,     7,     8,
+     162,    10,    11,    12,    13,    14,    15,    16,    17,   162,
+      19,    20,   610,    22,    23,    24,   162,   533,   622,   323,
+     624,   625,    38,   162,    17,   169,   162,   331,   332,   333,
+     334,   335,   162,   162,    54,     4,   152,   164,   161,   161,
+      22,    50,   558,    17,   164,   561,   562,   563,    73,   655,
+      17,    19,    17,    17,    22,    93,    24,   634,   112,   231,
+     658,   106,   242,    17,   662,   663,    90,     7,     8,    57,
+      10,    11,    12,    13,    14,    15,    16,    17,   594,    19,
+      20,   133,    22,    23,    24,   601,    54,   456,   616,   133,
+      -1,    -1,    -1,    -1,    -1,    -1,   694,   695,    -1,   697,
+     616,   699,    -1,   593,    -1,   703,   410,   411,   412,   413,
+      50,   709,    -1,    -1,    -1,   419,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,   141,   142,   143,   144,   433,
+     146,    -1,    -1,    -1,   150,   151,    -1,   153,   154,   155,
+     156,   157,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   665,
+      -1,    -1,    -1,   121,   122,    -1,    -1,   166,   167,    -1,
+      -1,   170,    -1,   172,   173,   655,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,   141,   142,    -1,   144,   145,    -1,   147,
+     148,   149,    -1,    -1,   488,    -1,    -1,    -1,    -1,   493,
+      -1,   495,    -1,    -1,   498,    -1,    26,    27,    -1,    -1,
+      -1,    -1,    -1,    -1,   508,   509,    -1,   511,   141,   142,
      143,   144,    -1,   146,    -1,    -1,    -1,   150,   151,    -1,
-     153,   154,   155,   156,   157,    -1,    -1,    -1,    -1,     3,
-       4,     5,     6,     7,     8,     9,   167,   168,     0,    -1,
-     171,    -1,   173,   174,   611,    19,    20,    -1,    22,    23,
-      24,    25,    26,    27,    -1,    -1,    18,    19,    20,    -1,
-      22,    23,    24,    -1,    -1,    -1,    40,    41,    30,    31,
+     153,   154,   155,   156,   157,    -1,   166,   167,    -1,    -1,
+     170,    -1,   172,   173,    94,    95,    96,    97,    98,    99,
+     100,   101,   102,   103,   548,   549,    -1,   551,   552,   553,
+     554,    -1,    -1,    -1,    -1,   559,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,   567,    -1,    -1,    -1,    -1,    -1,   573,
+     100,   101,   102,   103,   104,   105,   106,   107,   108,   109,
+     110,   111,   112,   113,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,     3,     4,     5,     6,     7,     8,     9,    -1,    -1,
+       0,    -1,    -1,    -1,    -1,    -1,   610,    19,    20,    -1,
+      22,    23,    24,    25,    26,    27,    -1,    -1,    18,    19,
+      20,    -1,    22,    23,    24,    -1,    -1,    -1,    40,    41,
+      30,    31,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    54,    -1,    -1,    -1,    -1,    59,    -1,    -1,
+      -1,    -1,    52,    -1,   658,    -1,    56,    -1,   662,   663,
+      60,    -1,    -1,    75,    76,    77,    78,    79,    80,    81,
+      82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
+      92,    93,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+     694,   695,    -1,   697,    -1,   699,    -1,    -1,    -1,   703,
+      -1,    -1,    -1,    -1,    -1,   709,    -1,   119,   120,   121,
+     122,   123,   124,   125,   126,   127,   128,   129,   130,   131,
+      -1,   133,    -1,   135,   136,   137,    -1,   139,   140,   141,
+     142,    -1,   144,   145,    -1,   147,   148,   149,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,     3,     4,     5,
+       6,     7,     8,     9,    -1,   167,    -1,    -1,   170,    -1,
+     172,    -1,   174,    19,    20,    -1,    22,    23,    24,    25,
+      26,    27,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    40,    41,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    55,
+      -1,     7,     8,    59,    10,    11,    12,    13,    14,    15,
+      16,    17,    -1,    19,    20,    -1,    22,    23,    24,    75,
+      76,    77,    78,    79,    80,    81,    82,    83,    84,    85,
+      86,    87,    88,    89,    90,    91,    92,    93,    -1,    -1,
+      -1,    -1,    -1,    -1,    50,    -1,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      54,    -1,    -1,    -1,    -1,    59,    -1,    -1,    -1,    -1,
-      52,    -1,   659,    -1,    56,    -1,   663,   664,    60,    -1,
-      -1,    75,    76,    77,    78,    79,    80,    81,    82,    83,
-      84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
-     167,   168,    -1,    -1,   171,    -1,   173,   174,   695,   696,
-      -1,   698,    -1,   700,    -1,    -1,    -1,   704,    -1,    -1,
-      -1,    -1,    -1,   710,    -1,   119,   120,   121,   122,   123,
-     124,   125,   126,   127,   128,   129,   130,   131,    -1,   133,
-      -1,   135,   136,   137,    -1,   139,   140,   141,   142,    -1,
-     144,   145,    -1,   147,   148,   149,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,   158,    -1,     3,     4,     5,     6,
-       7,     8,     9,    -1,   168,    -1,    -1,   171,    -1,   173,
-      -1,   175,    19,    20,    -1,    22,    23,    24,    25,    26,
-      27,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    40,    41,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    55,    -1,
-       7,     8,    59,    10,    11,    12,    13,    14,    15,    16,
-      17,    -1,    19,    20,    -1,    22,    23,    24,    75,    76,
-      77,    78,    79,    80,    81,    82,    83,    84,    85,    86,
-      87,    88,    89,    90,    91,    92,    93,    -1,    -1,    -1,
-      -1,    -1,    -1,    50,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,   119,   120,   121,   122,   123,   124,   125,
+     126,   127,   128,   129,   130,   131,    -1,   133,    -1,   135,
+     136,   137,    -1,   139,   140,    -1,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,   119,   120,   121,   122,   123,   124,   125,   126,
-     127,   128,   129,   130,   131,    -1,   133,     0,   135,   136,
-     137,    -1,   139,   140,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    18,    19,    20,    -1,    22,
-      23,    24,    -1,    -1,    -1,   162,    -1,    30,    31,    -1,
-      -1,   168,    -1,    -1,   171,    -1,   173,    -1,   175,     3,
-       4,     5,     6,     7,     8,     9,    -1,    -1,    -1,    52,
-      -1,    -1,    -1,    56,    -1,    19,    20,    60,    22,    23,
+      -1,    -1,    -1,    -1,    -1,   161,    -1,    -1,    -1,    -1,
+      -1,   167,    -1,    -1,   170,    -1,   172,    -1,   174,     3,
+       4,     5,     6,     7,     8,     9,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    19,    20,    -1,    22,    23,
       24,    25,    26,    27,    -1,    -1,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    40,    41,    -1,    -1,
-     167,   168,    -1,    -1,   171,    -1,   173,   174,    -1,    -1,
+     166,   167,    -1,    -1,   170,    -1,   172,   173,    -1,    -1,
       -1,    55,     7,     8,    -1,    10,    11,    12,    13,    14,
       15,    16,    17,    -1,    19,    20,    -1,    22,    23,    24,
       -1,    75,    76,    77,    78,    79,    80,    81,    82,    83,
@@ -2667,114 +2666,124 @@
      124,   125,   126,   127,   128,   129,   130,   131,    -1,   133,
       -1,   135,   136,   137,    -1,   139,   140,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   162,    -1,
-      -1,    -1,   166,    -1,   168,    -1,    -1,   171,    -1,   173,
-      -1,   175,     3,     4,     5,     6,     7,     8,     9,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    19,    20,
-      -1,    22,    23,    24,    25,    26,    27,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    40,
-      41,    -1,   167,   168,    -1,    -1,   171,    -1,   173,   174,
-      -1,    -1,    -1,    -1,    55,     7,     8,    -1,    10,    11,
-      12,    13,    14,    15,    16,    17,    -1,    19,    20,    -1,
-      22,    23,    24,    -1,    75,    76,    77,    78,    79,    80,
-      81,    82,    83,    84,    85,    86,    87,    88,    89,    90,
-      91,    92,    93,    -1,    -1,    -1,    -1,    -1,    50,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   119,   120,
-     121,   122,   123,   124,   125,   126,   127,   128,   129,   130,
-     131,    -1,   133,    -1,   135,   136,   137,    -1,   139,   140,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,   162,    -1,    -1,    -1,    -1,    -1,   168,    -1,    -1,
-     171,    -1,   173,   125,   175,     3,     4,     5,     6,     7,
-       8,     9,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    19,    20,    -1,    22,    23,    24,    25,    26,    27,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    40,    41,    -1,   167,   168,    -1,    -1,   171,
-      -1,   173,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    59,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    75,    76,    77,
-      78,    79,    80,    81,    82,    83,    84,    85,    86,    87,
-      88,    89,    90,    91,    92,    93,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,   161,    -1,    -1,
+      -1,   165,    -1,   167,    -1,    -1,   170,    -1,   172,    -1,
+     174,     3,     4,     5,     6,     7,     8,     9,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    19,    20,    -1,
+      22,    23,    24,    25,    26,    27,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    40,    41,
+      -1,   166,   167,    -1,    -1,   170,    -1,   172,   173,    -1,
+      -1,    -1,    -1,    55,     7,     8,    -1,    10,    11,    12,
+      13,    14,    15,    16,    17,    -1,    19,    20,    -1,    22,
+      23,    24,    -1,    75,    76,    77,    78,    79,    80,    81,
+      82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
+      92,    93,    -1,    -1,    -1,    -1,    -1,    50,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,   119,   120,   121,
+     122,   123,   124,   125,   126,   127,   128,   129,   130,   131,
+      -1,   133,    -1,   135,   136,   137,    -1,   139,   140,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,   119,   120,   121,   122,   123,   124,   125,   126,   127,
-     128,   129,   130,   131,    -1,   133,    -1,   135,   136,   137,
-      -1,   139,   140,     3,     4,     5,     6,    -1,    -1,     9,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   161,
+      -1,    -1,    -1,    -1,    -1,   167,    -1,    -1,   170,    -1,
+     172,    -1,   174,     3,     4,     5,     6,     7,     8,     9,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    19,
+      20,    -1,    22,    23,    24,    25,    26,    27,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    25,    26,    27,    -1,    -1,
-     168,    -1,    -1,   171,    -1,   173,    -1,   175,    -1,    -1,
-      40,    41,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,     7,     8,    59,
-      10,    11,    12,    13,    14,    15,    16,    17,    -1,    19,
-      20,    -1,    22,    23,    24,    75,    76,    77,    78,    79,
+      40,    41,     0,   166,   167,    -1,    -1,   170,    -1,   172,
+     173,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    59,
+      18,    19,    20,    -1,    22,    23,    24,    -1,    -1,    -1,
+      -1,    -1,    30,    31,    -1,    75,    76,    77,    78,    79,
       80,    81,    82,    83,    84,    85,    86,    87,    88,    89,
-      90,    91,    92,    93,    -1,    -1,    -1,    -1,     7,     8,
-      50,    10,    11,    12,    13,    14,    15,    16,    17,    -1,
-      19,    20,    -1,    22,    23,    24,    -1,    -1,    -1,   119,
+      90,    91,    92,    93,    52,    -1,    -1,    -1,    56,    -1,
+      -1,    -1,    60,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   119,
      120,   121,   122,   123,   124,   125,   126,   127,   128,   129,
      130,   131,    -1,   133,    -1,   135,   136,   137,    -1,   139,
-     140,    50,     7,     8,    -1,    10,    11,    12,    13,    14,
-      15,    16,    17,    -1,    19,    20,    -1,    22,    23,    24,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   168,    -1,
-      -1,   171,    -1,   173,    39,   175,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    50,    -1,    -1,    -1,    -1,
-      -1,   141,   142,    -1,   144,     7,     8,   147,    10,    11,
+     140,     3,     4,     5,     6,    -1,    -1,     9,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    25,    26,    27,    -1,   167,    -1,    -1,
+     170,    -1,   172,    -1,   174,    -1,    -1,    -1,    40,    41,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,     7,     8,    59,    10,    11,
+      12,    13,    14,    15,    16,    17,    -1,    19,    20,    -1,
+      22,    23,    24,    75,    76,    77,    78,    79,    80,    81,
+      82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
+      92,    93,    -1,    -1,    -1,    -1,     7,     8,    50,    10,
+      11,    12,    13,    14,    15,    16,    17,    -1,    19,    20,
+      -1,    22,    23,    24,    -1,    -1,    -1,   119,   120,   121,
+     122,   123,   124,   125,   126,   127,   128,   129,   130,   131,
+      -1,   133,    -1,   135,   136,   137,    -1,   139,   140,    50,
+      -1,     7,     8,    -1,    10,    11,    12,    13,    14,    15,
+      16,    17,    -1,    19,    20,    -1,    22,    23,    24,    -1,
+      -1,    -1,    -1,    -1,    -1,   167,    -1,    -1,   170,    -1,
+     172,    -1,   174,    39,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    50,     7,     8,    -1,    10,    11,
+      12,    13,    14,    15,    16,    17,    -1,    19,    20,    -1,
+      22,    23,    24,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,   166,   167,    -1,    -1,   170,    -1,
+     172,   173,    -1,    -1,    -1,    -1,    -1,    -1,    50,    -1,
+     141,   142,    -1,   144,     7,     8,   147,    10,    11,    12,
+      13,    14,    15,    16,    17,    -1,    19,    20,    -1,    22,
+      23,    24,    -1,    -1,    -1,   166,   167,    -1,    -1,   170,
+      -1,   172,    -1,    -1,    -1,    -1,    39,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,     7,     8,    50,    10,    11,
       12,    13,    14,    15,    16,    17,    -1,    19,    20,    -1,
-      22,    23,    24,    -1,    -1,    -1,    -1,   167,   168,    -1,
-      -1,   171,    -1,   173,    -1,    -1,    -1,    39,    -1,    -1,
+      22,    23,    24,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+     166,   167,    -1,   125,   170,    -1,   172,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,     7,     8,    50,    10,
       11,    12,    13,    14,    15,    16,    17,    -1,    19,    20,
-      -1,    22,    23,    24,    -1,    -1,    -1,    -1,   167,   168,
-      -1,   170,   171,    -1,   173,    -1,    -1,    -1,     7,     8,
-      -1,    10,    11,    12,    13,    14,    15,    16,    17,    50,
-      19,    20,    -1,    22,    23,    24,    -1,    -1,    -1,    -1,
+      -1,    22,    23,    24,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,   166,   167,    -1,    -1,   170,    -1,
+     172,    -1,    -1,    -1,    -1,    -1,    -1,     7,     8,    50,
+      10,    11,    12,    13,    14,    15,    16,    17,    -1,    19,
+      20,    -1,    22,    23,    24,     7,     8,    -1,    10,    11,
+      12,    13,    14,    15,    16,    17,    -1,    19,    20,    39,
+      22,    23,    24,   166,   167,    -1,    -1,   170,    -1,   172,
+      50,    -1,    -1,    -1,    -1,    -1,    -1,    39,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,     7,     8,    50,    10,
+      11,    12,    13,    14,    15,    16,    17,    -1,    19,    20,
+      -1,    22,    23,    24,   166,   167,    -1,   169,   170,    -1,
+     172,     7,     8,    -1,    10,    11,    12,    13,    14,    15,
+      16,    17,    -1,    19,    20,    -1,    22,    23,    24,    50,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,   166,   167,    -1,   169,   170,
+      -1,   172,     7,     8,    50,    10,    11,    12,    13,    14,
+      15,    16,    17,    -1,    19,    20,    -1,    22,    23,    24,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      39,    -1,   167,   168,    -1,    -1,   171,    -1,   173,     7,
-       8,    50,    10,    11,    12,    13,    14,    15,    16,    17,
-      -1,    19,    20,    -1,    22,    23,    24,     7,     8,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,   166,   167,    -1,    -1,
+     170,    -1,   172,    -1,    -1,    50,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,   166,   167,    -1,    -1,   170,    -1,
+     172,     7,     8,    -1,    10,    11,    12,    13,    14,    15,
+      16,    17,    -1,    19,    20,    -1,    22,    23,    24,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,   166,   167,    -1,    -1,   170,
+      -1,   172,     7,     8,    50,    10,    11,    12,    13,    14,
+      15,    16,    17,    -1,    19,    20,    -1,    22,    23,    24,
+     166,   167,    -1,    -1,   170,    -1,   172,     7,     8,    -1,
       10,    11,    12,    13,    14,    15,    16,    17,    -1,    19,
-      20,    39,    22,    23,    24,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    50,    -1,    -1,   167,   168,    -1,    -1,   171,
-      -1,   173,    -1,    -1,    -1,    -1,    -1,    -1,     7,     8,
+      20,    -1,    22,    23,    24,    50,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,   166,   167,    -1,    -1,   170,    -1,   172,     7,     8,
       50,    10,    11,    12,    13,    14,    15,    16,    17,    -1,
       19,    20,    -1,    22,    23,    24,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,   167,   168,    -1,   170,
-     171,    -1,   173,    -1,    -1,    -1,    -1,    -1,    -1,     7,
-       8,    50,    10,    11,    12,    13,    14,    15,    16,    17,
-      -1,    19,    20,    -1,    22,    23,    24,    -1,   167,   168,
-      -1,    -1,   171,    -1,   173,    -1,    -1,    -1,     7,     8,
-      -1,    10,    11,    12,    13,    14,    15,    16,    17,    -1,
-      19,    20,    50,    22,    23,    24,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   167,
-     168,    -1,    -1,   171,    -1,   173,    -1,    -1,    -1,    -1,
-      -1,    50,    -1,    -1,    -1,    -1,    -1,   167,   168,    -1,
-      -1,   171,    -1,   173,     7,     8,    -1,    10,    11,    12,
-      13,    14,    15,    16,    17,    -1,    19,    20,    -1,    22,
-      23,    24,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   167,   168,
-      -1,    -1,   171,    -1,   173,     7,     8,    50,    10,    11,
-      12,    13,    14,    15,    16,    17,    -1,    19,    20,    -1,
-      22,    23,    24,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   167,
-     168,    -1,    -1,   171,    -1,   173,     7,     8,    50,    10,
-      11,    12,    13,    14,    15,    16,    17,    36,    19,    20,
-      -1,    22,    23,    24,    -1,    -1,    -1,    -1,   167,   168,
-      -1,    -1,   171,    -1,   173,    -1,    -1,    -1,    57,    58,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    50,
-      69,    70,    71,    72,    73,    74,    75,    76,    77,    78,
-      79,    80,    81,    82,    83,    84,    85,    86,    87,    88,
-      89,    90,    91,    92,    93,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,   167,   168,    -1,    -1,   171,    -1,
-     173,    -1,    -1,    -1,    -1,   114,   115,   116,    -1,    -1,
-     119,   120,   121,   122,   123,   124,   125,   126,   127,   128,
-     129,   130,   131,   132,   133,   134,   135,   136,   137,   138,
-     139,   140,    -1,    -1,    -1,   167,   168,    -1,    -1,   171,
-      -1,   173,    -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,   167,   168,    -1,    -1,
-     171,    -1,   173
+      -1,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+     166,   167,    -1,    -1,   170,    -1,   172,    -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,
+      36,   166,   167,    -1,    -1,   170,    -1,   172,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    57,    58,    -1,    -1,    -1,   166,   167,    -1,    -1,
+     170,    -1,   172,    69,    70,    71,    72,    73,    74,    75,
+      76,    77,    78,    79,    80,    81,    82,    83,    84,    85,
+      86,    87,    88,    89,    90,    91,    92,    93,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,   166,   167,    -1,
+      -1,   170,    -1,   172,    -1,    -1,    -1,    -1,   114,   115,
+     116,    -1,    -1,   119,   120,   121,   122,   123,   124,   125,
+     126,   127,   128,   129,   130,   131,   132,   133,   134,   135,
+     136,   137,   138,   139,   140
 };
 
 /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
@@ -2782,77 +2791,77 @@
 static const yytype_uint16 yystos[] =
 {
        0,    19,    20,    22,    23,    24,    30,    31,    52,    56,
-      60,   182,   185,   187,   188,   189,   223,   224,   225,   227,
-     226,    53,    68,   232,   164,    59,   164,    18,   164,    42,
-      43,    44,    45,    46,    47,    48,    49,    51,   159,   160,
-     161,   190,   191,   192,     0,   225,    46,    48,   193,   242,
-      42,    43,    44,    47,   194,   239,   241,   249,   164,   164,
-     168,   233,    22,   231,     7,     8,    10,    11,    12,    13,
-      14,    15,    16,    17,    50,   167,   168,   171,   173,   182,
-     187,   210,   211,   245,   192,   192,    35,    37,   221,   192,
-     192,    21,   250,   251,    29,   174,   240,   250,    22,    22,
-      22,   234,   162,     4,     4,     4,   173,    10,   174,   211,
-     216,    55,   162,   184,   221,   221,    42,    44,   195,    32,
-      33,   220,    62,    63,    64,    65,    66,    67,   196,   237,
-     237,     7,   185,   186,   254,   165,   170,    39,   211,   212,
-     214,   215,   169,   169,   174,   216,   165,   174,   162,   215,
-     166,   220,   220,    10,   125,   211,   213,   222,   211,   217,
-       4,   200,    28,   173,   238,   164,    36,    57,    58,    69,
+      60,   181,   184,   186,   187,   188,   222,   223,   224,   226,
+     225,    53,    68,   231,   163,    59,   163,    18,   163,    42,
+      43,    44,    45,    46,    47,    48,    49,    51,   158,   159,
+     160,   189,   190,   191,     0,   224,    46,    48,   192,   241,
+      42,    43,    44,    47,   193,   238,   240,   248,   163,   163,
+     167,   232,    22,   230,     7,     8,    10,    11,    12,    13,
+      14,    15,    16,    17,    50,   166,   167,   170,   172,   181,
+     186,   209,   210,   244,   191,   191,    35,    37,   220,   191,
+     191,    21,   249,   250,    29,   173,   239,   249,    22,    22,
+      22,   233,   161,     4,     4,     4,   172,    10,   173,   210,
+     215,    55,   161,   183,   220,   220,    42,    44,   194,    32,
+      33,   219,    62,    63,    64,    65,    66,    67,   195,   236,
+     236,     7,   184,   185,   253,   164,   169,    39,   210,   211,
+     213,   214,   168,   168,   173,   215,   164,   173,   161,   214,
+     165,   219,   219,    10,   125,   210,   212,   221,   210,   216,
+       4,   199,    28,   172,   237,   163,    36,    57,    58,    69,
       70,    71,    72,    73,    74,    75,    76,    77,    78,    79,
       80,    81,    82,    83,    84,    85,    86,    87,    88,    89,
       90,    91,    92,    93,   114,   115,   116,   119,   120,   121,
      122,   123,   124,   125,   126,   127,   128,   129,   130,   131,
-     132,   133,   134,   135,   136,   137,   138,   139,   140,   177,
-     178,   179,   252,   259,   260,   261,   262,   252,   260,    22,
-     198,   165,   163,   211,   211,   172,   174,   211,     4,   163,
-     217,   211,   162,   245,     3,     4,     5,     6,     9,    25,
+     132,   133,   134,   135,   136,   137,   138,   139,   140,   176,
+     177,   178,   251,   258,   259,   260,   261,   251,   259,    22,
+     197,   164,   162,   210,   210,   171,   173,   210,     4,   162,
+     216,   210,   161,   244,     3,     4,     5,     6,     9,    25,
       26,    27,    40,    41,    90,    91,    92,    93,   119,   133,
-     135,   136,   137,   139,   140,   168,   171,   173,   175,   177,
-     178,   179,   218,   245,   184,   141,   142,   144,   147,   199,
-     213,    57,    10,   211,   247,   248,    11,    17,    11,   196,
+     135,   136,   137,   139,   140,   167,   170,   172,   174,   176,
+     177,   178,   217,   244,   183,   141,   142,   144,   147,   198,
+     212,    57,    10,   210,   246,   247,    11,    17,    11,   195,
       94,    95,    96,    97,    98,    99,   100,   101,   102,   103,
-     180,    26,    27,   100,   101,   102,   103,   104,   105,   106,
-     107,   108,   109,   110,   111,   112,   113,   181,   180,   181,
-     211,   211,   247,   211,   211,   255,   247,   247,   247,   247,
-     247,   211,   211,   211,   211,   211,   247,   196,   117,   118,
+     179,    26,    27,   100,   101,   102,   103,   104,   105,   106,
+     107,   108,   109,   110,   111,   112,   113,   180,   179,   180,
+     210,   210,   246,   210,   210,   254,   246,   246,   246,   246,
+     246,   210,   210,   210,   210,   210,   246,   195,   117,   118,
       54,   121,   122,   141,   142,   144,   145,   147,   148,   149,
-     158,   197,    39,   212,   202,   170,   172,   172,   163,   202,
-     184,   184,   222,   180,   181,   180,   181,   162,   162,   162,
-     162,   162,   162,   162,   170,   217,   219,   173,   219,   174,
-     219,    22,   162,   162,   162,   228,   187,     3,     4,     5,
-       6,     9,    25,    26,    27,    40,    41,    59,   168,   171,
-     173,   175,   218,   244,   245,   246,   165,   246,   246,   246,
-     200,   211,   211,   211,   211,   165,   205,   165,   205,   246,
-     168,   165,   165,   165,   165,   165,   165,   246,   246,   246,
-     246,   246,    38,   200,   211,   247,     4,   141,   142,   143,
-     144,   146,   150,   151,   153,   154,   155,   156,   157,   201,
-     229,   230,    38,   162,   162,   162,   162,   217,   217,   217,
-     217,   217,   217,   217,   165,   170,   174,   211,   219,   172,
-     174,   217,   217,   217,   165,   208,   162,    61,   243,   170,
-     219,   173,   219,   174,   219,    22,   247,   165,   165,   213,
-     246,   246,   246,   246,    11,    54,    11,   257,   246,   168,
-     247,   211,   247,   247,   247,   165,   165,   258,   165,   165,
-     165,   211,   213,   246,   165,   208,   208,   211,   217,   217,
-     217,   217,   257,   165,   165,   165,   165,   258,   165,   217,
-     172,   174,   165,   165,    38,    34,    54,   206,   209,    39,
-     211,   235,   236,    22,   170,   174,   219,   172,   174,    17,
-      17,   246,   165,   165,   165,   165,   246,     4,   246,   165,
-     165,   246,   165,   165,   165,     4,     4,   165,   211,   246,
-     246,   246,   165,   205,   211,   163,   165,   165,   165,   165,
-     163,   217,   217,   217,   217,   163,   217,   172,   217,   217,
-     211,    22,     4,   208,   198,   165,   163,   165,   172,   174,
-     246,   246,   162,   246,   246,   246,   246,   205,   205,   247,
-     246,   165,   247,   247,   247,     4,   246,   162,   246,   217,
-     217,   217,   217,   165,   163,   165,   165,   258,   163,   163,
-     163,   182,   183,    39,   211,   202,    22,   172,   165,   168,
-      17,   211,   256,   170,   246,   258,   256,   205,   163,   163,
-     163,   163,   217,   217,   217,   163,   198,   206,   207,    17,
-      11,   170,   253,   198,   198,   163,   165,   170,   163,   163,
-     163,   163,   183,    54,   204,   246,   244,    11,   170,   121,
-     122,   246,   246,   202,    17,   211,   202,     4,   152,   203,
-     165,   244,   198,   198,    38,   198,   198,    22,    17,   165,
-      17,   246,   246,   246,    17,   246,   198,   198,   246,    73,
-      17,   246
+     196,    39,   211,   201,   169,   171,   171,   162,   201,   183,
+     183,   221,   179,   180,   179,   180,   161,   161,   161,   161,
+     161,   161,   161,   169,   216,   218,   172,   218,   173,   218,
+      22,   161,   161,   161,   227,   186,     3,     4,     5,     6,
+       9,    25,    26,    27,    40,    41,    59,   167,   170,   172,
+     174,   217,   243,   244,   245,   164,   245,   245,   245,   199,
+     210,   210,   210,   210,   164,   204,   164,   204,   245,   167,
+     164,   164,   164,   164,   164,   164,   245,   245,   245,   245,
+     245,    38,   199,   210,   246,     4,   141,   142,   143,   144,
+     146,   150,   151,   153,   154,   155,   156,   157,   200,   228,
+     229,    38,   161,   161,   161,   161,   216,   216,   216,   216,
+     216,   216,   216,   164,   169,   173,   210,   218,   171,   173,
+     216,   216,   216,   164,   207,   161,    61,   242,   169,   218,
+     172,   218,   173,   218,    22,   246,   164,   164,   212,   245,
+     245,   245,   245,    11,    54,    11,   256,   245,   167,   246,
+     210,   246,   246,   246,   164,   164,   257,   164,   164,   164,
+     210,   212,   245,   164,   207,   207,   210,   216,   216,   216,
+     216,   256,   164,   164,   164,   164,   257,   164,   216,   171,
+     173,   164,   164,    38,    34,    54,   205,   208,    39,   210,
+     234,   235,    22,   169,   173,   218,   171,   173,    17,    17,
+     245,   164,   164,   164,   164,   245,     4,   245,   164,   164,
+     245,   164,   164,   164,     4,     4,   164,   210,   245,   245,
+     245,   164,   204,   210,   162,   164,   164,   164,   164,   162,
+     216,   216,   216,   216,   162,   216,   171,   216,   216,   210,
+      22,     4,   207,   197,   164,   162,   164,   171,   173,   245,
+     245,   161,   245,   245,   245,   245,   204,   204,   246,   245,
+     164,   246,   246,   246,     4,   245,   161,   245,   216,   216,
+     216,   216,   164,   162,   164,   164,   257,   162,   162,   162,
+     181,   182,    39,   210,   201,    22,   171,   164,   167,    17,
+     210,   255,   169,   245,   257,   255,   204,   162,   162,   162,
+     162,   216,   216,   216,   162,   197,   205,   206,    17,    11,
+     169,   252,   197,   197,   162,   164,   169,   162,   162,   162,
+     162,   182,    54,   203,   245,   243,    11,   169,   121,   122,
+     245,   245,   201,    17,   210,   201,     4,   152,   202,   164,
+     243,   197,   197,    38,   197,   197,    22,    17,   164,    17,
+     245,   245,   245,    17,   245,   197,   197,   245,    73,    17,
+     245
 };
 
 #define yyerrok		(yyerrstatus = 0)
@@ -4048,189 +4057,180 @@
 
   case 108:
 #line 1275 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
-    { (yyval.Attributes) = Attribute::NoCapture; ;}
+    { (yyval.Attributes) = Attribute::ByVal;     ;}
     break;
 
   case 109:
 #line 1276 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
-    { (yyval.Attributes) = Attribute::ByVal;     ;}
+    { (yyval.Attributes) = Attribute::Nest;      ;}
     break;
 
   case 110:
 #line 1277 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
-    { (yyval.Attributes) = Attribute::Nest;      ;}
-    break;
-
-  case 111:
-#line 1278 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     { (yyval.Attributes) =
                           Attribute::constructAlignmentFromInt((yyvsp[(2) - (2)].UInt64Val));    ;}
     break;
 
-  case 112:
-#line 1282 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 111:
+#line 1281 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     { (yyval.Attributes) = Attribute::None; ;}
     break;
 
-  case 113:
-#line 1283 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 112:
+#line 1282 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {
                 (yyval.Attributes) = (yyvsp[(1) - (2)].Attributes) | (yyvsp[(2) - (2)].Attributes);
               ;}
     break;
 
+  case 113:
+#line 1287 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+    { (yyval.Attributes) = Attribute::InReg;    ;}
+    break;
+
   case 114:
 #line 1288 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
-    { (yyval.Attributes) = Attribute::InReg;    ;}
+    { (yyval.Attributes) = Attribute::ZExt;     ;}
     break;
 
   case 115:
 #line 1289 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
-    { (yyval.Attributes) = Attribute::ZExt;     ;}
+    { (yyval.Attributes) = Attribute::SExt;     ;}
     break;
 
   case 116:
 #line 1290 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
-    { (yyval.Attributes) = Attribute::SExt;     ;}
+    { (yyval.Attributes) = Attribute::NoAlias;  ;}
     break;
 
   case 117:
-#line 1291 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
-    { (yyval.Attributes) = Attribute::NoAlias;  ;}
+#line 1293 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+    { (yyval.Attributes) = Attribute::None; ;}
     break;
 
   case 118:
 #line 1294 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
-    { (yyval.Attributes) = Attribute::None; ;}
-    break;
-
-  case 119:
-#line 1295 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {
                (yyval.Attributes) = (yyvsp[(1) - (2)].Attributes) | (yyvsp[(2) - (2)].Attributes);
              ;}
     break;
 
+  case 119:
+#line 1300 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+    { (yyval.Attributes) = Attribute::NoReturn; ;}
+    break;
+
   case 120:
 #line 1301 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
-    { (yyval.Attributes) = Attribute::NoReturn; ;}
+    { (yyval.Attributes) = Attribute::NoUnwind; ;}
     break;
 
   case 121:
 #line 1302 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
-    { (yyval.Attributes) = Attribute::NoUnwind; ;}
+    { (yyval.Attributes) = Attribute::InReg;     ;}
     break;
 
   case 122:
 #line 1303 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
-    { (yyval.Attributes) = Attribute::InReg;     ;}
+    { (yyval.Attributes) = Attribute::ZExt;     ;}
     break;
 
   case 123:
 #line 1304 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
-    { (yyval.Attributes) = Attribute::ZExt;     ;}
+    { (yyval.Attributes) = Attribute::SExt;     ;}
     break;
 
   case 124:
 #line 1305 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
-    { (yyval.Attributes) = Attribute::SExt;     ;}
+    { (yyval.Attributes) = Attribute::ReadNone; ;}
     break;
 
   case 125:
 #line 1306 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
-    { (yyval.Attributes) = Attribute::ReadNone; ;}
+    { (yyval.Attributes) = Attribute::ReadOnly; ;}
     break;
 
   case 126:
 #line 1307 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
-    { (yyval.Attributes) = Attribute::ReadOnly; ;}
+    { (yyval.Attributes) = Attribute::NoInline; ;}
     break;
 
   case 127:
 #line 1308 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
-    { (yyval.Attributes) = Attribute::NoInline; ;}
+    { (yyval.Attributes) = Attribute::AlwaysInline; ;}
     break;
 
   case 128:
 #line 1309 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
-    { (yyval.Attributes) = Attribute::AlwaysInline; ;}
+    { (yyval.Attributes) = Attribute::OptimizeForSize; ;}
     break;
 
   case 129:
 #line 1310 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
-    { (yyval.Attributes) = Attribute::OptimizeForSize; ;}
+    { (yyval.Attributes) = Attribute::StackProtect; ;}
     break;
 
   case 130:
 #line 1311 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
-    { (yyval.Attributes) = Attribute::StackProtect; ;}
+    { (yyval.Attributes) = Attribute::StackProtectReq; ;}
     break;
 
   case 131:
-#line 1312 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
-    { (yyval.Attributes) = Attribute::StackProtectReq; ;}
+#line 1314 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+    { (yyval.Attributes) = Attribute::None; ;}
     break;
 
   case 132:
 #line 1315 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
-    { (yyval.Attributes) = Attribute::None; ;}
-    break;
-
-  case 133:
-#line 1316 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {
                 (yyval.Attributes) = (yyvsp[(1) - (2)].Attributes) | (yyvsp[(2) - (2)].Attributes);
               ;}
     break;
 
-  case 134:
-#line 1322 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 133:
+#line 1321 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     { (yyval.StrVal) = 0; ;}
     break;
 
-  case 135:
-#line 1323 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 134:
+#line 1322 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {
                 (yyval.StrVal) = (yyvsp[(2) - (2)].StrVal);
               ;}
     break;
 
-  case 136:
-#line 1330 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 135:
+#line 1329 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     { (yyval.UIntVal) = 0; ;}
     break;
 
-  case 137:
-#line 1331 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 136:
+#line 1330 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {
   (yyval.UIntVal) = (yyvsp[(2) - (2)].UInt64Val);
   if ((yyval.UIntVal) != 0 && !isPowerOf2_32((yyval.UIntVal)))
     GEN_ERROR("Alignment must be a power of two");
-  if ((yyval.UIntVal) > 0x40000000)
-    GEN_ERROR("Alignment too large");
   CHECK_FOR_ERROR
 ;}
     break;
 
-  case 138:
-#line 1339 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 137:
+#line 1336 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     { (yyval.UIntVal) = 0; ;}
     break;
 
-  case 139:
-#line 1340 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 138:
+#line 1337 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {
   (yyval.UIntVal) = (yyvsp[(3) - (3)].UInt64Val);
   if ((yyval.UIntVal) != 0 && !isPowerOf2_32((yyval.UIntVal)))
     GEN_ERROR("Alignment must be a power of two");
-  if ((yyval.UIntVal) > 0x40000000)
-    GEN_ERROR("Alignment too large");
   CHECK_FOR_ERROR
 ;}
     break;
 
-  case 140:
-#line 1351 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 139:
+#line 1346 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {
   for (unsigned i = 0, e = (yyvsp[(2) - (2)].StrVal)->length(); i != e; ++i)
     if ((*(yyvsp[(2) - (2)].StrVal))[i] == '"' || (*(yyvsp[(2) - (2)].StrVal))[i] == '\\')
@@ -4240,28 +4240,28 @@
 ;}
     break;
 
-  case 141:
-#line 1359 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 140:
+#line 1354 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     { (yyval.StrVal) = 0; ;}
     break;
 
-  case 142:
-#line 1360 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 141:
+#line 1355 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     { (yyval.StrVal) = (yyvsp[(1) - (1)].StrVal); ;}
     break;
 
-  case 143:
-#line 1365 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 142:
+#line 1360 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {;}
     break;
 
-  case 144:
-#line 1366 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 143:
+#line 1361 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {;}
     break;
 
-  case 145:
-#line 1367 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 144:
+#line 1362 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {
     CurGV->setSection(*(yyvsp[(1) - (1)].StrVal));
     delete (yyvsp[(1) - (1)].StrVal);
@@ -4269,36 +4269,34 @@
   ;}
     break;
 
-  case 146:
-#line 1372 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 145:
+#line 1367 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {
     if ((yyvsp[(2) - (2)].UInt64Val) != 0 && !isPowerOf2_32((yyvsp[(2) - (2)].UInt64Val)))
       GEN_ERROR("Alignment must be a power of two");
-    if ((yyvsp[(2) - (2)].UInt64Val) > 0x40000000)
-      GEN_ERROR("Alignment too large");
     CurGV->setAlignment((yyvsp[(2) - (2)].UInt64Val));
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 154:
-#line 1390 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 153:
+#line 1383 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.TypeVal) = new PATypeHolder(OpaqueType::get());
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 155:
-#line 1394 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 154:
+#line 1387 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.TypeVal) = new PATypeHolder((yyvsp[(1) - (1)].PrimType));
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 156:
-#line 1398 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 155:
+#line 1391 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {                             // Pointer type?
     if (*(yyvsp[(1) - (3)].TypeVal) == Type::LabelTy)
       GEN_ERROR("Cannot form a pointer to a basic block");
@@ -4308,8 +4306,8 @@
   ;}
     break;
 
-  case 157:
-#line 1405 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 156:
+#line 1398 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {            // Named types are also simple types...
     const Type* tmp = getTypeVal((yyvsp[(1) - (1)].ValIDVal));
     CHECK_FOR_ERROR
@@ -4317,8 +4315,8 @@
   ;}
     break;
 
-  case 158:
-#line 1410 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 157:
+#line 1403 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {                   // Type UpReference
     if ((yyvsp[(2) - (2)].UInt64Val) > (uint64_t)~0U) GEN_ERROR("Value out of range");
     OpaqueType *OT = OpaqueType::get();        // Use temporary placeholder
@@ -4329,8 +4327,8 @@
   ;}
     break;
 
-  case 159:
-#line 1418 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 158:
+#line 1411 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {
     // Allow but ignore attributes on function types; this permits auto-upgrade.
     // FIXME: remove in LLVM 3.0.
@@ -4368,8 +4366,8 @@
   ;}
     break;
 
-  case 160:
-#line 1453 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 159:
+#line 1446 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {
     // Allow but ignore attributes on function types; this permits auto-upgrade.
     // FIXME: remove in LLVM 3.0.
@@ -4402,8 +4400,8 @@
   ;}
     break;
 
-  case 161:
-#line 1484 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 160:
+#line 1477 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {          // Sized array type?
     (yyval.TypeVal) = new PATypeHolder(HandleUpRefs(ArrayType::get(*(yyvsp[(4) - (5)].TypeVal), (yyvsp[(2) - (5)].UInt64Val))));
     delete (yyvsp[(4) - (5)].TypeVal);
@@ -4411,8 +4409,8 @@
   ;}
     break;
 
-  case 162:
-#line 1489 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 161:
+#line 1482 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {          // Vector type?
      const llvm::Type* ElemTy = (yyvsp[(4) - (5)].TypeVal)->get();
      if ((unsigned)(yyvsp[(2) - (5)].UInt64Val) != (yyvsp[(2) - (5)].UInt64Val))
@@ -4425,8 +4423,8 @@
   ;}
     break;
 
-  case 163:
-#line 1499 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 162:
+#line 1492 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {                        // Structure type?
     std::vector<const Type*> Elements;
     for (std::list<llvm::PATypeHolder>::iterator I = (yyvsp[(2) - (3)].TypeList)->begin(),
@@ -4439,16 +4437,16 @@
   ;}
     break;
 
-  case 164:
-#line 1509 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 163:
+#line 1502 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {                                  // Empty structure type?
     (yyval.TypeVal) = new PATypeHolder(StructType::get(std::vector<const Type*>()));
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 165:
-#line 1513 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 164:
+#line 1506 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {
     std::vector<const Type*> Elements;
     for (std::list<llvm::PATypeHolder>::iterator I = (yyvsp[(3) - (5)].TypeList)->begin(),
@@ -4461,16 +4459,16 @@
   ;}
     break;
 
-  case 166:
-#line 1523 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 165:
+#line 1516 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {                         // Empty structure type?
     (yyval.TypeVal) = new PATypeHolder(StructType::get(std::vector<const Type*>(), true));
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 167:
-#line 1530 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 166:
+#line 1523 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {
     // Allow but ignore attributes on function types; this permits auto-upgrade.
     // FIXME: remove in LLVM 3.0.
@@ -4479,8 +4477,8 @@
   ;}
     break;
 
-  case 168:
-#line 1539 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 167:
+#line 1532 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (1)].TypeVal))->getDescription());
@@ -4490,15 +4488,15 @@
   ;}
     break;
 
-  case 169:
-#line 1546 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 168:
+#line 1539 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.TypeVal) = new PATypeHolder(Type::VoidTy);
   ;}
     break;
 
-  case 170:
-#line 1551 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 169:
+#line 1544 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.TypeWithAttrsList) = new TypeWithAttrsList();
     (yyval.TypeWithAttrsList)->push_back((yyvsp[(1) - (1)].TypeWithAttrs));
@@ -4506,16 +4504,16 @@
   ;}
     break;
 
-  case 171:
-#line 1556 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 170:
+#line 1549 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {
     ((yyval.TypeWithAttrsList)=(yyvsp[(1) - (3)].TypeWithAttrsList))->push_back((yyvsp[(3) - (3)].TypeWithAttrs));
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 173:
-#line 1564 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 172:
+#line 1557 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.TypeWithAttrsList)=(yyvsp[(1) - (3)].TypeWithAttrsList);
     TypeWithAttrs TWA; TWA.Attrs = Attribute::None;
@@ -4525,8 +4523,8 @@
   ;}
     break;
 
-  case 174:
-#line 1571 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 173:
+#line 1564 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.TypeWithAttrsList) = new TypeWithAttrsList;
     TypeWithAttrs TWA; TWA.Attrs = Attribute::None;
@@ -4536,16 +4534,16 @@
   ;}
     break;
 
-  case 175:
-#line 1578 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 174:
+#line 1571 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.TypeWithAttrsList) = new TypeWithAttrsList();
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 176:
-#line 1586 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 175:
+#line 1579 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.TypeList) = new std::list<PATypeHolder>();
     (yyval.TypeList)->push_back(*(yyvsp[(1) - (1)].TypeVal));
@@ -4554,8 +4552,8 @@
   ;}
     break;
 
-  case 177:
-#line 1592 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 176:
+#line 1585 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {
     ((yyval.TypeList)=(yyvsp[(1) - (3)].TypeList))->push_back(*(yyvsp[(3) - (3)].TypeVal));
     delete (yyvsp[(3) - (3)].TypeVal);
@@ -4563,8 +4561,8 @@
   ;}
     break;
 
-  case 178:
-#line 1604 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 177:
+#line 1597 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     { // Nonempty unsized arr
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (4)].TypeVal))->getDescription());
@@ -4595,8 +4593,8 @@
   ;}
     break;
 
-  case 179:
-#line 1632 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 178:
+#line 1625 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (3)].TypeVal))->getDescription());
@@ -4615,8 +4613,8 @@
   ;}
     break;
 
-  case 180:
-#line 1648 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 179:
+#line 1641 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (3)].TypeVal))->getDescription());
@@ -4646,8 +4644,8 @@
   ;}
     break;
 
-  case 181:
-#line 1675 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 180:
+#line 1668 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     { // Nonempty unsized arr
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (4)].TypeVal))->getDescription());
@@ -4678,8 +4676,8 @@
   ;}
     break;
 
-  case 182:
-#line 1703 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 181:
+#line 1696 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {
     const StructType *STy = dyn_cast<StructType>((yyvsp[(1) - (4)].TypeVal)->get());
     if (STy == 0)
@@ -4708,8 +4706,8 @@
   ;}
     break;
 
-  case 183:
-#line 1729 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 182:
+#line 1722 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (3)].TypeVal))->getDescription());
@@ -4732,8 +4730,8 @@
   ;}
     break;
 
-  case 184:
-#line 1749 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 183:
+#line 1742 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {
     const StructType *STy = dyn_cast<StructType>((yyvsp[(1) - (6)].TypeVal)->get());
     if (STy == 0)
@@ -4762,8 +4760,8 @@
   ;}
     break;
 
-  case 185:
-#line 1775 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 184:
+#line 1768 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (5)].TypeVal))->getDescription());
@@ -4786,8 +4784,8 @@
   ;}
     break;
 
-  case 186:
-#line 1795 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 185:
+#line 1788 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (2)].TypeVal))->getDescription());
@@ -4802,8 +4800,8 @@
   ;}
     break;
 
-  case 187:
-#line 1807 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 186:
+#line 1800 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (2)].TypeVal))->getDescription());
@@ -4813,8 +4811,8 @@
   ;}
     break;
 
-  case 188:
-#line 1814 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 187:
+#line 1807 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (2)].TypeVal))->getDescription());
@@ -4883,8 +4881,8 @@
   ;}
     break;
 
-  case 189:
-#line 1880 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 188:
+#line 1873 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (2)].TypeVal))->getDescription());
@@ -4897,8 +4895,8 @@
   ;}
     break;
 
-  case 190:
-#line 1890 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 189:
+#line 1883 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (2)].TypeVal))->getDescription());
@@ -4911,8 +4909,8 @@
   ;}
     break;
 
-  case 191:
-#line 1900 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 190:
+#line 1893 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {      // integral constants
     if (IntegerType *IT = dyn_cast<IntegerType>((yyvsp[(1) - (2)].TypeVal)->get())) {
       if (!ConstantInt::isValueValidForType(IT, (yyvsp[(2) - (2)].SInt64Val)))
@@ -4926,8 +4924,8 @@
   ;}
     break;
 
-  case 192:
-#line 1911 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 191:
+#line 1904 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {      // arbitrary precision integer constants
     if (IntegerType *IT = dyn_cast<IntegerType>((yyvsp[(1) - (2)].TypeVal)->get())) {
       if ((yyvsp[(2) - (2)].APIntVal)->getBitWidth() > IT->getBitWidth())
@@ -4943,8 +4941,8 @@
   ;}
     break;
 
-  case 193:
-#line 1924 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 192:
+#line 1917 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {      // integral constants
     if (IntegerType *IT = dyn_cast<IntegerType>((yyvsp[(1) - (2)].TypeVal)->get())) {
       if (!ConstantInt::isValueValidForType(IT, (yyvsp[(2) - (2)].UInt64Val)))
@@ -4958,8 +4956,8 @@
   ;}
     break;
 
-  case 194:
-#line 1935 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 193:
+#line 1928 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {      // arbitrary precision integer constants
     if (IntegerType *IT = dyn_cast<IntegerType>((yyvsp[(1) - (2)].TypeVal)->get())) {
       if ((yyvsp[(2) - (2)].APIntVal)->getBitWidth() > IT->getBitWidth())
@@ -4976,8 +4974,8 @@
   ;}
     break;
 
-  case 195:
-#line 1949 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 194:
+#line 1942 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {                      // Boolean constants
     if ((yyvsp[(1) - (2)].TypeVal)->get() != Type::Int1Ty)
       GEN_ERROR("Constant true must have type i1");
@@ -4987,8 +4985,8 @@
   ;}
     break;
 
-  case 196:
-#line 1956 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 195:
+#line 1949 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {                     // Boolean constants
     if ((yyvsp[(1) - (2)].TypeVal)->get() != Type::Int1Ty)
       GEN_ERROR("Constant false must have type i1");
@@ -4998,8 +4996,8 @@
   ;}
     break;
 
-  case 197:
-#line 1963 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 196:
+#line 1956 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {                   // Floating point constants
     if (!ConstantFP::isValueValidForType((yyvsp[(1) - (2)].TypeVal)->get(), *(yyvsp[(2) - (2)].FPVal)))
       GEN_ERROR("Floating point constant invalid for type");
@@ -5018,8 +5016,8 @@
   ;}
     break;
 
-  case 198:
-#line 1981 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 197:
+#line 1974 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(5) - (6)].TypeVal))->getDescription());
@@ -5034,8 +5032,8 @@
   ;}
     break;
 
-  case 199:
-#line 1993 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 198:
+#line 1986 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {
     if (!isa<PointerType>((yyvsp[(3) - (5)].ConstVal)->getType()))
       GEN_ERROR("GetElementPtr requires a pointer operand");
@@ -5059,8 +5057,8 @@
   ;}
     break;
 
-  case 200:
-#line 2014 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 199:
+#line 2007 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {
     if ((yyvsp[(3) - (8)].ConstVal)->getType() != Type::Int1Ty)
       GEN_ERROR("Select condition must be of boolean type");
@@ -5071,8 +5069,8 @@
   ;}
     break;
 
-  case 201:
-#line 2022 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 200:
+#line 2015 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {
     if ((yyvsp[(3) - (6)].ConstVal)->getType() != (yyvsp[(5) - (6)].ConstVal)->getType())
       GEN_ERROR("Binary operator types must match");
@@ -5081,8 +5079,8 @@
   ;}
     break;
 
-  case 202:
-#line 2028 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 201:
+#line 2021 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {
     if ((yyvsp[(3) - (6)].ConstVal)->getType() != (yyvsp[(5) - (6)].ConstVal)->getType())
       GEN_ERROR("Logical operator types must match");
@@ -5096,8 +5094,8 @@
   ;}
     break;
 
-  case 203:
-#line 2039 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 202:
+#line 2032 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {
     if ((yyvsp[(4) - (7)].ConstVal)->getType() != (yyvsp[(6) - (7)].ConstVal)->getType())
       GEN_ERROR("icmp operand types must match");
@@ -5105,8 +5103,8 @@
   ;}
     break;
 
-  case 204:
-#line 2044 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 203:
+#line 2037 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {
     if ((yyvsp[(4) - (7)].ConstVal)->getType() != (yyvsp[(6) - (7)].ConstVal)->getType())
       GEN_ERROR("fcmp operand types must match");
@@ -5114,8 +5112,8 @@
   ;}
     break;
 
-  case 205:
-#line 2049 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 204:
+#line 2042 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {
     if ((yyvsp[(4) - (7)].ConstVal)->getType() != (yyvsp[(6) - (7)].ConstVal)->getType())
       GEN_ERROR("vicmp operand types must match");
@@ -5123,8 +5121,8 @@
   ;}
     break;
 
-  case 206:
-#line 2054 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 205:
+#line 2047 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {
     if ((yyvsp[(4) - (7)].ConstVal)->getType() != (yyvsp[(6) - (7)].ConstVal)->getType())
       GEN_ERROR("vfcmp operand types must match");
@@ -5132,8 +5130,8 @@
   ;}
     break;
 
-  case 207:
-#line 2059 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 206:
+#line 2052 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {
     if (!ExtractElementInst::isValidOperands((yyvsp[(3) - (6)].ConstVal), (yyvsp[(5) - (6)].ConstVal)))
       GEN_ERROR("Invalid extractelement operands");
@@ -5142,8 +5140,8 @@
   ;}
     break;
 
-  case 208:
-#line 2065 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 207:
+#line 2058 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {
     if (!InsertElementInst::isValidOperands((yyvsp[(3) - (8)].ConstVal), (yyvsp[(5) - (8)].ConstVal), (yyvsp[(7) - (8)].ConstVal)))
       GEN_ERROR("Invalid insertelement operands");
@@ -5152,8 +5150,8 @@
   ;}
     break;
 
-  case 209:
-#line 2071 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 208:
+#line 2064 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {
     if (!ShuffleVectorInst::isValidOperands((yyvsp[(3) - (8)].ConstVal), (yyvsp[(5) - (8)].ConstVal), (yyvsp[(7) - (8)].ConstVal)))
       GEN_ERROR("Invalid shufflevector operands");
@@ -5162,8 +5160,8 @@
   ;}
     break;
 
-  case 210:
-#line 2077 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 209:
+#line 2070 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {
     if (!isa<StructType>((yyvsp[(3) - (5)].ConstVal)->getType()) && !isa<ArrayType>((yyvsp[(3) - (5)].ConstVal)->getType()))
       GEN_ERROR("ExtractValue requires an aggregate operand");
@@ -5174,8 +5172,8 @@
   ;}
     break;
 
-  case 211:
-#line 2085 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 210:
+#line 2078 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {
     if (!isa<StructType>((yyvsp[(3) - (7)].ConstVal)->getType()) && !isa<ArrayType>((yyvsp[(3) - (7)].ConstVal)->getType()))
       GEN_ERROR("InsertValue requires an aggregate operand");
@@ -5186,16 +5184,16 @@
   ;}
     break;
 
-  case 212:
-#line 2096 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 211:
+#line 2089 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {
     ((yyval.ConstVector) = (yyvsp[(1) - (3)].ConstVector))->push_back((yyvsp[(3) - (3)].ConstVal));
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 213:
-#line 2100 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 212:
+#line 2093 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ConstVector) = new std::vector<Constant*>();
     (yyval.ConstVector)->push_back((yyvsp[(1) - (1)].ConstVal));
@@ -5203,28 +5201,28 @@
   ;}
     break;
 
-  case 214:
-#line 2108 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 213:
+#line 2101 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     { (yyval.BoolVal) = false; ;}
     break;
 
-  case 215:
-#line 2108 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 214:
+#line 2101 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     { (yyval.BoolVal) = true; ;}
     break;
 
-  case 216:
-#line 2111 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 215:
+#line 2104 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     { (yyval.BoolVal) = true; ;}
     break;
 
-  case 217:
-#line 2111 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 216:
+#line 2104 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     { (yyval.BoolVal) = false; ;}
     break;
 
-  case 218:
-#line 2114 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 217:
+#line 2107 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {
     const Type* VTy = (yyvsp[(1) - (2)].TypeVal)->get();
     Value *V = getVal(VTy, (yyvsp[(2) - (2)].ValIDVal));
@@ -5239,8 +5237,8 @@
    ;}
     break;
 
-  case 219:
-#line 2126 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 218:
+#line 2119 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {
     Constant *Val = (yyvsp[(3) - (6)].ConstVal);
     const Type *DestTy = (yyvsp[(5) - (6)].TypeVal)->get();
@@ -5255,8 +5253,8 @@
    ;}
     break;
 
-  case 220:
-#line 2147 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 219:
+#line 2140 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ModuleVal) = ParserResult = CurModule.CurrentModule;
     CurModule.ModuleDone();
@@ -5264,8 +5262,8 @@
   ;}
     break;
 
-  case 221:
-#line 2152 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 220:
+#line 2145 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ModuleVal) = ParserResult = CurModule.CurrentModule;
     CurModule.ModuleDone();
@@ -5273,40 +5271,40 @@
   ;}
     break;
 
-  case 224:
-#line 2165 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 223:
+#line 2158 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     { CurFun.isDeclare = false; ;}
     break;
 
-  case 225:
-#line 2165 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 224:
+#line 2158 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {
     CurFun.FunctionDone();
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 226:
-#line 2169 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 225:
+#line 2162 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     { CurFun.isDeclare = true; ;}
     break;
 
-  case 227:
-#line 2169 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 226:
+#line 2162 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 228:
-#line 2172 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 227:
+#line 2165 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 229:
-#line 2175 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 228:
+#line 2168 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(3) - (3)].TypeVal))->getDescription());
@@ -5333,8 +5331,8 @@
   ;}
     break;
 
-  case 230:
-#line 2199 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 229:
+#line 2192 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {
     ResolveTypeTo((yyvsp[(1) - (3)].StrVal), (yyvsp[(3) - (3)].PrimType));
 
@@ -5348,8 +5346,8 @@
   ;}
     break;
 
-  case 231:
-#line 2211 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 230:
+#line 2204 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {
     /* "Externally Visible" Linkage */
     if ((yyvsp[(5) - (6)].ConstVal) == 0)
@@ -5360,15 +5358,15 @@
   ;}
     break;
 
-  case 232:
-#line 2218 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 231:
+#line 2211 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {
     CurGV = 0;
   ;}
     break;
 
-  case 233:
-#line 2222 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 232:
+#line 2215 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {
     if ((yyvsp[(6) - (7)].ConstVal) == 0)
       GEN_ERROR("Global value initializer is not a constant");
@@ -5377,15 +5375,15 @@
   ;}
     break;
 
-  case 234:
-#line 2227 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 233:
+#line 2220 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {
     CurGV = 0;
   ;}
     break;
 
-  case 235:
-#line 2231 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 234:
+#line 2224 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(6) - (7)].TypeVal))->getDescription());
@@ -5395,16 +5393,16 @@
   ;}
     break;
 
-  case 236:
-#line 2237 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 235:
+#line 2230 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {
     CurGV = 0;
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 237:
-#line 2241 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 236:
+#line 2234 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {
     std::string Name;
     if ((yyvsp[(1) - (5)].StrVal)) {
@@ -5447,22 +5445,22 @@
   ;}
     break;
 
-  case 238:
-#line 2281 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 237:
+#line 2274 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 239:
-#line 2284 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 238:
+#line 2277 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 240:
-#line 2290 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 239:
+#line 2283 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {
   const std::string &AsmSoFar = CurModule.CurrentModule->getModuleInlineAsm();
   if (AsmSoFar.empty())
@@ -5474,24 +5472,24 @@
 ;}
     break;
 
-  case 241:
-#line 2300 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 240:
+#line 2293 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {
     CurModule.CurrentModule->setTargetTriple(*(yyvsp[(3) - (3)].StrVal));
     delete (yyvsp[(3) - (3)].StrVal);
   ;}
     break;
 
-  case 242:
-#line 2304 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 241:
+#line 2297 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {
     CurModule.CurrentModule->setDataLayout(*(yyvsp[(3) - (3)].StrVal));
     delete (yyvsp[(3) - (3)].StrVal);
   ;}
     break;
 
-  case 244:
-#line 2311 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 243:
+#line 2304 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {
           CurModule.CurrentModule->addLibrary(*(yyvsp[(3) - (3)].StrVal));
           delete (yyvsp[(3) - (3)].StrVal);
@@ -5499,8 +5497,8 @@
         ;}
     break;
 
-  case 245:
-#line 2316 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 244:
+#line 2309 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {
           CurModule.CurrentModule->addLibrary(*(yyvsp[(1) - (1)].StrVal));
           delete (yyvsp[(1) - (1)].StrVal);
@@ -5508,15 +5506,15 @@
         ;}
     break;
 
-  case 246:
-#line 2321 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 245:
+#line 2314 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {
           CHECK_FOR_ERROR
         ;}
     break;
 
-  case 247:
-#line 2330 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 246:
+#line 2323 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(3) - (5)].TypeVal))->getDescription());
@@ -5529,8 +5527,8 @@
   ;}
     break;
 
-  case 248:
-#line 2340 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 247:
+#line 2333 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (3)].TypeVal))->getDescription());
@@ -5543,16 +5541,16 @@
   ;}
     break;
 
-  case 249:
-#line 2351 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 248:
+#line 2344 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ArgList) = (yyvsp[(1) - (1)].ArgList);
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 250:
-#line 2355 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 249:
+#line 2348 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ArgList) = (yyvsp[(1) - (3)].ArgList);
     struct ArgListEntry E;
@@ -5564,8 +5562,8 @@
   ;}
     break;
 
-  case 251:
-#line 2364 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 250:
+#line 2357 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ArgList) = new ArgListType;
     struct ArgListEntry E;
@@ -5577,16 +5575,16 @@
   ;}
     break;
 
-  case 252:
-#line 2373 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 251:
+#line 2366 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ArgList) = 0;
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 253:
-#line 2379 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 252:
+#line 2372 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {
   std::string FunctionName(*(yyvsp[(4) - (11)].StrVal));
   delete (yyvsp[(4) - (11)].StrVal);  // Free strdup'd memory!
@@ -5736,8 +5734,8 @@
 ;}
     break;
 
-  case 256:
-#line 2529 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 255:
+#line 2522 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {
   (yyval.FunctionVal) = CurFun.CurrentFunction;
 
@@ -5748,16 +5746,16 @@
 ;}
     break;
 
-  case 259:
-#line 2540 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 258:
+#line 2533 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {
   (yyval.FunctionVal) = (yyvsp[(1) - (2)].FunctionVal);
   CHECK_FOR_ERROR
 ;}
     break;
 
-  case 260:
-#line 2545 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 259:
+#line 2538 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {
     CurFun.CurrentFunction->setLinkage((yyvsp[(1) - (3)].Linkage));
     CurFun.CurrentFunction->setVisibility((yyvsp[(2) - (3)].Visibility));
@@ -5767,40 +5765,40 @@
   ;}
     break;
 
-  case 261:
-#line 2557 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 260:
+#line 2550 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.BoolVal) = false;
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 262:
-#line 2561 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 261:
+#line 2554 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.BoolVal) = true;
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 263:
-#line 2566 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 262:
+#line 2559 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {    // A reference to a direct constant
     (yyval.ValIDVal) = ValID::create((yyvsp[(1) - (1)].SInt64Val));
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 264:
-#line 2570 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 263:
+#line 2563 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ValIDVal) = ValID::create((yyvsp[(1) - (1)].UInt64Val));
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 265:
-#line 2574 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 264:
+#line 2567 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {      // arbitrary precision integer constants
     (yyval.ValIDVal) = ValID::create(*(yyvsp[(1) - (1)].APIntVal), true);
     delete (yyvsp[(1) - (1)].APIntVal);
@@ -5808,8 +5806,8 @@
   ;}
     break;
 
-  case 266:
-#line 2579 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 265:
+#line 2572 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {      // arbitrary precision integer constants
     (yyval.ValIDVal) = ValID::create(*(yyvsp[(1) - (1)].APIntVal), false);
     delete (yyvsp[(1) - (1)].APIntVal);
@@ -5817,56 +5815,56 @@
   ;}
     break;
 
-  case 267:
-#line 2584 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 266:
+#line 2577 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {                     // Perhaps it's an FP constant?
     (yyval.ValIDVal) = ValID::create((yyvsp[(1) - (1)].FPVal));
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 268:
-#line 2588 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 267:
+#line 2581 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ValIDVal) = ValID::create(ConstantInt::getTrue());
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 269:
-#line 2592 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 268:
+#line 2585 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ValIDVal) = ValID::create(ConstantInt::getFalse());
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 270:
-#line 2596 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 269:
+#line 2589 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ValIDVal) = ValID::createNull();
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 271:
-#line 2600 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 270:
+#line 2593 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ValIDVal) = ValID::createUndef();
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 272:
-#line 2604 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 271:
+#line 2597 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {     // A vector zero constant.
     (yyval.ValIDVal) = ValID::createZeroInit();
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 273:
-#line 2608 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 272:
+#line 2601 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     { // Nonempty unsized packed vector
     const Type *ETy = (*(yyvsp[(2) - (3)].ConstVector))[0]->getType();
     unsigned NumElements = (yyvsp[(2) - (3)].ConstVector)->size();
@@ -5891,8 +5889,8 @@
   ;}
     break;
 
-  case 274:
-#line 2630 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 273:
+#line 2623 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     { // Nonempty unsized arr
     const Type *ETy = (*(yyvsp[(2) - (3)].ConstVector))[0]->getType();
     uint64_t NumElements = (yyvsp[(2) - (3)].ConstVector)->size();
@@ -5917,8 +5915,8 @@
   ;}
     break;
 
-  case 275:
-#line 2652 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 274:
+#line 2645 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {
     // Use undef instead of an array because it's inconvenient to determine
     // the element type at this point, there being no elements to examine.
@@ -5927,8 +5925,8 @@
   ;}
     break;
 
-  case 276:
-#line 2658 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 275:
+#line 2651 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {
     uint64_t NumElements = (yyvsp[(2) - (2)].StrVal)->length();
     const Type *ETy = Type::Int8Ty;
@@ -5944,8 +5942,8 @@
   ;}
     break;
 
-  case 277:
-#line 2671 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 276:
+#line 2664 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {
     std::vector<const Type*> Elements((yyvsp[(2) - (3)].ConstVector)->size());
     for (unsigned i = 0, e = (yyvsp[(2) - (3)].ConstVector)->size(); i != e; ++i)
@@ -5960,8 +5958,8 @@
   ;}
     break;
 
-  case 278:
-#line 2683 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 277:
+#line 2676 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {
     const StructType *STy = StructType::get(std::vector<const Type*>());
     (yyval.ValIDVal) = ValID::create(ConstantStruct::get(STy, std::vector<Constant*>()));
@@ -5969,8 +5967,8 @@
   ;}
     break;
 
-  case 279:
-#line 2688 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 278:
+#line 2681 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {
     std::vector<const Type*> Elements((yyvsp[(3) - (5)].ConstVector)->size());
     for (unsigned i = 0, e = (yyvsp[(3) - (5)].ConstVector)->size(); i != e; ++i)
@@ -5985,8 +5983,8 @@
   ;}
     break;
 
-  case 280:
-#line 2700 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 279:
+#line 2693 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {
     const StructType *STy = StructType::get(std::vector<const Type*>(),
                                             /*isPacked=*/true);
@@ -5995,16 +5993,16 @@
   ;}
     break;
 
-  case 281:
-#line 2706 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 280:
+#line 2699 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ValIDVal) = ValID::create((yyvsp[(1) - (1)].ConstVal));
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 282:
-#line 2710 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 281:
+#line 2703 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ValIDVal) = ValID::createInlineAsm(*(yyvsp[(3) - (5)].StrVal), *(yyvsp[(5) - (5)].StrVal), (yyvsp[(2) - (5)].BoolVal));
     delete (yyvsp[(3) - (5)].StrVal);
@@ -6013,24 +6011,24 @@
   ;}
     break;
 
-  case 283:
-#line 2720 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 282:
+#line 2713 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {  // Is it an integer reference...?
     (yyval.ValIDVal) = ValID::createLocalID((yyvsp[(1) - (1)].UIntVal));
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 284:
-#line 2724 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 283:
+#line 2717 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ValIDVal) = ValID::createGlobalID((yyvsp[(1) - (1)].UIntVal));
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 285:
-#line 2728 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 284:
+#line 2721 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {                   // Is it a named reference...?
     (yyval.ValIDVal) = ValID::createLocalName(*(yyvsp[(1) - (1)].StrVal));
     delete (yyvsp[(1) - (1)].StrVal);
@@ -6038,8 +6036,8 @@
   ;}
     break;
 
-  case 286:
-#line 2733 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 285:
+#line 2726 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {                   // Is it a named reference...?
     (yyval.ValIDVal) = ValID::createGlobalName(*(yyvsp[(1) - (1)].StrVal));
     delete (yyvsp[(1) - (1)].StrVal);
@@ -6047,8 +6045,8 @@
   ;}
     break;
 
-  case 289:
-#line 2746 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 288:
+#line 2739 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (2)].TypeVal))->getDescription());
@@ -6058,8 +6056,8 @@
   ;}
     break;
 
-  case 290:
-#line 2755 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 289:
+#line 2748 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ValueList) = new std::vector<Value *>();
     (yyval.ValueList)->push_back((yyvsp[(1) - (1)].ValueVal));
@@ -6067,32 +6065,32 @@
   ;}
     break;
 
-  case 291:
-#line 2760 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 290:
+#line 2753 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {
     ((yyval.ValueList)=(yyvsp[(1) - (3)].ValueList))->push_back((yyvsp[(3) - (3)].ValueVal));
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 292:
-#line 2765 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 291:
+#line 2758 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.FunctionVal) = (yyvsp[(1) - (2)].FunctionVal);
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 293:
-#line 2769 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 292:
+#line 2762 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     { // Do not allow functions with 0 basic blocks
     (yyval.FunctionVal) = (yyvsp[(1) - (2)].FunctionVal);
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 294:
-#line 2778 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 293:
+#line 2771 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {
     setValueName((yyvsp[(3) - (3)].TermInstVal), (yyvsp[(2) - (3)].StrVal));
     CHECK_FOR_ERROR
@@ -6103,8 +6101,8 @@
   ;}
     break;
 
-  case 295:
-#line 2787 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 294:
+#line 2780 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {
   CHECK_FOR_ERROR
   int ValNum = InsertValue((yyvsp[(3) - (3)].TermInstVal));
@@ -6118,8 +6116,8 @@
 ;}
     break;
 
-  case 296:
-#line 2800 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 295:
+#line 2793 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {
     if (CastInst *CI1 = dyn_cast<CastInst>((yyvsp[(2) - (2)].InstVal)))
       if (CastInst *CI2 = dyn_cast<CastInst>(CI1->getOperand(0)))
@@ -6131,16 +6129,16 @@
   ;}
     break;
 
-  case 297:
-#line 2809 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 296:
+#line 2802 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {          // Empty space between instruction lists
     (yyval.BasicBlockVal) = defineBBVal(ValID::createLocalID(CurFun.NextValNum));
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 298:
-#line 2813 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 297:
+#line 2806 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {             // Labelled (named) basic block
     (yyval.BasicBlockVal) = defineBBVal(ValID::createLocalName(*(yyvsp[(1) - (1)].StrVal)));
     delete (yyvsp[(1) - (1)].StrVal);
@@ -6149,8 +6147,8 @@
   ;}
     break;
 
-  case 299:
-#line 2821 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 298:
+#line 2814 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     { // Return with a result...
     ValueList &VL = *(yyvsp[(2) - (2)].ValueList);
     assert(!VL.empty() && "Invalid ret operands!");
@@ -6173,16 +6171,16 @@
   ;}
     break;
 
-  case 300:
-#line 2841 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 299:
+#line 2834 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {                                    // Return with no result...
     (yyval.TermInstVal) = ReturnInst::Create();
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 301:
-#line 2845 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 300:
+#line 2838 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {                           // Unconditional Branch...
     BasicBlock* tmpBB = getBBVal((yyvsp[(3) - (3)].ValIDVal));
     CHECK_FOR_ERROR
@@ -6190,8 +6188,8 @@
   ;}
     break;
 
-  case 302:
-#line 2850 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 301:
+#line 2843 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {
     if (cast<IntegerType>((yyvsp[(2) - (9)].PrimType))->getBitWidth() != 1)
       GEN_ERROR("Branch condition must have type i1");
@@ -6205,8 +6203,8 @@
   ;}
     break;
 
-  case 303:
-#line 2861 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 302:
+#line 2854 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {
     Value* tmpVal = getVal((yyvsp[(2) - (9)].PrimType), (yyvsp[(3) - (9)].ValIDVal));
     CHECK_FOR_ERROR
@@ -6228,8 +6226,8 @@
   ;}
     break;
 
-  case 304:
-#line 2880 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 303:
+#line 2873 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {
     Value* tmpVal = getVal((yyvsp[(2) - (8)].PrimType), (yyvsp[(3) - (8)].ValIDVal));
     CHECK_FOR_ERROR
@@ -6241,8 +6239,8 @@
   ;}
     break;
 
-  case 305:
-#line 2890 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 304:
+#line 2883 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {
 
     // Handle the short syntax
@@ -6348,24 +6346,24 @@
   ;}
     break;
 
-  case 306:
-#line 2993 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 305:
+#line 2986 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.TermInstVal) = new UnwindInst();
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 307:
-#line 2997 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 306:
+#line 2990 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.TermInstVal) = new UnreachableInst();
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 308:
-#line 3004 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 307:
+#line 2997 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.JumpTable) = (yyvsp[(1) - (6)].JumpTable);
     Constant *V = cast<Constant>(getExistingVal((yyvsp[(2) - (6)].PrimType), (yyvsp[(3) - (6)].ValIDVal)));
@@ -6379,8 +6377,8 @@
   ;}
     break;
 
-  case 309:
-#line 3015 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 308:
+#line 3008 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.JumpTable) = new std::vector<std::pair<Constant*, BasicBlock*> >();
     Constant *V = cast<Constant>(getExistingVal((yyvsp[(1) - (5)].PrimType), (yyvsp[(2) - (5)].ValIDVal)));
@@ -6395,8 +6393,8 @@
   ;}
     break;
 
-  case 310:
-#line 3028 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 309:
+#line 3021 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {
     // Is this definition named?? if so, assign the name...
     setValueName((yyvsp[(2) - (2)].InstVal), (yyvsp[(1) - (2)].StrVal));
@@ -6407,8 +6405,8 @@
   ;}
     break;
 
-  case 311:
-#line 3037 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 310:
+#line 3030 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {
     CHECK_FOR_ERROR
     int ValNum = InsertValue((yyvsp[(2) - (2)].InstVal));
@@ -6422,8 +6420,8 @@
   ;}
     break;
 
-  case 312:
-#line 3050 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 311:
+#line 3043 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {    // Used for PHI nodes
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (6)].TypeVal))->getDescription());
@@ -6437,8 +6435,8 @@
   ;}
     break;
 
-  case 313:
-#line 3061 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 312:
+#line 3054 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.PHIList) = (yyvsp[(1) - (7)].PHIList);
     Value* tmpVal = getVal((yyvsp[(1) - (7)].PHIList)->front().first->getType(), (yyvsp[(4) - (7)].ValIDVal));
@@ -6449,8 +6447,8 @@
   ;}
     break;
 
-  case 314:
-#line 3071 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 313:
+#line 3064 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {
     // FIXME: Remove trailing OptAttributes in LLVM 3.0, it was a mistake in 2.0
     if (!UpRefs.empty())
@@ -6464,8 +6462,8 @@
   ;}
     break;
 
-  case 315:
-#line 3082 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 314:
+#line 3075 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {
     // FIXME: Remove trailing OptAttributes in LLVM 3.0, it was a mistake in 2.0
     // Labels are only valid in ASMs
@@ -6476,8 +6474,8 @@
   ;}
     break;
 
-  case 316:
-#line 3090 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 315:
+#line 3083 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {
     // FIXME: Remove trailing OptAttributes in LLVM 3.0, it was a mistake in 2.0
     if (!UpRefs.empty())
@@ -6490,8 +6488,8 @@
   ;}
     break;
 
-  case 317:
-#line 3100 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 316:
+#line 3093 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {
     // FIXME: Remove trailing OptAttributes in LLVM 3.0, it was a mistake in 2.0
     (yyval.ParamList) = (yyvsp[(1) - (6)].ParamList);
@@ -6501,18 +6499,18 @@
   ;}
     break;
 
-  case 318:
-#line 3107 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 317:
+#line 3100 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     { (yyval.ParamList) = new ParamList(); ;}
     break;
 
-  case 319:
-#line 3110 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 318:
+#line 3103 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     { (yyval.ValueList) = new std::vector<Value*>(); ;}
     break;
 
-  case 320:
-#line 3111 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 319:
+#line 3104 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ValueList) = (yyvsp[(1) - (3)].ValueList);
     (yyval.ValueList)->push_back((yyvsp[(3) - (3)].ValueVal));
@@ -6520,8 +6518,8 @@
   ;}
     break;
 
-  case 321:
-#line 3119 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 320:
+#line 3112 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ConstantList) = new std::vector<unsigned>();
     if ((unsigned)(yyvsp[(2) - (2)].UInt64Val) != (yyvsp[(2) - (2)].UInt64Val))
@@ -6530,8 +6528,8 @@
   ;}
     break;
 
-  case 322:
-#line 3125 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 321:
+#line 3118 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ConstantList) = (yyvsp[(1) - (3)].ConstantList);
     if ((unsigned)(yyvsp[(3) - (3)].UInt64Val) != (yyvsp[(3) - (3)].UInt64Val))
@@ -6541,24 +6539,24 @@
   ;}
     break;
 
-  case 323:
-#line 3134 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 322:
+#line 3127 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.BoolVal) = true;
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 324:
-#line 3138 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 323:
+#line 3131 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.BoolVal) = false;
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 325:
-#line 3143 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 324:
+#line 3136 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(2) - (5)].TypeVal))->getDescription());
@@ -6577,8 +6575,8 @@
   ;}
     break;
 
-  case 326:
-#line 3159 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 325:
+#line 3152 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(2) - (5)].TypeVal))->getDescription());
@@ -6598,8 +6596,8 @@
   ;}
     break;
 
-  case 327:
-#line 3176 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 326:
+#line 3169 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(3) - (6)].TypeVal))->getDescription());
@@ -6614,8 +6612,8 @@
   ;}
     break;
 
-  case 328:
-#line 3188 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 327:
+#line 3181 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(3) - (6)].TypeVal))->getDescription());
@@ -6630,8 +6628,8 @@
   ;}
     break;
 
-  case 329:
-#line 3200 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 328:
+#line 3193 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(3) - (6)].TypeVal))->getDescription());
@@ -6648,8 +6646,8 @@
   ;}
     break;
 
-  case 330:
-#line 3214 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 329:
+#line 3207 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(3) - (6)].TypeVal))->getDescription());
@@ -6666,8 +6664,8 @@
   ;}
     break;
 
-  case 331:
-#line 3228 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 330:
+#line 3221 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(4) - (4)].TypeVal))->getDescription());
@@ -6682,8 +6680,8 @@
   ;}
     break;
 
-  case 332:
-#line 3240 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 331:
+#line 3233 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {
     if (isa<VectorType>((yyvsp[(2) - (6)].ValueVal)->getType())) {
       // vector select
@@ -6707,8 +6705,8 @@
   ;}
     break;
 
-  case 333:
-#line 3261 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 332:
+#line 3254 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(4) - (4)].TypeVal))->getDescription());
@@ -6718,8 +6716,8 @@
   ;}
     break;
 
-  case 334:
-#line 3268 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 333:
+#line 3261 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {
     if (!ExtractElementInst::isValidOperands((yyvsp[(2) - (4)].ValueVal), (yyvsp[(4) - (4)].ValueVal)))
       GEN_ERROR("Invalid extractelement operands");
@@ -6728,8 +6726,8 @@
   ;}
     break;
 
-  case 335:
-#line 3274 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 334:
+#line 3267 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {
     if (!InsertElementInst::isValidOperands((yyvsp[(2) - (6)].ValueVal), (yyvsp[(4) - (6)].ValueVal), (yyvsp[(6) - (6)].ValueVal)))
       GEN_ERROR("Invalid insertelement operands");
@@ -6738,8 +6736,8 @@
   ;}
     break;
 
-  case 336:
-#line 3280 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 335:
+#line 3273 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {
     if (!ShuffleVectorInst::isValidOperands((yyvsp[(2) - (6)].ValueVal), (yyvsp[(4) - (6)].ValueVal), (yyvsp[(6) - (6)].ValueVal)))
       GEN_ERROR("Invalid shufflevector operands");
@@ -6748,8 +6746,8 @@
   ;}
     break;
 
-  case 337:
-#line 3286 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 336:
+#line 3279 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {
     const Type *Ty = (yyvsp[(2) - (2)].PHIList)->front().first->getType();
     if (!Ty->isFirstClassType())
@@ -6767,8 +6765,8 @@
   ;}
     break;
 
-  case 338:
-#line 3302 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 337:
+#line 3295 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {
 
     // Handle the short syntax
@@ -6880,32 +6878,32 @@
   ;}
     break;
 
-  case 339:
-#line 3411 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 338:
+#line 3404 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.InstVal) = (yyvsp[(1) - (1)].InstVal);
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 340:
-#line 3416 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 339:
+#line 3409 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.BoolVal) = true;
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 341:
-#line 3420 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 340:
+#line 3413 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.BoolVal) = false;
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 342:
-#line 3427 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 341:
+#line 3420 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(2) - (3)].TypeVal))->getDescription());
@@ -6915,8 +6913,8 @@
   ;}
     break;
 
-  case 343:
-#line 3434 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 342:
+#line 3427 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(2) - (6)].TypeVal))->getDescription());
@@ -6929,8 +6927,8 @@
   ;}
     break;
 
-  case 344:
-#line 3444 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 343:
+#line 3437 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(2) - (3)].TypeVal))->getDescription());
@@ -6940,8 +6938,8 @@
   ;}
     break;
 
-  case 345:
-#line 3451 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 344:
+#line 3444 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(2) - (6)].TypeVal))->getDescription());
@@ -6954,8 +6952,8 @@
   ;}
     break;
 
-  case 346:
-#line 3461 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 345:
+#line 3454 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {
     if (!isa<PointerType>((yyvsp[(2) - (2)].ValueVal)->getType()))
       GEN_ERROR("Trying to free nonpointer type " +
@@ -6965,8 +6963,8 @@
   ;}
     break;
 
-  case 347:
-#line 3469 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 346:
+#line 3462 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(3) - (5)].TypeVal))->getDescription());
@@ -6983,8 +6981,8 @@
   ;}
     break;
 
-  case 348:
-#line 3483 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 347:
+#line 3476 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(5) - (7)].TypeVal))->getDescription());
@@ -7004,8 +7002,8 @@
   ;}
     break;
 
-  case 349:
-#line 3500 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 348:
+#line 3493 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(2) - (5)].TypeVal))->getDescription());
@@ -7022,8 +7020,8 @@
   ;}
     break;
 
-  case 350:
-#line 3514 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 349:
+#line 3507 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(2) - (4)].TypeVal))->getDescription());
@@ -7041,8 +7039,8 @@
   ;}
     break;
 
-  case 351:
-#line 3529 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 350:
+#line 3522 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(2) - (4)].TypeVal))->getDescription());
@@ -7060,8 +7058,8 @@
   ;}
     break;
 
-  case 352:
-#line 3544 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+  case 351:
+#line 3537 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(2) - (7)].TypeVal))->getDescription());
@@ -7083,7 +7081,7 @@
 
 
 /* Line 1267 of yacc.c.  */
-#line 7087 "llvmAsmParser.tab.c"
+#line 7085 "llvmAsmParser.tab.c"
       default: break;
     }
   YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
@@ -7297,7 +7295,7 @@
 }
 
 
-#line 3563 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+#line 3556 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
 
 
 // common code from the two 'RunVMAsmParser' functions

Modified: llvm/trunk/lib/AsmParser/llvmAsmParser.h.cvs
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/AsmParser/llvmAsmParser.h.cvs?rev=61150&r1=61149&r2=61150&view=diff

==============================================================================
--- llvm/trunk/lib/AsmParser/llvmAsmParser.h.cvs (original)
+++ llvm/trunk/lib/AsmParser/llvmAsmParser.h.cvs Wed Dec 17 14:59:57 2008
@@ -184,8 +184,8 @@
      SRET = 400,
      NOUNWIND = 401,
      NOALIAS = 402,
-     NOCAPTURE = 403,
-     BYVAL = 404,
+     BYVAL = 403,
+     NEST = 404,
      READNONE = 405,
      READONLY = 406,
      GC = 407,
@@ -194,10 +194,9 @@
      ALWAYSINLINE = 410,
      SSP = 411,
      SSPREQ = 412,
-     NEST = 413,
-     DEFAULT = 414,
-     HIDDEN = 415,
-     PROTECTED = 416
+     DEFAULT = 413,
+     HIDDEN = 414,
+     PROTECTED = 415
    };
 #endif
 /* Tokens.  */
@@ -346,8 +345,8 @@
 #define SRET 400
 #define NOUNWIND 401
 #define NOALIAS 402
-#define NOCAPTURE 403
-#define BYVAL 404
+#define BYVAL 403
+#define NEST 404
 #define READNONE 405
 #define READONLY 406
 #define GC 407
@@ -356,17 +355,16 @@
 #define ALWAYSINLINE 410
 #define SSP 411
 #define SSPREQ 412
-#define NEST 413
-#define DEFAULT 414
-#define HIDDEN 415
-#define PROTECTED 416
+#define DEFAULT 413
+#define HIDDEN 414
+#define PROTECTED 415
 
 
 
 
 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
 typedef union YYSTYPE
-#line 986 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y"
+#line 986 "/Volumes/Gir/devel/llvm/llvm.src/lib/AsmParser/llvmAsmParser.y"
 {
   llvm::Module                           *ModuleVal;
   llvm::Function                         *FunctionVal;
@@ -414,8 +412,8 @@
   llvm::ICmpInst::Predicate         IPredicate;
   llvm::FCmpInst::Predicate         FPredicate;
 }
-/* Line 1489 of yacc.c.  */
-#line 419 "llvmAsmParser.tab.h"
+/* Line 1529 of yacc.c.  */
+#line 417 "llvmAsmParser.tab.h"
 	YYSTYPE;
 # define yystype YYSTYPE /* obsolescent; will be withdrawn */
 # define YYSTYPE_IS_DECLARED 1

Modified: llvm/trunk/lib/AsmParser/llvmAsmParser.y.cvs
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/AsmParser/llvmAsmParser.y.cvs?rev=61150&r1=61149&r2=61150&view=diff

==============================================================================
--- llvm/trunk/lib/AsmParser/llvmAsmParser.y.cvs (original)
+++ llvm/trunk/lib/AsmParser/llvmAsmParser.y.cvs Wed Dec 17 14:59:57 2008
@@ -1136,8 +1136,8 @@
 %token <OtherOpVal> EXTRACTVALUE INSERTVALUE
 
 // Function Attributes
-%token SIGNEXT ZEROEXT NORETURN INREG SRET NOUNWIND NOALIAS NOCAPTURE BYVAL
-%token READNONE READONLY GC OPTSIZE NOINLINE ALWAYSINLINE SSP SSPREQ NEST
+%token SIGNEXT ZEROEXT NORETURN INREG SRET NOUNWIND NOALIAS BYVAL NEST
+%token READNONE READONLY GC OPTSIZE NOINLINE ALWAYSINLINE SSP SSPREQ
 
 // Visibility Styles
 %token DEFAULT HIDDEN PROTECTED
@@ -1265,16 +1265,15 @@
                   CHECK_FOR_ERROR
                  };
 
-Attribute     : ZEROEXT   { $$ = Attribute::ZExt;      }
-              | ZEXT      { $$ = Attribute::ZExt;      }
-              | SIGNEXT   { $$ = Attribute::SExt;      }
-              | SEXT      { $$ = Attribute::SExt;      }
-              | INREG     { $$ = Attribute::InReg;     }
-              | SRET      { $$ = Attribute::StructRet; }
-              | NOALIAS   { $$ = Attribute::NoAlias;   }
-              | NOCAPTURE { $$ = Attribute::NoCapture; }
-              | BYVAL     { $$ = Attribute::ByVal;     }
-              | NEST      { $$ = Attribute::Nest;      }
+Attribute     : ZEROEXT { $$ = Attribute::ZExt;      }
+              | ZEXT    { $$ = Attribute::ZExt;      }
+              | SIGNEXT { $$ = Attribute::SExt;      }
+              | SEXT    { $$ = Attribute::SExt;      }
+              | INREG   { $$ = Attribute::InReg;     }
+              | SRET    { $$ = Attribute::StructRet; }
+              | NOALIAS { $$ = Attribute::NoAlias;   }
+              | BYVAL   { $$ = Attribute::ByVal;     }
+              | NEST    { $$ = Attribute::Nest;      }
               | ALIGN EUINT64VAL { $$ =
                           Attribute::constructAlignmentFromInt($2);    }
               ;
@@ -1285,10 +1284,9 @@
               }
               ;
 
-RetAttr       : INREG    { $$ = Attribute::InReg;    }
+RetAttr       : INREG    { $$ = Attribute::InReg;     }
               | ZEROEXT  { $$ = Attribute::ZExt;     }
               | SIGNEXT  { $$ = Attribute::SExt;     }
-              | NOALIAS  { $$ = Attribute::NoAlias;  }
               ;
 
 OptRetAttrs  : /* empty */ { $$ = Attribute::None; }
@@ -1332,8 +1330,6 @@
   $$ = $2;
   if ($$ != 0 && !isPowerOf2_32($$))
     GEN_ERROR("Alignment must be a power of two");
-  if ($$ > 0x40000000)
-    GEN_ERROR("Alignment too large");
   CHECK_FOR_ERROR
 };
 OptCAlign : /*empty*/            { $$ = 0; } |
@@ -1341,8 +1337,6 @@
   $$ = $3;
   if ($$ != 0 && !isPowerOf2_32($$))
     GEN_ERROR("Alignment must be a power of two");
-  if ($$ > 0x40000000)
-    GEN_ERROR("Alignment too large");
   CHECK_FOR_ERROR
 };
 
@@ -1372,8 +1366,6 @@
   | ALIGN EUINT64VAL {
     if ($2 != 0 && !isPowerOf2_32($2))
       GEN_ERROR("Alignment must be a power of two");
-    if ($2 > 0x40000000)
-      GEN_ERROR("Alignment too large");
     CurGV->setAlignment($2);
     CHECK_FOR_ERROR
   };





More information about the llvm-commits mailing list