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

Chris Lattner sabre at nondot.org
Fri Aug 29 10:20:18 PDT 2008


Author: lattner
Date: Fri Aug 29 12:20:18 2008
New Revision: 55542

URL: http://llvm.org/viewvc/llvm-project?rev=55542&view=rev
Log:
regenerate

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=55542&r1=55541&r2=55542&view=diff

==============================================================================
--- llvm/trunk/lib/AsmParser/llvmAsmParser.cpp.cvs (original)
+++ llvm/trunk/lib/AsmParser/llvmAsmParser.cpp.cvs Fri Aug 29 12:20:18 2008
@@ -390,7 +390,7 @@
 
 
 /* Copy the first part of user declarations.  */
-#line 14 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 14 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
 
 #include "ParserInternals.h"
 #include "llvm/CallingConv.h"
@@ -629,10 +629,12 @@
 //               Code to handle definitions of all the types
 //===----------------------------------------------------------------------===//
 
-static void InsertValue(Value *V, ValueList &ValueTab = CurFun.Values) {
+/// InsertValue - Insert a value into the value table.  If it is named, this
+/// returns -1, otherwise it returns the slot number for the value.
+static int InsertValue(Value *V, ValueList &ValueTab = CurFun.Values) {
   // Things that have names or are void typed don't get slot numbers
   if (V->hasName() || (V->getType() == Type::VoidTy))
-    return;
+    return -1;
 
   // In the case of function values, we have to allow for the forward reference
   // of basic blocks, which are included in the numbering. Consequently, we keep
@@ -642,10 +644,11 @@
     if (ValueTab.size() <= CurFun.NextValNum)
       ValueTab.resize(CurFun.NextValNum+1);
     ValueTab[CurFun.NextValNum++] = V;
-    return;
+    return CurFun.NextValNum-1;
   } 
   // For all other lists, its okay to just tack it on the back of the vector.
   ValueTab.push_back(V);
+  return ValueTab.size()-1;
 }
 
 static const Type *getTypeVal(const ValID &D, bool DoNotImprovise = false) {
@@ -1364,7 +1367,7 @@
 
 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
 typedef union YYSTYPE
-#line 967 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 970 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
 {
   llvm::Module                           *ModuleVal;
   llvm::Function                         *FunctionVal;
@@ -1413,7 +1416,7 @@
   llvm::FCmpInst::Predicate         FPredicate;
 }
 /* Line 193 of yacc.c.  */
-#line 1417 "llvmAsmParser.tab.c"
+#line 1420 "llvmAsmParser.tab.c"
 	YYSTYPE;
 # define yystype YYSTYPE /* obsolescent; will be withdrawn */
 # define YYSTYPE_IS_DECLARED 1
@@ -1426,7 +1429,7 @@
 
 
 /* Line 216 of yacc.c.  */
-#line 1430 "llvmAsmParser.tab.c"
+#line 1433 "llvmAsmParser.tab.c"
 
 #ifdef short
 # undef short
@@ -1641,16 +1644,16 @@
 /* YYFINAL -- State number of the termination state.  */
 #define YYFINAL  44
 /* YYLAST -- Last index in YYTABLE.  */
-#define YYLAST   2381
+#define YYLAST   2386
 
 /* YYNTOKENS -- Number of terminals.  */
 #define YYNTOKENS  171
 /* YYNNTS -- Number of nonterminals.  */
-#define YYNNTS  86
+#define YYNNTS  87
 /* YYNRULES -- Number of rules.  */
-#define YYNRULES  343
+#define YYNRULES  346
 /* YYNRULES -- Number of states.  */
-#define YYNSTATES  702
+#define YYNSTATES  707
 
 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
 #define YYUNDEFTOK  2
@@ -1718,40 +1721,40 @@
       79,    81,    83,    85,    87,    89,    91,    93,    95,    97,
       99,   101,   103,   105,   107,   109,   111,   113,   115,   117,
      119,   121,   123,   125,   127,   129,   130,   135,   136,   139,
-     140,   142,   144,   146,   147,   150,   152,   154,   156,   158,
-     160,   162,   164,   166,   168,   169,   171,   173,   175,   176,
-     178,   180,   181,   183,   185,   187,   189,   190,   192,   194,
-     195,   197,   199,   201,   203,   205,   207,   210,   212,   214,
-     216,   218,   220,   222,   224,   226,   228,   231,   232,   235,
-     237,   239,   241,   243,   245,   247,   248,   251,   252,   255,
-     256,   259,   260,   264,   267,   268,   270,   271,   275,   277,
-     280,   282,   284,   286,   288,   290,   292,   294,   296,   298,
-     302,   304,   307,   313,   319,   325,   331,   335,   338,   344,
-     349,   352,   354,   356,   358,   362,   364,   368,   370,   371,
-     373,   377,   382,   386,   390,   395,   400,   404,   411,   417,
+     140,   143,   145,   147,   149,   150,   153,   155,   157,   159,
+     161,   163,   165,   167,   169,   171,   172,   174,   176,   178,
+     179,   181,   183,   184,   186,   188,   190,   192,   193,   195,
+     197,   198,   200,   202,   204,   206,   208,   210,   213,   215,
+     217,   219,   221,   223,   225,   227,   229,   231,   234,   235,
+     238,   240,   242,   244,   246,   248,   250,   251,   254,   255,
+     258,   259,   262,   263,   267,   270,   271,   273,   274,   278,
+     280,   283,   285,   287,   289,   291,   293,   295,   297,   299,
+     301,   305,   307,   310,   316,   322,   328,   334,   338,   341,
+     347,   352,   355,   357,   359,   361,   365,   367,   371,   373,
+     374,   376,   380,   385,   389,   393,   398,   403,   407,   414,
      420,   423,   426,   429,   432,   435,   438,   441,   444,   447,
-     450,   453,   460,   466,   475,   482,   489,   497,   505,   513,
-     521,   528,   537,   546,   552,   560,   564,   566,   568,   570,
-     572,   573,   576,   583,   585,   586,   588,   591,   592,   596,
-     597,   601,   605,   609,   613,   614,   623,   624,   634,   635,
-     645,   651,   654,   658,   660,   664,   668,   672,   676,   678,
-     679,   685,   689,   691,   695,   697,   698,   709,   711,   713,
-     718,   720,   722,   725,   729,   730,   732,   734,   736,   738,
-     740,   742,   744,   746,   748,   750,   752,   756,   760,   763,
-     766,   770,   773,   779,   784,   786,   792,   794,   796,   798,
-     800,   802,   804,   807,   809,   813,   816,   819,   823,   826,
-     827,   829,   832,   835,   839,   849,   859,   868,   883,   885,
-     887,   894,   900,   903,   910,   918,   923,   928,   935,   942,
-     943,   944,   948,   951,   955,   958,   960,   966,   972,   979,
-     986,   993,  1000,  1005,  1012,  1017,  1022,  1029,  1036,  1039,
-    1048,  1050,  1052,  1053,  1057,  1064,  1068,  1075,  1078,  1084,
-    1092,  1098,  1103,  1108
+     450,   453,   456,   463,   469,   478,   485,   492,   500,   508,
+     516,   524,   531,   540,   549,   555,   563,   567,   569,   571,
+     573,   575,   576,   579,   586,   588,   589,   591,   594,   595,
+     599,   600,   604,   608,   612,   616,   617,   626,   627,   637,
+     638,   648,   654,   657,   661,   663,   667,   671,   675,   679,
+     681,   682,   688,   692,   694,   698,   700,   701,   712,   714,
+     716,   721,   723,   725,   728,   732,   733,   735,   737,   739,
+     741,   743,   745,   747,   749,   751,   753,   755,   759,   763,
+     766,   769,   773,   776,   782,   787,   789,   795,   797,   799,
+     801,   803,   805,   807,   810,   812,   816,   819,   822,   826,
+     830,   833,   834,   836,   839,   842,   846,   856,   866,   875,
+     890,   892,   894,   901,   907,   910,   913,   920,   928,   933,
+     938,   945,   952,   953,   954,   958,   961,   965,   968,   970,
+     976,   982,   989,   996,  1003,  1010,  1015,  1022,  1027,  1032,
+    1039,  1046,  1049,  1058,  1060,  1062,  1063,  1067,  1074,  1078,
+    1085,  1088,  1094,  1102,  1108,  1113,  1118
 };
 
 /* YYRHS -- A `-1'-separated list of the rules' RHS.  */
 static const yytype_int16 yyrhs[] =
 {
-     217,     0,    -1,    76,    -1,    77,    -1,    78,    -1,    79,
+     218,     0,    -1,    76,    -1,    77,    -1,    78,    -1,    79,
       -1,    80,    -1,    81,    -1,    82,    -1,    83,    -1,    84,
       -1,    88,    -1,    89,    -1,    90,    -1,    85,    -1,    86,
       -1,    87,    -1,   121,    -1,   122,    -1,   123,    -1,   124,
@@ -1765,144 +1768,145 @@
       -1,    12,    -1,    13,    -1,    16,    -1,    15,    -1,    14,
       -1,    19,    -1,    22,    -1,    24,    -1,   179,    -1,    -1,
       55,   157,     4,   158,    -1,    -1,   179,   159,    -1,    -1,
-      20,    -1,    23,    -1,   185,    -1,    -1,   183,   159,    -1,
-      42,    -1,    44,    -1,    43,    -1,    45,    -1,    47,    -1,
-      49,    -1,    46,    -1,    48,    -1,    51,    -1,    -1,   154,
-      -1,   155,    -1,   156,    -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,    68,    -1,    62,     4,    -1,
-     143,    -1,   122,    -1,   142,    -1,   123,    -1,   145,    -1,
-     146,    -1,   148,    -1,   149,    -1,   150,    -1,    54,     4,
-      -1,    -1,   194,   193,    -1,   144,    -1,   147,    -1,   143,
-      -1,   142,    -1,   151,    -1,   152,    -1,    -1,   196,   195,
-      -1,    -1,   153,    22,    -1,    -1,    54,     4,    -1,    -1,
-     160,    54,     4,    -1,    34,    22,    -1,    -1,   200,    -1,
-      -1,   160,   203,   202,    -1,   200,    -1,    54,     4,    -1,
-      11,    -1,    12,    -1,    13,    -1,    16,    -1,    15,    -1,
-      14,    -1,    17,    -1,    50,    -1,   204,    -1,   205,   181,
-     161,    -1,   239,    -1,   162,     4,    -1,   205,   157,   209,
-     158,   196,    -1,    10,   157,   209,   158,   196,    -1,   163,
-       4,   164,   205,   165,    -1,   166,     4,   164,   205,   167,
-      -1,   168,   210,   169,    -1,   168,   169,    -1,   166,   168,
-     210,   169,   167,    -1,   166,   168,   169,   167,    -1,   205,
-     194,    -1,   205,    -1,    10,    -1,   206,    -1,   208,   160,
-     206,    -1,   208,    -1,   208,   160,    39,    -1,    39,    -1,
-      -1,   205,    -1,   210,   160,   205,    -1,   205,   163,   213,
-     165,    -1,   205,   163,   165,    -1,   205,   170,    22,    -1,
-     205,   166,   213,   167,    -1,   205,   168,   213,   169,    -1,
-     205,   168,   169,    -1,   205,   166,   168,   213,   169,   167,
-      -1,   205,   166,   168,   169,   167,    -1,   205,    40,    -1,
-     205,    41,    -1,   205,   239,    -1,   205,   212,    -1,   205,
-      25,    -1,   177,     3,    -1,   177,     5,    -1,   177,     4,
-      -1,   177,     6,    -1,    11,    26,    -1,    11,    27,    -1,
-     178,     9,    -1,   174,   157,   211,    38,   205,   158,    -1,
-     120,   157,   211,   251,   158,    -1,   134,   157,   211,   160,
-     211,   160,   211,   158,    -1,   172,   157,   211,   160,   211,
-     158,    -1,   173,   157,   211,   160,   211,   158,    -1,    91,
-     175,   157,   211,   160,   211,   158,    -1,    92,   176,   157,
-     211,   160,   211,   158,    -1,    93,   175,   157,   211,   160,
-     211,   158,    -1,    94,   176,   157,   211,   160,   211,   158,
-      -1,   136,   157,   211,   160,   211,   158,    -1,   137,   157,
-     211,   160,   211,   160,   211,   158,    -1,   138,   157,   211,
-     160,   211,   160,   211,   158,    -1,   140,   157,   211,   252,
-     158,    -1,   141,   157,   211,   160,   211,   252,   158,    -1,
-     213,   160,   211,    -1,   211,    -1,    32,    -1,    33,    -1,
-      37,    -1,    -1,   207,   239,    -1,   126,   157,   216,    38,
-     205,   158,    -1,   218,    -1,    -1,   219,    -1,   218,   219,
-      -1,    -1,    31,   220,   235,    -1,    -1,    30,   221,   236,
-      -1,    60,    59,   225,    -1,   182,    18,   205,    -1,   182,
-      18,    10,    -1,    -1,   184,   188,   215,   214,   211,   181,
-     222,   202,    -1,    -1,   184,   186,   188,   215,   214,   211,
-     181,   223,   202,    -1,    -1,   184,   187,   188,   215,   214,
-     205,   181,   224,   202,    -1,   184,   188,    35,   191,   216,
-      -1,    52,   226,    -1,    56,   159,   227,    -1,    22,    -1,
-      53,   159,    22,    -1,    69,   159,    22,    -1,   163,   228,
-     165,    -1,   228,   160,    22,    -1,    22,    -1,    -1,   229,
-     160,   205,   194,   180,    -1,   205,   194,   180,    -1,   229,
-      -1,   229,   160,    39,    -1,    39,    -1,    -1,   192,   207,
-     183,   157,   230,   158,   196,   201,   198,   197,    -1,    28,
-      -1,   168,    -1,   190,   188,   231,   232,    -1,    29,    -1,
-     169,    -1,   243,   234,    -1,   189,   188,   231,    -1,    -1,
-      61,    -1,     3,    -1,     4,    -1,     5,    -1,     6,    -1,
-       9,    -1,    26,    -1,    27,    -1,    40,    -1,    41,    -1,
-      25,    -1,   166,   213,   167,    -1,   163,   213,   165,    -1,
-     163,   165,    -1,   170,    22,    -1,   168,   213,   169,    -1,
-     168,   169,    -1,   166,   168,   213,   169,   167,    -1,   166,
-     168,   169,   167,    -1,   212,    -1,    59,   237,    22,   160,
-      22,    -1,     7,    -1,     8,    -1,   179,    -1,   183,    -1,
-     239,    -1,   238,    -1,   205,   240,    -1,   241,    -1,   242,
-     160,   241,    -1,   243,   244,    -1,   233,   244,    -1,   245,
-     182,   246,    -1,   245,   248,    -1,    -1,    21,    -1,    70,
-     242,    -1,    70,    10,    -1,    71,    17,   240,    -1,    71,
-      11,   240,   160,    17,   240,   160,    17,   240,    -1,    72,
-     177,   240,   160,    17,   240,   163,   247,   165,    -1,    72,
-     177,   240,   160,    17,   240,   163,   165,    -1,    73,   192,
-     207,   240,   157,   250,   158,   196,    38,    17,   240,    74,
-      17,   240,    -1,    74,    -1,    75,    -1,   247,   177,   238,
-     160,    17,   240,    -1,   177,   238,   160,    17,   240,    -1,
-     182,   254,    -1,   205,   163,   240,   160,   240,   165,    -1,
-     249,   160,   163,   240,   160,   240,   165,    -1,   205,   194,
-     240,   194,    -1,    17,   194,   240,   194,    -1,   250,   160,
-     205,   194,   240,   194,    -1,   250,   160,    17,   194,   240,
-     194,    -1,    -1,    -1,   251,   160,   241,    -1,   160,     4,
-      -1,   252,   160,     4,    -1,    58,    57,    -1,    57,    -1,
-     172,   205,   240,   160,   240,    -1,   173,   205,   240,   160,
-     240,    -1,    91,   175,   205,   240,   160,   240,    -1,    92,
-     176,   205,   240,   160,   240,    -1,    93,   175,   205,   240,
-     160,   240,    -1,    94,   176,   205,   240,   160,   240,    -1,
-     174,   241,    38,   205,    -1,   134,   241,   160,   241,   160,
-     241,    -1,   135,   241,   160,   205,    -1,   136,   241,   160,
-     241,    -1,   137,   241,   160,   241,   160,   241,    -1,   138,
-     241,   160,   241,   160,   241,    -1,   133,   249,    -1,   253,
-     192,   207,   240,   157,   250,   158,   196,    -1,   256,    -1,
-      36,    -1,    -1,   115,   205,   199,    -1,   115,   205,   160,
-      11,   240,   199,    -1,   116,   205,   199,    -1,   116,   205,
-     160,    11,   240,   199,    -1,   117,   241,    -1,   255,   118,
-     205,   240,   199,    -1,   255,   119,   241,   160,   205,   240,
-     199,    -1,   139,   205,   240,   160,     4,    -1,   120,   205,
-     240,   251,    -1,   140,   205,   240,   252,    -1,   141,   205,
-     240,   160,   205,   240,   252,    -1
+       7,   159,    -1,    20,    -1,    23,    -1,   186,    -1,    -1,
+     184,   159,    -1,    42,    -1,    44,    -1,    43,    -1,    45,
+      -1,    47,    -1,    49,    -1,    46,    -1,    48,    -1,    51,
+      -1,    -1,   154,    -1,   155,    -1,   156,    -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,    68,    -1,
+      62,     4,    -1,   143,    -1,   122,    -1,   142,    -1,   123,
+      -1,   145,    -1,   146,    -1,   148,    -1,   149,    -1,   150,
+      -1,    54,     4,    -1,    -1,   195,   194,    -1,   144,    -1,
+     147,    -1,   143,    -1,   142,    -1,   151,    -1,   152,    -1,
+      -1,   197,   196,    -1,    -1,   153,    22,    -1,    -1,    54,
+       4,    -1,    -1,   160,    54,     4,    -1,    34,    22,    -1,
+      -1,   201,    -1,    -1,   160,   204,   203,    -1,   201,    -1,
+      54,     4,    -1,    11,    -1,    12,    -1,    13,    -1,    16,
+      -1,    15,    -1,    14,    -1,    17,    -1,    50,    -1,   205,
+      -1,   206,   181,   161,    -1,   240,    -1,   162,     4,    -1,
+     206,   157,   210,   158,   197,    -1,    10,   157,   210,   158,
+     197,    -1,   163,     4,   164,   206,   165,    -1,   166,     4,
+     164,   206,   167,    -1,   168,   211,   169,    -1,   168,   169,
+      -1,   166,   168,   211,   169,   167,    -1,   166,   168,   169,
+     167,    -1,   206,   195,    -1,   206,    -1,    10,    -1,   207,
+      -1,   209,   160,   207,    -1,   209,    -1,   209,   160,    39,
+      -1,    39,    -1,    -1,   206,    -1,   211,   160,   206,    -1,
+     206,   163,   214,   165,    -1,   206,   163,   165,    -1,   206,
+     170,    22,    -1,   206,   166,   214,   167,    -1,   206,   168,
+     214,   169,    -1,   206,   168,   169,    -1,   206,   166,   168,
+     214,   169,   167,    -1,   206,   166,   168,   169,   167,    -1,
+     206,    40,    -1,   206,    41,    -1,   206,   240,    -1,   206,
+     213,    -1,   206,    25,    -1,   177,     3,    -1,   177,     5,
+      -1,   177,     4,    -1,   177,     6,    -1,    11,    26,    -1,
+      11,    27,    -1,   178,     9,    -1,   174,   157,   212,    38,
+     206,   158,    -1,   120,   157,   212,   252,   158,    -1,   134,
+     157,   212,   160,   212,   160,   212,   158,    -1,   172,   157,
+     212,   160,   212,   158,    -1,   173,   157,   212,   160,   212,
+     158,    -1,    91,   175,   157,   212,   160,   212,   158,    -1,
+      92,   176,   157,   212,   160,   212,   158,    -1,    93,   175,
+     157,   212,   160,   212,   158,    -1,    94,   176,   157,   212,
+     160,   212,   158,    -1,   136,   157,   212,   160,   212,   158,
+      -1,   137,   157,   212,   160,   212,   160,   212,   158,    -1,
+     138,   157,   212,   160,   212,   160,   212,   158,    -1,   140,
+     157,   212,   253,   158,    -1,   141,   157,   212,   160,   212,
+     253,   158,    -1,   214,   160,   212,    -1,   212,    -1,    32,
+      -1,    33,    -1,    37,    -1,    -1,   208,   240,    -1,   126,
+     157,   217,    38,   206,   158,    -1,   219,    -1,    -1,   220,
+      -1,   219,   220,    -1,    -1,    31,   221,   236,    -1,    -1,
+      30,   222,   237,    -1,    60,    59,   226,    -1,   182,    18,
+     206,    -1,   182,    18,    10,    -1,    -1,   185,   189,   216,
+     215,   212,   181,   223,   203,    -1,    -1,   185,   187,   189,
+     216,   215,   212,   181,   224,   203,    -1,    -1,   185,   188,
+     189,   216,   215,   206,   181,   225,   203,    -1,   185,   189,
+      35,   192,   217,    -1,    52,   227,    -1,    56,   159,   228,
+      -1,    22,    -1,    53,   159,    22,    -1,    69,   159,    22,
+      -1,   163,   229,   165,    -1,   229,   160,    22,    -1,    22,
+      -1,    -1,   230,   160,   206,   195,   180,    -1,   206,   195,
+     180,    -1,   230,    -1,   230,   160,    39,    -1,    39,    -1,
+      -1,   193,   208,   184,   157,   231,   158,   197,   202,   199,
+     198,    -1,    28,    -1,   168,    -1,   191,   189,   232,   233,
+      -1,    29,    -1,   169,    -1,   244,   235,    -1,   190,   189,
+     232,    -1,    -1,    61,    -1,     3,    -1,     4,    -1,     5,
+      -1,     6,    -1,     9,    -1,    26,    -1,    27,    -1,    40,
+      -1,    41,    -1,    25,    -1,   166,   214,   167,    -1,   163,
+     214,   165,    -1,   163,   165,    -1,   170,    22,    -1,   168,
+     214,   169,    -1,   168,   169,    -1,   166,   168,   214,   169,
+     167,    -1,   166,   168,   169,   167,    -1,   213,    -1,    59,
+     238,    22,   160,    22,    -1,     7,    -1,     8,    -1,   179,
+      -1,   184,    -1,   240,    -1,   239,    -1,   206,   241,    -1,
+     242,    -1,   243,   160,   242,    -1,   244,   245,    -1,   234,
+     245,    -1,   246,   182,   247,    -1,   246,   183,   247,    -1,
+     246,   249,    -1,    -1,    21,    -1,    70,   243,    -1,    70,
+      10,    -1,    71,    17,   241,    -1,    71,    11,   241,   160,
+      17,   241,   160,    17,   241,    -1,    72,   177,   241,   160,
+      17,   241,   163,   248,   165,    -1,    72,   177,   241,   160,
+      17,   241,   163,   165,    -1,    73,   193,   208,   241,   157,
+     251,   158,   197,    38,    17,   241,    74,    17,   241,    -1,
+      74,    -1,    75,    -1,   248,   177,   239,   160,    17,   241,
+      -1,   177,   239,   160,    17,   241,    -1,   182,   255,    -1,
+     183,   255,    -1,   206,   163,   241,   160,   241,   165,    -1,
+     250,   160,   163,   241,   160,   241,   165,    -1,   206,   195,
+     241,   195,    -1,    17,   195,   241,   195,    -1,   251,   160,
+     206,   195,   241,   195,    -1,   251,   160,    17,   195,   241,
+     195,    -1,    -1,    -1,   252,   160,   242,    -1,   160,     4,
+      -1,   253,   160,     4,    -1,    58,    57,    -1,    57,    -1,
+     172,   206,   241,   160,   241,    -1,   173,   206,   241,   160,
+     241,    -1,    91,   175,   206,   241,   160,   241,    -1,    92,
+     176,   206,   241,   160,   241,    -1,    93,   175,   206,   241,
+     160,   241,    -1,    94,   176,   206,   241,   160,   241,    -1,
+     174,   242,    38,   206,    -1,   134,   242,   160,   242,   160,
+     242,    -1,   135,   242,   160,   206,    -1,   136,   242,   160,
+     242,    -1,   137,   242,   160,   242,   160,   242,    -1,   138,
+     242,   160,   242,   160,   242,    -1,   133,   250,    -1,   254,
+     193,   208,   241,   157,   251,   158,   197,    -1,   257,    -1,
+      36,    -1,    -1,   115,   206,   200,    -1,   115,   206,   160,
+      11,   241,   200,    -1,   116,   206,   200,    -1,   116,   206,
+     160,    11,   241,   200,    -1,   117,   242,    -1,   256,   118,
+     206,   241,   200,    -1,   256,   119,   242,   160,   206,   241,
+     200,    -1,   139,   206,   241,   160,     4,    -1,   120,   206,
+     241,   252,    -1,   140,   206,   241,   253,    -1,   141,   206,
+     241,   160,   206,   241,   253,    -1
 };
 
 /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
 static const yytype_uint16 yyrline[] =
 {
-       0,  1133,  1133,  1133,  1133,  1133,  1133,  1133,  1133,  1133,
-    1133,  1134,  1134,  1134,  1134,  1134,  1134,  1135,  1135,  1135,
-    1135,  1135,  1135,  1136,  1136,  1136,  1136,  1136,  1136,  1139,
-    1139,  1140,  1140,  1141,  1141,  1142,  1142,  1143,  1143,  1147,
-    1147,  1148,  1148,  1149,  1149,  1150,  1150,  1151,  1151,  1152,
-    1152,  1153,  1153,  1154,  1155,  1160,  1161,  1161,  1161,  1161,
-    1161,  1163,  1163,  1163,  1164,  1164,  1166,  1167,  1171,  1175,
-    1180,  1180,  1182,  1183,  1188,  1194,  1195,  1196,  1197,  1198,
-    1199,  1203,  1204,  1205,  1209,  1210,  1211,  1212,  1216,  1217,
-    1218,  1222,  1223,  1224,  1225,  1226,  1230,  1231,  1232,  1235,
-    1236,  1237,  1238,  1239,  1240,  1241,  1242,  1249,  1250,  1251,
-    1252,  1253,  1254,  1255,  1256,  1257,  1258,  1262,  1263,  1268,
-    1269,  1270,  1271,  1272,  1273,  1276,  1277,  1282,  1283,  1290,
-    1291,  1297,  1298,  1307,  1315,  1316,  1321,  1322,  1323,  1328,
-    1341,  1341,  1341,  1341,  1341,  1341,  1341,  1344,  1348,  1352,
-    1359,  1364,  1372,  1401,  1426,  1431,  1441,  1451,  1455,  1465,
-    1472,  1481,  1488,  1493,  1498,  1505,  1506,  1513,  1520,  1528,
-    1534,  1546,  1574,  1590,  1617,  1645,  1671,  1691,  1717,  1737,
-    1749,  1756,  1822,  1832,  1842,  1848,  1858,  1864,  1874,  1880,
-    1886,  1899,  1911,  1932,  1940,  1946,  1957,  1962,  1967,  1972,
-    1977,  1983,  1989,  1995,  2003,  2014,  2018,  2026,  2026,  2029,
-    2029,  2032,  2044,  2065,  2070,  2078,  2079,  2083,  2083,  2087,
-    2087,  2090,  2093,  2117,  2129,  2128,  2140,  2139,  2149,  2148,
-    2159,  2199,  2202,  2208,  2218,  2222,  2227,  2229,  2234,  2239,
-    2248,  2258,  2269,  2273,  2282,  2291,  2296,  2425,  2425,  2427,
-    2436,  2436,  2438,  2443,  2455,  2459,  2464,  2468,  2472,  2477,
-    2482,  2486,  2490,  2494,  2498,  2502,  2506,  2528,  2550,  2556,
-    2569,  2581,  2586,  2598,  2604,  2608,  2618,  2622,  2626,  2631,
-    2638,  2638,  2644,  2653,  2658,  2663,  2667,  2676,  2685,  2694,
-    2698,  2706,  2726,  2730,  2735,  2746,  2765,  2774,  2860,  2864,
-    2871,  2882,  2895,  2905,  2916,  2926,  2937,  2945,  2955,  2962,
-    2965,  2966,  2974,  2980,  2989,  2993,  2998,  3014,  3031,  3045,
-    3059,  3073,  3087,  3099,  3107,  3114,  3120,  3126,  3132,  3147,
-    3237,  3242,  3246,  3253,  3260,  3270,  3277,  3287,  3295,  3309,
-    3326,  3340,  3355,  3370
+       0,  1136,  1136,  1136,  1136,  1136,  1136,  1136,  1136,  1136,
+    1136,  1137,  1137,  1137,  1137,  1137,  1137,  1138,  1138,  1138,
+    1138,  1138,  1138,  1139,  1139,  1139,  1139,  1139,  1139,  1142,
+    1142,  1143,  1143,  1144,  1144,  1145,  1145,  1146,  1146,  1150,
+    1150,  1151,  1151,  1152,  1152,  1153,  1153,  1154,  1154,  1155,
+    1155,  1156,  1156,  1157,  1158,  1163,  1164,  1164,  1164,  1164,
+    1164,  1166,  1166,  1166,  1167,  1167,  1169,  1170,  1174,  1178,
+    1183,  1189,  1189,  1191,  1192,  1197,  1203,  1204,  1205,  1206,
+    1207,  1208,  1212,  1213,  1214,  1218,  1219,  1220,  1221,  1225,
+    1226,  1227,  1231,  1232,  1233,  1234,  1235,  1239,  1240,  1241,
+    1244,  1245,  1246,  1247,  1248,  1249,  1250,  1251,  1258,  1259,
+    1260,  1261,  1262,  1263,  1264,  1265,  1266,  1267,  1271,  1272,
+    1277,  1278,  1279,  1280,  1281,  1282,  1285,  1286,  1291,  1292,
+    1299,  1300,  1306,  1307,  1316,  1324,  1325,  1330,  1331,  1332,
+    1337,  1350,  1350,  1350,  1350,  1350,  1350,  1350,  1353,  1357,
+    1361,  1368,  1373,  1381,  1410,  1435,  1440,  1450,  1460,  1464,
+    1474,  1481,  1490,  1497,  1502,  1507,  1514,  1515,  1522,  1529,
+    1537,  1543,  1555,  1583,  1599,  1626,  1654,  1680,  1700,  1726,
+    1746,  1758,  1765,  1831,  1841,  1851,  1857,  1867,  1873,  1883,
+    1889,  1895,  1908,  1920,  1941,  1949,  1955,  1966,  1971,  1976,
+    1981,  1986,  1992,  1998,  2004,  2012,  2023,  2027,  2035,  2035,
+    2038,  2038,  2041,  2053,  2074,  2079,  2087,  2088,  2092,  2092,
+    2096,  2096,  2099,  2102,  2126,  2138,  2137,  2149,  2148,  2158,
+    2157,  2168,  2208,  2211,  2217,  2227,  2231,  2236,  2238,  2243,
+    2248,  2257,  2267,  2278,  2282,  2291,  2300,  2305,  2434,  2434,
+    2436,  2445,  2445,  2447,  2452,  2464,  2468,  2473,  2477,  2481,
+    2486,  2491,  2495,  2499,  2503,  2507,  2511,  2515,  2537,  2559,
+    2565,  2578,  2590,  2595,  2607,  2613,  2617,  2627,  2631,  2635,
+    2640,  2647,  2647,  2653,  2662,  2667,  2672,  2676,  2685,  2694,
+    2707,  2716,  2720,  2728,  2748,  2752,  2757,  2768,  2787,  2796,
+    2882,  2886,  2893,  2904,  2917,  2926,  2939,  2950,  2960,  2971,
+    2979,  2989,  2996,  2999,  3000,  3008,  3014,  3023,  3027,  3032,
+    3048,  3065,  3079,  3093,  3107,  3121,  3133,  3141,  3148,  3154,
+    3160,  3166,  3181,  3271,  3276,  3280,  3287,  3294,  3304,  3311,
+    3321,  3329,  3343,  3360,  3374,  3389,  3404
 };
 #endif
 
