Use toplevel function pass manager as OnTheFly manager.
[oota-llvm.git] / tools / llvm-upgrade / UpgradeLexer.cpp.cvs
index de1ffbfd8d08f098876a3694010e602866006f10..68ae9a47c5a2dc2bcf34d1a5b75dd3635c0bcf91 100644 (file)
@@ -317,93 +317,108 @@ static void yy_fatal_error YY_PROTO(( yyconst char msg[] ));
        *yy_cp = '\0'; \
        yy_c_buf_p = yy_cp;
 
-#define YY_NUM_RULES 118
-#define YY_END_OF_BUFFER 119
-static yyconst short int yy_acclist[196] =
+#define YY_NUM_RULES 161
+#define YY_END_OF_BUFFER 162
+static yyconst short int yy_acclist[241] =
     {   0,
-      119,  117,  118,  116,  117,  118,  116,  118,  117,  118,
-      117,  118,  117,  118,  117,  118,  117,  118,  117,  118,
-      109,  117,  118,  109,  117,  118,    1,  117,  118,  117,
-      118,  117,  118,  117,  118,  117,  118,  117,  118,  117,
-      118,  117,  118,  117,  118,  117,  118,  117,  118,  117,
-      118,  117,  118,  117,  118,  117,  118,  117,  118,  117,
-      118,  117,  118,  117,  118,  117,  118,  117,  118,  117,
-      118,  108,  106,  105,  105,  112,  110,  114,  109,    1,
-       90,   38,   72,   22,  108,  105,  105,  113,  114,   19,
-      114,  115,   60,   71,   36,   31,   39,   63,    3,   51,
-
-       62,   80,   67,   89,   84,   85,   61,   73,  107,  114,
-      114,   86,   46,   81,   82,   66,   98,   70,   99,   53,
-       87,   21,  111,   65,   69,   23,    4,   59,   64,   52,
-       68,   45,   11,  114,   33,    2,    5,   55,   57,   47,
-       75,   79,   77,   78,   76,   74,   49,  100,   48,   54,
-       20,   97,   42,   56,   27,   94,   41,    7,   92,   30,
-       96,   35,   58,   83,   91,   24,   25,   93,   50,   88,
-       40,    6,   26,   34,    8,   16,    9,   10,   32,   12,
-       14,   13,   29,   37,   15,   28,   95,  101,  103,  104,
-       43,  102,   17,   44,   18
-
+      162,  160,  161,  159,  160,  161,  159,  161,  160,  161,
+      160,  161,  160,  161,  160,  161,  160,  161,  160,  161,
+      152,  160,  161,  152,  160,  161,    1,  160,  161,  160,
+      161,  160,  161,  160,  161,  160,  161,  160,  161,  160,
+      161,  160,  161,  160,  161,  160,  161,  160,  161,  160,
+      161,  160,  161,  160,  161,  160,  161,  160,  161,  160,
+      161,  160,  161,  160,  161,  160,  161,  160,  161,  160,
+      161,  160,  161,  151,  149,  148,  148,  155,  153,  157,
+      152,    1,  134,   41,   94,   62,   50,   95,   80,   23,
+      151,  148,  148,  156,  157,   20,  157,  158,   68,   79,
+
+       39,   34,   42,   71,    3,   53,   56,   59,   54,   70,
+       25,  104,  109,  107,  108,  106,  105,  110,  114,   75,
+      133,   99,   97,   88,   89,   98,   96,   69,  112,  103,
+      101,  102,  100,  113,  111,   81,  150,  157,  157,   91,
+       61,  115,  116,   93,   74,  141,   78,   92,  142,   57,
+       90,   22,  154,   73,  119,   77,   26,    4,   66,   72,
+       55,   76,   60,   11,  118,  157,   36,    2,    5,   63,
+      121,   65,   48,   83,   87,   85,   86,   84,   82,   51,
+      143,  117,   49,   58,   21,  131,  140,   45,   64,   30,
+       24,   44,  123,  122,    7,  136,   33,  139,   38,   67,
+
+      129,  125,  135,   27,   28,  124,  137,   52,  132,  130,
+      128,   43,    6,   29,  120,   37,    8,   17,    9,  127,
+       10,  126,   35,   12,   14,   13,   32,   40,   15,   31,
+      138,  144,  146,  147,   16,   46,  145,   18,   47,   19
     } ;
 
-static yyconst short int yy_accept[512] =
+static yyconst short int yy_accept[621] =
     {   0,
         1,    1,    1,    2,    4,    7,    9,   11,   13,   15,
        17,   19,   21,   24,   27,   30,   32,   34,   36,   38,
        40,   42,   44,   46,   48,   50,   52,   54,   56,   58,
-       60,   62,   64,   66,   68,   70,   72,   72,   73,   73,
-       74,   75,   76,   77,   77,   78,   78,   79,   80,   80,
-       81,   81,   81,   81,   81,   81,   81,   81,   81,   82,
+       60,   62,   64,   66,   68,   70,   72,   74,   74,   75,
+       75,   76,   77,   78,   79,   79,   80,   80,   81,   82,
        82,   83,   83,   83,   83,   83,   83,   83,   83,   83,
-       83,   83,   83,   83,   83,   83,   83,   83,   83,   83,
-       83,   83,   83,   83,   83,   83,   83,   83,   84,   84,
-       84,   84,   84,   84,   84,   84,   84,   84,   84,   84,
-
-       84,   84,   84,   85,   85,   85,   85,   85,   85,   85,
-       85,   85,   85,   85,   85,   85,   85,   85,   85,   86,
-       87,   89,   90,   91,   92,   92,   93,   94,   94,   94,
-       95,   95,   95,   96,   96,   97,   97,   97,   97,   98,
-       98,   98,   98,   98,   98,   98,   99,   99,   99,  100,
-      100,  100,  100,  100,  100,  100,  100,  100,  100,  100,
-      100,  101,  101,  101,  101,  101,  101,  101,  101,  101,
-      101,  102,  102,  102,  103,  103,  104,  105,  105,  105,
-      105,  105,  105,  105,  106,  106,  107,  107,  107,  107,
-      107,  108,  108,  108,  108,  108,  108,  108,  108,  108,
-
-      108,  108,  108,  108,  108,  108,  108,  108,  108,  108,
-      108,  108,  109,  109,  110,  111,  111,  111,  111,  112,
-      112,  112,  112,  113,  113,  114,  115,  116,  116,  116,
-      116,  116,  116,  116,  116,  116,  116,  116,  116,  116,
-      116,  116,  116,  117,  117,  118,  119,  119,  119,  119,
-      119,  119,  119,  119,  119,  119,  120,  121,  122,  122,
-      122,  123,  123,  123,  124,  124,  125,  125,  125,  125,
-      125,  125,  125,  125,  125,  125,  126,  126,  126,  127,
-      127,  127,  128,  129,  129,  130,  131,  131,  131,  131,
-      131,  132,  132,  132,  133,  133,  134,  134,  134,  135,
-
-      136,  136,  136,  137,  137,  137,  137,  137,  137,  137,
-      137,  137,  137,  137,  137,  137,  137,  138,  138,  139,
-      139,  139,  139,  139,  139,  139,  140,  140,  140,  140,
-      140,  140,  140,  141,  141,  141,  142,  143,  144,  145,
-      146,  147,  148,  148,  148,  149,  149,  149,  149,  150,
-      151,  152,  152,  152,  152,  152,  152,  152,  152,  152,
-      153,  153,  154,  154,  154,  154,  154,  154,  154,  154,
-      155,  156,  157,  157,  157,  158,  158,  159,  159,  159,
-      159,  160,  160,  161,  162,  163,  164,  164,  164,  165,
-      165,  165,  166,  167,  168,  168,  169,  170,  171,  171,
-
-      171,  171,  171,  171,  171,  172,  172,  173,  174,  174,
-      174,  174,  174,  174,  174,  174,  174,  174,  174,  174,
-      175,  175,  175,  175,  175,  175,  175,  175,  175,  176,
-      176,  176,  176,  176,  177,  177,  177,  177,  177,  178,
-      179,  179,  179,  179,  179,  180,  180,  180,  180,  181,
-      181,  182,  183,  183,  183,  183,  183,  183,  183,  183,
-      183,  183,  183,  183,  183,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  185,  185,  185,  185,  186,  186,
-      186,  186,  186,  187,  187,  188,  188,  188,  188,  188,
-      188,  188,  188,  188,  188,  188,  188,  188,  189,  189,
-
-      190,  191,  191,  192,  192,  193,  194,  195,  195,  196,
-      196
+       83,   84,   84,   85,   85,   85,   85,   85,   85,   85,
+       85,   85,   86,   86,   86,   86,   86,   86,   86,   86,
+       86,   86,   87,   87,   87,   88,   88,   88,   88,   88,
+       88,   88,   88,   88,   88,   88,   89,   89,   89,   89,
+
+       89,   89,   89,   89,   90,   90,   90,   90,   90,   90,
+       90,   90,   90,   90,   90,   90,   90,   90,   90,   90,
+       90,   90,   91,   91,   91,   91,   91,   91,   91,   91,
+       91,   91,   91,   91,   91,   91,   91,   91,   91,   91,
+       92,   93,   95,   96,   97,   98,   98,   99,   99,  100,
+      100,  100,  101,  101,  101,  102,  102,  103,  103,  103,
+      103,  103,  104,  104,  104,  104,  104,  104,  104,  105,
+      105,  105,  106,  106,  106,  106,  106,  106,  106,  106,
+      106,  106,  106,  106,  106,  107,  108,  109,  109,  109,
+      109,  110,  110,  110,  110,  110,  110,  110,  110,  110,
+
+      110,  111,  112,  112,  113,  114,  115,  116,  117,  118,
+      118,  119,  120,  120,  120,  121,  122,  122,  122,  122,
+      122,  122,  122,  122,  123,  124,  125,  125,  126,  126,
+      126,  126,  127,  128,  128,  128,  129,  129,  129,  129,
+      129,  129,  129,  129,  129,  130,  131,  132,  132,  132,
+      133,  133,  134,  134,  135,  135,  136,  136,  136,  136,
+      136,  136,  136,  136,  136,  136,  136,  136,  137,  137,
+      137,  138,  139,  139,  139,  139,  140,  140,  140,  140,
+      141,  141,  141,  142,  143,  144,  144,  144,  144,  144,
+      144,  144,  144,  144,  144,  144,  144,  144,  144,  144,
+
+      144,  145,  146,  146,  146,  146,  146,  147,  148,  148,
+      148,  149,  149,  149,  149,  149,  149,  149,  149,  149,
+      150,  151,  152,  152,  152,  153,  153,  153,  153,  154,
+      154,  155,  155,  155,  155,  155,  155,  155,  156,  156,
+      156,  156,  156,  157,  157,  157,  158,  158,  158,  159,
+      159,  160,  160,  161,  162,  162,  162,  162,  162,  162,
+      162,  163,  163,  163,  163,  163,  164,  164,  165,  165,
+      165,  166,  167,  168,  168,  168,  169,  169,  169,  169,
+      169,  169,  169,  169,  169,  169,  169,  169,  169,  169,
+      169,  170,  170,  171,  172,  172,  172,  172,  172,  172,
+
+      172,  172,  172,  172,  172,  173,  173,  173,  173,  173,
+      173,  173,  173,  174,  174,  174,  175,  176,  177,  178,
+      179,  180,  181,  181,  181,  181,  182,  182,  182,  182,
+      183,  184,  184,  185,  186,  186,  186,  186,  186,  186,
+      187,  187,  187,  187,  187,  187,  188,  188,  188,  189,
+      189,  189,  189,  189,  189,  189,  189,  190,  191,  192,
+      192,  192,  193,  194,  195,  195,  195,  196,  196,  196,
+      196,  196,  197,  197,  198,  199,  200,  201,  201,  201,
+      201,  202,  202,  202,  203,  204,  205,  206,  207,  207,
+      207,  208,  209,  210,  211,  211,  211,  211,  211,  211,
+
+      212,  212,  213,  213,  214,  215,  215,  215,  215,  215,
+      215,  216,  216,  216,  216,  216,  216,  216,  216,  216,
+      217,  217,  217,  217,  217,  217,  217,  217,  217,  217,
+      218,  218,  218,  218,  218,  219,  219,  219,  219,  219,
+      220,  221,  222,  222,  223,  223,  223,  223,  223,  224,
+      224,  224,  224,  225,  225,  226,  227,  227,  227,  227,
+      227,  227,  227,  227,  227,  227,  227,  227,  227,  227,
+      228,  228,  228,  228,  228,  228,  228,  228,  229,  229,
+      229,  229,  229,  229,  230,  230,  230,  230,  230,  231,
+      231,  231,  232,  232,  232,  232,  232,  232,  232,  232,
+
+      232,  232,  232,  232,  232,  232,  233,  233,  234,  235,
+      236,  236,  237,  237,  238,  239,  240,  240,  241,  241
     } ;
 
 static yyconst int yy_ec[256] =
@@ -412,16 +427,16 @@ static yyconst int yy_ec[256] =
         1,    1,    2,    1,    1,    1,    1,    1,    1,    1,
         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
         1,    2,    1,    4,    1,    5,    6,    1,    1,    1,
-        1,    1,    7,    1,    8,    9,    1,   10,   11,   11,
-       11,   11,   11,   12,   11,   13,   11,   14,   15,    1,
-        1,    1,    1,    1,   16,   16,   16,   16,   17,   16,
+        1,    1,    7,    1,    8,    9,    1,   10,   11,   12,
+       13,   14,   15,   16,   15,   17,   15,   18,   19,    1,
+        1,    1,    1,   20,   21,   21,   21,   21,   22,   21,
         5,    5,    5,    5,    5,    5,    5,    5,    5,    5,
         5,    5,    5,    5,    5,    5,    5,    5,    5,    5,
