Allow the new cast instructions.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32104 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/tools/llvm-upgrade/UpgradeLexer.cpp b/tools/llvm-upgrade/UpgradeLexer.cpp
index de1ffbf..b35c029 100644
--- a/tools/llvm-upgrade/UpgradeLexer.cpp
+++ b/tools/llvm-upgrade/UpgradeLexer.cpp
@@ -317,35 +317,36 @@
 	*yy_cp = '\0'; \
 	yy_c_buf_p = yy_cp;
 
-#define YY_NUM_RULES 118
-#define YY_END_OF_BUFFER 119
-static yyconst short int yy_acclist[196] =
+#define YY_NUM_RULES 130
+#define YY_END_OF_BUFFER 131
+static yyconst short int yy_acclist[208] =
     {   0,
-      119,  117,  118,  116,  117,  118,  116,  118,  117,  118,
-      117,  118,  117,  118,  117,  118,  117,  118,  117,  118,
-      109,  117,  118,  109,  117,  118,    1,  117,  118,  117,
-      118,  117,  118,  117,  118,  117,  118,  117,  118,  117,
-      118,  117,  118,  117,  118,  117,  118,  117,  118,  117,
-      118,  117,  118,  117,  118,  117,  118,  117,  118,  117,
-      118,  117,  118,  117,  118,  117,  118,  117,  118,  117,
-      118,  108,  106,  105,  105,  112,  110,  114,  109,    1,
-       90,   38,   72,   22,  108,  105,  105,  113,  114,   19,
-      114,  115,   60,   71,   36,   31,   39,   63,    3,   51,
+      131,  129,  130,  128,  129,  130,  128,  130,  129,  130,
+      129,  130,  129,  130,  129,  130,  129,  130,  129,  130,
+      121,  129,  130,  121,  129,  130,    1,  129,  130,  129,
+      130,  129,  130,  129,  130,  129,  130,  129,  130,  129,
+      130,  129,  130,  129,  130,  129,  130,  129,  130,  129,
+      130,  129,  130,  129,  130,  129,  130,  129,  130,  129,
+      130,  129,  130,  129,  130,  129,  130,  129,  130,  129,
+      130,  120,  118,  117,  117,  124,  122,  126,  121,    1,
+      102,   38,   72,   22,  120,  117,  117,  125,  126,   19,
+      126,  127,   60,   71,   36,   31,   39,   63,    3,   51,
 
-       62,   80,   67,   89,   84,   85,   61,   73,  107,  114,
-      114,   86,   46,   81,   82,   66,   98,   70,   99,   53,
-       87,   21,  111,   65,   69,   23,    4,   59,   64,   52,
-       68,   45,   11,  114,   33,    2,    5,   55,   57,   47,
-       75,   79,   77,   78,   76,   74,   49,  100,   48,   54,
-       20,   97,   42,   56,   27,   94,   41,    7,   92,   30,
-       96,   35,   58,   83,   91,   24,   25,   93,   50,   88,
-       40,    6,   26,   34,    8,   16,    9,   10,   32,   12,
-       14,   13,   29,   37,   15,   28,   95,  101,  103,  104,
-       43,  102,   17,   44,   18
+       62,   80,   67,  101,   96,   97,   61,   73,  119,  126,
+      126,   98,   46,   81,   82,   66,  110,   70,  111,   53,
+       99,   21,  123,   65,   85,   69,   23,    4,   59,   64,
+       52,   68,   45,   11,   84,  126,   33,    2,    5,   55,
+       87,   57,   47,   75,   79,   77,   78,   76,   74,   49,
+      112,   83,   48,   54,   20,  109,   42,   56,   27,  106,
+       41,   89,   88,    7,  104,   30,  108,   35,   58,   95,
+       91,  103,   24,   25,   90,  105,   50,  100,   94,   40,
+        6,   26,   86,   34,    8,   16,    9,   93,   10,   92,
+       32,   12,   14,   13,   29,   37,   15,   28,  107,  113,
 
+      115,  116,   43,  114,   17,   44,   18
     } ;
 
-static yyconst short int yy_accept[512] =
+static yyconst short int yy_accept[557] =
     {   0,
         1,    1,    1,    2,    4,    7,    9,   11,   13,   15,
        17,   19,   21,   24,   27,   30,   32,   34,   36,   38,
@@ -355,55 +356,59 @@
        81,   81,   81,   81,   81,   81,   81,   81,   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,
+       83,   83,   83,   83,   83,   83,   83,   83,   83,   84,
        84,   84,   84,   84,   84,   84,   84,   84,   84,   84,
 
-       84,   84,   84,   85,   85,   85,   85,   85,   85,   85,
-       85,   85,   85,   85,   85,   85,   85,   85,   85,   86,
-       87,   89,   90,   91,   92,   92,   93,   94,   94,   94,
-       95,   95,   95,   96,   96,   97,   97,   97,   97,   98,
-       98,   98,   98,   98,   98,   98,   99,   99,   99,  100,
-      100,  100,  100,  100,  100,  100,  100,  100,  100,  100,
-      100,  101,  101,  101,  101,  101,  101,  101,  101,  101,
-      101,  102,  102,  102,  103,  103,  104,  105,  105,  105,
-      105,  105,  105,  105,  106,  106,  107,  107,  107,  107,
-      107,  108,  108,  108,  108,  108,  108,  108,  108,  108,
+       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,   97,   98,   98,   98,   98,   98,   98,   98,   99,
+       99,   99,  100,  100,  100,  100,  100,  100,  100,  100,
+      100,  100,  100,  100,  100,  100,  101,  101,  101,  101,
+      101,  101,  101,  101,  101,  101,  102,  102,  102,  103,
+      103,  103,  104,  105,  105,  105,  105,  105,  105,  105,
+      105,  106,  106,  107,  107,  107,  107,  107,  107,  108,
 
       108,  108,  108,  108,  108,  108,  108,  108,  108,  108,
-      108,  108,  109,  109,  110,  111,  111,  111,  111,  112,
-      112,  112,  112,  113,  113,  114,  115,  116,  116,  116,
+      108,  108,  108,  108,  108,  108,  108,  108,  108,  108,
+      108,  109,  109,  109,  110,  111,  111,  111,  111,  112,
+      112,  112,  112,  113,  113,  113,  114,  115,  116,  116,
       116,  116,  116,  116,  116,  116,  116,  116,  116,  116,
-      116,  116,  116,  117,  117,  118,  119,  119,  119,  119,
-      119,  119,  119,  119,  119,  119,  120,  121,  122,  122,
-      122,  123,  123,  123,  124,  124,  125,  125,  125,  125,
-      125,  125,  125,  125,  125,  125,  126,  126,  126,  127,
-      127,  127,  128,  129,  129,  130,  131,  131,  131,  131,
-      131,  132,  132,  132,  133,  133,  134,  134,  134,  135,
+      116,  116,  116,  116,  117,  117,  117,  117,  117,  118,
+      119,  119,  119,  119,  119,  119,  119,  119,  119,  119,
+      119,  120,  121,  122,  122,  122,  123,  123,  123,  123,
+      124,  124,  125,  125,  125,  125,  125,  125,  125,  126,
+      126,  126,  126,  126,  127,  127,  127,  128,  128,  128,
 
-      136,  136,  136,  137,  137,  137,  137,  137,  137,  137,
-      137,  137,  137,  137,  137,  137,  137,  138,  138,  139,
-      139,  139,  139,  139,  139,  139,  140,  140,  140,  140,
-      140,  140,  140,  141,  141,  141,  142,  143,  144,  145,
-      146,  147,  148,  148,  148,  149,  149,  149,  149,  150,
-      151,  152,  152,  152,  152,  152,  152,  152,  152,  152,
-      153,  153,  154,  154,  154,  154,  154,  154,  154,  154,
-      155,  156,  157,  157,  157,  158,  158,  159,  159,  159,
-      159,  160,  160,  161,  162,  163,  164,  164,  164,  165,
-      165,  165,  166,  167,  168,  168,  169,  170,  171,  171,
+      129,  129,  130,  130,  131,  132,  132,  132,  132,  132,
+      132,  133,  133,  133,  134,  134,  135,  135,  135,  136,
+      137,  138,  138,  138,  139,  139,  139,  139,  139,  139,
+      139,  139,  139,  139,  139,  139,  139,  139,  139,  140,
+      140,  141,  142,  142,  142,  142,  142,  142,  142,  142,
+      142,  142,  142,  143,  143,  143,  143,  143,  143,  143,
+      143,  144,  144,  144,  145,  146,  147,  148,  149,  150,
+      151,  151,  151,  151,  152,  152,  152,  152,  153,  154,
+      154,  155,  156,  156,  156,  156,  156,  156,  156,  156,
+      156,  157,  157,  157,  158,  158,  158,  158,  158,  158,
 
-      171,  171,  171,  171,  171,  172,  172,  173,  174,  174,
-      174,  174,  174,  174,  174,  174,  174,  174,  174,  174,
-      175,  175,  175,  175,  175,  175,  175,  175,  175,  176,
-      176,  176,  176,  176,  177,  177,  177,  177,  177,  178,
-      179,  179,  179,  179,  179,  180,  180,  180,  180,  181,
-      181,  182,  183,  183,  183,  183,  183,  183,  183,  183,
-      183,  183,  183,  183,  183,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  185,  185,  185,  185,  186,  186,
-      186,  186,  186,  187,  187,  188,  188,  188,  188,  188,
-      188,  188,  188,  188,  188,  188,  188,  188,  189,  189,
+      158,  158,  159,  160,  161,  161,  161,  162,  163,  164,
+      164,  164,  165,  165,  165,  165,  165,  166,  166,  167,
+      168,  169,  170,  170,  170,  170,  171,  171,  171,  172,
+      173,  174,  175,  176,  176,  177,  178,  179,  179,  179,
+      179,  179,  179,  180,  180,  181,  181,  182,  183,  183,
+      183,  183,  183,  183,  184,  184,  184,  184,  184,  184,
+      184,  184,  184,  185,  185,  185,  185,  185,  185,  185,
+      185,  185,  186,  186,  186,  186,  186,  187,  187,  187,
+      187,  187,  188,  189,  190,  190,  191,  191,  191,  191,
+      192,  192,  192,  192,  193,  193,  194,  195,  195,  195,
 
-      190,  191,  191,  192,  192,  193,  194,  195,  195,  196,
-      196
+      195,  195,  195,  195,  195,  195,  195,  195,  195,  195,
+      196,  196,  196,  196,  196,  196,  196,  196,  197,  197,
+      197,  197,  197,  198,  198,  198,  198,  198,  199,  199,
+      200,  200,  200,  200,  200,  200,  200,  200,  200,  200,
+      200,  200,  200,  201,  201,  202,  203,  203,  204,  204,
+      205,  206,  207,  207,  208,  208
     } ;
 
 static yyconst int yy_ec[256] =