@@ -1939,23 +1943,23 @@
   "'>'", "'{'", "'}'", "'c'", "$accept", "ArithmeticOps", "LogicalOps",
   "CastOps", "IPredicates", "FPredicates", "IntType", "FPType",
   "LocalName", "OptLocalName", "OptAddrSpace", "OptLocalAssign",
-  "GlobalName", "OptGlobalAssign", "GlobalAssign", "GVInternalLinkage",
-  "GVExternalLinkage", "GVVisibilityStyle", "FunctionDeclareLinkage",
-  "FunctionDefineLinkage", "AliasLinkage", "OptCallingConv", "ParamAttr",
-  "OptParamAttrs", "FuncAttr", "OptFuncAttrs", "OptGC", "OptAlign",
-  "OptCAlign", "SectionString", "OptSection", "GlobalVarAttributes",
-  "GlobalVarAttribute", "PrimType", "Types", "ArgType", "ResultTypes",
-  "ArgTypeList", "ArgTypeListI", "TypeListI", "ConstVal", "ConstExpr",
-  "ConstVector", "GlobalType", "ThreadLocal", "AliaseeRef", "Module",
-  "DefinitionList", "Definition", "@1", "@2", "@3", "@4", "@5", "AsmBlock",
-  "TargetDefinition", "LibrariesDefinition", "LibList", "ArgListH",
-  "ArgList", "FunctionHeaderH", "BEGIN", "FunctionHeader", "END",
-  "Function", "FunctionProto", "OptSideEffect", "ConstValueRef",
-  "SymbolicValueRef", "ValueRef", "ResolvedVal", "ReturnedVal",
-  "BasicBlockList", "BasicBlock", "InstructionList", "BBTerminatorInst",
-  "JumpTable", "Inst", "PHIList", "ParamList", "IndexList",
-  "ConstantIndexList", "OptTailCall", "InstVal", "OptVolatile",
-  "MemoryInst", 0
+  "LocalNumber", "GlobalName", "OptGlobalAssign", "GlobalAssign",
+  "GVInternalLinkage", "GVExternalLinkage", "GVVisibilityStyle",
+  "FunctionDeclareLinkage", "FunctionDefineLinkage", "AliasLinkage",
+  "OptCallingConv", "ParamAttr", "OptParamAttrs", "FuncAttr",
+  "OptFuncAttrs", "OptGC", "OptAlign", "OptCAlign", "SectionString",
+  "OptSection", "GlobalVarAttributes", "GlobalVarAttribute", "PrimType",
+  "Types", "ArgType", "ResultTypes", "ArgTypeList", "ArgTypeListI",
+  "TypeListI", "ConstVal", "ConstExpr", "ConstVector", "GlobalType",
+  "ThreadLocal", "AliaseeRef", "Module", "DefinitionList", "Definition",
+  "@1", "@2", "@3", "@4", "@5", "AsmBlock", "TargetDefinition",
+  "LibrariesDefinition", "LibList", "ArgListH", "ArgList",
+  "FunctionHeaderH", "BEGIN", "FunctionHeader", "END", "Function",
+  "FunctionProto", "OptSideEffect", "ConstValueRef", "SymbolicValueRef",
+  "ValueRef", "ResolvedVal", "ReturnedVal", "BasicBlockList", "BasicBlock",
+  "InstructionList", "BBTerminatorInst", "JumpTable", "Inst", "PHIList",
+  "ParamList", "IndexList", "ConstantIndexList", "OptTailCall", "InstVal",
+  "OptVolatile", "MemoryInst", 0
 };
 #endif
 
@@ -1995,34 +1999,34 @@
      176,   176,   176,   176,   176,   176,   176,   176,   176,   176,
      176,   176,   176,   176,   176,   177,   178,   178,   178,   178,
      178,   179,   179,   179,   180,   180,   181,   181,   182,   182,
-     183,   183,   184,   184,   185,   186,   186,   186,   186,   186,
-     186,   187,   187,   187,   188,   188,   188,   188,   189,   189,
-     189,   190,   190,   190,   190,   190,   191,   191,   191,   192,
-     192,   192,   192,   192,   192,   192,   192,   193,   193,   193,
-     193,   193,   193,   193,   193,   193,   193,   194,   194,   195,
-     195,   195,   195,   195,   195,   196,   196,   197,   197,   198,
-     198,   199,   199,   200,   201,   201,   202,   202,   203,   203,
-     204,   204,   204,   204,   204,   204,   204,   205,   205,   205,
-     205,   205,   205,   205,   205,   205,   205,   205,   205,   205,
-     206,   207,   207,   208,   208,   209,   209,   209,   209,   210,
-     210,   211,   211,   211,   211,   211,   211,   211,   211,   211,
-     211,   211,   211,   211,   211,   211,   211,   211,   211,   211,
-     211,   212,   212,   212,   212,   212,   212,   212,   212,   212,
-     212,   212,   212,   212,   212,   213,   213,   214,   214,   215,
-     215,   216,   216,   217,   217,   218,   218,   220,   219,   221,
-     219,   219,   219,   219,   222,   219,   223,   219,   224,   219,
-     219,   219,   219,   225,   226,   226,   227,   228,   228,   228,
-     229,   229,   230,   230,   230,   230,   231,   232,   232,   233,
-     234,   234,   235,   236,   237,   237,   238,   238,   238,   238,
-     238,   238,   238,   238,   238,   238,   238,   238,   238,   238,
-     238,   238,   238,   238,   238,   238,   239,   239,   239,   239,
-     240,   240,   241,   242,   242,   243,   243,   244,   245,   245,
-     245,   246,   246,   246,   246,   246,   246,   246,   246,   246,
-     247,   247,   248,   249,   249,   250,   250,   250,   250,   250,
-     251,   251,   252,   252,   253,   253,   254,   254,   254,   254,
-     254,   254,   254,   254,   254,   254,   254,   254,   254,   254,
-     254,   255,   255,   256,   256,   256,   256,   256,   256,   256,
-     256,   256,   256,   256
+     183,   184,   184,   185,   185,   186,   187,   187,   187,   187,
+     187,   187,   188,   188,   188,   189,   189,   189,   189,   190,
+     190,   190,   191,   191,   191,   191,   191,   192,   192,   192,
+     193,   193,   193,   193,   193,   193,   193,   193,   194,   194,
+     194,   194,   194,   194,   194,   194,   194,   194,   195,   195,
+     196,   196,   196,   196,   196,   196,   197,   197,   198,   198,
+     199,   199,   200,   200,   201,   202,   202,   203,   203,   204,
+     204,   205,   205,   205,   205,   205,   205,   205,   206,   206,
+     206,   206,   206,   206,   206,   206,   206,   206,   206,   206,
+     206,   207,   208,   208,   209,   209,   210,   210,   210,   210,
+     211,   211,   212,   212,   212,   212,   212,   212,   212,   212,
+     212,   212,   212,   212,   212,   212,   212,   212,   212,   212,
+     212,   212,   213,   213,   213,   213,   213,   213,   213,   213,
+     213,   213,   213,   213,   213,   213,   214,   214,   215,   215,
+     216,   216,   217,   217,   218,   218,   219,   219,   221,   220,
+     222,   220,   220,   220,   220,   223,   220,   224,   220,   225,
+     220,   220,   220,   220,   226,   227,   227,   228,   229,   229,
+     229,   230,   230,   231,   231,   231,   231,   232,   233,   233,
+     234,   235,   235,   236,   237,   238,   238,   239,   239,   239,
+     239,   239,   239,   239,   239,   239,   239,   239,   239,   239,
+     239,   239,   239,   239,   239,   239,   239,   240,   240,   240,
+     240,   241,   241,   242,   243,   243,   244,   244,   245,   245,
+     246,   246,   246,   247,   247,   247,   247,   247,   247,   247,
+     247,   247,   248,   248,   249,   249,   250,   250,   251,   251,
+     251,   251,   251,   252,   252,   253,   253,   254,   254,   255,
+     255,   255,   255,   255,   255,   255,   255,   255,   255,   255,
+     255,   255,   255,   255,   256,   256,   257,   257,   257,   257,
+     257,   257,   257,   257,   257,   257,   257
 };
 
 /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */
@@ -2035,34 +2039,34 @@
        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,     0,     4,     0,     2,     0,
-       1,     1,     1,     0,     2,     1,     1,     1,     1,     1,
-       1,     1,     1,     1,     0,     1,     1,     1,     0,     1,
-       1,     0,     1,     1,     1,     1,     0,     1,     1,     0,
-       1,     1,     1,     1,     1,     1,     2,     1,     1,     1,
-       1,     1,     1,     1,     1,     1,     2,     0,     2,     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,     1,     1,     1,     0,     2,     1,     1,     1,     1,
+       1,     1,     1,     1,     1,     0,     1,     1,     1,     0,
+       1,     1,     0,     1,     1,     1,     1,     0,     1,     1,
+       0,     1,     1,     1,     1,     1,     1,     2,     1,     1,
+       1,     1,     1,     1,     1,     1,     1,     2,     0,     2,
+       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,     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,    10,     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,     2,     0,
-       1,     2,     2,     3,     9,     9,     8,    14,     1,     1,
-       6,     5,     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,     8,
-       1,     1,     0,     3,     6,     3,     6,     2,     5,     7,
-       5,     4,     4,     7
+       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,    10,     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,    14,
+       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,     8,     1,     1,     0,     3,     6,     3,     6,
+       2,     5,     7,     5,     4,     4,     7
 };
 
 /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
@@ -2070,674 +2074,674 @@
    means the default is an error.  */
 static const yytype_uint16 yydefact[] =
 {
-      73,    61,    70,    62,    71,    63,   219,   217,     0,     0,
-       0,     0,     0,     0,    84,    72,     0,    73,   215,    88,
-      91,     0,     0,   231,     0,     0,    68,     0,    74,    75,
-      77,    76,    78,    81,    79,    82,    80,    83,    85,    86,
-      87,    84,    84,   210,     1,   216,    89,    90,    84,   220,
-      92,    93,    94,    95,    84,   289,   218,   289,     0,     0,
-     239,   232,   233,   221,   276,   277,   223,   140,   141,   142,
-     145,   144,   143,   146,   147,     0,     0,     0,     0,   278,
-     279,   148,   222,   150,   210,   210,    96,   209,     0,    99,
-      99,   290,   286,    69,   250,   251,   252,   285,   234,   235,
-     238,     0,   168,   151,     0,     0,     0,     0,   157,   169,
-       0,     0,   168,     0,     0,     0,    98,    97,     0,   207,
-     208,     0,     0,   100,   101,   102,   103,   104,   105,     0,
-     253,     0,   332,   288,     0,   236,   167,   117,   163,   165,
-       0,     0,     0,     0,     0,     0,   156,     0,     0,   149,
-       0,     0,   162,     0,   161,     0,   230,   140,   141,   142,
-     145,   144,   143,     0,     0,    67,    67,   106,     0,   247,
-     248,   249,   331,   315,     0,     0,     0,     0,    99,   298,
-     299,     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,   287,    99,
-     302,     0,   330,   237,   160,     0,   125,    67,    67,   159,
-       0,   170,     0,   125,    67,    67,     0,   211,   188,   189,
-     184,   186,   185,   187,   190,   183,   179,   180,     0,     0,
+      74,    61,    71,    62,    72,    63,   220,   218,     0,     0,
+       0,     0,     0,     0,    85,    73,     0,    74,   216,    89,
+      92,     0,     0,   232,     0,     0,    68,     0,    75,    76,
+      78,    77,    79,    82,    80,    83,    81,    84,    86,    87,
+      88,    85,    85,   211,     1,   217,    90,    91,    85,   221,
+      93,    94,    95,    96,    85,   291,   219,   291,     0,     0,
+     240,   233,   234,   222,   277,   278,   224,   141,   142,   143,
+     146,   145,   144,   147,   148,     0,     0,     0,     0,   279,
+     280,   149,   223,   151,   211,   211,    97,   210,     0,   100,
+     100,   292,   287,    69,   251,   252,   253,   286,   235,   236,
+     239,     0,   169,   152,     0,     0,     0,     0,   158,   170,
+       0,     0,   169,     0,     0,     0,    99,    98,     0,   208,
+     209,     0,     0,   101,   102,   103,   104,   105,   106,     0,
+     254,     0,     0,   335,   335,   290,     0,   237,   168,   118,
+     164,   166,     0,     0,     0,     0,     0,     0,   157,     0,
+       0,   150,     0,     0,   163,     0,   162,     0,   231,   141,
+     142,   143,   146,   145,   144,     0,     0,    67,    67,   107,
+       0,   248,   249,   250,    70,   334,   318,     0,     0,     0,
+       0,   100,   300,   301,     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,     0,     0,     0,     0,     0,   182,   181,   224,     0,
-     314,   292,    67,   283,   291,     0,     0,    55,     0,     0,
-      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,
-     131,   131,   337,    67,    67,   328,     0,     0,     0,     0,
-       0,    67,    67,    67,    67,    67,     0,     0,     0,     0,
-       0,   108,   110,   109,   107,   111,   112,   113,   114,   115,
-     118,   166,   164,   153,   154,   155,   158,    66,   152,   226,
-     228,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,   172,   206,     0,     0,     0,   176,     0,
-     173,     0,     0,     0,   136,   245,   256,   257,   258,   259,
-     260,   265,   261,   262,   263,   264,   254,     0,     0,     0,
-       0,   274,   281,   280,   282,     0,     0,   293,     0,     0,
-      67,    67,    67,    67,     0,   333,     0,   335,   310,     0,
+       0,   288,   100,   304,     0,   333,   289,   305,   238,   161,
+       0,   126,    67,    67,   160,     0,   171,     0,   126,    67,
+      67,     0,   212,   189,   190,   185,   187,   186,   188,   191,
+     184,   180,   181,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,    67,     0,   116,   122,   121,   119,   120,
-     123,   124,   126,   136,   136,     0,     0,     0,     0,     0,
-     310,     0,     0,     0,     0,     0,     0,     0,   171,   157,
-     169,     0,   174,   175,     0,     0,     0,     0,   225,   244,
-     117,   242,     0,   255,     0,   268,     0,     0,     0,   271,
-       0,   269,   284,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,   341,     0,     0,     0,   324,   325,     0,
-       0,     0,     0,   342,     0,     0,     0,   322,     0,   131,
-       0,   227,   229,    67,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,   205,   178,     0,     0,     0,
-       0,     0,     0,   138,   136,    65,     0,   125,     0,   267,
-     157,     0,   266,   270,     0,     0,   309,     0,     0,     0,
-       0,   131,   132,   131,     0,     0,     0,     0,     0,     0,
-     340,   312,     0,    67,   316,   317,   309,     0,   338,    67,
-     212,     0,     0,     0,     0,   192,     0,     0,     0,     0,
-     203,     0,   177,     0,     0,    67,   133,   139,   137,    64,
-     241,   243,   117,   134,     0,   273,     0,     0,     0,   117,
-     117,     0,   318,   319,   320,   321,   334,   336,   311,     0,
-       0,   323,   326,   327,   313,     0,     0,   131,     0,     0,
-       0,     0,     0,   200,     0,     0,     0,   194,   195,   191,
-      65,   135,   129,   275,   272,     0,     0,     0,     0,   125,
-       0,   303,     0,   343,   125,   339,   196,   197,   198,   199,
-       0,     0,     0,   204,   240,     0,   127,     0,   296,     0,
-       0,   108,   110,   117,   117,     0,   117,   117,   304,   329,
-     193,   201,   202,   130,     0,   246,   294,     0,   295,     0,
-     306,   305,     0,     0,     0,   128,     0,     0,     0,   117,
-     117,     0,     0,     0,   308,   307,   301,     0,     0,   300,
-       0,   297
+       0,   183,   182,   225,     0,   317,   294,    67,   284,   293,
+       0,     0,    55,     0,     0,    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,   132,   132,   340,    67,    67,
+     331,     0,     0,     0,     0,     0,    67,    67,    67,    67,
+      67,     0,     0,     0,     0,     0,   109,   111,   110,   108,
+     112,   113,   114,   115,   116,   119,   167,   165,   154,   155,
+     156,   159,    66,   153,   227,   229,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,   173,   207,
+       0,     0,     0,   177,     0,   174,     0,     0,     0,   137,
+     246,   257,   258,   259,   260,   261,   266,   262,   263,   264,
+     265,   255,     0,     0,     0,     0,   275,   282,   281,   283,
+       0,     0,   295,     0,     0,    67,    67,    67,    67,     0,
+     336,     0,   338,   313,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,    67,     0,
+     117,   123,   122,   120,   121,   124,   125,   127,   137,   137,
+       0,     0,     0,     0,     0,   313,     0,     0,     0,     0,
+       0,     0,     0,   172,   158,   170,     0,   175,   176,     0,
+       0,     0,     0,   226,   245,   118,   243,     0,   256,     0,
+     269,     0,     0,     0,   272,     0,   270,   285,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,   344,     0,
+       0,     0,   327,   328,     0,     0,     0,     0,   345,     0,
+       0,     0,   325,     0,   132,     0,   228,   230,    67,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+     206,   179,     0,     0,     0,     0,     0,     0,   139,   137,
+      65,     0,   126,     0,   268,   158,     0,   267,   271,     0,
+       0,   312,     0,     0,     0,     0,   132,   133,   132,     0,
+       0,     0,     0,     0,     0,   343,   315,     0,    67,   319,
+     320,   312,     0,   341,    67,   213,     0,     0,     0,     0,
+     193,     0,     0,     0,     0,   204,     0,   178,     0,     0,
+      67,   134,   140,   138,    64,   242,   244,   118,   135,     0,
+     274,     0,     0,     0,   118,   118,     0,   321,   322,   323,
+     324,   337,   339,   314,     0,     0,   326,   329,   330,   316,
+       0,     0,   132,     0,     0,     0,     0,     0,   201,     0,
+       0,     0,   195,   196,   192,    65,   136,   130,   276,   273,
+       0,     0,     0,     0,   126,     0,   306,     0,   346,   126,
+     342,   197,   198,   199,   200,     0,     0,     0,   205,   241,
+       0,   128,     0,   298,     0,     0,   109,   111,   118,   118,
+       0,   118,   118,   307,   332,   194,   202,   203,   131,     0,
+     247,   296,     0,   297,     0,   309,   308,     0,     0,     0,
+     129,     0,     0,     0,   118,   118,     0,     0,     0,   311,
+     310,   303,     0,     0,   302,     0,   299
 };
 
 /* YYDEFGOTO[NTERM-NUM].  */
 static const yytype_int16 yydefgoto[] =
 {
-      -1,   273,   274,   275,   300,   317,   163,   164,    79,   590,
-     113,    12,    80,    14,    15,    41,    42,    43,    48,    54,
-     118,   129,   350,   234,   442,   353,   675,   656,   415,   533,
-     632,   468,   534,    81,   165,   138,   155,   139,   140,   110,
-     374,   401,   375,   121,    88,   156,    16,    17,    18,    20,
-      19,   384,   443,   444,    63,    23,    61,   101,   471,   472,
-     130,   171,    55,    96,    56,    49,   474,   402,    83,   404,
-     283,   284,    57,    92,    93,   228,   660,   133,   325,   601,
-     493,   503,   229,   230,   231,   232
+      -1,   278,   279,   280,   305,   322,   165,   166,    79,   595,
+     113,    12,   134,    80,    14,    15,    41,    42,    43,    48,
+      54,   118,   129,   355,   239,   447,   358,   680,   661,   420,
+     538,   637,   473,   539,    81,   167,   140,   157,   141,   142,
+     110,   379,   406,   380,   121,    88,   158,    16,    17,    18,
+      20,    19,   389,   448,   449,    63,    23,    61,   101,   476,
+     477,   130,   173,    55,    96,    56,    49,   479,   407,    83,
+     409,   288,   289,    57,    92,    93,   231,   665,   135,   330,
+     606,   498,   508,   232,   233,   234,   235
 };
 
 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
    STATE-NUM.  */