-        1,    1,    1,    1,   18,    1,   19,   20,   21,   22,
+        1,    1,    1,    1,   23,    1,   24,   25,   26,   27,
 
-       23,   24,   25,   26,   27,    5,   28,   29,   30,   31,
-       32,   33,   34,   35,   36,   37,   38,   39,   40,   41,
-       42,   43,    1,    1,    1,    1,    1,    1,    1,    1,
+       28,   29,   30,   31,   32,    5,   33,   34,   35,   36,
+       37,   38,   39,   40,   41,   42,   43,   44,   45,   46,
+       47,   48,    1,    1,    1,    1,    1,    1,    1,    1,
         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
@@ -438,397 +453,471 @@ static yyconst int yy_ec[256] =
         1,    1,    1,    1,    1
     } ;
 
-static yyconst int yy_meta[44] =
+static yyconst int yy_meta[49] =
     {   0,
-        1,    1,    2,    1,    3,    1,    1,    3,    3,    3,
-        3,    3,    3,    4,    1,    3,    3,    3,    3,    3,
-        3,    3,    3,    3,    3,    3,    3,    3,    3,    3,
+        1,    1,    2,    1,    3,    1,    4,    5,    3,    6,
+        6,    6,    6,    6,    6,    6,    6,    7,    1,    1,
+        3,    8,    3,    3,    3,    3,    3,    8,    3,    3,
         3,    3,    3,    3,    3,    3,    3,    3,    3,    3,
-        3,    3,    3
+        3,    3,    3,    3,    3,    3,    3,    3
     } ;
 
-static yyconst short int yy_base[516] =
+static yyconst short int yy_base[630] =
     {   0,
-        0,    0, 1110, 1111, 1111, 1111, 1105, 1094,   36,   40,
-       44,   50,   56,   62,    0,   63,   66,   81,   89,   47,
-      100,   97,   76,   96,  111,   46,   48,  110,   68,  140,
-      126,  171,  119,  123,   73,  125, 1103, 1111, 1092, 1111,
-        0,  159,  176,  199,  204,   95,  209,  224,  229,    0,
-      130,  165,  133,  120,  169,  151,  159,   31, 1091,  168,
-      143,  230,  189,  191,  233,  117,  145,  187,  241,  243,
-      242,  246,  244,  251,  248,  254,  255,  253,  176,  256,
-      263,  258,  267,  261,  277,  281,  283, 1090,  284,  285,
-      286,  287,  265,  290,  300,  295,  291,  308,  294,  305,
-
-      318,  320, 1089,  321,  306,  301,  322,  326,  324,  328,
-      330,  332,  213,  337,  346,  340,  327,  347, 1088,    0,
-      359,  363, 1087,  377,  394,    0, 1086,  353,  363, 1085,
-      369,  379, 1084,  370, 1083,  289,  367,  384, 1082,  389,
-      395,  396,  398,  399,  401, 1081,  402,  365,  406,  404,
-      409,  410,  385,  412,  420,  422,  424,  421,  426,  434,
-      435,  428,  436,  113,  429,  439,  440,  442,  449,  448,
-     1080,  450,  453, 1079,  454, 1078, 1077,  478,  455,  457,
-      456,  458,  489, 1076,  469, 1075,  460,  459,  491,  492,
-     1074,  493,  494,  497,  495,  496,  501,  499,  502,  503,
-
-      511,  512,  515,  517,  518,  519,  461,  523,  520,  529,
-      532, 1073,  533, 1111,  543,  551,  557,  561,  566,  567,
-      568,  569, 1072,  570, 1071, 1070, 1069,  571,  572,  573,
-      574,  576,  577,  579,  582,  585,  583,  580,  591,  592,
-      593,  594, 1068,  603, 1067, 1066,  604,  605,  607,  608,
-      609,  611,  613,  614,  618, 1065, 1064, 1063,  617,  621,
-     1062,  615,  620,    0,  622, 1061,  624,  627,  638,  640,
-      641,  642,  623,  644,  647, 1060,  648,  645, 1059,  653,
-      655, 1058, 1057,  659, 1056, 1055,  660,  665,  661,  667,
-     1054,  669,  672, 1053,  673, 1052,  676,  674,  681, 1051,
-
-      683,  681, 1050,  685,  694,  695,  700,  682,  691,  701,
-      704,  706,  707,  708,  709,  710, 1049,  711, 1048,  712,
-      713,  714,  716,  719,  725, 1047,  727,  729,  733,  732,
-      737,  742, 1046,  735,  722, 1045, 1044, 1043, 1042, 1041,
-     1040, 1039,  743,  747, 1038,  748,  749,  750, 1037, 1036,
-     1035,  754,  755,  752,  756,  764,  765,  762,  766, 1034,
-      768, 1033,  769,  771,  773,  779,  774,  776,  780, 1032,
-     1031, 1030,  787,  782, 1029,  784, 1028,  790,  793,  803,
-     1027,  797, 1026, 1025, 1024, 1023,  789,  795, 1022,  806,
-      807, 1021, 1020, 1019,  809, 1018, 1017, 1016,  811,  813,
-
-      814,  816,  819,  818, 1015,  820, 1014, 1013,  823,  824,
-      825,  827,  828,  830,  831,  832,  834,  843,  833, 1012,
-      840,  850,  853,  854,  846,  857,  856,  860, 1011,  861,
-      866,  867,  868, 1010,  872,  874,  870,  873, 1007,  997,
-      862,  883,  881,  878,  996,  894,  895,  886,  995,  880,
-      994,  992,  897,  896,  898,  904,  906,  907,  908,  910,
-      911,  912,  913,  914,  991,  916,  918,  920,  923,  929,
-      931,  924,  989,  932,  927,  935,  937,  988,  944,  925,
-      943,  945,  987,  949,  986,  951,  954,  955,  957,  958,
-      959,  960,  963,  964,  965,  969,  970,  981,  973,  980,
-
-      876,  975,  538,  976,  535,  462,  423,  978,  216, 1111,
-     1013, 1015,  226, 1019,   76
+        0,    0, 1336, 1337, 1337, 1337, 1331, 1316,   41,    0,
+       49,   59,   69, 1287,    0,  112,   69,   72,   93,  113,
+       52,  122,   74,  152,  120,   77,  136,  156,  135,   71,
+      187,  186,  224,  118,  115,   56,  153, 1328, 1337, 1313,
+     1337,    0,  256,    0, 1321, 1320,   88,  264, 1282,  283,
+        0, 1323,  140,  157,  158,  121,  164,  183,  198,   32,
+     1308,  190,   95,  175,   54,  165,  217,  162,  117,  182,
+      218, 1307,  220,  272,  185,  100,  204,  219,  235,  241,
+      264,  232,  273,   57, 1306,  284,  285,  296,  297,  299,
+      300,  226,  298,  302,  308, 1305,  303,  309,  307,  316,
+
+      321,  329,  330,  332,  333,  334,  313,  337,  310,  315,
+      342,  343,  350,  353,  346,  352,  358,  363,  357,  365,
+      366, 1304,  373,  377,  381,  385,  383,  384,  389,  390,
+      402,  386,  392,  417,  418,  395,  271,  393,  403, 1303,
+        0,    0,  416, 1302,    0,  447,    0, 1315, 1300,  438,
+      428, 1299,  448,  427, 1298,  419, 1297,  451,  452,  453,
+      406, 1296,  454,  455,  456,  461,  457,  460, 1295,  465,
+      464,  470,  462,  477,  474,  480,  481,  482,  483,  485,
+      488,  486,  490,  491, 1294, 1293, 1292,  492,  493,  495,
+      506,  502,  514,  511,  494,  519,  515,  517,  520,  522,
+
+     1291, 1290,  525, 1289, 1288, 1287, 1286, 1285, 1284,  523,
+     1283, 1282,  531,  529, 1281, 1280,  562,  538,  537,  540,
+      532,  567,  550, 1279, 1278, 1277,  575, 1276,  534,  533,
+      576, 1275, 1274,  535,  578, 1273,  580,  582,  581,  586,
+      584,  589,  587,  588, 1272, 1271, 1270,  591,  590, 1269,
+      592, 1268,  603, 1267,  601, 1266,  607,  608,  612,  605,
+      620,  596,  621,  616,  627,  623,  546, 1265,  628,  630,
+     1337,  630,  646,  652,  654,  656,  632,  648,  637, 1264,
+      639,  652, 1263, 1262, 1261,  651,  649,  653,  660,  661,
+      664,  662,  663,  665,  666,  668,  669,  679,  674,  675,
+
+     1260, 1259,  670,  671,  682,  686, 1258, 1257,  687,  692,
+     1256,  689,  693,  696,  697,  702,  704,  700,  706, 1255,
+     1254, 1253,  708,  709, 1252,  701,  710,  712,    0,  713,
+     1251,  714,  721,  724,  730,  732,  733, 1250,  735,  736,
+      738,  739, 1249,  741,  744, 1248,  753,  746, 1247,  749,
+     1246,  755, 1245, 1244,  758,  760,  764,  766,  761,  768,
+     1243,  770,  771,  773,  774, 1242,  776, 1241,  778,  777,
+     1240,    0, 1239,  781,  779, 1238,  782,  790,  797,  796,
+      806,  794,  807,  795,  799,  808,  809,  810,  811,  813,
+     1237,  817, 1236, 1235,  822,  823,  820,  830,  826,  824,
+
+      828,  831,  833,  835, 1234,  832,  844,  839,  846,  848,
+      851,  843, 1233,  855,  859, 1232, 1231, 1230, 1229, 1228,
+     1227, 1226,  860,  862,  864, 1225,  865,  863,  867, 1224,
+     1223,  866, 1222, 1221,  868,  871,  872,  869,  870, 1220,
+      875,  880,  885,  888,  889, 1219,  890,  895, 1218,  896,
+      897,  898,  900,  901,  902,  903, 1217, 1216, 1215,  911,
+      906, 1214, 1213, 1212,  915,  908, 1211,  918,  926,  929,
+      909, 1210,  931, 1209, 1208, 1207, 1206,  920,  932,  934,
+     1205,  937,  938, 1204, 1203, 1202, 1201, 1200,  940,  943,
+     1199, 1198, 1197, 1192,  941,  944,  946,  945,  948, 1181,
+
+      951, 1178,  953, 1170, 1167,  958,  960,  961,  962,  963,
+     1164,  964,  965,  968,  969,  970,  971,  976,  977, 1158,
+      979,  986,  987,  989,  990,  991,  994,  997,  998, 1146,
+     1003, 1006, 1007, 1004, 1145, 1008, 1009, 1011, 1012, 1144,
+     1142, 1141, 1018, 1140, 1013, 1017, 1020, 1019, 1139, 1029,
+     1033, 1034, 1137, 1016, 1136, 1133, 1038, 1041, 1042, 1043,
+     1045, 1046, 1047, 1050, 1053, 1052, 1054, 1056, 1057, 1131,
+     1058, 1061, 1059, 1064, 1065, 1070, 1069, 1128, 1071, 1077,
+     1081, 1082, 1083,  913, 1084, 1085, 1086, 1089,  784, 1091,
+     1092,  783, 1090, 1095, 1104, 1096, 1105, 1111, 1108, 1112,
+
+     1113, 1115, 1116, 1117, 1119,  737, 1120,  548,  391,  349,
+     1121,  312, 1125,  270,  266,  221, 1126,  184, 1337, 1166,
+     1172, 1178,  192, 1186, 1192,   70, 1200, 1203, 1208
     } ;
 