@@ -447,129 +452,137 @@
         3,    3,    3
     } ;
 
-static yyconst short int yy_base[516] =
+static yyconst short int yy_base[561] =
     {   0,
-        0,    0, 1110, 1111, 1111, 1111, 1105, 1094,   36,   40,
+        0,    0, 1200, 1201, 1201, 1201, 1195, 1184,   36,   40,
        44,   50,   56,   62,    0,   63,   66,   81,   89,   47,
       100,   97,   76,   96,  111,   46,   48,  110,   68,  140,
-      126,  171,  119,  123,   73,  125, 1103, 1111, 1092, 1111,
+      126,  171,  120,  123,   73,  130, 1193, 1201, 1182, 1201,
         0,  159,  176,  199,  204,   95,  209,  224,  229,    0,
-      130,  165,  133,  120,  169,  151,  159,   31, 1091,  168,
-      143,  230,  189,  191,  233,  117,  145,  187,  241,  243,
-      242,  246,  244,  251,  248,  254,  255,  253,  176,  256,
-      263,  258,  267,  261,  277,  281,  283, 1090,  284,  285,
-      286,  287,  265,  290,  300,  295,  291,  308,  294,  305,
+      134,  165,  137,  124,  169,  151,  159,   31, 1181,  168,
+      210,  230,  233,  127,  241,  189,  176,  117,  242,  244,
+      240,  243,  246,  249,  252,  253,  257,  259,  263,  265,
+      266,  274,  268,  269,  273,  277,  282,  211, 1180,  287,
+      290,  293,  294,  160,  270,  295,  304,  305,  299,  306,
 
-      318,  320, 1089,  321,  306,  301,  322,  326,  324,  328,
-      330,  332,  213,  337,  346,  340,  327,  347, 1088,    0,
-      359,  363, 1087,  377,  394,    0, 1086,  353,  363, 1085,
-      369,  379, 1084,  370, 1083,  289,  367,  384, 1082,  389,
-      395,  396,  398,  399,  401, 1081,  402,  365,  406,  404,
-      409,  410,  385,  412,  420,  422,  424,  421,  426,  434,
-      435,  428,  436,  113,  429,  439,  440,  442,  449,  448,
-     1080,  450,  453, 1079,  454, 1078, 1077,  478,  455,  457,
-      456,  458,  489, 1076,  469, 1075,  460,  459,  491,  492,
-     1074,  493,  494,  497,  495,  496,  501,  499,  502,  503,
+      312,  296,  321,  324, 1179,  325,  309,  313,  333,  335,
+      318,  339,  342,  332,  350,  340,  343,  215,  356,  357,
+     1178,    0,  365,  370, 1177,  389,  406,    0, 1176,  359,
+      372, 1175,  371,  374, 1174,  381, 1173,  375,  301,  376,
+      393, 1172,  401,  396,  408,  407,  410,  411, 1171,  414,
+      413,  415,  420,  421,  422,  424,  431,  432,  433,  434,
+      441,  436,  440,  438,  439,  449,  443,  454,  383,  451,
+      459,  462,  464,  465,  466, 1170,  468,  469, 1169,  470,
+      471, 1168, 1167,  499,  476,  475,  488,  477,  503,  492,
+     1166,  510, 1165,  481,  484,  516,  513,  517, 1164,  519,
 
-      511,  512,  515,  517,  518,  519,  461,  523,  520,  529,
-      532, 1073,  533, 1111,  543,  551,  557,  561,  566,  567,
-      568,  569, 1072,  570, 1071, 1070, 1069,  571,  572,  573,
-      574,  576,  577,  579,  582,  585,  583,  580,  591,  592,
-      593,  594, 1068,  603, 1067, 1066,  604,  605,  607,  608,
-      609,  611,  613,  614,  618, 1065, 1064, 1063,  617,  621,
-     1062,  615,  620,    0,  622, 1061,  624,  627,  638,  640,
-      641,  642,  623,  644,  647, 1060,  648,  645, 1059,  653,
-      655, 1058, 1057,  659, 1056, 1055,  660,  665,  661,  667,
-     1054,  669,  672, 1053,  673, 1052,  676,  674,  681, 1051,
+      521,  522,  524,  523,  526,  525,  527,  528,  537,  530,
+      541,  544,  545,  546,  539,  549,  556,  560,  559,  478,
+     1163,  561,  563, 1201,  571,  591,  579,  595,  600,  566,
+      601,  602, 1162,  603,  604, 1161, 1160, 1159,  605,  606,
+      607,  610,  611,  613,  614,  615,  617,  618,  621,  622,
+      628,  572,  627, 1158,  624,  635,  637,  636, 1157, 1156,
+      638,  639,  642,  645,  646,  650,  648,  649,  652,  654,
+     1155, 1154, 1153,  655,  656, 1152,  657,  663,  665,    0,
+      675, 1151,  672,  680,  674,  679,  682,  689, 1150,  676,
+      690,  692,  693, 1149,  695,  706, 1148,  707,  696, 1147,
 
-      683,  681, 1050,  685,  694,  695,  700,  682,  691,  701,
-      704,  706,  707,  708,  709,  710, 1049,  711, 1048,  712,
-      713,  714,  716,  719,  725, 1047,  727,  729,  733,  732,
-      737,  742, 1046,  735,  722, 1045, 1044, 1043, 1042, 1041,
-     1040, 1039,  743,  747, 1038,  748,  749,  750, 1037, 1036,
-     1035,  754,  755,  752,  756,  764,  765,  762,  766, 1034,
-      768, 1033,  769,  771,  773,  779,  774,  776,  780, 1032,
-     1031, 1030,  787,  782, 1029,  784, 1028,  790,  793,  803,
-     1027,  797, 1026, 1025, 1024, 1023,  789,  795, 1022,  806,
-      807, 1021, 1020, 1019,  809, 1018, 1017, 1016,  811,  813,
+      708, 1146,  709, 1145, 1144,  710,  571,  712,  714,  717,
+     1143,  721,  723, 1142,  724, 1141,  726,  725, 1140,  731,
+     1139,  732,  731, 1138,  733,  743,  735,  745,  741,  749,
+      751,  678,  753,  754,  756,  758,  759,  760, 1137,  761,
+     1136, 1135,  762,  764,  765,  769,  771,  774,  766,  779,
+      780,  783, 1134,  784,  785,  788,  791,  793,  797,  798,
+     1133,  787,  803, 1132, 1131, 1130, 1129, 1128, 1127, 1126,
+      804,  807,  808, 1125,  809,  810,  813, 1124, 1123,  812,
+     1122, 1121,  816,  820,  814,  818,  825,  830,  824,  815,
+     1120,  836,  834, 1119,  839,  841,  840,  842,  843,  844,
 
-      814,  816,  819,  818, 1015,  820, 1014, 1013,  823,  824,
-      825,  827,  828,  830,  831,  832,  834,  843,  833, 1012,
-      840,  850,  853,  854,  846,  857,  856,  860, 1011,  861,
-      866,  867,  868, 1010,  872,  874,  870,  873, 1007,  997,
-      862,  883,  881,  878,  996,  894,  895,  886,  995,  880,
-      994,  992,  897,  896,  898,  904,  906,  907,  908,  910,
-      911,  912,  913,  914,  991,  916,  918,  920,  923,  929,
-      931,  924,  989,  932,  927,  935,  937,  988,  944,  925,
-      943,  945,  987,  949,  986,  951,  954,  955,  957,  958,
-      959,  960,  963,  964,  965,  969,  970,  981,  973,  980,
+      845, 1118, 1117, 1116,  850,  846, 1115, 1114, 1113,  852,
+      858, 1112,  861,  864,  866,  853, 1111,  860, 1110, 1109,
+     1108, 1107,  872,  875,  877, 1106,  878,  879, 1105, 1104,
+     1103, 1102, 1101,  883, 1100, 1099, 1098,  881,  880,  882,
+      884,  886, 1097,  885, 1096,  888, 1095, 1094,  891,  898,
+      899,  900,  901, 1093,  904,  905,  909,  911,  907,  914,
+      916,  917, 1092,  918,  920,  927,  921,  931,  934,  933,
+      935, 1091,  936,  939,  942,  944, 1090,  937,  947,  945,
+      948, 1089, 1088, 1087,  950, 1086,  949,  959,  955, 1083,
+      967,  970,  969, 1074,  971, 1072, 1071,  972,  976,  973,
 
-      876,  975,  538,  976,  535,  462,  423,  978,  216, 1111,
-     1013, 1015,  226, 1019,   76
+      978,  979,  951,  981,  984,  986,  987,  989,  993, 1070,
+      991,  990,  997,  999, 1000, 1002, 1003, 1068, 1008, 1010,
+     1012, 1013, 1067, 1014, 1015, 1018, 1019, 1066, 1021, 1065,
+     1020, 1030, 1029, 1024, 1032, 1033, 1034, 1040, 1043, 1045,
+     1044, 1046, 1063, 1047, 1062, 1060, 1048, 1059, 1049, 1056,
+      677,  479, 1054,  435, 1201, 1089, 1091,  124, 1095,   76
     } ;
 