-#define YYPACT_NINF -623
+#define YYPACT_NINF -615
 static const yytype_int16 yypact[] =
 {
-     493,  -623,  -623,  -623,  -623,  -623,  -623,  -623,    18,  -104,
-      15,  -100,    70,   -57,    -3,  -623,   148,   542,  -623,   191,
-     228,   -29,     9,  -623,    44,   159,  -623,  1927,  -623,  -623,
-    -623,  -623,  -623,  -623,  -623,  -623,  -623,  -623,  -623,  -623,
-    -623,    33,    33,   222,  -623,  -623,  -623,  -623,    33,  -623,
-    -623,  -623,  -623,  -623,    33,   196,  -623,   -10,   201,   208,
-     218,  -623,  -623,  -623,  -623,  -623,    93,  -623,  -623,  -623,
-    -623,  -623,  -623,  -623,  -623,   256,   262,     2,   624,  -623,
-    -623,  -623,    10,  -623,   250,   250,   235,  -623,    78,   310,
-     310,  -623,  -623,   254,  -623,  -623,  -623,  -623,  -623,  -623,
-    -623,   -32,  1645,  -623,   125,   139,   806,    93,  -623,    10,
-    -109,   137,  1645,   153,    78,    78,  -623,  -623,  1686,  -623,
-    -623,  1945,   314,  -623,  -623,  -623,  -623,  -623,  -623,  1974,
-    -623,   -12,  2208,  -623,   301,  -623,  -623,    10,  -623,   167,
-     177,  1992,  1992,   170,  -107,  1992,  -623,   334,   193,  -623,
-    1945,  1992,    93,   197,    10,   205,  -623,    63,   346,   347,
-     348,   349,   355,   243,   357,  1509,   312,  -623,   122,  -623,
-    -623,  -623,  -623,  -623,   324,  2033,   129,   371,   310,  -623,
-    -623,  -623,  -623,  -623,  -623,  -623,  -623,  -623,  -623,  -623,
-    -623,  -623,  -623,  -623,  -623,  -623,   245,   548,   245,   548,
-    1992,  1992,  1992,  1992,  -623,  -623,  -623,  -623,  -623,  -623,
-    -623,  -623,  -623,  -623,  -623,  -623,  1992,  1992,  1992,  1992,
-    1992,  1992,  1992,  1992,  1992,  1992,  1992,  1992,  -623,   310,
-    -623,    39,  -623,  -623,   331,  1704,  -623,   -31,   -28,  -623,
-     216,    10,   226,  -623,   312,     8,  1686,  -623,  -623,  -623,
-    -623,  -623,  -623,  -623,  -623,  -623,  -623,  -623,   245,   548,
-     245,   548,   229,   230,   231,   232,   233,   234,   236,  1745,
-    2051,  1126,   370,   237,   246,   247,  -623,  -623,  -623,   251,
-    -623,    93,   908,  -623,   240,  1076,  1076,  -623,  1076,  1974,
-    -623,  -623,  -623,  -623,  -623,  -623,  -623,  -623,  -623,  -623,
-    1992,  -623,  -623,  -623,  -623,  -623,  -623,  -623,  -623,  -623,
-    -623,  -623,  -623,  -623,  -623,  -623,  -623,  1992,  1992,  1992,
-     -40,    22,  -623,   908,     6,   242,   249,   253,   257,   258,
-     260,   908,   908,   908,   908,   908,   369,  1974,  1992,  1992,
-     407,  -623,  -623,  -623,  -623,  -623,  -623,  -623,  -623,  -623,
-    -623,  -623,  -623,   158,  -623,  -623,  -623,  -623,   158,  -623,
-     153,   376,   259,   264,   265,   266,  1945,  1945,  1945,  1945,
-    1945,  1945,  1945,  -623,  -623,    66,  1170,  -111,  -623,   -88,
-    -623,  1945,  1945,  1945,   267,  1764,  -623,  -623,  -623,  -623,
-    -623,  -623,  -623,  -623,  -623,  -623,   363,  1808,  2107,  1403,
-     406,  -623,  -623,  -623,  -623,  1992,   269,  -623,   270,  1076,
-     908,   908,   908,   908,    25,  -623,    43,  -623,  -623,  1076,
-     268,  1992,  1992,  1992,  1992,  1992,   272,   277,   279,   280,
-     281,  1992,  1076,   908,   284,  -623,  -623,  -623,  -623,  -623,
-    -623,  -623,  -623,   267,   267,  1992,  1945,  1945,  1945,  1945,
-    -623,   285,   286,   287,   288,   277,   289,  1945,  -623,   283,
-    1357,   -87,  -623,  -623,   292,   295,   418,    16,  -623,  -623,
-      10,   297,   300,  -623,   439,  -623,    73,  1449,   -59,  -623,
-     -69,  -623,  -623,   446,   454,   315,   322,   332,   335,   336,
-    1076,   487,  1076,   338,   339,  1076,   340,    10,  -623,   341,
-     342,   490,   499,   354,  1992,  1076,  1076,    10,   361,   359,
-    1992,  -623,  -623,     3,   362,   365,   366,   367,   130,  1945,
-    1945,  1945,  1945,   146,  1945,  -623,  -623,   374,  1945,  1945,
-    1992,   507,   517,  -623,   267,   119,  1866,  -623,   377,  -623,
-     379,   -65,  -623,  -623,  1076,  1076,  2154,  1076,  1076,  1076,
-    1076,   359,  -623,   359,  1992,  1076,   383,  1992,  1992,  1992,
-    -623,  -623,   530,   908,  -623,  -623,  2154,   494,  -623,   908,
-    -623,  1945,  1945,  1945,  1945,  -623,   384,   389,   390,   391,
-    -623,   277,  -623,   394,   396,    28,  -623,  -623,  -623,  -623,
-    -623,  -623,    10,   -20,   533,  -623,   392,   403,   393,    23,
-      10,   161,  -623,  -623,  -623,  -623,  -623,  -623,  -623,   402,
-    1076,  -623,  -623,  -623,  -623,   277,   168,   359,   410,   411,
-     412,   413,  1945,  -623,  1945,  1945,   176,  -623,  -623,  -623,
-     119,  -623,   522,  -623,  -623,   561,    -1,   756,   756,  -623,
-    2213,  -623,   414,   354,  -623,  -623,  -623,  -623,  -623,  -623,
-     422,   423,   424,  -623,  -623,   584,   436,  1076,  -623,  1222,
-       1,   433,   434,  -623,  -623,   173,    23,    10,  -623,   158,
-    -623,  -623,  -623,  -623,   570,  -623,  -623,   435,  -623,  1222,
-     331,   331,   579,   756,   756,  -623,   580,   440,  1076,  -623,
-    -623,  1076,   582,   527,   331,   331,  -623,  1076,   588,  -623,
-    1076,  -623
+     498,  -615,  -615,  -615,  -615,  -615,  -615,  -615,     2,  -101,
+      46,   -19,   101,    -9,   227,  -615,   168,   547,  -615,    49,
+     266,    22,    25,  -615,    24,   170,  -615,  1932,  -615,  -615,
+    -615,  -615,  -615,  -615,  -615,  -615,  -615,  -615,  -615,  -615,
+    -615,   -81,   -81,   181,  -615,  -615,  -615,  -615,   -81,  -615,
+    -615,  -615,  -615,  -615,   -81,   205,  -615,   -10,   197,   212,
+     219,  -615,  -615,  -615,  -615,  -615,    97,  -615,  -615,  -615,
+    -615,  -615,  -615,  -615,  -615,   259,   263,     3,   629,  -615,
+    -615,  -615,   -12,  -615,   240,   240,   211,  -615,   142,   387,
+     387,  -615,  -615,    77,  -615,  -615,  -615,  -615,  -615,  -615,
+    -615,   -53,  1650,  -615,   120,   143,   811,    97,  -615,   -12,
+    -112,   173,  1650,   166,   142,   142,  -615,  -615,  1691,  -615,
+    -615,  1950,   335,  -615,  -615,  -615,  -615,  -615,  -615,  1979,
+    -615,    -8,   184,  2213,  2213,  -615,   325,  -615,  -615,   -12,
+    -615,   193,   196,  1997,  1997,   189,  -104,  1997,  -615,   355,
+     202,  -615,  1950,  1997,    97,   204,   -12,   242,  -615,    41,
+     353,   354,   361,   362,   366,   277,   368,  1514,   323,  -615,
+     141,  -615,  -615,  -615,  -615,  -615,  -615,   322,  2038,    72,
+     369,   387,  -615,  -615,  -615,  -615,  -615,  -615,  -615,  -615,
+    -615,  -615,  -615,  -615,  -615,  -615,  -615,  -615,  -615,   559,
+     285,   559,   285,  1997,  1997,  1997,  1997,  -615,  -615,  -615,
+    -615,  -615,  -615,  -615,  -615,  -615,  -615,  -615,  -615,  1997,
+    1997,  1997,  1997,  1997,  1997,  1997,  1997,  1997,  1997,  1997,
+    1997,  -615,   387,  -615,   104,  -615,  -615,  -615,  -615,   183,
+    1709,  -615,   -34,   -41,  -615,   238,   -12,   249,  -615,   323,
+     -29,  1691,  -615,  -615,  -615,  -615,  -615,  -615,  -615,  -615,
+    -615,  -615,  -615,   559,   285,   559,   285,   251,   252,   255,
+     256,   257,   261,   262,  1750,  2056,  1131,   394,   264,   265,
+     268,  -615,  -615,  -615,   269,  -615,    97,   913,  -615,   272,
+    1081,  1081,  -615,  1081,  1979,  -615,  -615,  -615,  -615,  -615,
+    -615,  -615,  -615,  -615,  -615,  1997,  -615,  -615,  -615,  -615,
+    -615,  -615,  -615,  -615,  -615,  -615,  -615,  -615,  -615,  -615,
+    -615,  -615,  1997,  1997,  1997,   -28,    67,  -615,   913,   -33,
+     273,   274,   275,   276,   282,   284,   913,   913,   913,   913,
+     913,   385,  1979,  1997,  1997,   423,  -615,  -615,  -615,  -615,
+    -615,  -615,  -615,  -615,  -615,  -615,  -615,  -615,   198,  -615,
+    -615,  -615,  -615,   198,  -615,   166,   390,   280,   288,   289,
+     300,  1950,  1950,  1950,  1950,  1950,  1950,  1950,  -615,  -615,
+     -52,  1175,  -107,  -615,   -79,  -615,  1950,  1950,  1950,   298,
+    1769,  -615,  -615,  -615,  -615,  -615,  -615,  -615,  -615,  -615,
+    -615,   398,  1813,  2112,  1408,   407,  -615,  -615,  -615,  -615,
+    1997,   301,  -615,   302,  1081,   913,   913,   913,   913,    18,
+    -615,    28,  -615,  -615,  1081,   297,  1997,  1997,  1997,  1997,
+    1997,   306,   308,   311,   316,   317,  1997,  1081,   913,   318,
+    -615,  -615,  -615,  -615,  -615,  -615,  -615,  -615,   298,   298,
+    1997,  1950,  1950,  1950,  1950,  -615,   319,   321,   324,   326,
+     308,   336,  1950,  -615,   315,  1362,   -58,  -615,  -615,   337,
+     339,   447,    15,  -615,  -615,   -12,   340,   343,  -615,   473,
+    -615,   -40,  1454,  -106,  -615,    -2,  -615,  -615,   486,   487,
+     348,   346,   347,   359,   363,  1081,   504,  1081,   364,   367,
+    1081,   370,   -12,  -615,   371,   372,   522,   530,   379,  1997,
+    1081,  1081,   -12,   389,   382,  1997,  -615,  -615,   -14,   388,
+     391,   392,   393,   134,  1950,  1950,  1950,  1950,   135,  1950,
+    -615,  -615,   397,  1950,  1950,  1997,   527,   551,  -615,   298,
+      40,  1871,  -615,   396,  -615,   401,    52,  -615,  -615,  1081,
+    1081,  2159,  1081,  1081,  1081,  1081,   382,  -615,   382,  1997,
+    1081,   399,  1997,  1997,  1997,  -615,  -615,   553,   913,  -615,
+    -615,  2159,   506,  -615,   913,  -615,  1950,  1950,  1950,  1950,
+    -615,   412,   403,   413,   414,  -615,   308,  -615,   417,   418,
+       8,  -615,  -615,  -615,  -615,  -615,  -615,   -12,     4,   557,
+    -615,   416,   420,   421,    -4,   -12,   161,  -615,  -615,  -615,
+    -615,  -615,  -615,  -615,   422,  1081,  -615,  -615,  -615,  -615,
+     308,   162,   382,   427,   428,   435,   436,  1950,  -615,  1950,
+    1950,   188,  -615,  -615,  -615,    40,  -615,   541,  -615,  -615,
+     564,     5,   761,   761,  -615,  2218,  -615,   431,   379,  -615,
+    -615,  -615,  -615,  -615,  -615,   439,   442,   443,  -615,  -615,
+     598,   451,  1081,  -615,  1227,     7,   448,   449,  -615,  -615,
+     100,    -4,   -12,  -615,   198,  -615,  -615,  -615,  -615,   588,
+    -615,  -615,   454,  -615,  1227,   183,   183,   600,   761,   761,
+    -615,   601,   455,  1081,  -615,  -615,  1081,   603,   549,   183,
+     183,  -615,  1081,   604,  -615,  1081,  -615
 };
 
 /* YYPGOTO[NTERM-NUM].  */
 static const yytype_int16 yypgoto[] =
 {
-    -623,   477,   478,   480,  -164,  -152,  -170,  -623,     0,   -17,
-    -146,   523,     4,  -623,  -623,  -623,  -623,    64,  -623,  -623,
-    -623,  -145,  -623,  -445,  -623,  -238,  -623,  -623,  -295,    26,
-    -623,  -421,  -623,  -623,   -26,   380,  -127,  -623,   506,   515,
-     -86,  -162,  -262,    89,   223,   378,  -623,  -623,   605,  -623,
-    -623,  -623,  -623,  -623,  -623,  -623,  -623,  -623,  -623,  -623,
-     535,  -623,  -623,  -623,  -623,  -623,  -623,  -622,   -80,   174,
-    -189,  -623,  -623,   566,  -623,  -623,  -623,  -623,  -623,    60,
-     178,  -437,  -623,  -623,  -623,  -623
+    -615,    96,   112,   190,  -165,  -160,  -178,  -615,     0,   -11,
+    -140,   533,  -615,     6,  -615,  -615,  -615,  -615,    37,  -615,
+    -615,  -615,  -144,  -615,  -463,  -615,  -238,  -615,  -615,  -323,
+      29,  -615,  -424,  -615,  -615,   -26,   410,  -125,  -615,   516,
+     523,   -86,  -162,  -267,   200,   267,   380,  -615,  -615,   613,
+    -615,  -615,  -615,  -615,  -615,  -615,  -615,  -615,  -615,  -615,
+    -615,   542,  -615,  -615,  -615,  -615,  -615,  -615,  -614,   -80,
+     174,  -190,  -615,  -615,   576,  -615,   500,  -615,  -615,  -615,
+      76,   209,  -447,  -615,   531,  -615,  -615
 };
 
 /* 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 -215
+#define YYTABLE_NINF -216
 static const yytype_int16 yytable[] =
 {
-      11,    82,   168,   276,    13,   358,   105,   288,   377,   379,
-     287,    91,   287,   322,   531,   111,   169,    11,   523,    94,
-     278,    13,   511,   512,   111,   535,   417,   111,   326,   327,
-     328,   329,   330,   289,   318,   166,   490,   677,   336,    29,
-      30,    31,    32,    33,    34,    35,    36,   319,    37,   457,
-     531,   145,   109,   145,   492,    24,   462,   687,   111,    26,
-     146,   111,   240,   111,   244,   111,   -55,   -55,   -55,   -55,
-     532,    21,   457,   457,    25,   247,   137,   111,  -146,   491,
-     109,   463,   527,   111,   337,   277,   137,    22,    27,   248,
-     249,   457,   154,    11,   362,   457,   364,   491,   359,   360,
-     543,   457,    28,   154,   596,    84,    85,   363,   542,   365,
-     119,   120,    89,   588,   461,   237,   238,   112,    90,   241,
-     414,   -67,   436,   437,   438,   245,   112,   439,   134,   112,
-      58,   440,   441,   135,   354,   476,   478,   480,     1,   355,
-     285,     3,     2,     5,   626,     4,   286,   630,    44,   282,
-     434,    38,    39,    40,   637,   638,   170,   338,   339,    95,
-     112,   570,   409,   112,   658,   112,   678,   112,    59,   419,
-     106,   -67,   279,   340,   320,   321,   282,   323,   643,   112,
-    -146,    62,   416,   -67,  -146,   112,   629,    38,    39,    40,
-     324,   282,   282,   282,   282,   282,   331,   332,   333,   334,
-     335,   282,   403,   150,   151,   403,   403,    60,   403,   137,
-     432,   682,    64,    65,   568,   541,   482,    91,   680,   681,
-     154,   683,   684,    98,     1,     2,   457,     3,     4,     5,
-      99,   458,   496,   457,   498,   499,   500,    46,   539,    47,
-     100,   341,   342,   403,   694,   695,   250,   251,   252,   253,
-     102,   403,   403,   403,   403,   403,   606,    86,   607,    87,
-     103,   343,   344,   154,   345,   346,   104,   347,   348,   349,
-      50,    51,    52,     1,   410,    53,     3,   116,     5,   117,
-     450,   451,   452,   453,   454,   455,   456,    87,   575,   141,
-     554,   411,   412,   413,   147,   464,   465,   466,   276,   593,
-     436,   437,   438,   142,   580,   439,   562,   114,   115,   440,
-     441,   154,   433,   282,   149,   436,   437,   438,   167,   639,
-     439,   640,   645,   233,   440,   441,   644,   235,   640,   403,
-     403,   403,   403,   403,   653,   236,   562,   239,   242,   403,
-     290,   291,   292,   293,   294,   295,   296,   297,   298,   299,
-     460,   243,   403,   403,   246,   -56,   -57,   -60,   -59,   470,
-     514,   515,   516,   517,   -58,   608,   254,   111,   611,   612,
-     613,   525,   122,   123,   124,   125,   126,   127,   128,   282,
-     277,   280,   287,   356,   357,   340,   366,   367,   368,   369,
-     370,   371,   380,   372,   381,   282,   497,   282,   282,   282,
-     405,   665,   420,   382,   383,   507,   669,   431,   385,   421,
-     403,   435,   403,   422,   445,   403,   446,   423,   424,   513,
-     425,   447,   448,   449,   473,   403,   403,   467,   481,   483,
-     484,   495,   501,   576,   577,   578,   579,   502,   581,   504,
-     505,   506,   583,   584,   510,   519,   520,   521,   522,   524,
-     526,   460,   528,   341,   342,   529,   530,   536,   537,   406,
-     407,   538,   408,   544,   403,   403,   659,   403,   403,   403,
-     403,   545,   546,   343,   344,   403,   345,   346,   563,   347,
-     348,   349,   547,   403,   569,   618,   619,   620,   621,   403,
-     679,   552,   548,  -214,   560,   549,   550,   418,   554,   555,
-     557,   558,   559,   561,   585,   426,   427,   428,   429,   430,
-     592,   -69,     1,     2,   562,     3,     4,     5,   566,   567,
-     600,   587,   571,     6,     7,   572,   573,   574,   282,   586,
-     403,   282,   282,   282,   614,   589,   650,   594,   651,   652,
-     600,   582,  -213,   610,   622,     8,   595,   623,   491,     9,
-     624,   625,   627,    10,   628,   633,   636,   403,   403,   634,
-     -69,     1,     2,   635,     3,     4,     5,   641,   646,   647,
-     648,   649,     6,     7,   301,   302,   655,   403,   657,   668,
-     670,   671,   672,   485,   486,   487,   488,   489,   673,   674,
-     -18,   -19,   685,   494,     8,   686,   688,   691,     9,   697,
-     692,   698,    10,   403,   403,   700,   508,   509,   403,   225,
-     226,   403,   227,   654,   667,   352,   132,   403,   148,   631,
-     403,   144,    45,    97,   361,   131,   616,     0,   518,     0,
-     589,    64,    65,     0,   107,    67,    68,    69,    70,    71,
-      72,    73,     0,     1,     2,     0,     3,     4,     5,   303,
-     304,   305,   306,   307,   308,   309,   310,   311,   312,   313,
-     314,   315,   316,     0,   551,     0,   553,     0,     0,   556,
-       0,     0,     0,     0,    74,     0,     0,     0,     0,   564,
-     565,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+      11,    82,   293,   422,   170,   281,    13,   105,   382,   384,
+     363,    91,   540,   528,   111,   327,   292,    11,   292,    94,
+     171,   111,   111,    13,   516,   517,   111,   111,   283,   495,
+     331,   332,   333,   334,   335,   168,   323,   294,   536,   497,
+     341,   111,   324,   111,   -55,   -55,   -55,   -55,   147,   536,
+     682,  -147,   109,   462,   462,    21,   147,   148,    24,     1,
+     467,   547,     3,   111,     5,   245,   249,   253,   254,   537,
+     692,    22,   496,    38,    39,    40,   139,   252,    84,    85,
+     109,   462,   496,   290,   132,    89,   139,   282,   342,   291,
+     468,    90,   156,    11,   345,    46,     1,    47,   367,     3,
+     369,     5,   462,   156,   368,    25,   370,   136,   462,   364,
+     365,   532,   137,   463,   466,   593,   112,   242,   243,    27,
+     462,   246,   111,   112,   112,   544,   360,   250,   112,   112,
+     424,   359,   419,   -67,   635,   481,   483,   485,   687,   631,
+      26,   642,   643,   112,   575,   112,   441,   442,   443,   -67,
+      28,   444,   287,  -147,   439,   445,   446,  -147,   462,    95,
+     172,     2,   346,   347,     4,   112,   634,   548,    44,   414,
+     663,   106,   683,   648,   119,   120,   284,   325,   326,   287,
+     328,    58,   348,   349,    59,   350,   351,    60,   352,   353,
+     354,   573,    62,   329,   287,   287,   287,   287,   287,   336,
+     337,   338,   339,   340,   287,   685,   686,   408,   688,   689,
+     408,   408,   462,   408,   139,   546,    86,   437,    87,    98,
+     487,   601,   343,   344,   112,   156,    91,   421,   -67,   228,
+     228,   699,   700,   611,    99,   612,   501,   345,   503,   504,
+     505,   100,   441,   442,   443,   229,   229,   444,   408,    64,
+      65,   445,   446,   116,   102,   117,   408,   408,   408,   408,
+     408,     1,     2,   103,     3,     4,     5,   104,   156,    29,
+      30,    31,    32,    33,    34,    35,    36,    87,    37,   415,
+     255,   256,   257,   258,   143,   455,   456,   457,   458,   459,
+     460,   461,   580,   585,   559,   567,   416,   417,   418,   650,
+     469,   470,   471,   281,   598,   346,   347,   144,    50,    51,
+      52,   306,   307,    53,   152,   153,   156,   438,   287,   644,
+     649,   645,   645,   230,   230,   348,   349,   151,   350,   351,
+     149,   352,   353,   354,   408,   408,   408,   408,   408,   169,
+     441,   442,   443,   174,   408,   444,   658,   238,   567,   445,
+     446,   114,   115,   240,   241,   465,   244,   408,   408,   247,
+     248,   251,   -56,   -57,   475,   519,   520,   521,   522,   613,
+     -60,   -59,   616,   617,   618,   -58,   530,   259,   111,   285,
+     292,    38,    39,    40,   287,   282,   308,   309,   310,   311,
+     312,   313,   314,   315,   316,   317,   318,   319,   320,   321,
+     287,   502,   287,   287,   287,   361,   670,   362,   371,   372,
+     512,   674,   373,   374,   375,   408,   385,   408,   376,   377,
+     408,   386,   387,   436,   518,   388,   390,   440,   450,   486,
+     408,   408,   410,   425,   426,   427,   428,   451,   581,   582,
+     583,   584,   429,   586,   430,   452,   453,   588,   589,   122,
+     123,   124,   125,   126,   127,   128,   465,   454,   472,   478,
+     500,   488,   489,   664,   411,   412,   506,   413,   507,   408,
+     408,   509,   408,   408,   408,   408,   510,   511,   515,   524,
+     408,   525,   531,   568,   526,   535,   527,   684,   408,   574,
+     623,   624,   625,   626,   408,   543,   529,   533,  -215,   534,
+     541,   542,   423,   549,   550,   551,   552,   553,   557,   590,
+     431,   432,   433,   434,   435,   597,   -69,     1,     2,   554,
+       3,     4,     5,   555,   559,   605,   565,   560,     6,     7,
+     562,   563,   564,   287,   566,   408,   287,   287,   287,   567,
+     594,   655,   572,   656,   657,   605,   571,  -214,   576,   591,
+       8,   577,   578,   579,     9,   592,   599,   619,    10,   615,
+     496,   628,   408,   408,   587,   -69,     1,     2,   600,     3,
+       4,     5,   627,   629,   630,   632,   633,     6,     7,   638,
+     640,   662,   408,   639,   641,   651,   652,   646,   490,   491,
+     492,   493,   494,   653,   654,   660,   673,   675,   499,     8,
+     676,   677,   678,     9,   679,   -18,   -19,    10,   408,   408,
+     690,   513,   514,   408,   691,   697,   408,   693,   696,   672,
+     702,   705,   408,   703,   659,   408,   133,   636,   150,   146,
+      45,   366,   131,    97,   236,   594,    64,    65,     0,   107,
+      67,    68,    69,    70,    71,    72,    73,   621,     1,     2,
+     357,     3,     4,     5,   295,   296,   297,   298,   299,   300,
+     301,   302,   303,   304,   523,   237,     0,     0,     0,   556,
+       0,   558,     0,     0,   561,     0,     0,     0,     0,    74,
+       0,     0,     0,     0,   569,   570,     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,   597,   598,
-       0,   602,   603,   604,   605,     0,     0,     0,     0,   609,
-       0,     0,     0,     0,     0,     0,     0,   615,     0,     0,
-       0,     0,     0,   617,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,   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,   642,     0,    75,    76,     0,     0,
-      77,     0,    78,   108,     0,     0,   394,   395,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-     340,   663,   664,    64,    65,   396,   107,    67,    68,    69,
-      70,    71,    72,    73,     0,     1,     2,     0,     3,     4,
-       5,   676,   181,   182,   183,   184,   185,   186,   187,   188,
-     189,   190,   191,   192,   193,   194,   195,   258,   259,   260,
-     261,     0,     0,     0,     0,     0,    74,   689,   690,     0,
-       0,     0,   693,     0,     0,   696,     0,     0,     0,     0,
-       0,   699,     0,     0,   701,     0,   262,   204,   661,   662,
-     207,   208,   209,   210,   211,   212,   213,   214,   215,     0,
-     263,     0,   264,   265,   266,     0,   267,   268,   343,   344,
-       0,   345,   346,     0,   347,   348,   349,     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,   602,   603,     0,   607,   608,   609,   610,
+       0,     0,     0,     0,   614,     0,     0,     0,     0,     0,
+       0,     0,   620,     0,     0,     0,     0,     0,   622,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,   111,     0,     0,     0,   396,    75,    76,
-       0,     0,    77,     0,    78,   143,     0,     0,     0,     0,
-       0,     0,     0,     0,   181,   182,   183,   184,   185,   186,
-     187,   188,   189,   190,   191,   192,   193,   194,   195,   258,
-     259,   260,   261,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,   391,   392,   393,   394,    64,    65,
+     395,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       1,     2,     0,     3,     4,     5,   396,   397,   398,   647,
+       0,    75,    76,     0,     0,    77,     0,    78,   108,     0,
+       0,   399,   400,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,   345,   668,   669,    64,    65,
+     401,   107,    67,    68,    69,    70,    71,    72,    73,     0,
+       1,     2,     0,     3,     4,     5,   681,   184,   185,   186,
+     187,   188,   189,   190,   191,   192,   193,   194,   195,   196,
+     197,   198,   263,   264,   265,   266,     0,     0,     0,     0,
+       0,    74,   694,   695,     0,     0,     0,   698,     0,     0,
+     701,     0,     0,     0,     0,     0,   704,     0,     0,   706,
+       0,   267,   207,   666,   667,   210,   211,   212,   213,   214,
+     215,   216,   217,   218,     0,   268,     0,   269,   270,   271,
+       0,   272,   273,   348,   349,     0,   350,   351,     0,   352,
+     353,   354,     0,     0,     0,     0,   391,   392,   393,   394,
+      64,    65,   395,     0,   402,     0,     0,   403,     0,   404,
+       0,   405,     1,     2,     0,     3,     4,     5,   396,   397,
+     398,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,   399,   400,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,   111,     0,
+       0,     0,   401,    75,    76,     0,     0,    77,     0,    78,
+     145,     0,     0,     0,     0,     0,     0,     0,     0,   184,
+     185,   186,   187,   188,   189,   190,   191,   192,   193,   194,
+     195,   196,   197,   198,   263,   264,   265,   266,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,   262,   204,
-     205,   206,   207,   208,   209,   210,   211,   212,   213,   214,
-     215,     0,   263,     0,   264,   265,   266,     0,   267,   268,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,   112,     0,     0,     0,     0,
-       0,   397,     0,     0,   398,     0,   399,     0,   400,   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,   394,   395,     0,     0,
+       0,     0,     0,   267,   207,   208,   209,   210,   211,   212,
+     213,   214,   215,   216,   217,   218,     0,   268,     0,   269,
+     270,   271,     0,   272,   273,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,    64,    65,   396,   107,   157,   158,   159,
-     160,   161,   162,    73,     0,     1,     2,     0,     3,     4,
-       5,     0,   181,   182,   183,   184,   185,   186,   187,   188,
-     189,   190,   191,   192,   193,   194,   195,   258,   259,   260,
-     261,     0,     0,     0,     0,     0,    74,    64,    65,     0,
-     107,   157,   158,   159,   160,   161,   162,    73,     0,     1,
-       2,     0,     3,     4,     5,     0,   262,   204,   205,   206,
-     207,   208,   209,   210,   211,   212,   213,   214,   215,     0,
-     263,     0,   264,   265,   266,     0,   267,   268,     0,     0,
-      74,     0,     0,     0,     0,   386,   387,   388,   389,     0,
-       0,   390,     0,     0,     0,     0,     0,     0,     0,   397,
-       0,     0,   398,     0,   399,     0,   400,   391,   392,   393,
+     112,     0,     0,     0,     0,     0,   402,     0,     0,   403,
+       0,   404,     0,   405,   391,   392,   393,   394,    64,    65,
+     395,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       1,     2,     0,     3,     4,     5,   396,   397,   398,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,   394,   395,     0,     0,     0,     0,     0,     0,
+       0,   399,   400,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,    64,    65,
+     401,   107,   159,   160,   161,   162,   163,   164,    73,     0,
+       1,     2,     0,     3,     4,     5,     0,   184,   185,   186,
+     187,   188,   189,   190,   191,   192,   193,   194,   195,   196,
+     197,   198,   263,   264,   265,   266,     0,     0,     0,     0,
+       0,    74,    64,    65,     0,   107,   159,   160,   161,   162,
+     163,   164,    73,     0,     1,     2,     0,     3,     4,     5,
+       0,   267,   207,   208,   209,   210,   211,   212,   213,   214,
+     215,   216,   217,   218,     0,   268,     0,   269,   270,   271,
+       0,   272,   273,     0,     0,    74,     0,     0,     0,     0,
+     391,   392,   393,   394,     0,     0,   395,     0,     0,     0,
+       0,     0,     0,     0,   402,     0,     0,   403,     0,   404,
+       0,   405,   396,   397,   398,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,   399,   400,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,   396,     0,     0,     0,     0,     0,     0,    75,    76,
-       0,     0,    77,     0,    78,   378,     0,     0,   181,   182,
-     183,   184,   185,   186,   187,   188,   189,   190,   191,   192,
-     193,   194,   195,   258,   259,   260,   261,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,   401,     0,     0,     0,
+       0,     0,     0,    75,    76,     0,     0,    77,     0,    78,
+     383,     0,     0,   184,   185,   186,   187,   188,   189,   190,
+     191,   192,   193,   194,   195,   196,   197,   198,   263,   264,
+     265,   266,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,    75,    76,     0,
+       0,    77,     0,    78,   464,     0,     0,   267,   207,   208,
+     209,   210,   211,   212,   213,   214,   215,   216,   217,   218,
+       0,   268,     0,   269,   270,   271,     0,   272,   273,    64,
+      65,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     1,     2,     0,     3,     4,     5,   260,     0,     0,
+     402,     0,     0,   403,     0,   404,     0,   405,     0,     0,
+       0,     0,   261,   262,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,    64,    65,   111,   107,   159,
+     160,   161,   162,   163,   164,    73,     0,     1,     2,     0,
+       3,     4,     5,     0,     0,     0,     0,     0,   184,   185,
+     186,   187,   188,   189,   190,   191,   192,   193,   194,   195,
+     196,   197,   198,   263,   264,   265,   266,     0,    74,     0,
+       0,    64,    65,     0,   107,   159,   160,   161,   162,   163,
+     164,    73,     0,     1,     2,     0,     3,     4,     5,     0,
+       0,     0,   267,   207,   208,   209,   210,   211,   212,   213,
+     214,   215,   216,   217,   218,     0,   268,     0,   269,   270,
+     271,     0,   272,   273,    74,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,   112,
+       0,    64,    65,   -67,     0,   274,     0,     0,   275,     0,
+     276,     0,   277,     1,     2,     0,     3,     4,     5,   260,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,    75,    76,     0,     0,    77,     0,    78,   459,
-       0,     0,   262,   204,   205,   206,   207,   208,   209,   210,
-     211,   212,   213,   214,   215,     0,   263,     0,   264,   265,
-     266,     0,   267,   268,    64,    65,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     1,     2,     0,     3,
-       4,     5,   255,     0,     0,   397,     0,     0,   398,     0,
-     399,     0,   400,     0,     0,     0,     0,   256,   257,     0,
+       0,     0,     0,     0,   261,   262,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,   111,
+      75,    76,     0,     0,    77,     0,    78,   484,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-      64,    65,   111,   107,   157,   158,   159,   160,   161,   162,
+     184,   185,   186,   187,   188,   189,   190,   191,   192,   193,
+     194,   195,   196,   197,   198,   263,   264,   265,   266,     0,
+       0,     0,     0,     0,     0,     0,    75,    76,     0,     0,
+      77,     0,    78,   545,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,   267,   207,   208,   209,   210,   211,
+     212,   213,   214,   215,   216,   217,   218,     0,   268,     0,
+     269,   270,   271,     0,   272,   273,     0,    64,    65,     0,
+     107,    67,    68,    69,    70,    71,    72,    73,     0,     1,
+       2,   112,     3,     4,     5,     0,     0,   274,     0,     0,
+     275,     0,   276,     0,   277,     0,     0,     0,     0,   138,
+       0,     0,     0,     0,     0,     0,     0,     0,    64,    65,
+      74,   154,    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,
+       0,     3,     4,     5,     0,     0,     0,     0,     0,     0,
+       0,    74,     0,     0,     0,     0,     0,     0,   356,     0,
+       0,     0,     0,     0,     0,     0,     0,    64,    65,    74,
+     107,   159,   160,   161,   162,   163,   164,    73,     0,     1,
+       2,     0,     3,     4,     5,     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,
+      74,     0,     0,     0,     0,     0,     0,     0,   474,     0,
+       0,     0,    75,    76,     0,     0,    77,   155,    78,    74,
+      64,    65,     0,   107,   159,   160,   161,   162,   163,   164,
       73,     0,     1,     2,     0,     3,     4,     5,     0,     0,
-       0,     0,     0,   181,   182,   183,   184,   185,   186,   187,
-     188,   189,   190,   191,   192,   193,   194,   195,   258,   259,
-     260,   261,     0,    74,     0,     0,    64,    65,     0,   107,
-     157,   158,   159,   160,   161,   162,    73,     0,     1,     2,
-       0,     3,     4,     5,     0,     0,     0,   262,   204,   205,
-     206,   207,   208,   209,   210,   211,   212,   213,   214,   215,
-       0,   263,     0,   264,   265,   266,     0,   267,   268,    74,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,   112,     0,    64,    65,   -67,     0,
-     269,     0,     0,   270,     0,   271,     0,   272,     1,     2,
-       0,     3,     4,     5,   255,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,   256,
-     257,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,   111,    75,    76,     0,     0,    77,
-       0,    78,   479,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,   181,   182,   183,   184,   185,
-     186,   187,   188,   189,   190,   191,   192,   193,   194,   195,
-     258,   259,   260,   261,     0,     0,     0,     0,     0,     0,
-       0,    75,    76,     0,     0,    77,     0,    78,   540,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,   262,
-     204,   205,   206,   207,   208,   209,   210,   211,   212,   213,
-     214,   215,     0,   263,     0,   264,   265,   266,     0,   267,
-     268,     0,    64,    65,     0,   107,    67,    68,    69,    70,
-      71,    72,    73,     0,     1,     2,   112,     3,     4,     5,
-       0,     0,   269,     0,     0,   270,     0,   271,     0,   272,
-       0,     0,     0,     0,   136,     0,     0,     0,     0,     0,
-       0,     0,     0,    64,    65,    74,   152,    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,     0,     3,     4,     5,     0,
-       0,     0,     0,     0,     0,     0,    74,     0,     0,     0,
-       0,     0,     0,   351,     0,     0,     0,     0,     0,     0,
-       0,     0,    64,    65,    74,   107,   157,   158,   159,   160,
-     161,   162,    73,     0,     1,     2,     0,     3,     4,     5,
-       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,    74,     0,     0,     0,     0,
-       0,     0,     0,   469,     0,     0,     0,    75,    76,     0,
-       0,    77,   153,    78,    74,    64,    65,     0,   107,   157,
-     158,   159,   160,   161,   162,    73,     0,     1,     2,     0,
-       3,     4,     5,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,    75,    76,
-       0,     0,    77,     0,    78,     0,     0,     0,    74,     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,   591,     0,    75,    76,     0,
-     373,    77,     0,    78,     0,     0,    74,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,    75,    76,     0,     0,
-      77,     0,    78,     0,    64,    65,     0,    66,    67,    68,
+       0,     0,     0,    75,    76,     0,     0,    77,     0,    78,
+       0,     0,     0,    74,     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,
+     596,     0,    75,    76,     0,   378,    77,     0,    78,     0,
+       0,    74,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,    75,    76,     0,     0,    77,     0,    78,     0,    64,
+      65,     0,    66,    67,    68,    69,    70,    71,    72,    73,
+       0,     1,     2,     0,     3,     4,     5,    64,    65,     0,
+     107,   159,   160,   161,   162,   163,   164,    73,     0,     1,
+       2,     0,     3,     4,     5,    75,    76,     0,   480,    77,
+       0,    78,    74,     0,     0,     0,    64,    65,     0,   154,
+      67,    68,    69,    70,    71,    72,    73,     0,     1,     2,
+      74,     3,     4,     5,    64,    65,     0,   107,    67,    68,
       69,    70,    71,    72,    73,     0,     1,     2,     0,     3,
-       4,     5,    64,    65,     0,   107,   157,   158,   159,   160,
-     161,   162,    73,     0,     1,     2,     0,     3,     4,     5,
-      75,    76,     0,   475,    77,     0,    78,    74,     0,     0,
-       0,    64,    65,     0,   152,    67,    68,    69,    70,    71,
-      72,    73,     0,     1,     2,    74,     3,     4,     5,    64,
-      65,     0,   107,    67,    68,    69,    70,    71,    72,    73,
+       4,     5,     0,     0,     0,     0,     0,     0,     0,    74,
+       0,     0,     0,    75,    76,     0,     0,    77,     0,    78,
+       0,     0,     0,     0,     0,    64,    65,    74,   286,    67,
+      68,    69,    70,    71,    72,    73,     0,     1,     2,     0,
+       3,     4,     5,    64,    65,     0,   107,   159,   160,   161,
+     162,   163,   164,    73,     0,     1,     2,     0,     3,     4,
+       5,     0,     0,     0,     0,     0,     0,     0,    74,     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,   159,   160,   161,   162,   163,   164,    73,
        0,     1,     2,     0,     3,     4,     5,     0,     0,     0,
-       0,     0,     0,     0,    74,     0,     0,     0,    75,    76,
-       0,     0,    77,     0,    78,     0,     0,     0,     0,     0,
-      64,    65,    74,   281,    67,    68,    69,    70,    71,    72,
-      73,     0,     1,     2,     0,     3,     4,     5,    64,    65,
-       0,   107,   157,   158,   159,   160,   161,   162,    73,     0,
-       1,     2,     0,     3,     4,     5,     0,     0,     0,     0,
-       0,     0,     0,    74,     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,   157,   158,
-     159,   160,   161,   162,    73,     0,     1,     2,     0,     3,
-       4,     5,     0,     0,     0,     0,    75,    76,     0,     0,
-      77,     0,    78,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,    75,    76,     0,    74,    77,     0,
-      78,    64,    65,     0,   107,    67,    68,    69,    70,    71,
-      72,   599,     0,     1,     2,     0,     3,     4,     5,     0,
+       0,    75,    76,     0,     0,    77,     0,    78,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,    75,
+      76,     0,    74,    77,     0,    78,    64,    65,     0,   107,
+      67,    68,    69,    70,    71,    72,   604,     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,    75,    76,     0,     0,    77,
-       0,    78,     0,     0,    74,     0,     0,     0,     0,     0,
-       0,     0,     0,    75,    76,     0,     0,    77,     0,   376,
-      64,    65,     0,   107,    67,    68,    69,    70,    71,    72,
-     666,     0,     1,     2,     0,     3,     4,     5,     0,     0,
-       0,     0,     0,     0,   172,     0,     0,     0,     0,     0,
+      75,    76,     0,     0,    77,     0,    78,     0,     0,    74,
+       0,     0,     0,     0,     0,     0,     0,     0,    75,    76,
+       0,     0,    77,     0,   381,    64,    65,     0,   107,    67,
+      68,    69,    70,    71,    72,   671,     0,     1,     2,     0,
+       3,     4,     5,     0,     0,     0,     0,     0,     0,   175,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,    74,     0,   173,   174,     0,     0,    75,
-      76,     0,     0,    77,     0,   477,     0,     0,   175,   176,
-     177,   178,   179,   180,   181,   182,   183,   184,   185,   186,
-     187,   188,   189,   190,   191,   192,   193,   194,   195,   196,
-     197,   198,   199,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,    75,    76,     0,     0,
-      77,     0,    78,   200,   201,   202,     0,     0,   203,   204,
-     205,   206,   207,   208,   209,   210,   211,   212,   213,   214,
-     215,   216,   217,   218,   219,   220,   221,   222,   223,   224,
+       0,     0,     0,     0,     0,     0,     0,     0,    74,     0,
+     176,   177,     0,     0,    75,    76,     0,     0,    77,     0,
+     482,     0,     0,   178,   179,   180,   181,   182,   183,   184,
+     185,   186,   187,   188,   189,   190,   191,   192,   193,   194,
+     195,   196,   197,   198,   199,   200,   201,   202,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,    75,    76,     0,     0,    77,     0,    78,   203,   204,
+     205,     0,     0,   206,   207,   208,   209,   210,   211,   212,
+     213,   214,   215,   216,   217,   218,   219,   220,   221,   222,
+     223,   224,   225,   226,   227,     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,    75,    76,     0,     0,    77,
-       0,    78
+      75,    76,     0,     0,    77,     0,    78
 };
 
 static const yytype_int16 yycheck[] =
 {
-       0,    27,   129,   165,     0,   243,     4,   177,   270,   271,
-      11,    21,    11,   202,    34,    55,    28,    17,   455,    29,
-     166,    17,   443,   444,    55,   470,   321,    55,   217,   218,
-     219,   220,   221,   178,   198,   121,    11,   659,   227,    42,
-      43,    44,    45,    46,    47,    48,    49,   199,    51,   160,
-      34,   160,    78,   160,    11,   159,   167,   679,    55,   159,
-     169,    55,   169,    55,   150,    55,     3,     4,     5,     6,
-      54,    53,   160,   160,    59,   155,   102,    55,    55,    54,
-     106,   169,   169,    55,   229,   165,   112,    69,    18,    26,
-      27,   160,   118,    93,   258,   160,   260,    54,   244,   245,
-     169,   160,   159,   129,   169,    41,    42,   259,   167,   261,
-      32,    33,    48,   534,   376,   141,   142,   157,    54,   145,
-     160,   161,   142,   143,   144,   151,   157,   147,   160,   157,
-     159,   151,   152,   165,   165,   397,   398,   399,    19,   167,
-      11,    22,    20,    24,   581,    23,    17,   592,     0,   175,
-     339,   154,   155,   156,   599,   600,   168,   118,   119,   169,
-     157,   158,   289,   157,   165,   157,   165,   157,   159,   163,
-     168,   161,   168,    54,   200,   201,   202,   203,   615,   157,
-     157,    22,   160,   161,   161,   157,   158,   154,   155,   156,
-     216,   217,   218,   219,   220,   221,   222,   223,   224,   225,
-     226,   227,   282,   114,   115,   285,   286,   163,   288,   235,
-     337,    38,     7,     8,   509,   477,   405,    21,   663,   664,
-     246,   666,   667,    22,    19,    20,   160,    22,    23,    24,
-      22,   165,   421,   160,   423,   424,   425,    46,   165,    48,
-      22,   122,   123,   323,   689,   690,     3,     4,     5,     6,
-     157,   331,   332,   333,   334,   335,   551,    35,   553,    37,
-       4,   142,   143,   289,   145,   146,     4,   148,   149,   150,
-      42,    43,    44,    19,   300,    47,    22,    42,    24,    44,
-     366,   367,   368,   369,   370,   371,   372,    37,   158,   164,
-     160,   317,   318,   319,   157,   381,   382,   383,   460,   537,
-     142,   143,   144,   164,   158,   147,   160,    84,    85,   151,
-     152,   337,   338,   339,   161,   142,   143,   144,     4,   158,
-     147,   160,   617,    22,   151,   152,   158,   160,   160,   409,
-     410,   411,   412,   413,   158,   158,   160,   167,     4,   419,
-      95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
-     376,   158,   432,   433,   157,     9,     9,     9,     9,   385,
-     446,   447,   448,   449,     9,   554,     9,    55,   557,   558,
-     559,   457,    62,    63,    64,    65,    66,    67,    68,   405,
-     460,    57,    11,   167,   158,    54,   157,   157,   157,   157,
-     157,   157,    22,   157,   157,   421,   422,   423,   424,   425,
-     160,   639,   160,   157,   157,   431,   644,    38,   157,   160,
-     490,     4,   492,   160,    38,   495,   157,   160,   160,   445,
-     160,   157,   157,   157,    61,   505,   506,   160,    22,   160,
-     160,   163,   160,   519,   520,   521,   522,   160,   524,   160,
-     160,   160,   528,   529,   160,   160,   160,   160,   160,   160,
-     167,   477,   160,   122,   123,   160,    38,   160,   158,   285,
-     286,    22,   288,    17,   544,   545,   636,   547,   548,   549,
-     550,    17,   157,   142,   143,   555,   145,   146,   504,   148,
-     149,   150,   160,   563,   510,   571,   572,   573,   574,   569,
-     660,     4,   160,     0,     4,   160,   160,   323,   160,   160,
-     160,   160,   160,     4,   530,   331,   332,   333,   334,   335,
-     536,    18,    19,    20,   160,    22,    23,    24,   157,   160,
-     546,     4,   160,    30,    31,   160,   160,   160,   554,    22,
-     610,   557,   558,   559,     4,   535,   622,   160,   624,   625,
-     566,   167,     0,   160,   160,    52,   167,   158,    54,    56,
-     160,   160,   158,    60,   158,    22,   163,   637,   638,   167,
-      18,    19,    20,   160,    22,    23,    24,   165,   158,   158,
-     158,   158,    30,    31,    26,    27,    54,   657,    17,   165,
-     158,   158,   158,   409,   410,   411,   412,   413,     4,   153,
-     157,   157,    22,   419,    52,   160,    17,    17,    56,    17,
-     160,    74,    60,   683,   684,    17,   432,   433,   688,   132,
-     132,   691,   132,   630,   640,   235,    93,   697,   112,   593,
-     700,   106,    17,    57,   246,    90,   566,    -1,   450,    -1,
-     630,     7,     8,    -1,    10,    11,    12,    13,    14,    15,
-      16,    17,    -1,    19,    20,    -1,    22,    23,    24,   101,
-     102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
-     112,   113,   114,    -1,   490,    -1,   492,    -1,    -1,   495,
-      -1,    -1,    -1,    -1,    50,    -1,    -1,    -1,    -1,   505,
-     506,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       0,    27,   180,   326,   129,   167,     0,     4,   275,   276,
+     248,    21,   475,   460,    55,   205,    11,    17,    11,    29,
+      28,    55,    55,    17,   448,   449,    55,    55,   168,    11,
+     220,   221,   222,   223,   224,   121,   201,   181,    34,    11,
+     230,    55,   202,    55,     3,     4,     5,     6,   160,    34,
+     664,    55,    78,   160,   160,    53,   160,   169,   159,    19,
+     167,   167,    22,    55,    24,   169,   152,    26,    27,    54,
+     684,    69,    54,   154,   155,   156,   102,   157,    41,    42,
+     106,   160,    54,    11,     7,    48,   112,   167,   232,    17,
+     169,    54,   118,    93,    54,    46,    19,    48,   263,    22,
+     265,    24,   160,   129,   264,    59,   266,   160,   160,   249,
+     250,   169,   165,   165,   381,   539,   157,   143,   144,    18,
+     160,   147,    55,   157,   157,   165,   167,   153,   157,   157,
+     163,   165,   160,   161,   597,   402,   403,   404,    38,   586,
+     159,   604,   605,   157,   158,   157,   142,   143,   144,   161,
+     159,   147,   178,   157,   344,   151,   152,   161,   160,   169,
+     168,    20,   122,   123,    23,   157,   158,   169,     0,   294,
+     165,   168,   165,   620,    32,    33,   170,   203,   204,   205,
+     206,   159,   142,   143,   159,   145,   146,   163,   148,   149,
+     150,   514,    22,   219,   220,   221,   222,   223,   224,   225,
+     226,   227,   228,   229,   230,   668,   669,   287,   671,   672,
+     290,   291,   160,   293,   240,   482,    35,   342,    37,    22,
+     410,   169,   118,   119,   157,   251,    21,   160,   161,   133,
+     134,   694,   695,   556,    22,   558,   426,    54,   428,   429,
+     430,    22,   142,   143,   144,   133,   134,   147,   328,     7,
+       8,   151,   152,    42,   157,    44,   336,   337,   338,   339,
+     340,    19,    20,     4,    22,    23,    24,     4,   294,    42,
+      43,    44,    45,    46,    47,    48,    49,    37,    51,   305,
+       3,     4,     5,     6,   164,   371,   372,   373,   374,   375,
+     376,   377,   158,   158,   160,   160,   322,   323,   324,   622,
+     386,   387,   388,   465,   542,   122,   123,   164,    42,    43,
+      44,    26,    27,    47,   114,   115,   342,   343,   344,   158,
+     158,   160,   160,   133,   134,   142,   143,   161,   145,   146,
+     157,   148,   149,   150,   414,   415,   416,   417,   418,     4,
+     142,   143,   144,   159,   424,   147,   158,    22,   160,   151,
+     152,    84,    85,   160,   158,   381,   167,   437,   438,     4,
+     158,   157,     9,     9,   390,   451,   452,   453,   454,   559,
+       9,     9,   562,   563,   564,     9,   462,     9,    55,    57,
+      11,   154,   155,   156,   410,   465,   101,   102,   103,   104,
+     105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
+     426,   427,   428,   429,   430,   167,   644,   158,   157,   157,
+     436,   649,   157,   157,   157,   495,    22,   497,   157,   157,
+     500,   157,   157,    38,   450,   157,   157,     4,    38,    22,
+     510,   511,   160,   160,   160,   160,   160,   157,   524,   525,
+     526,   527,   160,   529,   160,   157,   157,   533,   534,    62,
+      63,    64,    65,    66,    67,    68,   482,   157,   160,    61,
+     163,   160,   160,   641,   290,   291,   160,   293,   160,   549,
+     550,   160,   552,   553,   554,   555,   160,   160,   160,   160,
+     560,   160,   167,   509,   160,    38,   160,   665,   568,   515,
+     576,   577,   578,   579,   574,    22,   160,   160,     0,   160,
+     160,   158,   328,    17,    17,   157,   160,   160,     4,   535,
+     336,   337,   338,   339,   340,   541,    18,    19,    20,   160,
+      22,    23,    24,   160,   160,   551,     4,   160,    30,    31,
+     160,   160,   160,   559,     4,   615,   562,   563,   564,   160,
+     540,   627,   160,   629,   630,   571,   157,     0,   160,    22,
+      52,   160,   160,   160,    56,     4,   160,     4,    60,   160,
+      54,   158,   642,   643,   167,    18,    19,    20,   167,    22,
+      23,    24,   160,   160,   160,   158,   158,    30,    31,    22,
+     160,    17,   662,   167,   163,   158,   158,   165,   414,   415,
+     416,   417,   418,   158,   158,    54,   165,   158,   424,    52,
+     158,   158,     4,    56,   153,   157,   157,    60,   688,   689,
+      22,   437,   438,   693,   160,   160,   696,    17,    17,   645,
+      17,    17,   702,    74,   635,   705,    93,   598,   112,   106,
+      17,   251,    90,    57,   134,   635,     7,     8,    -1,    10,
+      11,    12,    13,    14,    15,    16,    17,   571,    19,    20,
+     240,    22,    23,    24,    95,    96,    97,    98,    99,   100,
+     101,   102,   103,   104,   455,   134,    -1,    -1,    -1,   495,
+      -1,   497,    -1,    -1,   500,    -1,    -1,    -1,    -1,    50,
+      -1,    -1,    -1,    -1,   510,   511,    -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,   544,   545,
-      -1,   547,   548,   549,   550,    -1,    -1,    -1,    -1,   555,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,   563,    -1,    -1,
-      -1,    -1,    -1,   569,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     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,   610,    -1,   162,   163,    -1,    -1,
-     166,    -1,   168,   169,    -1,    -1,    40,    41,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      54,   637,   638,     7,     8,    59,    10,    11,    12,    13,
-      14,    15,    16,    17,    -1,    19,    20,    -1,    22,    23,
-      24,   657,    76,    77,    78,    79,    80,    81,    82,    83,
-      84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
-      94,    -1,    -1,    -1,    -1,    -1,    50,   683,   684,    -1,
-      -1,    -1,   688,    -1,    -1,   691,    -1,    -1,    -1,    -1,
-      -1,   697,    -1,    -1,   700,    -1,   120,   121,   122,   123,
-     124,   125,   126,   127,   128,   129,   130,   131,   132,    -1,
-     134,    -1,   136,   137,   138,    -1,   140,   141,   142,   143,
-      -1,   145,   146,    -1,   148,   149,   150,    -1,    -1,    -1,
-      -1,     3,     4,     5,     6,     7,     8,     9,    -1,   163,
-      -1,    -1,   166,    -1,   168,    -1,   170,    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,   549,   550,    -1,   552,   553,   554,   555,
+      -1,    -1,    -1,    -1,   560,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,   568,    -1,    -1,    -1,    -1,    -1,   574,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    55,    -1,    -1,    -1,    59,   162,   163,
-      -1,    -1,   166,    -1,   168,   169,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    76,    77,    78,    79,    80,    81,
-      82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
-      92,    93,    94,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,     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,   615,
+      -1,   162,   163,    -1,    -1,   166,    -1,   168,   169,    -1,
+      -1,    40,    41,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    54,   642,   643,     7,     8,
+      59,    10,    11,    12,    13,    14,    15,    16,    17,    -1,
+      19,    20,    -1,    22,    23,    24,   662,    76,    77,    78,
+      79,    80,    81,    82,    83,    84,    85,    86,    87,    88,
+      89,    90,    91,    92,    93,    94,    -1,    -1,    -1,    -1,
+      -1,    50,   688,   689,    -1,    -1,    -1,   693,    -1,    -1,
+     696,    -1,    -1,    -1,    -1,    -1,   702,    -1,    -1,   705,
+      -1,   120,   121,   122,   123,   124,   125,   126,   127,   128,
+     129,   130,   131,   132,    -1,   134,    -1,   136,   137,   138,
+      -1,   140,   141,   142,   143,    -1,   145,   146,    -1,   148,
+     149,   150,    -1,    -1,    -1,    -1,     3,     4,     5,     6,
+       7,     8,     9,    -1,   163,    -1,    -1,   166,    -1,   168,
+      -1,   170,    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,
+      -1,    -1,    59,   162,   163,    -1,    -1,   166,    -1,   168,
+     169,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    76,
+      77,    78,    79,    80,    81,    82,    83,    84,    85,    86,
+      87,    88,    89,    90,    91,    92,    93,    94,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   120,   121,
-     122,   123,   124,   125,   126,   127,   128,   129,   130,   131,
-     132,    -1,   134,    -1,   136,   137,   138,    -1,   140,   141,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,   157,    -1,    -1,    -1,    -1,
-      -1,   163,    -1,    -1,   166,    -1,   168,    -1,   170,     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,
+      -1,    -1,    -1,   120,   121,   122,   123,   124,   125,   126,
+     127,   128,   129,   130,   131,   132,    -1,   134,    -1,   136,
+     137,   138,    -1,   140,   141,    -1,    -1,    -1,    -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,    -1,    76,    77,    78,    79,    80,    81,    82,    83,
-      84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
-      94,    -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,   120,   121,   122,   123,
-     124,   125,   126,   127,   128,   129,   130,   131,   132,    -1,
-     134,    -1,   136,   137,   138,    -1,   140,   141,    -1,    -1,
-      50,    -1,    -1,    -1,    -1,     3,     4,     5,     6,    -1,
-      -1,     9,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   163,
-      -1,    -1,   166,    -1,   168,    -1,   170,    25,    26,    27,
+     157,    -1,    -1,    -1,    -1,    -1,   163,    -1,    -1,   166,
+      -1,   168,    -1,   170,     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,    40,    41,    -1,    -1,    -1,    -1,    -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,    -1,    76,    77,    78,
+      79,    80,    81,    82,    83,    84,    85,    86,    87,    88,
+      89,    90,    91,    92,    93,    94,    -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,   120,   121,   122,   123,   124,   125,   126,   127,   128,
+     129,   130,   131,   132,    -1,   134,    -1,   136,   137,   138,
+      -1,   140,   141,    -1,    -1,    50,    -1,    -1,    -1,    -1,
+       3,     4,     5,     6,    -1,    -1,     9,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,   163,    -1,    -1,   166,    -1,   168,
+      -1,   170,    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,    59,    -1,    -1,    -1,    -1,    -1,    -1,   162,   163,
-      -1,    -1,   166,    -1,   168,   169,    -1,    -1,    76,    77,
+      -1,    -1,    -1,    -1,    -1,    -1,    59,    -1,    -1,    -1,
+      -1,    -1,    -1,   162,   163,    -1,    -1,   166,    -1,   168,
+     169,    -1,    -1,    76,    77,    78,    79,    80,    81,    82,
+      83,    84,    85,    86,    87,    88,    89,    90,    91,    92,
+      93,    94,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,   162,   163,    -1,
+      -1,   166,    -1,   168,   169,    -1,    -1,   120,   121,   122,
+     123,   124,   125,   126,   127,   128,   129,   130,   131,   132,
+      -1,   134,    -1,   136,   137,   138,    -1,   140,   141,     7,
+       8,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    19,    20,    -1,    22,    23,    24,    25,    -1,    -1,
+     163,    -1,    -1,   166,    -1,   168,    -1,   170,    -1,    -1,
+      -1,    -1,    40,    41,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,     7,     8,    55,    10,    11,
+      12,    13,    14,    15,    16,    17,    -1,    19,    20,    -1,
+      22,    23,    24,    -1,    -1,    -1,    -1,    -1,    76,    77,
       78,    79,    80,    81,    82,    83,    84,    85,    86,    87,
-      88,    89,    90,    91,    92,    93,    94,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,   162,   163,    -1,    -1,   166,    -1,   168,   169,
+      88,    89,    90,    91,    92,    93,    94,    -1,    50,    -1,
+      -1,     7,     8,    -1,    10,    11,    12,    13,    14,    15,
+      16,    17,    -1,    19,    20,    -1,    22,    23,    24,    -1,
       -1,    -1,   120,   121,   122,   123,   124,   125,   126,   127,
      128,   129,   130,   131,   132,    -1,   134,    -1,   136,   137,
-     138,    -1,   140,   141,     7,     8,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    19,    20,    -1,    22,
-      23,    24,    25,    -1,    -1,   163,    -1,    -1,   166,    -1,
-     168,    -1,   170,    -1,    -1,    -1,    -1,    40,    41,    -1,
+     138,    -1,   140,   141,    50,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   157,
+      -1,     7,     8,   161,    -1,   163,    -1,    -1,   166,    -1,
+     168,    -1,   170,    19,    20,    -1,    22,    23,    24,    25,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-       7,     8,    55,    10,    11,    12,    13,    14,    15,    16,
-      17,    -1,    19,    20,    -1,    22,    23,    24,    -1,    -1,
-      -1,    -1,    -1,    76,    77,    78,    79,    80,    81,    82,
-      83,    84,    85,    86,    87,    88,    89,    90,    91,    92,
-      93,    94,    -1,    50,    -1,    -1,     7,     8,    -1,    10,
+      -1,    -1,    -1,    -1,    40,    41,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    55,
+     162,   163,    -1,    -1,   166,    -1,   168,   169,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      76,    77,    78,    79,    80,    81,    82,    83,    84,    85,
+      86,    87,    88,    89,    90,    91,    92,    93,    94,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,   162,   163,    -1,    -1,
+     166,    -1,   168,   169,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,   120,   121,   122,   123,   124,   125,
+     126,   127,   128,   129,   130,   131,   132,    -1,   134,    -1,
+     136,   137,   138,    -1,   140,   141,    -1,     7,     8,    -1,
+      10,    11,    12,    13,    14,    15,    16,    17,    -1,    19,
+      20,   157,    22,    23,    24,    -1,    -1,   163,    -1,    -1,
+     166,    -1,   168,    -1,   170,    -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,     7,     8,    -1,    10,
       11,    12,    13,    14,    15,    16,    17,    -1,    19,    20,
-      -1,    22,    23,    24,    -1,    -1,    -1,   120,   121,   122,
-     123,   124,   125,   126,   127,   128,   129,   130,   131,   132,
-      -1,   134,    -1,   136,   137,   138,    -1,   140,   141,    50,
+      -1,    22,    23,    24,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    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,    -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,
+      50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    39,    -1,
+      -1,    -1,   162,   163,    -1,    -1,   166,   126,   168,    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,    -1,
-      -1,    -1,    -1,    -1,   157,    -1,     7,     8,   161,    -1,
-     163,    -1,    -1,   166,    -1,   168,    -1,   170,    19,    20,
-      -1,    22,    23,    24,    25,    -1,    -1,    -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,   162,   163,    -1,    -1,   166,
-      -1,   168,   169,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    76,    77,    78,    79,    80,
-      81,    82,    83,    84,    85,    86,    87,    88,    89,    90,
-      91,    92,    93,    94,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,   162,   163,    -1,    -1,   166,    -1,   168,   169,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   120,
-     121,   122,   123,   124,   125,   126,   127,   128,   129,   130,
-     131,   132,    -1,   134,    -1,   136,   137,   138,    -1,   140,
-     141,    -1,     7,     8,    -1,    10,    11,    12,    13,    14,
-      15,    16,    17,    -1,    19,    20,   157,    22,    23,    24,
-      -1,    -1,   163,    -1,    -1,   166,    -1,   168,    -1,   170,
-      -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,     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,    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,
-      -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,    50,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    39,    -1,    -1,    -1,   162,   163,    -1,
-      -1,   166,   126,   168,    50,     7,     8,    -1,    10,    11,
+      -1,    -1,    -1,   162,   163,    -1,    -1,   166,    -1,   168,
+      -1,    -1,    -1,    50,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,   162,   163,    -1,    -1,   166,    -1,   168,     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,
+      39,    -1,   162,   163,    -1,   165,   166,    -1,   168,    -1,
+      -1,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,   162,   163,    -1,    -1,   166,    -1,   168,    -1,     7,
+       8,    -1,    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,    -1,    22,    23,    24,   162,   163,    -1,   165,   166,
+      -1,   168,    50,    -1,    -1,    -1,     7,     8,    -1,    10,
+      11,    12,    13,    14,    15,    16,    17,    -1,    19,    20,
+      50,    22,    23,    24,     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,    50,
+      -1,    -1,    -1,   162,   163,    -1,    -1,   166,    -1,   168,
+      -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,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   162,   163,
-      -1,    -1,   166,    -1,   168,    -1,    -1,    -1,    50,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,   162,   163,    -1,    -1,
-     166,    -1,   168,     7,     8,    -1,    10,    11,    12,    13,
+      22,    23,    24,     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,    39,    -1,   162,   163,    -1,
-     165,   166,    -1,   168,    -1,    -1,    50,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,   162,   163,    -1,    -1,
-     166,    -1,   168,    -1,     7,     8,    -1,    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,    -1,    22,    23,    24,
-     162,   163,    -1,   165,   166,    -1,   168,    50,    -1,    -1,
-      -1,     7,     8,    -1,    10,    11,    12,    13,    14,    15,
-      16,    17,    -1,    19,    20,    50,    22,    23,    24,     7,
+      24,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    50,    -1,
+      -1,    -1,    -1,    -1,   162,   163,    -1,    -1,   166,    -1,
+     168,    -1,    -1,    -1,    -1,    -1,    50,    -1,    -1,    -1,
+      -1,    -1,   162,   163,    -1,    -1,   166,    -1,   168,     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,    50,    -1,    -1,    -1,   162,   163,
-      -1,    -1,   166,    -1,   168,    -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,    -1,    22,    23,    24,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    50,    -1,    -1,    -1,    -1,    -1,   162,
-     163,    -1,    -1,   166,    -1,   168,    -1,    -1,    -1,    -1,
-      -1,    50,    -1,    -1,    -1,    -1,    -1,   162,   163,    -1,
-      -1,   166,    -1,   168,     7,     8,    -1,    10,    11,    12,
-      13,    14,    15,    16,    17,    -1,    19,    20,    -1,    22,
-      23,    24,    -1,    -1,    -1,    -1,   162,   163,    -1,    -1,
-     166,    -1,   168,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,   162,   163,    -1,    50,   166,    -1,
-     168,     7,     8,    -1,    10,    11,    12,    13,    14,    15,
-      16,    17,    -1,    19,    20,    -1,    22,    23,    24,    -1,
+      -1,   162,   163,    -1,    -1,   166,    -1,   168,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   162,
+     163,    -1,    50,   166,    -1,   168,     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,
-      -1,    -1,    -1,    -1,    -1,   162,   163,    -1,    -1,   166,
-      -1,   168,    -1,    -1,    50,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,   162,   163,    -1,    -1,   166,    -1,   168,
-       7,     8,    -1,    10,    11,    12,    13,    14,    15,    16,
-      17,    -1,    19,    20,    -1,    22,    23,    24,    -1,    -1,
-      -1,    -1,    -1,    -1,    36,    -1,    -1,    -1,    -1,    -1,
+     162,   163,    -1,    -1,   166,    -1,   168,    -1,    -1,    50,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   162,   163,
+      -1,    -1,   166,    -1,   168,     7,     8,    -1,    10,    11,
+      12,    13,    14,    15,    16,    17,    -1,    19,    20,    -1,
+      22,    23,    24,    -1,    -1,    -1,    -1,    -1,    -1,    36,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    50,    -1,    57,    58,    -1,    -1,   162,
-     163,    -1,    -1,   166,    -1,   168,    -1,    -1,    70,    71,
-      72,    73,    74,    75,    76,    77,    78,    79,    80,    81,
-      82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
-      92,    93,    94,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,   162,   163,    -1,    -1,
-     166,    -1,   168,   115,   116,   117,    -1,    -1,   120,   121,
-     122,   123,   124,   125,   126,   127,   128,   129,   130,   131,
-     132,   133,   134,   135,   136,   137,   138,   139,   140,   141,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    50,    -1,
+      57,    58,    -1,    -1,   162,   163,    -1,    -1,   166,    -1,
+     168,    -1,    -1,    70,    71,    72,    73,    74,    75,    76,
+      77,    78,    79,    80,    81,    82,    83,    84,    85,    86,
+      87,    88,    89,    90,    91,    92,    93,    94,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,   162,   163,    -1,    -1,   166,    -1,   168,   115,   116,
+     117,    -1,    -1,   120,   121,   122,   123,   124,   125,   126,
+     127,   128,   129,   130,   131,   132,   133,   134,   135,   136,
+     137,   138,   139,   140,   141,    -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,   162,   163,    -1,    -1,   166,
-      -1,   168
+     162,   163,    -1,    -1,   166,    -1,   168
 };
 
 /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
@@ -2745,76 +2749,76 @@
 static const yytype_uint16 yystos[] =
 {
        0,    19,    20,    22,    23,    24,    30,    31,    52,    56,
-      60,   179,   182,   183,   184,   185,   217,   218,   219,   221,
-     220,    53,    69,   226,   159,    59,   159,    18,   159,    42,
+      60,   179,   182,   184,   185,   186,   218,   219,   220,   222,
+     221,    53,    69,   227,   159,    59,   159,    18,   159,    42,
       43,    44,    45,    46,    47,    48,    49,    51,   154,   155,
-     156,   186,   187,   188,     0,   219,    46,    48,   189,   236,
-      42,    43,    44,    47,   190,   233,   235,   243,   159,   159,
-     163,   227,    22,   225,     7,     8,    10,    11,    12,    13,
+     156,   187,   188,   189,     0,   220,    46,    48,   190,   237,
+      42,    43,    44,    47,   191,   234,   236,   244,   159,   159,
+     163,   228,    22,   226,     7,     8,    10,    11,    12,    13,
       14,    15,    16,    17,    50,   162,   163,   166,   168,   179,
-     183,   204,   205,   239,   188,   188,    35,    37,   215,   188,
-     188,    21,   244,   245,    29,   169,   234,   244,    22,    22,
-      22,   228,   157,     4,     4,     4,   168,    10,   169,   205,
-     210,    55,   157,   181,   215,   215,    42,    44,   191,    32,
-      33,   214,    62,    63,    64,    65,    66,    67,    68,   192,
-     231,   231,   182,   248,   160,   165,    39,   205,   206,   208,
-     209,   164,   164,   169,   210,   160,   169,   157,   209,   161,
-     214,   214,    10,   126,   205,   207,   216,    11,    12,    13,
-      14,    15,    16,   177,   178,   205,   211,     4,   207,    28,
-     168,   232,    36,    57,    58,    70,    71,    72,    73,    74,
-      75,    76,    77,    78,    79,    80,    81,    82,    83,    84,
-      85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
-     115,   116,   117,   120,   121,   122,   123,   124,   125,   126,
-     127,   128,   129,   130,   131,   132,   133,   134,   135,   136,
-     137,   138,   139,   140,   141,   172,   173,   174,   246,   253,
-     254,   255,   256,    22,   194,   160,   158,   205,   205,   167,
-     169,   205,     4,   158,   211,   205,   157,   239,    26,    27,
-       3,     4,     5,     6,     9,    25,    40,    41,    91,    92,
-      93,    94,   120,   134,   136,   137,   138,   140,   141,   163,
-     166,   168,   170,   172,   173,   174,   212,   239,   181,   183,
-      57,    10,   205,   241,   242,    11,    17,    11,   177,   192,
-      95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
-     175,    26,    27,   101,   102,   103,   104,   105,   106,   107,
-     108,   109,   110,   111,   112,   113,   114,   176,   175,   176,
-     205,   205,   241,   205,   205,   249,   241,   241,   241,   241,
-     241,   205,   205,   205,   205,   205,   241,   192,   118,   119,
-      54,   122,   123,   142,   143,   145,   146,   148,   149,   150,
-     193,    39,   206,   196,   165,   167,   167,   158,   196,   181,
-     181,   216,   175,   176,   175,   176,   157,   157,   157,   157,
-     157,   157,   157,   165,   211,   213,   168,   213,   169,   213,
-      22,   157,   157,   157,   222,   157,     3,     4,     5,     6,
-       9,    25,    26,    27,    40,    41,    59,   163,   166,   168,
-     170,   212,   238,   239,   240,   160,   240,   240,   240,   207,
-     205,   205,   205,   205,   160,   199,   160,   199,   240,   163,
-     160,   160,   160,   160,   160,   160,   240,   240,   240,   240,
-     240,    38,   207,   205,   241,     4,   142,   143,   144,   147,
-     151,   152,   195,   223,   224,    38,   157,   157,   157,   157,
-     211,   211,   211,   211,   211,   211,   211,   160,   165,   169,
-     205,   213,   167,   169,   211,   211,   211,   160,   202,    39,
-     205,   229,   230,    61,   237,   165,   213,   168,   213,   169,
-     213,    22,   241,   160,   160,   240,   240,   240,   240,   240,
-      11,    54,    11,   251,   240,   163,   241,   205,   241,   241,
-     241,   160,   160,   252,   160,   160,   160,   205,   240,   240,
-     160,   202,   202,   205,   211,   211,   211,   211,   251,   160,
-     160,   160,   160,   252,   160,   211,   167,   169,   160,   160,
-      38,    34,    54,   200,   203,   194,   160,   158,    22,   165,
-     169,   213,   167,   169,    17,    17,   157,   160,   160,   160,
-     160,   240,     4,   240,   160,   160,   240,   160,   160,   160,
-       4,     4,   160,   205,   240,   240,   157,   160,   199,   205,
-     158,   160,   160,   160,   160,   158,   211,   211,   211,   211,
-     158,   211,   167,   211,   211,   205,    22,     4,   202,   179,
-     180,    39,   205,   196,   160,   167,   169,   240,   240,    17,
-     205,   250,   240,   240,   240,   240,   199,   199,   241,   240,
-     160,   241,   241,   241,     4,   240,   250,   240,   211,   211,
-     211,   211,   160,   158,   160,   160,   252,   158,   158,   158,
-     194,   200,   201,    22,   167,   160,   163,   194,   194,   158,
-     160,   165,   240,   252,   158,   199,   158,   158,   158,   158,
-     211,   211,   211,   158,   180,    54,   198,    17,   165,   177,
-     247,   122,   123,   240,   240,   196,    17,   205,   165,   196,
-     158,   158,   158,     4,   153,   197,   240,   238,   165,   177,
-     194,   194,    38,   194,   194,    22,   160,   238,    17,   240,
-     240,    17,   160,   240,   194,   194,   240,    17,    74,   240,
-      17,   240
+     184,   205,   206,   240,   189,   189,    35,    37,   216,   189,
+     189,    21,   245,   246,    29,   169,   235,   245,    22,    22,
+      22,   229,   157,     4,     4,     4,   168,    10,   169,   206,
+     211,    55,   157,   181,   216,   216,    42,    44,   192,    32,
+      33,   215,    62,    63,    64,    65,    66,    67,    68,   193,
+     232,   232,     7,   182,   183,   249,   160,   165,    39,   206,
+     207,   209,   210,   164,   164,   169,   211,   160,   169,   157,
+     210,   161,   215,   215,    10,   126,   206,   208,   217,    11,
+      12,    13,    14,    15,    16,   177,   178,   206,   212,     4,
+     208,    28,   168,   233,   159,    36,    57,    58,    70,    71,
+      72,    73,    74,    75,    76,    77,    78,    79,    80,    81,
+      82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
+      92,    93,    94,   115,   116,   117,   120,   121,   122,   123,
+     124,   125,   126,   127,   128,   129,   130,   131,   132,   133,
+     134,   135,   136,   137,   138,   139,   140,   141,   172,   173,
+     174,   247,   254,   255,   256,   257,   247,   255,    22,   195,
+     160,   158,   206,   206,   167,   169,   206,     4,   158,   212,
+     206,   157,   240,    26,    27,     3,     4,     5,     6,     9,
+      25,    40,    41,    91,    92,    93,    94,   120,   134,   136,
+     137,   138,   140,   141,   163,   166,   168,   170,   172,   173,
+     174,   213,   240,   181,   184,    57,    10,   206,   242,   243,
+      11,    17,    11,   177,   193,    95,    96,    97,    98,    99,
+     100,   101,   102,   103,   104,   175,    26,    27,   101,   102,
+     103,   104,   105,   106,   107,   108,   109,   110,   111,   112,
+     113,   114,   176,   175,   176,   206,   206,   242,   206,   206,
+     250,   242,   242,   242,   242,   242,   206,   206,   206,   206,
+     206,   242,   193,   118,   119,    54,   122,   123,   142,   143,
+     145,   146,   148,   149,   150,   194,    39,   207,   197,   165,
+     167,   167,   158,   197,   181,   181,   217,   175,   176,   175,
+     176,   157,   157,   157,   157,   157,   157,   157,   165,   212,
+     214,   168,   214,   169,   214,    22,   157,   157,   157,   223,
+     157,     3,     4,     5,     6,     9,    25,    26,    27,    40,
+      41,    59,   163,   166,   168,   170,   213,   239,   240,   241,
+     160,   241,   241,   241,   208,   206,   206,   206,   206,   160,
+     200,   160,   200,   241,   163,   160,   160,   160,   160,   160,
+     160,   241,   241,   241,   241,   241,    38,   208,   206,   242,
+       4,   142,   143,   144,   147,   151,   152,   196,   224,   225,
+      38,   157,   157,   157,   157,   212,   212,   212,   212,   212,
+     212,   212,   160,   165,   169,   206,   214,   167,   169,   212,
+     212,   212,   160,   203,    39,   206,   230,   231,    61,   238,
+     165,   214,   168,   214,   169,   214,    22,   242,   160,   160,
+     241,   241,   241,   241,   241,    11,    54,    11,   252,   241,
+     163,   242,   206,   242,   242,   242,   160,   160,   253,   160,
+     160,   160,   206,   241,   241,   160,   203,   203,   206,   212,
+     212,   212,   212,   252,   160,   160,   160,   160,   253,   160,
+     212,   167,   169,   160,   160,    38,    34,    54,   201,   204,
+     195,   160,   158,    22,   165,   169,   214,   167,   169,    17,
+      17,   157,   160,   160,   160,   160,   241,     4,   241,   160,
+     160,   241,   160,   160,   160,     4,     4,   160,   206,   241,
+     241,   157,   160,   200,   206,   158,   160,   160,   160,   160,
+     158,   212,   212,   212,   212,   158,   212,   167,   212,   212,
+     206,    22,     4,   203,   179,   180,    39,   206,   197,   160,
+     167,   169,   241,   241,    17,   206,   251,   241,   241,   241,
+     241,   200,   200,   242,   241,   160,   242,   242,   242,     4,
+     241,   251,   241,   212,   212,   212,   212,   160,   158,   160,
+     160,   253,   158,   158,   158,   195,   201,   202,    22,   167,
+     160,   163,   195,   195,   158,   160,   165,   241,   253,   158,
+     200,   158,   158,   158,   158,   212,   212,   212,   158,   180,
+      54,   199,    17,   165,   177,   248,   122,   123,   241,   241,
+     197,    17,   206,   165,   197,   158,   158,   158,     4,   153,
+     198,   241,   239,   165,   177,   195,   195,    38,   195,   195,
+      22,   160,   239,    17,   241,   241,    17,   160,   241,   195,
+     195,   241,    17,    74,   241,    17,   241
 };
 
 #define yyerrok		(yyerrstatus = 0)
@@ -3629,152 +3633,152 @@
   switch (yyn)
     {
         case 29:
-#line 1139 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1142 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     { (yyval.IPredicate) = ICmpInst::ICMP_EQ; ;}
     break;
 
   case 30:
-#line 1139 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1142 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     { (yyval.IPredicate) = ICmpInst::ICMP_NE; ;}
     break;
 
   case 31:
-#line 1140 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1143 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     { (yyval.IPredicate) = ICmpInst::ICMP_SLT; ;}
     break;
 
   case 32:
-#line 1140 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1143 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     { (yyval.IPredicate) = ICmpInst::ICMP_SGT; ;}
     break;
 
   case 33:
-#line 1141 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1144 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     { (yyval.IPredicate) = ICmpInst::ICMP_SLE; ;}
     break;
 
   case 34:
-#line 1141 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1144 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     { (yyval.IPredicate) = ICmpInst::ICMP_SGE; ;}
     break;
 
   case 35:
-#line 1142 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1145 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     { (yyval.IPredicate) = ICmpInst::ICMP_ULT; ;}
     break;
 
   case 36:
-#line 1142 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1145 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     { (yyval.IPredicate) = ICmpInst::ICMP_UGT; ;}
     break;
 
   case 37:
-#line 1143 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1146 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     { (yyval.IPredicate) = ICmpInst::ICMP_ULE; ;}
     break;
 
   case 38:
-#line 1143 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1146 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     { (yyval.IPredicate) = ICmpInst::ICMP_UGE; ;}
     break;
 
   case 39:
-#line 1147 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1150 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     { (yyval.FPredicate) = FCmpInst::FCMP_OEQ; ;}
     break;
 
   case 40:
-#line 1147 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1150 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     { (yyval.FPredicate) = FCmpInst::FCMP_ONE; ;}
     break;
 
   case 41:
-#line 1148 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1151 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     { (yyval.FPredicate) = FCmpInst::FCMP_OLT; ;}
     break;
 
   case 42:
-#line 1148 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1151 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     { (yyval.FPredicate) = FCmpInst::FCMP_OGT; ;}
     break;
 
   case 43:
-#line 1149 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1152 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     { (yyval.FPredicate) = FCmpInst::FCMP_OLE; ;}
     break;
 
   case 44:
-#line 1149 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1152 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     { (yyval.FPredicate) = FCmpInst::FCMP_OGE; ;}
     break;
 
   case 45:
-#line 1150 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1153 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     { (yyval.FPredicate) = FCmpInst::FCMP_ORD; ;}
     break;
 
   case 46:
-#line 1150 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1153 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     { (yyval.FPredicate) = FCmpInst::FCMP_UNO; ;}
     break;
 
   case 47:
-#line 1151 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1154 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     { (yyval.FPredicate) = FCmpInst::FCMP_UEQ; ;}
     break;
 
   case 48:
-#line 1151 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1154 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     { (yyval.FPredicate) = FCmpInst::FCMP_UNE; ;}
     break;
 
   case 49:
-#line 1152 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1155 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     { (yyval.FPredicate) = FCmpInst::FCMP_ULT; ;}
     break;
 
   case 50:
-#line 1152 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1155 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     { (yyval.FPredicate) = FCmpInst::FCMP_UGT; ;}
     break;
 
   case 51:
-#line 1153 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1156 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     { (yyval.FPredicate) = FCmpInst::FCMP_ULE; ;}
     break;
 
   case 52:
-#line 1153 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1156 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     { (yyval.FPredicate) = FCmpInst::FCMP_UGE; ;}
     break;
 
   case 53:
-#line 1154 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1157 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     { (yyval.FPredicate) = FCmpInst::FCMP_TRUE; ;}
     break;
 
   case 54:
-#line 1155 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1158 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     { (yyval.FPredicate) = FCmpInst::FCMP_FALSE; ;}
     break;
 
   case 65:
-#line 1164 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1167 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     { (yyval.StrVal) = 0; ;}
     break;
 
   case 66:
-#line 1166 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1169 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     { (yyval.UIntVal)=(yyvsp[(3) - (4)].UInt64Val); ;}
     break;
 
   case 67:
-#line 1167 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1170 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     { (yyval.UIntVal)=0; ;}
     break;
 
   case 68:
-#line 1171 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1174 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.StrVal) = (yyvsp[(1) - (2)].StrVal);
     CHECK_FOR_ERROR
@@ -3782,186 +3786,194 @@
     break;
 
   case 69:
-#line 1175 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1178 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.StrVal) = 0;
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 73:
-#line 1183 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 70:
+#line 1183 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     {
-    (yyval.StrVal) = 0;
-    CHECK_FOR_ERROR
-  ;}
+  (yyval.UIntVal) = (yyvsp[(1) - (2)].UIntVal);
+  CHECK_FOR_ERROR
+;}
     break;
 
   case 74:
-#line 1188 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1192 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     {
-    (yyval.StrVal) = (yyvsp[(1) - (2)].StrVal);
+    (yyval.StrVal) = 0;
     CHECK_FOR_ERROR
   ;}
     break;
 
   case 75:
-#line 1194 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
-    { (yyval.Linkage) = GlobalValue::InternalLinkage; ;}
+#line 1197 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
+    {
+    (yyval.StrVal) = (yyvsp[(1) - (2)].StrVal);
+    CHECK_FOR_ERROR
+  ;}
     break;
 
   case 76:
-#line 1195 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
-    { (yyval.Linkage) = GlobalValue::WeakLinkage; ;}
+#line 1203 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
+    { (yyval.Linkage) = GlobalValue::InternalLinkage; ;}
     break;
 
   case 77:
-#line 1196 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
-    { (yyval.Linkage) = GlobalValue::LinkOnceLinkage; ;}
+#line 1204 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
+    { (yyval.Linkage) = GlobalValue::WeakLinkage; ;}
     break;
 
   case 78:
-#line 1197 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
-    { (yyval.Linkage) = GlobalValue::AppendingLinkage; ;}
+#line 1205 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
+    { (yyval.Linkage) = GlobalValue::LinkOnceLinkage; ;}
     break;
 
   case 79:
-#line 1198 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
-    { (yyval.Linkage) = GlobalValue::DLLExportLinkage; ;}
+#line 1206 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
+    { (yyval.Linkage) = GlobalValue::AppendingLinkage; ;}
     break;
 
   case 80:
-#line 1199 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
-    { (yyval.Linkage) = GlobalValue::CommonLinkage; ;}
+#line 1207 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
+    { (yyval.Linkage) = GlobalValue::DLLExportLinkage; ;}
     break;
 
   case 81:
-#line 1203 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
-    { (yyval.Linkage) = GlobalValue::DLLImportLinkage; ;}
+#line 1208 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
+    { (yyval.Linkage) = GlobalValue::CommonLinkage; ;}
     break;
 
   case 82:
-#line 1204 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
-    { (yyval.Linkage) = GlobalValue::ExternalWeakLinkage; ;}
+#line 1212 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
+    { (yyval.Linkage) = GlobalValue::DLLImportLinkage; ;}
     break;
 
   case 83:
-#line 1205 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
-    { (yyval.Linkage) = GlobalValue::ExternalLinkage; ;}
+#line 1213 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
+    { (yyval.Linkage) = GlobalValue::ExternalWeakLinkage; ;}
     break;
 
   case 84:
-#line 1209 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
-    { (yyval.Visibility) = GlobalValue::DefaultVisibility;   ;}
+#line 1214 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
+    { (yyval.Linkage) = GlobalValue::ExternalLinkage; ;}
     break;
 
   case 85:
-#line 1210 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1218 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     { (yyval.Visibility) = GlobalValue::DefaultVisibility;   ;}
     break;
 
   case 86:
-#line 1211 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
-    { (yyval.Visibility) = GlobalValue::HiddenVisibility;    ;}
+#line 1219 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
+    { (yyval.Visibility) = GlobalValue::DefaultVisibility;   ;}
     break;
 
   case 87:
-#line 1212 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
-    { (yyval.Visibility) = GlobalValue::ProtectedVisibility; ;}
+#line 1220 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
+    { (yyval.Visibility) = GlobalValue::HiddenVisibility;    ;}
     break;
 
   case 88:
-#line 1216 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
-    { (yyval.Linkage) = GlobalValue::ExternalLinkage; ;}
+#line 1221 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
+    { (yyval.Visibility) = GlobalValue::ProtectedVisibility; ;}
     break;
 
   case 89:
-#line 1217 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
-    { (yyval.Linkage) = GlobalValue::DLLImportLinkage; ;}
+#line 1225 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
+    { (yyval.Linkage) = GlobalValue::ExternalLinkage; ;}
     break;
 
   case 90:
-#line 1218 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
-    { (yyval.Linkage) = GlobalValue::ExternalWeakLinkage; ;}
+#line 1226 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
+    { (yyval.Linkage) = GlobalValue::DLLImportLinkage; ;}
     break;
 
   case 91:
-#line 1222 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
-    { (yyval.Linkage) = GlobalValue::ExternalLinkage; ;}
+#line 1227 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
+    { (yyval.Linkage) = GlobalValue::ExternalWeakLinkage; ;}
     break;
 
   case 92:
-#line 1223 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
-    { (yyval.Linkage) = GlobalValue::InternalLinkage; ;}
+#line 1231 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
+    { (yyval.Linkage) = GlobalValue::ExternalLinkage; ;}
     break;
 
   case 93:
-#line 1224 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
-    { (yyval.Linkage) = GlobalValue::LinkOnceLinkage; ;}
+#line 1232 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
+    { (yyval.Linkage) = GlobalValue::InternalLinkage; ;}
     break;
 
   case 94:
-#line 1225 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
-    { (yyval.Linkage) = GlobalValue::WeakLinkage; ;}
+#line 1233 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
+    { (yyval.Linkage) = GlobalValue::LinkOnceLinkage; ;}
     break;
 
   case 95:
-#line 1226 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
-    { (yyval.Linkage) = GlobalValue::DLLExportLinkage; ;}
+#line 1234 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
+    { (yyval.Linkage) = GlobalValue::WeakLinkage; ;}
     break;
 
   case 96:
-#line 1230 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
-    { (yyval.Linkage) = GlobalValue::ExternalLinkage; ;}
+#line 1235 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
+    { (yyval.Linkage) = GlobalValue::DLLExportLinkage; ;}
     break;
 
   case 97:
-#line 1231 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
-    { (yyval.Linkage) = GlobalValue::WeakLinkage; ;}
+#line 1239 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
+    { (yyval.Linkage) = GlobalValue::ExternalLinkage; ;}
     break;
 
   case 98:
-#line 1232 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
-    { (yyval.Linkage) = GlobalValue::InternalLinkage; ;}
+#line 1240 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
+    { (yyval.Linkage) = GlobalValue::WeakLinkage; ;}
     break;
 
   case 99:
-#line 1235 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
-    { (yyval.UIntVal) = CallingConv::C; ;}
+#line 1241 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
+    { (yyval.Linkage) = GlobalValue::InternalLinkage; ;}
     break;
 
   case 100:
-#line 1236 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1244 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     { (yyval.UIntVal) = CallingConv::C; ;}
     break;
 
   case 101:
-#line 1237 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
-    { (yyval.UIntVal) = CallingConv::Fast; ;}
+#line 1245 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
+    { (yyval.UIntVal) = CallingConv::C; ;}
     break;
 
   case 102:
-#line 1238 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
-    { (yyval.UIntVal) = CallingConv::Cold; ;}
+#line 1246 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
+    { (yyval.UIntVal) = CallingConv::Fast; ;}
     break;
 
   case 103:
-#line 1239 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
-    { (yyval.UIntVal) = CallingConv::X86_StdCall; ;}
+#line 1247 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
+    { (yyval.UIntVal) = CallingConv::Cold; ;}
     break;
 
   case 104:
-#line 1240 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
-    { (yyval.UIntVal) = CallingConv::X86_FastCall; ;}
+#line 1248 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
+    { (yyval.UIntVal) = CallingConv::X86_StdCall; ;}
     break;
 
   case 105:
-#line 1241 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
-    { (yyval.UIntVal) = CallingConv::X86_SSECall; ;}
+#line 1249 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
+    { (yyval.UIntVal) = CallingConv::X86_FastCall; ;}
     break;
 
   case 106:
-#line 1242 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1250 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
+    { (yyval.UIntVal) = CallingConv::X86_SSECall; ;}
+    break;
+
+  case 107:
+#line 1251 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     {
                    if ((unsigned)(yyvsp[(2) - (2)].UInt64Val) != (yyvsp[(2) - (2)].UInt64Val))
                      GEN_ERROR("Calling conv too large");
@@ -3970,130 +3982,130 @@
                  ;}
     break;
 
-  case 107:
-#line 1249 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
-    { (yyval.ParamAttrs) = ParamAttr::ZExt;      ;}
-    break;
-
   case 108:
-#line 1250 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1258 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     { (yyval.ParamAttrs) = ParamAttr::ZExt;      ;}
     break;
 
   case 109:
-#line 1251 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
-    { (yyval.ParamAttrs) = ParamAttr::SExt;      ;}
+#line 1259 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
+    { (yyval.ParamAttrs) = ParamAttr::ZExt;      ;}
     break;
 
   case 110:
-#line 1252 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1260 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     { (yyval.ParamAttrs) = ParamAttr::SExt;      ;}
     break;
 
   case 111:
-#line 1253 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
-    { (yyval.ParamAttrs) = ParamAttr::InReg;     ;}
+#line 1261 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
+    { (yyval.ParamAttrs) = ParamAttr::SExt;      ;}
     break;
 
   case 112:
-#line 1254 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
-    { (yyval.ParamAttrs) = ParamAttr::StructRet; ;}
+#line 1262 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
+    { (yyval.ParamAttrs) = ParamAttr::InReg;     ;}
     break;
 
   case 113:
-#line 1255 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
-    { (yyval.ParamAttrs) = ParamAttr::NoAlias;   ;}
+#line 1263 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
+    { (yyval.ParamAttrs) = ParamAttr::StructRet; ;}
     break;
 
   case 114:
-#line 1256 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
-    { (yyval.ParamAttrs) = ParamAttr::ByVal;     ;}
+#line 1264 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
+    { (yyval.ParamAttrs) = ParamAttr::NoAlias;   ;}
     break;
 
   case 115:
-#line 1257 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
-    { (yyval.ParamAttrs) = ParamAttr::Nest;      ;}
+#line 1265 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
+    { (yyval.ParamAttrs) = ParamAttr::ByVal;     ;}
     break;
 
   case 116:
-#line 1258 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1266 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
+    { (yyval.ParamAttrs) = ParamAttr::Nest;      ;}
+    break;
+
+  case 117:
+#line 1267 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     { (yyval.ParamAttrs) = 
                           ParamAttr::constructAlignmentFromInt((yyvsp[(2) - (2)].UInt64Val));    ;}
     break;
 
-  case 117:
-#line 1262 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 118:
+#line 1271 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     { (yyval.ParamAttrs) = ParamAttr::None; ;}
     break;
 
-  case 118:
-#line 1263 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 119:
+#line 1272 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     {
                 (yyval.ParamAttrs) = (yyvsp[(1) - (2)].ParamAttrs) | (yyvsp[(2) - (2)].ParamAttrs);
               ;}
     break;
 
-  case 119:
-#line 1268 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 120:
+#line 1277 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     { (yyval.ParamAttrs) = ParamAttr::NoReturn; ;}
     break;
 
-  case 120:
-#line 1269 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 121:
+#line 1278 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     { (yyval.ParamAttrs) = ParamAttr::NoUnwind; ;}
     break;
 
-  case 121:
-#line 1270 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 122:
+#line 1279 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     { (yyval.ParamAttrs) = ParamAttr::ZExt;     ;}
     break;
 
-  case 122:
-#line 1271 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 123:
+#line 1280 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     { (yyval.ParamAttrs) = ParamAttr::SExt;     ;}
     break;
 
-  case 123:
-#line 1272 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 124:
+#line 1281 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     { (yyval.ParamAttrs) = ParamAttr::ReadNone; ;}
     break;
 
-  case 124:
-#line 1273 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 125:
+#line 1282 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     { (yyval.ParamAttrs) = ParamAttr::ReadOnly; ;}
     break;
 
-  case 125:
-#line 1276 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 126:
+#line 1285 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     { (yyval.ParamAttrs) = ParamAttr::None; ;}
     break;
 
-  case 126:
-#line 1277 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 127:
+#line 1286 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     {
                 (yyval.ParamAttrs) = (yyvsp[(1) - (2)].ParamAttrs) | (yyvsp[(2) - (2)].ParamAttrs);
               ;}
     break;
 
-  case 127:
-#line 1282 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 128:
+#line 1291 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     { (yyval.StrVal) = 0; ;}
     break;
 
-  case 128:
-#line 1283 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 129:
+#line 1292 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     {
                 (yyval.StrVal) = (yyvsp[(2) - (2)].StrVal);
               ;}
     break;
 
-  case 129:
-#line 1290 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 130:
+#line 1299 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     { (yyval.UIntVal) = 0; ;}
     break;
 
-  case 130:
-#line 1291 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 131:
+#line 1300 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     {
   (yyval.UIntVal) = (yyvsp[(2) - (2)].UInt64Val);
   if ((yyval.UIntVal) != 0 && !isPowerOf2_32((yyval.UIntVal)))
@@ -4102,13 +4114,13 @@
 ;}
     break;
 
-  case 131:
-#line 1297 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 132:
+#line 1306 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     { (yyval.UIntVal) = 0; ;}
     break;
 
-  case 132:
-#line 1298 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 133:
+#line 1307 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     {
   (yyval.UIntVal) = (yyvsp[(3) - (3)].UInt64Val);
   if ((yyval.UIntVal) != 0 && !isPowerOf2_32((yyval.UIntVal)))
@@ -4117,8 +4129,8 @@
 ;}
     break;
 
-  case 133:
-#line 1307 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 134:
+#line 1316 "/Users/sabre/llvm/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] == '\\')
@@ -4128,28 +4140,28 @@
 ;}
     break;
 
-  case 134:
-#line 1315 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 135:
+#line 1324 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     { (yyval.StrVal) = 0; ;}
     break;
 
-  case 135:
-#line 1316 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 136:
+#line 1325 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     { (yyval.StrVal) = (yyvsp[(1) - (1)].StrVal); ;}
     break;
 
-  case 136:
-#line 1321 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 137:
+#line 1330 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     {;}
     break;
 
-  case 137:
-#line 1322 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 138:
+#line 1331 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     {;}
     break;
 
-  case 138:
-#line 1323 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 139:
+#line 1332 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     {
     CurGV->setSection(*(yyvsp[(1) - (1)].StrVal));
     delete (yyvsp[(1) - (1)].StrVal);
@@ -4157,8 +4169,8 @@
   ;}
     break;
 
-  case 139:
-#line 1328 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 140:
+#line 1337 "/Users/sabre/llvm/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");
@@ -4167,24 +4179,24 @@
   ;}
     break;
 
-  case 147:
-#line 1344 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 148:
+#line 1353 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.TypeVal) = new PATypeHolder(OpaqueType::get());
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 148:
-#line 1348 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 149:
+#line 1357 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.TypeVal) = new PATypeHolder((yyvsp[(1) - (1)].PrimType));
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 149:
-#line 1352 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 150:
+#line 1361 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     {                             // Pointer type?
     if (*(yyvsp[(1) - (3)].TypeVal) == Type::LabelTy)
       GEN_ERROR("Cannot form a pointer to a basic block");
@@ -4194,8 +4206,8 @@
   ;}
     break;
 
-  case 150:
-#line 1359 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 151:
+#line 1368 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     {            // Named types are also simple types...
     const Type* tmp = getTypeVal((yyvsp[(1) - (1)].ValIDVal));
     CHECK_FOR_ERROR
@@ -4203,8 +4215,8 @@
   ;}
     break;
 
-  case 151:
-#line 1364 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 152:
+#line 1373 "/Users/sabre/llvm/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
@@ -4215,8 +4227,8 @@
   ;}
     break;
 
-  case 152:
-#line 1372 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 153:
+#line 1381 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     {
     // Allow but ignore attributes on function types; this permits auto-upgrade.
     // FIXME: remove in LLVM 3.0.
@@ -4248,8 +4260,8 @@
   ;}
     break;
 
-  case 153:
-#line 1401 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 154:
+#line 1410 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     {
     // Allow but ignore attributes on function types; this permits auto-upgrade.
     // FIXME: remove in LLVM 3.0.
@@ -4276,8 +4288,8 @@
   ;}
     break;
 
-  case 154:
-#line 1426 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 155:
+#line 1435 "/Users/sabre/llvm/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);
@@ -4285,8 +4297,8 @@
   ;}
     break;
 
-  case 155:
-#line 1431 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 156:
+#line 1440 "/Users/sabre/llvm/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))
@@ -4299,8 +4311,8 @@
   ;}
     break;
 
-  case 156:
-#line 1441 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 157:
+#line 1450 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     {                        // Structure type?
     std::vector<const Type*> Elements;
     for (std::list<llvm::PATypeHolder>::iterator I = (yyvsp[(2) - (3)].TypeList)->begin(),
@@ -4313,16 +4325,16 @@
   ;}
     break;
 
-  case 157:
-#line 1451 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 158:
+#line 1460 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     {                                  // Empty structure type?
     (yyval.TypeVal) = new PATypeHolder(StructType::get(std::vector<const Type*>()));
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 158:
-#line 1455 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 159:
+#line 1464 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     {
     std::vector<const Type*> Elements;
     for (std::list<llvm::PATypeHolder>::iterator I = (yyvsp[(3) - (5)].TypeList)->begin(),
@@ -4335,16 +4347,16 @@
   ;}
     break;
 
-  case 159:
-#line 1465 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 160:
+#line 1474 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     {                         // Empty structure type?
     (yyval.TypeVal) = new PATypeHolder(StructType::get(std::vector<const Type*>(), true));
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 160:
-#line 1472 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 161:
+#line 1481 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     {
     // Allow but ignore attributes on function types; this permits auto-upgrade.
     // FIXME: remove in LLVM 3.0.
@@ -4353,8 +4365,8 @@
   ;}
     break;
 
-  case 161:
-#line 1481 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 162:
+#line 1490 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (1)].TypeVal))->getDescription());
@@ -4364,15 +4376,15 @@
   ;}
     break;
 
-  case 162:
-#line 1488 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 163:
+#line 1497 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.TypeVal) = new PATypeHolder(Type::VoidTy);
   ;}
     break;
 
-  case 163:
-#line 1493 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 164:
+#line 1502 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.TypeWithAttrsList) = new TypeWithAttrsList();
     (yyval.TypeWithAttrsList)->push_back((yyvsp[(1) - (1)].TypeWithAttrs));
@@ -4380,16 +4392,16 @@
   ;}
     break;
 
-  case 164:
-#line 1498 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 165:
+#line 1507 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     {
     ((yyval.TypeWithAttrsList)=(yyvsp[(1) - (3)].TypeWithAttrsList))->push_back((yyvsp[(3) - (3)].TypeWithAttrs));
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 166:
-#line 1506 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 167:
+#line 1515 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.TypeWithAttrsList)=(yyvsp[(1) - (3)].TypeWithAttrsList);
     TypeWithAttrs TWA; TWA.Attrs = ParamAttr::None;
@@ -4399,8 +4411,8 @@
   ;}
     break;
 
-  case 167:
-#line 1513 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 168:
+#line 1522 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.TypeWithAttrsList) = new TypeWithAttrsList;
     TypeWithAttrs TWA; TWA.Attrs = ParamAttr::None;
@@ -4410,16 +4422,16 @@
   ;}
     break;
 
-  case 168:
-#line 1520 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 169:
+#line 1529 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.TypeWithAttrsList) = new TypeWithAttrsList();
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 169:
-#line 1528 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 170:
+#line 1537 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.TypeList) = new std::list<PATypeHolder>();
     (yyval.TypeList)->push_back(*(yyvsp[(1) - (1)].TypeVal)); 
@@ -4428,8 +4440,8 @@
   ;}
     break;
 
-  case 170:
-#line 1534 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 171:
+#line 1543 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     {
     ((yyval.TypeList)=(yyvsp[(1) - (3)].TypeList))->push_back(*(yyvsp[(3) - (3)].TypeVal)); 
     delete (yyvsp[(3) - (3)].TypeVal);
@@ -4437,8 +4449,8 @@
   ;}
     break;
 
-  case 171:
-#line 1546 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 172:
+#line 1555 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     { // Nonempty unsized arr
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (4)].TypeVal))->getDescription());
@@ -4469,8 +4481,8 @@
   ;}
     break;
 
-  case 172:
-#line 1574 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 173:
+#line 1583 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (3)].TypeVal))->getDescription());
@@ -4489,8 +4501,8 @@
   ;}
     break;
 
-  case 173:
-#line 1590 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 174:
+#line 1599 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (3)].TypeVal))->getDescription());
@@ -4520,8 +4532,8 @@
   ;}
     break;
 
-  case 174:
-#line 1617 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 175:
+#line 1626 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     { // Nonempty unsized arr
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (4)].TypeVal))->getDescription());
@@ -4552,8 +4564,8 @@
   ;}
     break;
 
-  case 175:
-#line 1645 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 176:
+#line 1654 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     {
     const StructType *STy = dyn_cast<StructType>((yyvsp[(1) - (4)].TypeVal)->get());
     if (STy == 0)
@@ -4582,8 +4594,8 @@
   ;}
     break;
 
-  case 176:
-#line 1671 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 177:
+#line 1680 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (3)].TypeVal))->getDescription());
@@ -4606,8 +4618,8 @@
   ;}
     break;
 
-  case 177:
-#line 1691 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 178:
+#line 1700 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     {
     const StructType *STy = dyn_cast<StructType>((yyvsp[(1) - (6)].TypeVal)->get());
     if (STy == 0)
@@ -4636,8 +4648,8 @@
   ;}
     break;
 
-  case 178:
-#line 1717 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 179:
+#line 1726 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (5)].TypeVal))->getDescription());
@@ -4660,8 +4672,8 @@
   ;}
     break;
 
-  case 179:
-#line 1737 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 180:
+#line 1746 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (2)].TypeVal))->getDescription());
@@ -4676,8 +4688,8 @@
   ;}
     break;
 
-  case 180:
-#line 1749 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 181:
+#line 1758 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (2)].TypeVal))->getDescription());
@@ -4687,8 +4699,8 @@
   ;}
     break;
 
-  case 181:
-#line 1756 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 182:
+#line 1765 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (2)].TypeVal))->getDescription());
@@ -4757,8 +4769,8 @@
   ;}
     break;
 
-  case 182:
-#line 1822 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 183:
+#line 1831 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (2)].TypeVal))->getDescription());
@@ -4771,8 +4783,8 @@
   ;}
     break;
 
-  case 183:
-#line 1832 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 184:
+#line 1841 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (2)].TypeVal))->getDescription());
@@ -4785,8 +4797,8 @@
   ;}
     break;
 
-  case 184:
-#line 1842 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 185:
+#line 1851 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     {      // integral constants
     if (!ConstantInt::isValueValidForType((yyvsp[(1) - (2)].PrimType), (yyvsp[(2) - (2)].SInt64Val)))
       GEN_ERROR("Constant value doesn't fit in type");
@@ -4795,8 +4807,8 @@
   ;}
     break;
 
-  case 185:
-#line 1848 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 186:
+#line 1857 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     {      // arbitrary precision integer constants
     uint32_t BitWidth = cast<IntegerType>((yyvsp[(1) - (2)].PrimType))->getBitWidth();
     if ((yyvsp[(2) - (2)].APIntVal)->getBitWidth() > BitWidth) {
@@ -4809,8 +4821,8 @@
   ;}
     break;
 
-  case 186:
-#line 1858 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 187:
+#line 1867 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     {      // integral constants
     if (!ConstantInt::isValueValidForType((yyvsp[(1) - (2)].PrimType), (yyvsp[(2) - (2)].UInt64Val)))
       GEN_ERROR("Constant value doesn't fit in type");
@@ -4819,8 +4831,8 @@
   ;}
     break;
 
-  case 187:
-#line 1864 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 188:
+#line 1873 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     {      // arbitrary precision integer constants
     uint32_t BitWidth = cast<IntegerType>((yyvsp[(1) - (2)].PrimType))->getBitWidth();
     if ((yyvsp[(2) - (2)].APIntVal)->getBitWidth() > BitWidth) {
@@ -4833,8 +4845,8 @@
   ;}
     break;
 
-  case 188:
-#line 1874 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 189:
+#line 1883 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     {                      // Boolean constants
     if (cast<IntegerType>((yyvsp[(1) - (2)].PrimType))->getBitWidth() != 1)
       GEN_ERROR("Constant true must have type i1");
@@ -4843,8 +4855,8 @@
   ;}
     break;
 
-  case 189:
-#line 1880 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 190:
+#line 1889 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     {                     // Boolean constants
     if (cast<IntegerType>((yyvsp[(1) - (2)].PrimType))->getBitWidth() != 1)
       GEN_ERROR("Constant false must have type i1");
@@ -4853,8 +4865,8 @@
   ;}
     break;
 
-  case 190:
-#line 1886 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 191:
+#line 1895 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     {                   // Floating point constants
     if (!ConstantFP::isValueValidForType((yyvsp[(1) - (2)].PrimType), *(yyvsp[(2) - (2)].FPVal)))
       GEN_ERROR("Floating point constant invalid for type");
@@ -4868,8 +4880,8 @@
   ;}
     break;
 
-  case 191:
-#line 1899 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 192:
+#line 1908 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(5) - (6)].TypeVal))->getDescription());
@@ -4884,8 +4896,8 @@
   ;}
     break;
 
-  case 192:
-#line 1911 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 193:
+#line 1920 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     {
     if (!isa<PointerType>((yyvsp[(3) - (5)].ConstVal)->getType()))
       GEN_ERROR("GetElementPtr requires a pointer operand");
@@ -4909,8 +4921,8 @@
   ;}
     break;
 
-  case 193:
-#line 1932 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 194:
+#line 1941 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     {
     if ((yyvsp[(3) - (8)].ConstVal)->getType() != Type::Int1Ty)
       GEN_ERROR("Select condition must be of boolean type");
@@ -4921,8 +4933,8 @@
   ;}
     break;
 
-  case 194:
-#line 1940 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 195:
+#line 1949 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     {
     if ((yyvsp[(3) - (6)].ConstVal)->getType() != (yyvsp[(5) - (6)].ConstVal)->getType())
       GEN_ERROR("Binary operator types must match");
@@ -4931,8 +4943,8 @@
   ;}
     break;
 
-  case 195:
-#line 1946 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 196:
+#line 1955 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     {
     if ((yyvsp[(3) - (6)].ConstVal)->getType() != (yyvsp[(5) - (6)].ConstVal)->getType())
       GEN_ERROR("Logical operator types must match");
@@ -4946,8 +4958,8 @@
   ;}
     break;
 
-  case 196:
-#line 1957 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 197:
+#line 1966 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     {
     if ((yyvsp[(4) - (7)].ConstVal)->getType() != (yyvsp[(6) - (7)].ConstVal)->getType())
       GEN_ERROR("icmp operand types must match");
@@ -4955,8 +4967,8 @@
   ;}
     break;
 
-  case 197:
-#line 1962 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 198:
+#line 1971 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     {
     if ((yyvsp[(4) - (7)].ConstVal)->getType() != (yyvsp[(6) - (7)].ConstVal)->getType())
       GEN_ERROR("fcmp operand types must match");
@@ -4964,8 +4976,8 @@
   ;}
     break;
 
-  case 198:
-#line 1967 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 199:
+#line 1976 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     {
     if ((yyvsp[(4) - (7)].ConstVal)->getType() != (yyvsp[(6) - (7)].ConstVal)->getType())
       GEN_ERROR("vicmp operand types must match");
@@ -4973,8 +4985,8 @@
   ;}
     break;
 
-  case 199:
-#line 1972 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 200:
+#line 1981 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     {
     if ((yyvsp[(4) - (7)].ConstVal)->getType() != (yyvsp[(6) - (7)].ConstVal)->getType())
       GEN_ERROR("vfcmp operand types must match");
@@ -4982,8 +4994,8 @@
   ;}
     break;
 
-  case 200:
-#line 1977 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 201:
+#line 1986 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     {
     if (!ExtractElementInst::isValidOperands((yyvsp[(3) - (6)].ConstVal), (yyvsp[(5) - (6)].ConstVal)))
       GEN_ERROR("Invalid extractelement operands");
@@ -4992,8 +5004,8 @@
   ;}
     break;
 
-  case 201:
-#line 1983 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 202:
+#line 1992 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     {
     if (!InsertElementInst::isValidOperands((yyvsp[(3) - (8)].ConstVal), (yyvsp[(5) - (8)].ConstVal), (yyvsp[(7) - (8)].ConstVal)))
       GEN_ERROR("Invalid insertelement operands");
@@ -5002,8 +5014,8 @@
   ;}
     break;
 
-  case 202:
-#line 1989 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 203:
+#line 1998 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     {
     if (!ShuffleVectorInst::isValidOperands((yyvsp[(3) - (8)].ConstVal), (yyvsp[(5) - (8)].ConstVal), (yyvsp[(7) - (8)].ConstVal)))
       GEN_ERROR("Invalid shufflevector operands");
@@ -5012,8 +5024,8 @@
   ;}
     break;
 
-  case 203:
-#line 1995 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 204:
+#line 2004 "/Users/sabre/llvm/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");
@@ -5024,8 +5036,8 @@
   ;}
     break;
 
-  case 204:
-#line 2003 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 205:
+#line 2012 "/Users/sabre/llvm/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");
@@ -5036,16 +5048,16 @@
   ;}
     break;
 
-  case 205:
-#line 2014 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 206:
+#line 2023 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     {
     ((yyval.ConstVector) = (yyvsp[(1) - (3)].ConstVector))->push_back((yyvsp[(3) - (3)].ConstVal));
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 206:
-#line 2018 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 207:
+#line 2027 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ConstVector) = new std::vector<Constant*>();
     (yyval.ConstVector)->push_back((yyvsp[(1) - (1)].ConstVal));
@@ -5053,28 +5065,28 @@
   ;}
     break;
 
-  case 207:
-#line 2026 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 208:
+#line 2035 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     { (yyval.BoolVal) = false; ;}
     break;
 
-  case 208:
-#line 2026 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 209:
+#line 2035 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     { (yyval.BoolVal) = true; ;}
     break;
 
-  case 209:
-#line 2029 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 210:
+#line 2038 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     { (yyval.BoolVal) = true; ;}
     break;
 
-  case 210:
-#line 2029 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 211:
+#line 2038 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     { (yyval.BoolVal) = false; ;}
     break;
 
-  case 211:
-#line 2032 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 212:
+#line 2041 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     {
     const Type* VTy = (yyvsp[(1) - (2)].TypeVal)->get();
     Value *V = getVal(VTy, (yyvsp[(2) - (2)].ValIDVal));
@@ -5089,8 +5101,8 @@
    ;}
     break;
 
-  case 212:
-#line 2044 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 213:
+#line 2053 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     {
     Constant *Val = (yyvsp[(3) - (6)].ConstVal);
     const Type *DestTy = (yyvsp[(5) - (6)].TypeVal)->get();
@@ -5105,8 +5117,8 @@
    ;}
     break;
 
-  case 213:
-#line 2065 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 214:
+#line 2074 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ModuleVal) = ParserResult = CurModule.CurrentModule;
     CurModule.ModuleDone();
@@ -5114,8 +5126,8 @@
   ;}
     break;
 
-  case 214:
-#line 2070 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 215:
+#line 2079 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ModuleVal) = ParserResult = CurModule.CurrentModule;
     CurModule.ModuleDone();
@@ -5123,40 +5135,40 @@
   ;}
     break;
 
-  case 217:
-#line 2083 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 218:
+#line 2092 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     { CurFun.isDeclare = false; ;}
     break;
 
-  case 218:
-#line 2083 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 219:
+#line 2092 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     {
     CurFun.FunctionDone();
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 219:
-#line 2087 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 220:
+#line 2096 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     { CurFun.isDeclare = true; ;}
     break;
 
-  case 220:
-#line 2087 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 221:
+#line 2096 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     {
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 221:
-#line 2090 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 222:
+#line 2099 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     {
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 222:
-#line 2093 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 223:
+#line 2102 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(3) - (3)].TypeVal))->getDescription());
@@ -5183,8 +5195,8 @@
   ;}
     break;
 
-  case 223:
-#line 2117 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 224:
+#line 2126 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     {
     ResolveTypeTo((yyvsp[(1) - (3)].StrVal), (yyvsp[(3) - (3)].PrimType));
 
@@ -5198,8 +5210,8 @@
   ;}
     break;
 
-  case 224:
-#line 2129 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 225:
+#line 2138 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     { 
     /* "Externally Visible" Linkage */
     if ((yyvsp[(5) - (6)].ConstVal) == 0) 