-static yyconst short int yy_def[516] =
+static yyconst short int yy_def[630] =
     {   0,
-      510,    1,  510,  510,  510,  510,  511,  512,  513,  510,
-      512,  512,  512,  512,  514,  512,  512,  512,  512,  512,
-      512,  512,  512,  512,  512,  512,  512,  512,  512,  512,
-      512,  512,  512,  512,  512,  512,  511,  510,  512,  510,
-      515,  515,  510,  510,  512,  512,  512,  512,  512,  514,
-      512,  512,  512,  512,  512,  512,  512,  512,  512,  512,
-      512,  512,  512,  512,  512,  512,  512,  512,  512,  512,
-      512,  512,  512,  512,  512,  512,  512,  512,  512,  512,
-      512,  512,  512,  512,  512,  512,  512,  512,  512,  512,
-      512,  512,  512,  512,  512,  512,  512,  512,  512,  512,
-
-      512,  512,  512,  512,  512,  512,  512,  512,  512,  512,
-      512,  512,  512,  512,  512,  512,  512,  512,  510,  515,
-      515,  510,  512,  512,  512,   49,  512,  512,  512,  512,
-      512,  512,  512,  512,  512,  512,  512,  512,  512,  512,
-      512,  512,  512,  512,  512,  512,  512,  512,  512,  512,
-      512,  512,  512,  512,  512,  512,  512,  512,  512,  512,
-      512,  512,  512,  512,  512,  512,  512,  512,  512,  512,
-      512,  512,  512,  512,  512,  512,  512,   49,  512,  512,
-      512,  512,  512,  512,  512,  512,  512,  512,  512,  512,
-      512,  512,  512,  512,  512,  512,  512,  512,  512,  512,
-
-      512,  512,  512,  512,  512,  512,  512,  512,  512,  512,
-      512,  512,  512,  510,  510,  510,  510,  512,  512,  512,
-      512,  512,  512,  512,  512,  512,  512,  512,  512,  512,
-      512,  512,  512,  512,  512,  512,  512,  512,  512,  512,
-      512,  512,  512,  512,  512,  512,  512,  512,  512,  512,
-      512,  512,  512,  512,  512,  512,  512,  512,  512,  512,
-      512,  512,  512,  178,  512,  512,  512,  512,  512,  512,
-      512,  512,  512,  512,  512,  512,  512,  512,  512,  512,
-      512,  512,  512,  512,  512,  512,  512,  512,  512,  512,
-      512,  512,  512,  512,  512,  512,  512,  512,  510,  512,
-
-      512,  512,  512,  512,  512,  512,  512,  512,  512,  512,
-      512,  512,  512,  512,  512,  512,  512,  512,  512,  512,
-      512,  512,  512,  512,  512,  512,  512,  512,  512,  512,
-      512,  512,  512,  512,  512,  512,  512,  512,  512,  512,
-      512,  512,  512,  512,  512,  512,  512,  512,  512,  512,
-      512,  512,  512,  512,  512,  512,  512,  512,  512,  512,
-      512,  512,  512,  512,  512,  512,  512,  512,  512,  512,
-      512,  512,  512,  512,  512,  512,  512,  512,  512,  512,
-      512,  512,  512,  512,  512,  512,  512,  512,  512,  512,
-      512,  512,  512,  512,  512,  512,  512,  512,  512,  512,
-
-      512,  512,  512,  512,  512,  512,  512,  512,  512,  512,
-      512,  512,  512,  512,  512,  512,  512,  512,  512,  512,
-      512,  512,  512,  512,  512,  512,  512,  512,  512,  512,
-      512,  512,  512,  512,  512,  512,  512,  512,  512,  512,
-      512,  512,  512,  512,  512,  512,  512,  512,  512,  512,
-      512,  512,  512,  512,  512,  512,  512,  512,  512,  512,
-      512,  512,  512,  512,  512,  512,  512,  512,  512,  512,
-      512,  512,  512,  512,  512,  512,  512,  512,  512,  512,
-      512,  512,  512,  512,  512,  512,  512,  512,  512,  512,
-      512,  512,  512,  512,  512,  512,  512,  512,  512,  512,
-
-      512,  512,  512,  512,  512,  512,  512,  512,  512,    0,
-      510,  510,  510,  510,  510
+      619,    1,  619,  619,  619,  619,  620,  621,  622,  623,
+      621,  621,   11,   13,  624,  622,  621,  621,  621,  621,
+      621,  621,  621,  621,  621,  621,  621,  621,  621,  621,
+      621,  621,  621,  621,  621,  621,  621,  620,  619,  621,
+      619,  625,  625,  626,  623,   11,  621,   11,   13,   11,
+      624,  627,  621,  621,  621,  621,  621,  621,  621,  621,
+      621,  621,  621,  621,  621,  621,  621,  621,  621,  621,
+      621,  621,  621,  621,  621,  621,  621,  621,  621,  621,
+      621,  621,  621,  621,  621,  621,  621,  621,  621,  621,
+      621,  621,  621,  621,  621,  621,  621,  621,  621,  621,
+
+      621,  621,  621,  621,  621,  621,  621,  621,  621,  621,
+      621,  621,  621,  621,  621,  621,  621,  621,  621,  621,
+      621,  621,  621,  621,  621,  621,  621,  621,  621,  621,
+      621,  621,  621,  621,  621,  621,  621,  621,  621,  619,
+      625,   43,  628,  621,   48,   11,   50,  627,  621,  621,
+      621,  621,  621,  621,  621,  621,  621,  621,  621,  621,
+      621,  621,  621,  621,  621,  621,  621,  621,  621,  621,
+      621,  621,  621,  621,  621,  621,  621,  621,  621,  621,
+      621,  621,  621,  621,  621,  621,  621,  621,  621,  621,
+      621,  621,  621,  621,  621,  621,  621,  621,  621,  621,
+
+      621,  621,  621,  621,  621,  621,  621,  621,  621,  621,
+      621,  621,  621,  621,  621,  621,   50,  621,  621,  621,
+      621,  621,  621,  621,  621,  621,  621,  621,  621,  621,
+      621,  621,  621,  621,  621,  621,  621,  621,  621,  621,
+      621,  621,  621,  621,  621,  621,  621,  621,  621,  621,
+      621,  621,  621,  621,  621,  621,  621,  621,  621,  621,
+      621,  621,  621,  621,  621,  621,  621,  621,  621,  621,
+      619,  628,  629,  629,  146,  146,  621,  621,  621,  621,
+      621,  621,  621,  621,  621,  621,  621,  621,  621,  621,
+      621,  621,  621,  621,  621,  621,  621,  621,  621,  621,
+
+      621,  621,  621,  621,  621,  621,  621,  621,  621,  621,
+      621,  621,  621,  621,  621,  621,  621,  621,  621,  621,
+      621,  621,  621,  621,  621,  621,  621,  621,  217,  621,
+      621,  621,  621,  621,  621,  621,  621,  621,  621,  621,
+      621,  621,  621,  621,  621,  621,  621,  621,  621,  621,
+      621,  621,  621,  621,  621,  621,  621,  621,  621,  621,
+      621,  621,  621,  621,  621,  621,  621,  621,  621,  621,
+      621,  274,  621,  621,  621,  621,  621,  621,  621,  621,
+      621,  621,  621,  621,  621,  621,  621,  621,  621,  621,
+      621,  621,  621,  621,  621,  621,  621,  621,  621,  621,
+
+      621,  621,  621,  621,  621,  621,  621,  621,  621,  621,
+      621,  621,  621,  621,  621,  621,  621,  621,  621,  621,
+      621,  621,  621,  621,  621,  621,  621,  621,  621,  621,
+      621,  621,  621,  621,  621,  621,  621,  621,  621,  621,
+      621,  621,  621,  621,  621,  621,  621,  621,  621,  621,
+      621,  621,  621,  621,  621,  621,  621,  621,  621,  621,
+      621,  621,  621,  621,  621,  621,  621,  621,  621,  621,
+      621,  621,  621,  621,  621,  621,  621,  621,  621,  621,
+      621,  621,  621,  621,  621,  621,  621,  621,  621,  621,
+      621,  621,  621,  621,  621,  621,  621,  621,  621,  621,
+
+      621,  621,  621,  621,  621,  621,  621,  621,  621,  621,
+      621,  621,  621,  621,  621,  621,  621,  621,  621,  621,
+      621,  621,  621,  621,  621,  621,  621,  621,  621,  621,
+      621,  621,  621,  621,  621,  621,  621,  621,  621,  621,
+      621,  621,  621,  621,  621,  621,  621,  621,  621,  621,
+      621,  621,  621,  621,  621,  621,  621,  621,  621,  621,
+      621,  621,  621,  621,  621,  621,  621,  621,  621,  621,
+      621,  621,  621,  621,  621,  621,  621,  621,  621,  621,
+      621,  621,  621,  621,  621,  621,  621,  621,  621,  621,
+      621,  621,  621,  621,  621,  621,  621,  621,  621,  621,
+
+      621,  621,  621,  621,  621,  621,  621,  621,  621,  621,
+      621,  621,  621,  621,  621,  621,  621,  621,    0,  619,
+      619,  619,  619,  619,  619,  619,  619,  619,  619
     } ;
 