-static yyconst short int yy_def[516] =
+static yyconst short int yy_def[561] =
     {   0,
-      510,    1,  510,  510,  510,  510,  511,  512,  513,  510,
-      512,  512,  512,  512,  514,  512,  512,  512,  512,  512,
-      512,  512,  512,  512,  512,  512,  512,  512,  512,  512,
-      512,  512,  512,  512,  512,  512,  511,  510,  512,  510,
-      515,  515,  510,  510,  512,  512,  512,  512,  512,  514,
-      512,  512,  512,  512,  512,  512,  512,  512,  512,  512,
-      512,  512,  512,  512,  512,  512,  512,  512,  512,  512,
-      512,  512,  512,  512,  512,  512,  512,  512,  512,  512,
-      512,  512,  512,  512,  512,  512,  512,  512,  512,  512,
-      512,  512,  512,  512,  512,  512,  512,  512,  512,  512,
+      555,    1,  555,  555,  555,  555,  556,  557,  558,  555,
+      557,  557,  557,  557,  559,  557,  557,  557,  557,  557,
+      557,  557,  557,  557,  557,  557,  557,  557,  557,  557,
+      557,  557,  557,  557,  557,  557,  556,  555,  557,  555,
+      560,  560,  555,  555,  557,  557,  557,  557,  557,  559,
+      557,  557,  557,  557,  557,  557,  557,  557,  557,  557,
+      557,  557,  557,  557,  557,  557,  557,  557,  557,  557,
+      557,  557,  557,  557,  557,  557,  557,  557,  557,  557,
+      557,  557,  557,  557,  557,  557,  557,  557,  557,  557,
+      557,  557,  557,  557,  557,  557,  557,  557,  557,  557,
 
-      512,  512,  512,  512,  512,  512,  512,  512,  512,  512,
-      512,  512,  512,  512,  512,  512,  512,  512,  510,  515,
-      515,  510,  512,  512,  512,   49,  512,  512,  512,  512,
-      512,  512,  512,  512,  512,  512,  512,  512,  512,  512,
-      512,  512,  512,  512,  512,  512,  512,  512,  512,  512,
-      512,  512,  512,  512,  512,  512,  512,  512,  512,  512,
-      512,  512,  512,  512,  512,  512,  512,  512,  512,  512,
-      512,  512,  512,  512,  512,  512,  512,   49,  512,  512,
-      512,  512,  512,  512,  512,  512,  512,  512,  512,  512,
-      512,  512,  512,  512,  512,  512,  512,  512,  512,  512,
+      557,  557,  557,  557,  557,  557,  557,  557,  557,  557,
+      557,  557,  557,  557,  557,  557,  557,  557,  557,  557,
+      555,  560,  560,  555,  557,  557,  557,   49,  557,  557,
+      557,  557,  557,  557,  557,  557,  557,  557,  557,  557,
+      557,  557,  557,  557,  557,  557,  557,  557,  557,  557,
+      557,  557,  557,  557,  557,  557,  557,  557,  557,  557,
+      557,  557,  557,  557,  557,  557,  557,  557,  557,  557,
+      557,  557,  557,  557,  557,  557,  557,  557,  557,  557,
+      557,  557,  557,   49,  557,  557,  557,  557,  557,  557,
+      557,  557,  557,  557,  557,  557,  557,  557,  557,  557,
 
-      512,  512,  512,  512,  512,  512,  512,  512,  512,  512,
-      512,  512,  512,  510,  510,  510,  510,  512,  512,  512,
-      512,  512,  512,  512,  512,  512,  512,  512,  512,  512,
-      512,  512,  512,  512,  512,  512,  512,  512,  512,  512,
-      512,  512,  512,  512,  512,  512,  512,  512,  512,  512,
-      512,  512,  512,  512,  512,  512,  512,  512,  512,  512,
-      512,  512,  512,  178,  512,  512,  512,  512,  512,  512,
-      512,  512,  512,  512,  512,  512,  512,  512,  512,  512,
-      512,  512,  512,  512,  512,  512,  512,  512,  512,  512,
-      512,  512,  512,  512,  512,  512,  512,  512,  510,  512,
+      557,  557,  557,  557,  557,  557,  557,  557,  557,  557,
+      557,  557,  557,  557,  557,  557,  557,  557,  557,  557,
+      557,  557,  557,  555,  555,  555,  555,  557,  557,  557,
+      557,  557,  557,  557,  557,  557,  557,  557,  557,  557,
+      557,  557,  557,  557,  557,  557,  557,  557,  557,  557,
+      557,  557,  557,  557,  557,  557,  557,  557,  557,  557,
+      557,  557,  557,  557,  557,  557,  557,  557,  557,  557,
+      557,  557,  557,  557,  557,  557,  557,  557,  557,  184,
+      557,  557,  557,  557,  557,  557,  557,  557,  557,  557,
+      557,  557,  557,  557,  557,  557,  557,  557,  557,  557,
 
-      512,  512,  512,  512,  512,  512,  512,  512,  512,  512,
-      512,  512,  512,  512,  512,  512,  512,  512,  512,  512,
-      512,  512,  512,  512,  512,  512,  512,  512,  512,  512,
-      512,  512,  512,  512,  512,  512,  512,  512,  512,  512,
-      512,  512,  512,  512,  512,  512,  512,  512,  512,  512,
-      512,  512,  512,  512,  512,  512,  512,  512,  512,  512,
-      512,  512,  512,  512,  512,  512,  512,  512,  512,  512,
-      512,  512,  512,  512,  512,  512,  512,  512,  512,  512,
-      512,  512,  512,  512,  512,  512,  512,  512,  512,  512,
-      512,  512,  512,  512,  512,  512,  512,  512,  512,  512,
+      557,  557,  557,  557,  557,  557,  557,  557,  557,  557,
+      557,  557,  557,  557,  557,  557,  557,  557,  557,  555,
+      557,  557,  557,  557,  557,  557,  557,  557,  557,  557,
+      557,  557,  557,  557,  557,  557,  557,  557,  557,  557,
+      557,  557,  557,  557,  557,  557,  557,  557,  557,  557,
+      557,  557,  557,  557,  557,  557,  557,  557,  557,  557,
+      557,  557,  557,  557,  557,  557,  557,  557,  557,  557,
+      557,  557,  557,  557,  557,  557,  557,  557,  557,  557,
+      557,  557,  557,  557,  557,  557,  557,  557,  557,  557,
+      557,  557,  557,  557,  557,  557,  557,  557,  557,  557,
 
-      512,  512,  512,  512,  512,  512,  512,  512,  512,  512,
-      512,  512,  512,  512,  512,  512,  512,  512,  512,  512,
-      512,  512,  512,  512,  512,  512,  512,  512,  512,  512,
-      512,  512,  512,  512,  512,  512,  512,  512,  512,  512,
-      512,  512,  512,  512,  512,  512,  512,  512,  512,  512,
-      512,  512,  512,  512,  512,  512,  512,  512,  512,  512,
-      512,  512,  512,  512,  512,  512,  512,  512,  512,  512,
-      512,  512,  512,  512,  512,  512,  512,  512,  512,  512,
-      512,  512,  512,  512,  512,  512,  512,  512,  512,  512,
-      512,  512,  512,  512,  512,  512,  512,  512,  512,  512,
+      557,  557,  557,  557,  557,  557,  557,  557,  557,  557,
+      557,  557,  557,  557,  557,  557,  557,  557,  557,  557,
+      557,  557,  557,  557,  557,  557,  557,  557,  557,  557,
+      557,  557,  557,  557,  557,  557,  557,  557,  557,  557,
+      557,  557,  557,  557,  557,  557,  557,  557,  557,  557,
+      557,  557,  557,  557,  557,  557,  557,  557,  557,  557,
+      557,  557,  557,  557,  557,  557,  557,  557,  557,  557,
+      557,  557,  557,  557,  557,  557,  557,  557,  557,  557,
+      557,  557,  557,  557,  557,  557,  557,  557,  557,  557,
+      557,  557,  557,  557,  557,  557,  557,  557,  557,  557,
 
-      512,  512,  512,  512,  512,  512,  512,  512,  512,    0,
-      510,  510,  510,  510,  510
+      557,  557,  557,  557,  557,  557,  557,  557,  557,  557,
+      557,  557,  557,  557,  557,  557,  557,  557,  557,  557,
+      557,  557,  557,  557,  557,  557,  557,  557,  557,  557,
+      557,  557,  557,  557,  557,  557,  557,  557,  557,  557,
+      557,  557,  557,  557,  557,  557,  557,  557,  557,  557,
+      557,  557,  557,  557,    0,  555,  555,  555,  555,  555
     } ;
 