@@ -5210,15 +5222,15 @@
   ;}
     break;
 
-  case 225:
-#line 2136 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 226:
+#line 2145 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     {
     CurGV = 0;
   ;}
     break;
 
-  case 226:
-#line 2140 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 227:
+#line 2149 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     {
     if ((yyvsp[(6) - (7)].ConstVal) == 0) 
       GEN_ERROR("Global value initializer is not a constant");
@@ -5227,15 +5239,15 @@
   ;}
     break;
 
-  case 227:
-#line 2145 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 228:
+#line 2154 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     {
     CurGV = 0;
   ;}
     break;
 
-  case 228:
-#line 2149 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 229:
+#line 2158 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(6) - (7)].TypeVal))->getDescription());
@@ -5245,16 +5257,16 @@
   ;}
     break;
 
-  case 229:
-#line 2155 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 230:
+#line 2164 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     {
     CurGV = 0;
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 230:
-#line 2159 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 231:
+#line 2168 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     {
     std::string Name;
     if ((yyvsp[(1) - (5)].StrVal)) {
@@ -5297,22 +5309,22 @@
   ;}
     break;
 
-  case 231:
-#line 2199 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 232:
+#line 2208 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     { 
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 232:
-#line 2202 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 233:
+#line 2211 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     {
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 233:
-#line 2208 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 234:
+#line 2217 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     {
   const std::string &AsmSoFar = CurModule.CurrentModule->getModuleInlineAsm();
   if (AsmSoFar.empty())