-static yyconst short int yy_nxt[1155] =
+static yyconst short int yy_nxt[1386] =
     {   0,
         4,    5,    6,    7,    8,    9,   10,   11,   12,   13,
-       14,   14,   14,    4,   15,    8,    8,    8,   16,   17,
-       18,   19,   20,   21,   22,    8,   23,    8,   24,   25,
-       26,   27,   28,    8,   29,   30,   31,   32,   33,   34,
-       35,    8,   36,   42,   40,   43,   43,   43,   43,   44,
-       44,   44,   44,   45,   45,   45,   45,   40,   46,   40,
-       40,   40,  136,   40,   47,   48,   48,   48,   48,   40,
-       47,   48,   48,   48,   48,   40,   40,   69,  120,   40,
-       87,   40,   88,   86,   51,  116,   40,   70,   56,   40,
-       91,   52,   57,   53,   40,   54,   49,   58,   55,   60,
-
-       59,   61,   40,  123,  117,   77,   78,   64,   40,   40,
-       40,   65,   62,   40,   79,   66,   63,   67,   71,   75,
-       68,   72,   80,   40,   40,   76,   40,   81,   73,   83,
-       40,   82,   40,   40,   74,   89,   40,  113,   40,   40,
-      254,   90,   84,   40,  102,  115,   40,  118,   85,   92,
-      114,  127,  131,   40,  130,  146,   40,  103,   40,   93,
-      104,   94,   95,  139,   40,   96,   97,  105,  121,  121,
-      121,  121,   40,  147,   98,  134,   99,  100,   40,  101,
-       92,   40,   40,  135,   40,   43,   43,   43,   43,   40,
-      106,  128,  107,  129,  132,  163,  137,  108,  133,  109,
-
-       40,  110,   40,  138,   40,  111,  112,  122,   44,   44,
-       44,   44,   47,   45,   45,   45,   45,   40,  124,  124,
-      124,  124,   40,  142,  148,  125,   40,  143,   41,   40,
-      207,  125,   47,   48,   48,   48,   48,   40,  126,  126,
-      126,  126,   40,   40,  126,  126,   40,  126,  126,  126,
-      126,  126,  126,  144,   40,   40,   40,   40,  140,   40,
-      141,   40,  149,  150,   40,  145,   40,   40,   40,   40,
-      152,   40,  154,  156,   40,  155,   40,  153,   40,  151,
-       40,  166,  170,  168,  157,  158,  164,  159,  160,  161,
-       40,  162,  165,  167,   40,  169,   40,   40,   40,   40,
-
-       40,  173,   40,   40,   40,  171,  179,   40,   40,  172,
-      174,  175,  188,   40,   40,  176,  180,  225,   40,   40,
-      181,   40,  177,  184,  191,  190,  185,  178,  182,  186,
-      189,   40,  187,   40,   40,   40,  183,   40,  197,   40,
-       40,   40,  198,   40,  192,   40,  193,  195,  199,  202,
-       40,  211,  205,   40,  194,  201,  200,  206,  196,   40,
-       40,  212,  203,  208,  210,  209,   40,  204,  121,  121,
-      121,  121,  215,  215,  215,  215,   40,  220,   40,  216,
-       40,  213,   40,   40,  236,  216,  124,  124,  124,  124,
-       40,  222,   40,  125,  221,  226,  224,   40,   40,  125,
-
-      217,  218,   40,  219,  219,  219,  219,   40,   40,   40,
-      228,   40,   40,  223,   40,   40,  231,   40,  230,   40,
-      227,  242,   40,   40,  234,   40,  238,  232,  235,  233,
-      229,  239,  237,   40,   40,   40,   40,   40,  244,   40,
-      248,   40,   40,  240,  245,  241,  247,   40,   40,   40,
-      243,  246,   40,   40,  249,   40,  250,  251,  253,  252,
-      256,   40,   40,   40,  257,  255,   40,   40,   40,   40,
-       40,   40,   40,   40,   40,   40,  258,  259,  261,  293,
-      268,  275,   40,  274,  263,  260,  262,  264,  264,  264,
-      264,  265,  267,  264,  264,  266,  264,  264,  264,  264,
-
-      264,  264,   40,  273,   40,   40,   40,   40,   40,   40,
-       40,  269,   40,  270,   40,   40,   40,  271,  282,  272,
-      276,  280,  279,  283,   40,   40,  277,  281,   40,  278,
-       40,   40,   40,   40,  288,  284,   40,  289,  295,  286,
-      285,  287,   40,  290,  294,   40,   40,  291,   40,  297,
-      292,   40,  215,  215,  215,  215,  296,  217,  217,  216,
-      299,  299,  299,  299,  298,  216,  299,  299,  299,  299,
-      219,  219,  219,  219,   40,  219,  219,  219,  219,   40,
-       40,   40,   40,   40,   40,   40,   40,   40,  301,   40,
-       40,  304,   40,   40,  308,   40,   40,  300,   40,  302,
-
-      303,  313,  307,  309,   40,   40,   40,   40,  305,  306,
-      316,  311,  314,  312,  318,  317,   40,   40,   40,  310,
-       40,   40,   40,  321,   40,  315,   40,   40,   40,  322,
-       40,   40,  320,   40,   40,   40,   40,   40,  325,  319,
-       40,  326,  323,  324,  333,  327,  328,  335,  329,  330,
-      334,   40,  331,   40,   40,   40,  332,   40,   40,  342,
-       40,   40,  337,  339,  341,  346,   40,  343,   40,  344,
-      345,  336,   40,   40,   40,  347,  338,  340,   40,  352,
-       40,  349,   40,  348,  350,   40,   40,   40,  351,   40,
-      299,  299,  299,  299,   40,   40,   40,  353,   40,  357,
-
-      359,  360,  361,  354,   40,  362,  355,   40,   40,  356,
-      367,  358,  363,   40,   40,  364,  366,   40,  365,   40,
-       40,   40,   40,   40,   40,   40,   40,   40,  370,   40,
-      374,  375,   40,  368,  376,   40,  369,  371,   40,  373,
-       40,  377,   40,  378,  372,   40,   40,  381,   40,  380,
-       40,  383,  379,  384,  385,   40,   40,  382,  389,  386,
-       40,   40,   40,   40,  387,   40,  388,   40,   40,   40,
-      391,  390,  394,  392,  395,   40,  396,   40,   40,   40,
-      398,   40,   40,  400,   40,  393,   40,   40,  397,   40,
-      399,  405,   40,   40,  403,   40,  402,   40,  401,  404,
-
-       40,  407,   40,   40,  411,  412,   40,  409,   40,  408,
-       40,  410,  415,  414,  406,  416,   40,  418,  413,   40,
-       40,  417,   40,  419,   40,  420,   40,   40,  421,   40,
-      422,   40,   40,   40,  423,  426,   40,   40,   40,  424,
-       40,   40,  427,   40,   40,   40,   40,   40,  425,  428,
-      435,  430,  436,   40,  429,  434,   40,  431,  432,   40,
-      438,  437,  439,   40,  433,  440,   40,   40,  441,   40,
-       40,  444,  443,   40,   40,   40,  445,  447,  442,   40,
-       40,   40,  446,   40,  449,   40,   40,   40,  458,   40,
-      453,   40,  448,   40,   40,  457,   40,  461,  450,   40,
-
-      454,  460,  451,  452,  455,  459,  456,   40,   40,   40,
-       40,   40,  464,  463,  462,  466,  465,   40,  467,   40,
-       40,   40,  469,   40,   40,   40,   40,   40,  472,   40,
-      475,   40,  477,   40,  468,  470,   40,   40,   40,  474,
-       40,  476,   40,  478,   40,   40,  473,  479,   40,  471,
-       40,  482,  480,  483,  485,  486,   40,   40,   40,  481,
-      484,  490,   40,  487,   40,  488,  489,   40,   40,  491,
-       40,   40,   40,   40,  495,  492,   40,   40,   40,  494,
-      493,  496,   40,   40,  502,  503,   40,  497,   40,   40,
-      499,   40,  498,   40,   40,  507,  500,  501,  508,   40,
-
-       40,   40,   40,  506,   40,   40,  505,   40,   40,   40,
-       40,  504,  509,   37,   37,   37,   37,   39,   39,   50,
-       40,   50,   50,   40,   40,   40,   40,   40,   40,   40,
-       40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
-       40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
-       40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
-       40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
-       40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
-       40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
-       40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
-
-       40,  214,   40,   40,   40,   40,  119,   40,   38,  510,
-        3,  510,  510,  510,  510,  510,  510,  510,  510,  510,
-      510,  510,  510,  510,  510,  510,  510,  510,  510,  510,
-      510,  510,  510,  510,  510,  510,  510,  510,  510,  510,
-      510,  510,  510,  510,  510,  510,  510,  510,  510,  510,
-      510,  510,  510,  510
+       14,   14,   14,   14,   14,   14,   14,    4,   15,   16,
+        8,    8,    8,   17,   18,   19,   20,   21,   22,   23,
+        8,   24,    8,   25,   26,   27,   28,   29,    8,   30,
+       31,   32,   33,   34,   35,   36,    8,   37,   43,   41,
+       44,   44,   44,   44,   44,   44,   44,   44,   46,   46,
+       46,   46,   46,   46,   46,   46,   41,   47,  159,   41,
+      187,   41,  137,   41,   41,   44,   41,   48,   49,   49,
+       49,   49,   49,   49,   49,   49,   41,   71,   41,   41,
+       72,   41,  138,  165,   41,   53,  144,   73,  108,   58,
+
+       93,   80,   54,   59,   55,   41,   56,   81,   60,   57,
+       41,   61,   41,   94,   50,   52,   62,   41,   63,   95,
+      162,  619,  619,  619,  619,  619,  619,  619,  619,   64,
+       41,  178,   41,   65,   41,   41,   66,   41,   41,   41,
+       67,  134,  136,   89,   68,   74,   69,   75,   76,   70,
+      170,   90,   41,   41,  135,   77,   91,   41,  153,   78,
+       92,   79,   82,   96,   83,  105,  149,   84,   85,   41,
+       41,  106,   97,   41,   41,   41,  107,   86,   98,   41,
+      139,   41,   41,   99,  152,  100,   87,   88,  150,  101,
+      151,  102,   41,  103,  154,  104,  109,   45,  155,   41,
+
+       41,   41,   41,   41,   41,  169,  166,   41,  163,  121,
+      164,  110,  156,  111,  112,   41,  113,  114,  115,  177,
+      116,   41,  122,  160,  171,  123,  117,  157,  118,  119,
+      161,  120,  124,  109,   41,   41,   41,   41,   41,  158,
+      179,   41,  167,   41,  172,  173,  180,  185,  125,   41,
+      126,  127,   41,  128,  168,  129,  198,  130,   41,  131,
+      181,  174,  182,  132,  133,  142,  142,  142,  142,  142,
+      142,  142,  142,  145,  145,  145,  145,  145,  145,  145,
+      145,   41,  183,   41,  186,  146,  267,   41,   41,   41,
+       41,  146,  147,  147,  147,  147,  147,  147,  147,  147,
+
+      184,   41,   41,  147,  147,  175,  147,  147,  147,  147,
+      147,  147,  176,   41,   41,   41,   41,   41,  188,   41,
+       41,  193,  189,  196,   41,   41,   41,   41,  200,   41,
+       41,  199,   41,   41,  194,  197,  190,  191,   41,  192,
+      195,  201,  203,  205,  202,  204,   41,   41,  207,   41,
+       41,   41,  214,  210,   41,  217,  209,  206,  211,   41,
+       41,  218,  208,   41,  212,  213,   41,   41,  220,   41,
+       41,  215,  230,  219,   41,   41,  221,  224,  216,  232,
+       41,  236,   41,   41,  222,  234,  226,  231,  223,  227,
+       41,  225,  228,  233,   41,  229,  237,  238,   41,  235,
+
+       41,   41,   41,   41,  240,  239,   41,   41,   41,   41,
+       41,  246,   41,  259,  242,  241,  244,  250,  266,   41,
+       41,  245,  260,   41,  248,  247,  251,  243,  253,  254,
+      249,  252,  268,  255,   41,   41,   41,  273,  256,  261,
+      262,  257,  269,  273,   41,   41,  258,  285,  270,  264,
+      281,  265,  263,  274,  275,   41,  276,  276,  276,  276,
+      276,  276,  276,  276,  278,   41,  280,  277,   41,   41,
+       41,   41,   41,   41,   41,  279,  282,   41,   41,   41,
+      286,   41,   41,  288,  289,  283,  284,   41,  294,  296,
+      290,   41,  292,  291,   41,  287,  293,   41,   41,   41,
+
+       41,  295,   41,   41,  297,   41,  303,   41,   41,   41,
+       41,   41,   41,  307,  299,  310,  298,  309,  301,   41,
+      308,  300,  313,   41,  305,  302,  312,  306,   41,  311,
+      304,   41,   41,  314,   41,  319,   41,   41,  316,   41,
+       41,  317,   41,  318,  321,  320,   41,  315,   41,   41,
+       41,   41,   41,  323,   41,   41,  322,   41,  325,  333,
+      341,  326,  340,   41,  324,   41,  327,   41,  369,  343,
+      328,  329,  329,  329,  329,  329,  329,  329,  329,  330,
+      331,  332,  329,  329,   41,  329,  329,  329,  329,  329,
+      329,  338,   41,   41,  334,   41,  335,   41,   41,   41,
+
+      336,   41,  337,   41,   41,   41,   41,   41,   41,   41,
+      347,  349,  342,   41,  339,  346,  351,  344,   41,  350,
+       41,  345,   41,  348,   41,   41,  355,  356,  352,   41,
+      357,  353,  354,   41,  359,  364,  358,   41,   41,  360,
+       41,  362,  366,  363,   41,   41,  361,   41,  365,   41,
+      367,  273,  274,  274,   41,  368,   41,  273,  619,  619,
+      619,   40,  619,   40,  370,   41,   41,  373,   41,   41,
+       41,  371,  375,  374,  376,  377,  378,   41,   41,   41,
+       41,   41,   41,   41,  382,   41,   41,   41,   41,  387,
+      379,   41,   41,  381,  380,  383,   41,  385,  386,   41,
+
+      392,  391,  390,   41,   41,  388,   41,  384,  389,   41,
+       41,  393,  394,   41,   41,  399,  400,   41,   41,   41,
+      398,   41,  395,   41,  396,   41,   41,   41,  397,   41,
+       41,   41,  401,  403,  404,  402,  406,  405,   41,  407,
+      413,   41,  409,  410,  408,  414,  415,   41,  412,   41,
+       41,  411,   41,   41,   41,   41,   41,  417,   41,  419,
+      421,   41,  416,   41,  423,  424,   41,  425,  426,  427,
+       41,  418,   41,  420,  430,   41,  422,   41,   41,  429,
+      428,   41,  431,   41,  436,   41,  432,   41,   41,  433,
+       41,   41,  434,   41,   41,   41,   41,  435,   41,   41,
+
+       41,   41,  440,  437,  446,  447,  443,   41,  445,  438,
+      439,   41,   41,   41,   41,  449,   41,  442,  444,  441,
+      450,  451,  448,   41,   41,   41,   41,   41,   41,  452,
+       41,  454,  455,  453,   41,  457,  456,   41,  461,   41,
+       41,   41,  462,   41,  458,   41,  460,   41,   41,   41,
+       41,  459,   41,  463,  464,  465,   41,  466,  468,  467,
+       41,   41,  472,   41,  475,   41,  470,  473,   41,  469,
+      471,  474,   41,  476,  479,  477,   41,   41,  478,   41,
+       41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
+      483,  480,   41,  482,  487,  485,  490,   41,  491,  493,
+
+      481,  484,   41,  488,  486,   41,   41,   41,  496,  489,
+      492,  495,   41,   41,   41,   41,  494,   41,   41,   41,
+       41,  499,  502,   41,  498,   41,   41,  504,   41,  497,
+       41,  501,   41,  508,  509,   41,  500,   41,  506,  507,
+      511,  505,  512,   41,  503,  513,   41,  510,   41,   41,
+      516,   41,  515,  514,   41,   41,  517,   41,   41,  518,
+       41,   41,   41,   41,  521,   41,  522,  519,   41,  520,
+       41,  523,  527,  524,  525,   41,  528,   41,   41,   41,
+       41,   41,   41,  529,  526,   41,   41,   41,   41,  531,
+      536,  537,  530,   41,   41,  535,   41,  532,  542,  533,
+
+      538,  539,  540,   41,   41,  534,   41,   41,   41,  541,
+      547,   41,  548,  546,   41,   41,  543,  549,  544,  551,
+       41,   41,  545,   41,   41,   41,   41,  553,   41,   41,
+       41,  557,  550,   41,   41,   41,   41,   41,  552,  561,
+      563,  558,  564,  566,  559,  554,   41,  555,  556,  562,
+       41,   41,  560,  565,  567,   41,  568,  570,   41,   41,
+       41,  571,   41,   41,   41,  569,  574,   41,  572,   41,
+       41,   41,  577,   41,   41,   41,   41,  581,   41,  575,
+      583,   41,   41,  573,  579,  580,   41,   41,   41,  582,
+      584,  578,  588,  576,   41,  585,  586,  589,   41,   41,
+
+       41,   41,   41,   41,  592,  587,   41,   41,   41,   41,
+      590,  596,   41,   41,  593,  594,  595,  598,  591,  601,
+      603,   41,   41,  602,  599,   41,  597,  600,   41,   41,
+       41,  605,   41,   41,   41,  604,   41,   41,   41,  610,
+      611,  612,   41,   41,  606,   41,  616,  607,   41,  608,
+       41,  609,  617,   41,   41,  615,   41,   41,   41,   41,
+      614,   41,   41,   41,  613,  618,   38,   38,   38,   38,
+       38,   38,   38,   38,   40,   41,   40,   40,   40,   40,
+       42,   41,   42,   42,   41,   42,   51,   41,   51,   51,
+       51,   51,   51,   51,  141,   41,  141,  141,   41,  141,
+
+      148,  148,  148,  148,  148,  148,  148,  148,  272,   41,
+      272,  372,  372,  372,   41,   41,   41,   41,   41,   41,
+       41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
+       41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
+       41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
+       41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
+       41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
+       41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
+       41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
+       41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
+
+       41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
+       41,   41,   41,   41,   41,   41,   41,   41,   39,   41,
+      271,   41,   41,   41,   41,   41,   39,   40,   48,  143,
+       41,  140,   40,   41,   39,  619,    3,  619,  619,  619,
+      619,  619,  619,  619,  619,  619,  619,  619,  619,  619,
+      619,  619,  619,  619,  619,  619,  619,  619,  619,  619,
+      619,  619,  619,  619,  619,  619,  619,  619,  619,  619,
+      619,  619,  619,  619,  619,  619,  619,  619,  619,  619,
+      619,  619,  619,  619,  619
     } ;
 