-static yyconst short int yy_nxt[1155] =
+static yyconst short int yy_nxt[1245] =
     {   0,
         4,    5,    6,    7,    8,    9,   10,   11,   12,   13,
        14,   14,   14,    4,   15,    8,    8,    8,   16,   17,
@@ -577,113 +590,121 @@
        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,
+       40,   40,  139,   40,   47,   48,   48,   48,   48,   40,
+       47,   48,   48,   48,   48,   40,   40,   69,  122,   40,
+       88,   40,   89,   87,   51,  118,   40,   70,   56,   40,
+       93,   52,   57,   53,   40,   54,   49,   58,   55,   60,
 
-       59,   61,   40,  123,  117,   77,   78,   64,   40,   40,
-       40,   65,   62,   40,   79,   66,   63,   67,   71,   75,
-       68,   72,   80,   40,   40,   76,   40,   81,   73,   83,
-       40,   82,   40,   40,   74,   89,   40,  113,   40,   40,
-      254,   90,   84,   40,  102,  115,   40,  118,   85,   92,
-      114,  127,  131,   40,  130,  146,   40,  103,   40,   93,
-      104,   94,   95,  139,   40,   96,   97,  105,  121,  121,
-      121,  121,   40,  147,   98,  134,   99,  100,   40,  101,
-       92,   40,   40,  135,   40,   43,   43,   43,   43,   40,
-      106,  128,  107,  129,  132,  163,  137,  108,  133,  109,
+       59,   61,   40,  125,  119,   78,   79,   64,   40,   40,
+       40,   65,   62,   40,   80,   66,   63,   67,   71,   76,
+       68,   72,   81,   40,   40,   77,   41,   82,   73,   84,
+       40,   83,   74,   40,   75,   90,   40,   40,  115,   40,
+       40,   91,   85,   40,  104,  117,   92,   40,   86,   94,
+       40,  116,  120,   40,  151,  129,  133,  105,  132,   95,
+      106,   96,   97,  146,   40,   98,   99,  107,  123,  123,
+      123,  123,   40,   40,  100,  136,  101,  102,   40,  103,
+       94,   40,   40,  137,   40,   43,   43,   43,   43,   40,
+      108,  130,  109,  131,  134,  138,  140,  110,  135,  111,
 
-       40,  110,   40,  138,   40,  111,  112,  122,   44,   44,
-       44,   44,   47,   45,   45,   45,   45,   40,  124,  124,
-      124,  124,   40,  142,  148,  125,   40,  143,   41,   40,
-      207,  125,   47,   48,   48,   48,   48,   40,  126,  126,
-      126,  126,   40,   40,  126,  126,   40,  126,  126,  126,
-      126,  126,  126,  144,   40,   40,   40,   40,  140,   40,
-      141,   40,  149,  150,   40,  145,   40,   40,   40,   40,
-      152,   40,  154,  156,   40,  155,   40,  153,   40,  151,
-       40,  166,  170,  168,  157,  158,  164,  159,  160,  161,
-       40,  162,  165,  167,   40,  169,   40,   40,   40,   40,
+      184,  112,   40,  141,  150,  113,  114,  124,   44,   44,
+       44,   44,   47,   45,   45,   45,   45,   40,  126,  126,
+      126,  126,   40,   40,   40,  127,  220,  149,   40,  178,
+      142,  127,   47,   48,   48,   48,   48,   40,  128,  128,
+      128,  128,   40,   40,  128,  128,   40,  128,  128,  128,
+      128,  128,  128,   40,   40,   40,   40,   40,  143,   40,
+      144,  147,   40,  152,  153,   40,   40,  145,  155,  157,
+       40,  159,   40,  148,  161,  156,   40,  158,   40,   40,
+      154,   40,   40,   40,  168,  160,   40,   40,  163,  162,
+       40,  164,  171,  173,  175,   40,  169,  174,  165,  166,
 
-       40,  173,   40,   40,   40,  171,  179,   40,   40,  172,
-      174,  175,  188,   40,   40,  176,  180,  225,   40,   40,
-      181,   40,  177,  184,  191,  190,  185,  178,  182,  186,
-      189,   40,  187,   40,   40,   40,  183,   40,  197,   40,
-       40,   40,  198,   40,  192,   40,  193,  195,  199,  202,
-       40,  211,  205,   40,  194,  201,  200,  206,  196,   40,
-       40,  212,  203,  208,  210,  209,   40,  204,  121,  121,
-      121,  121,  215,  215,  215,  215,   40,  220,   40,  216,
-       40,  213,   40,   40,  236,  216,  124,  124,  124,  124,
-       40,  222,   40,  125,  221,  226,  224,   40,   40,  125,
+       40,  167,  170,   40,  172,  176,   40,   40,   40,   40,
+      177,  185,   40,  179,   40,  199,  180,   40,   40,   40,
+      195,  186,   40,  182,  187,   40,   40,  181,  197,  236,
+      183,   40,  188,  191,   40,  196,  192,   40,   40,  193,
+      189,  205,  194,  198,  190,   40,   40,  200,   40,  210,
+      201,  203,   40,   40,  206,   40,   40,  215,  202,  207,
+      211,  219,  204,   40,  214,  208,  217,  216,  218,   40,
+       40,  209,   40,  212,  123,  123,  123,  123,  213,  225,
+      225,  225,  225,  230,   40,   40,  226,   40,   40,   40,
+      221,  222,  226,  232,   40,  235,   40,  223,  126,  126,
 
-      217,  218,   40,  219,  219,  219,  219,   40,   40,   40,
-      228,   40,   40,  223,   40,   40,  231,   40,  230,   40,
-      227,  242,   40,   40,  234,   40,  238,  232,  235,  233,
-      229,  239,  237,   40,   40,   40,   40,   40,  244,   40,
-      248,   40,   40,  240,  245,  241,  247,   40,   40,   40,
-      243,  246,   40,   40,  249,   40,  250,  251,  253,  252,
-      256,   40,   40,   40,  257,  255,   40,   40,   40,   40,
-       40,   40,   40,   40,   40,   40,  258,  259,  261,  293,
-      268,  275,   40,  274,  263,  260,  262,  264,  264,  264,
-      264,  265,  267,  264,  264,  266,  264,  264,  264,  264,
+      126,  126,   40,  231,  237,  127,   40,  234,  233,   40,
+      269,  127,  227,  228,   40,  229,  229,  229,  229,   40,
+       40,   40,  239,   40,   40,  242,   40,   40,   40,  238,
+      241,  240,  247,   40,   40,   40,  245,   40,  243,  244,
+      246,  248,  249,  250,   40,   40,   40,   40,   40,   40,
+      255,   40,   40,   40,   40,  251,   40,  252,  261,  262,
+      253,  264,   40,  259,   40,  257,  263,   40,  258,  254,
+      260,  265,   40,  256,  267,   40,  268,   40,   40,   40,
+      271,   40,   40,   40,   40,  266,  272,  270,   40,   40,
+       40,   40,   40,  274,   40,  317,  276,   40,  273,  284,
 
-      264,  264,   40,  273,   40,   40,   40,   40,   40,   40,
-       40,  269,   40,  270,   40,   40,   40,  271,  282,  272,
-      276,  280,  279,  283,   40,   40,  277,  281,   40,  278,
-       40,   40,   40,   40,  288,  284,   40,  289,  295,  286,
-      285,  287,   40,  290,  294,   40,   40,  291,   40,  297,
-      292,   40,  215,  215,  215,  215,  296,  217,  217,  216,
-      299,  299,  299,  299,  298,  216,  299,  299,  299,  299,
-      219,  219,  219,  219,   40,  219,  219,  219,  219,   40,
-       40,   40,   40,   40,   40,   40,   40,   40,  301,   40,
-       40,  304,   40,   40,  308,   40,   40,  300,   40,  302,
+      278,   40,  277,  275,  291,   40,  292,  279,  280,  280,
+      280,  280,  281,  282,  280,  280,   40,  280,  280,  280,
+      280,  280,  280,   40,  283,  285,   40,  286,  289,   40,
+       40,  287,   40,  288,   40,   40,   40,   40,   40,   40,
+       40,   40,  294,   40,  290,  300,  298,  293,  302,  297,
+       40,  295,   40,  301,   40,  296,  299,   40,   40,   40,
+      307,  303,   40,  308,  305,  304,  309,  313,  306,   40,
+      312,  310,   40,   40,   40,  311,   40,  314,  315,   40,
+      225,  225,  225,  225,   40,   40,  316,  226,  320,  320,
+      320,  320,  318,  226,  339,  381,  321,  227,  227,  319,
 
-      303,  313,  307,  309,   40,   40,   40,   40,  305,  306,
-      316,  311,  314,  312,  318,  317,   40,   40,   40,  310,
-       40,   40,   40,  321,   40,  315,   40,   40,   40,  322,
-       40,   40,  320,   40,   40,   40,   40,   40,  325,  319,
-       40,  326,  323,  324,  333,  327,  328,  335,  329,  330,
-      334,   40,  331,   40,   40,   40,  332,   40,   40,  342,
-       40,   40,  337,  339,  341,  346,   40,  343,   40,  344,
-      345,  336,   40,   40,   40,  347,  338,  340,   40,  352,
-       40,  349,   40,  348,  350,   40,   40,   40,  351,   40,
-      299,  299,  299,  299,   40,   40,   40,  353,   40,  357,
+      320,  320,  320,  320,  229,  229,  229,  229,   40,  229,
+      229,  229,  229,   40,   40,   40,   40,   40,   40,   40,
+       40,  322,  325,   40,   40,  326,   40,   40,   40,  330,
+       40,   40,  323,  324,   40,   40,  335,   40,  329,  331,
+       40,   40,  327,  328,  333,  334,  338,  340,   40,   40,
+       40,   40,   40,  336,  332,   40,  337,  347,   40,   40,
+      341,   40,   40,   40,  348,   40,  346,   40,   40,   40,
+       40,  342,  343,  345,  344,  352,   40,  353,   40,  349,
+      350,  351,  355,  354,  357,   40,  356,   40,   40,   40,
+       40,   40,   40,   40,  358,   40,  360,  361,  362,  359,
 
-      359,  360,  361,  354,   40,  362,  355,   40,   40,  356,
-      367,  358,  363,   40,   40,  364,  366,   40,  365,   40,
-       40,   40,   40,   40,   40,   40,   40,   40,  370,   40,
-      374,  375,   40,  368,  376,   40,  369,  371,   40,  373,
-       40,  377,   40,  378,  372,   40,   40,  381,   40,  380,
-       40,  383,  379,  384,  385,   40,   40,  382,  389,  386,
-       40,   40,   40,   40,  387,   40,  388,   40,   40,   40,
-      391,  390,  394,  392,  395,   40,  396,   40,   40,   40,
-      398,   40,   40,  400,   40,  393,   40,   40,  397,   40,
-      399,  405,   40,   40,  403,   40,  402,   40,  401,  404,
+      363,  365,   40,   40,  367,   40,   40,  364,   40,   40,
+      400,  369,  370,  371,  372,  366,  373,  374,  368,   40,
+       40,   40,   40,   40,  377,   40,  375,   40,  378,  376,
+       40,  379,  383,  380,   40,  382,   40,   40,   40,   40,
+      320,  320,  320,  320,   40,   40,   40,  384,   40,  388,
+      391,  390,  392,  395,   40,  385,   40,  386,   40,  397,
+      387,  389,   40,  394,   40,  396,   40,   40,  393,   40,
+      399,   40,   40,   40,   40,   40,  402,   40,   40,   40,
+      406,  407,   40,  398,   40,  401,  403,   40,  408,  405,
+      409,  411,   40,   40,  404,  410,   40,   40,   40,  412,
 
-       40,  407,   40,   40,  411,  412,   40,  409,   40,  408,
-       40,  410,  415,  414,  406,  416,   40,  418,  413,   40,
-       40,  417,   40,  419,   40,  420,   40,   40,  421,   40,
-      422,   40,   40,   40,  423,  426,   40,   40,   40,  424,
-       40,   40,  427,   40,   40,   40,   40,   40,  425,  428,
-      435,  430,  436,   40,  429,  434,   40,  431,  432,   40,
-      438,  437,  439,   40,  433,  440,   40,   40,  441,   40,
-       40,  444,  443,   40,   40,   40,  445,  447,  442,   40,
-       40,   40,  446,   40,  449,   40,   40,   40,  458,   40,
-      453,   40,  448,   40,   40,  457,   40,  461,  450,   40,
+       40,   40,  414,  413,   40,  417,   40,  419,  420,  415,
+       40,   40,  416,  421,  418,  422,   40,   40,  425,  423,
+       40,   40,   40,   40,  424,   40,   40,   40,   40,   40,
+      428,   40,  427,   40,  430,  432,  434,   40,   40,  426,
+      429,  435,  437,   40,  433,  441,  431,   40,  439,   40,
+      436,  438,   40,   40,   40,   40,   40,   40,   40,   40,
+      440,  445,  442,   40,  447,   40,   40,  451,  452,  444,
+      443,   40,  454,   40,   40,  449,  450,   40,  448,   40,
+      460,  446,  453,  456,  458,   40,  457,  455,   40,  459,
+       40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
 
-      454,  460,  451,  452,  455,  459,  456,   40,   40,   40,
-       40,   40,  464,  463,  462,  466,  465,   40,  467,   40,
-       40,   40,  469,   40,   40,   40,   40,   40,  472,   40,
-      475,   40,  477,   40,  468,  470,   40,   40,   40,  474,
-       40,  476,   40,  478,   40,   40,  473,  479,   40,  471,
-       40,  482,  480,  483,  485,  486,   40,   40,   40,  481,
-      484,  490,   40,  487,   40,  488,  489,   40,   40,  491,
-       40,   40,   40,   40,  495,  492,   40,   40,   40,  494,
-      493,  496,   40,   40,  502,  503,   40,  497,   40,   40,
-      499,   40,  498,   40,   40,  507,  500,  501,  508,   40,
+      464,   40,  465,  469,   40,  462,  461,  463,  466,  467,
+      470,   40,   40,   40,   40,  468,  471,   40,   40,  473,
+       40,  472,   40,  478,   40,  474,  479,   40,  477,   40,
+       40,   40,  475,   40,   40,  480,  484,  481,  476,  482,
+       40,  483,  488,  490,   40,  489,   40,   40,   40,   40,
+       40,  485,   40,  486,  492,   40,  487,   40,   40,  494,
+       40,   40,   40,   40,   40,  499,  498,  491,   40,  493,
+      502,  504,   40,  495,  506,  496,  503,  500,  497,  505,
+       40,  501,   40,   40,   40,   40,   40,  507,  508,   40,
+      511,   40,   40,  516,   40,  509,  514,   40,  512,   40,
 
-       40,   40,   40,  506,   40,   40,  505,   40,   40,   40,
-       40,  504,  509,   37,   37,   37,   37,   39,   39,   50,
-       40,   50,   50,   40,   40,   40,   40,   40,   40,   40,
+       40,  517,   40,   40,   40,  520,   40,  510,  515,  513,
+       40,  522,   40,   40,  519,   40,   40,  521,  523,  524,
+      518,   40,  527,   40,  528,   40,   40,   40,   40,  525,
+      530,   40,   40,   40,   40,  526,  534,   40,  531,  529,
+      532,  533,   40,   40,  536,   40,   40,   40,  539,  537,
+      540,  535,  538,   40,  542,  541,   40,   40,   40,   40,
+       40,   40,   40,  547,  544,  548,  543,   40,  552,   40,
+      545,  553,   40,   40,  546,   40,   40,  551,   40,   40,
+       40,   40,  550,   40,   40,   40,  549,   40,  554,   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,
@@ -691,16 +712,18 @@
        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,  224,   40,   40,   40,   40,  121,   40,   38,  555,
 
-       40,  214,   40,   40,   40,   40,  119,   40,   38,  510,
-        3,  510,  510,  510,  510,  510,  510,  510,  510,  510,
-      510,  510,  510,  510,  510,  510,  510,  510,  510,  510,
-      510,  510,  510,  510,  510,  510,  510,  510,  510,  510,
-      510,  510,  510,  510,  510,  510,  510,  510,  510,  510,
-      510,  510,  510,  510
+        3,  555,  555,  555,  555,  555,  555,  555,  555,  555,
+      555,  555,  555,  555,  555,  555,  555,  555,  555,  555,
+      555,  555,  555,  555,  555,  555,  555,  555,  555,  555,
+      555,  555,  555,  555,  555,  555,  555,  555,  555,  555,
+      555,  555,  555,  555
     } ;
 