@@ -5324,24 +5336,24 @@
 ;}
     break;
 
-  case 234:
-#line 2218 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 235:
+#line 2227 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     {
     CurModule.CurrentModule->setTargetTriple(*(yyvsp[(3) - (3)].StrVal));
     delete (yyvsp[(3) - (3)].StrVal);
   ;}
     break;
 
-  case 235:
-#line 2222 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 236:
+#line 2231 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     {
     CurModule.CurrentModule->setDataLayout(*(yyvsp[(3) - (3)].StrVal));
     delete (yyvsp[(3) - (3)].StrVal);
   ;}
     break;
 
-  case 237:
-#line 2229 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 238:
+#line 2238 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     {
           CurModule.CurrentModule->addLibrary(*(yyvsp[(3) - (3)].StrVal));
           delete (yyvsp[(3) - (3)].StrVal);
@@ -5349,8 +5361,8 @@
         ;}
     break;
 
-  case 238:
-#line 2234 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 239:
+#line 2243 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     {
           CurModule.CurrentModule->addLibrary(*(yyvsp[(1) - (1)].StrVal));
           delete (yyvsp[(1) - (1)].StrVal);
@@ -5358,15 +5370,15 @@
         ;}
     break;
 
-  case 239:
-#line 2239 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 240:
+#line 2248 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     {
           CHECK_FOR_ERROR
         ;}
     break;
 