-static yyconst short int yy_chk[1155] =
+static yyconst short int yy_chk[1386] =
     {   0,
         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    9,   58,    9,    9,    9,    9,   10,
-       10,   10,   10,   11,   11,   11,   11,   11,   12,   26,
-       20,   27,   58,   12,   13,   13,   13,   13,   13,   13,
-       14,   14,   14,   14,   14,   14,   16,   20,  515,   17,
-       27,   29,   27,   26,   16,   35,   35,   20,   17,   23,
-       29,   16,   17,   16,   18,   16,   13,   17,   16,   18,
-
-       17,   18,   19,   46,   35,   23,   23,   19,   46,   24,
-       22,   19,   18,   21,   24,   19,   18,   19,   21,   22,
-       19,   21,   24,   28,   25,   22,  164,   24,   21,   25,
-       66,   24,   33,   54,   21,   28,   34,   33,   36,   31,
-      164,   28,   25,   51,   31,   34,   53,   36,   25,   30,
-       33,   51,   54,   30,   53,   66,   61,   31,   67,   30,
-       31,   30,   30,   61,   56,   30,   30,   31,   42,   42,
-       42,   42,   57,   67,   30,   56,   30,   30,   52,   30,
-       32,   60,   55,   57,   32,   43,   43,   43,   43,   79,
-       32,   52,   32,   52,   55,   79,   60,   32,   55,   32,
-
-       68,   32,   63,   60,   64,   32,   32,   44,   44,   44,
-       44,   44,   45,   45,   45,   45,   45,   45,   47,   47,
-       47,   47,   47,   63,   68,   47,  113,   64,  513,  509,
-      113,   47,   48,   48,   48,   48,   48,   48,   49,   49,
-       49,   49,   49,   62,   49,   49,   65,   49,   49,   49,
-       49,   49,   49,   65,   69,   71,   70,   73,   62,   72,
-       62,   75,   69,   70,   74,   65,   78,   76,   77,   80,
-       71,   82,   72,   74,   84,   73,   81,   71,   93,   70,
-       83,   81,   84,   82,   75,   76,   80,   77,   78,   78,
-       85,   78,   80,   81,   86,   83,   87,   89,   90,   91,
-
-       92,   87,  136,   94,   97,   85,   93,   99,   96,   86,
-       89,   90,   97,   95,  106,   91,   94,  136,  100,  105,
-       95,   98,   91,   96,  100,   99,   96,   92,   95,   96,
-       98,  101,   96,  102,  104,  107,   95,  109,  105,  108,
-      117,  110,  106,  111,  101,  112,  102,  104,  107,  110,
-      114,  116,  111,  116,  102,  109,  108,  112,  104,  115,
-      118,  117,  110,  114,  115,  114,  128,  110,  121,  121,
-      121,  121,  122,  122,  122,  122,  129,  128,  148,  122,
-      137,  118,  131,  134,  148,  122,  124,  124,  124,  124,
-      124,  131,  132,  124,  129,  137,  134,  138,  153,  124,
-
-      125,  125,  140,  125,  125,  125,  125,  125,  141,  142,
-      140,  143,  144,  132,  145,  147,  143,  150,  142,  149,
-      138,  153,  151,  152,  147,  154,  150,  144,  147,  145,
-      141,  151,  149,  155,  158,  156,  507,  157,  155,  159,
-      158,  162,  165,  151,  156,  152,  157,  160,  161,  163,
-      154,  156,  166,  167,  159,  168,  160,  161,  163,  162,
-      166,  170,  169,  172,  167,  165,  173,  175,  179,  181,
-      180,  182,  188,  187,  207,  506,  168,  169,  172,  207,
-      182,  188,  185,  187,  175,  170,  173,  178,  178,  178,
-      178,  179,  181,  178,  178,  180,  178,  178,  178,  178,
-
-      178,  178,  183,  185,  189,  190,  192,  193,  195,  196,
-      194,  183,  198,  183,  197,  199,  200,  183,  196,  183,
-      189,  194,  193,  197,  201,  202,  190,  195,  203,  192,
-      204,  205,  206,  209,  202,  198,  208,  203,  209,  200,
-      199,  201,  210,  204,  208,  211,  213,  205,  505,  211,
-      206,  503,  215,  215,  215,  215,  210,  216,  216,  215,
-      216,  216,  216,  216,  213,  215,  217,  217,  217,  217,
-      218,  218,  218,  218,  218,  219,  219,  219,  219,  219,
-      220,  221,  222,  224,  228,  229,  230,  231,  221,  232,
-      233,  228,  234,  238,  232,  235,  237,  220,  236,  222,
-
-      224,  237,  231,  233,  239,  240,  241,  242,  229,  230,
-      240,  235,  238,  236,  242,  241,  244,  247,  248,  234,
-      249,  250,  251,  248,  252,  239,  253,  254,  262,  249,
-      259,  255,  247,  263,  260,  265,  273,  267,  252,  244,
-      268,  253,  250,  251,  265,  254,  255,  268,  259,  260,
-      267,  269,  262,  270,  271,  272,  263,  274,  278,  273,
-      275,  277,  270,  271,  272,  278,  280,  274,  281,  275,
-      277,  269,  284,  287,  289,  280,  270,  271,  288,  289,
-      290,  284,  292,  281,  287,  293,  295,  298,  288,  297,
-      299,  299,  299,  299,  302,  308,  301,  290,  304,  297,
-
-      298,  301,  302,  292,  309,  304,  293,  305,  306,  295,
-      309,  297,  305,  307,  310,  306,  308,  311,  307,  312,
-      313,  314,  315,  316,  318,  320,  321,  322,  312,  323,
-      316,  318,  324,  310,  320,  335,  311,  313,  325,  315,
-      327,  321,  328,  322,  314,  330,  329,  325,  334,  324,
-      331,  328,  323,  329,  330,  332,  343,  327,  335,  331,
-      344,  346,  347,  348,  332,  354,  334,  352,  353,  355,
-      344,  343,  348,  346,  352,  358,  353,  356,  357,  359,
-      355,  361,  363,  357,  364,  347,  365,  367,  354,  368,
-      356,  364,  366,  369,  361,  374,  359,  376,  358,  363,
-
-      373,  366,  387,  378,  373,  373,  379,  368,  388,  367,
-      382,  369,  378,  376,  365,  379,  380,  382,  374,  390,
-      391,  380,  395,  387,  399,  388,  400,  401,  390,  402,
-      391,  404,  403,  406,  395,  401,  409,  410,  411,  399,
-      412,  413,  402,  414,  415,  416,  419,  417,  400,  403,
-      413,  406,  414,  421,  404,  412,  418,  409,  410,  425,
-      416,  415,  417,  422,  411,  418,  423,  424,  419,  427,
-      426,  423,  422,  428,  430,  441,  424,  426,  421,  431,
-      432,  433,  425,  437,  428,  435,  438,  436,  441,  501,
-      433,  444,  427,  450,  443,  438,  442,  444,  430,  448,
-
-      435,  443,  431,  432,  436,  442,  437,  446,  447,  454,
-      453,  455,  448,  447,  446,  453,  450,  456,  454,  457,
-      458,  459,  456,  460,  461,  462,  463,  464,  459,  466,
-      462,  467,  464,  468,  455,  457,  469,  472,  480,  461,
-      475,  463,  470,  466,  471,  474,  460,  467,  476,  458,
-      477,  470,  468,  471,  474,  475,  481,  479,  482,  469,
-      472,  480,  484,  476,  486,  477,  479,  487,  488,  481,
-      489,  490,  491,  492,  487,  482,  493,  494,  495,  486,
-      484,  488,  496,  497,  494,  495,  499,  489,  502,  504,
-      491,  508,  490,  500,  498,  502,  492,  493,  504,  485,
-
-      483,  478,  473,  499,  465,  452,  497,  451,  449,  445,
-      440,  496,  508,  511,  511,  511,  511,  512,  512,  514,
-      439,  514,  514,  434,  429,  420,  408,  407,  405,  398,
-      397,  396,  394,  393,  392,  389,  386,  385,  384,  383,
-      381,  377,  375,  372,  371,  370,  362,  360,  351,  350,
-      349,  345,  342,  341,  340,  339,  338,  337,  336,  333,
-      326,  319,  317,  303,  300,  296,  294,  291,  286,  285,
-      283,  282,  279,  276,  266,  261,  258,  257,  256,  246,
-      245,  243,  227,  226,  225,  223,  212,  191,  186,  184,
-      177,  176,  174,  171,  146,  139,  135,  133,  130,  127,
-
-      123,  119,  103,   88,   59,   39,   37,    8,    7,    3,
-      510,  510,  510,  510,  510,  510,  510,  510,  510,  510,
-      510,  510,  510,  510,  510,  510,  510,  510,  510,  510,
-      510,  510,  510,  510,  510,  510,  510,  510,  510,  510,
-      510,  510,  510,  510,  510,  510,  510,  510,  510,  510,
-      510,  510,  510,  510
+        1,    1,    1,    1,    1,    1,    1,    1,    9,   60,
+        9,    9,    9,    9,    9,    9,    9,    9,   11,   11,
+       11,   11,   11,   11,   11,   11,   11,   12,   60,   21,
+       84,   65,   36,   36,   84,  626,   12,   13,   13,   13,
+       13,   13,   13,   13,   13,   13,   17,   21,   30,   18,
+       21,   23,   36,   65,   26,   17,   47,   21,   30,   18,
+
+       26,   23,   17,   18,   17,   47,   17,   23,   18,   17,
+       19,   18,   63,   26,   13,   16,   19,   76,   19,   26,
+       63,   16,   16,   16,   16,   16,   16,   16,   16,   19,
+       20,   76,   35,   19,   69,   34,   20,   25,   56,   22,
+       20,   34,   35,   25,   20,   22,   20,   22,   22,   20,
+       69,   25,   29,   27,   34,   22,   25,   53,   56,   22,
+       25,   22,   24,   27,   24,   29,   53,   24,   24,   24,
+       37,   29,   27,   28,   54,   55,   29,   24,   27,   68,
+       37,   57,   66,   28,   55,   28,   24,   24,   54,   28,
+       54,   28,   64,   28,   57,   28,   31,  623,   57,   70,
+
+       58,  618,   75,   32,   31,   68,   66,   62,   64,   32,
+       64,   31,   58,   31,   31,   59,   31,   31,   31,   75,
+       31,   77,   32,   62,   70,   32,   31,   59,   31,   31,
+       62,   31,   32,   33,   67,   71,   78,   73,  616,   59,
+       77,   33,   67,   92,   71,   73,   78,   82,   33,   82,
+       33,   33,   79,   33,   67,   33,   92,   33,   80,   33,
+       78,   73,   79,   33,   33,   43,   43,   43,   43,   43,
+       43,   43,   43,   48,   48,   48,   48,   48,   48,   48,
+       48,   81,   80,  615,   83,   48,  137,  614,  137,   74,
+       83,   48,   50,   50,   50,   50,   50,   50,   50,   50,
+
+       81,   86,   87,   50,   50,   74,   50,   50,   50,   50,
+       50,   50,   74,   88,   89,   93,   90,   91,   86,   94,
+       97,   89,   87,   91,   99,   95,   98,  109,   94,  612,
+      107,   93,  110,  100,   90,   91,   88,   88,  101,   88,
+       90,   95,   98,  100,   97,   99,  102,  103,  101,  104,
+      105,  106,  107,  103,  108,  109,  102,  100,  104,  111,
+      112,  110,  101,  115,  105,  106,  610,  113,  112,  116,
+      114,  108,  115,  111,  119,  117,  112,  113,  108,  116,
+      118,  119,  120,  121,  112,  117,  114,  115,  112,  114,
+      123,  113,  114,  116,  124,  114,  120,  121,  125,  118,
+
+      127,  128,  126,  132,  123,  121,  129,  130,  609,  133,
+      138,  128,  136,  132,  124,  123,  126,  130,  136,  131,
+      139,  127,  133,  161,  129,  128,  130,  125,  131,  131,
+      129,  130,  138,  131,  134,  135,  156,  143,  131,  134,
+      134,  131,  139,  143,  154,  151,  131,  161,  139,  135,
+      156,  135,  134,  146,  146,  150,  146,  146,  146,  146,
+      146,  146,  146,  146,  151,  153,  154,  150,  158,  159,
+      160,  163,  164,  165,  167,  153,  158,  168,  166,  173,
+      163,  171,  170,  165,  166,  159,  160,  172,  171,  173,
+      167,  175,  170,  168,  174,  164,  170,  176,  177,  178,
+
+      179,  172,  180,  182,  174,  181,  179,  183,  184,  188,
+      189,  195,  190,  182,  175,  184,  174,  183,  177,  192,
+      182,  176,  190,  191,  181,  178,  189,  181,  194,  188,
+      180,  193,  197,  191,  198,  195,  196,  199,  192,  200,
+      210,  193,  203,  194,  197,  196,  214,  191,  213,  221,
+      230,  229,  234,  199,  219,  218,  198,  220,  203,  221,
+      230,  210,  229,  267,  200,  608,  213,  223,  267,  234,
+      214,  217,  217,  217,  217,  217,  217,  217,  217,  218,
+      219,  220,  217,  217,  222,  217,  217,  217,  217,  217,
+      217,  223,  227,  231,  222,  235,  222,  237,  239,  238,
+
+      222,  241,  222,  240,  243,  244,  242,  249,  248,  251,
+      239,  241,  231,  262,  227,  238,  242,  235,  255,  241,
+      253,  237,  260,  240,  257,  258,  249,  251,  243,  259,
+      253,  244,  248,  264,  257,  262,  255,  261,  263,  258,
+      266,  260,  264,  261,  265,  269,  259,  270,  263,  277,
+      265,  272,  273,  273,  279,  266,  281,  272,  274,  274,
+      275,  275,  276,  276,  269,  278,  287,  277,  286,  282,
+      288,  270,  279,  278,  281,  282,  286,  289,  290,  292,
+      293,  291,  294,  295,  290,  296,  297,  303,  304,  295,
+      287,  299,  300,  289,  288,  291,  298,  293,  294,  305,
+
+      300,  299,  298,  306,  309,  296,  312,  292,  297,  310,
+      313,  303,  304,  314,  315,  310,  312,  318,  326,  316,
+      309,  317,  305,  319,  305,  323,  324,  327,  306,  328,
+      330,  332,  313,  315,  316,  314,  318,  317,  333,  319,
+      330,  334,  324,  326,  323,  332,  333,  335,  328,  336,
+      337,  327,  339,  340,  606,  341,  342,  335,  344,  336,
+      337,  345,  334,  348,  340,  341,  350,  342,  344,  345,
+      347,  335,  352,  336,  350,  355,  339,  356,  359,  348,
+      347,  357,  352,  358,  359,  360,  355,  362,  363,  356,
+      364,  365,  357,  367,  370,  369,  375,  358,  374,  377,
+
+      592,  589,  364,  360,  374,  375,  369,  378,  370,  362,
+      363,  382,  384,  380,  379,  378,  385,  367,  369,  365,
+      379,  380,  377,  381,  383,  386,  387,  388,  389,  381,
+      390,  383,  384,  382,  392,  386,  385,  397,  390,  395,
+      396,  400,  392,  399,  387,  401,  389,  398,  402,  406,
+      403,  388,  404,  395,  396,  397,  408,  398,  400,  399,
+      412,  407,  404,  409,  408,  410,  402,  406,  411,  401,
+      403,  407,  414,  409,  412,  410,  415,  423,  411,  424,
+      428,  425,  427,  432,  429,  435,  438,  439,  436,  437,
+      424,  414,  441,  423,  429,  427,  436,  442,  437,  439,
+
+      415,  425,  443,  432,  428,  444,  445,  447,  443,  435,
+      438,  442,  448,  450,  451,  452,  441,  453,  454,  455,
+      456,  447,  451,  461,  445,  466,  471,  453,  460,  444,
+      584,  450,  465,  460,  460,  468,  448,  478,  455,  456,
+      465,  454,  466,  469,  452,  468,  470,  461,  473,  479,
+      471,  480,  470,  469,  482,  483,  473,  489,  495,  478,
+      490,  496,  498,  497,  482,  499,  483,  479,  501,  480,
+      503,  489,  497,  490,  495,  506,  498,  507,  508,  509,
+      510,  512,  513,  499,  496,  514,  515,  516,  517,  503,
+      510,  512,  501,  518,  519,  509,  521,  506,  517,  507,
+
+      513,  514,  515,  522,  523,  508,  524,  525,  526,  516,
+      523,  527,  524,  522,  528,  529,  518,  525,  519,  527,
+      531,  534,  521,  532,  533,  536,  537,  529,  538,  539,
+      545,  534,  526,  554,  546,  543,  548,  547,  528,  539,
+      545,  536,  546,  548,  537,  531,  550,  532,  533,  543,
+      551,  552,  538,  547,  550,  557,  551,  554,  558,  559,
+      560,  557,  561,  562,  563,  552,  560,  564,  558,  566,
+      565,  567,  563,  568,  569,  571,  573,  567,  572,  561,
+      569,  574,  575,  559,  565,  566,  577,  576,  579,  568,
+      571,  564,  575,  562,  580,  572,  573,  576,  581,  582,
+
+      583,  585,  586,  587,  580,  574,  588,  593,  590,  591,
+      577,  585,  594,  596,  581,  582,  583,  587,  579,  591,
+      594,  595,  597,  593,  588,  599,  586,  590,  598,  600,
+      601,  596,  602,  603,  604,  595,  605,  607,  611,  601,
+      602,  603,  613,  617,  597,  578,  611,  598,  570,  599,
+      556,  600,  613,  555,  553,  607,  549,  544,  542,  541,
+      605,  540,  535,  530,  604,  617,  620,  620,  620,  620,
+      620,  620,  620,  620,  621,  520,  621,  621,  621,  621,
+      622,  511,  622,  622,  505,  622,  624,  504,  624,  624,
+      624,  624,  624,  624,  625,  502,  625,  625,  500,  625,
+
+      627,  627,  627,  627,  627,  627,  627,  627,  628,  494,
+      628,  629,  629,  629,  493,  492,  491,  488,  487,  486,
+      485,  484,  481,  477,  476,  475,  474,  472,  467,  464,
+      463,  462,  459,  458,  457,  449,  446,  440,  434,  433,
+      431,  430,  426,  422,  421,  420,  419,  418,  417,  416,
+      413,  405,  394,  393,  391,  376,  373,  371,  368,  366,
+      361,  354,  353,  351,  349,  346,  343,  338,  331,  325,
+      322,  321,  320,  311,  308,  307,  302,  301,  285,  284,
+      283,  280,  268,  256,  254,  252,  250,  247,  246,  245,
+      236,  233,  232,  228,  226,  225,  224,  216,  215,  212,
+
+      211,  209,  208,  207,  206,  205,  204,  202,  201,  187,
+      186,  185,  169,  162,  157,  155,  152,  149,  148,  144,
+      140,  122,   96,   85,   72,   61,   52,   49,   46,   45,
+       40,   38,   14,    8,    7,    3,  619,  619,  619,  619,
+      619,  619,  619,  619,  619,  619,  619,  619,  619,  619,
+      619,  619,  619,  619,  619,  619,  619,  619,  619,  619,
+      619,  619,  619,  619,  619,  619,  619,  619,  619,  619,
+      619,  619,  619,  619,  619,  619,  619,  619,  619,  619,
+      619,  619,  619,  619,  619
     } ;
 
 static yy_state_type yy_state_buf[YY_BUF_SIZE + 2], *yy_state_ptr;
