Use toplevel function pass manager as OnTheFly manager.
[oota-llvm.git] / tools / llvm-upgrade / UpgradeLexer.cpp.cvs
index c826cad3722718b324566759e7f578237c03e94a..68ae9a47c5a2dc2bcf34d1a5b75dd3635c0bcf91 100644 (file)
@@ -317,92 +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 116
-#define YY_END_OF_BUFFER 117
-static yyconst short int yy_acclist[194] =
+#define YY_NUM_RULES 161
+#define YY_END_OF_BUFFER 162
+static yyconst short int yy_acclist[241] =
     {   0,
-      117,  115,  116,  114,  115,  116,  114,  116,  115,  116,
-      115,  116,  115,  116,  115,  116,  115,  116,  115,  116,
-      107,  115,  116,  107,  115,  116,    1,  115,  116,  115,
-      116,  115,  116,  115,  116,  115,  116,  115,  116,  115,
-      116,  115,  116,  115,  116,  115,  116,  115,  116,  115,
-      116,  115,  116,  115,  116,  115,  116,  115,  116,  115,
-      116,  115,  116,  115,  116,  115,  116,  115,  116,  115,
-      116,  106,  104,  103,  103,  110,  108,  112,  107,    1,
-       89,   38,   72,   22,  106,  103,  103,  111,  112,   19,
-      112,  113,   60,   71,   36,   31,   39,   63,    3,   51,
-
-       62,   80,   67,   88,   84,   61,   73,  105,  112,  112,
-       86,   46,   81,   82,   66,   96,   70,   97,   53,   85,
-       21,  109,   65,   69,   23,    4,   58,   64,   52,   68,
-       45,   11,  112,   33,    2,    5,   55,   57,   47,   75,
-       79,   77,   78,   76,   74,   49,   98,   48,   54,   20,
-       95,   42,   56,   27,   41,    7,   91,   30,   94,   35,
-       59,   83,   90,   24,   25,   92,   50,   87,   40,    6,
-       26,   34,    8,   16,    9,   10,   32,   12,   14,   13,
-       29,   37,   15,   28,   93,   99,  101,  102,   43,  100,
-       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[507] =
+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,
-      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,  106,  106,  106,  106,  107,
-      107,  107,  107,  107,  107,  107,  107,  107,  107,  107,
-
-      107,  107,  107,  107,  107,  107,  107,  107,  107,  107,
-      108,  108,  109,  110,  110,  110,  110,  111,  111,  111,
-      111,  112,  112,  113,  114,  115,  115,  115,  115,  115,
-      115,  115,  115,  115,  115,  115,  115,  115,  115,  115,
-      116,  116,  117,  118,  118,  118,  118,  118,  118,  118,
-      118,  118,  118,  119,  120,  121,  121,  121,  122,  122,
-      122,  123,  123,  124,  124,  124,  124,  124,  124,  124,
-      124,  124,  124,  125,  125,  125,  126,  126,  126,  127,
-      128,  128,  129,  130,  130,  130,  130,  130,  131,  131,
-      131,  132,  132,  133,  133,  133,  134,  135,  135,  135,
-
-      136,  136,  136,  136,  136,  136,  136,  136,  136,  136,
-      136,  136,  136,  137,  137,  138,  138,  138,  138,  138,
-      138,  138,  139,  139,  139,  139,  139,  139,  139,  140,
-      140,  140,  141,  142,  143,  144,  145,  146,  147,  147,
-      147,  148,  148,  148,  148,  149,  150,  151,  151,  151,
-      151,  151,  151,  151,  151,  151,  152,  152,  153,  153,
-      153,  153,  153,  153,  153,  153,  154,  155,  155,  155,
-      156,  156,  157,  157,  157,  157,  158,  158,  159,  160,
-      161,  162,  162,  162,  163,  163,  163,  164,  165,  166,
-      166,  167,  168,  169,  169,  169,  169,  169,  169,  169,
-
-      170,  170,  171,  172,  172,  172,  172,  172,  172,  172,
+       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,  173,  174,  174,  174,  174,  174,  175,
-      175,  175,  175,  175,  176,  177,  177,  177,  177,  177,
-      178,  178,  178,  178,  179,  179,  180,  181,  181,  181,
-      181,  181,  181,  181,  181,  181,  181,  181,  181,  181,
-      182,  182,  182,  182,  182,  182,  182,  182,  183,  183,
-      183,  183,  183,  184,  184,  184,  184,  184,  185,  185,
-      186,  186,  186,  186,  186,  186,  186,  186,  186,  186,
-      186,  186,  186,  187,  187,  188,  189,  189,  190,  190,
-
-      191,  192,  193,  193,  194,  194
+      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] =
@@ -411,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,
@@ -437,393 +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[511] =
+static yyconst short int yy_base[630] =
     {   0,
-        0,    0, 1100, 1101, 1101, 1101, 1095, 1084,   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, 1093, 1101, 1082, 1101,
-        0,  159,  176,  199,  204,   95,  209,  224,  229,    0,
-      130,  165,  133,  120,  169,  151,  159,   31, 1081,  168,
-      143,  230,  189,  191,  233,  117,  145,  187,  241,  242,
-      244,  243,  246,  248,  250,  251,  253,  254,  176,  258,
-      263,  255,  270,  274,  271,  278,  283, 1080,  284,  287,
-      289,  290,  291,  294,  295,  296,  298,  292,  303,  309,
-
-      313,  316, 1079,  322,  304,  299,  325,  324,  330,  328,
-      331,  332,  213,  342,  334,  262,  343,  345, 1078,    0,
-      354,  362, 1077,  376,  393,    0, 1076,  356,  362, 1075,
-      368,  363, 1074,  369, 1073,  381,  383,  347, 1072,  394,
-      378,  388,  399,  395,  401, 1071,  405,  403,  406,  408,
-      411,  407,  308,  415,  412,  413,  425,  423,  426,  427,
-      424,  432,  113,  434,  437,  439,  440,  443,  444, 1070,
-      447,  446, 1069,  448, 1068, 1067,  473,  451,  452,  463,
-      455,  484, 1066,  467,  449,  485,  473,  487, 1065,  490,
-      491,  492,  496,  498,  500,  497,  502,  505,  504,  510,
-
-      514,  511,  516,  512,  517,  518,  529,  525,  456, 1064,
-      531, 1101,  539,  547,  554,  558,  563,  547,  565,  566,
-     1063,  567, 1062, 1061, 1060,  568,  569,  570,  571,  573,
-      574,  576,  579,  581,  577,  580,  585,  588,  591, 1059,
-      589, 1058, 1057,  594,  599,  602,  600,  605,  606,  607,
-      610,  608, 1056, 1055, 1054,  613,  614, 1053,  615,  617,
-        0,  616, 1052,  619,  627,  618,  624,  635,  636,  630,
-      641,  637, 1051,  643,  642, 1050,  648,  650, 1049, 1048,
-      654, 1047, 1046,  655,  659,  656,  660, 1045,  662,  664,
-     1044,  667, 1043,  670,  668,  675, 1042,  679,  678, 1041,
-
-      675,  688,  687,  691,  676,  689,  698,  699,  700,  702,
-      703,  701, 1040,  704, 1039,  705,  706,  707,  710,  712,
-      713, 1038,  715,  716,  724,  726,  727,  728, 1037,  730,
-      734, 1036, 1035, 1034, 1033, 1032, 1031, 1030,  738,  739,
-     1029,  740,  741,  742, 1028, 1027, 1026,  743,  746,  744,
-      745,  747,  758,  755,  759, 1025,  761, 1024,  762,  765,
-      766,  768,  769,  770,  771, 1023, 1022,  780,  773, 1021,
-      781, 1020,  783,  786,  782, 1019,  793, 1018, 1017, 1016,
-     1015,  790,  798, 1014,  799,  802, 1013, 1012, 1011,  801,
-     1010, 1009, 1008,  803,  804,  806,  807,  805,  809, 1007,
-
-      810, 1006, 1005,  816,  817,  819,  821,  824,  825,  823,
-      827,  829,  830,  831, 1004,  835,  841,  843,  846,  847,
-      849,  851,  852, 1003,  854,  857,  858,  859, 1002,  861,
-      862,  864,  866, 1001,  998,  869,  877,  865,  867,  988,
-      883,  884,  885,  987,  871,  986,  984,  888,  891,  892,
-      896,  895,  897,  899,  902,  903,  904,  905,  907,  983,
-      908,  913,  914,  916,  910,  921,  917,  982,  923,  927,
-      928,  931,  981,  935,  924,  936,  934,  977,  937,  976,
-      938,  941,  945,  950,  952,  954,  956,  957,  959,  961,
-      960,  962,  975,  963,  970,  775,  964,  533,  965,  454,
-
-      453,  261,  969,  216, 1101, 1004, 1006,  226, 1010,   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[511] =
+static yyconst short int yy_def[630] =
     {   0,
-      505,    1,  505,  505,  505,  505,  506,  507,  508,  505,
-      507,  507,  507,  507,  509,  507,  507,  507,  507,  507,
-      507,  507,  507,  507,  507,  507,  507,  507,  507,  507,
-      507,  507,  507,  507,  507,  507,  506,  505,  507,  505,
-      510,  510,  505,  505,  507,  507,  507,  507,  507,  509,
-      507,  507,  507,  507,  507,  507,  507,  507,  507,  507,
-      507,  507,  507,  507,  507,  507,  507,  507,  507,  507,
-      507,  507,  507,  507,  507,  507,  507,  507,  507,  507,
-      507,  507,  507,  507,  507,  507,  507,  507,  507,  507,
-      507,  507,  507,  507,  507,  507,  507,  507,  507,  507,
-
-      507,  507,  507,  507,  507,  507,  507,  507,  507,  507,
-      507,  507,  507,  507,  507,  507,  507,  507,  505,  510,
-      510,  505,  507,  507,  507,   49,  507,  507,  507,  507,
-      507,  507,  507,  507,  507,  507,  507,  507,  507,  507,
-      507,  507,  507,  507,  507,  507,  507,  507,  507,  507,
-      507,  507,  507,  507,  507,  507,  507,  507,  507,  507,
-      507,  507,  507,  507,  507,  507,  507,  507,  507,  507,
-      507,  507,  507,  507,  507,  507,   49,  507,  507,  507,
-      507,  507,  507,  507,  507,  507,  507,  507,  507,  507,
-      507,  507,  507,  507,  507,  507,  507,  507,  507,  507,
-
-      507,  507,  507,  507,  507,  507,  507,  507,  507,  507,
-      507,  505,  505,  505,  505,  507,  507,  507,  507,  507,
-      507,  507,  507,  507,  507,  507,  507,  507,  507,  507,
-      507,  507,  507,  507,  507,  507,  507,  507,  507,  507,
-      507,  507,  507,  507,  507,  507,  507,  507,  507,  507,
-      507,  507,  507,  507,  507,  507,  507,  507,  507,  507,
-      177,  507,  507,  507,  507,  507,  507,  507,  507,  507,
-      507,  507,  507,  507,  507,  507,  507,  507,  507,  507,
-      507,  507,  507,  507,  507,  507,  507,  507,  507,  507,
-      507,  507,  507,  507,  507,  505,  507,  507,  507,  507,
-
-      507,  507,  507,  507,  507,  507,  507,  507,  507,  507,
-      507,  507,  507,  507,  507,  507,  507,  507,  507,  507,
-      507,  507,  507,  507,  507,  507,  507,  507,  507,  507,
-      507,  507,  507,  507,  507,  507,  507,  507,  507,  507,
-      507,  507,  507,  507,  507,  507,  507,  507,  507,  507,
-      507,  507,  507,  507,  507,  507,  507,  507,  507,  507,
-      507,  507,  507,  507,  507,  507,  507,  507,  507,  507,
-      507,  507,  507,  507,  507,  507,  507,  507,  507,  507,
-      507,  507,  507,  507,  507,  507,  507,  507,  507,  507,
-      507,  507,  507,  507,  507,  507,  507,  507,  507,  507,
-
-      507,  507,  507,  507,  507,  507,  507,  507,  507,  507,
-      507,  507,  507,  507,  507,  507,  507,  507,  507,  507,
-      507,  507,  507,  507,  507,  507,  507,  507,  507,  507,
-      507,  507,  507,  507,  507,  507,  507,  507,  507,  507,
-      507,  507,  507,  507,  507,  507,  507,  507,  507,  507,
-      507,  507,  507,  507,  507,  507,  507,  507,  507,  507,
-      507,  507,  507,  507,  507,  507,  507,  507,  507,  507,
-      507,  507,  507,  507,  507,  507,  507,  507,  507,  507,
-      507,  507,  507,  507,  507,  507,  507,  507,  507,  507,
-      507,  507,  507,  507,  507,  507,  507,  507,  507,  507,
-
-      507,  507,  507,  507,    0,  505,  505,  505,  505,  505
+      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[1145] =
+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,
-      251,   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,  162,  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,
-      205,  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,   40,   40,  145,   40,   40,   40,  153,
-      155,   40,  151,  209,   40,   40,   40,  154,  150,  152,
-      167,  165,  157,   40,   40,  158,  156,   40,  163,  159,
-      160,   40,  161,  166,  164,  169,   40,   40,  168,  170,
-
-       40,  172,   40,   40,   40,   40,  171,   40,   40,   40,
-      173,   40,   40,  174,  187,  180,   40,   40,  175,  186,
-      179,   40,   40,  181,  183,  176,   40,  184,  189,   40,
-      177,  182,  178,  185,  188,   40,  195,   40,   40,  190,
-      196,   40,  191,   40,   40,   40,  240,   40,  193,  200,
-      192,  197,  208,  203,  198,   40,   40,  204,   40,  194,
-       40,  199,  201,  121,  121,  121,  121,  202,  206,   40,
-      207,  213,  213,  213,  213,   40,   40,  210,  214,  211,
-      218,   40,   40,  225,  214,  124,  124,  124,  124,   40,
-      220,   40,  125,  219,   40,  222,   40,  221,  125,  215,
-
-      216,   40,  217,  217,  217,  217,   40,   40,   40,  223,
-      228,  224,   40,  227,   40,  226,   40,  229,   40,   40,
-       40,   40,  234,  230,   40,   40,   40,  232,   40,  231,
-      236,  233,  235,  241,  242,  244,   40,   40,   40,   40,
-       40,  243,  237,  239,  245,   40,  238,   40,  247,  248,
-       40,  246,   40,   40,  250,  249,   40,   40,  253,   40,
-       40,   40,   40,  254,   40,   40,   40,   40,   40,   40,
-      252,  256,  271,  294,  255,  258,   40,  265,  260,  259,
-       40,  257,  261,  261,  261,  261,   40,  262,  261,  261,
-      263,  261,  261,  261,  261,  261,  261,   40,   40,  264,
-
-       40,  270,  273,   40,   40,   40,  266,  272,  267,   40,
-       40,   40,  268,   40,  269,   40,  277,   40,   40,  276,
-      279,  274,  280,   40,   40,   40,  275,   40,  278,   40,
-       40,   40,  285,  281,  284,  290,  286,  287,   40,  291,
-      282,  283,   40,  289,   40,  288,   40,  292,  213,  213,
-      213,  213,  293,  215,  215,  214,  296,  296,  296,  296,
-       40,  214,  295,  296,  296,  296,  296,  217,  217,  217,
-      217,   40,  217,  217,  217,  217,   40,  297,   40,   40,
-       40,   40,   40,   40,   40,  298,   40,   40,  301,   40,
-       40,  305,   40,   40,   40,  310,  299,  300,   40,  304,
-
-      306,   40,   40,  312,   40,  302,  303,   40,  308,  309,
-      313,  314,   40,   40,  311,   40,  307,  317,   40,   40,
-       40,   40,  316,   40,  318,  315,   40,   40,   40,   40,
-       40,   40,   40,  321,  319,  322,  324,   40,  329,  320,
-       40,  323,  326,   40,  325,  330,  333,  331,   40,   40,
-       40,  332,  327,  328,   40,   40,   40,  335,  337,  340,
-      334,   40,  342,   40,  339,  341,  338,   40,   40,   40,
-      343,  336,   40,   40,  348,   40,  345,   40,  344,  346,
-       40,   40,  347,   40,  296,  296,  296,  296,   40,   40,
-      349,   40,   40,  353,  355,  358,  350,  356,  351,  357,
-
-       40,   40,   40,  352,   40,  354,  359,  360,  363,  361,
-      362,   40,   40,   40,   40,   40,   40,   40,   40,   40,
-       40,  369,  366,   40,  370,   40,   40,  371,   40,   40,
-      364,  365,  367,  368,  372,  376,  373,   40,  378,   40,
-       40,   40,  375,   40,  379,  377,  374,   40,  380,  381,
-      382,   40,   40,   40,   40,   40,   40,   40,   40,   40,
-       40,  383,  386,  390,  389,  387,  385,  391,   40,  393,
-      384,   40,   40,  394,   40,   40,  395,  388,   40,   40,
-      392,   40,   40,   40,   40,  400,   40,  398,   40,  397,
-      402,  396,  399,   40,   40,   40,   40,  406,  407,   40,
-
-      412,  404,  405,   40,  403,  410,   40,  401,  411,  408,
-      409,   40,   40,  413,   40,   40,   40,   40,   40,   40,
-       40,  416,   40,   40,  414,  417,  418,  421,  415,   40,
-       40,  419,   40,  422,   40,  423,   40,   40,   40,  420,
-       40,  425,   40,   40,   40,  424,  430,  431,   40,  429,
-      426,  427,  435,  432,   40,  433,   40,  434,  428,   40,
-       40,  439,   40,  438,   40,   40,  436,   40,  440,  442,
-       40,   40,   40,  437,   40,   40,  444,   40,   40,   40,
-       40,  448,   40,  441,   40,  455,  456,  443,  452,  449,
-       40,  445,  450,  446,  447,  453,   40,   40,   40,  454,
-
-      451,   40,  458,  457,   40,   40,  461,  460,   40,   40,
-       40,  459,   40,  462,  464,   40,   40,   40,   40,  467,
-       40,   40,  470,   40,  465,  472,   40,   40,  463,   40,
-       40,  469,  477,  471,   40,  473,   40,   40,  468,  466,
-       40,   40,  474,  478,   40,  480,  475,   40,   40,   40,
-       40,   40,  476,  479,   40,  481,  482,  484,   40,  483,
-      485,  490,  486,   40,  487,   40,  489,   40,  488,   40,
-       40,  491,   40,   40,   40,   40,   40,   40,   40,  497,
-      492,  498,   40,   40,  502,  494,  493,  503,   40,   40,
-       40,  496,  495,  501,   40,   40,   40,   40,  500,   40,
-
-       40,   40,  499,  504,   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,  212,   40,   40,   40,   40,  119,   40,   38,  505,
-
-        3,  505,  505,  505,  505,  505,  505,  505,  505,  505,
-      505,  505,  505,  505,  505,  505,  505,  505,  505,  505,
-      505,  505,  505,  505,  505,  505,  505,  505,  505,  505,
-      505,  505,  505,  505,  505,  505,  505,  505,  505,  505,
-      505,  505,  505,  505
+       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[1145] =
+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,  510,   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,  163,   24,   21,   25,
-       66,   24,   33,   54,   21,   28,   34,   33,   36,   31,
-      163,   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,  508,  504,
-      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,   70,   72,   71,   62,   73,
-       62,   74,   69,   75,   76,   65,   77,   78,   82,   72,
-       74,   80,   71,  116,  502,  116,   81,   73,   70,   71,
-       82,   81,   76,   83,   85,   77,   75,   84,   80,   78,
-       78,   86,   78,   81,   80,   84,   87,   89,   83,   85,
-
-       90,   87,   91,   92,   93,   98,   86,   94,   95,   96,
-       89,   97,  106,   90,   98,   95,   99,  105,   91,   97,
-       94,  153,  100,   95,   96,   91,  101,   96,  100,  102,
-       92,   95,   93,   96,   99,  104,  105,  108,  107,  101,
-      106,  110,  102,  109,  111,  112,  153,  115,  104,  110,
-      102,  107,  115,  111,  108,  114,  117,  112,  118,  104,
-      138,  109,  110,  121,  121,  121,  121,  110,  114,  128,
-      114,  122,  122,  122,  122,  129,  132,  117,  122,  118,
-      128,  131,  134,  138,  122,  124,  124,  124,  124,  124,
-      131,  141,  124,  129,  136,  134,  137,  132,  124,  125,
-
-      125,  142,  125,  125,  125,  125,  125,  140,  144,  136,
-      142,  137,  143,  141,  145,  140,  148,  143,  147,  149,
-      152,  150,  148,  144,  151,  155,  156,  147,  154,  145,
-      150,  147,  149,  154,  155,  156,  158,  161,  157,  159,
-      160,  155,  150,  152,  157,  162,  151,  164,  159,  160,
-      165,  158,  166,  167,  162,  161,  168,  169,  165,  172,
-      171,  174,  185,  166,  178,  179,  501,  500,  181,  209,
-      164,  168,  185,  209,  167,  171,  180,  181,  174,  172,
-      184,  169,  177,  177,  177,  177,  187,  178,  177,  177,
-      179,  177,  177,  177,  177,  177,  177,  182,  186,  180,
-
-      188,  184,  187,  190,  191,  192,  182,  186,  182,  193,
-      196,  194,  182,  195,  182,  197,  192,  199,  198,  191,
-      194,  188,  195,  200,  202,  204,  190,  201,  193,  203,
-      205,  206,  200,  196,  199,  205,  201,  202,  208,  206,
-      197,  198,  207,  204,  211,  203,  498,  207,  213,  213,
-      213,  213,  208,  214,  214,  213,  214,  214,  214,  214,
-      218,  213,  211,  215,  215,  215,  215,  216,  216,  216,
-      216,  216,  217,  217,  217,  217,  217,  218,  219,  220,
-      222,  226,  227,  228,  229,  219,  230,  231,  226,  232,
-      235,  230,  233,  236,  234,  235,  220,  222,  237,  229,
-
-      231,  238,  241,  237,  239,  227,  228,  244,  233,  234,
-      238,  239,  245,  247,  236,  246,  232,  245,  248,  249,
-      250,  252,  244,  251,  246,  241,  256,  257,  259,  262,
-      260,  266,  264,  249,  247,  250,  252,  267,  262,  248,
-      265,  251,  257,  270,  256,  264,  267,  265,  268,  269,
-      272,  266,  259,  260,  271,  275,  274,  268,  269,  272,
-      267,  277,  275,  278,  271,  274,  270,  281,  284,  286,
-      277,  268,  285,  287,  286,  289,  281,  290,  278,  284,
-      292,  295,  285,  294,  296,  296,  296,  296,  301,  305,
-      287,  299,  298,  294,  295,  301,  289,  298,  290,  299,
-
-      303,  302,  306,  292,  304,  294,  302,  303,  306,  304,
-      305,  307,  308,  309,  312,  310,  311,  314,  316,  317,
-      318,  312,  309,  319,  314,  320,  321,  316,  323,  324,
-      307,  308,  310,  311,  317,  321,  318,  325,  324,  326,
-      327,  328,  320,  330,  325,  323,  319,  331,  326,  327,
-      328,  339,  340,  342,  343,  344,  348,  350,  351,  349,
-      352,  330,  340,  348,  344,  342,  339,  349,  354,  351,
-      331,  353,  355,  352,  357,  359,  353,  343,  360,  361,
-      350,  362,  363,  364,  365,  360,  369,  357,  496,  355,
-      362,  354,  359,  368,  371,  375,  373,  368,  368,  374,
-
-      375,  364,  365,  382,  363,  373,  377,  361,  374,  369,
-      371,  383,  385,  377,  390,  386,  394,  395,  398,  396,
-      397,  385,  399,  401,  382,  386,  390,  396,  383,  404,
-      405,  394,  406,  397,  407,  398,  410,  408,  409,  395,
-      411,  401,  412,  413,  414,  399,  408,  409,  416,  407,
-      404,  405,  413,  410,  417,  411,  418,  412,  406,  419,
-      420,  418,  421,  417,  422,  423,  414,  425,  419,  421,
-      426,  427,  428,  416,  430,  431,  423,  432,  438,  433,
-      439,  428,  436,  420,  445,  438,  439,  422,  433,  430,
-      437,  425,  431,  426,  427,  436,  441,  442,  443,  437,
-
-      432,  448,  442,  441,  449,  450,  448,  445,  452,  451,
-      453,  443,  454,  449,  451,  455,  456,  457,  458,  454,
-      459,  461,  457,  465,  452,  459,  462,  463,  450,  464,
-      467,  456,  465,  458,  466,  461,  469,  475,  455,  453,
-      470,  471,  462,  466,  472,  469,  463,  477,  474,  476,
-      479,  481,  464,  467,  482,  470,  471,  474,  483,  472,
-      475,  482,  476,  484,  477,  485,  481,  486,  479,  487,
-      488,  483,  489,  491,  490,  492,  494,  497,  499,  489,
-      484,  490,  503,  495,  497,  486,  485,  499,  493,  480,
-      478,  488,  487,  494,  473,  468,  460,  447,  492,  446,
-
-      444,  440,  491,  503,  506,  506,  506,  506,  507,  507,
-      509,  435,  509,  509,  434,  429,  424,  415,  403,  402,
-      400,  393,  392,  391,  389,  388,  387,  384,  381,  380,
-      379,  378,  376,  372,  370,  367,  366,  358,  356,  347,
-      346,  345,  341,  338,  337,  336,  335,  334,  333,  332,
-      329,  322,  315,  313,  300,  297,  293,  291,  288,  283,
-      282,  280,  279,  276,  273,  263,  258,  255,  254,  253,
-      243,  242,  240,  225,  224,  223,  221,  210,  189,  183,
-      176,  175,  173,  170,  146,  139,  135,  133,  130,  127,
-      123,  119,  103,   88,   59,   39,   37,    8,    7,    3,
-
-      505,  505,  505,  505,  505,  505,  505,  505,  505,  505,
-      505,  505,  505,  505,  505,  505,  505,  505,  505,  505,
-      505,  505,  505,  505,  505,  505,  505,  505,  505,  505,
-      505,  505,  505,  505,  505,  505,  505,  505,  505,  505,
-      505,  505,  505,  505
+        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;
@@ -840,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++ -*--===//
 //
@@ -855,20 +949,14 @@ char *yytext;
 //
 //===----------------------------------------------------------------------===*/
 #define YY_NEVER_INTERACTIVE 1
-#line 28 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-
-#include "ParserInternals.h"
-#define YYSTYPE std::string*
+#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>
 
-static void trim(std::string& str) {
-  size_t startpos = str.find_first_not_of(" \t\n\r",0);
-  if (startpos != std::string::npos)
-    str.erase(0,startpos);
-}
-
 #define YY_INPUT(buf,result,max_size) \
 { \
   if (LexInput->good() && !LexInput->eof()) { \
@@ -879,14 +967,113 @@ static void trim(std::string& str) {
   } \
 }
 
+#define YY_NEVER_INTERACTIVE 1
 
 // Construct a token value for a non-obsolete token
-#define RET_TOK(sym) \
-  Upgradelval = new std::string(yytext); \
-  trim(*Upgradelval); \
+#define RET_TOK(type, Enum, sym) \
+  Upgradelval.type = Enum; \
   return sym
 
-#define YY_NEVER_INTERACTIVE 1
+#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
+
+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 */
@@ -903,7 +1090,7 @@ static void trim(std::string& str) {
 /* HexIntConstant - Hexadecimal constant generated by the CFE to avoid forcing
  * it to deal with 64 bit numbers.
  */
-#line 907 "UpgradeLexer.cpp"
+#line 1094 "UpgradeLexer.cpp"
 
 /* Macros after this point can all be overridden by user definitions in
  * section 1.
@@ -1054,10 +1241,10 @@ YY_DECL
        register char *yy_cp = NULL, *yy_bp = NULL;
        register int yy_act;
 
-#line 101 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
+#line 194 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
 
 
-#line 1061 "UpgradeLexer.cpp"
+#line 1248 "UpgradeLexer.cpp"
 
        if ( yy_init )
                {
@@ -1105,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 >= 506 )
+                               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 != 505 );
+               while ( yy_current_state != 619 );
 
 yy_find_action:
                yy_current_state = *--yy_state_ptr;
@@ -1150,571 +1337,841 @@ do_action:    /* This label is used only to access EOF actions. */
        { /* beginning of action switch */
 case 1:
 YY_RULE_SETUP
-#line 103 "/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 105 "/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 106 "/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 107 "/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 108 "/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 109 "/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 110 "/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 111 "/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 112 "/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 113 "/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 114 "/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 115 "/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 116 "/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 117 "/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 118 "/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 119 "/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 120 "/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 121 "/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 122 "/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 123 "/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 124 "/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 125 "/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 126 "/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 127 "/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 128 "/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 129 "/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 130 "/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 131 "/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 132 "/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 133 "/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 134 "/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 135 "/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 136 "/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 137 "/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 138 "/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 139 "/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 140 "/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 142 "/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 143 "/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 144 "/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 145 "/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 146 "/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 147 "/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 148 "/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 150 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( VOID); }
+#line 242 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ return COLDCC_TOK; }
        YY_BREAK
 case 46:
 YY_RULE_SETUP
-#line 151 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( BOOL); }
+#line 243 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ return X86_STDCALLCC_TOK; }
        YY_BREAK
 case 47:
 YY_RULE_SETUP
-#line 152 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( SBYTE); }
+#line 244 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ return X86_FASTCALLCC_TOK; }
        YY_BREAK
 case 48:
 YY_RULE_SETUP
-#line 153 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( UBYTE); }
+#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 154 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( SHORT); }
+#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 155 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( USHORT); }
+#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 156 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( INT);   }
+#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 157 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( UINT);  }
+#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 158 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( LONG);  }
+#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 159 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( ULONG); }
+#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 160 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( FLOAT); }
+#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 161 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( DOUBLE); }
+#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 162 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( LABEL); }
+#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 163 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( TYPE);   }
+#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 164 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( OPAQUE); }
+#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 166 "/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 167 "/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 168 "/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 169 "/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 170 "/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 171 "/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 172 "/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 173 "/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 174 "/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 175 "/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 176 "/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 177 "/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 178 "/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 179 "/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 180 "/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 181 "/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 182 "/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 183 "/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 184 "/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 185 "/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 187 "/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 188 "/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 189 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( TRUNC); }
+#line 281 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TOK(BinaryOpVal, SetNE, SETNE); }
        YY_BREAK
 case 83:
 YY_RULE_SETUP
-#line 190 "/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 191 "/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 192 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( LSHR); }
+#line 284 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TOK(BinaryOpVal, SetGT, SETGT); }
        YY_BREAK
 case 86:
 YY_RULE_SETUP
-#line 193 "/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 194 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( VAARG); }
+#line 286 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TOK(BinaryOpVal, SetGE, SETGE); }
        YY_BREAK
 case 88:
 YY_RULE_SETUP
-#line 195 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( RET); }
+#line 287 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TOK(BinaryOpVal, ShlOp, SHL); }
        YY_BREAK
 case 89:
 YY_RULE_SETUP
-#line 196 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( BR); }
+#line 288 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TOK(BinaryOpVal, ShrOp, SHR); }
        YY_BREAK
 case 90:
 YY_RULE_SETUP
-#line 197 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( SWITCH); }
+#line 289 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TOK(BinaryOpVal, LShrOp, LSHR); }
        YY_BREAK
 case 91:
 YY_RULE_SETUP
-#line 198 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( INVOKE); }
+#line 290 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TOK(BinaryOpVal, AShrOp, ASHR); }
        YY_BREAK
 case 92:
 YY_RULE_SETUP
-#line 199 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( UNWIND); }
+#line 292 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TOK(OtherOpVal, ICmpOp, ICMP); }
        YY_BREAK
 case 93:
 YY_RULE_SETUP
-#line 200 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( UNREACHABLE); }
+#line 293 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TOK(OtherOpVal, FCmpOp, FCMP); }
        YY_BREAK
 case 94:
 YY_RULE_SETUP
-#line 202 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( MALLOC); }
+#line 295 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ return EQ; }
        YY_BREAK
 case 95:
 YY_RULE_SETUP
-#line 203 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( ALLOCA); }
+#line 296 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ return NE; }
        YY_BREAK
 case 96:
 YY_RULE_SETUP
-#line 204 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( FREE); }
+#line 297 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ return SLT; }
        YY_BREAK
 case 97:
 YY_RULE_SETUP
-#line 205 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( LOAD); }
+#line 298 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ return SGT; }
        YY_BREAK
 case 98:
 YY_RULE_SETUP
-#line 206 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( STORE); }
+#line 299 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ return SLE; }
        YY_BREAK
 case 99:
 YY_RULE_SETUP
-#line 207 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( GETELEMENTPTR); }
+#line 300 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ return SGE; }
        YY_BREAK
 case 100:
 YY_RULE_SETUP
-#line 209 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( EXTRACTELEMENT); }
+#line 301 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ return ULT; }
        YY_BREAK
 case 101:
 YY_RULE_SETUP
-#line 210 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( INSERTELEMENT); }
+#line 302 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ return UGT; }
        YY_BREAK
 case 102:
 YY_RULE_SETUP
-#line 211 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( SHUFFLEVECTOR); }
+#line 303 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ return ULE; }
        YY_BREAK
 case 103:
 YY_RULE_SETUP
-#line 214 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( VAR_ID); }
+#line 304 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ return UGE; }
        YY_BREAK
 case 104:
 YY_RULE_SETUP
-#line 215 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( LABELSTR); }
+#line 305 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ return OEQ; }
        YY_BREAK
 case 105:
 YY_RULE_SETUP
-#line 216 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( LABELSTR); }
+#line 306 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ return ONE; }
        YY_BREAK
 case 106:
 YY_RULE_SETUP
-#line 217 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( STRINGCONSTANT ); }
+#line 307 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ return OLT; }
        YY_BREAK
 case 107:
 YY_RULE_SETUP
-#line 218 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( EUINT64VAL ); }
+#line 308 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ return OGT; }
        YY_BREAK
 case 108:
 YY_RULE_SETUP
-#line 219 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( ESINT64VAL ); }
+#line 309 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ return OLE; }
        YY_BREAK
 case 109:
 YY_RULE_SETUP
-#line 220 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( yytext[0] == 's' ? ESINT64VAL : EUINT64VAL ); }
+#line 310 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ return OGE; }
        YY_BREAK
 case 110:
 YY_RULE_SETUP
-#line 221 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( UINTVAL); }
+#line 311 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ return ORD; }
        YY_BREAK
 case 111:
 YY_RULE_SETUP
-#line 222 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( SINTVAL); }
+#line 312 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ return UNO; }
        YY_BREAK
 case 112:
 YY_RULE_SETUP
-#line 223 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( FPVAL); }
+#line 313 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ return UEQ; }
        YY_BREAK
 case 113:
 YY_RULE_SETUP
-#line 224 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( FPVAL); }
+#line 314 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"
+{ return UNE; }
+       YY_BREAK
+case 114:
+YY_RULE_SETUP
+#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 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 225 "/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!
@@ -1723,22 +2180,22 @@ case YY_STATE_EOF(INITIAL):
                   return EOF;
                 }
        YY_BREAK
-case 114:
+case 159:
 YY_RULE_SETUP
-#line 233 "/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 115:
+case 160:
 YY_RULE_SETUP
-#line 234 "/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 116:
+case 161:
 YY_RULE_SETUP
-#line 236 "/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 1742 "UpgradeLexer.cpp"
+#line 2199 "UpgradeLexer.cpp"
 
        case YY_END_OF_BUFFER:
                {
@@ -2025,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 >= 506 )
+                       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];
@@ -2055,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 >= 506 )
+               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 == 505);
+       yy_is_jam = (yy_current_state == 619);
        if ( ! yy_is_jam )
                *yy_state_ptr++ = yy_current_state;
 
@@ -2616,5 +3073,5 @@ int main()
        return 0;
        }
 #endif
-#line 236 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
+#line 427 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l"