-  case 240:
-#line 2248 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 241:
+#line 2257 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(3) - (5)].TypeVal))->getDescription());
@@ -5379,8 +5391,8 @@
   ;}
     break;
 
-  case 241:
-#line 2258 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 242:
+#line 2267 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (3)].TypeVal))->getDescription());
@@ -5393,16 +5405,16 @@
   ;}
     break;
 
-  case 242:
-#line 2269 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 243:
+#line 2278 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ArgList) = (yyvsp[(1) - (1)].ArgList);
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 243:
-#line 2273 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 244:
+#line 2282 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ArgList) = (yyvsp[(1) - (3)].ArgList);
     struct ArgListEntry E;
@@ -5414,8 +5426,8 @@
   ;}
     break;
 
-  case 244:
-#line 2282 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 245:
+#line 2291 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ArgList) = new ArgListType;
     struct ArgListEntry E;
@@ -5427,16 +5439,16 @@
   ;}
     break;
 
-  case 245:
-#line 2291 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 246:
+#line 2300 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ArgList) = 0;
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 246:
-#line 2297 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 247:
+#line 2306 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     {
   std::string FunctionName(*(yyvsp[(3) - (10)].StrVal));
   delete (yyvsp[(3) - (10)].StrVal);  // Free strdup'd memory!