@@ -845,7 +934,7 @@ goto find_rule; \
 #define YY_MORE_ADJ 0
 #define YY_RESTORE_YY_MORE_OFFSET
 char *yytext;
-#line 1 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
+#line 1 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
 #define INITIAL 0
 /*===-- UpgradeLexer.l - Scanner for 1.9 assembly files --------*- C++ -*--===//
 //
@@ -860,9 +949,10 @@ char *yytext;
 //
 //===----------------------------------------------------------------------===*/
 #define YY_NEVER_INTERACTIVE 1
-#line 28 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-
-#include "ParserInternals.h"
+#line 28 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+#include "UpgradeInternals.h"
+#include "llvm/Module.h"
+#include <list>
 #include "UpgradeParser.h"
 #include <cctype>
 #include <cstdlib>
@@ -877,18 +967,113 @@ char *yytext;
   } \
 }
 
+#define YY_NEVER_INTERACTIVE 1
 
 // Construct a token value for a non-obsolete token
-#define RET_TOK(sym) \
-  Upgradelval.String = new std::string(yytext); \
+#define RET_TOK(type, Enum, sym) \
+  Upgradelval.type = Enum; \
   return sym
 
-#define RET_TY(sym,OldTY,NewTY,sign) \
-  Upgradelval.Type.newTy = new std::string(NewTY); \
-  Upgradelval.Type.oldTy = OldTY; \
+#define RET_TY(sym,NewTY,sign) \
+  Upgradelval.PrimType.T = NewTY; \
+  switch (sign) { \
+    case 0: Upgradelval.PrimType.S.makeSignless(); break; \
+    case 1: Upgradelval.PrimType.S.makeUnsigned(); break; \
+    case 2: Upgradelval.PrimType.S.makeSigned(); break; \
+    default: assert(0 && "Invalid sign kind"); break; \
+  }\
   return sym
 
-#define YY_NEVER_INTERACTIVE 1
+namespace llvm {
+
+// TODO: All of the static identifiers are figured out by the lexer,
+// these should be hashed to reduce the lexer size
+
+// UnEscapeLexed - Run through the specified buffer and change \xx codes to the
+// appropriate character.  If AllowNull is set to false, a \00 value will cause
+// an exception to be thrown.
+//
+// If AllowNull is set to true, the return value of the function points to the
+// last character of the string in memory.
+//
+char *UnEscapeLexed(char *Buffer, bool AllowNull) {
+  char *BOut = Buffer;
+  for (char *BIn = Buffer; *BIn; ) {
+    if (BIn[0] == '\\' && isxdigit(BIn[1]) && isxdigit(BIn[2])) {
+      char Tmp = BIn[3]; BIn[3] = 0;     // Terminate string
+      *BOut = (char)strtol(BIn+1, 0, 16);  // Convert to number
+      if (!AllowNull && !*BOut)
+        error("String literal cannot accept \\00 escape!");
+
+      BIn[3] = Tmp;                  // Restore character
+      BIn += 3;                      // Skip over handled chars
+      ++BOut;
+    } else {
+      *BOut++ = *BIn++;
+    }
+  }
+
+  return BOut;
+}
+
+// atoull - Convert an ascii string of decimal digits into the unsigned long
+// long representation... this does not have to do input error checking,
+// because we know that the input will be matched by a suitable regex...
+//
+static uint64_t atoull(const char *Buffer) {
+  uint64_t Result = 0;
+  for (; *Buffer; Buffer++) {
+    uint64_t OldRes = Result;
+    Result *= 10;
+    Result += *Buffer-'0';
+    if (Result < OldRes)   // Uh, oh, overflow detected!!!
+      error("constant bigger than 64 bits detected!");
+  }
+  return Result;
+}
+
+static uint64_t HexIntToVal(const char *Buffer) {
+  uint64_t Result = 0;
+  for (; *Buffer; ++Buffer) {
+    uint64_t OldRes = Result;
+    Result *= 16;
+    char C = *Buffer;
+    if (C >= '0' && C <= '9')
+      Result += C-'0';
+    else if (C >= 'A' && C <= 'F')
+      Result += C-'A'+10;
+    else if (C >= 'a' && C <= 'f')
+      Result += C-'a'+10;
+
+    if (Result < OldRes)   // Uh, oh, overflow detected!!!
+      error("constant bigger than 64 bits detected!");
+  }
+  return Result;
+}
+
+
+// HexToFP - Convert the ascii string in hexidecimal format to the floating
+// point representation of it.
+//
+static double HexToFP(const char *Buffer) {
+  // Behave nicely in the face of C TBAA rules... see:
+  // http://www.nullstone.com/htmls/category/aliastyp.htm
+  union {
+    uint64_t UI;
+    double FP;
+  } UIntToFP;
+  UIntToFP.UI = HexIntToVal(Buffer);
+
+  assert(sizeof(double) == sizeof(uint64_t) &&
+         "Data sizes incompatible on this target!");
+  return UIntToFP.FP;   // Cast Hex constant to double
+}
+
+
+} // End llvm namespace
+
+using namespace llvm;
+
 /* Comments start with a ; and go till end of line */
 /* Variable(Value) identifiers start with a % sign */
 /* Label identifiers end with a colon */
@@ -905,7 +1090,7 @@ char *yytext;
 /* HexIntConstant - Hexadecimal constant generated by the CFE to avoid forcing
  * it to deal with 64 bit numbers.
  */