-static yyconst short int yy_chk[1155] =
+static yyconst short int yy_chk[1245] =
     {   0,
         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
@@ -709,126 +732,136 @@
         1,    1,    1,    9,   58,    9,    9,    9,    9,   10,
        10,   10,   10,   11,   11,   11,   11,   11,   12,   26,
        20,   27,   58,   12,   13,   13,   13,   13,   13,   13,
-       14,   14,   14,   14,   14,   14,   16,   20,  515,   17,
+       14,   14,   14,   14,   14,   14,   16,   20,  560,   17,
        27,   29,   27,   26,   16,   35,   35,   20,   17,   23,
        29,   16,   17,   16,   18,   16,   13,   17,   16,   18,
 
        17,   18,   19,   46,   35,   23,   23,   19,   46,   24,
        22,   19,   18,   21,   24,   19,   18,   19,   21,   22,
-       19,   21,   24,   28,   25,   22,  164,   24,   21,   25,
-       66,   24,   33,   54,   21,   28,   34,   33,   36,   31,
-      164,   28,   25,   51,   31,   34,   53,   36,   25,   30,
-       33,   51,   54,   30,   53,   66,   61,   31,   67,   30,
-       31,   30,   30,   61,   56,   30,   30,   31,   42,   42,
-       42,   42,   57,   67,   30,   56,   30,   30,   52,   30,
-       32,   60,   55,   57,   32,   43,   43,   43,   43,   79,
-       32,   52,   32,   52,   55,   79,   60,   32,   55,   32,
+       19,   21,   24,   28,   25,   22,  558,   24,   21,   25,
+       68,   24,   21,   33,   21,   28,   34,   54,   33,   31,
+       64,   28,   25,   36,   31,   34,   28,   51,   25,   30,
+       53,   33,   36,   30,   68,   51,   54,   31,   53,   30,
+       31,   30,   30,   64,   56,   30,   30,   31,   42,   42,
+       42,   42,   57,   94,   30,   56,   30,   30,   52,   30,
+       32,   60,   55,   57,   32,   43,   43,   43,   43,   67,
+       32,   52,   32,   52,   55,   57,   60,   32,   55,   32,
 
-       68,   32,   63,   60,   64,   32,   32,   44,   44,   44,
+       94,   32,   66,   60,   67,   32,   32,   44,   44,   44,
        44,   44,   45,   45,   45,   45,   45,   45,   47,   47,
-       47,   47,   47,   63,   68,   47,  113,   64,  513,  509,
-      113,   47,   48,   48,   48,   48,   48,   48,   49,   49,
-       49,   49,   49,   62,   49,   49,   65,   49,   49,   49,
-       49,   49,   49,   65,   69,   71,   70,   73,   62,   72,
-       62,   75,   69,   70,   74,   65,   78,   76,   77,   80,
-       71,   82,   72,   74,   84,   73,   81,   71,   93,   70,
-       83,   81,   84,   82,   75,   76,   80,   77,   78,   78,
-       85,   78,   80,   81,   86,   83,   87,   89,   90,   91,
+       47,   47,   47,   61,   88,   47,  118,   66,  118,   88,
+       61,   47,   48,   48,   48,   48,   48,   48,   49,   49,
+       49,   49,   49,   62,   49,   49,   63,   49,   49,   49,
+       49,   49,   49,   71,   65,   69,   72,   70,   62,   73,
+       62,   65,   74,   69,   70,   75,   76,   63,   71,   72,
+       77,   74,   78,   65,   75,   71,   79,   73,   80,   81,
+       70,   83,   84,   95,   80,   74,   85,   82,   77,   76,
+       86,   78,   82,   83,   85,   87,   81,   84,   79,   79,
 
-       92,   87,  136,   94,   97,   85,   93,   99,   96,   86,
-       89,   90,   97,   95,  106,   91,   94,  136,  100,  105,
-       95,   98,   91,   96,  100,   99,   96,   92,   95,   96,
-       98,  101,   96,  102,  104,  107,   95,  109,  105,  108,
-      117,  110,  106,  111,  101,  112,  102,  104,  107,  110,
-      114,  116,  111,  116,  102,  109,  108,  112,  104,  115,
-      118,  117,  110,  114,  115,  114,  128,  110,  121,  121,
-      121,  121,  122,  122,  122,  122,  129,  128,  148,  122,
-      137,  118,  131,  134,  148,  122,  124,  124,  124,  124,
-      124,  131,  132,  124,  129,  137,  134,  138,  153,  124,
+       90,   79,   81,   91,   82,   86,   92,   93,   96,  102,
+       87,   95,   99,   90,  139,  102,   91,   97,   98,  100,
+       99,   96,  107,   93,   97,  101,  108,   92,  100,  139,
+       93,  111,   97,   98,  103,   99,   98,  104,  106,   98,
+       97,  107,   98,  101,   97,  114,  109,  103,  110,  111,
+      104,  106,  112,  116,  108,  113,  117,  114,  104,  109,
+      112,  117,  106,  115,  113,  110,  116,  115,  116,  119,
+      120,  110,  130,  112,  123,  123,  123,  123,  112,  124,
+      124,  124,  124,  130,  133,  131,  124,  134,  138,  140,
+      119,  120,  124,  133,  136,  138,  169,  120,  126,  126,
 
-      125,  125,  140,  125,  125,  125,  125,  125,  141,  142,
-      140,  143,  144,  132,  145,  147,  143,  150,  142,  149,
-      138,  153,  151,  152,  147,  154,  150,  144,  147,  145,
-      141,  151,  149,  155,  158,  156,  507,  157,  155,  159,
-      158,  162,  165,  151,  156,  152,  157,  160,  161,  163,
-      154,  156,  166,  167,  159,  168,  160,  161,  163,  162,
-      166,  170,  169,  172,  167,  165,  173,  175,  179,  181,
-      180,  182,  188,  187,  207,  506,  168,  169,  172,  207,
-      182,  188,  185,  187,  175,  170,  173,  178,  178,  178,
-      178,  179,  181,  178,  178,  180,  178,  178,  178,  178,
+      126,  126,  126,  131,  140,  126,  141,  136,  134,  144,
+      169,  126,  127,  127,  143,  127,  127,  127,  127,  127,
+      146,  145,  143,  147,  148,  146,  151,  150,  152,  141,
+      145,  144,  151,  153,  154,  155,  150,  156,  147,  148,
+      150,  152,  153,  154,  157,  158,  159,  160,  554,  162,
+      158,  164,  165,  163,  161,  154,  167,  155,  162,  163,
+      156,  165,  166,  161,  170,  160,  164,  168,  160,  157,
+      161,  166,  171,  159,  167,  172,  168,  173,  174,  175,
+      171,  177,  178,  180,  181,  166,  172,  170,  186,  185,
+      188,  220,  552,  174,  194,  220,  177,  195,  173,  188,
 
-      178,  178,  183,  185,  189,  190,  192,  193,  195,  196,
-      194,  183,  198,  183,  197,  199,  200,  183,  196,  183,
-      189,  194,  193,  197,  201,  202,  190,  195,  203,  192,
-      204,  205,  206,  209,  202,  198,  208,  203,  209,  200,
-      199,  201,  210,  204,  208,  211,  213,  205,  505,  211,
-      206,  503,  215,  215,  215,  215,  210,  216,  216,  215,
-      216,  216,  216,  216,  213,  215,  217,  217,  217,  217,
-      218,  218,  218,  218,  218,  219,  219,  219,  219,  219,
-      220,  221,  222,  224,  228,  229,  230,  231,  221,  232,
-      233,  228,  234,  238,  232,  235,  237,  220,  236,  222,
+      180,  187,  178,  175,  194,  190,  195,  181,  184,  184,
+      184,  184,  185,  186,  184,  184,  189,  184,  184,  184,
+      184,  184,  184,  192,  187,  189,  197,  189,  190,  196,
+      198,  189,  200,  189,  201,  202,  204,  203,  206,  205,
+      207,  208,  197,  210,  192,  204,  202,  196,  205,  201,
+      209,  198,  215,  204,  211,  200,  203,  212,  213,  214,
+      210,  206,  216,  211,  208,  207,  212,  216,  209,  217,
+      215,  213,  219,  218,  222,  214,  223,  217,  218,  230,
+      225,  225,  225,  225,  307,  252,  219,  225,  227,  227,
+      227,  227,  222,  225,  252,  307,  230,  226,  226,  223,
 
-      224,  237,  231,  233,  239,  240,  241,  242,  229,  230,
-      240,  235,  238,  236,  242,  241,  244,  247,  248,  234,
-      249,  250,  251,  248,  252,  239,  253,  254,  262,  249,
-      259,  255,  247,  263,  260,  265,  273,  267,  252,  244,
-      268,  253,  250,  251,  265,  254,  255,  268,  259,  260,
-      267,  269,  262,  270,  271,  272,  263,  274,  278,  273,
-      275,  277,  270,  271,  272,  278,  280,  274,  281,  275,
-      277,  269,  284,  287,  289,  280,  270,  271,  288,  289,
-      290,  284,  292,  281,  287,  293,  295,  298,  288,  297,
-      299,  299,  299,  299,  302,  308,  301,  290,  304,  297,
+      226,  226,  226,  226,  228,  228,  228,  228,  228,  229,
+      229,  229,  229,  229,  231,  232,  234,  235,  239,  240,
+      241,  231,  235,  242,  243,  239,  244,  245,  246,  243,
+      247,  248,  232,  234,  249,  250,  248,  255,  242,  244,
+      253,  251,  240,  241,  246,  247,  251,  253,  256,  258,
+      257,  261,  262,  249,  245,  263,  250,  262,  264,  265,
+      255,  267,  268,  266,  263,  269,  261,  270,  274,  275,
+      277,  256,  257,  258,  257,  267,  278,  268,  279,  264,
+      265,  266,  270,  269,  275,  283,  274,  285,  281,  290,
+      551,  332,  286,  284,  277,  287,  279,  281,  283,  278,
 
-      298,  301,  302,  292,  309,  304,  293,  305,  306,  295,
-      309,  297,  305,  307,  310,  306,  308,  311,  307,  312,
-      313,  314,  315,  316,  318,  320,  321,  322,  312,  323,
-      316,  318,  324,  310,  320,  335,  311,  313,  325,  315,
-      327,  321,  328,  322,  314,  330,  329,  325,  334,  324,
-      331,  328,  323,  329,  330,  332,  343,  327,  335,  331,
-      344,  346,  347,  348,  332,  354,  334,  352,  353,  355,
-      344,  343,  348,  346,  352,  358,  353,  356,  357,  359,
-      355,  361,  363,  357,  364,  347,  365,  367,  354,  368,
-      356,  364,  366,  369,  361,  374,  359,  376,  358,  363,
+      284,  286,  288,  291,  287,  292,  293,  285,  295,  299,
+      332,  288,  290,  291,  292,  286,  293,  295,  287,  296,
+      298,  301,  303,  306,  299,  308,  296,  309,  301,  298,
+      310,  303,  309,  306,  312,  308,  313,  315,  318,  317,
+      320,  320,  320,  320,  323,  322,  325,  310,  327,  317,
+      322,  318,  323,  327,  329,  312,  326,  313,  328,  329,
+      315,  317,  330,  326,  331,  328,  333,  334,  325,  335,
+      331,  336,  337,  338,  340,  343,  334,  344,  345,  349,
+      338,  340,  346,  330,  347,  333,  335,  348,  343,  337,
+      344,  346,  350,  351,  336,  345,  352,  354,  355,  347,
 
-      373,  366,  387,  378,  373,  373,  379,  368,  388,  367,
-      382,  369,  378,  376,  365,  379,  380,  382,  374,  390,
-      391,  380,  395,  387,  399,  388,  400,  401,  390,  402,
-      391,  404,  403,  406,  395,  401,  409,  410,  411,  399,
-      412,  413,  402,  414,  415,  416,  419,  417,  400,  403,
-      413,  406,  414,  421,  404,  412,  418,  409,  410,  425,
-      416,  415,  417,  422,  411,  418,  423,  424,  419,  427,
-      426,  423,  422,  428,  430,  441,  424,  426,  421,  431,
-      432,  433,  425,  437,  428,  435,  438,  436,  441,  501,
-      433,  444,  427,  450,  443,  438,  442,  444,  430,  448,
+      362,  356,  349,  348,  357,  352,  358,  355,  356,  350,
+      359,  360,  351,  357,  354,  358,  363,  371,  362,  359,
+      372,  373,  375,  376,  360,  380,  377,  385,  390,  383,
+      372,  386,  371,  384,  375,  377,  383,  389,  387,  363,
+      373,  384,  386,  388,  380,  390,  376,  393,  388,  392,
+      385,  387,  395,  397,  396,  398,  399,  400,  401,  406,
+      389,  396,  392,  405,  398,  410,  416,  405,  405,  395,
+      393,  411,  410,  418,  413,  400,  401,  414,  399,  415,
+      418,  397,  406,  413,  415,  423,  414,  411,  424,  416,
+      425,  427,  428,  439,  438,  440,  434,  441,  444,  442,
 
-      435,  443,  431,  432,  436,  442,  437,  446,  447,  454,
-      453,  455,  448,  447,  446,  453,  450,  456,  454,  457,
-      458,  459,  456,  460,  461,  462,  463,  464,  459,  466,
-      462,  467,  464,  468,  455,  457,  469,  472,  480,  461,
-      475,  463,  470,  466,  471,  474,  460,  467,  476,  458,
-      477,  470,  468,  471,  474,  475,  481,  479,  482,  469,
-      472,  480,  484,  476,  486,  477,  479,  487,  488,  481,
-      489,  490,  491,  492,  487,  482,  493,  494,  495,  486,
-      484,  488,  496,  497,  494,  495,  499,  489,  502,  504,
-      491,  508,  490,  500,  498,  502,  492,  493,  504,  485,
+      427,  446,  428,  440,  449,  424,  423,  425,  434,  438,
+      441,  450,  451,  452,  453,  439,  442,  455,  456,  446,
+      459,  444,  457,  453,  458,  449,  455,  460,  452,  461,
+      462,  464,  450,  465,  467,  456,  460,  457,  451,  458,
+      466,  459,  465,  467,  468,  466,  470,  469,  471,  473,
+      478,  461,  474,  462,  469,  475,  464,  476,  480,  471,
+      479,  481,  487,  485,  503,  478,  476,  468,  489,  470,
+      481,  487,  488,  473,  489,  474,  485,  479,  475,  488,
+      491,  480,  493,  492,  495,  498,  500,  491,  492,  499,
+      498,  501,  502,  503,  504,  493,  501,  505,  499,  506,
 
-      483,  478,  473,  499,  465,  452,  497,  451,  449,  445,
-      440,  496,  508,  511,  511,  511,  511,  512,  512,  514,
-      439,  514,  514,  434,  429,  420,  408,  407,  405,  398,
-      397,  396,  394,  393,  392,  389,  386,  385,  384,  383,
-      381,  377,  375,  372,  371,  370,  362,  360,  351,  350,
-      349,  345,  342,  341,  340,  339,  338,  337,  336,  333,
-      326,  319,  317,  303,  300,  296,  294,  291,  286,  285,
-      283,  282,  279,  276,  266,  261,  258,  257,  256,  246,
-      245,  243,  227,  226,  225,  223,  212,  191,  186,  184,
-      177,  176,  174,  171,  146,  139,  135,  133,  130,  127,
+      507,  504,  508,  512,  511,  507,  509,  495,  502,  500,
+      513,  509,  514,  515,  506,  516,  517,  508,  511,  512,
+      505,  519,  515,  520,  516,  521,  522,  524,  525,  513,
+      519,  526,  527,  531,  529,  514,  524,  534,  520,  517,
+      521,  522,  533,  532,  526,  535,  536,  537,  531,  527,
+      532,  525,  529,  538,  534,  533,  539,  541,  540,  542,
+      544,  547,  549,  539,  536,  540,  535,  553,  547,  550,
+      537,  549,  548,  546,  538,  545,  543,  544,  530,  528,
+      523,  518,  542,  510,  497,  496,  541,  494,  553,  556,
+      556,  556,  556,  557,  557,  559,  490,  559,  559,  486,
 
-      123,  119,  103,   88,   59,   39,   37,    8,    7,    3,
-      510,  510,  510,  510,  510,  510,  510,  510,  510,  510,
-      510,  510,  510,  510,  510,  510,  510,  510,  510,  510,
-      510,  510,  510,  510,  510,  510,  510,  510,  510,  510,
-      510,  510,  510,  510,  510,  510,  510,  510,  510,  510,
-      510,  510,  510,  510
+      484,  483,  482,  477,  472,  463,  454,  448,  447,  445,
+      443,  437,  436,  435,  433,  432,  431,  430,  429,  426,
+      422,  421,  420,  419,  417,  412,  409,  408,  407,  404,
+      403,  402,  394,  391,  382,  381,  379,  378,  374,  370,
+      369,  368,  367,  366,  365,  364,  361,  353,  342,  341,
+      339,  324,  321,  319,  316,  314,  311,  305,  304,  302,
+      300,  297,  294,  289,  282,  276,  273,  272,  271,  260,
+      259,  254,  238,  237,  236,  233,  221,  199,  193,  191,
+      183,  182,  179,  176,  149,  142,  137,  135,  132,  129,
+      125,  121,  105,   89,   59,   39,   37,    8,    7,    3,
+
+      555,  555,  555,  555,  555,  555,  555,  555,  555,  555,
+      555,  555,  555,  555,  555,  555,  555,  555,  555,  555,
+      555,  555,  555,  555,  555,  555,  555,  555,  555,  555,
+      555,  555,  555,  555,  555,  555,  555,  555,  555,  555,
+      555,  555,  555,  555
     } ;
 
 static yy_state_type yy_state_buf[YY_BUF_SIZE + 2], *yy_state_ptr;