@@ -5566,8 +5578,8 @@
 ;}
     break;
 
-  case 249:
-#line 2427 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 250:
+#line 2436 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     {
   (yyval.FunctionVal) = CurFun.CurrentFunction;
 
@@ -5578,16 +5590,16 @@
 ;}
     break;
 
-  case 252:
-#line 2438 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 253:
+#line 2447 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     {
   (yyval.FunctionVal) = (yyvsp[(1) - (2)].FunctionVal);
   CHECK_FOR_ERROR
 ;}
     break;
 
-  case 253:
-#line 2443 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 254:
+#line 2452 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     {
     CurFun.CurrentFunction->setLinkage((yyvsp[(1) - (3)].Linkage));
     CurFun.CurrentFunction->setVisibility((yyvsp[(2) - (3)].Visibility));
@@ -5597,40 +5609,40 @@
   ;}
     break;
 
-  case 254:
-#line 2455 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 255:
+#line 2464 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.BoolVal) = false;
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 255:
-#line 2459 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 256:
+#line 2468 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.BoolVal) = true;
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 256:
-#line 2464 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 257:
+#line 2473 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     {    // A reference to a direct constant
     (yyval.ValIDVal) = ValID::create((yyvsp[(1) - (1)].SInt64Val));
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 257:
-#line 2468 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 258:
+#line 2477 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ValIDVal) = ValID::create((yyvsp[(1) - (1)].UInt64Val));
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 258:
-#line 2472 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 259:
+#line 2481 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     {      // arbitrary precision integer constants
     (yyval.ValIDVal) = ValID::create(*(yyvsp[(1) - (1)].APIntVal), true);
     delete (yyvsp[(1) - (1)].APIntVal);
@@ -5638,8 +5650,8 @@
   ;}
     break;
 