-#line 909 "UpgradeLexer.cpp"
+#line 1094 "UpgradeLexer.cpp"
 
 /* Macros after this point can all be overridden by user definitions in
  * section 1.
@@ -1056,10 +1241,10 @@ YY_DECL
        register char *yy_cp = NULL, *yy_bp = NULL;
        register int yy_act;
 
-#line 98 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
+#line 194 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
 
 
-#line 1063 "UpgradeLexer.cpp"
+#line 1248 "UpgradeLexer.cpp"
 
        if ( yy_init )
                {
@@ -1107,14 +1292,14 @@ yy_match:
                        while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
                                {
                                yy_current_state = (int) yy_def[yy_current_state];
-                               if ( yy_current_state >= 511 )
+                               if ( yy_current_state >= 620 )
                                        yy_c = yy_meta[(unsigned int) yy_c];
                                }
                        yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
                        *yy_state_ptr++ = yy_current_state;
                        ++yy_cp;
                        }
-               while ( yy_current_state != 510 );
+               while ( yy_current_state != 619 );
 
 yy_find_action:
                yy_current_state = *--yy_state_ptr;
@@ -1152,581 +1337,841 @@ do_action:    /* This label is used only to access EOF actions. */
        { /* beginning of action switch */
 case 1:
 YY_RULE_SETUP
-#line 100 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
+#line 196 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
 { /* Ignore comments for now */ }
        YY_BREAK
 case 2:
 YY_RULE_SETUP
-#line 102 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( BEGINTOK); }
+#line 198 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ return BEGINTOK; }
        YY_BREAK
 case 3:
 YY_RULE_SETUP
-#line 103 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( ENDTOK); }
+#line 199 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ return ENDTOK; }
        YY_BREAK
 case 4:
 YY_RULE_SETUP
-#line 104 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( TRUETOK);  }
+#line 200 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ return TRUETOK;  }
        YY_BREAK
 case 5:
 YY_RULE_SETUP
-#line 105 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( FALSETOK); }
+#line 201 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ return FALSETOK; }
        YY_BREAK
 case 6:
 YY_RULE_SETUP
-#line 106 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( DECLARE); }
+#line 202 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ return DECLARE; }
        YY_BREAK
 case 7:
 YY_RULE_SETUP
-#line 107 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( GLOBAL); }
+#line 203 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ return GLOBAL; }
        YY_BREAK
 case 8:
 YY_RULE_SETUP
-#line 108 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( CONSTANT); }
+#line 204 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ return CONSTANT; }
        YY_BREAK
 case 9:
 YY_RULE_SETUP
-#line 109 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( INTERNAL); }
+#line 205 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ return INTERNAL; }
        YY_BREAK
 case 10:
 YY_RULE_SETUP
-#line 110 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( LINKONCE); }
+#line 206 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ return LINKONCE; }
        YY_BREAK
 case 11:
 YY_RULE_SETUP
-#line 111 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( WEAK); }
+#line 207 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ return WEAK; }
        YY_BREAK
 case 12:
 YY_RULE_SETUP
-#line 112 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( APPENDING); }
+#line 208 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ return APPENDING; }
        YY_BREAK
 case 13:
 YY_RULE_SETUP
-#line 113 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( DLLIMPORT); }
+#line 209 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ return DLLIMPORT; }
        YY_BREAK
 case 14:
 YY_RULE_SETUP
-#line 114 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( DLLEXPORT); }
+#line 210 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ return DLLEXPORT; }
        YY_BREAK
 case 15:
 YY_RULE_SETUP
-#line 115 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( EXTERN_WEAK); }
+#line 211 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ return EXTERN_WEAK; }
        YY_BREAK
 case 16:
 YY_RULE_SETUP
-#line 116 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( EXTERNAL); }
+#line 212 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ return EXTERNAL; }    /* Deprecated, turn into external */
        YY_BREAK
 case 17:
 YY_RULE_SETUP
-#line 117 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( IMPLEMENTATION); }
+#line 213 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ return EXTERNAL; }
        YY_BREAK
 case 18:
 YY_RULE_SETUP
-#line 118 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( ZEROINITIALIZER); }
+#line 214 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ return IMPLEMENTATION; }
        YY_BREAK
 case 19:
 YY_RULE_SETUP
-#line 119 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( DOTDOTDOT); }
+#line 215 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ return ZEROINITIALIZER; }
        YY_BREAK
 case 20:
 YY_RULE_SETUP
-#line 120 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( UNDEF); }
+#line 216 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ return DOTDOTDOT; }
        YY_BREAK
 case 21:
 YY_RULE_SETUP
-#line 121 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( NULL_TOK); }
+#line 217 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ return UNDEF; }
        YY_BREAK
 case 22:
 YY_RULE_SETUP
-#line 122 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( TO); }
+#line 218 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ return NULL_TOK; }
        YY_BREAK
 case 23:
 YY_RULE_SETUP
-#line 123 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( TAIL); }
+#line 219 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ return TO; }
        YY_BREAK
 case 24:
 YY_RULE_SETUP
-#line 124 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( TARGET); }
+#line 220 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ return EXCEPT; }
        YY_BREAK
 case 25:
 YY_RULE_SETUP
-#line 125 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( TRIPLE); }
+#line 221 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ return NOT; }  /* Deprecated, turned into XOR */
        YY_BREAK
 case 26:
 YY_RULE_SETUP
-#line 126 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( DEPLIBS); }
+#line 222 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ return TAIL; }
        YY_BREAK
 case 27:
 YY_RULE_SETUP
-#line 127 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( ENDIAN); }
+#line 223 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ return TARGET; }
        YY_BREAK
 case 28:
 YY_RULE_SETUP
-#line 128 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( POINTERSIZE); }
+#line 224 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ return TRIPLE; }
        YY_BREAK
 case 29:
 YY_RULE_SETUP
-#line 129 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( DATALAYOUT); }
+#line 225 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ return DEPLIBS; }
        YY_BREAK
 case 30:
 YY_RULE_SETUP
-#line 130 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( LITTLE); }
+#line 226 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ return ENDIAN; }
        YY_BREAK
 case 31:
 YY_RULE_SETUP
-#line 131 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( BIG); }
+#line 227 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ return POINTERSIZE; }
        YY_BREAK
 case 32:
 YY_RULE_SETUP
-#line 132 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( VOLATILE); }
+#line 228 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ return DATALAYOUT; }
        YY_BREAK
 case 33:
 YY_RULE_SETUP
-#line 133 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( ALIGN);  }
+#line 229 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ return LITTLE; }
        YY_BREAK
 case 34:
 YY_RULE_SETUP
-#line 134 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( SECTION); }
+#line 230 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ return BIG; }
        YY_BREAK
 case 35:
 YY_RULE_SETUP
-#line 135 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( MODULE); }
+#line 231 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ return VOLATILE; }
        YY_BREAK
 case 36:
 YY_RULE_SETUP
-#line 136 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( ASM_TOK); }
+#line 232 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ return ALIGN;  }
        YY_BREAK
 case 37:
 YY_RULE_SETUP
-#line 137 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( SIDEEFFECT); }
+#line 233 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ return SECTION; }
        YY_BREAK
 case 38:
 YY_RULE_SETUP
-#line 139 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( CC_TOK); }
+#line 234 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ return MODULE; }
        YY_BREAK
 case 39:
 YY_RULE_SETUP
-#line 140 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( CCC_TOK); }
+#line 235 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ return ASM_TOK; }
        YY_BREAK
 case 40:
 YY_RULE_SETUP
-#line 141 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( CSRETCC_TOK); }
+#line 236 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ return SIDEEFFECT; }
        YY_BREAK
 case 41:
 YY_RULE_SETUP
-#line 142 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( FASTCC_TOK); }
+#line 238 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ return CC_TOK; }
        YY_BREAK
 case 42:
 YY_RULE_SETUP
-#line 143 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( COLDCC_TOK); }
+#line 239 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ return CCC_TOK; }
        YY_BREAK
 case 43:
 YY_RULE_SETUP
-#line 144 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( X86_STDCALLCC_TOK); }
+#line 240 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ return CSRETCC_TOK; }
        YY_BREAK
 case 44:
 YY_RULE_SETUP
-#line 145 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( X86_FASTCALLCC_TOK); }
+#line 241 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ return FASTCC_TOK; }
        YY_BREAK
 case 45:
 YY_RULE_SETUP
-#line 147 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TY(VOID,VoidTy,"void",false); }
+#line 242 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ return COLDCC_TOK; }
        YY_BREAK
 case 46:
 YY_RULE_SETUP
-#line 148 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TY(BOOL,BoolTy,"bool",false); }
+#line 243 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ return X86_STDCALLCC_TOK; }
        YY_BREAK
 case 47:
 YY_RULE_SETUP
-#line 149 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TY(SBYTE,SByteTy,"sbyte",true); }
+#line 244 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ return X86_FASTCALLCC_TOK; }
        YY_BREAK
 case 48:
 YY_RULE_SETUP
-#line 150 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TY(UBYTE,UByteTy,"ubyte",false); }
+#line 246 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TY(SBYTE,  Type::Int8Ty,  2); }
        YY_BREAK
 case 49:
 YY_RULE_SETUP
-#line 151 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TY(SHORT,ShortTy,"short",true); }
+#line 247 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TY(UBYTE,  Type::Int8Ty,  1); }
        YY_BREAK
 case 50:
 YY_RULE_SETUP
-#line 152 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TY(USHORT,UShortTy,"ushort",false); }
+#line 248 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TY(UBYTE,  Type::Int8Ty,  1); }
        YY_BREAK
 case 51:
 YY_RULE_SETUP
-#line 153 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TY(INT,IntTy,"int",true);   }
+#line 249 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TY(SHORT,  Type::Int16Ty, 2); }
        YY_BREAK
 case 52:
 YY_RULE_SETUP
-#line 154 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TY(UINT,UIntTy,"uint",false);  }
+#line 250 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TY(USHORT, Type::Int16Ty, 1); }
        YY_BREAK
 case 53:
 YY_RULE_SETUP
-#line 155 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TY(LONG,LongTy,"long",true);  }
+#line 251 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TY(USHORT, Type::Int16Ty, 1); }
        YY_BREAK
 case 54:
 YY_RULE_SETUP
-#line 156 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TY(ULONG,ULongTy,"ulong",false); }
+#line 252 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TY(INT,    Type::Int32Ty, 2); }
        YY_BREAK
 case 55:
 YY_RULE_SETUP
-#line 157 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TY(FLOAT,FloatTy,"float",false); }
+#line 253 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TY(UINT,   Type::Int32Ty, 1); }
        YY_BREAK
 case 56:
 YY_RULE_SETUP
-#line 158 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TY(DOUBLE,DoubleTy,"double",false); }
+#line 254 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TY(UINT,   Type::Int32Ty, 1); }
        YY_BREAK
 case 57:
 YY_RULE_SETUP
-#line 159 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TY(LABEL,LabelTy,"label",false); }
+#line 255 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TY(LONG,   Type::Int64Ty, 2); }
        YY_BREAK
 case 58:
 YY_RULE_SETUP
-#line 160 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TY(OPAQUE,OpaqueTy,"opaque",false); }
+#line 256 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TY(ULONG,  Type::Int64Ty, 1); }
        YY_BREAK
 case 59:
 YY_RULE_SETUP
-#line 161 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK(TYPE);   }
+#line 257 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TY(ULONG,  Type::Int64Ty, 1); }
        YY_BREAK
 case 60:
 YY_RULE_SETUP
-#line 163 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( ADD); }
+#line 258 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TY(VOID,   Type::VoidTy,  0); }
        YY_BREAK
 case 61:
 YY_RULE_SETUP
-#line 164 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( SUB); }
+#line 259 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TY(BOOL,   Type::Int1Ty,  1); }
        YY_BREAK
 case 62:
 YY_RULE_SETUP
-#line 165 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( MUL); }
+#line 260 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TY(BOOL,   Type::Int1Ty,  1); }
        YY_BREAK
 case 63:
 YY_RULE_SETUP
-#line 166 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( UDIV); }
+#line 261 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TY(FLOAT,  Type::FloatTy, 0); }
        YY_BREAK
 case 64:
 YY_RULE_SETUP
-#line 167 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( UDIV); }
+#line 262 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TY(DOUBLE, Type::DoubleTy,0); }
        YY_BREAK
 case 65:
 YY_RULE_SETUP
-#line 168 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( SDIV); }
+#line 263 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TY(LABEL,  Type::LabelTy, 0); }
        YY_BREAK
 case 66:
 YY_RULE_SETUP
-#line 169 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( FDIV); }
+#line 264 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ return TYPE;   }
        YY_BREAK
 case 67:
 YY_RULE_SETUP
-#line 170 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( UREM); }
+#line 265 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ return OPAQUE; }
        YY_BREAK
 case 68:
 YY_RULE_SETUP
-#line 171 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( UREM); }
+#line 267 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TOK(BinaryOpVal, AddOp, ADD); }
        YY_BREAK
 case 69:
 YY_RULE_SETUP
-#line 172 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( SREM); }
+#line 268 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TOK(BinaryOpVal, SubOp, SUB); }
        YY_BREAK
 case 70:
 YY_RULE_SETUP
-#line 173 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( FREM); }
+#line 269 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TOK(BinaryOpVal, MulOp, MUL); }
        YY_BREAK
 case 71:
 YY_RULE_SETUP
-#line 174 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( AND); }
+#line 270 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TOK(BinaryOpVal, DivOp,  DIV); }
        YY_BREAK
 case 72:
 YY_RULE_SETUP
-#line 175 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( OR); }
+#line 271 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TOK(BinaryOpVal, UDivOp, UDIV); }
        YY_BREAK
 case 73:
 YY_RULE_SETUP
-#line 176 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( XOR); }
+#line 272 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TOK(BinaryOpVal, SDivOp, SDIV); }
        YY_BREAK
 case 74:
 YY_RULE_SETUP
-#line 177 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( SETNE); }
+#line 273 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TOK(BinaryOpVal, FDivOp, FDIV); }
        YY_BREAK
 case 75:
 YY_RULE_SETUP
-#line 178 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( SETEQ); }
+#line 274 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TOK(BinaryOpVal, RemOp,  REM); }
        YY_BREAK
 case 76:
 YY_RULE_SETUP
-#line 179 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( SETLT); }
+#line 275 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TOK(BinaryOpVal, URemOp, UREM); }
        YY_BREAK
 case 77:
 YY_RULE_SETUP
-#line 180 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( SETGT); }
+#line 276 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TOK(BinaryOpVal, SRemOp, SREM); }
        YY_BREAK
 case 78:
 YY_RULE_SETUP
-#line 181 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( SETLE); }
+#line 277 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TOK(BinaryOpVal, FRemOp, FREM); }
        YY_BREAK
 case 79:
 YY_RULE_SETUP
-#line 182 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( SETGE); }
+#line 278 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TOK(BinaryOpVal, AndOp, AND); }
        YY_BREAK
 case 80:
 YY_RULE_SETUP
-#line 184 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( PHI_TOK); }
+#line 279 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TOK(BinaryOpVal, OrOp , OR ); }
        YY_BREAK
 case 81:
 YY_RULE_SETUP
-#line 185 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( CALL); }
+#line 280 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TOK(BinaryOpVal, XorOp, XOR); }
        YY_BREAK
 case 82:
 YY_RULE_SETUP
-#line 186 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( CAST); }
+#line 281 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TOK(BinaryOpVal, SetNE, SETNE); }
        YY_BREAK
 case 83:
 YY_RULE_SETUP
-#line 187 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( SELECT); }
+#line 282 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TOK(BinaryOpVal, SetEQ, SETEQ); }
        YY_BREAK
 case 84:
 YY_RULE_SETUP
-#line 188 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( SHL); }
+#line 283 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TOK(BinaryOpVal, SetLT, SETLT); }
        YY_BREAK
 case 85:
 YY_RULE_SETUP
-#line 189 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( SHR); }
+#line 284 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TOK(BinaryOpVal, SetGT, SETGT); }
        YY_BREAK
 case 86:
 YY_RULE_SETUP
-#line 190 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( ASHR); }
+#line 285 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TOK(BinaryOpVal, SetLE, SETLE); }
        YY_BREAK
 case 87:
 YY_RULE_SETUP
-#line 191 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( LSHR); }
+#line 286 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TOK(BinaryOpVal, SetGE, SETGE); }
        YY_BREAK
 case 88:
 YY_RULE_SETUP
-#line 192 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( VAARG); }
+#line 287 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TOK(BinaryOpVal, ShlOp, SHL); }
        YY_BREAK
 case 89:
 YY_RULE_SETUP
-#line 193 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( RET); }
+#line 288 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TOK(BinaryOpVal, ShrOp, SHR); }
        YY_BREAK
 case 90:
 YY_RULE_SETUP
-#line 194 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( BR); }
+#line 289 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TOK(BinaryOpVal, LShrOp, LSHR); }
        YY_BREAK
 case 91:
 YY_RULE_SETUP
-#line 195 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( SWITCH); }
+#line 290 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TOK(BinaryOpVal, AShrOp, ASHR); }
        YY_BREAK
 case 92:
 YY_RULE_SETUP
-#line 196 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( INVOKE); }
+#line 292 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TOK(OtherOpVal, ICmpOp, ICMP); }
        YY_BREAK
 case 93:
 YY_RULE_SETUP
-#line 197 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( UNWIND); }
+#line 293 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TOK(OtherOpVal, FCmpOp, FCMP); }
        YY_BREAK
 case 94:
 YY_RULE_SETUP
-#line 198 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( UNWIND); }
+#line 295 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ return EQ; }
        YY_BREAK
 case 95:
 YY_RULE_SETUP
-#line 199 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( UNREACHABLE); }
+#line 296 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ return NE; }
        YY_BREAK
 case 96:
 YY_RULE_SETUP
-#line 201 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( MALLOC); }
+#line 297 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ return SLT; }
        YY_BREAK
 case 97:
 YY_RULE_SETUP
-#line 202 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( ALLOCA); }
+#line 298 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ return SGT; }
        YY_BREAK
 case 98:
 YY_RULE_SETUP
-#line 203 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( FREE); }
+#line 299 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ return SLE; }
        YY_BREAK
 case 99:
 YY_RULE_SETUP
-#line 204 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( LOAD); }
+#line 300 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ return SGE; }
        YY_BREAK
 case 100:
 YY_RULE_SETUP
-#line 205 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( STORE); }
+#line 301 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ return ULT; }
        YY_BREAK
 case 101:
 YY_RULE_SETUP
-#line 206 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( GETELEMENTPTR); }
+#line 302 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ return UGT; }
        YY_BREAK
 case 102:
 YY_RULE_SETUP
-#line 208 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( EXTRACTELEMENT); }
+#line 303 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ return ULE; }
        YY_BREAK
 case 103:
 YY_RULE_SETUP
-#line 209 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( INSERTELEMENT); }
+#line 304 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ return UGE; }
        YY_BREAK
 case 104:
 YY_RULE_SETUP
-#line 210 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( SHUFFLEVECTOR); }
+#line 305 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ return OEQ; }
        YY_BREAK
 case 105:
 YY_RULE_SETUP
-#line 213 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( VAR_ID); }
+#line 306 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ return ONE; }
        YY_BREAK
 case 106:
 YY_RULE_SETUP
-#line 214 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( LABELSTR); }
+#line 307 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ return OLT; }
        YY_BREAK
 case 107:
 YY_RULE_SETUP
-#line 215 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( LABELSTR); }
+#line 308 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ return OGT; }
        YY_BREAK
 case 108:
 YY_RULE_SETUP
-#line 216 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( STRINGCONSTANT ); }
+#line 309 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ return OLE; }
        YY_BREAK
 case 109:
 YY_RULE_SETUP
-#line 217 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( EUINT64VAL ); }
+#line 310 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ return OGE; }
        YY_BREAK
 case 110:
 YY_RULE_SETUP
-#line 218 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( ESINT64VAL ); }
+#line 311 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ return ORD; }
        YY_BREAK
 case 111:
 YY_RULE_SETUP
-#line 219 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( yytext[0] == 's' ? ESINT64VAL : EUINT64VAL ); }
+#line 312 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ return UNO; }
        YY_BREAK
 case 112:
 YY_RULE_SETUP
-#line 220 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( UINTVAL); }
+#line 313 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ return UEQ; }
        YY_BREAK
 case 113:
 YY_RULE_SETUP
-#line 221 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( SINTVAL); }
+#line 314 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ return UNE; }
        YY_BREAK
 case 114:
 YY_RULE_SETUP
-#line 222 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( FPVAL); }
+#line 316 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TOK(OtherOpVal, PHIOp, PHI_TOK); }
        YY_BREAK
 case 115:
 YY_RULE_SETUP
-#line 223 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( FPVAL); }
+#line 317 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TOK(OtherOpVal, CallOp, CALL); }
+       YY_BREAK
+case 116:
+YY_RULE_SETUP
+#line 318 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TOK(CastOpVal, CastOp, CAST);  }
+       YY_BREAK
+case 117:
+YY_RULE_SETUP
+#line 319 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TOK(CastOpVal, TruncOp, TRUNC); }
+       YY_BREAK
+case 118:
+YY_RULE_SETUP
+#line 320 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TOK(CastOpVal, ZExtOp , ZEXT); }
+       YY_BREAK
+case 119:
+YY_RULE_SETUP
+#line 321 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TOK(CastOpVal, SExtOp, SEXT); }
+       YY_BREAK
+case 120:
+YY_RULE_SETUP
+#line 322 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TOK(CastOpVal, FPTruncOp, FPTRUNC); }
+       YY_BREAK
+case 121:
+YY_RULE_SETUP
+#line 323 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TOK(CastOpVal, FPExtOp, FPEXT); }
+       YY_BREAK
+case 122:
+YY_RULE_SETUP
+#line 324 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TOK(CastOpVal, FPToUIOp, FPTOUI); }
+       YY_BREAK
+case 123:
+YY_RULE_SETUP
+#line 325 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TOK(CastOpVal, FPToSIOp, FPTOSI); }
+       YY_BREAK
+case 124:
+YY_RULE_SETUP
+#line 326 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TOK(CastOpVal, UIToFPOp, UITOFP); }
+       YY_BREAK
+case 125:
+YY_RULE_SETUP
+#line 327 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TOK(CastOpVal, SIToFPOp, SITOFP); }
+       YY_BREAK
+case 126:
+YY_RULE_SETUP
+#line 328 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TOK(CastOpVal, PtrToIntOp, PTRTOINT); }
+       YY_BREAK
+case 127:
+YY_RULE_SETUP
+#line 329 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TOK(CastOpVal, IntToPtrOp, INTTOPTR); }
+       YY_BREAK
+case 128:
+YY_RULE_SETUP
+#line 330 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TOK(CastOpVal, BitCastOp, BITCAST); }
+       YY_BREAK
+case 129:
+YY_RULE_SETUP
+#line 331 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TOK(OtherOpVal, SelectOp, SELECT); }
+       YY_BREAK
+case 130:
+YY_RULE_SETUP
+#line 332 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ return VANEXT_old; }
+       YY_BREAK
+case 131:
+YY_RULE_SETUP
+#line 333 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ return VAARG_old; }
+       YY_BREAK
+case 132:
+YY_RULE_SETUP
+#line 334 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TOK(OtherOpVal, VAArg , VAARG); }
+       YY_BREAK
+case 133:
+YY_RULE_SETUP
+#line 335 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TOK(TermOpVal, RetOp, RET); }
+       YY_BREAK
+case 134:
+YY_RULE_SETUP
+#line 336 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TOK(TermOpVal, BrOp, BR); }
+       YY_BREAK
+case 135:
+YY_RULE_SETUP
+#line 337 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TOK(TermOpVal, SwitchOp, SWITCH); }
+       YY_BREAK
+case 136:
+YY_RULE_SETUP
+#line 338 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TOK(TermOpVal, InvokeOp, INVOKE); }
+       YY_BREAK
+case 137:
+YY_RULE_SETUP
+#line 339 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ return UNWIND; }
+       YY_BREAK
+case 138:
+YY_RULE_SETUP
+#line 340 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TOK(TermOpVal, UnreachableOp, UNREACHABLE); }
+       YY_BREAK
+case 139:
+YY_RULE_SETUP
+#line 342 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TOK(MemOpVal, MallocOp, MALLOC); }
+       YY_BREAK
+case 140:
+YY_RULE_SETUP
+#line 343 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TOK(MemOpVal, AllocaOp, ALLOCA); }
+       YY_BREAK
+case 141:
+YY_RULE_SETUP
+#line 344 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TOK(MemOpVal, FreeOp, FREE); }
+       YY_BREAK
+case 142:
+YY_RULE_SETUP
+#line 345 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TOK(MemOpVal, LoadOp, LOAD); }
+       YY_BREAK
+case 143:
+YY_RULE_SETUP
+#line 346 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TOK(MemOpVal, StoreOp, STORE); }
+       YY_BREAK
+case 144:
+YY_RULE_SETUP
+#line 347 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TOK(MemOpVal, GetElementPtrOp, GETELEMENTPTR); }
+       YY_BREAK
+case 145:
+YY_RULE_SETUP
+#line 349 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TOK(OtherOpVal, ExtractElementOp, EXTRACTELEMENT); }
+       YY_BREAK
+case 146:
+YY_RULE_SETUP
+#line 350 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TOK(OtherOpVal, InsertElementOp, INSERTELEMENT); }
+       YY_BREAK
+case 147:
+YY_RULE_SETUP
+#line 351 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TOK(OtherOpVal, ShuffleVectorOp, SHUFFLEVECTOR); }
+       YY_BREAK
+case 148:
+YY_RULE_SETUP
+#line 354 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{
+                  UnEscapeLexed(yytext+1);
+                  Upgradelval.StrVal = strdup(yytext+1);             // Skip %
+                  return VAR_ID;
+                }
+       YY_BREAK
+case 149:
+YY_RULE_SETUP
+#line 359 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{
+                  yytext[strlen(yytext)-1] = 0;  // nuke colon
+                  UnEscapeLexed(yytext);
+                  Upgradelval.StrVal = strdup(yytext);
+                  return LABELSTR;
+                }
+       YY_BREAK
+case 150:
+YY_RULE_SETUP
+#line 365 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{
+                  yytext[strlen(yytext)-2] = 0;  // nuke colon, end quote
+                  UnEscapeLexed(yytext+1);
+                  Upgradelval.StrVal = strdup(yytext+1);
+                  return LABELSTR;
+                }
+       YY_BREAK
+case 151:
+YY_RULE_SETUP
+#line 372 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ // Note that we cannot unescape a string constant here!  The
+                   // string constant might contain a \00 which would not be
+                   // understood by the string stuff.  It is valid to make a
+                   // [sbyte] c"Hello World\00" constant, for example.
+                   //
+                   yytext[strlen(yytext)-1] = 0;           // nuke end quote
+                   Upgradelval.StrVal = strdup(yytext+1);  // Nuke start quote
+                   return STRINGCONSTANT;
+                 }
+       YY_BREAK
+case 152:
+YY_RULE_SETUP
+#line 383 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ Upgradelval.UInt64Val = atoull(yytext); return EUINT64VAL; }
+       YY_BREAK
+case 153:
+YY_RULE_SETUP
+#line 384 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{
+                  uint64_t Val = atoull(yytext+1);
+                  // +1:  we have bigger negative range
+                  if (Val > (uint64_t)INT64_MAX+1)
+                    error("Constant too large for signed 64 bits!");
+                  Upgradelval.SInt64Val = -Val;
+                  return ESINT64VAL;
+                }
+       YY_BREAK
+case 154:
+YY_RULE_SETUP
+#line 392 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{
+                   Upgradelval.UInt64Val = HexIntToVal(yytext+3);
+                   return yytext[0] == 's' ? ESINT64VAL : EUINT64VAL;
+                 }
+       YY_BREAK
+case 155:
+YY_RULE_SETUP
+#line 397 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{
+                  uint64_t Val = atoull(yytext+1);
+                  if ((unsigned)Val != Val)
+                    error("Invalid value number (too large)!");
+                  Upgradelval.UIntVal = unsigned(Val);
+                  return UINTVAL;
+                }
+       YY_BREAK
+case 156:
+YY_RULE_SETUP
+#line 404 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{
+                  uint64_t Val = atoull(yytext+2);
+                  // +1:  we have bigger negative range
+                  if (Val > (uint64_t)INT32_MAX+1)
+                    error("Constant too large for signed 32 bits!");
+                  Upgradelval.SIntVal = (int)-Val;
+                  return SINTVAL;
+                }
+       YY_BREAK
+case 157:
+YY_RULE_SETUP
+#line 413 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ Upgradelval.FPVal = atof(yytext); return FPVAL; }
+       YY_BREAK
+case 158:
+YY_RULE_SETUP
+#line 414 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ Upgradelval.FPVal = HexToFP(yytext); return FPVAL; }
        YY_BREAK
 case YY_STATE_EOF(INITIAL):