@@ -905,7 +938,7 @@
 /* HexIntConstant - Hexadecimal constant generated by the CFE to avoid forcing
  * it to deal with 64 bit numbers.
  */
-#line 909 "UpgradeLexer.cpp"
+#line 942 "UpgradeLexer.cpp"
 
 /* Macros after this point can all be overridden by user definitions in
  * section 1.
@@ -1059,7 +1092,7 @@
 #line 98 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
 
 
-#line 1063 "UpgradeLexer.cpp"
+#line 1096 "UpgradeLexer.cpp"
 
 	if ( yy_init )
 		{
@@ -1107,14 +1140,14 @@
 			while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
 				{
 				yy_current_state = (int) yy_def[yy_current_state];
-				if ( yy_current_state >= 511 )
+				if ( yy_current_state >= 556 )
 					yy_c = yy_meta[(unsigned int) yy_c];
 				}
 			yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
 			*yy_state_ptr++ = yy_current_state;
 			++yy_cp;
 			}
-		while ( yy_current_state != 510 );
+		while ( yy_current_state != 555 );
 
 yy_find_action:
 		yy_current_state = *--yy_state_ptr;
@@ -1563,170 +1596,230 @@
 case 83:
 YY_RULE_SETUP
 #line 187 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( SELECT); }
+{ RET_TOK( TRUNC); }
 	YY_BREAK
 case 84:
 YY_RULE_SETUP
 #line 188 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( SHL); }
+{ RET_TOK( ZEXT); }
 	YY_BREAK
 case 85:
 YY_RULE_SETUP
 #line 189 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( SHR); }
+{ RET_TOK( SEXT); }
 	YY_BREAK
 case 86:
 YY_RULE_SETUP
 #line 190 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( ASHR); }
+{ RET_TOK( FPTRUNC); }
 	YY_BREAK
 case 87:
 YY_RULE_SETUP
 #line 191 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( LSHR); }
+{ RET_TOK( FPEXT); }
 	YY_BREAK
 case 88:
 YY_RULE_SETUP
 #line 192 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( VAARG); }
+{ RET_TOK( FPTOUI); }
 	YY_BREAK
 case 89:
 YY_RULE_SETUP
 #line 193 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( RET); }
+{ RET_TOK( FPTOSI); }
 	YY_BREAK
 case 90:
 YY_RULE_SETUP
 #line 194 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( BR); }
+{ RET_TOK( UITOFP); }
 	YY_BREAK
 case 91:
 YY_RULE_SETUP
 #line 195 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( SWITCH); }
+{ RET_TOK( SITOFP); }
 	YY_BREAK
 case 92:
 YY_RULE_SETUP
 #line 196 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( INVOKE); }
+{ RET_TOK( PTRTOINT); }
 	YY_BREAK
 case 93:
 YY_RULE_SETUP
 #line 197 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( UNWIND); }
+{ RET_TOK( INTTOPTR); }
 	YY_BREAK
 case 94:
 YY_RULE_SETUP
 #line 198 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( UNWIND); }
+{ RET_TOK( BITCAST); }
 	YY_BREAK
 case 95:
 YY_RULE_SETUP
 #line 199 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( UNREACHABLE); }
+{ RET_TOK( SELECT); }
 	YY_BREAK
 case 96:
 YY_RULE_SETUP
-#line 201 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( MALLOC); }
+#line 200 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TOK( SHL); }
 	YY_BREAK
 case 97:
 YY_RULE_SETUP
-#line 202 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( ALLOCA); }
+#line 201 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TOK( SHR); }
 	YY_BREAK
 case 98:
 YY_RULE_SETUP
-#line 203 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( FREE); }
+#line 202 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TOK( ASHR); }
 	YY_BREAK
 case 99:
 YY_RULE_SETUP
-#line 204 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( LOAD); }
+#line 203 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TOK( LSHR); }
 	YY_BREAK
 case 100:
 YY_RULE_SETUP
-#line 205 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( STORE); }
+#line 204 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TOK( VAARG); }
 	YY_BREAK
 case 101:
 YY_RULE_SETUP
-#line 206 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( GETELEMENTPTR); }
+#line 205 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TOK( RET); }
 	YY_BREAK
 case 102:
 YY_RULE_SETUP
-#line 208 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( EXTRACTELEMENT); }
+#line 206 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TOK( BR); }
 	YY_BREAK
 case 103:
 YY_RULE_SETUP
-#line 209 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( INSERTELEMENT); }
+#line 207 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TOK( SWITCH); }
 	YY_BREAK
 case 104:
 YY_RULE_SETUP
-#line 210 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( SHUFFLEVECTOR); }
+#line 208 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TOK( INVOKE); }
 	YY_BREAK
 case 105:
 YY_RULE_SETUP
-#line 213 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( VAR_ID); }
+#line 209 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TOK( UNWIND); }
 	YY_BREAK
 case 106:
 YY_RULE_SETUP
-#line 214 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( LABELSTR); }
+#line 210 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TOK( UNWIND); }
 	YY_BREAK
 case 107:
 YY_RULE_SETUP
-#line 215 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( LABELSTR); }
+#line 211 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TOK( UNREACHABLE); }
 	YY_BREAK
 case 108:
 YY_RULE_SETUP
-#line 216 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( STRINGCONSTANT ); }
+#line 213 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TOK( MALLOC); }
 	YY_BREAK
 case 109:
 YY_RULE_SETUP
-#line 217 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( EUINT64VAL ); }
+#line 214 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TOK( ALLOCA); }
 	YY_BREAK
 case 110:
 YY_RULE_SETUP
-#line 218 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( ESINT64VAL ); }
+#line 215 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TOK( FREE); }
 	YY_BREAK
 case 111:
 YY_RULE_SETUP
-#line 219 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( yytext[0] == 's' ? ESINT64VAL : EUINT64VAL ); }
+#line 216 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TOK( LOAD); }
 	YY_BREAK
 case 112:
 YY_RULE_SETUP
-#line 220 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( UINTVAL); }
+#line 217 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TOK( STORE); }
 	YY_BREAK
 case 113:
 YY_RULE_SETUP
-#line 221 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( SINTVAL); }
+#line 218 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TOK( GETELEMENTPTR); }
 	YY_BREAK
 case 114:
 YY_RULE_SETUP
-#line 222 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
-{ RET_TOK( FPVAL); }
+#line 220 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TOK( EXTRACTELEMENT); }
 	YY_BREAK
 case 115:
 YY_RULE_SETUP
-#line 223 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
+#line 221 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TOK( INSERTELEMENT); }
+	YY_BREAK
+case 116:
+YY_RULE_SETUP
+#line 222 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TOK( SHUFFLEVECTOR); }
+	YY_BREAK
+case 117:
+YY_RULE_SETUP
+#line 225 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TOK( VAR_ID); }
+	YY_BREAK
+case 118:
+YY_RULE_SETUP
+#line 226 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TOK( LABELSTR); }
+	YY_BREAK
+case 119:
+YY_RULE_SETUP
+#line 227 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TOK( LABELSTR); }
+	YY_BREAK
+case 120:
+YY_RULE_SETUP
+#line 228 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TOK( STRINGCONSTANT ); }
+	YY_BREAK
+case 121:
+YY_RULE_SETUP
+#line 229 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TOK( EUINT64VAL ); }
+	YY_BREAK
+case 122:
+YY_RULE_SETUP
+#line 230 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TOK( ESINT64VAL ); }
+	YY_BREAK
+case 123:
+YY_RULE_SETUP
+#line 231 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TOK( yytext[0] == 's' ? ESINT64VAL : EUINT64VAL ); }
+	YY_BREAK
+case 124:
+YY_RULE_SETUP
+#line 232 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TOK( UINTVAL); }
+	YY_BREAK
+case 125:
+YY_RULE_SETUP
+#line 233 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TOK( SINTVAL); }
+	YY_BREAK
+case 126:
+YY_RULE_SETUP
+#line 234 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
+{ RET_TOK( FPVAL); }
+	YY_BREAK
+case 127:
+YY_RULE_SETUP
+#line 235 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
 { RET_TOK( FPVAL); }
 	YY_BREAK
 case YY_STATE_EOF(INITIAL):
-#line 224 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
+#line 236 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
 {
                   /* Make sure to free the internal buffers for flex when we are
                    * done reading our input!
@@ -1735,22 +1828,22 @@
                   return EOF;
                 }
 	YY_BREAK
-case 116:
+case 128:
 YY_RULE_SETUP
-#line 232 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
+#line 244 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
 { /* Ignore whitespace */ }
 	YY_BREAK