-  case 259:
-#line 2477 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 260:
+#line 2486 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     {      // arbitrary precision integer constants
     (yyval.ValIDVal) = ValID::create(*(yyvsp[(1) - (1)].APIntVal), false);
     delete (yyvsp[(1) - (1)].APIntVal);
@@ -5647,56 +5659,56 @@
   ;}
     break;
 
-  case 260:
-#line 2482 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 261:
+#line 2491 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     {                     // Perhaps it's an FP constant?
     (yyval.ValIDVal) = ValID::create((yyvsp[(1) - (1)].FPVal));
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 261:
-#line 2486 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 262:
+#line 2495 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ValIDVal) = ValID::create(ConstantInt::getTrue());
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 262:
-#line 2490 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 263:
+#line 2499 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ValIDVal) = ValID::create(ConstantInt::getFalse());
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 263:
-#line 2494 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 264:
+#line 2503 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ValIDVal) = ValID::createNull();
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 264:
-#line 2498 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 265:
+#line 2507 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ValIDVal) = ValID::createUndef();
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 265:
-#line 2502 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 266:
+#line 2511 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     {     // A vector zero constant.
     (yyval.ValIDVal) = ValID::createZeroInit();
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 266:
-#line 2506 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 267:
+#line 2515 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     { // Nonempty unsized packed vector
     const Type *ETy = (*(yyvsp[(2) - (3)].ConstVector))[0]->getType();
     unsigned NumElements = (yyvsp[(2) - (3)].ConstVector)->size(); 
@@ -5721,8 +5733,8 @@
   ;}
     break;
 
-  case 267:
-#line 2528 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 268:
+#line 2537 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     { // Nonempty unsized arr
     const Type *ETy = (*(yyvsp[(2) - (3)].ConstVector))[0]->getType();
     uint64_t NumElements = (yyvsp[(2) - (3)].ConstVector)->size(); 
@@ -5747,8 +5759,8 @@
   ;}
     break;
 
-  case 268:
-#line 2550 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 269:
+#line 2559 "/Users/sabre/llvm/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.
@@ -5757,8 +5769,8 @@
   ;}
     break;
 
-  case 269:
-#line 2556 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 270:
+#line 2565 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     {
     uint64_t NumElements = (yyvsp[(2) - (2)].StrVal)->length();
     const Type *ETy = Type::Int8Ty;
@@ -5774,8 +5786,8 @@
   ;}
     break;
 
-  case 270:
-#line 2569 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 271:
+#line 2578 "/Users/sabre/llvm/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)
@@ -5790,8 +5802,8 @@
   ;}
     break;
 
-  case 271:
-#line 2581 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 272:
+#line 2590 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     {
     const StructType *STy = StructType::get(std::vector<const Type*>());
     (yyval.ValIDVal) = ValID::create(ConstantStruct::get(STy, std::vector<Constant*>()));
@@ -5799,8 +5811,8 @@
   ;}
     break;
 
-  case 272:
-#line 2586 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 273:
+#line 2595 "/Users/sabre/llvm/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)
@@ -5815,8 +5827,8 @@
   ;}
     break;
 
-  case 273:
-#line 2598 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 274:
+#line 2607 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     {
     const StructType *STy = StructType::get(std::vector<const Type*>(),
                                             /*isPacked=*/true);
@@ -5825,16 +5837,16 @@
   ;}
     break;
 
-  case 274:
-#line 2604 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 275:
+#line 2613 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ValIDVal) = ValID::create((yyvsp[(1) - (1)].ConstVal));
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 275:
-#line 2608 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 276:
+#line 2617 "/Users/sabre/llvm/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);
@@ -5843,24 +5855,24 @@
   ;}
     break;
 
-  case 276:
-#line 2618 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 277:
+#line 2627 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     {  // Is it an integer reference...?
     (yyval.ValIDVal) = ValID::createLocalID((yyvsp[(1) - (1)].UIntVal));
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 277:
-#line 2622 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 278:
+#line 2631 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ValIDVal) = ValID::createGlobalID((yyvsp[(1) - (1)].UIntVal));
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 278:
-#line 2626 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 279:
+#line 2635 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     {                   // Is it a named reference...?
     (yyval.ValIDVal) = ValID::createLocalName(*(yyvsp[(1) - (1)].StrVal));
     delete (yyvsp[(1) - (1)].StrVal);
@@ -5868,8 +5880,8 @@
   ;}
     break;
 
-  case 279:
-#line 2631 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 280:
+#line 2640 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     {                   // Is it a named reference...?
     (yyval.ValIDVal) = ValID::createGlobalName(*(yyvsp[(1) - (1)].StrVal));
     delete (yyvsp[(1) - (1)].StrVal);
@@ -5877,8 +5889,8 @@
   ;}
     break;
 
-  case 282:
-#line 2644 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 283:
+#line 2653 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (2)].TypeVal))->getDescription());
@@ -5888,8 +5900,8 @@
   ;}
     break;
 
-  case 283:
-#line 2653 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 284:
+#line 2662 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ValueList) = new std::vector<Value *>();
     (yyval.ValueList)->push_back((yyvsp[(1) - (1)].ValueVal)); 
@@ -5897,32 +5909,32 @@
   ;}
     break;
 
-  case 284:
-#line 2658 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 285:
+#line 2667 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     {
     ((yyval.ValueList)=(yyvsp[(1) - (3)].ValueList))->push_back((yyvsp[(3) - (3)].ValueVal)); 
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 285:
-#line 2663 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 286:
+#line 2672 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.FunctionVal) = (yyvsp[(1) - (2)].FunctionVal);
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 286:
-#line 2667 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 287:
+#line 2676 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     { // Do not allow functions with 0 basic blocks   
     (yyval.FunctionVal) = (yyvsp[(1) - (2)].FunctionVal);
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 287:
-#line 2676 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 288:
+#line 2685 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     {
     setValueName((yyvsp[(3) - (3)].TermInstVal), (yyvsp[(2) - (3)].StrVal));
     CHECK_FOR_ERROR
@@ -5933,8 +5945,23 @@
   ;}
     break;
 
-  case 288:
-#line 2685 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 289:
+#line 2694 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
+    {
+  CHECK_FOR_ERROR
+  int ValNum = InsertValue((yyvsp[(3) - (3)].TermInstVal));
+  if (ValNum != (int)(yyvsp[(2) - (3)].UIntVal))
+    GEN_ERROR("Result value number %" + utostr((yyvsp[(2) - (3)].UIntVal)) +
+              " is incorrect, expected %" + utostr((unsigned)ValNum));
+  
+  (yyvsp[(1) - (3)].BasicBlockVal)->getInstList().push_back((yyvsp[(3) - (3)].TermInstVal));
+  (yyval.BasicBlockVal) = (yyvsp[(1) - (3)].BasicBlockVal);
+  CHECK_FOR_ERROR
+;}
+    break;
+
+  case 290:
+#line 2707 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     {
     if (CastInst *CI1 = dyn_cast<CastInst>((yyvsp[(2) - (2)].InstVal)))
       if (CastInst *CI2 = dyn_cast<CastInst>(CI1->getOperand(0)))
@@ -5946,16 +5973,16 @@
   ;}
     break;
 
-  case 289:
-#line 2694 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 291:
+#line 2716 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     {          // Empty space between instruction lists
     (yyval.BasicBlockVal) = defineBBVal(ValID::createLocalID(CurFun.NextValNum));
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 290:
-#line 2698 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 292:
+#line 2720 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     {             // Labelled (named) basic block
     (yyval.BasicBlockVal) = defineBBVal(ValID::createLocalName(*(yyvsp[(1) - (1)].StrVal)));
     delete (yyvsp[(1) - (1)].StrVal);
@@ -5964,8 +5991,8 @@
   ;}
     break;
 
-  case 291:
-#line 2706 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 293:
+#line 2728 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     { // Return with a result...
     ValueList &VL = *(yyvsp[(2) - (2)].ValueList);
     assert(!VL.empty() && "Invalid ret operands!");
@@ -5988,16 +6015,16 @@
   ;}
     break;
 
-  case 292:
-#line 2726 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 294:
+#line 2748 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     {                                    // Return with no result...
     (yyval.TermInstVal) = ReturnInst::Create();
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 293:
-#line 2730 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 295:
+#line 2752 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     {                           // Unconditional Branch...
     BasicBlock* tmpBB = getBBVal((yyvsp[(3) - (3)].ValIDVal));
     CHECK_FOR_ERROR
@@ -6005,8 +6032,8 @@
   ;}
     break;
 
-  case 294:
-#line 2735 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 296:
+#line 2757 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     {  
     if (cast<IntegerType>((yyvsp[(2) - (9)].PrimType))->getBitWidth() != 1)
       GEN_ERROR("Branch condition must have type i1");
@@ -6020,8 +6047,8 @@
   ;}
     break;
 
-  case 295:
-#line 2746 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 297:
+#line 2768 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     {
     Value* tmpVal = getVal((yyvsp[(2) - (9)].PrimType), (yyvsp[(3) - (9)].ValIDVal));
     CHECK_FOR_ERROR
@@ -6043,8 +6070,8 @@
   ;}
     break;
 
-  case 296:
-#line 2765 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 298:
+#line 2787 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     {
     Value* tmpVal = getVal((yyvsp[(2) - (8)].PrimType), (yyvsp[(3) - (8)].ValIDVal));
     CHECK_FOR_ERROR
@@ -6056,8 +6083,8 @@
   ;}
     break;
 
-  case 297:
-#line 2775 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 299:
+#line 2797 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     {
 
     // Handle the short syntax
@@ -6145,24 +6172,24 @@
   ;}
     break;
 
-  case 298:
-#line 2860 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 300:
+#line 2882 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.TermInstVal) = new UnwindInst();
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 299:
-#line 2864 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 301:
+#line 2886 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.TermInstVal) = new UnreachableInst();
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 300:
-#line 2871 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 302:
+#line 2893 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.JumpTable) = (yyvsp[(1) - (6)].JumpTable);
     Constant *V = cast<Constant>(getExistingVal((yyvsp[(2) - (6)].PrimType), (yyvsp[(3) - (6)].ValIDVal)));
@@ -6176,8 +6203,8 @@
   ;}
     break;
 
-  case 301:
-#line 2882 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 303:
+#line 2904 "/Users/sabre/llvm/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)));
@@ -6192,8 +6219,8 @@
   ;}
     break;
 
-  case 302:
-#line 2895 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 304:
+#line 2917 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     {
     // Is this definition named?? if so, assign the name...
     setValueName((yyvsp[(2) - (2)].InstVal), (yyvsp[(1) - (2)].StrVal));
@@ -6204,8 +6231,23 @@
   ;}
     break;
 
-  case 303:
-#line 2905 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 305:
+#line 2926 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
+    {
+    CHECK_FOR_ERROR
+    int ValNum = InsertValue((yyvsp[(2) - (2)].InstVal));
+  
+    if (ValNum != (int)(yyvsp[(1) - (2)].UIntVal))
+      GEN_ERROR("Result value number %" + utostr((yyvsp[(1) - (2)].UIntVal)) +
+                " is incorrect, expected %" + utostr((unsigned)ValNum));
+
+    (yyval.InstVal) = (yyvsp[(2) - (2)].InstVal);
+    CHECK_FOR_ERROR
+  ;}
+    break;
+
+  case 306:
+#line 2939 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     {    // Used for PHI nodes
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (6)].TypeVal))->getDescription());
@@ -6219,8 +6261,8 @@
   ;}
     break;
 
-  case 304:
-#line 2916 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 307:
+#line 2950 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.PHIList) = (yyvsp[(1) - (7)].PHIList);
     Value* tmpVal = getVal((yyvsp[(1) - (7)].PHIList)->front().first->getType(), (yyvsp[(4) - (7)].ValIDVal));
@@ -6231,8 +6273,8 @@
   ;}
     break;
 
-  case 305:
-#line 2926 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 308:
+#line 2960 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     {
     // FIXME: Remove trailing OptParamAttrs in LLVM 3.0, it was a mistake in 2.0
     if (!UpRefs.empty())
@@ -6246,8 +6288,8 @@
   ;}
     break;
 
-  case 306:
-#line 2937 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 309:
+#line 2971 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     {
     // FIXME: Remove trailing OptParamAttrs in LLVM 3.0, it was a mistake in 2.0
     // Labels are only valid in ASMs
@@ -6258,8 +6300,8 @@
   ;}
     break;
 
-  case 307:
-#line 2945 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 310:
+#line 2979 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     {
     // FIXME: Remove trailing OptParamAttrs in LLVM 3.0, it was a mistake in 2.0
     if (!UpRefs.empty())
@@ -6272,8 +6314,8 @@
   ;}
     break;
 
-  case 308:
-#line 2955 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 311:
+#line 2989 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     {
     // FIXME: Remove trailing OptParamAttrs in LLVM 3.0, it was a mistake in 2.0
     (yyval.ParamList) = (yyvsp[(1) - (6)].ParamList);
@@ -6283,18 +6325,18 @@
   ;}
     break;
 
-  case 309:
-#line 2962 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 312:
+#line 2996 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     { (yyval.ParamList) = new ParamList(); ;}
     break;
 
-  case 310:
-#line 2965 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 313:
+#line 2999 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     { (yyval.ValueList) = new std::vector<Value*>(); ;}
     break;
 
-  case 311:
-#line 2966 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 314:
+#line 3000 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ValueList) = (yyvsp[(1) - (3)].ValueList);
     (yyval.ValueList)->push_back((yyvsp[(3) - (3)].ValueVal));
@@ -6302,8 +6344,8 @@
   ;}
     break;
 
-  case 312:
-#line 2974 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 315:
+#line 3008 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ConstantList) = new std::vector<unsigned>();
     if ((unsigned)(yyvsp[(2) - (2)].UInt64Val) != (yyvsp[(2) - (2)].UInt64Val))
@@ -6312,8 +6354,8 @@
   ;}
     break;
 
-  case 313:
-#line 2980 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 316:
+#line 3014 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ConstantList) = (yyvsp[(1) - (3)].ConstantList);
     if ((unsigned)(yyvsp[(3) - (3)].UInt64Val) != (yyvsp[(3) - (3)].UInt64Val))
@@ -6323,24 +6365,24 @@
   ;}
     break;
 
-  case 314:
-#line 2989 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 317:
+#line 3023 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.BoolVal) = true;
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 315:
-#line 2993 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 318:
+#line 3027 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.BoolVal) = false;
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 316:
-#line 2998 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 319:
+#line 3032 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(2) - (5)].TypeVal))->getDescription());
@@ -6359,8 +6401,8 @@
   ;}
     break;
 
-  case 317:
-#line 3014 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 320:
+#line 3048 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(2) - (5)].TypeVal))->getDescription());
@@ -6380,8 +6422,8 @@
   ;}
     break;
 
-  case 318:
-#line 3031 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 321:
+#line 3065 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(3) - (6)].TypeVal))->getDescription());
@@ -6398,8 +6440,8 @@
   ;}
     break;
 
-  case 319:
-#line 3045 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 322:
+#line 3079 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(3) - (6)].TypeVal))->getDescription());
@@ -6416,8 +6458,8 @@
   ;}
     break;
 
-  case 320:
-#line 3059 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 323:
+#line 3093 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(3) - (6)].TypeVal))->getDescription());
@@ -6434,8 +6476,8 @@
   ;}
     break;
 
-  case 321:
-#line 3073 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 324:
+#line 3107 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(3) - (6)].TypeVal))->getDescription());
@@ -6452,8 +6494,8 @@
   ;}
     break;
 
-  case 322:
-#line 3087 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 325:
+#line 3121 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(4) - (4)].TypeVal))->getDescription());
@@ -6468,8 +6510,8 @@
   ;}
     break;
 
-  case 323:
-#line 3099 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 326:
+#line 3133 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     {
     if ((yyvsp[(2) - (6)].ValueVal)->getType() != Type::Int1Ty)
       GEN_ERROR("select condition must be boolean");
@@ -6480,8 +6522,8 @@
   ;}
     break;
 
-  case 324:
-#line 3107 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 327:
+#line 3141 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(4) - (4)].TypeVal))->getDescription());
@@ -6491,8 +6533,8 @@
   ;}
     break;
 
-  case 325:
-#line 3114 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 328:
+#line 3148 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     {
     if (!ExtractElementInst::isValidOperands((yyvsp[(2) - (4)].ValueVal), (yyvsp[(4) - (4)].ValueVal)))
       GEN_ERROR("Invalid extractelement operands");
@@ -6501,8 +6543,8 @@
   ;}
     break;
 
-  case 326:
-#line 3120 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 329:
+#line 3154 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     {
     if (!InsertElementInst::isValidOperands((yyvsp[(2) - (6)].ValueVal), (yyvsp[(4) - (6)].ValueVal), (yyvsp[(6) - (6)].ValueVal)))
       GEN_ERROR("Invalid insertelement operands");
@@ -6511,8 +6553,8 @@
   ;}
     break;
 
-  case 327:
-#line 3126 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 330:
+#line 3160 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     {
     if (!ShuffleVectorInst::isValidOperands((yyvsp[(2) - (6)].ValueVal), (yyvsp[(4) - (6)].ValueVal), (yyvsp[(6) - (6)].ValueVal)))
       GEN_ERROR("Invalid shufflevector operands");
@@ -6521,8 +6563,8 @@
   ;}
     break;
 
-  case 328:
-#line 3132 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 331:
+#line 3166 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     {
     const Type *Ty = (yyvsp[(2) - (2)].PHIList)->front().first->getType();
     if (!Ty->isFirstClassType())
@@ -6540,8 +6582,8 @@
   ;}
     break;
 
-  case 329:
-#line 3148 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 332:
+#line 3182 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     {
 
     // Handle the short syntax
@@ -6633,32 +6675,32 @@
   ;}
     break;
 
-  case 330:
-#line 3237 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 333:
+#line 3271 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.InstVal) = (yyvsp[(1) - (1)].InstVal);
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 331:
-#line 3242 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 334:
+#line 3276 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.BoolVal) = true;
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 332:
-#line 3246 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 335:
+#line 3280 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.BoolVal) = false;
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 333:
-#line 3253 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 336:
+#line 3287 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(2) - (3)].TypeVal))->getDescription());
@@ -6668,8 +6710,8 @@
   ;}
     break;
 
-  case 334:
-#line 3260 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 337:
+#line 3294 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(2) - (6)].TypeVal))->getDescription());
@@ -6682,8 +6724,8 @@
   ;}
     break;
 
-  case 335:
-#line 3270 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 338:
+#line 3304 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(2) - (3)].TypeVal))->getDescription());
@@ -6693,8 +6735,8 @@
   ;}
     break;
 
-  case 336:
-#line 3277 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 339:
+#line 3311 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(2) - (6)].TypeVal))->getDescription());
@@ -6707,8 +6749,8 @@
   ;}
     break;
 
-  case 337:
-#line 3287 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 340:
+#line 3321 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     {
     if (!isa<PointerType>((yyvsp[(2) - (2)].ValueVal)->getType()))
       GEN_ERROR("Trying to free nonpointer type " + 
@@ -6718,8 +6760,8 @@
   ;}
     break;
 
-  case 338:
-#line 3295 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 341:
+#line 3329 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(3) - (5)].TypeVal))->getDescription());
@@ -6736,8 +6778,8 @@
   ;}
     break;
 
-  case 339:
-#line 3309 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 342:
+#line 3343 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(5) - (7)].TypeVal))->getDescription());
@@ -6757,8 +6799,8 @@
   ;}
     break;
 
-  case 340:
-#line 3326 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 343:
+#line 3360 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(2) - (5)].TypeVal))->getDescription());
@@ -6775,8 +6817,8 @@
   ;}
     break;
 
-  case 341:
-#line 3340 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 344:
+#line 3374 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(2) - (4)].TypeVal))->getDescription());
@@ -6794,8 +6836,8 @@
   ;}
     break;
 
-  case 342:
-#line 3355 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 345:
+#line 3389 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(2) - (4)].TypeVal))->getDescription());
@@ -6813,8 +6855,8 @@
   ;}
     break;
 
-  case 343:
-#line 3370 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 346:
+#line 3404 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(2) - (7)].TypeVal))->getDescription());
@@ -6836,7 +6878,7 @@
 
 
 /* Line 1267 of yacc.c.  */
-#line 6840 "llvmAsmParser.tab.c"
+#line 6882 "llvmAsmParser.tab.c"
       default: break;
     }
   YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
@@ -7050,7 +7092,7 @@
 }
 
 
-#line 3389 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 3423 "/Users/sabre/llvm/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=55542&r1=55541&r2=55542&view=diff

==============================================================================
--- llvm/trunk/lib/AsmParser/llvmAsmParser.h.cvs (original)
+++ llvm/trunk/lib/AsmParser/llvmAsmParser.h.cvs Fri Aug 29 12:20:18 2008
@@ -356,7 +356,7 @@
 
 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
 typedef union YYSTYPE
-#line 967 "/Users/malichus/Source/LLVM/src/svn/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 970 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
 {
   llvm::Module                           *ModuleVal;
   llvm::Function                         *FunctionVal;

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

==============================================================================
--- llvm/trunk/lib/AsmParser/llvmAsmParser.y.cvs (original)
+++ llvm/trunk/lib/AsmParser/llvmAsmParser.y.cvs Fri Aug 29 12:20:18 2008
@@ -249,10 +249,12 @@
 //               Code to handle definitions of all the types
 //===----------------------------------------------------------------------===//
 
-static void InsertValue(Value *V, ValueList &ValueTab = CurFun.Values) {
+/// InsertValue - Insert a value into the value table.  If it is named, this
+/// returns -1, otherwise it returns the slot number for the value.
+static int InsertValue(Value *V, ValueList &ValueTab = CurFun.Values) {
   // Things that have names or are void typed don't get slot numbers
   if (V->hasName() || (V->getType() == Type::VoidTy))
-    return;
+    return -1;
 
   // In the case of function values, we have to allow for the forward reference
   // of basic blocks, which are included in the numbering. Consequently, we keep
@@ -262,10 +264,11 @@
     if (ValueTab.size() <= CurFun.NextValNum)
       ValueTab.resize(CurFun.NextValNum+1);
     ValueTab[CurFun.NextValNum++] = V;
-    return;
+    return CurFun.NextValNum-1;
   } 
   // For all other lists, its okay to just tack it on the back of the vector.
   ValueTab.push_back(V);
+  return ValueTab.size()-1;
 }
 
 static const Type *getTypeVal(const ValID &D, bool DoNotImprovise = false) {
@@ -1084,7 +1087,7 @@
 %token CC_TOK CCC_TOK FASTCC_TOK COLDCC_TOK X86_STDCALLCC_TOK X86_FASTCALLCC_TOK
 %token X86_SSECALLCC_TOK
 %token DATALAYOUT
-%type <UIntVal> OptCallingConv
+%type <UIntVal> OptCallingConv LocalNumber
 %type <ParamAttrs> OptParamAttrs ParamAttr 
 %type <ParamAttrs> OptFuncAttrs  FuncAttr
 
@@ -1177,6 +1180,12 @@
     CHECK_FOR_ERROR
   };
 
+LocalNumber : LOCALVAL_ID '=' {
+  $$ = $1;
+  CHECK_FOR_ERROR
+};
+
+
 GlobalName : GLOBALVAR | ATSTRINGCONSTANT ;
 
 OptGlobalAssign : GlobalAssign
@@ -2673,7 +2682,7 @@
 // Basic blocks are terminated by branching instructions: 
 // br, br/cc, switch, ret
 //
-BasicBlock : InstructionList OptLocalAssign BBTerminatorInst  {
+BasicBlock : InstructionList OptLocalAssign BBTerminatorInst {
     setValueName($3, $2);
     CHECK_FOR_ERROR
     InsertValue($3);
@@ -2682,6 +2691,19 @@
     CHECK_FOR_ERROR
   };
 
+BasicBlock : InstructionList LocalNumber BBTerminatorInst {
+  CHECK_FOR_ERROR
+  int ValNum = InsertValue($3);
+  if (ValNum != (int)$2)
+    GEN_ERROR("Result value number %" + utostr($2) +
+              " is incorrect, expected %" + utostr((unsigned)ValNum));
+  
+  $1->getInstList().push_back($3);
+  $$ = $1;
+  CHECK_FOR_ERROR
+};
+
+
 InstructionList : InstructionList Inst {
     if (CastInst *CI1 = dyn_cast<CastInst>($2))
       if (CastInst *CI2 = dyn_cast<CastInst>(CI1->getOperand(0)))
@@ -2901,6 +2923,18 @@
     CHECK_FOR_ERROR
   };
 
+Inst : LocalNumber InstVal {
+    CHECK_FOR_ERROR
+    int ValNum = InsertValue($2);
+  
+    if (ValNum != (int)$1)
+      GEN_ERROR("Result value number %" + utostr($1) +
+                " is incorrect, expected %" + utostr((unsigned)ValNum));
+
+    $$ = $2;
+    CHECK_FOR_ERROR
+  };
+
 
 PHIList : Types '[' ValueRef ',' ValueRef ']' {    // Used for PHI nodes
     if (!UpRefs.empty())





More information about the llvm-commits mailing list