-#line 224 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
+#line 416 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
 {
                   /* Make sure to free the internal buffers for flex when we are
                    * done reading our input!
@@ -1735,22 +2180,22 @@ case YY_STATE_EOF(INITIAL):
                   return EOF;
                 }
        YY_BREAK
-case 116:
+case 159:
 YY_RULE_SETUP
-#line 232 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
+#line 424 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
 { /* Ignore whitespace */ }
        YY_BREAK
-case 117:
+case 160:
 YY_RULE_SETUP
-#line 233 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
+#line 425 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
 { return yytext[0]; }
        YY_BREAK
-case 118:
+case 161:
 YY_RULE_SETUP
-#line 235 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
+#line 427 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
 YY_FATAL_ERROR( "flex scanner jammed" );
        YY_BREAK
-#line 1754 "UpgradeLexer.cpp"
+#line 2199 "UpgradeLexer.cpp"
 
        case YY_END_OF_BUFFER:
                {
@@ -2037,7 +2482,7 @@ static yy_state_type yy_get_previous_state()
                while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
                        {
                        yy_current_state = (int) yy_def[yy_current_state];
-                       if ( yy_current_state >= 511 )
+                       if ( yy_current_state >= 620 )
                                yy_c = yy_meta[(unsigned int) yy_c];
                        }
                yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
@@ -2067,11 +2512,11 @@ yy_state_type yy_current_state;
        while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
                {
                yy_current_state = (int) yy_def[yy_current_state];
-               if ( yy_current_state >= 511 )
+               if ( yy_current_state >= 620 )
                        yy_c = yy_meta[(unsigned int) yy_c];
                }
        yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
-       yy_is_jam = (yy_current_state == 510);
+       yy_is_jam = (yy_current_state == 619);
        if ( ! yy_is_jam )
                *yy_state_ptr++ = yy_current_state;
 
@@ -2628,5 +3073,5 @@ int main()
        return 0;
        }
 #endif
-#line 235 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
+#line 427 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"