-case 117:
+case 129:
 YY_RULE_SETUP
-#line 233 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
+#line 245 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
 { return yytext[0]; }
 	YY_BREAK
-case 118:
+case 130:
 YY_RULE_SETUP
-#line 235 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
+#line 247 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
 YY_FATAL_ERROR( "flex scanner jammed" );
 	YY_BREAK
-#line 1754 "UpgradeLexer.cpp"
+#line 1847 "UpgradeLexer.cpp"
 
 	case YY_END_OF_BUFFER:
 		{
@@ -2037,7 +2130,7 @@
 		while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
 			{
 			yy_current_state = (int) yy_def[yy_current_state];
-			if ( yy_current_state >= 511 )
+			if ( yy_current_state >= 556 )
 				yy_c = yy_meta[(unsigned int) yy_c];
 			}
 		yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
@@ -2067,11 +2160,11 @@
 	while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
 		{
 		yy_current_state = (int) yy_def[yy_current_state];
-		if ( yy_current_state >= 511 )
+		if ( yy_current_state >= 556 )
 			yy_c = yy_meta[(unsigned int) yy_c];
 		}
 	yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
-	yy_is_jam = (yy_current_state == 510);
+	yy_is_jam = (yy_current_state == 555);
 	if ( ! yy_is_jam )
 		*yy_state_ptr++ = yy_current_state;
 
@@ -2628,5 +2721,5 @@
 	return 0;
 	}
 #endif
-#line 235 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"
+#line 247 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l"