[llvm-commits] CVS: llvm/lib/AsmParser/Lexer.cpp.cvs Lexer.l Lexer.l.cvs llvmAsmParser.cpp.cvs llvmAsmParser.h.cvs llvmAsmParser.y llvmAsmParser.y.cvs

Anton Korobeynikov asl at math.spbu.ru
Sun Sep 17 13:26:03 PDT 2006



Changes in directory llvm/lib/AsmParser:

Lexer.cpp.cvs updated: 1.8 -> 1.9
Lexer.l updated: 1.76 -> 1.77
Lexer.l.cvs updated: 1.6 -> 1.7
llvmAsmParser.cpp.cvs updated: 1.12 -> 1.13
llvmAsmParser.h.cvs updated: 1.7 -> 1.8
llvmAsmParser.y updated: 1.260 -> 1.261
llvmAsmParser.y.cvs updated: 1.12 -> 1.13
---
Log message:

Added some eye-candy for Subtarget type checking
Added X86 StdCall & FastCall calling conventions. Codegen will follow.


---
Diffs of the changes:  (+1682 -1605)

 Lexer.cpp.cvs         | 1011 ++++++++++++------------
 Lexer.l               |    2 
 Lexer.l.cvs           |    2 
 llvmAsmParser.cpp.cvs | 2088 +++++++++++++++++++++++++-------------------------
 llvmAsmParser.h.cvs   |  154 +--
 llvmAsmParser.y       |   15 
 llvmAsmParser.y.cvs   |   15 
 7 files changed, 1682 insertions(+), 1605 deletions(-)


Index: llvm/lib/AsmParser/Lexer.cpp.cvs
diff -u llvm/lib/AsmParser/Lexer.cpp.cvs:1.8 llvm/lib/AsmParser/Lexer.cpp.cvs:1.9
--- llvm/lib/AsmParser/Lexer.cpp.cvs:1.8	Thu Sep 14 13:25:26 2006
+++ llvm/lib/AsmParser/Lexer.cpp.cvs	Sun Sep 17 15:25:45 2006
@@ -380,8 +380,8 @@
 	*yy_cp = '\0'; \
 	(yy_c_buf_p) = yy_cp;
 
-#define YY_NUM_RULES 111
-#define YY_END_OF_BUFFER 112
+#define YY_NUM_RULES 113
+#define YY_END_OF_BUFFER 114
 /* This struct is not used in this scanner,
    but its presence is necessary. */
 struct yy_trans_info
@@ -389,60 +389,63 @@
 	flex_int32_t yy_verify;
 	flex_int32_t yy_nxt;
 	};
-static yyconst flex_int16_t yy_accept[479] =
+static yyconst flex_int16_t yy_accept[501] =
     {   0,
-        0,    0,  112,  110,  109,  109,  110,  110,  110,  110,
-      110,  110,  102,  102,    1,  110,  110,  110,  110,  110,
-      110,  110,  110,  110,  110,  110,  110,  110,  110,  110,
-      110,  110,  110,  110,  110,  110,    0,  101,    0,   99,
-       98,   98,  105,    0,  103,    0,  107,  102,    0,    1,
-        0,    0,    0,    0,    0,    0,    0,    0,   84,    0,
+        0,    0,  114,  112,  111,  111,  112,  112,  112,  112,
+      112,  112,  104,  104,    1,  112,  112,  112,  112,  112,
+      112,  112,  112,  112,  112,  112,  112,  112,  112,  112,
+      112,  112,  112,  112,  112,  112,    0,  103,    0,  101,
+      100,  100,  107,    0,  105,    0,  109,  104,    0,    1,
+        0,    0,    0,    0,    0,    0,    0,    0,   86,    0,
        40,    0,    0,    0,    0,    0,    0,    0,    0,    0,
         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,   66,    0,    0,    0,    0,
+        0,    0,    0,    0,    0,   68,    0,    0,    0,    0,
         0,    0,    0,    0,    0,    0,    0,    0,   23,    0,
 
         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,  101,   98,   98,  107,   20,  107,    0,  108,   60,
-        0,    0,   65,    0,   38,    0,   33,    0,    0,    0,
-       41,    0,    0,    0,    0,    0,   63,    0,    0,    3,
+        0,    0,  103,  100,  100,  109,   20,  109,    0,  110,
+       62,    0,    0,   67,    0,   38,    0,   33,    0,    0,
+        0,   41,    0,    0,    0,    0,    0,   65,    0,    0,
+        3,    0,    0,    0,    0,    0,    0,    0,    0,    0,
+        0,   53,    0,    0,    0,    0,    0,    0,    0,    0,
+       64,   25,    0,    0,   76,    0,   66,   85,    0,    0,
+        0,    0,    0,   80,    0,   81,    0,    0,    0,   63,
         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-       51,    0,    0,    0,    0,    0,    0,    0,    0,   62,
-       25,    0,    0,   74,    0,   64,   83,    0,    0,    0,
-        0,    0,   78,    0,   79,    0,    0,    0,   61,    0,
         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,   67,
 
-        0,  100,  107,    0,    0,    0,  107,    0,    0,    0,
-        0,   46,   75,   76,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,   91,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,   92,
-       53,    0,    0,   22,    0,    0,  104,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,   26,
-        0,    0,    4,   58,    0,   52,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,   45,    0,   11,    0,  107,
-       35,    0,    0,    2,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    5,    0,   55,    0,
-
-        0,    0,    0,    0,    0,   57,    0,    0,    0,    0,
-        0,    0,   47,    0,    0,   69,   73,   71,   72,   70,
-       68,   49,    0,    0,   93,    0,    0,    0,   48,   54,
-       21,    0,    0,    0,    0,    0,   81,    0,    0,    0,
-       90,    0,   44,    0,    0,    0,    0,    0,    0,   56,
-       30,   24,    0,    0,   43,    0,    7,    0,    0,    0,
-       86,    0,   32,   89,   37,   59,    0,    0,   77,    0,
-        0,   85,   27,   28,    0,    0,   87,   50,   82,   80,
-        0,    0,    0,    0,   42,    6,   29,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,   36,    0,
-
-        0,    0,    0,    0,    0,    0,    8,    0,    0,    0,
-       17,    0,    0,    0,    0,    9,   10,    0,    0,    0,
-        0,    0,   34,    0,   12,   14,   13,    0,    0,    0,
+        0,   69,    0,  102,  109,    0,    0,    0,  109,    0,
+        0,    0,    0,   48,   77,   78,    0,    0,    0,    0,
         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,   39,    0,    0,    0,   15,
-        0,    0,    0,    0,   31,    0,    0,   88,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,   94,    0,   96,
-       97,   16,    0,   95,   18,    0,   19,    0
+        0,   93,    0,    0,    0,    0,    0,    0,    0,    0,
+        0,   94,   55,    0,    0,   22,    0,    0,  106,    0,
+        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
+        0,   26,    0,    0,    4,   60,    0,   54,    0,    0,
+        0,    0,    0,    0,    0,    0,    0,   47,    0,   11,
+        0,    0,  109,   35,    0,    0,    2,    0,    0,    0,
+        0,    0,    0,    0,    0,    0,    0,    0,    0,    5,
+
+        0,   57,    0,    0,    0,    0,    0,    0,   59,    0,
+        0,    0,    0,    0,    0,   49,    0,    0,   71,   75,
+       73,   74,   72,   70,   51,    0,    0,   95,    0,    0,
+        0,   50,   56,   21,    0,    0,    0,    0,    0,   83,
+        0,    0,    0,    0,    0,   92,    0,   44,    0,    0,
+        0,    0,    0,    0,   58,   30,   24,    0,    0,   43,
+        0,    7,    0,    0,    0,   88,    0,   32,   91,   37,
+       61,    0,    0,   79,    0,    0,   87,   27,   28,    0,
+        0,   89,   52,   84,   82,    0,    0,    0,    0,    0,
+        0,   42,    6,   29,    0,    0,    0,    0,    0,    0,
+
+        0,    0,    0,    0,    0,   36,    0,    0,    0,    0,
+        0,    0,    0,    0,    0,    8,    0,    0,    0,   17,
+        0,    0,    0,    0,    9,   10,    0,    0,    0,    0,
+        0,   34,    0,    0,    0,   12,   14,   13,    0,    0,
+        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
+        0,    0,    0,    0,    0,    0,    0,    0,   39,    0,
+        0,    0,    0,    0,   15,    0,    0,    0,    0,   31,
+        0,    0,   90,    0,    0,    0,    0,    0,    0,    0,
+        0,    0,    0,    0,    0,    0,   96,    0,   98,   99,
+       16,    0,   45,    0,   97,   18,   46,    0,   19,    0
+
     } ;
 
 static yyconst flex_int32_t yy_ec[256] =
@@ -452,15 +455,15 @@
         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,   11,   11,   11,   11,   12,   13,    1,
-        1,    1,    1,    1,   14,   14,   14,   14,   15,   14,
+       11,   11,   11,   12,   11,   13,   11,   14,   15,    1,
+        1,    1,    1,    1,   16,   16,   16,   16,   17,   16,
         5,    5,    5,    5,    5,    5,    5,    5,    5,    5,
         5,    5,    5,    5,    5,    5,    5,    5,    5,    5,
-        1,    1,    1,    1,   16,    1,   17,   18,   19,   20,
+        1,    1,    1,    1,   18,    1,   19,   20,   21,   22,
 
-       21,   22,   23,   24,   25,    5,   26,   27,   28,   29,
-       30,   31,   32,   33,   34,   35,   36,   37,   38,   39,
-       40,   41,    1,    1,    1,    1,    1,    1,    1,    1,
+       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,
         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,
@@ -477,374 +480,402 @@
         1,    1,    1,    1,    1
     } ;
 
-static yyconst flex_int32_t yy_meta[42] =
+static yyconst flex_int32_t yy_meta[44] =
     {   0,
         1,    1,    2,    1,    3,    1,    1,    3,    3,    3,
-        3,    4,    1,    3,    3,    3,    3,    3,    3,    3,
+        3,    3,    3,    4,    1,    3,    3,    3,    3,    3,
         3,    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 flex_int16_t yy_base[484] =
+static yyconst flex_int16_t yy_base[506] =
     {   0,
-        0,    0,  998,  999,  999,  999,  993,  984,   34,   36,
-       38,   42,   46,   50,    0,   52,   57,   54,   68,   62,
-       80,   82,   87,   93,   94,   40,   88,   84,   56,  121,
-      108,  150,  105,  115,  114,  116,  991,  999,  982,  999,
-        0,  139,  141,  144,  154,  120,  159,  176,  179,    0,
-       55,  180,   92,  164,  155,  135,  149,  190,  981,  191,
-      192,  194,  196,  197,  198,  200,  201,  161,  203,  205,
-      212,  122,  214,  218,  202,  219,  222,  229,  233,  224,
-      232,  234,  231,  243,  248,  980,  247,  251,  245,  235,
-      255,  256,  257,  259,  266,  270,  269,  273,  979,  274,
-
-      277,  265,  280,  285,  291,   41,  301,  295,  302,  288,
-      290,  978,    0,  315,  317,  977,  324,  336,    0,  976,
-      289,  319,  975,  321,  974,  325,  973,  328,  329,  339,
-      972,  340,  341,  342,  345,  346,  971,  355,  347,  352,
-      349,  350,  354,  356,  367,  357,  369,  374,  370,  373,
-      375,  377,  381,  383,  386,  388,  387,  389,  391,  970,
-      969,  392,   31,  968,  393,  967,  966,  418,  399,  406,
-      394,  430,  965,  411,  964,  402,  405,  413,  963,  408,
-      418,  435,  400,  440,  442,  436,  437,  438,  443,  444,
-      448,  450,  453,  462,  454,  456,  458,  464,  468,  962,
-
-      470,  999,  474,  491,  480,  493,  496,  480,  474,  484,
-      485,  961,  960,  959,  498,  476,  500,  503,  504,  506,
-      509,  507,  510,  511,  513,  514,  512,  520,  516,  958,
-      526,  524,  528,  531,  532,  535,  536,  538,  540,  957,
-      956,  542,  543,  955,  544,  546,    0,  545,  548,  550,
-      547,  562,  563,  564,  559,  565,  570,  574,  577,  954,
-      578,  566,  953,  952,  580,  951,  588,  590,  591,  592,
-      576,  594,  595,  596,  598,  950,  601,  949,  605,  604,
-      948,  606,  609,  947,  612,  608,  614,  610,  620,  622,
-      623,  627,  628,  629,  630,  632,  946,  633,  945,  634,
-
-      635,  637,  638,  646,  648,  944,  649,  651,  655,  656,
-      658,  659,  943,  654,  664,  942,  941,  940,  939,  938,
-      937,  936,  669,  670,  935,  671,  673,  676,  934,  933,
-      932,  674,  675,  678,  677,  679,  931,  681,  688,  689,
-      930,  692,  929,  691,  695,  694,  693,  698,  699,  928,
-      927,  926,  707,  709,  925,  710,  924,  713,  714,  719,
-      923,  718,  922,  921,  920,  919,  720,  721,  918,  727,
-      729,  917,  916,  915,  730,  728,  914,  913,  912,  911,
-      731,  734,  733,  735,  910,  907,  898,  742,  744,  745,
-      737,  748,  751,  749,  753,  754,  755,  756,  896,  759,
-
-      761,  762,  772,  773,  774,  775,  895,  776,  779,  780,
-      894,  781,  783,  785,  792,  893,  891,  790,  795,  787,
-      791,  805,  890,  807,  888,  887,  884,  788,  809,  798,
-      810,  812,  813,  816,  814,  817,  819,  822,  824,  825,
-      826,  829,  831,  835,  832,  882,  833,  839,  836,  881,
-      847,  843,  846,  850,  880,  853,  849,  876,  857,  860,
-      854,  861,  863,  864,  865,  868,  869,  644,  872,  518,
-      401,  292,  874,  207,  170,  878,  166,  999,  911,  913,
-      137,  917,   99
+        0,    0, 1090, 1091, 1091, 1091, 1085, 1074,   36,   40,
+       44,   50,   56,   62,    0,   63,   66,   81,   89,   47,
+       90,   91,   76,   96,  108,   49,   97,  110,   68,  137,
+      120,  168,  112,  115,  135,  127, 1083, 1091, 1072, 1091,
+        0,  158,  173,  180,  196,   70,  201,  216,  221,    0,
+      121,  152,  123,  139,  166,  140,  162,  184, 1071,  222,
+      180,   31,  186,  232,   69,  144,  209,  234,  236,  225,
+      188,  241,  119,  235,  189,  238,  246,  245,  249,  255,
+      248,  257,  258,  264,  269, 1070,  265,  267,  271,  273,
+      275,  276,  277,  282,  284,  304,  293,  296, 1069,  305,
+
+      288,  285,  297,  308,  311,  315,  316,  323,  325,  147,
+      322,  328, 1068,    0,  343,  348, 1067,  362,  379,    0,
+     1066,  352,  335, 1065,  355, 1064,  354, 1063,  366,  368,
+      289, 1062,  348,  369,  380,  370,  382, 1061,  386,  384,
+      374,  392,  393,  388,  394,  398,  396,  400,  406,  404,
+      407,  411,  408,  413,  415,  418,  423,  421,  424,  425,
+     1060, 1059,  427,  428, 1058,  430, 1057, 1056,  454,  435,
+      443,  436,  465, 1055,  433, 1054,  434,  437,  467, 1053,
+      455,  468,  470,  331,  475,  477,  469,  471,  472,  487,
+      473,  491,  485,  479,  499,  493,  501,  495,  502,  505,
+
+      508, 1052,  506, 1091,  519,  533,  537,  541,  546,  547,
+      513,  548,  549, 1051, 1050, 1049,  550,  551,  552,  553,
+      554,  555,  509,  556,  563,  559,  560,  572,  561,  562,
+      573, 1048,  576,  579,  580,  583,  585,  586,  587,  590,
+      588, 1047, 1046,  592,  594, 1045,  593,  595,    0,  598,
+      599,  613,  601,  605,  615,  616,  611,  511,  622,  623,
+      619, 1044,  627,  629, 1043, 1042,  630, 1041,  635,  633,
+      637,  640,  641,  642,  647,  648,  649, 1040,  651, 1039,
+      655,  653,  673, 1038,  652,  654, 1037,  660,  656,  673,
+      664,  675,  678,  679,  682,  683,  684,  686,  687, 1036,
+
+      688, 1035,  690,  689,  692,  693,  696,  701, 1034,  702,
+      705,  711,  706,  712,  717, 1033,  709,  720, 1032, 1031,
+     1030, 1029, 1028, 1027, 1026,  722,  723, 1025,  724,  725,
+      729, 1024, 1023, 1022,  728,  732,  734,  730,  735, 1021,
+      731,  744,  740,  741,  749, 1020,  747, 1019,  750,  752,
+      756,  755,  758,  761, 1018, 1017, 1016,  768,  762, 1015,
+      770, 1014,  769,  771,  782, 1013,  774, 1012, 1011, 1010,
+     1009,  763,  775, 1008,  788,  783, 1007, 1006, 1005,  789,
+      791, 1004, 1003, 1002, 1001,  790,  794,  796,  795,  798,
+      799, 1000,  999,  998,  800,  806,  807,  809,  801,  811,
+
+      812,  813,  817,  814,  818,  995,  819,  825,  826,  830,
+      836,  837,  839,  838,  841,  986,  842,  843,  847,  984,
+      848,  850,  849,  853,  983,  982,  851,  859,  869,  855,
+      871,  981,  873,  874,  875,  979,  978,  977,  878,  881,
+      882,  884,  885,  857,  887,  891,  893,  892,  895,  896,
+      897,  898,  899,  903,  904,  908,  909,  910,  975,  913,
+      916,  919,  920,  921,  971,  923,  924,  926,  928,  969,
+      930,  929,  968,  931,  937,  940,  941,  943,  949,  950,
+      951,  952,  954,  955,  956,  957,  858,  959,  854,  597,
+      523,  963,  440,  965,  438,  334,  286,  966,  205, 1091,
+
+     1001, 1003,  214, 1007,   83
     } ;
 
-static yyconst flex_int16_t yy_def[484] =
+static yyconst flex_int16_t yy_def[506] =
     {   0,
-      478,    1,  478,  478,  478,  478,  479,  480,  481,  478,
-      480,  480,  480,  480,  482,  480,  480,  480,  480,  480,
-      480,  480,  480,  480,  480,  480,  480,  480,  480,  480,
-      480,  480,  480,  480,  480,  480,  479,  478,  480,  478,
-      483,  483,  478,  478,  480,  480,  480,  480,  480,  482,
-      480,  480,  480,  480,  480,  480,  480,  480,  480,  480,
-      480,  480,  480,  480,  480,  480,  480,  480,  480,  480,
-      480,  480,  480,  480,  480,  480,  480,  480,  480,  480,
-      480,  480,  480,  480,  480,  480,  480,  480,  480,  480,
-      480,  480,  480,  480,  480,  480,  480,  480,  480,  480,
-
-      480,  480,  480,  480,  480,  480,  480,  480,  480,  480,
-      480,  478,  483,  483,  478,  480,  480,  480,   49,  480,
-      480,  480,  480,  480,  480,  480,  480,  480,  480,  480,
-      480,  480,  480,  480,  480,  480,  480,  480,  480,  480,
-      480,  480,  480,  480,  480,  480,  480,  480,  480,  480,
-      480,  480,  480,  480,  480,  480,  480,  480,  480,  480,
-      480,  480,  480,  480,  480,  480,  480,   49,  480,  480,
-      480,  480,  480,  480,  480,  480,  480,  480,  480,  480,
-      480,  480,  480,  480,  480,  480,  480,  480,  480,  480,
-      480,  480,  480,  480,  480,  480,  480,  480,  480,  480,
-
-      480,  478,  478,  478,  478,  480,  480,  480,  480,  480,
-      480,  480,  480,  480,  480,  480,  480,  480,  480,  480,
-      480,  480,  480,  480,  480,  480,  480,  480,  480,  480,
-      480,  480,  480,  480,  480,  480,  480,  480,  480,  480,
-      480,  480,  480,  480,  480,  480,  168,  480,  480,  480,
-      480,  480,  480,  480,  480,  480,  480,  480,  480,  480,
-      480,  480,  480,  480,  480,  480,  480,  480,  480,  480,
-      480,  480,  480,  480,  480,  480,  480,  480,  480,  478,
-      480,  480,  480,  480,  480,  480,  480,  480,  480,  480,
-      480,  480,  480,  480,  480,  480,  480,  480,  480,  480,
-
-      480,  480,  480,  480,  480,  480,  480,  480,  480,  480,
-      480,  480,  480,  480,  480,  480,  480,  480,  480,  480,
-      480,  480,  480,  480,  480,  480,  480,  480,  480,  480,
-      480,  480,  480,  480,  480,  480,  480,  480,  480,  480,
-      480,  480,  480,  480,  480,  480,  480,  480,  480,  480,
-      480,  480,  480,  480,  480,  480,  480,  480,  480,  480,
-      480,  480,  480,  480,  480,  480,  480,  480,  480,  480,
-      480,  480,  480,  480,  480,  480,  480,  480,  480,  480,
-      480,  480,  480,  480,  480,  480,  480,  480,  480,  480,
-      480,  480,  480,  480,  480,  480,  480,  480,  480,  480,
-
-      480,  480,  480,  480,  480,  480,  480,  480,  480,  480,
-      480,  480,  480,  480,  480,  480,  480,  480,  480,  480,
-      480,  480,  480,  480,  480,  480,  480,  480,  480,  480,
-      480,  480,  480,  480,  480,  480,  480,  480,  480,  480,
-      480,  480,  480,  480,  480,  480,  480,  480,  480,  480,
-      480,  480,  480,  480,  480,  480,  480,  480,  480,  480,
-      480,  480,  480,  480,  480,  480,  480,  480,  480,  480,
-      480,  480,  480,  480,  480,  480,  480,    0,  478,  478,
-      478,  478,  478
+      500,    1,  500,  500,  500,  500,  501,  502,  503,  500,
+      502,  502,  502,  502,  504,  502,  502,  502,  502,  502,
+      502,  502,  502,  502,  502,  502,  502,  502,  502,  502,
+      502,  502,  502,  502,  502,  502,  501,  500,  502,  500,
+      505,  505,  500,  500,  502,  502,  502,  502,  502,  504,
+      502,  502,  502,  502,  502,  502,  502,  502,  502,  502,
+      502,  502,  502,  502,  502,  502,  502,  502,  502,  502,
+      502,  502,  502,  502,  502,  502,  502,  502,  502,  502,
+      502,  502,  502,  502,  502,  502,  502,  502,  502,  502,
+      502,  502,  502,  502,  502,  502,  502,  502,  502,  502,
+
+      502,  502,  502,  502,  502,  502,  502,  502,  502,  502,
+      502,  502,  500,  505,  505,  500,  502,  502,  502,   49,
+      502,  502,  502,  502,  502,  502,  502,  502,  502,  502,
+      502,  502,  502,  502,  502,  502,  502,  502,  502,  502,
+      502,  502,  502,  502,  502,  502,  502,  502,  502,  502,
+      502,  502,  502,  502,  502,  502,  502,  502,  502,  502,
+      502,  502,  502,  502,  502,  502,  502,  502,   49,  502,
+      502,  502,  502,  502,  502,  502,  502,  502,  502,  502,
+      502,  502,  502,  502,  502,  502,  502,  502,  502,  502,
+      502,  502,  502,  502,  502,  502,  502,  502,  502,  502,
+
+      502,  502,  502,  500,  500,  500,  500,  502,  502,  502,
+      502,  502,  502,  502,  502,  502,  502,  502,  502,  502,
+      502,  502,  502,  502,  502,  502,  502,  502,  502,  502,
+      502,  502,  502,  502,  502,  502,  502,  502,  502,  502,
+      502,  502,  502,  502,  502,  502,  502,  502,  169,  502,
+      502,  502,  502,  502,  502,  502,  502,  502,  502,  502,
+      502,  502,  502,  502,  502,  502,  502,  502,  502,  502,
+      502,  502,  502,  502,  502,  502,  502,  502,  502,  502,
+      502,  502,  500,  502,  502,  502,  502,  502,  502,  502,
+      502,  502,  502,  502,  502,  502,  502,  502,  502,  502,
+
+      502,  502,  502,  502,  502,  502,  502,  502,  502,  502,
+      502,  502,  502,  502,  502,  502,  502,  502,  502,  502,
+      502,  502,  502,  502,  502,  502,  502,  502,  502,  502,
+      502,  502,  502,  502,  502,  502,  502,  502,  502,  502,
+      502,  502,  502,  502,  502,  502,  502,  502,  502,  502,
+      502,  502,  502,  502,  502,  502,  502,  502,  502,  502,
+      502,  502,  502,  502,  502,  502,  502,  502,  502,  502,
+      502,  502,  502,  502,  502,  502,  502,  502,  502,  502,
+      502,  502,  502,  502,  502,  502,  502,  502,  502,  502,
+      502,  502,  502,  502,  502,  502,  502,  502,  502,  502,
+
+      502,  502,  502,  502,  502,  502,  502,  502,  502,  502,
+      502,  502,  502,  502,  502,  502,  502,  502,  502,  502,
+      502,  502,  502,  502,  502,  502,  502,  502,  502,  502,
+      502,  502,  502,  502,  502,  502,  502,  502,  502,  502,
+      502,  502,  502,  502,  502,  502,  502,  502,  502,  502,
+      502,  502,  502,  502,  502,  502,  502,  502,  502,  502,
+      502,  502,  502,  502,  502,  502,  502,  502,  502,  502,
+      502,  502,  502,  502,  502,  502,  502,  502,  502,  502,
+      502,  502,  502,  502,  502,  502,  502,  502,  502,  502,
+      502,  502,  502,  502,  502,  502,  502,  502,  502,    0,
+
+      500,  500,  500,  500,  500
     } ;
 
-static yyconst flex_int16_t yy_nxt[1041] =
+static yyconst flex_int16_t yy_nxt[1135] =
     {   0,
         4,    5,    6,    7,    8,    9,   10,   11,   12,   13,
-       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,   44,   44,   45,   45,   40,
-       46,   40,   40,   40,   47,   48,   48,   40,   47,   48,
-       48,   40,  245,   40,  193,   40,   40,   40,   40,   83,
-       60,   51,   61,   40,  120,   84,   89,   56,   52,   40,
-       53,   57,   54,   62,   49,   55,   58,   63,   64,   59,
-       68,   40,   65,   40,   66,   40,   70,   67,   40,   40,
-
-       69,  113,   73,   40,   40,   40,   71,   87,   74,   77,
-       80,  123,   72,   88,   75,   76,   40,   78,   85,   40,
-       86,  107,   79,   81,   98,   40,   40,   40,  116,   82,
-       90,   40,   40,   40,  108,  109,  111,   99,   91,   41,
-      100,   92,  146,  110,   93,   94,   40,  101,  114,  114,
-       43,   43,  115,   44,   44,   95,   96,  126,   97,   90,
-       40,   40,   47,   45,   45,   40,   40,  102,  117,  117,
-       40,  127,   40,  118,  103,   40,  104,   40,  105,  118,
-      140,   40,  125,  106,   47,   48,   48,   40,  119,  119,
-       40,   40,  119,  119,  124,  119,  119,  119,  119,  119,
-
-      119,   40,   40,   40,  121,   40,  122,   40,   40,   40,
-      131,   40,   40,   40,   40,  135,   40,  129,   40,  128,
-      132,  141,  133,   40,  130,   40,  138,  136,  134,   40,
-       40,  143,  149,   40,  137,   40,  139,  142,  144,  153,
-       40,  145,   40,   40,   40,   40,   40,  148,  147,  156,
-      158,  159,  150,  151,   40,  152,   40,  154,   40,   40,
-      160,  157,   40,  155,  163,  161,   40,   40,   40,  162,
-       40,  164,  166,  168,  170,  165,   40,   40,  177,  167,
-       40,   40,  171,  173,   40,   40,  174,  179,   40,  175,
-      172,   40,  176,  180,  169,  178,   40,  181,  183,   40,
-
-       40,   40,   40,   40,  186,  182,   40,  185,  187,  184,
-      189,  208,   40,   40,  188,  190,  194,  195,  199,  197,
-      200,  198,  201,  191,  114,  114,  203,  203,  192,  196,
-       40,  204,   40,  117,  117,   40,   40,  204,  118,   40,
-       40,  210,  205,  206,  118,  207,  207,   40,  209,  211,
-       40,   40,   40,   40,  212,  213,   40,   40,   40,  215,
-       40,   40,  217,   40,  222,   40,   40,   40,   40,  224,
-      225,  218,  219,  214,  216,  220,  223,  230,   40,  221,
-       40,   40,  226,  229,   40,   40,   40,  227,   40,  231,
-      228,  232,   40,  234,   40,  235,  233,   40,   40,   40,
-
-       40,  237,   40,   40,   40,   40,  236,  240,  238,  241,
-       40,   40,   40,   40,  250,  242,   40,   40,  244,   40,
-      239,  246,   40,  256,   40,  257,  243,  247,  247,   40,
-      262,  247,  247,  248,  247,  247,  247,  247,  247,  247,
-      249,   40,  259,  255,  260,  258,   40,   40,   40,   40,
-      251,   40,  252,   40,   40,   40,  253,  261,  254,   40,
-      263,   40,  264,  268,   40,   40,  267,   40,  270,   40,
-      265,  266,  269,   40,  271,   40,  275,  276,  273,   40,
-      277,   40,  272,  203,  203,   40,  274,   40,  204,  280,
-      280,   40,  282,  278,  204,   40,   40,  205,  205,  279,
-
-      280,  280,  207,  207,   40,  207,  207,   40,  281,   40,
-      286,   40,  283,  284,   40,   40,  285,   40,   40,  288,
-       40,   40,   40,   40,   40,   40,  293,   40,  289,   40,
-      296,   40,  297,  292,  287,   40,  291,   40,  298,   40,
-      301,  294,   40,   40,  290,  295,   40,   40,  302,   40,
-      299,   40,  300,   40,   40,   40,   40,   40,   40,   40,
-      305,   40,  306,  303,  304,  313,  308,  307,  315,  310,
-       40,  309,  314,   40,   40,   40,   40,   40,  316,  311,
-      312,   40,  317,  319,  321,   40,  323,   40,   40,   40,
-      324,   40,  328,  322,  325,  326,  318,  320,  327,   40,
-
-      329,   40,   40,   40,  334,   40,   40,   40,  333,   40,
-      330,  331,   40,  280,  280,  332,   40,   40,  337,   40,
-       40,   40,  341,   40,  344,   40,  335,  336,  342,  340,
-      343,   40,  345,   40,   40,  339,  338,  347,   40,   40,
-       40,   40,  346,   40,   40,   40,   40,  350,   40,   40,
-      354,  355,  348,  349,  356,   40,  351,   40,  353,   40,
-       40,  357,   40,  352,  358,   40,   40,   40,  361,   40,
-       40,  363,  359,  364,  360,   40,  365,  362,  366,  367,
-       40,   40,   40,  368,   40,   40,   40,   40,   40,   40,
-       40,  371,   40,  376,  372,  370,  374,  377,  369,   40,
-
-       40,  379,   40,   40,   40,   40,   40,  373,  375,   40,
-       40,  378,  381,  385,  386,  380,  383,  382,   40,  384,
-       40,   40,  390,  391,   40,   40,  387,  388,  389,   40,
-       40,   40,   40,  394,  395,  396,  397,  393,   40,   40,
-       40,   40,   40,  392,   40,   40,   40,  400,   40,  399,
-      401,  403,  398,   40,  402,   40,   40,  404,  405,   40,
-       40,  406,   40,  411,   40,   40,   40,   40,  412,  407,
-       40,  413,   40,   40,  408,  417,  409,  414,  421,  415,
-      416,  420,  410,   40,   40,   40,   40,   40,  422,  418,
-       40,   40,   40,  423,   40,  419,   40,  425,   40,   40,
-
-      428,   40,   40,   40,  439,  435,   40,  429,  424,   40,
-      426,  430,  432,  427,  433,  434,   40,  436,   40,  431,
-       40,   40,  437,   40,   40,   40,  442,   40,   40,  440,
-       40,  438,  441,   40,  445,   40,   40,   40,  449,  443,
-       40,  447,   40,   40,   40,  448,   40,   40,  446,  450,
-       40,  454,  451,  444,   40,  455,  452,   40,   40,  458,
-       40,   40,  459,  453,   40,   40,  456,  460,   40,  465,
-      462,   40,   40,  457,   40,   40,   40,  461,  463,   40,
-       40,  466,  464,   40,  472,   40,  468,   40,  467,   40,
-      469,   40,   40,   40,  476,   40,  471,  470,   40,   40,
+       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,  133,
+       40,  134,   40,   40,   47,   48,   48,   48,   48,   40,
+       47,   48,   48,   48,   48,   40,   40,   68,  117,   40,
+       83,   40,   40,   40,   51,  114,   84,   69,   56,   40,
+       89,   52,   57,   53,   40,   54,   49,   58,   55,   60,
+
+       59,   61,   40,   40,   40,   75,   76,  138,   70,   40,
+       40,   64,   62,   73,   77,   65,   63,   66,   71,   74,
+       67,   40,   78,   40,   72,   40,   80,   79,   40,   85,
+      107,   86,   40,   40,   40,   87,   40,  109,   98,   81,
+       40,   88,  121,  108,  124,   82,   90,  110,   40,  112,
+       40,   99,   40,   40,  100,  148,   91,   40,  201,   92,
+       40,  101,   93,   94,  127,   40,  111,  115,  115,  115,
+      115,  125,  139,   95,   96,   40,   97,   90,  122,   40,
+      123,   40,   43,   43,   43,   43,  128,  102,  116,   44,
+       44,   44,   44,   40,  103,  126,  104,   40,  105,   40,
+
+      132,   40,   40,  106,   47,   45,   45,   45,   45,   40,
+      118,  118,  118,  118,   40,  129,   41,  119,   40,  146,
+      135,  150,   40,  119,   47,   48,   48,   48,   48,   40,
+      120,  120,  120,  120,   40,   40,  120,  120,   40,  120,
+      120,  120,  120,  120,  120,   40,  140,   40,   40,   40,
+      130,   40,  136,  144,   40,  141,  142,  131,   40,   40,
+      145,   40,   40,  147,  137,  154,  149,  157,   40,  160,
+       40,   40,  143,  151,  152,  155,  153,   40,   40,  158,
+       40,  156,   40,  159,   40,  161,   40,  164,   40,   40,
+       40,  165,  163,  166,  162,   40,  171,   40,   40,   40,
+
+      167,   40,   40,  178,  172,  174,   40,  168,  175,   40,
+       40,  176,  173,  169,  177,  179,  170,   40,   40,  181,
+      186,   40,  182,  180,   40,  216,  187,  188,   40,   40,
+      183,  184,  190,  195,  196,   40,   40,  191,   40,  189,
+      194,   40,  185,  200,   40,  192,  197,   40,   40,  198,
+      193,  199,  115,  115,  115,  115,  202,  205,  205,  205,
+      205,   40,  203,  264,  206,   40,  211,   40,   40,  217,
+      206,  118,  118,  118,  118,   40,  210,  212,  119,   40,
+      213,   40,   40,   40,  119,  207,  208,   40,  209,  209,
+      209,  209,   40,   40,  214,   40,  215,   40,  220,   40,
+
+      225,   40,  219,  224,  218,   40,   40,   40,  222,   40,
+      221,   40,  223,   40,  226,  227,  231,   40,  232,   40,
+       40,   40,  233,  229,   40,  234,   40,  228,   40,  236,
+      230,   40,  235,  237,   40,  239,   40,   40,   40,  238,
+       40,   40,  240,   40,  242,  243,   40,   40,   40,   40,
+       40,   40,  244,   40,  241,  246,   40,  258,  252,  259,
+      248,  247,  245,  249,  249,  249,  249,  257,   40,  249,
+      249,  250,  249,  249,  249,  249,  249,  249,   40,  251,
+       40,   40,   40,   40,   40,   40,   40,  253,   40,  254,
+       40,  261,   40,  255,  263,  256,  262,  265,   40,  266,
+
+       40,  260,  269,  271,   40,  267,   40,  268,   40,  270,
+      274,  273,   40,  272,   40,   40,  278,  275,   40,   40,
+      279,   40,   40,  277,   40,  281,   40,  276,  205,  205,
+      205,  205,  280,  285,  326,  206,   40,  282,  294,  207,
+      207,  206,  283,  283,  283,  283,  283,  283,  283,  283,
+      209,  209,  209,  209,   40,  209,  209,  209,  209,   40,
+       40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
+      288,  291,   40,   40,   40,   40,   40,  284,  286,  287,
+      292,  296,  301,  300,  295,   40,   40,  289,  290,   40,
+      299,  297,   40,   40,  298,  293,   40,  304,   40,   40,
+
+       40,   40,  305,   40,  303,   40,   40,   40,   40,  302,
+       40,   40,   40,  308,   40,  309,  311,  306,   40,  307,
+      316,  310,  313,  312,   40,  317,   40,  320,   40,   40,
+      314,  315,   40,  318,  319,   40,   40,  322,  324,  329,
+       40,  321,   40,   40,  327,  328,   40,  325,   40,  330,
+       40,  323,  332,   40,   40,   40,  334,  331,  336,  333,
+       40,   40,   40,  335,   40,   40,   40,   40,   40,   40,
+      346,  337,  340,   40,  349,  347,  338,   40,  343,  345,
+      348,  339,  283,  283,  283,  283,   40,  342,   40,  341,
+      344,   40,   40,  350,  352,   40,   40,   40,  351,   40,
+
+       40,   40,   40,   40,  355,   40,   40,  359,  360,   40,
+      353,  354,  361,  356,   40,   40,  358,  362,   40,   40,
+      357,  363,   40,  366,   40,   40,  365,  368,  370,  364,
+       40,  369,  367,   40,  371,   40,   40,   40,   40,  372,
+      373,   40,   40,   40,   40,   40,  376,   40,   40,  377,
+      375,  379,  381,   40,   40,  382,  374,   40,  387,  384,
+       40,  378,   40,   40,  380,   40,  383,  385,   40,   40,
+      386,   40,  392,  390,   40,   40,   40,  388,  393,  389,
+      391,   40,   40,   40,   40,  397,  398,   40,   40,  395,
+      394,  401,  396,  402,  404,   40,   40,  405,  399,  400,
+
+      403,   40,   40,   40,   40,  406,  408,   40,   40,   40,
+      407,   40,   40,   40,   40,  409,  410,  413,  411,   40,
+       40,  414,   40,  421,   40,   40,   40,   40,  415,  412,
+       40,   40,   40,  422,  417,  416,  426,  420,   40,   40,
+      418,  424,  423,   40,  430,  425,  419,  429,  431,   40,
+       40,   40,   40,  427,   40,   40,   40,  428,  432,  434,
+       40,   40,   40,   40,   40,  436,   40,   40,   40,  439,
+       40,   40,   40,  433,  435,  443,  440,  444,  437,  438,
+      441,  445,   40,  447,   40,  442,   40,   40,   40,  446,
+      448,   40,  450,  449,   40,   40,  452,   40,   40,  457,
+
+       40,  451,  455,  453,   40,   40,   40,  458,   40,   40,
+       40,   40,   40,  462,  456,  464,   40,   40,  454,  460,
+      461,   40,   40,   40,  463,  465,   40,  459,  466,   40,
+      469,  470,   40,   40,   40,  467,   40,   40,  473,   40,
+      468,   40,   40,   40,   40,  477,  471,  474,  475,  476,
+       40,  482,  479,   40,   40,  472,   40,  484,  480,  483,
+      478,  481,   40,   40,   40,   40,  485,   40,   40,   40,
+       40,  486,   40,  491,  492,  493,   40,  487,   40,   40,
+      488,   40,   40,  497,   40,  490,  489,  498,   40,  496,
+       40,   40,   40,  495,   40,   40,   40,   40,  494,   40,
 
-      475,   40,   40,  474,   40,   40,   40,   40,  473,   40,
-      477,   37,   37,   37,   37,   39,   39,   50,   40,   50,
+      499,   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,  202,
-       40,   40,   40,   40,  112,   40,   38,  478,    3,  478,
+       40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
+       40,  204,   40,   40,   40,   40,  113,   40,   38,  500,
+        3,  500,  500,  500,  500,  500,  500,  500,  500,  500,
 
-      478,  478,  478,  478,  478,  478,  478,  478,  478,  478,
-      478,  478,  478,  478,  478,  478,  478,  478,  478,  478,
-      478,  478,  478,  478,  478,  478,  478,  478,  478,  478,
-      478,  478,  478,  478,  478,  478,  478,  478,  478,  478
+      500,  500,  500,  500,  500,  500,  500,  500,  500,  500,
+      500,  500,  500,  500,  500,  500,  500,  500,  500,  500,
+      500,  500,  500,  500,  500,  500,  500,  500,  500,  500,
+      500,  500,  500,  500
     } ;
 
-static yyconst flex_int16_t yy_chk[1041] =
+static yyconst flex_int16_t yy_chk[1135] =
     {   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,    9,  163,    9,    9,   10,   10,   11,   11,   11,
-       12,   26,  106,   12,   13,   13,   13,   13,   14,   14,
-       14,   14,  163,   16,  106,   18,   51,   29,   17,   26,
-       18,   16,   18,   20,   51,   26,   29,   17,   16,   19,
-       16,   17,   16,   18,   13,   16,   17,   18,   19,   17,
-       20,   21,   19,   22,   19,   28,   21,   19,   23,   27,
-
-       20,  483,   22,   53,   24,   25,   21,   28,   22,   24,
-       25,   53,   21,   28,   23,   23,   33,   24,   27,   31,
-       27,   33,   24,   25,   31,   35,   34,   36,   46,   25,
-       30,   46,   30,   72,   33,   34,   36,   31,   30,  481,
-       31,   30,   72,   35,   30,   30,   56,   31,   42,   42,
-       43,   43,   44,   44,   44,   30,   30,   56,   30,   32,
-       57,   32,   45,   45,   45,   45,   55,   32,   47,   47,
-       47,   57,   68,   47,   32,   54,   32,  477,   32,   47,
-       68,  475,   55,   32,   48,   48,   48,   48,   49,   49,
-       49,   52,   49,   49,   54,   49,   49,   49,   49,   49,
-
-       49,   58,   60,   61,   52,   62,   52,   63,   64,   65,
-       61,   66,   67,   75,   69,   64,   70,   60,  474,   58,
-       62,   69,   62,   71,   60,   73,   66,   64,   63,   74,
-       76,   70,   75,   77,   65,   80,   67,   69,   70,   77,
-       78,   71,   83,   81,   79,   82,   90,   74,   73,   79,
-       80,   81,   76,   76,   84,   76,   89,   78,   87,   85,
-       82,   79,   88,   78,   85,   83,   91,   92,   93,   84,
-       94,   87,   89,   90,   92,   88,  102,   95,   94,   89,
-       97,   96,   92,   93,   98,  100,   93,   96,  101,   93,
-       92,  103,   93,   97,   91,   95,  104,   98,  100,  110,
-
-      121,  111,  105,  472,  102,   98,  108,  101,  103,  100,
-      105,  121,  107,  109,  104,  105,  107,  107,  109,  108,
-      110,  108,  111,  105,  114,  114,  115,  115,  105,  107,
-      122,  115,  124,  117,  117,  117,  126,  115,  117,  128,
-      129,  124,  118,  118,  117,  118,  118,  118,  122,  126,
-      130,  132,  133,  134,  128,  129,  135,  136,  139,  132,
-      141,  142,  134,  140,  139,  143,  138,  144,  146,  141,
-      142,  135,  136,  130,  133,  138,  140,  146,  145,  138,
-      147,  149,  142,  145,  150,  148,  151,  143,  152,  147,
-      144,  148,  153,  150,  154,  151,  149,  155,  157,  156,
-
-      158,  153,  159,  162,  165,  171,  152,  156,  154,  157,
-      169,  183,  471,  176,  171,  158,  177,  170,  162,  180,
-      155,  165,  174,  176,  178,  177,  159,  168,  168,  181,
-      183,  168,  168,  169,  168,  168,  168,  168,  168,  168,
-      170,  172,  180,  174,  181,  178,  182,  186,  187,  188,
-      172,  184,  172,  185,  189,  190,  172,  182,  172,  191,
-      184,  192,  185,  189,  193,  195,  188,  196,  191,  197,
-      186,  187,  190,  194,  192,  198,  196,  197,  194,  199,
-      198,  201,  193,  203,  203,  209,  195,  216,  203,  205,
-      205,  208,  209,  199,  203,  210,  211,  204,  204,  201,
-
-      204,  204,  206,  206,  206,  207,  207,  207,  208,  215,
-      216,  217,  210,  211,  218,  219,  215,  220,  222,  218,
-      221,  223,  224,  227,  225,  226,  223,  229,  219,  470,
-      226,  228,  227,  222,  217,  232,  221,  231,  228,  233,
-      232,  224,  234,  235,  220,  225,  236,  237,  233,  238,
-      229,  239,  231,  242,  243,  245,  248,  246,  251,  249,
-      236,  250,  237,  234,  235,  248,  239,  238,  250,  243,
-      255,  242,  249,  252,  253,  254,  256,  262,  251,  245,
-      246,  257,  252,  253,  254,  258,  256,  271,  259,  261,
-      257,  265,  262,  255,  258,  259,  252,  253,  261,  267,
-
-      265,  268,  269,  270,  271,  272,  273,  274,  270,  275,
-      267,  268,  277,  280,  280,  269,  279,  282,  274,  286,
-      283,  288,  282,  285,  286,  287,  272,  273,  283,  279,
-      285,  289,  287,  290,  291,  277,  275,  289,  292,  293,
-      294,  295,  288,  296,  298,  300,  301,  292,  302,  303,
-      296,  298,  290,  291,  300,  468,  293,  304,  295,  305,
-      307,  301,  308,  294,  302,  314,  309,  310,  305,  311,
-      312,  308,  303,  309,  304,  315,  310,  307,  311,  312,
-      323,  324,  326,  314,  327,  332,  333,  328,  335,  334,
-      336,  324,  338,  333,  326,  323,  328,  334,  315,  339,
-
-      340,  336,  344,  342,  347,  346,  345,  327,  332,  348,
-      349,  335,  339,  345,  346,  338,  342,  340,  353,  344,
-      354,  356,  353,  353,  358,  359,  347,  348,  349,  362,
-      360,  367,  368,  358,  359,  360,  362,  356,  370,  376,
-      371,  375,  381,  354,  383,  382,  384,  370,  391,  368,
-      371,  376,  367,  388,  375,  389,  390,  381,  382,  392,
-      394,  383,  393,  391,  395,  396,  397,  398,  392,  384,
-      400,  393,  401,  402,  388,  397,  389,  394,  402,  395,
-      396,  401,  390,  403,  404,  405,  406,  408,  403,  398,
-      409,  410,  412,  404,  413,  400,  414,  406,  420,  428,
-
-      410,  418,  421,  415,  428,  420,  419,  412,  405,  430,
-      408,  413,  415,  409,  418,  419,  422,  421,  424,  414,
-      429,  431,  422,  432,  433,  435,  431,  434,  436,  429,
-      437,  424,  430,  438,  434,  439,  440,  441,  438,  432,
-      442,  436,  443,  445,  447,  437,  444,  449,  435,  439,
-      448,  443,  440,  433,  452,  444,  441,  453,  451,  448,
-      457,  454,  449,  442,  456,  461,  445,  451,  459,  457,
-      453,  460,  462,  447,  463,  464,  465,  452,  454,  466,
-      467,  459,  456,  469,  465,  473,  461,  458,  460,  476,
-      462,  455,  450,  446,  473,  427,  464,  463,  426,  425,
-
-      469,  423,  417,  467,  416,  411,  407,  399,  466,  387,
-      476,  479,  479,  479,  479,  480,  480,  482,  386,  482,
-      482,  385,  380,  379,  378,  377,  374,  373,  372,  369,
-      366,  365,  364,  363,  361,  357,  355,  352,  351,  350,
-      343,  341,  337,  331,  330,  329,  325,  322,  321,  320,
-      319,  318,  317,  316,  313,  306,  299,  297,  284,  281,
-      278,  276,  266,  264,  263,  260,  244,  241,  240,  230,
-      214,  213,  212,  200,  179,  175,  173,  167,  166,  164,
-      161,  160,  137,  131,  127,  125,  123,  120,  116,  112,
-       99,   86,   59,   39,   37,    8,    7,    3,  478,  478,
-
-      478,  478,  478,  478,  478,  478,  478,  478,  478,  478,
-      478,  478,  478,  478,  478,  478,  478,  478,  478,  478,
-      478,  478,  478,  478,  478,  478,  478,  478,  478,  478,
-      478,  478,  478,  478,  478,  478,  478,  478,  478,  478
+        1,    1,    1,    9,   62,    9,    9,    9,    9,   10,
+       10,   10,   10,   11,   11,   11,   11,   11,   12,   62,
+       20,   62,   26,   12,   13,   13,   13,   13,   13,   13,
+       14,   14,   14,   14,   14,   14,   16,   20,   46,   17,
+       26,   29,   65,   46,   16,  505,   26,   20,   17,   23,
+       29,   16,   17,   16,   18,   16,   13,   17,   16,   18,
+
+       17,   18,   19,   21,   22,   23,   23,   65,   21,   24,
+       27,   19,   18,   22,   24,   19,   18,   19,   21,   22,
+       19,   25,   24,   28,   21,   33,   25,   24,   34,   27,
+       33,   27,   73,   31,   51,   28,   53,   34,   31,   25,
+       36,   28,   51,   33,   53,   25,   30,   35,   35,   36,
+       30,   31,   54,   56,   31,   73,   30,   66,  110,   30,
+      110,   31,   30,   30,   56,   52,   35,   42,   42,   42,
+       42,   54,   66,   30,   30,   57,   30,   32,   52,   55,
+       52,   32,   43,   43,   43,   43,   57,   32,   44,   44,
+       44,   44,   44,   61,   32,   55,   32,   58,   32,   63,
+
+       61,   71,   75,   32,   45,   45,   45,   45,   45,   45,
+       47,   47,   47,   47,   47,   58,  503,   47,  499,   71,
+       63,   75,   67,   47,   48,   48,   48,   48,   48,   48,
+       49,   49,   49,   49,   49,   60,   49,   49,   70,   49,
+       49,   49,   49,   49,   49,   64,   67,   68,   74,   69,
+       60,   76,   64,   70,   72,   68,   69,   60,   78,   77,
+       70,   81,   79,   72,   64,   77,   74,   79,   80,   81,
+       82,   83,   69,   76,   76,   78,   76,   84,   87,   79,
+       88,   78,   85,   80,   89,   82,   90,   85,   91,   92,
+       93,   87,   84,   88,   83,   94,   92,   95,  102,  497,
+
+       89,  101,  131,   94,   92,   93,   97,   89,   93,   98,
+      103,   93,   92,   90,   93,   95,   91,   96,  100,   97,
+      101,  104,   98,   96,  105,  131,  102,  103,  106,  107,
+       98,  100,  105,  107,  107,  111,  108,  105,  109,  104,
+      106,  112,  100,  109,  184,  105,  107,  496,  123,  108,
+      105,  108,  115,  115,  115,  115,  111,  116,  116,  116,
+      116,  133,  112,  184,  116,  122,  123,  127,  125,  133,
+      116,  118,  118,  118,  118,  118,  122,  125,  118,  129,
+      127,  130,  134,  136,  118,  119,  119,  141,  119,  119,
+      119,  119,  119,  135,  129,  137,  130,  140,  136,  139,
+
+      141,  144,  135,  140,  134,  142,  143,  145,  139,  147,
+      137,  146,  139,  148,  142,  143,  146,  150,  147,  149,
+      151,  153,  148,  144,  152,  149,  154,  143,  155,  151,
+      145,  156,  150,  152,  158,  154,  157,  159,  160,  153,
+      163,  164,  155,  166,  157,  158,  175,  177,  170,  172,
+      178,  495,  159,  493,  156,  163,  171,  177,  172,  178,
+      166,  164,  160,  169,  169,  169,  169,  175,  181,  169,
+      169,  170,  169,  169,  169,  169,  169,  169,  173,  171,
+      179,  182,  187,  183,  188,  189,  191,  173,  185,  173,
+      186,  181,  194,  173,  183,  173,  182,  185,  193,  186,
+
+      190,  179,  189,  191,  192,  187,  196,  188,  198,  190,
+      194,  193,  195,  192,  197,  199,  198,  195,  200,  203,
+      199,  201,  223,  197,  258,  201,  211,  196,  205,  205,
+      205,  205,  200,  211,  258,  205,  491,  203,  223,  206,
+      206,  205,  206,  206,  206,  206,  207,  207,  207,  207,
+      208,  208,  208,  208,  208,  209,  209,  209,  209,  209,
+      210,  212,  213,  217,  218,  219,  220,  221,  222,  224,
+      217,  220,  226,  227,  229,  230,  225,  210,  212,  213,
+      221,  225,  230,  229,  224,  228,  231,  218,  219,  233,
+      228,  226,  234,  235,  227,  222,  236,  234,  237,  238,
+
+      239,  241,  235,  240,  233,  244,  247,  245,  248,  231,
+      490,  250,  251,  238,  253,  239,  241,  236,  254,  237,
+      250,  240,  245,  244,  257,  251,  252,  254,  255,  256,
+      247,  248,  261,  252,  253,  259,  260,  255,  256,  261,
+      263,  254,  264,  267,  259,  260,  270,  257,  269,  263,
+      271,  255,  267,  272,  273,  274,  270,  264,  272,  269,
+      275,  276,  277,  271,  279,  285,  282,  286,  281,  289,
+      285,  273,  276,  288,  289,  286,  274,  291,  281,  282,
+      288,  275,  283,  283,  283,  283,  290,  279,  292,  277,
+      281,  293,  294,  290,  292,  295,  296,  297,  291,  298,
+
+      299,  301,  304,  303,  295,  305,  306,  299,  301,  307,
+      293,  294,  303,  296,  308,  310,  298,  304,  311,  313,
+      297,  305,  317,  308,  312,  314,  307,  311,  313,  306,
+      315,  312,  310,  318,  314,  326,  327,  329,  330,  315,
+      317,  335,  331,  338,  341,  336,  327,  337,  339,  329,
+      326,  331,  336,  343,  344,  337,  318,  342,  343,  339,
+      347,  330,  345,  349,  335,  350,  338,  341,  352,  351,
+      342,  353,  350,  347,  354,  359,  372,  344,  351,  345,
+      349,  358,  363,  361,  364,  358,  358,  367,  373,  353,
+      352,  363,  354,  364,  367,  365,  376,  372,  359,  361,
+
+      365,  375,  380,  386,  381,  373,  376,  387,  389,  388,
+      375,  390,  391,  395,  399,  380,  381,  388,  386,  396,
+      397,  389,  398,  399,  400,  401,  402,  404,  390,  387,
+      403,  405,  407,  400,  395,  391,  404,  398,  408,  409,
+      396,  402,  401,  410,  409,  403,  397,  408,  410,  411,
+      412,  414,  413,  405,  415,  417,  418,  407,  411,  413,
+      419,  421,  423,  422,  427,  415,  424,  489,  430,  419,
+      444,  487,  428,  412,  414,  424,  421,  427,  417,  418,
+      422,  428,  429,  430,  431,  423,  433,  434,  435,  429,
+      431,  439,  434,  433,  440,  441,  439,  442,  443,  444,
+
+      445,  435,  442,  440,  446,  448,  447,  445,  449,  450,
+      451,  452,  453,  449,  443,  451,  454,  455,  441,  447,
+      448,  456,  457,  458,  450,  452,  460,  446,  453,  461,
+      456,  457,  462,  463,  464,  454,  466,  467,  461,  468,
+      455,  469,  472,  471,  474,  466,  458,  462,  463,  464,
+      475,  472,  468,  476,  477,  460,  478,  475,  469,  474,
+      467,  471,  479,  480,  481,  482,  476,  483,  484,  485,
+      486,  477,  488,  482,  483,  484,  492,  478,  494,  498,
+      479,  473,  470,  492,  465,  481,  480,  494,  459,  488,
+      438,  437,  436,  486,  432,  426,  425,  420,  485,  416,
+
+      498,  501,  501,  501,  501,  502,  502,  504,  406,  504,
+      504,  394,  393,  392,  385,  384,  383,  382,  379,  378,
+      377,  374,  371,  370,  369,  368,  366,  362,  360,  357,
+      356,  355,  348,  346,  340,  334,  333,  332,  328,  325,
+      324,  323,  322,  321,  320,  319,  316,  309,  302,  300,
+      287,  284,  280,  278,  268,  266,  265,  262,  246,  243,
+      242,  232,  216,  215,  214,  202,  180,  176,  174,  168,
+      167,  165,  162,  161,  138,  132,  128,  126,  124,  121,
+      117,  113,   99,   86,   59,   39,   37,    8,    7,    3,
+      500,  500,  500,  500,  500,  500,  500,  500,  500,  500,
+
+      500,  500,  500,  500,  500,  500,  500,  500,  500,  500,
+      500,  500,  500,  500,  500,  500,  500,  500,  500,  500,
+      500,  500,  500,  500,  500,  500,  500,  500,  500,  500,
+      500,  500,  500,  500
     } ;
 
 /* Table of booleans, true if rule could match eol. */
-static yyconst flex_int32_t yy_rule_can_match_eol[112] =
+static yyconst flex_int32_t yy_rule_can_match_eol[114] =
     {   0,
 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
-    1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,     };
+    0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,     };
 
 static yy_state_type yy_last_accepting_state;
 static char *yy_last_accepting_cpos;
@@ -999,7 +1030,7 @@
 /* HexIntConstant - Hexadecimal constant generated by the CFE to avoid forcing
  * it to deal with 64 bit numbers.
  */
-#line 1003 "Lexer.cpp"
+#line 1034 "Lexer.cpp"
 
 #define INITIAL 0
 
@@ -1155,7 +1186,7 @@
 #line 179 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
 
 
-#line 1159 "Lexer.cpp"
+#line 1190 "Lexer.cpp"
 
 	if ( !(yy_init) )
 		{
@@ -1208,13 +1239,13 @@
 			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 >= 479 )
+				if ( yy_current_state >= 501 )
 					yy_c = yy_meta[(unsigned int) yy_c];
 				}
 			yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
 			++yy_cp;
 			}
-		while ( yy_current_state != 478 );
+		while ( yy_current_state != 500 );
 		yy_cp = (yy_last_accepting_cpos);
 		yy_current_state = (yy_last_accepting_state);
 
@@ -1466,281 +1497,291 @@
 	YY_BREAK
 case 45:
 YY_RULE_SETUP
-#line 228 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ llvmAsmlval.PrimType = Type::VoidTy  ; return VOID;   }
+#line 227 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+{ return X86_STDCALLCC_TOK; }
 	YY_BREAK
 case 46:
 YY_RULE_SETUP
-#line 229 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ llvmAsmlval.PrimType = Type::BoolTy  ; return BOOL;   }
+#line 228 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+{ return X86_FASTCALLCC_TOK; }
 	YY_BREAK
 case 47:
 YY_RULE_SETUP
 #line 230 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ llvmAsmlval.PrimType = Type::SByteTy ; return SBYTE;  }
+{ llvmAsmlval.PrimType = Type::VoidTy  ; return VOID;   }
 	YY_BREAK
 case 48:
 YY_RULE_SETUP
 #line 231 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ llvmAsmlval.PrimType = Type::UByteTy ; return UBYTE;  }
+{ llvmAsmlval.PrimType = Type::BoolTy  ; return BOOL;   }
 	YY_BREAK
 case 49:
 YY_RULE_SETUP
 #line 232 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ llvmAsmlval.PrimType = Type::ShortTy ; return SHORT;  }
+{ llvmAsmlval.PrimType = Type::SByteTy ; return SBYTE;  }
 	YY_BREAK
 case 50:
 YY_RULE_SETUP
 #line 233 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ llvmAsmlval.PrimType = Type::UShortTy; return USHORT; }
+{ llvmAsmlval.PrimType = Type::UByteTy ; return UBYTE;  }
 	YY_BREAK
 case 51:
 YY_RULE_SETUP
 #line 234 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ llvmAsmlval.PrimType = Type::IntTy   ; return INT;    }
+{ llvmAsmlval.PrimType = Type::ShortTy ; return SHORT;  }
 	YY_BREAK
 case 52:
 YY_RULE_SETUP
 #line 235 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ llvmAsmlval.PrimType = Type::UIntTy  ; return UINT;   }
+{ llvmAsmlval.PrimType = Type::UShortTy; return USHORT; }
 	YY_BREAK
 case 53:
 YY_RULE_SETUP
 #line 236 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ llvmAsmlval.PrimType = Type::LongTy  ; return LONG;   }
+{ llvmAsmlval.PrimType = Type::IntTy   ; return INT;    }
 	YY_BREAK
 case 54:
 YY_RULE_SETUP
 #line 237 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ llvmAsmlval.PrimType = Type::ULongTy ; return ULONG;  }
+{ llvmAsmlval.PrimType = Type::UIntTy  ; return UINT;   }
 	YY_BREAK
 case 55:
 YY_RULE_SETUP
 #line 238 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ llvmAsmlval.PrimType = Type::FloatTy ; return FLOAT;  }
+{ llvmAsmlval.PrimType = Type::LongTy  ; return LONG;   }
 	YY_BREAK
 case 56:
 YY_RULE_SETUP
 #line 239 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ llvmAsmlval.PrimType = Type::DoubleTy; return DOUBLE; }
+{ llvmAsmlval.PrimType = Type::ULongTy ; return ULONG;  }
 	YY_BREAK
 case 57:
 YY_RULE_SETUP
 #line 240 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ llvmAsmlval.PrimType = Type::LabelTy ; return LABEL;  }
+{ llvmAsmlval.PrimType = Type::FloatTy ; return FLOAT;  }
 	YY_BREAK
 case 58:
 YY_RULE_SETUP
 #line 241 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ return TYPE;   }
+{ llvmAsmlval.PrimType = Type::DoubleTy; return DOUBLE; }
 	YY_BREAK
 case 59:
 YY_RULE_SETUP
 #line 242 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ return OPAQUE; }
+{ llvmAsmlval.PrimType = Type::LabelTy ; return LABEL;  }
 	YY_BREAK
 case 60:
 YY_RULE_SETUP
-#line 244 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ RET_TOK(BinaryOpVal, Add, ADD); }
+#line 243 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+{ return TYPE;   }
 	YY_BREAK
 case 61:
 YY_RULE_SETUP
-#line 245 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ RET_TOK(BinaryOpVal, Sub, SUB); }
+#line 244 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+{ return OPAQUE; }
 	YY_BREAK
 case 62:
 YY_RULE_SETUP
 #line 246 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ RET_TOK(BinaryOpVal, Mul, MUL); }
+{ RET_TOK(BinaryOpVal, Add, ADD); }
 	YY_BREAK
 case 63:
 YY_RULE_SETUP
 #line 247 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ RET_TOK(BinaryOpVal, Div, DIV); }
+{ RET_TOK(BinaryOpVal, Sub, SUB); }
 	YY_BREAK
 case 64:
 YY_RULE_SETUP
 #line 248 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ RET_TOK(BinaryOpVal, Rem, REM); }
+{ RET_TOK(BinaryOpVal, Mul, MUL); }
 	YY_BREAK
 case 65:
 YY_RULE_SETUP
 #line 249 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ RET_TOK(BinaryOpVal, And, AND); }
+{ RET_TOK(BinaryOpVal, Div, DIV); }
 	YY_BREAK
 case 66:
 YY_RULE_SETUP
 #line 250 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ RET_TOK(BinaryOpVal, Or , OR ); }
+{ RET_TOK(BinaryOpVal, Rem, REM); }
 	YY_BREAK
 case 67:
 YY_RULE_SETUP
 #line 251 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ RET_TOK(BinaryOpVal, Xor, XOR); }
+{ RET_TOK(BinaryOpVal, And, AND); }
 	YY_BREAK
 case 68:
 YY_RULE_SETUP
 #line 252 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ RET_TOK(BinaryOpVal, SetNE, SETNE); }
+{ RET_TOK(BinaryOpVal, Or , OR ); }
 	YY_BREAK
 case 69:
 YY_RULE_SETUP
 #line 253 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ RET_TOK(BinaryOpVal, SetEQ, SETEQ); }
+{ RET_TOK(BinaryOpVal, Xor, XOR); }
 	YY_BREAK
 case 70:
 YY_RULE_SETUP
 #line 254 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ RET_TOK(BinaryOpVal, SetLT, SETLT); }
+{ RET_TOK(BinaryOpVal, SetNE, SETNE); }
 	YY_BREAK
 case 71:
 YY_RULE_SETUP
 #line 255 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ RET_TOK(BinaryOpVal, SetGT, SETGT); }
+{ RET_TOK(BinaryOpVal, SetEQ, SETEQ); }
 	YY_BREAK
 case 72:
 YY_RULE_SETUP
 #line 256 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ RET_TOK(BinaryOpVal, SetLE, SETLE); }
+{ RET_TOK(BinaryOpVal, SetLT, SETLT); }
 	YY_BREAK
 case 73:
 YY_RULE_SETUP
 #line 257 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ RET_TOK(BinaryOpVal, SetGE, SETGE); }
+{ RET_TOK(BinaryOpVal, SetGT, SETGT); }
 	YY_BREAK
 case 74:
 YY_RULE_SETUP
-#line 259 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ RET_TOK(OtherOpVal, PHI, PHI_TOK); }
+#line 258 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+{ RET_TOK(BinaryOpVal, SetLE, SETLE); }
 	YY_BREAK
 case 75:
 YY_RULE_SETUP
-#line 260 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ RET_TOK(OtherOpVal, Call, CALL); }
+#line 259 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+{ RET_TOK(BinaryOpVal, SetGE, SETGE); }
 	YY_BREAK
 case 76:
 YY_RULE_SETUP
 #line 261 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ RET_TOK(OtherOpVal, Cast, CAST); }
+{ RET_TOK(OtherOpVal, PHI, PHI_TOK); }
 	YY_BREAK
 case 77:
 YY_RULE_SETUP
 #line 262 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ RET_TOK(OtherOpVal, Select, SELECT); }
+{ RET_TOK(OtherOpVal, Call, CALL); }
 	YY_BREAK
 case 78:
 YY_RULE_SETUP
 #line 263 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ RET_TOK(OtherOpVal, Shl, SHL); }
+{ RET_TOK(OtherOpVal, Cast, CAST); }
 	YY_BREAK
 case 79:
 YY_RULE_SETUP
 #line 264 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ RET_TOK(OtherOpVal, Shr, SHR); }
+{ RET_TOK(OtherOpVal, Select, SELECT); }
 	YY_BREAK
 case 80:
 YY_RULE_SETUP
 #line 265 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ return VANEXT_old; }
+{ RET_TOK(OtherOpVal, Shl, SHL); }
 	YY_BREAK
 case 81:
 YY_RULE_SETUP
 #line 266 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ return VAARG_old; }
+{ RET_TOK(OtherOpVal, Shr, SHR); }
 	YY_BREAK
 case 82:
 YY_RULE_SETUP
 #line 267 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ RET_TOK(OtherOpVal, VAArg , VAARG); }
+{ return VANEXT_old; }
 	YY_BREAK
 case 83:
 YY_RULE_SETUP
 #line 268 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ RET_TOK(TermOpVal, Ret, RET); }
+{ return VAARG_old; }
 	YY_BREAK
 case 84:
 YY_RULE_SETUP
 #line 269 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ RET_TOK(TermOpVal, Br, BR); }
+{ RET_TOK(OtherOpVal, VAArg , VAARG); }
 	YY_BREAK
 case 85:
 YY_RULE_SETUP
 #line 270 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ RET_TOK(TermOpVal, Switch, SWITCH); }
+{ RET_TOK(TermOpVal, Ret, RET); }
 	YY_BREAK
 case 86:
 YY_RULE_SETUP
 #line 271 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ RET_TOK(TermOpVal, Invoke, INVOKE); }
+{ RET_TOK(TermOpVal, Br, BR); }
 	YY_BREAK
 case 87:
 YY_RULE_SETUP
 #line 272 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ RET_TOK(TermOpVal, Unwind, UNWIND); }
+{ RET_TOK(TermOpVal, Switch, SWITCH); }
 	YY_BREAK
 case 88:
 YY_RULE_SETUP
 #line 273 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ RET_TOK(TermOpVal, Unreachable, UNREACHABLE); }
+{ RET_TOK(TermOpVal, Invoke, INVOKE); }
 	YY_BREAK
 case 89:
 YY_RULE_SETUP
-#line 275 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ RET_TOK(MemOpVal, Malloc, MALLOC); }
+#line 274 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+{ RET_TOK(TermOpVal, Unwind, UNWIND); }
 	YY_BREAK
 case 90:
 YY_RULE_SETUP
-#line 276 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ RET_TOK(MemOpVal, Alloca, ALLOCA); }
+#line 275 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+{ RET_TOK(TermOpVal, Unreachable, UNREACHABLE); }
 	YY_BREAK
 case 91:
 YY_RULE_SETUP
 #line 277 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ RET_TOK(MemOpVal, Free, FREE); }
+{ RET_TOK(MemOpVal, Malloc, MALLOC); }
 	YY_BREAK
 case 92:
 YY_RULE_SETUP
 #line 278 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ RET_TOK(MemOpVal, Load, LOAD); }
+{ RET_TOK(MemOpVal, Alloca, ALLOCA); }
 	YY_BREAK
 case 93:
 YY_RULE_SETUP
 #line 279 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ RET_TOK(MemOpVal, Store, STORE); }
+{ RET_TOK(MemOpVal, Free, FREE); }
 	YY_BREAK
 case 94:
 YY_RULE_SETUP
 #line 280 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ RET_TOK(MemOpVal, GetElementPtr, GETELEMENTPTR); }
+{ RET_TOK(MemOpVal, Load, LOAD); }
 	YY_BREAK
 case 95:
 YY_RULE_SETUP
-#line 282 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ RET_TOK(OtherOpVal, ExtractElement, EXTRACTELEMENT); }
+#line 281 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+{ RET_TOK(MemOpVal, Store, STORE); }
 	YY_BREAK
 case 96:
 YY_RULE_SETUP
-#line 283 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ RET_TOK(OtherOpVal, InsertElement, INSERTELEMENT); }
+#line 282 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+{ RET_TOK(MemOpVal, GetElementPtr, GETELEMENTPTR); }
 	YY_BREAK
 case 97:
 YY_RULE_SETUP
 #line 284 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
-{ RET_TOK(OtherOpVal, ShuffleVector, SHUFFLEVECTOR); }
+{ RET_TOK(OtherOpVal, ExtractElement, EXTRACTELEMENT); }
 	YY_BREAK
 case 98:
 YY_RULE_SETUP
-#line 287 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 285 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+{ RET_TOK(OtherOpVal, InsertElement, INSERTELEMENT); }
+	YY_BREAK
+case 99:
+YY_RULE_SETUP
+#line 286 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+{ RET_TOK(OtherOpVal, ShuffleVector, SHUFFLEVECTOR); }
+	YY_BREAK
+case 100:
+YY_RULE_SETUP
+#line 289 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
 {
                   UnEscapeLexed(llvmAsmtext+1);
                   llvmAsmlval.StrVal = strdup(llvmAsmtext+1);             // Skip %
                   return VAR_ID;
                 }
 	YY_BREAK
-case 99:
+case 101:
 YY_RULE_SETUP
-#line 292 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 294 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
 {
                   llvmAsmtext[strlen(llvmAsmtext)-1] = 0;  // nuke colon
                   UnEscapeLexed(llvmAsmtext);
@@ -1748,10 +1789,10 @@
                   return LABELSTR;
                 }
 	YY_BREAK
-case 100:
-/* rule 100 can match eol */
+case 102:
+/* rule 102 can match eol */
 YY_RULE_SETUP
-#line 298 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 300 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
 {
                   llvmAsmtext[strlen(llvmAsmtext)-2] = 0;  // nuke colon, end quote
                   UnEscapeLexed(llvmAsmtext+1);
@@ -1759,10 +1800,10 @@
                   return LABELSTR;
                 }
 	YY_BREAK
-case 101:
-/* rule 101 can match eol */
+case 103:
+/* rule 103 can match eol */
 YY_RULE_SETUP
-#line 305 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 307 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.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
@@ -1773,14 +1814,14 @@
                    return STRINGCONSTANT;
                  }
 	YY_BREAK
-case 102:
+case 104:
 YY_RULE_SETUP
-#line 316 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 318 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
 { llvmAsmlval.UInt64Val = atoull(llvmAsmtext); return EUINT64VAL; }
 	YY_BREAK
-case 103:
+case 105:
 YY_RULE_SETUP
-#line 317 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 319 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
 {
                   uint64_t Val = atoull(llvmAsmtext+1);
                   // +1:  we have bigger negative range
@@ -1790,17 +1831,17 @@
                   return ESINT64VAL;
                 }
 	YY_BREAK
-case 104:
+case 106:
 YY_RULE_SETUP
-#line 325 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 327 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
 {
                    llvmAsmlval.UInt64Val = HexIntToVal(llvmAsmtext+3);
                    return llvmAsmtext[0] == 's' ? ESINT64VAL : EUINT64VAL;
                  }
 	YY_BREAK
-case 105:
+case 107:
 YY_RULE_SETUP
-#line 330 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 332 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
 {
                   uint64_t Val = atoull(llvmAsmtext+1);
                   if ((unsigned)Val != Val)
@@ -1809,9 +1850,9 @@
                   return UINTVAL;
                 }
 	YY_BREAK
-case 106:
+case 108:
 YY_RULE_SETUP
-#line 337 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 339 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
 {
                   uint64_t Val = atoull(llvmAsmtext+2);
                   // +1:  we have bigger negative range
@@ -1821,18 +1862,18 @@
                   return SINTVAL;
                 }
 	YY_BREAK
-case 107:
+case 109:
 YY_RULE_SETUP
-#line 346 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 348 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
 { llvmAsmlval.FPVal = atof(llvmAsmtext); return FPVAL; }
 	YY_BREAK
-case 108:
+case 110:
 YY_RULE_SETUP
-#line 347 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 349 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
 { llvmAsmlval.FPVal = HexToFP(llvmAsmtext); return FPVAL; }
 	YY_BREAK
 case YY_STATE_EOF(INITIAL):
-#line 349 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 351 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
 {
                   /* Make sure to free the internal buffers for flex when we are
                    * done reading our input!
@@ -1841,23 +1882,23 @@
                   return EOF;
                 }
 	YY_BREAK
-case 109:
-/* rule 109 can match eol */
+case 111:
+/* rule 111 can match eol */
 YY_RULE_SETUP
-#line 357 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 359 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
 { /* Ignore whitespace */ }
 	YY_BREAK
-case 110:
+case 112:
 YY_RULE_SETUP
-#line 358 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 360 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
 { return llvmAsmtext[0]; }
 	YY_BREAK
-case 111:
+case 113:
 YY_RULE_SETUP
-#line 360 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 362 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
 YY_FATAL_ERROR( "flex scanner jammed" );
 	YY_BREAK
-#line 1861 "Lexer.cpp"
+#line 1902 "Lexer.cpp"
 
 	case YY_END_OF_BUFFER:
 		{
@@ -2140,7 +2181,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 >= 479 )
+			if ( yy_current_state >= 501 )
 				yy_c = yy_meta[(unsigned int) yy_c];
 			}
 		yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
@@ -2168,11 +2209,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 >= 479 )
+		if ( yy_current_state >= 501 )
 			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 == 478);
+	yy_is_jam = (yy_current_state == 500);
 
 	return yy_is_jam ? 0 : yy_current_state;
 }
@@ -2850,7 +2891,7 @@
 
 #define YYTABLES_NAME "yytables"
 
-#line 360 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
+#line 362 "/home/asl/proj/llvm/src/lib/AsmParser/Lexer.l"
 
 
 


Index: llvm/lib/AsmParser/Lexer.l
diff -u llvm/lib/AsmParser/Lexer.l:1.76 llvm/lib/AsmParser/Lexer.l:1.77
--- llvm/lib/AsmParser/Lexer.l:1.76	Thu Sep 14 13:23:26 2006
+++ llvm/lib/AsmParser/Lexer.l	Sun Sep 17 15:25:45 2006
@@ -224,6 +224,8 @@
 csretcc         { return CSRETCC_TOK; }
 fastcc          { return FASTCC_TOK; }
 coldcc          { return COLDCC_TOK; }
+x86_stdcallcc   { return X86_STDCALLCC_TOK; }
+x86_fastcallcc  { return X86_FASTCALLCC_TOK; }
 
 void            { llvmAsmlval.PrimType = Type::VoidTy  ; return VOID;   }
 bool            { llvmAsmlval.PrimType = Type::BoolTy  ; return BOOL;   }


Index: llvm/lib/AsmParser/Lexer.l.cvs
diff -u llvm/lib/AsmParser/Lexer.l.cvs:1.6 llvm/lib/AsmParser/Lexer.l.cvs:1.7
--- llvm/lib/AsmParser/Lexer.l.cvs:1.6	Thu Sep 14 13:23:26 2006
+++ llvm/lib/AsmParser/Lexer.l.cvs	Sun Sep 17 15:25:45 2006
@@ -224,6 +224,8 @@
 csretcc         { return CSRETCC_TOK; }
 fastcc          { return FASTCC_TOK; }
 coldcc          { return COLDCC_TOK; }
+x86_stdcallcc   { return X86_STDCALLCC_TOK; }
+x86_fastcallcc  { return X86_FASTCALLCC_TOK; }
 
 void            { llvmAsmlval.PrimType = Type::VoidTy  ; return VOID;   }
 bool            { llvmAsmlval.PrimType = Type::BoolTy  ; return BOOL;   }


Index: llvm/lib/AsmParser/llvmAsmParser.cpp.cvs
diff -u llvm/lib/AsmParser/llvmAsmParser.cpp.cvs:1.12 llvm/lib/AsmParser/llvmAsmParser.cpp.cvs:1.13
--- llvm/lib/AsmParser/llvmAsmParser.cpp.cvs:1.12	Sun Sep 17 08:06:17 2006
+++ llvm/lib/AsmParser/llvmAsmParser.cpp.cvs	Sun Sep 17 15:25:45 2006
@@ -140,43 +140,45 @@
      CSRETCC_TOK = 321,
      FASTCC_TOK = 322,
      COLDCC_TOK = 323,
-     RET = 324,
-     BR = 325,
-     SWITCH = 326,
-     INVOKE = 327,
-     UNWIND = 328,
-     UNREACHABLE = 329,
-     ADD = 330,
-     SUB = 331,
-     MUL = 332,
-     DIV = 333,
-     REM = 334,
-     AND = 335,
-     OR = 336,
-     XOR = 337,
-     SETLE = 338,
-     SETGE = 339,
-     SETLT = 340,
-     SETGT = 341,
-     SETEQ = 342,
-     SETNE = 343,
-     MALLOC = 344,
-     ALLOCA = 345,
-     FREE = 346,
-     LOAD = 347,
-     STORE = 348,
-     GETELEMENTPTR = 349,
-     PHI_TOK = 350,
-     CAST = 351,
-     SELECT = 352,
-     SHL = 353,
-     SHR = 354,
-     VAARG = 355,
-     EXTRACTELEMENT = 356,
-     INSERTELEMENT = 357,
-     SHUFFLEVECTOR = 358,
-     VAARG_old = 359,
-     VANEXT_old = 360
+     X86_STDCALLCC_TOK = 324,
+     X86_FASTCALLCC_TOK = 325,
+     RET = 326,
+     BR = 327,
+     SWITCH = 328,
+     INVOKE = 329,
+     UNWIND = 330,
+     UNREACHABLE = 331,
+     ADD = 332,
+     SUB = 333,
+     MUL = 334,
+     DIV = 335,
+     REM = 336,
+     AND = 337,
+     OR = 338,
+     XOR = 339,
+     SETLE = 340,
+     SETGE = 341,
+     SETLT = 342,
+     SETGT = 343,
+     SETEQ = 344,
+     SETNE = 345,
+     MALLOC = 346,
+     ALLOCA = 347,
+     FREE = 348,
+     LOAD = 349,
+     STORE = 350,
+     GETELEMENTPTR = 351,
+     PHI_TOK = 352,
+     CAST = 353,
+     SELECT = 354,
+     SHL = 355,
+     SHR = 356,
+     VAARG = 357,
+     EXTRACTELEMENT = 358,
+     INSERTELEMENT = 359,
+     SHUFFLEVECTOR = 360,
+     VAARG_old = 361,
+     VANEXT_old = 362
    };
 #endif
 /* Tokens.  */
@@ -246,43 +248,45 @@
 #define CSRETCC_TOK 321
 #define FASTCC_TOK 322
 #define COLDCC_TOK 323
-#define RET 324
-#define BR 325
-#define SWITCH 326
-#define INVOKE 327
-#define UNWIND 328
-#define UNREACHABLE 329
-#define ADD 330
-#define SUB 331
-#define MUL 332
-#define DIV 333
-#define REM 334
-#define AND 335
-#define OR 336
-#define XOR 337
-#define SETLE 338
-#define SETGE 339
-#define SETLT 340
-#define SETGT 341
-#define SETEQ 342
-#define SETNE 343
-#define MALLOC 344
-#define ALLOCA 345
-#define FREE 346
-#define LOAD 347
-#define STORE 348
-#define GETELEMENTPTR 349
-#define PHI_TOK 350
-#define CAST 351
-#define SELECT 352
-#define SHL 353
-#define SHR 354
-#define VAARG 355
-#define EXTRACTELEMENT 356
-#define INSERTELEMENT 357
-#define SHUFFLEVECTOR 358
-#define VAARG_old 359
-#define VANEXT_old 360
+#define X86_STDCALLCC_TOK 324
+#define X86_FASTCALLCC_TOK 325
+#define RET 326
+#define BR 327
+#define SWITCH 328
+#define INVOKE 329
+#define UNWIND 330
+#define UNREACHABLE 331
+#define ADD 332
+#define SUB 333
+#define MUL 334
+#define DIV 335
+#define REM 336
+#define AND 337
+#define OR 338
+#define XOR 339
+#define SETLE 340
+#define SETGE 341
+#define SETLT 342
+#define SETGT 343
+#define SETEQ 344
+#define SETNE 345
+#define MALLOC 346
+#define ALLOCA 347
+#define FREE 348
+#define LOAD 349
+#define STORE 350
+#define GETELEMENTPTR 351
+#define PHI_TOK 352
+#define CAST 353
+#define SELECT 354
+#define SHL 355
+#define SHR 356
+#define VAARG 357
+#define EXTRACTELEMENT 358
+#define INSERTELEMENT 359
+#define SHUFFLEVECTOR 360
+#define VAARG_old 361
+#define VANEXT_old 362
 
 
 
@@ -1249,7 +1253,7 @@
   llvm::Module::Endianness                Endianness;
 }
 /* Line 193 of yacc.c.  */
-#line 1253 "llvmAsmParser.tab.c"
+#line 1257 "llvmAsmParser.tab.c"
 	YYSTYPE;
 # define yystype YYSTYPE /* obsolescent; will be withdrawn */
 # define YYSTYPE_IS_DECLARED 1
@@ -1262,7 +1266,7 @@
 
 
 /* Line 216 of yacc.c.  */
-#line 1266 "llvmAsmParser.tab.c"
+#line 1270 "llvmAsmParser.tab.c"
 
 #ifdef short
 # undef short
@@ -1477,20 +1481,20 @@
 /* YYFINAL -- State number of the termination state.  */
 #define YYFINAL  4
 /* YYLAST -- Last index in YYTABLE.  */
-#define YYLAST   1326
+#define YYLAST   1330
 
 /* YYNTOKENS -- Number of terminals.  */
-#define YYNTOKENS  120
+#define YYNTOKENS  122
 /* YYNNTS -- Number of nonterminals.  */
 #define YYNNTS  75
 /* YYNRULES -- Number of rules.  */
-#define YYNRULES  249
+#define YYNRULES  251
 /* YYNRULES -- Number of states.  */
-#define YYNSTATES  512
+#define YYNSTATES  514
 
 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
 #define YYUNDEFTOK  2
-#define YYMAXUTOK   360
+#define YYMAXUTOK   362
 
 #define YYTRANSLATE(YYX)						\
   ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
@@ -1502,15 +1506,15 @@
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     109,   110,   118,     2,   107,     2,     2,     2,     2,     2,
+     111,   112,   120,     2,   109,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     114,   106,   115,     2,     2,     2,     2,     2,     2,     2,
+     116,   108,   117,     2,     2,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,   111,   108,   113,     2,     2,     2,     2,     2,   119,
+       2,   113,   110,   115,     2,     2,     2,     2,     2,   121,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     112,     2,     2,   116,     2,   117,     2,     2,     2,     2,
+     114,     2,     2,   118,     2,   119,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
@@ -1534,7 +1538,7 @@
       75,    76,    77,    78,    79,    80,    81,    82,    83,    84,
       85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
       95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
-     105
+     105,   106,   107
 };
 
 #if YYDEBUG
@@ -1547,143 +1551,145 @@
       39,    41,    43,    45,    47,    49,    51,    53,    55,    57,
       59,    61,    63,    65,    67,    70,    71,    73,    75,    77,
       79,    81,    83,    85,    86,    87,    89,    91,    93,    95,
-      98,    99,   102,   103,   107,   110,   111,   113,   114,   118,
-     120,   123,   125,   127,   129,   131,   133,   135,   137,   139,
+      97,    99,   102,   103,   106,   107,   111,   114,   115,   117,
+     118,   122,   124,   127,   129,   131,   133,   135,   137,   139,
      141,   143,   145,   147,   149,   151,   153,   155,   157,   159,
-     161,   163,   165,   168,   173,   179,   185,   189,   192,   195,
-     197,   201,   203,   207,   209,   210,   215,   219,   223,   228,
-     233,   237,   240,   243,   246,   249,   252,   255,   258,   261,
-     264,   267,   274,   280,   289,   296,   303,   310,   317,   324,
-     333,   342,   346,   348,   350,   352,   354,   357,   360,   365,
-     368,   370,   375,   378,   383,   384,   392,   393,   401,   402,
-     410,   411,   419,   423,   428,   429,   431,   433,   435,   439,
-     443,   447,   451,   455,   457,   458,   460,   462,   464,   465,
-     468,   472,   474,   476,   480,   482,   483,   492,   494,   496,
-     500,   502,   504,   507,   508,   510,   512,   513,   518,   519,
-     521,   523,   525,   527,   529,   531,   533,   535,   537,   541,
-     543,   549,   551,   553,   555,   557,   560,   563,   566,   570,
-     573,   574,   576,   579,   582,   586,   596,   606,   615,   629,
-     631,   633,   640,   646,   649,   656,   664,   666,   670,   672,
-     673,   676,   678,   684,   690,   696,   699,   704,   709,   716,
-     721,   726,   731,   736,   743,   750,   753,   761,   763,   766,
-     767,   769,   770,   774,   781,   785,   792,   795,   800,   807
+     161,   163,   165,   167,   169,   172,   177,   183,   189,   193,
+     196,   199,   201,   205,   207,   211,   213,   214,   219,   223,
+     227,   232,   237,   241,   244,   247,   250,   253,   256,   259,
+     262,   265,   268,   271,   278,   284,   293,   300,   307,   314,
+     321,   328,   337,   346,   350,   352,   354,   356,   358,   361,
+     364,   369,   372,   374,   379,   382,   387,   388,   396,   397,
+     405,   406,   414,   415,   423,   427,   432,   433,   435,   437,
+     439,   443,   447,   451,   455,   459,   461,   462,   464,   466,
+     468,   469,   472,   476,   478,   480,   484,   486,   487,   496,
+     498,   500,   504,   506,   508,   511,   512,   514,   516,   517,
+     522,   523,   525,   527,   529,   531,   533,   535,   537,   539,
+     541,   545,   547,   553,   555,   557,   559,   561,   564,   567,
+     570,   574,   577,   578,   580,   583,   586,   590,   600,   610,
+     619,   633,   635,   637,   644,   650,   653,   660,   668,   670,
+     674,   676,   677,   680,   682,   688,   694,   700,   703,   708,
+     713,   720,   725,   730,   735,   740,   747,   754,   757,   765,
+     767,   770,   771,   773,   774,   778,   785,   789,   796,   799,
+     804,   811
 };
 
 /* YYRHS -- A `-1'-separated list of the rules' RHS.  */
 static const yytype_int16 yyrhs[] =
 {
-     151,     0,    -1,     5,    -1,     6,    -1,     3,    -1,     4,
-      -1,    75,    -1,    76,    -1,    77,    -1,    78,    -1,    79,
-      -1,    80,    -1,    81,    -1,    82,    -1,    83,    -1,    84,
-      -1,    85,    -1,    86,    -1,    87,    -1,    88,    -1,    98,
-      -1,    99,    -1,    16,    -1,    14,    -1,    12,    -1,    10,
-      -1,    17,    -1,    15,    -1,    13,    -1,    11,    -1,   127,
-      -1,   128,    -1,    18,    -1,    19,    -1,   163,   106,    -1,
+     153,     0,    -1,     5,    -1,     6,    -1,     3,    -1,     4,
+      -1,    77,    -1,    78,    -1,    79,    -1,    80,    -1,    81,
+      -1,    82,    -1,    83,    -1,    84,    -1,    85,    -1,    86,
+      -1,    87,    -1,    88,    -1,    89,    -1,    90,    -1,   100,
+      -1,   101,    -1,    16,    -1,    14,    -1,    12,    -1,    10,
+      -1,    17,    -1,    15,    -1,    13,    -1,    11,    -1,   129,
+      -1,   130,    -1,    18,    -1,    19,    -1,   165,   108,    -1,
       -1,    41,    -1,    42,    -1,    43,    -1,    44,    -1,    45,
       -1,    46,    -1,    47,    -1,    -1,    -1,    65,    -1,    66,
-      -1,    67,    -1,    68,    -1,    64,     4,    -1,    -1,    57,
-       4,    -1,    -1,   107,    57,     4,    -1,    34,    24,    -1,
-      -1,   136,    -1,    -1,   107,   139,   138,    -1,   136,    -1,
-      57,     4,    -1,   142,    -1,     8,    -1,   144,    -1,     8,
-      -1,   144,    -1,     9,    -1,    10,    -1,    11,    -1,    12,
-      -1,    13,    -1,    14,    -1,    15,    -1,    16,    -1,    17,
-      -1,    18,    -1,    19,    -1,    20,    -1,    21,    -1,    48,
-      -1,   143,    -1,   178,    -1,   108,     4,    -1,   141,   109,
-     146,   110,    -1,   111,     4,   112,   144,   113,    -1,   114,
-       4,   112,   144,   115,    -1,   116,   145,   117,    -1,   116,
-     117,    -1,   144,   118,    -1,   144,    -1,   145,   107,   144,
-      -1,   145,    -1,   145,   107,    37,    -1,    37,    -1,    -1,
-     142,   111,   149,   113,    -1,   142,   111,   113,    -1,   142,
-     119,    24,    -1,   142,   114,   149,   115,    -1,   142,   116,
-     149,   117,    -1,   142,   116,   117,    -1,   142,    38,    -1,
-     142,    39,    -1,   142,   178,    -1,   142,   148,    -1,   142,
-      26,    -1,   127,   122,    -1,   128,     4,    -1,     9,    27,
-      -1,     9,    28,    -1,   130,     7,    -1,    96,   109,   147,
-      36,   142,   110,    -1,    94,   109,   147,   192,   110,    -1,
-      97,   109,   147,   107,   147,   107,   147,   110,    -1,   123,
-     109,   147,   107,   147,   110,    -1,   124,   109,   147,   107,
-     147,   110,    -1,   125,   109,   147,   107,   147,   110,    -1,
-     126,   109,   147,   107,   147,   110,    -1,   101,   109,   147,
-     107,   147,   110,    -1,   102,   109,   147,   107,   147,   107,
-     147,   110,    -1,   103,   109,   147,   107,   147,   107,   147,
-     110,    -1,   149,   107,   147,    -1,   147,    -1,    32,    -1,
-      33,    -1,   152,    -1,   152,   172,    -1,   152,   174,    -1,
-     152,    62,    61,   158,    -1,   152,    25,    -1,   153,    -1,
-     153,   131,    20,   140,    -1,   153,   174,    -1,   153,    62,
-      61,   158,    -1,    -1,   153,   131,   132,   150,   147,   154,
-     138,    -1,    -1,   153,   131,    50,   150,   142,   155,   138,
-      -1,    -1,   153,   131,    45,   150,   142,   156,   138,    -1,
-      -1,   153,   131,    47,   150,   142,   157,   138,    -1,   153,
-      51,   160,    -1,   153,    58,   106,   161,    -1,    -1,    24,
-      -1,    56,    -1,    55,    -1,    53,   106,   159,    -1,    54,
-     106,     4,    -1,    52,   106,    24,    -1,   111,   162,   113,
-      -1,   162,   107,    24,    -1,    24,    -1,    -1,    22,    -1,
-      24,    -1,   163,    -1,    -1,   142,   164,    -1,   166,   107,
-     165,    -1,   165,    -1,   166,    -1,   166,   107,    37,    -1,
-      37,    -1,    -1,   133,   140,   163,   109,   167,   110,   137,
-     134,    -1,    29,    -1,   116,    -1,   132,   168,   169,    -1,
-      30,    -1,   117,    -1,   181,   171,    -1,    -1,    45,    -1,
-      47,    -1,    -1,    31,   175,   173,   168,    -1,    -1,    63,
-      -1,     3,    -1,     4,    -1,     7,    -1,    27,    -1,    28,
-      -1,    38,    -1,    39,    -1,    26,    -1,   114,   149,   115,
-      -1,   148,    -1,    61,   176,    24,   107,    24,    -1,   121,
-      -1,   163,    -1,   178,    -1,   177,    -1,   142,   179,    -1,
-     181,   182,    -1,   170,   182,    -1,   183,   131,   184,    -1,
-     183,   186,    -1,    -1,    23,    -1,    69,   180,    -1,    69,
-       8,    -1,    70,    21,   179,    -1,    70,     9,   179,   107,
-      21,   179,   107,    21,   179,    -1,    71,   129,   179,   107,
-      21,   179,   111,   185,   113,    -1,    71,   129,   179,   107,
-      21,   179,   111,   113,    -1,    72,   133,   140,   179,   109,
-     189,   110,    36,    21,   179,    73,    21,   179,    -1,    73,
-      -1,    74,    -1,   185,   129,   177,   107,    21,   179,    -1,
-     129,   177,   107,    21,   179,    -1,   131,   191,    -1,   142,
-     111,   179,   107,   179,   113,    -1,   187,   107,   111,   179,
-     107,   179,   113,    -1,   180,    -1,   188,   107,   180,    -1,
-     188,    -1,    -1,    60,    59,    -1,    59,    -1,   123,   142,
-     179,   107,   179,    -1,   124,   142,   179,   107,   179,    -1,
-     125,   142,   179,   107,   179,    -1,    49,   180,    -1,   126,
-     180,   107,   180,    -1,    96,   180,    36,   142,    -1,    97,
-     180,   107,   180,   107,   180,    -1,   100,   180,   107,   142,
-      -1,   104,   180,   107,   142,    -1,   105,   180,   107,   142,
-      -1,   101,   180,   107,   180,    -1,   102,   180,   107,   180,
-     107,   180,    -1,   103,   180,   107,   180,   107,   180,    -1,
-      95,   187,    -1,   190,   133,   140,   179,   109,   189,   110,
-      -1,   194,    -1,   107,   188,    -1,    -1,    35,    -1,    -1,
-      89,   142,   135,    -1,    89,   142,   107,    15,   179,   135,
-      -1,    90,   142,   135,    -1,    90,   142,   107,    15,   179,
-     135,    -1,    91,   180,    -1,   193,    92,   142,   179,    -1,
-     193,    93,   180,   107,   142,   179,    -1,    94,   142,   179,
-     192,    -1
+      -1,    67,    -1,    68,    -1,    69,    -1,    70,    -1,    64,
+       4,    -1,    -1,    57,     4,    -1,    -1,   109,    57,     4,
+      -1,    34,    24,    -1,    -1,   138,    -1,    -1,   109,   141,
+     140,    -1,   138,    -1,    57,     4,    -1,   144,    -1,     8,
+      -1,   146,    -1,     8,    -1,   146,    -1,     9,    -1,    10,
+      -1,    11,    -1,    12,    -1,    13,    -1,    14,    -1,    15,
+      -1,    16,    -1,    17,    -1,    18,    -1,    19,    -1,    20,
+      -1,    21,    -1,    48,    -1,   145,    -1,   180,    -1,   110,
+       4,    -1,   143,   111,   148,   112,    -1,   113,     4,   114,
+     146,   115,    -1,   116,     4,   114,   146,   117,    -1,   118,
+     147,   119,    -1,   118,   119,    -1,   146,   120,    -1,   146,
+      -1,   147,   109,   146,    -1,   147,    -1,   147,   109,    37,
+      -1,    37,    -1,    -1,   144,   113,   151,   115,    -1,   144,
+     113,   115,    -1,   144,   121,    24,    -1,   144,   116,   151,
+     117,    -1,   144,   118,   151,   119,    -1,   144,   118,   119,
+      -1,   144,    38,    -1,   144,    39,    -1,   144,   180,    -1,
+     144,   150,    -1,   144,    26,    -1,   129,   124,    -1,   130,
+       4,    -1,     9,    27,    -1,     9,    28,    -1,   132,     7,
+      -1,    98,   111,   149,    36,   144,   112,    -1,    96,   111,
+     149,   194,   112,    -1,    99,   111,   149,   109,   149,   109,
+     149,   112,    -1,   125,   111,   149,   109,   149,   112,    -1,
+     126,   111,   149,   109,   149,   112,    -1,   127,   111,   149,
+     109,   149,   112,    -1,   128,   111,   149,   109,   149,   112,
+      -1,   103,   111,   149,   109,   149,   112,    -1,   104,   111,
+     149,   109,   149,   109,   149,   112,    -1,   105,   111,   149,
+     109,   149,   109,   149,   112,    -1,   151,   109,   149,    -1,
+     149,    -1,    32,    -1,    33,    -1,   154,    -1,   154,   174,
+      -1,   154,   176,    -1,   154,    62,    61,   160,    -1,   154,
+      25,    -1,   155,    -1,   155,   133,    20,   142,    -1,   155,
+     176,    -1,   155,    62,    61,   160,    -1,    -1,   155,   133,
+     134,   152,   149,   156,   140,    -1,    -1,   155,   133,    50,
+     152,   144,   157,   140,    -1,    -1,   155,   133,    45,   152,
+     144,   158,   140,    -1,    -1,   155,   133,    47,   152,   144,
+     159,   140,    -1,   155,    51,   162,    -1,   155,    58,   108,
+     163,    -1,    -1,    24,    -1,    56,    -1,    55,    -1,    53,
+     108,   161,    -1,    54,   108,     4,    -1,    52,   108,    24,
+      -1,   113,   164,   115,    -1,   164,   109,    24,    -1,    24,
+      -1,    -1,    22,    -1,    24,    -1,   165,    -1,    -1,   144,
+     166,    -1,   168,   109,   167,    -1,   167,    -1,   168,    -1,
+     168,   109,    37,    -1,    37,    -1,    -1,   135,   142,   165,
+     111,   169,   112,   139,   136,    -1,    29,    -1,   118,    -1,
+     134,   170,   171,    -1,    30,    -1,   119,    -1,   183,   173,
+      -1,    -1,    45,    -1,    47,    -1,    -1,    31,   177,   175,
+     170,    -1,    -1,    63,    -1,     3,    -1,     4,    -1,     7,
+      -1,    27,    -1,    28,    -1,    38,    -1,    39,    -1,    26,
+      -1,   116,   151,   117,    -1,   150,    -1,    61,   178,    24,
+     109,    24,    -1,   123,    -1,   165,    -1,   180,    -1,   179,
+      -1,   144,   181,    -1,   183,   184,    -1,   172,   184,    -1,
+     185,   133,   186,    -1,   185,   188,    -1,    -1,    23,    -1,
+      71,   182,    -1,    71,     8,    -1,    72,    21,   181,    -1,
+      72,     9,   181,   109,    21,   181,   109,    21,   181,    -1,
+      73,   131,   181,   109,    21,   181,   113,   187,   115,    -1,
+      73,   131,   181,   109,    21,   181,   113,   115,    -1,    74,
+     135,   142,   181,   111,   191,   112,    36,    21,   181,    75,
+      21,   181,    -1,    75,    -1,    76,    -1,   187,   131,   179,
+     109,    21,   181,    -1,   131,   179,   109,    21,   181,    -1,
+     133,   193,    -1,   144,   113,   181,   109,   181,   115,    -1,
+     189,   109,   113,   181,   109,   181,   115,    -1,   182,    -1,
+     190,   109,   182,    -1,   190,    -1,    -1,    60,    59,    -1,
+      59,    -1,   125,   144,   181,   109,   181,    -1,   126,   144,
+     181,   109,   181,    -1,   127,   144,   181,   109,   181,    -1,
+      49,   182,    -1,   128,   182,   109,   182,    -1,    98,   182,
+      36,   144,    -1,    99,   182,   109,   182,   109,   182,    -1,
+     102,   182,   109,   144,    -1,   106,   182,   109,   144,    -1,
+     107,   182,   109,   144,    -1,   103,   182,   109,   182,    -1,
+     104,   182,   109,   182,   109,   182,    -1,   105,   182,   109,
+     182,   109,   182,    -1,    97,   189,    -1,   192,   135,   142,
+     181,   111,   191,   112,    -1,   196,    -1,   109,   190,    -1,
+      -1,    35,    -1,    -1,    91,   144,   137,    -1,    91,   144,
+     109,    15,   181,   137,    -1,    92,   144,   137,    -1,    92,
+     144,   109,    15,   181,   137,    -1,    93,   182,    -1,   195,
+      94,   144,   181,    -1,   195,    95,   182,   109,   144,   181,
+      -1,    96,   144,   181,   194,    -1
 };
 
 /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
 static const yytype_uint16 yyrline[] =
 {
-       0,  1034,  1034,  1035,  1043,  1044,  1054,  1054,  1054,  1054,
-    1054,  1055,  1055,  1055,  1056,  1056,  1056,  1056,  1056,  1056,
-    1058,  1058,  1062,  1062,  1062,  1062,  1063,  1063,  1063,  1063,
-    1064,  1064,  1065,  1065,  1068,  1072,  1077,  1078,  1079,  1080,
-    1081,  1082,  1083,  1084,  1086,  1087,  1088,  1089,  1090,  1091,
-    1100,  1101,  1107,  1108,  1116,  1124,  1125,  1130,  1131,  1132,
-    1137,  1151,  1151,  1152,  1152,  1154,  1164,  1164,  1164,  1164,
-    1164,  1164,  1164,  1165,  1165,  1165,  1165,  1165,  1165,  1166,
-    1170,  1174,  1181,  1189,  1202,  1207,  1219,  1229,  1233,  1242,
-    1247,  1253,  1254,  1258,  1262,  1273,  1299,  1313,  1343,  1369,
-    1390,  1403,  1413,  1418,  1478,  1485,  1494,  1500,  1506,  1510,
-    1514,  1522,  1533,  1565,  1573,  1595,  1606,  1612,  1620,  1626,
-    1632,  1641,  1645,  1653,  1653,  1663,  1671,  1676,  1680,  1684,
-    1688,  1703,  1724,  1727,  1730,  1730,  1737,  1737,  1745,  1745,
-    1753,  1753,  1761,  1764,  1767,  1771,  1784,  1785,  1787,  1791,
-    1800,  1806,  1808,  1813,  1818,  1827,  1827,  1828,  1828,  1830,
-    1837,  1843,  1850,  1854,  1860,  1865,  1870,  1964,  1964,  1966,
-    1974,  1974,  1976,  1981,  1982,  1983,  1985,  1985,  1995,  1999,
-    2004,  2008,  2012,  2016,  2020,  2024,  2028,  2032,  2036,  2061,
-    2065,  2079,  2083,  2089,  2089,  2095,  2100,  2104,  2113,  2123,
-    2128,  2139,  2151,  2155,  2159,  2163,  2167,  2182,  2187,  2241,
-    2245,  2252,  2261,  2272,  2280,  2286,  2294,  2299,  2306,  2306,
-    2308,  2312,  2319,  2332,  2344,  2355,  2368,  2376,  2384,  2392,
-    2398,  2418,  2441,  2447,  2453,  2459,  2474,  2532,  2539,  2542,
-    2547,  2551,  2558,  2563,  2568,  2573,  2578,  2586,  2597,  2611
+       0,  1035,  1035,  1036,  1044,  1045,  1055,  1055,  1055,  1055,
+    1055,  1056,  1056,  1056,  1057,  1057,  1057,  1057,  1057,  1057,
+    1059,  1059,  1063,  1063,  1063,  1063,  1064,  1064,  1064,  1064,
+    1065,  1065,  1066,  1066,  1069,  1073,  1078,  1079,  1080,  1081,
+    1082,  1083,  1084,  1085,  1087,  1088,  1089,  1090,  1091,  1092,
+    1093,  1094,  1103,  1104,  1110,  1111,  1119,  1127,  1128,  1133,
+    1134,  1135,  1140,  1154,  1154,  1155,  1155,  1157,  1167,  1167,
+    1167,  1167,  1167,  1167,  1167,  1168,  1168,  1168,  1168,  1168,
+    1168,  1169,  1173,  1177,  1184,  1192,  1205,  1210,  1222,  1232,
+    1236,  1245,  1250,  1256,  1257,  1261,  1265,  1276,  1302,  1316,
+    1346,  1372,  1393,  1406,  1416,  1421,  1481,  1488,  1497,  1503,
+    1509,  1513,  1517,  1525,  1536,  1568,  1576,  1598,  1609,  1615,
+    1623,  1629,  1635,  1644,  1648,  1656,  1656,  1666,  1674,  1679,
+    1683,  1687,  1691,  1706,  1727,  1730,  1733,  1733,  1740,  1740,
+    1748,  1748,  1756,  1756,  1764,  1767,  1770,  1774,  1787,  1788,
+    1790,  1794,  1803,  1809,  1811,  1816,  1821,  1830,  1830,  1831,
+    1831,  1833,  1840,  1846,  1853,  1857,  1863,  1868,  1873,  1967,
+    1967,  1969,  1977,  1977,  1979,  1984,  1985,  1986,  1988,  1988,
+    1998,  2002,  2007,  2011,  2015,  2019,  2023,  2027,  2031,  2035,
+    2039,  2064,  2068,  2082,  2086,  2092,  2092,  2098,  2103,  2107,
+    2116,  2126,  2131,  2142,  2154,  2158,  2162,  2166,  2170,  2185,
+    2190,  2244,  2248,  2255,  2264,  2275,  2283,  2289,  2297,  2302,
+    2309,  2309,  2311,  2315,  2322,  2335,  2347,  2358,  2371,  2379,
+    2387,  2395,  2401,  2421,  2444,  2450,  2456,  2462,  2477,  2535,
+    2542,  2545,  2550,  2554,  2561,  2566,  2571,  2576,  2581,  2589,
+    2600,  2614
 };
 #endif
 
@@ -1703,16 +1709,17 @@
   "NOT", "EXTERNAL", "TARGET", "TRIPLE", "ENDIAN", "POINTERSIZE", "LITTLE",
   "BIG", "ALIGN", "DEPLIBS", "CALL", "TAIL", "ASM_TOK", "MODULE",
   "SIDEEFFECT", "CC_TOK", "CCC_TOK", "CSRETCC_TOK", "FASTCC_TOK",
-  "COLDCC_TOK", "RET", "BR", "SWITCH", "INVOKE", "UNWIND", "UNREACHABLE",
-  "ADD", "SUB", "MUL", "DIV", "REM", "AND", "OR", "XOR", "SETLE", "SETGE",
-  "SETLT", "SETGT", "SETEQ", "SETNE", "MALLOC", "ALLOCA", "FREE", "LOAD",
-  "STORE", "GETELEMENTPTR", "PHI_TOK", "CAST", "SELECT", "SHL", "SHR",
-  "VAARG", "EXTRACTELEMENT", "INSERTELEMENT", "SHUFFLEVECTOR", "VAARG_old",
-  "VANEXT_old", "'='", "','", "'\\\\'", "'('", "')'", "'['", "'x'", "']'",
-  "'<'", "'>'", "'{'", "'}'", "'*'", "'c'", "$accept", "INTVAL",
-  "EINT64VAL", "ArithmeticOps", "LogicalOps", "SetCondOps", "ShiftOps",
-  "SIntType", "UIntType", "IntType", "FPType", "OptAssign", "OptLinkage",
-  "OptCallingConv", "OptAlign", "OptCAlign", "SectionString", "OptSection",
+  "COLDCC_TOK", "X86_STDCALLCC_TOK", "X86_FASTCALLCC_TOK", "RET", "BR",
+  "SWITCH", "INVOKE", "UNWIND", "UNREACHABLE", "ADD", "SUB", "MUL", "DIV",
+  "REM", "AND", "OR", "XOR", "SETLE", "SETGE", "SETLT", "SETGT", "SETEQ",
+  "SETNE", "MALLOC", "ALLOCA", "FREE", "LOAD", "STORE", "GETELEMENTPTR",
+  "PHI_TOK", "CAST", "SELECT", "SHL", "SHR", "VAARG", "EXTRACTELEMENT",
+  "INSERTELEMENT", "SHUFFLEVECTOR", "VAARG_old", "VANEXT_old", "'='",
+  "','", "'\\\\'", "'('", "')'", "'['", "'x'", "']'", "'<'", "'>'", "'{'",
+  "'}'", "'*'", "'c'", "$accept", "INTVAL", "EINT64VAL", "ArithmeticOps",
+  "LogicalOps", "SetCondOps", "ShiftOps", "SIntType", "UIntType",
+  "IntType", "FPType", "OptAssign", "OptLinkage", "OptCallingConv",
+  "OptAlign", "OptCAlign", "SectionString", "OptSection",
   "GlobalVarAttributes", "GlobalVarAttribute", "TypesV", "UpRTypesV",
   "Types", "PrimType", "UpRTypes", "TypeListI", "ArgTypeListI", "ConstVal",
   "ConstExpr", "ConstVector", "GlobalType", "Module", "FunctionList",
@@ -1743,39 +1750,41 @@
      325,   326,   327,   328,   329,   330,   331,   332,   333,   334,
      335,   336,   337,   338,   339,   340,   341,   342,   343,   344,
      345,   346,   347,   348,   349,   350,   351,   352,   353,   354,
-     355,   356,   357,   358,   359,   360,    61,    44,    92,    40,
-      41,    91,   120,    93,    60,    62,   123,   125,    42,    99
+     355,   356,   357,   358,   359,   360,   361,   362,    61,    44,
+      92,    40,    41,    91,   120,    93,    60,    62,   123,   125,
+      42,    99
 };
 # endif
 
 /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
 static const yytype_uint8 yyr1[] =
 {
-       0,   120,   121,   121,   122,   122,   123,   123,   123,   123,
-     123,   124,   124,   124,   125,   125,   125,   125,   125,   125,
-     126,   126,   127,   127,   127,   127,   128,   128,   128,   128,
-     129,   129,   130,   130,   131,   131,   132,   132,   132,   132,
-     132,   132,   132,   132,   133,   133,   133,   133,   133,   133,
-     134,   134,   135,   135,   136,   137,   137,   138,   138,   139,
-     139,   140,   140,   141,   141,   142,   143,   143,   143,   143,
-     143,   143,   143,   143,   143,   143,   143,   143,   143,   144,
-     144,   144,   144,   144,   144,   144,   144,   144,   144,   145,
-     145,   146,   146,   146,   146,   147,   147,   147,   147,   147,
-     147,   147,   147,   147,   147,   147,   147,   147,   147,   147,
-     147,   148,   148,   148,   148,   148,   148,   148,   148,   148,
-     148,   149,   149,   150,   150,   151,   152,   152,   152,   152,
-     152,   153,   153,   153,   154,   153,   155,   153,   156,   153,
-     157,   153,   153,   153,   153,   158,   159,   159,   160,   160,
-     160,   161,   162,   162,   162,   163,   163,   164,   164,   165,
-     166,   166,   167,   167,   167,   167,   168,   169,   169,   170,
-     171,   171,   172,   173,   173,   173,   175,   174,   176,   176,
-     177,   177,   177,   177,   177,   177,   177,   177,   177,   177,
-     177,   178,   178,   179,   179,   180,   181,   181,   182,   183,
-     183,   183,   184,   184,   184,   184,   184,   184,   184,   184,
-     184,   185,   185,   186,   187,   187,   188,   188,   189,   189,
-     190,   190,   191,   191,   191,   191,   191,   191,   191,   191,
-     191,   191,   191,   191,   191,   191,   191,   191,   192,   192,
-     193,   193,   194,   194,   194,   194,   194,   194,   194,   194
+       0,   122,   123,   123,   124,   124,   125,   125,   125,   125,
+     125,   126,   126,   126,   127,   127,   127,   127,   127,   127,
+     128,   128,   129,   129,   129,   129,   130,   130,   130,   130,
+     131,   131,   132,   132,   133,   133,   134,   134,   134,   134,
+     134,   134,   134,   134,   135,   135,   135,   135,   135,   135,
+     135,   135,   136,   136,   137,   137,   138,   139,   139,   140,
+     140,   141,   141,   142,   142,   143,   143,   144,   145,   145,
+     145,   145,   145,   145,   145,   145,   145,   145,   145,   145,
+     145,   146,   146,   146,   146,   146,   146,   146,   146,   146,
+     146,   147,   147,   148,   148,   148,   148,   149,   149,   149,
+     149,   149,   149,   149,   149,   149,   149,   149,   149,   149,
+     149,   149,   149,   150,   150,   150,   150,   150,   150,   150,
+     150,   150,   150,   151,   151,   152,   152,   153,   154,   154,
+     154,   154,   154,   155,   155,   155,   156,   155,   157,   155,
+     158,   155,   159,   155,   155,   155,   155,   160,   161,   161,
+     162,   162,   162,   163,   164,   164,   164,   165,   165,   166,
+     166,   167,   168,   168,   169,   169,   169,   169,   170,   171,
+     171,   172,   173,   173,   174,   175,   175,   175,   177,   176,
+     178,   178,   179,   179,   179,   179,   179,   179,   179,   179,
+     179,   179,   179,   180,   180,   181,   181,   182,   183,   183,
+     184,   185,   185,   185,   186,   186,   186,   186,   186,   186,
+     186,   186,   186,   187,   187,   188,   189,   189,   190,   190,
+     191,   191,   192,   192,   193,   193,   193,   193,   193,   193,
+     193,   193,   193,   193,   193,   193,   193,   193,   193,   193,
+     194,   194,   195,   195,   196,   196,   196,   196,   196,   196,
+     196,   196
 };
 
 /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */
@@ -1785,27 +1794,28 @@
        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
        1,     1,     1,     1,     2,     0,     1,     1,     1,     1,
-       1,     1,     1,     0,     0,     1,     1,     1,     1,     2,
-       0,     2,     0,     3,     2,     0,     1,     0,     3,     1,
-       2,     1,     1,     1,     1,     1,     1,     1,     1,     1,
+       1,     1,     1,     0,     0,     1,     1,     1,     1,     1,
+       1,     2,     0,     2,     0,     3,     2,     0,     1,     0,
+       3,     1,     2,     1,     1,     1,     1,     1,     1,     1,
        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-       1,     1,     2,     4,     5,     5,     3,     2,     2,     1,
-       3,     1,     3,     1,     0,     4,     3,     3,     4,     4,
-       3,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     6,     5,     8,     6,     6,     6,     6,     6,     8,
-       8,     3,     1,     1,     1,     1,     2,     2,     4,     2,
-       1,     4,     2,     4,     0,     7,     0,     7,     0,     7,
-       0,     7,     3,     4,     0,     1,     1,     1,     3,     3,
-       3,     3,     3,     1,     0,     1,     1,     1,     0,     2,
-       3,     1,     1,     3,     1,     0,     8,     1,     1,     3,
-       1,     1,     2,     0,     1,     1,     0,     4,     0,     1,
-       1,     1,     1,     1,     1,     1,     1,     1,     3,     1,
-       5,     1,     1,     1,     1,     2,     2,     2,     3,     2,
-       0,     1,     2,     2,     3,     9,     9,     8,    13,     1,
-       1,     6,     5,     2,     6,     7,     1,     3,     1,     0,
-       2,     1,     5,     5,     5,     2,     4,     4,     6,     4,
-       4,     4,     4,     6,     6,     2,     7,     1,     2,     0,
-       1,     0,     3,     6,     3,     6,     2,     4,     6,     4
+       1,     1,     1,     1,     2,     4,     5,     5,     3,     2,
+       2,     1,     3,     1,     3,     1,     0,     4,     3,     3,
+       4,     4,     3,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     6,     5,     8,     6,     6,     6,     6,
+       6,     8,     8,     3,     1,     1,     1,     1,     2,     2,
+       4,     2,     1,     4,     2,     4,     0,     7,     0,     7,
+       0,     7,     0,     7,     3,     4,     0,     1,     1,     1,
+       3,     3,     3,     3,     3,     1,     0,     1,     1,     1,
+       0,     2,     3,     1,     1,     3,     1,     0,     8,     1,
+       1,     3,     1,     1,     2,     0,     1,     1,     0,     4,
+       0,     1,     1,     1,     1,     1,     1,     1,     1,     1,
+       3,     1,     5,     1,     1,     1,     1,     2,     2,     2,
+       3,     2,     0,     1,     2,     2,     3,     9,     9,     8,
+      13,     1,     1,     6,     5,     2,     6,     7,     1,     3,
+       1,     0,     2,     1,     5,     5,     5,     2,     4,     4,
+       6,     4,     4,     4,     4,     6,     6,     2,     7,     1,
+       2,     0,     1,     0,     3,     6,     3,     6,     2,     4,
+       6,     4
 };
 
 /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
@@ -1813,347 +1823,348 @@
    means the default is an error.  */
 static const yytype_uint8 yydefact[] =
 {
-     144,     0,    43,   130,     1,   129,   176,    36,    37,    38,
-      39,    40,    41,    42,     0,    44,   200,   126,   127,   200,
-     155,   156,     0,     0,     0,    43,     0,   132,   173,     0,
-       0,    45,    46,    47,    48,     0,     0,   201,   197,    35,
-     170,   171,   172,   196,     0,     0,     0,   142,     0,     0,
-       0,     0,     0,     0,     0,    34,   174,   175,    44,   145,
-     128,    49,     2,     3,    62,    66,    67,    68,    69,    70,
-      71,    72,    73,    74,    75,    76,    77,    78,    79,     0,
-       0,     0,     0,   191,     0,     0,    61,    80,    65,   192,
-      81,   167,   168,   169,   241,   199,     0,     0,     0,   154,
-     143,   133,   131,   123,   124,     0,     0,     0,     0,   177,
-      82,     0,     0,    64,    87,    89,     0,     0,    94,    88,
-     240,     0,   221,     0,     0,     0,     0,    44,   209,   210,
-       6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
-      16,    17,    18,    19,     0,     0,     0,     0,     0,     0,
-       0,    20,    21,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,   198,    44,   213,     0,   237,   150,   147,
-     146,   148,   149,   153,     0,   138,   140,   136,    66,    67,
-      68,    69,    70,    71,    72,    73,    74,    75,    76,     0,
-       0,     0,     0,   134,     0,     0,     0,    86,   165,    93,
-      91,     0,     0,   225,   220,   203,   202,     0,     0,    25,
-      29,    24,    28,    23,    27,    22,    26,    30,    31,     0,
-       0,    52,    52,   246,     0,     0,   235,     0,     0,     0,
+     146,     0,    43,   132,     1,   131,   178,    36,    37,    38,
+      39,    40,    41,    42,     0,    44,   202,   128,   129,   202,
+     157,   158,     0,     0,     0,    43,     0,   134,   175,     0,
+       0,    45,    46,    47,    48,    49,    50,     0,     0,   203,
+     199,    35,   172,   173,   174,   198,     0,     0,     0,   144,
+       0,     0,     0,     0,     0,     0,     0,    34,   176,   177,
+      44,   147,   130,    51,     2,     3,    64,    68,    69,    70,
+      71,    72,    73,    74,    75,    76,    77,    78,    79,    80,
+      81,     0,     0,     0,     0,   193,     0,     0,    63,    82,
+      67,   194,    83,   169,   170,   171,   243,   201,     0,     0,
+       0,   156,   145,   135,   133,   125,   126,     0,     0,     0,
+       0,   179,    84,     0,     0,    66,    89,    91,     0,     0,
+      96,    90,   242,     0,   223,     0,     0,     0,     0,    44,
+     211,   212,     6,     7,     8,     9,    10,    11,    12,    13,
+      14,    15,    16,    17,    18,    19,     0,     0,     0,     0,
+       0,     0,     0,    20,    21,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,   200,    44,   215,     0,   239,
+     152,   149,   148,   150,   151,   155,     0,   140,   142,   138,
+      68,    69,    70,    71,    72,    73,    74,    75,    76,    77,
+      78,     0,     0,     0,     0,   136,     0,     0,     0,    88,
+     167,    95,    93,     0,     0,   227,   222,   205,   204,     0,
+       0,    25,    29,    24,    28,    23,    27,    22,    26,    30,
+      31,     0,     0,    54,    54,   248,     0,     0,   237,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,   151,    57,    57,    57,   108,   109,     4,
-       5,   106,   107,   110,   105,   101,   102,     0,     0,     0,
+       0,     0,     0,     0,     0,   153,    59,    59,    59,   110,
+     111,     4,     5,   108,   109,   112,   107,   103,   104,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,   104,   103,    57,    63,    63,    90,   164,   158,   161,
-     162,     0,     0,    83,   180,   181,   182,   187,   183,   184,
-     185,   186,   178,     0,   189,   194,   193,   195,     0,   204,
-       0,     0,     0,   242,     0,   244,   239,     0,     0,     0,
+       0,     0,     0,   106,   105,    59,    65,    65,    92,   166,
+     160,   163,   164,     0,     0,    85,   182,   183,   184,   189,
+     185,   186,   187,   188,   180,     0,   191,   196,   195,   197,
+       0,   206,     0,     0,     0,   244,     0,   246,   241,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,   152,     0,   139,   141,   137,     0,
-       0,     0,     0,     0,     0,    96,   122,     0,     0,   100,
-       0,    97,     0,     0,     0,     0,   135,    84,    85,   157,
-     159,     0,    55,    92,   179,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,   249,     0,     0,   227,     0,   229,
-     232,     0,     0,   230,   231,     0,     0,     0,   226,     0,
-     247,     0,     0,     0,    59,    57,   239,     0,     0,     0,
-       0,     0,     0,    95,    98,    99,     0,     0,     0,     0,
-     163,   160,    56,    50,     0,   188,     0,     0,   219,    52,
-      53,    52,   216,   238,     0,     0,     0,     0,     0,   222,
-     223,   224,   219,     0,    54,    60,    58,     0,     0,     0,
-       0,     0,     0,   121,     0,     0,     0,     0,     0,   166,
-       0,     0,     0,   218,     0,     0,   243,   245,     0,     0,
-       0,   228,   233,   234,     0,   248,   112,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,    51,   190,     0,     0,
-       0,   217,   214,     0,   236,   111,     0,   118,     0,     0,
-     114,   115,   116,   117,     0,   207,     0,     0,     0,   215,
-       0,     0,     0,   205,     0,   206,     0,     0,   113,   119,
-     120,     0,     0,     0,     0,     0,     0,   212,     0,     0,
-     211,   208
+       0,     0,     0,     0,     0,     0,   154,     0,   141,   143,
+     139,     0,     0,     0,     0,     0,     0,    98,   124,     0,
+       0,   102,     0,    99,     0,     0,     0,     0,   137,    86,
+      87,   159,   161,     0,    57,    94,   181,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,   251,     0,     0,   229,
+       0,   231,   234,     0,     0,   232,   233,     0,     0,     0,
+     228,     0,   249,     0,     0,     0,    61,    59,   241,     0,
+       0,     0,     0,     0,     0,    97,   100,   101,     0,     0,
+       0,     0,   165,   162,    58,    52,     0,   190,     0,     0,
+     221,    54,    55,    54,   218,   240,     0,     0,     0,     0,
+       0,   224,   225,   226,   221,     0,    56,    62,    60,     0,
+       0,     0,     0,     0,     0,   123,     0,     0,     0,     0,
+       0,   168,     0,     0,     0,   220,     0,     0,   245,   247,
+       0,     0,     0,   230,   235,   236,     0,   250,   114,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,    53,   192,
+       0,     0,     0,   219,   216,     0,   238,   113,     0,   120,
+       0,     0,   116,   117,   118,   119,     0,   209,     0,     0,
+       0,   217,     0,     0,     0,   207,     0,   208,     0,     0,
+     115,   121,   122,     0,     0,     0,     0,     0,     0,   214,
+       0,     0,   213,   210
 };
 
 /* YYDEFGOTO[NTERM-NUM].  */
 static const yytype_int16 yydefgoto[] =
 {
-      -1,    83,   251,   267,   268,   269,   270,   189,   190,   219,
-     191,    25,    15,    35,   439,   303,   384,   403,   326,   385,
-      84,    85,   192,    87,    88,   116,   201,   336,   294,   337,
-     105,     1,     2,     3,   273,   246,   244,   245,    60,   171,
-      47,   100,   174,    89,   350,   279,   280,   281,    36,    93,
-      16,    42,    17,    58,    18,    28,   355,   295,    90,   297,
-     412,    19,    38,    39,   163,   487,    95,   226,   443,   444,
-     164,   165,   364,   166,   167
+      -1,    85,   253,   269,   270,   271,   272,   191,   192,   221,
+     193,    25,    15,    37,   441,   305,   386,   405,   328,   387,
+      86,    87,   194,    89,    90,   118,   203,   338,   296,   339,
+     107,     1,     2,     3,   275,   248,   246,   247,    62,   173,
+      49,   102,   176,    91,   352,   281,   282,   283,    38,    95,
+      16,    44,    17,    60,    18,    28,   357,   297,    92,   299,
+     414,    19,    40,    41,   165,   489,    97,   228,   445,   446,
+     166,   167,   366,   168,   169
 };
 
 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
    STATE-NUM.  */
-#define YYPACT_NINF -457
+#define YYPACT_NINF -428
 static const yytype_int16 yypact[] =
 {
-    -457,    69,   194,   602,  -457,  -457,  -457,  -457,  -457,  -457,
-    -457,  -457,  -457,  -457,    26,   183,    71,  -457,  -457,   -13,
-    -457,  -457,    13,    -3,    47,   115,    30,  -457,    52,   117,
-     142,  -457,  -457,  -457,  -457,  1048,   -20,  -457,  -457,    78,
-    -457,  -457,  -457,  -457,    44,    45,    48,  -457,    55,   117,
-    1048,    12,    12,    12,    12,  -457,  -457,  -457,   183,  -457,
-    -457,  -457,  -457,  -457,    46,  -457,  -457,  -457,  -457,  -457,
-    -457,  -457,  -457,  -457,  -457,  -457,  -457,  -457,  -457,   163,
-     164,   166,   569,  -457,    78,    62,  -457,  -457,   -88,  -457,
-    -457,  -457,  -457,  -457,  1221,  -457,   148,   -27,   169,   151,
-    -457,  -457,  -457,  -457,  -457,  1089,  1089,  1089,  1130,  -457,
-    -457,    65,    66,  -457,  -457,   -88,   -83,    70,   843,  -457,
-    -457,  1089,  -457,   124,  1171,     5,   185,   183,  -457,  -457,
-    -457,  -457,  -457,  -457,  -457,  -457,  -457,  -457,  -457,  -457,
-    -457,  -457,  -457,  -457,  1089,  1089,  1089,  1089,  1089,  1089,
-    1089,  -457,  -457,  1089,  1089,  1089,  1089,  1089,  1089,  1089,
-    1089,  1089,  1089,  -457,   183,  -457,    -9,  -457,  -457,  -457,
-    -457,  -457,  -457,  -457,   -45,  -457,  -457,  -457,    89,   128,
-     180,   130,   182,   136,   184,   140,   187,   196,   200,   145,
-     204,   202,   422,  -457,  1089,  1089,  1089,  -457,   884,  -457,
-      80,    79,   635,  -457,  -457,    46,  -457,   635,   635,  -457,
-    -457,  -457,  -457,  -457,  -457,  -457,  -457,  -457,  -457,   635,
-    1048,   103,   105,  -457,   635,   106,   111,   186,   113,   116,
-     119,   120,   121,   146,   147,   635,   635,   635,   150,  1048,
-    1089,  1089,   231,  -457,   152,   152,   152,  -457,  -457,  -457,
-    -457,  -457,  -457,  -457,  -457,  -457,  -457,   149,   153,   154,
-     155,   156,   159,   925,  1130,   589,   236,   160,   161,   175,
-     177,  -457,  -457,   152,   -86,   -54,   -88,  -457,    78,  -457,
-     188,   114,   966,  -457,  -457,  -457,  -457,  -457,  -457,  -457,
-    -457,  -457,   198,  1130,  -457,  -457,  -457,  -457,   189,  -457,
-     190,   635,    -4,  -457,     3,  -457,   191,   635,   162,  1089,
-    1089,  1089,  1089,  1089,  1089,  1089,  1089,   195,   197,   199,
-    1089,   635,   635,   201,  -457,   -11,  -457,  -457,  -457,  1130,
-    1130,  1130,  1130,  1130,  1130,  -457,  -457,   -12,   -22,  -457,
-     -26,  -457,  1130,  1130,  1130,  1130,  -457,  -457,  -457,  -457,
-    -457,  1007,   253,  -457,  -457,   265,   -17,   269,   270,   203,
-     635,   289,   635,  1089,  -457,   206,   635,  -457,   207,  -457,
-    -457,   208,   216,  -457,  -457,   635,   635,   635,  -457,   215,
-    -457,  1089,   279,   290,  -457,   152,   191,   273,   218,   219,
-     220,   226,  1130,  -457,  -457,  -457,   232,   233,   234,   235,
-    -457,  -457,  -457,   281,   240,  -457,   635,   635,  1089,   241,
-    -457,   241,  -457,   243,   635,   246,  1089,  1089,  1089,  -457,
-    -457,  -457,  1089,   635,  -457,  -457,  -457,   244,  1089,  1130,
-    1130,  1130,  1130,  -457,  1130,  1130,  1130,  1130,   306,  -457,
-     319,   248,   245,   243,   247,   301,  -457,  -457,  1089,   251,
-     635,  -457,  -457,  -457,   250,  -457,  -457,   256,   254,   257,
-     262,   263,   264,   267,   274,   278,  -457,  -457,   351,    25,
-     339,  -457,  -457,   276,  -457,  -457,  1130,  -457,  1130,  1130,
-    -457,  -457,  -457,  -457,   635,  -457,   736,    63,   359,  -457,
-     280,   282,   284,  -457,   291,  -457,   736,   635,  -457,  -457,
-    -457,   370,   292,   323,   635,   376,   379,  -457,   635,   635,
-    -457,  -457
+    -428,    45,   194,   602,  -428,  -428,  -428,  -428,  -428,  -428,
+    -428,  -428,  -428,  -428,    26,    14,    85,  -428,  -428,   -13,
+    -428,  -428,    91,    28,    90,    49,    33,  -428,    21,   155,
+     158,  -428,  -428,  -428,  -428,  -428,  -428,  1052,   -20,  -428,
+    -428,    80,  -428,  -428,  -428,  -428,    75,    76,    79,  -428,
+      73,   155,  1052,    84,    84,    84,    84,  -428,  -428,  -428,
+      14,  -428,  -428,  -428,  -428,  -428,    77,  -428,  -428,  -428,
+    -428,  -428,  -428,  -428,  -428,  -428,  -428,  -428,  -428,  -428,
+    -428,   185,   187,   191,   569,  -428,    80,    86,  -428,  -428,
+     -44,  -428,  -428,  -428,  -428,  -428,  1223,  -428,   175,    78,
+     192,   176,  -428,  -428,  -428,  -428,  -428,  1093,  1093,  1093,
+    1134,  -428,  -428,    87,    88,  -428,  -428,   -44,   -95,    92,
+     847,  -428,  -428,  1093,  -428,   139,  1175,    52,   144,    14,
+    -428,  -428,  -428,  -428,  -428,  -428,  -428,  -428,  -428,  -428,
+    -428,  -428,  -428,  -428,  -428,  -428,  1093,  1093,  1093,  1093,
+    1093,  1093,  1093,  -428,  -428,  1093,  1093,  1093,  1093,  1093,
+    1093,  1093,  1093,  1093,  1093,  -428,    14,  -428,    44,  -428,
+    -428,  -428,  -428,  -428,  -428,  -428,   -12,  -428,  -428,  -428,
+     138,   164,   203,   167,   204,   169,   205,   172,   206,   210,
+     211,   174,   208,   213,   412,  -428,  1093,  1093,  1093,  -428,
+     888,  -428,   113,   111,   635,  -428,  -428,    77,  -428,   635,
+     635,  -428,  -428,  -428,  -428,  -428,  -428,  -428,  -428,  -428,
+    -428,   635,  1052,   115,   117,  -428,   635,   114,   119,   212,
+     140,   141,   142,   145,   146,   148,   149,   635,   635,   635,
+     150,  1052,  1093,  1093,   223,  -428,   151,   151,   151,  -428,
+    -428,  -428,  -428,  -428,  -428,  -428,  -428,  -428,  -428,   152,
+     153,   154,   157,   159,   162,   929,  1134,   589,   229,   173,
+     178,   179,   180,  -428,  -428,   151,   -15,    15,   -44,  -428,
+      80,  -428,   160,   181,   970,  -428,  -428,  -428,  -428,  -428,
+    -428,  -428,  -428,  -428,   198,  1134,  -428,  -428,  -428,  -428,
+     177,  -428,   186,   635,    -4,  -428,     3,  -428,   188,   635,
+     183,  1093,  1093,  1093,  1093,  1093,  1093,  1093,  1093,   189,
+     193,   195,  1093,   635,   635,   197,  -428,   -11,  -428,  -428,
+    -428,  1134,  1134,  1134,  1134,  1134,  1134,  -428,  -428,    -8,
+     -96,  -428,   -45,  -428,  1134,  1134,  1134,  1134,  -428,  -428,
+    -428,  -428,  -428,  1011,   228,  -428,  -428,   263,   -32,   273,
+     282,   199,   635,   304,   635,  1093,  -428,   200,   635,  -428,
+     214,  -428,  -428,   215,   216,  -428,  -428,   635,   635,   635,
+    -428,   201,  -428,  1093,   289,   310,  -428,   151,   188,   279,
+     217,   218,   224,   230,  1134,  -428,  -428,  -428,   231,   232,
+     233,   234,  -428,  -428,  -428,   281,   238,  -428,   635,   635,
+    1093,   239,  -428,   239,  -428,   241,   635,   244,  1093,  1093,
+    1093,  -428,  -428,  -428,  1093,   635,  -428,  -428,  -428,   242,
+    1093,  1134,  1134,  1134,  1134,  -428,  1134,  1134,  1134,  1134,
+     351,  -428,   332,   248,   245,   241,   249,   303,  -428,  -428,
+    1093,   251,   635,  -428,  -428,  -428,   252,  -428,  -428,   255,
+     260,   258,   265,   266,   268,   272,   276,   277,  -428,  -428,
+     356,    16,   336,  -428,  -428,   275,  -428,  -428,  1134,  -428,
+    1134,  1134,  -428,  -428,  -428,  -428,   635,  -428,   738,    25,
+     370,  -428,   280,   284,   285,  -428,   290,  -428,   738,   635,
+    -428,  -428,  -428,   373,   291,   323,   635,   380,   381,  -428,
+     635,   635,  -428,  -428
 };
 
 /* YYPGOTO[NTERM-NUM].  */
 static const yytype_int16 yypgoto[] =
 {
-    -457,  -457,  -457,   307,   308,   309,   310,  -125,  -124,  -456,
-    -457,   366,   381,  -115,  -457,  -219,    56,  -457,  -240,  -457,
-     -46,  -457,   -35,  -457,   -66,   293,  -457,  -100,   217,  -245,
-      53,  -457,  -457,  -457,  -457,  -457,  -457,  -457,   358,  -457,
-    -457,  -457,  -457,     4,  -457,    59,  -457,  -457,   354,  -457,
-    -457,  -457,  -457,  -457,   411,  -457,  -457,  -404,   -55,    64,
-     -99,  -457,   396,  -457,  -457,  -457,  -457,  -457,    54,    -6,
-    -457,  -457,    32,  -457,  -457
+    -428,  -428,  -428,   307,   308,   309,   311,  -127,  -126,  -427,
+    -428,   365,   383,  -117,  -428,  -221,    55,  -428,  -241,  -428,
+     -48,  -428,   -37,  -428,   -68,   292,  -428,  -102,   220,  -247,
+      94,  -428,  -428,  -428,  -428,  -428,  -428,  -428,   359,  -428,
+    -428,  -428,  -428,     2,  -428,    58,  -428,  -428,   355,  -428,
+    -428,  -428,  -428,  -428,   413,  -428,  -428,  -423,   -57,    62,
+    -101,  -428,   400,  -428,  -428,  -428,  -428,  -428,    56,    -2,
+    -428,  -428,    32,  -428,  -428
 };
 
 /* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If
    positive, shift that token.  If negative, reduce the rule which
    number is the opposite.  If zero, do what YYDEFACT says.
    If YYTABLE_NINF, syntax error.  */
-#define YYTABLE_NINF -126
+#define YYTABLE_NINF -128
 static const yytype_int16 yytable[] =
 {
-      86,   217,   218,   305,   102,   327,   328,    26,   193,    91,
-      37,   360,   220,   486,   207,    86,   115,    40,   362,   338,
-     340,   -63,   203,   382,   196,   206,   208,   347,   169,   170,
-     119,   496,   119,   346,   197,   209,   210,   211,   212,   213,
-     214,   215,   216,    26,   103,   104,   383,   223,   356,   239,
-     227,   228,   115,   361,   229,   230,   231,   232,   233,   234,
-     361,   348,   242,   238,   119,    44,    45,    46,   243,     4,
-     175,   176,   177,   209,   210,   211,   212,   213,   214,   215,
-     216,   392,   494,   240,   241,   392,   202,    29,   117,   202,
-     392,   395,   502,   394,    37,   392,    92,    56,   405,    57,
-      20,   393,    21,    48,    41,   106,   107,   108,    49,   221,
-     222,   202,   224,   225,   202,   202,   247,   248,   202,   202,
-     202,   202,   202,   202,   235,   236,   237,   202,   274,   275,
-     276,   -25,   -25,   -24,   -24,    50,    55,   272,   485,   -23,
-     -23,    59,   323,   -22,   -22,   426,    61,   296,   249,   250,
-      96,    97,   296,   296,    98,   -64,     7,     8,     9,    10,
-      51,    12,    52,   278,   296,    53,    99,   110,   111,   296,
-     112,   118,   168,   172,   301,   173,   495,   194,   195,   198,
-     296,   296,   296,   204,   -29,    86,   -28,   282,   -27,   283,
-     446,   -26,   447,   321,  -125,   209,   210,   211,   212,   213,
-     214,   215,   216,   -32,    86,   322,   202,   -33,   252,   253,
-     302,   368,   304,   370,   371,   372,   276,   307,   308,     5,
-     310,   378,   309,   311,   352,     6,   312,   313,   314,   386,
-     387,   388,   389,   390,   391,     7,     8,     9,    10,    11,
-      12,    13,   396,   397,   398,   399,   296,    30,    31,    32,
-      33,    34,   296,   315,   316,   324,    14,   320,   329,   325,
-     341,   354,   330,   331,   332,   333,   296,   296,   334,   342,
-     343,   298,   299,   366,   367,   202,   369,   202,   202,   202,
-     373,   374,   349,   300,   344,   202,   345,   382,   306,   404,
-     406,   407,   433,   410,   425,   351,   357,   358,   363,   317,
-     318,   319,   375,   424,   376,   296,   377,   296,   381,   428,
-     466,   296,   408,   414,   416,   417,   278,   451,   452,   453,
-     296,   296,   296,   418,   422,   429,   430,   431,   202,   458,
-     459,   460,   461,   432,   462,   463,   464,   465,   438,   434,
-     435,   436,   437,   467,   217,   218,   423,   440,   445,   471,
-     448,   296,   296,   450,   456,   468,   469,   470,   361,   296,
-     474,   476,   217,   218,   472,   359,   475,   477,   296,   478,
-     479,   365,   484,   202,   480,   488,   490,   481,   491,   492,
-     497,   202,   202,   202,   482,   379,   380,   202,   483,   489,
-     498,   504,   499,   457,   500,   296,   506,   508,   501,   505,
-     509,   159,   160,   161,   162,    94,    54,   101,   402,   271,
-     401,   200,   109,   202,    27,    43,   454,   413,   427,     0,
-       0,     0,     0,     0,   409,     0,   411,    62,    63,   296,
-     415,     0,     0,     0,     0,     0,     0,     0,     0,   419,
-     420,   421,   296,     0,    20,     0,    21,     0,   254,   296,
-       0,     0,     0,   296,   296,     0,     0,     0,     0,     0,
-     255,   256,     0,     0,     0,     0,     0,     0,     0,     0,
-     441,   442,     0,     0,     0,     0,     0,     0,   449,     0,
-       0,     0,     0,     0,     0,     0,     0,   455,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,   130,   131,   132,
+      88,   219,   220,   307,   104,    26,   329,   330,   195,    93,
+      39,   362,   222,   394,   198,    88,   117,    42,   364,   340,
+     342,   396,   205,   384,   199,   208,   211,   212,   213,   214,
+     215,   216,   217,   218,   348,   211,   212,   213,   214,   215,
+     216,   217,   218,    26,   488,     4,   385,   225,   358,   241,
+     229,   230,   117,   363,   231,   232,   233,   234,   235,   236,
+     363,   209,   498,   240,   394,   496,    58,   -65,    59,    52,
+     177,   178,   179,   210,   397,   504,   121,   394,    30,    31,
+      32,    33,    34,    35,    36,   407,   204,    29,   119,   204,
+       7,     8,     9,    10,    53,    12,    54,   244,    94,    55,
+     349,   394,    20,   245,    21,   121,    43,   395,    39,   223,
+     224,   204,   226,   227,   204,   204,   105,   106,   204,   204,
+     204,   204,   204,   204,   237,   238,   239,   204,   276,   277,
+     278,   487,   350,   171,   172,   121,    50,   274,   242,   243,
+     497,    57,   325,    46,    47,    48,   428,   298,   108,   109,
+     110,    51,   298,   298,   211,   212,   213,   214,   215,   216,
+     217,   218,    63,   280,   298,   249,   250,   -25,   -25,   298,
+     -24,   -24,   -23,   -23,   303,   -22,   -22,   251,   252,    61,
+     298,   298,   298,    98,    99,    88,   101,   100,   -66,   112,
+     448,   113,   449,   323,  -127,   114,   174,   120,   206,   170,
+     175,   196,   197,   200,    88,   324,   204,   -29,   -28,   -27,
+     -26,   370,   254,   372,   373,   374,   278,   -32,   -33,     5,
+     255,   380,   284,   285,   304,     6,   306,   309,   310,   388,
+     389,   390,   391,   392,   393,     7,     8,     9,    10,    11,
+      12,    13,   398,   399,   400,   401,   298,   326,   311,   312,
+     313,   314,   298,   343,   315,   316,    14,   317,   318,   322,
+     327,   356,   384,   331,   332,   333,   298,   298,   334,   353,
+     335,   300,   301,   336,   369,   204,   371,   204,   204,   204,
+     375,   376,   351,   302,   344,   204,   359,   406,   308,   345,
+     346,   347,   435,   354,   408,   360,   368,   365,   377,   319,
+     320,   321,   378,   409,   379,   298,   383,   298,   412,   416,
+     410,   298,   424,   426,   427,   430,   280,   453,   454,   455,
+     298,   298,   298,   418,   419,   420,   431,   432,   204,   460,
+     461,   462,   463,   433,   464,   465,   466,   467,   440,   434,
+     436,   437,   438,   439,   219,   220,   425,   442,   447,   473,
+     450,   298,   298,   452,   458,   468,   469,   470,   471,   298,
+     363,   472,   219,   220,   476,   361,   474,   477,   298,   478,
+     479,   367,   490,   204,   480,   481,   492,   486,   493,   494,
+     482,   204,   204,   204,   483,   381,   382,   204,   484,   485,
+     491,   499,   500,   459,   506,   298,   501,   502,   508,   503,
+     507,   510,   511,   161,   162,   163,    96,   164,    56,   404,
+     103,   403,   202,   204,   273,   111,    27,    64,    65,    45,
+     429,   415,   456,     0,   411,     0,   413,     0,     0,   298,
+     417,     0,     0,     0,    20,     0,    21,     0,   256,   421,
+     422,   423,   298,     0,     0,     0,     0,     0,     0,   298,
+     257,   258,     0,   298,   298,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+     443,   444,     0,     0,     0,     0,     0,     0,   451,     0,
+       0,     0,     0,     0,     0,     0,     0,   457,     0,   132,
      133,   134,   135,   136,   137,   138,   139,   140,   141,   142,
-     143,     0,     0,     0,   473,     0,   257,     0,   258,   259,
-     151,   152,     0,   260,   261,   262,     0,     0,     0,     0,
-       0,     0,     0,   263,     0,     0,   264,     0,   265,     0,
-       0,   266,     0,     0,     0,     0,     0,     0,   493,     0,
+     143,   144,   145,     0,     0,     0,     0,     0,   259,     0,
+     260,   261,   153,   154,   475,   262,   263,   264,     0,     0,
+       0,     0,     0,     0,     0,   265,     0,     0,   266,     0,
+     267,     0,     0,   268,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,   495,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,   503,     0,     0,     0,     0,     0,     0,   507,     0,
-       0,     0,   510,   511,    62,    63,     0,   113,    65,    66,
-      67,    68,    69,    70,    71,    72,    73,    74,    75,    76,
-      77,    20,     0,    21,    62,    63,     0,   113,   178,   179,
-     180,   181,   182,   183,   184,   185,   186,   187,   188,    76,
-      77,    20,     0,    21,     0,     0,     0,    78,     0,     0,
+       0,   505,     0,     0,     0,     0,     0,     0,   509,     0,
+       0,     0,   512,   513,    64,    65,     0,   115,    67,    68,
+      69,    70,    71,    72,    73,    74,    75,    76,    77,    78,
+      79,    20,     0,    21,    64,    65,     0,   115,   180,   181,
+     182,   183,   184,   185,   186,   187,   188,   189,   190,    78,
+      79,    20,     0,    21,     0,     0,     0,    80,     0,     0,
        0,     0,   -35,     0,    20,     0,    21,     0,     0,     0,
-       0,     0,     0,     6,   -35,   -35,     0,    78,   284,   285,
-      62,    63,   286,   -35,   -35,   -35,   -35,   -35,   -35,   -35,
+       0,     0,     0,     6,   -35,   -35,     0,    80,   286,   287,
+      64,    65,   288,   -35,   -35,   -35,   -35,   -35,   -35,   -35,
        0,     0,   -35,    22,     0,     0,     0,    20,     0,    21,
-      23,   287,   288,   289,    24,     0,     0,     0,     0,     0,
-       0,     0,     0,   290,   291,     0,     0,    79,     0,     0,
-      80,     0,     0,    81,     0,    82,   114,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,   292,    79,     0,     0,
-      80,     0,     0,    81,     0,    82,   339,     0,     0,     0,
-     130,   131,   132,   133,   134,   135,   136,   137,   138,   139,
-     140,   141,   142,   143,     0,     0,     0,     0,     0,   257,
-       0,   258,   259,   151,   152,     0,   260,   261,   262,   284,
-     285,     0,     0,   286,     0,     0,     0,     0,     0,   293,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,   287,   288,   289,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,   290,   291,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,   292,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,   130,   131,   132,   133,   134,   135,   136,   137,   138,
-     139,   140,   141,   142,   143,     0,     0,     0,     0,     0,
-     257,     0,   258,   259,   151,   152,     0,   260,   261,   262,
-       0,     0,     0,     0,     0,     0,     0,     0,    62,    63,
-     293,   113,    65,    66,    67,    68,    69,    70,    71,    72,
-      73,    74,    75,    76,    77,    20,     0,    21,     0,     0,
+      23,   289,   290,   291,    24,     0,     0,     0,     0,     0,
+       0,     0,     0,   292,   293,     0,     0,     0,     0,    81,
+       0,     0,    82,     0,     0,    83,     0,    84,   116,     0,
+       0,     0,     0,     0,     0,     0,   294,     0,     0,    81,
+       0,     0,    82,     0,     0,    83,     0,    84,   341,     0,
+       0,     0,   132,   133,   134,   135,   136,   137,   138,   139,
+     140,   141,   142,   143,   144,   145,     0,     0,     0,     0,
+       0,   259,     0,   260,   261,   153,   154,     0,   262,   263,
+     264,   286,   287,     0,     0,   288,     0,     0,     0,     0,
+       0,   295,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,   289,   290,   291,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,   292,   293,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-     199,     0,     0,     0,     0,     0,     0,     0,     0,    62,
-      63,    78,   113,    65,    66,    67,    68,    69,    70,    71,
-      72,    73,    74,    75,    76,    77,    20,     0,    21,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,   294,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,   277,     0,     0,     0,     0,     0,     0,     0,     0,
-      62,    63,    78,   113,   178,   179,   180,   181,   182,   183,
-     184,   185,   186,   187,   188,    76,    77,    20,     0,    21,
-       0,    79,     0,     0,    80,     0,     0,    81,     0,    82,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,    62,    63,    78,   113,    65,    66,    67,    68,    69,
-      70,    71,    72,    73,    74,    75,    76,    77,    20,     0,
-      21,     0,    79,     0,     0,    80,     0,     0,    81,     0,
-      82,     0,     0,   353,     0,     0,     0,     0,     0,     0,
-       0,     0,    62,    63,    78,   113,    65,    66,    67,    68,
-      69,    70,    71,    72,    73,    74,    75,    76,    77,    20,
-       0,    21,     0,    79,     0,     0,    80,     0,   335,    81,
-       0,    82,     0,     0,   400,     0,     0,     0,     0,     0,
-       0,     0,     0,    62,    63,    78,    64,    65,    66,    67,
+       0,     0,     0,     0,     0,   132,   133,   134,   135,   136,
+     137,   138,   139,   140,   141,   142,   143,   144,   145,     0,
+       0,     0,     0,     0,   259,     0,   260,   261,   153,   154,
+       0,   262,   263,   264,     0,     0,     0,     0,     0,     0,
+       0,     0,    64,    65,   295,   115,    67,    68,    69,    70,
+      71,    72,    73,    74,    75,    76,    77,    78,    79,    20,
+       0,    21,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,   201,     0,     0,     0,     0,     0,
+       0,     0,     0,    64,    65,    80,   115,    67,    68,    69,
+      70,    71,    72,    73,    74,    75,    76,    77,    78,    79,
+      20,     0,    21,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,   279,     0,     0,     0,     0,
+       0,     0,     0,     0,    64,    65,    80,   115,   180,   181,
+     182,   183,   184,   185,   186,   187,   188,   189,   190,    78,
+      79,    20,     0,    21,     0,     0,     0,    81,     0,     0,
+      82,     0,     0,    83,     0,    84,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,    64,    65,    80,   115,    67,
       68,    69,    70,    71,    72,    73,    74,    75,    76,    77,
-      20,     0,    21,     0,    79,     0,     0,    80,     0,     0,
-      81,     0,    82,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,    62,    63,    78,   113,    65,    66,
+      78,    79,    20,     0,    21,     0,     0,     0,    81,     0,
+       0,    82,     0,     0,    83,     0,    84,   355,     0,     0,
+       0,     0,     0,     0,     0,     0,    64,    65,    80,   115,
       67,    68,    69,    70,    71,    72,    73,    74,    75,    76,
-      77,    20,     0,    21,     0,    79,     0,     0,    80,     0,
-       0,    81,     0,    82,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,    62,    63,    78,   113,   178,
-     179,   180,   181,   182,   183,   184,   185,   186,   187,   188,
-      76,    77,    20,     0,    21,     0,    79,     0,     0,    80,
-       0,     0,    81,     0,    82,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,    62,    63,    78,   205,
-      65,    66,    67,    68,    69,    70,    71,    72,    73,    74,
-      75,    76,    77,    20,     0,    21,     0,    79,     0,     0,
-      80,     0,     0,    81,     0,    82,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,    78,
+      77,    78,    79,    20,     0,    21,     0,     0,     0,    81,
+       0,     0,    82,     0,   337,    83,     0,    84,   402,     0,
+       0,     0,     0,     0,     0,     0,     0,    64,    65,    80,
+      66,    67,    68,    69,    70,    71,    72,    73,    74,    75,
+      76,    77,    78,    79,    20,     0,    21,     0,     0,     0,
+      81,     0,     0,    82,     0,     0,    83,     0,    84,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,    64,    65,
+      80,   115,    67,    68,    69,    70,    71,    72,    73,    74,
+      75,    76,    77,    78,    79,    20,     0,    21,     0,     0,
+       0,    81,     0,     0,    82,     0,     0,    83,     0,    84,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,    64,
+      65,    80,   115,   180,   181,   182,   183,   184,   185,   186,
+     187,   188,   189,   190,    78,    79,    20,     0,    21,     0,
+       0,     0,    81,     0,     0,    82,     0,     0,    83,     0,
+      84,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+      64,    65,    80,   207,    67,    68,    69,    70,    71,    72,
+      73,    74,    75,    76,    77,    78,    79,    20,     0,    21,
+       0,     0,     0,    81,     0,     0,    82,     0,     0,    83,
+       0,    84,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,    80,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,    79,     0,
-       0,    80,     0,     0,    81,     0,    82,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,   120,     0,     0,     0,
+       0,     0,     0,     0,    81,     0,     0,    82,     0,     0,
+      83,     0,    84,     0,     0,     0,     0,     0,   122,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-     121,     0,     0,     0,     0,     0,     0,     0,     0,    79,
-     122,   123,    80,     0,     0,    81,     0,    82,     0,     0,
-     124,   125,   126,   127,   128,   129,   130,   131,   132,   133,
-     134,   135,   136,   137,   138,   139,   140,   141,   142,   143,
-     144,   145,   146,     0,     0,   147,   148,   149,   150,   151,
-     152,   153,   154,   155,   156,   157,   158
+       0,     0,   123,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,   124,   125,     0,    81,     0,     0,    82,     0,
+       0,    83,     0,    84,   126,   127,   128,   129,   130,   131,
+     132,   133,   134,   135,   136,   137,   138,   139,   140,   141,
+     142,   143,   144,   145,   146,   147,   148,     0,     0,   149,
+     150,   151,   152,   153,   154,   155,   156,   157,   158,   159,
+     160
 };
 
 static const yytype_int16 yycheck[] =
 {
-      35,   126,   126,   222,    50,   245,   246,     3,   108,    29,
-      23,    15,   127,   469,     9,    50,    82,    30,    15,   264,
-     265,   109,   121,    34,   107,   124,    21,   113,    55,    56,
-     118,   487,   118,   273,   117,    10,    11,    12,    13,    14,
-      15,    16,    17,    39,    32,    33,    57,   146,   293,   164,
-     149,   150,   118,    57,   153,   154,   155,   156,   157,   158,
-      57,   115,   107,   162,   118,    52,    53,    54,   113,     0,
-     105,   106,   107,    10,    11,    12,    13,    14,    15,    16,
-      17,   107,   486,    92,    93,   107,   121,    61,    84,   124,
-     107,   117,   496,   115,    23,   107,   116,    45,   115,    47,
-      22,   113,    24,   106,   117,    52,    53,    54,    61,   144,
-     145,   146,   147,   148,   149,   150,    27,    28,   153,   154,
-     155,   156,   157,   158,   159,   160,   161,   162,   194,   195,
-     196,     3,     4,     3,     4,    20,   106,   192,   113,     3,
-       4,    24,   241,     3,     4,   385,     4,   202,     3,     4,
-     106,   106,   207,   208,   106,   109,    41,    42,    43,    44,
-      45,    46,    47,   198,   219,    50,   111,     4,     4,   224,
-       4,   109,    24,     4,   220,    24,   113,   112,   112,   109,
-     235,   236,   237,    59,     4,   220,     4,   107,     4,   110,
-     409,     4,   411,   239,     0,    10,    11,    12,    13,    14,
-      15,    16,    17,     7,   239,   240,   241,     7,     4,     7,
-     107,   310,   107,   312,   313,   314,   282,   111,   107,    25,
-     107,   320,    36,   107,   110,    31,   107,   107,   107,   329,
-     330,   331,   332,   333,   334,    41,    42,    43,    44,    45,
-      46,    47,   342,   343,   344,   345,   301,    64,    65,    66,
-      67,    68,   307,   107,   107,    24,    62,   107,   109,   107,
-      24,    63,   109,   109,   109,   109,   321,   322,   109,   109,
-     109,   207,   208,   111,   309,   310,   311,   312,   313,   314,
-     315,   316,   278,   219,   109,   320,   109,    34,   224,    24,
-      21,    21,   392,     4,     4,   107,   107,   107,   107,   235,
-     236,   237,   107,    24,   107,   360,   107,   362,   107,    36,
-       4,   366,   109,   107,   107,   107,   351,   416,   417,   418,
-     375,   376,   377,   107,   109,   107,   107,   107,   363,   429,
-     430,   431,   432,   107,   434,   435,   436,   437,    57,   107,
-     107,   107,   107,    24,   469,   469,   381,   107,   107,   448,
-     107,   406,   407,   107,   110,   107,   111,   110,    57,   414,
-     110,   107,   487,   487,   113,   301,   110,   110,   423,   107,
-     107,   307,    21,   408,   110,    36,   476,   110,   478,   479,
-      21,   416,   417,   418,   110,   321,   322,   422,   110,   113,
-     110,    21,   110,   428,   110,   450,    73,    21,   107,   107,
-      21,    94,    94,    94,    94,    39,    25,    49,   352,   192,
-     351,   118,    58,   448,     3,    19,   422,   363,   386,    -1,
-      -1,    -1,    -1,    -1,   360,    -1,   362,     5,     6,   484,
-     366,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   375,
-     376,   377,   497,    -1,    22,    -1,    24,    -1,    26,   504,
-      -1,    -1,    -1,   508,   509,    -1,    -1,    -1,    -1,    -1,
-      38,    39,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-     406,   407,    -1,    -1,    -1,    -1,    -1,    -1,   414,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,   423,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    75,    76,    77,
+      37,   128,   128,   224,    52,     3,   247,   248,   110,    29,
+      23,    15,   129,   109,   109,    52,    84,    30,    15,   266,
+     267,   117,   123,    34,   119,   126,    10,    11,    12,    13,
+      14,    15,    16,    17,   275,    10,    11,    12,    13,    14,
+      15,    16,    17,    41,   471,     0,    57,   148,   295,   166,
+     151,   152,   120,    57,   155,   156,   157,   158,   159,   160,
+      57,     9,   489,   164,   109,   488,    45,   111,    47,    20,
+     107,   108,   109,    21,   119,   498,   120,   109,    64,    65,
+      66,    67,    68,    69,    70,   117,   123,    61,    86,   126,
+      41,    42,    43,    44,    45,    46,    47,   109,   118,    50,
+     115,   109,    22,   115,    24,   120,   119,   115,    23,   146,
+     147,   148,   149,   150,   151,   152,    32,    33,   155,   156,
+     157,   158,   159,   160,   161,   162,   163,   164,   196,   197,
+     198,   115,   117,    55,    56,   120,   108,   194,    94,    95,
+     115,   108,   243,    52,    53,    54,   387,   204,    54,    55,
+      56,    61,   209,   210,    10,    11,    12,    13,    14,    15,
+      16,    17,     4,   200,   221,    27,    28,     3,     4,   226,
+       3,     4,     3,     4,   222,     3,     4,     3,     4,    24,
+     237,   238,   239,   108,   108,   222,   113,   108,   111,     4,
+     411,     4,   413,   241,     0,     4,     4,   111,    59,    24,
+      24,   114,   114,   111,   241,   242,   243,     4,     4,     4,
+       4,   312,     4,   314,   315,   316,   284,     7,     7,    25,
+       7,   322,   109,   112,   109,    31,   109,   113,   109,   331,
+     332,   333,   334,   335,   336,    41,    42,    43,    44,    45,
+      46,    47,   344,   345,   346,   347,   303,    24,    36,   109,
+     109,   109,   309,    24,   109,   109,    62,   109,   109,   109,
+     109,    63,    34,   111,   111,   111,   323,   324,   111,   109,
+     111,   209,   210,   111,   311,   312,   313,   314,   315,   316,
+     317,   318,   280,   221,   111,   322,   109,    24,   226,   111,
+     111,   111,   394,   112,    21,   109,   113,   109,   109,   237,
+     238,   239,   109,    21,   109,   362,   109,   364,     4,   109,
+     111,   368,   111,    24,     4,    36,   353,   418,   419,   420,
+     377,   378,   379,   109,   109,   109,   109,   109,   365,   431,
+     432,   433,   434,   109,   436,   437,   438,   439,    57,   109,
+     109,   109,   109,   109,   471,   471,   383,   109,   109,   450,
+     109,   408,   409,   109,   112,     4,    24,   109,   113,   416,
+      57,   112,   489,   489,   112,   303,   115,   112,   425,   109,
+     112,   309,    36,   410,   109,   109,   478,    21,   480,   481,
+     112,   418,   419,   420,   112,   323,   324,   424,   112,   112,
+     115,    21,   112,   430,    21,   452,   112,   112,    75,   109,
+     109,    21,    21,    96,    96,    96,    41,    96,    25,   354,
+      51,   353,   120,   450,   194,    60,     3,     5,     6,    19,
+     388,   365,   424,    -1,   362,    -1,   364,    -1,    -1,   486,
+     368,    -1,    -1,    -1,    22,    -1,    24,    -1,    26,   377,
+     378,   379,   499,    -1,    -1,    -1,    -1,    -1,    -1,   506,
+      38,    39,    -1,   510,   511,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+     408,   409,    -1,    -1,    -1,    -1,    -1,    -1,   416,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,   425,    -1,    77,
       78,    79,    80,    81,    82,    83,    84,    85,    86,    87,
-      88,    -1,    -1,    -1,   450,    -1,    94,    -1,    96,    97,
-      98,    99,    -1,   101,   102,   103,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,   111,    -1,    -1,   114,    -1,   116,    -1,
-      -1,   119,    -1,    -1,    -1,    -1,    -1,    -1,   484,    -1,
+      88,    89,    90,    -1,    -1,    -1,    -1,    -1,    96,    -1,
+      98,    99,   100,   101,   452,   103,   104,   105,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,   113,    -1,    -1,   116,    -1,
+     118,    -1,    -1,   121,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   486,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,   497,    -1,    -1,    -1,    -1,    -1,    -1,   504,    -1,
-      -1,    -1,   508,   509,     5,     6,    -1,     8,     9,    10,
+      -1,   499,    -1,    -1,    -1,    -1,    -1,    -1,   506,    -1,
+      -1,    -1,   510,   511,     5,     6,    -1,     8,     9,    10,
       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
       21,    22,    -1,    24,     5,     6,    -1,     8,     9,    10,
       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
@@ -2163,130 +2174,131 @@
        5,     6,     7,    41,    42,    43,    44,    45,    46,    47,
       -1,    -1,    50,    51,    -1,    -1,    -1,    22,    -1,    24,
       58,    26,    27,    28,    62,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    38,    39,    -1,    -1,   108,    -1,    -1,
-     111,    -1,    -1,   114,    -1,   116,   117,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    61,   108,    -1,    -1,
-     111,    -1,    -1,   114,    -1,   116,   117,    -1,    -1,    -1,
-      75,    76,    77,    78,    79,    80,    81,    82,    83,    84,
-      85,    86,    87,    88,    -1,    -1,    -1,    -1,    -1,    94,
-      -1,    96,    97,    98,    99,    -1,   101,   102,   103,     3,
-       4,    -1,    -1,     7,    -1,    -1,    -1,    -1,    -1,   114,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    26,    27,    28,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    38,    39,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    38,    39,    -1,    -1,    -1,    -1,   110,
+      -1,    -1,   113,    -1,    -1,   116,    -1,   118,   119,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    61,    -1,    -1,   110,
+      -1,    -1,   113,    -1,    -1,   116,    -1,   118,   119,    -1,
+      -1,    -1,    77,    78,    79,    80,    81,    82,    83,    84,
+      85,    86,    87,    88,    89,    90,    -1,    -1,    -1,    -1,
+      -1,    96,    -1,    98,    99,   100,   101,    -1,   103,   104,
+     105,     3,     4,    -1,    -1,     7,    -1,    -1,    -1,    -1,
+      -1,   116,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    26,    27,    28,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    38,    39,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    61,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    61,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    75,    76,    77,    78,    79,    80,    81,    82,    83,
-      84,    85,    86,    87,    88,    -1,    -1,    -1,    -1,    -1,
-      94,    -1,    96,    97,    98,    99,    -1,   101,   102,   103,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     5,     6,
-     114,     8,     9,    10,    11,    12,    13,    14,    15,    16,
-      17,    18,    19,    20,    21,    22,    -1,    24,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      37,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     5,
-       6,    48,     8,     9,    10,    11,    12,    13,    14,    15,
-      16,    17,    18,    19,    20,    21,    22,    -1,    24,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    37,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-       5,     6,    48,     8,     9,    10,    11,    12,    13,    14,
-      15,    16,    17,    18,    19,    20,    21,    22,    -1,    24,
-      -1,   108,    -1,    -1,   111,    -1,    -1,   114,    -1,   116,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,     5,     6,    48,     8,     9,    10,    11,    12,    13,
-      14,    15,    16,    17,    18,    19,    20,    21,    22,    -1,
-      24,    -1,   108,    -1,    -1,   111,    -1,    -1,   114,    -1,
-     116,    -1,    -1,    37,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,     5,     6,    48,     8,     9,    10,    11,    12,
+      -1,    -1,    -1,    -1,    -1,    77,    78,    79,    80,    81,
+      82,    83,    84,    85,    86,    87,    88,    89,    90,    -1,
+      -1,    -1,    -1,    -1,    96,    -1,    98,    99,   100,   101,
+      -1,   103,   104,   105,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,     5,     6,   116,     8,     9,    10,    11,    12,
       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
-      -1,    24,    -1,   108,    -1,    -1,   111,    -1,   113,   114,
-      -1,   116,    -1,    -1,    37,    -1,    -1,    -1,    -1,    -1,
+      -1,    24,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    37,    -1,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,     5,     6,    48,     8,     9,    10,    11,
       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
-      22,    -1,    24,    -1,   108,    -1,    -1,   111,    -1,    -1,
-     114,    -1,   116,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      22,    -1,    24,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    37,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,     5,     6,    48,     8,     9,    10,
       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
-      21,    22,    -1,    24,    -1,   108,    -1,    -1,   111,    -1,
-      -1,   114,    -1,   116,    -1,    -1,    -1,    -1,    -1,    -1,
+      21,    22,    -1,    24,    -1,    -1,    -1,   110,    -1,    -1,
+     113,    -1,    -1,   116,    -1,   118,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,     5,     6,    48,     8,     9,
       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
-      20,    21,    22,    -1,    24,    -1,   108,    -1,    -1,   111,
-      -1,    -1,   114,    -1,   116,    -1,    -1,    -1,    -1,    -1,
+      20,    21,    22,    -1,    24,    -1,    -1,    -1,   110,    -1,
+      -1,   113,    -1,    -1,   116,    -1,   118,    37,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,     5,     6,    48,     8,
        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
-      19,    20,    21,    22,    -1,    24,    -1,   108,    -1,    -1,
-     111,    -1,    -1,   114,    -1,   116,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    48,
+      19,    20,    21,    22,    -1,    24,    -1,    -1,    -1,   110,
+      -1,    -1,   113,    -1,   115,   116,    -1,   118,    37,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,     5,     6,    48,
+       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
+      18,    19,    20,    21,    22,    -1,    24,    -1,    -1,    -1,
+     110,    -1,    -1,   113,    -1,    -1,   116,    -1,   118,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     5,     6,
+      48,     8,     9,    10,    11,    12,    13,    14,    15,    16,
+      17,    18,    19,    20,    21,    22,    -1,    24,    -1,    -1,
+      -1,   110,    -1,    -1,   113,    -1,    -1,   116,    -1,   118,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     5,
+       6,    48,     8,     9,    10,    11,    12,    13,    14,    15,
+      16,    17,    18,    19,    20,    21,    22,    -1,    24,    -1,
+      -1,    -1,   110,    -1,    -1,   113,    -1,    -1,   116,    -1,
+     118,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       5,     6,    48,     8,     9,    10,    11,    12,    13,    14,
+      15,    16,    17,    18,    19,    20,    21,    22,    -1,    24,
+      -1,    -1,    -1,   110,    -1,    -1,   113,    -1,    -1,   116,
+      -1,   118,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    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,   108,    -1,
-      -1,   111,    -1,    -1,   114,    -1,   116,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    35,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,   110,    -1,    -1,   113,    -1,    -1,
+     116,    -1,   118,    -1,    -1,    -1,    -1,    -1,    35,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      49,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   108,
-      59,    60,   111,    -1,    -1,   114,    -1,   116,    -1,    -1,
-      69,    70,    71,    72,    73,    74,    75,    76,    77,    78,
-      79,    80,    81,    82,    83,    84,    85,    86,    87,    88,
-      89,    90,    91,    -1,    -1,    94,    95,    96,    97,    98,
-      99,   100,   101,   102,   103,   104,   105
+      -1,    -1,    49,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    59,    60,    -1,   110,    -1,    -1,   113,    -1,
+      -1,   116,    -1,   118,    71,    72,    73,    74,    75,    76,
+      77,    78,    79,    80,    81,    82,    83,    84,    85,    86,
+      87,    88,    89,    90,    91,    92,    93,    -1,    -1,    96,
+      97,    98,    99,   100,   101,   102,   103,   104,   105,   106,
+     107
 };
 
 /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
    symbol of state STATE-NUM.  */
 static const yytype_uint8 yystos[] =
 {
-       0,   151,   152,   153,     0,    25,    31,    41,    42,    43,
-      44,    45,    46,    47,    62,   132,   170,   172,   174,   181,
-      22,    24,    51,    58,    62,   131,   163,   174,   175,    61,
-      64,    65,    66,    67,    68,   133,   168,    23,   182,   183,
-      30,   117,   171,   182,    52,    53,    54,   160,   106,    61,
-      20,    45,    47,    50,   132,   106,    45,    47,   173,    24,
-     158,     4,     5,     6,     8,     9,    10,    11,    12,    13,
-      14,    15,    16,    17,    18,    19,    20,    21,    48,   108,
-     111,   114,   116,   121,   140,   141,   142,   143,   144,   163,
-     178,    29,   116,   169,   131,   186,   106,   106,   106,   111,
-     161,   158,   140,    32,    33,   150,   150,   150,   150,   168,
-       4,     4,     4,     8,   117,   144,   145,   163,   109,   118,
-      35,    49,    59,    60,    69,    70,    71,    72,    73,    74,
+       0,   153,   154,   155,     0,    25,    31,    41,    42,    43,
+      44,    45,    46,    47,    62,   134,   172,   174,   176,   183,
+      22,    24,    51,    58,    62,   133,   165,   176,   177,    61,
+      64,    65,    66,    67,    68,    69,    70,   135,   170,    23,
+     184,   185,    30,   119,   173,   184,    52,    53,    54,   162,
+     108,    61,    20,    45,    47,    50,   134,   108,    45,    47,
+     175,    24,   160,     4,     5,     6,     8,     9,    10,    11,
+      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
+      48,   110,   113,   116,   118,   123,   142,   143,   144,   145,
+     146,   165,   180,    29,   118,   171,   133,   188,   108,   108,
+     108,   113,   163,   160,   142,    32,    33,   152,   152,   152,
+     152,   170,     4,     4,     4,     8,   119,   146,   147,   165,
+     111,   120,    35,    49,    59,    60,    71,    72,    73,    74,
       75,    76,    77,    78,    79,    80,    81,    82,    83,    84,
-      85,    86,    87,    88,    89,    90,    91,    94,    95,    96,
-      97,    98,    99,   100,   101,   102,   103,   104,   105,   123,
-     124,   125,   126,   184,   190,   191,   193,   194,    24,    55,
-      56,   159,     4,    24,   162,   142,   142,   142,     9,    10,
-      11,    12,    13,    14,    15,    16,    17,    18,    19,   127,
-     128,   130,   142,   147,   112,   112,   107,   117,   109,    37,
-     145,   146,   142,   180,    59,     8,   180,     9,    21,    10,
-      11,    12,    13,    14,    15,    16,    17,   127,   128,   129,
-     133,   142,   142,   180,   142,   142,   187,   180,   180,   180,
-     180,   180,   180,   180,   180,   142,   142,   142,   180,   133,
-      92,    93,   107,   113,   156,   157,   155,    27,    28,     3,
-       4,   122,     4,     7,    26,    38,    39,    94,    96,    97,
-     101,   102,   103,   111,   114,   116,   119,   123,   124,   125,
-     126,   148,   178,   154,   144,   144,   144,    37,   142,   165,
-     166,   167,   107,   110,     3,     4,     7,    26,    27,    28,
-      38,    39,    61,   114,   148,   177,   178,   179,   179,   179,
-     179,   140,   107,   135,   107,   135,   179,   111,   107,    36,
-     107,   107,   107,   107,   107,   107,   107,   179,   179,   179,
-     107,   140,   142,   180,    24,   107,   138,   138,   138,   109,
-     109,   109,   109,   109,   109,   113,   147,   149,   149,   117,
-     149,    24,   109,   109,   109,   109,   138,   113,   115,   163,
-     164,   107,   110,    37,    63,   176,   149,   107,   107,   179,
-      15,    57,    15,   107,   192,   179,   111,   142,   180,   142,
-     180,   180,   180,   142,   142,   107,   107,   107,   180,   179,
-     179,   107,    34,    57,   136,   139,   147,   147,   147,   147,
-     147,   147,   107,   113,   115,   117,   147,   147,   147,   147,
-      37,   165,   136,   137,    24,   115,    21,    21,   109,   179,
-       4,   179,   180,   188,   107,   179,   107,   107,   107,   179,
-     179,   179,   109,   142,    24,     4,   138,   192,    36,   107,
-     107,   107,   107,   147,   107,   107,   107,   107,    57,   134,
-     107,   179,   179,   188,   189,   107,   135,   135,   107,   179,
-     107,   180,   180,   180,   189,   179,   110,   142,   147,   147,
-     147,   147,   147,   147,   147,   147,     4,    24,   107,   111,
-     110,   180,   113,   179,   110,   110,   107,   110,   107,   107,
-     110,   110,   110,   110,    21,   113,   129,   185,    36,   113,
-     147,   147,   147,   179,   177,   113,   129,    21,   110,   110,
-     110,   107,   177,   179,    21,   107,    73,   179,    21,    21,
-     179,   179
+      85,    86,    87,    88,    89,    90,    91,    92,    93,    96,
+      97,    98,    99,   100,   101,   102,   103,   104,   105,   106,
+     107,   125,   126,   127,   128,   186,   192,   193,   195,   196,
+      24,    55,    56,   161,     4,    24,   164,   144,   144,   144,
+       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
+      19,   129,   130,   132,   144,   149,   114,   114,   109,   119,
+     111,    37,   147,   148,   144,   182,    59,     8,   182,     9,
+      21,    10,    11,    12,    13,    14,    15,    16,    17,   129,
+     130,   131,   135,   144,   144,   182,   144,   144,   189,   182,
+     182,   182,   182,   182,   182,   182,   182,   144,   144,   144,
+     182,   135,    94,    95,   109,   115,   158,   159,   157,    27,
+      28,     3,     4,   124,     4,     7,    26,    38,    39,    96,
+      98,    99,   103,   104,   105,   113,   116,   118,   121,   125,
+     126,   127,   128,   150,   180,   156,   146,   146,   146,    37,
+     144,   167,   168,   169,   109,   112,     3,     4,     7,    26,
+      27,    28,    38,    39,    61,   116,   150,   179,   180,   181,
+     181,   181,   181,   142,   109,   137,   109,   137,   181,   113,
+     109,    36,   109,   109,   109,   109,   109,   109,   109,   181,
+     181,   181,   109,   142,   144,   182,    24,   109,   140,   140,
+     140,   111,   111,   111,   111,   111,   111,   115,   149,   151,
+     151,   119,   151,    24,   111,   111,   111,   111,   140,   115,
+     117,   165,   166,   109,   112,    37,    63,   178,   151,   109,
+     109,   181,    15,    57,    15,   109,   194,   181,   113,   144,
+     182,   144,   182,   182,   182,   144,   144,   109,   109,   109,
+     182,   181,   181,   109,    34,    57,   138,   141,   149,   149,
+     149,   149,   149,   149,   109,   115,   117,   119,   149,   149,
+     149,   149,    37,   167,   138,   139,    24,   117,    21,    21,
+     111,   181,     4,   181,   182,   190,   109,   181,   109,   109,
+     109,   181,   181,   181,   111,   144,    24,     4,   140,   194,
+      36,   109,   109,   109,   109,   149,   109,   109,   109,   109,
+      57,   136,   109,   181,   181,   190,   191,   109,   137,   137,
+     109,   181,   109,   182,   182,   182,   191,   181,   112,   144,
+     149,   149,   149,   149,   149,   149,   149,   149,     4,    24,
+     109,   113,   112,   182,   115,   181,   112,   112,   109,   112,
+     109,   109,   112,   112,   112,   112,    21,   115,   131,   187,
+      36,   115,   149,   149,   149,   181,   179,   115,   131,    21,
+     112,   112,   112,   109,   179,   181,    21,   109,    75,   181,
+      21,    21,   181,   181
 };
 
 #define yyerrok		(yyerrstatus = 0)
@@ -3104,7 +3116,7 @@
   switch (yyn)
     {
         case 3:
-#line 1035 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+#line 1036 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     {
   if ((yyvsp[(1) - (1)].UIntVal) > (uint32_t)INT32_MAX)     // Outside of my range!
     GEN_ERROR("Value too large for type!");
@@ -3114,7 +3126,7 @@
     break;
 
   case 5:
-#line 1044 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+#line 1045 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     {
   if ((yyvsp[(1) - (1)].UInt64Val) > (uint64_t)INT64_MAX)     // Outside of my range!
     GEN_ERROR("Value too large for type!");
@@ -3124,7 +3136,7 @@
     break;
 
   case 34:
-#line 1068 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+#line 1069 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.StrVal) = (yyvsp[(1) - (2)].StrVal);
     CHECK_FOR_ERROR
@@ -3132,7 +3144,7 @@
     break;
 
   case 35:
-#line 1072 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+#line 1073 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.StrVal) = 0;
     CHECK_FOR_ERROR
@@ -3140,72 +3152,82 @@
     break;
 
   case 36:
-#line 1077 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+#line 1078 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     { (yyval.Linkage) = GlobalValue::InternalLinkage; ;}
     break;
 
   case 37:
-#line 1078 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+#line 1079 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     { (yyval.Linkage) = GlobalValue::LinkOnceLinkage; ;}
     break;
 
   case 38:
-#line 1079 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+#line 1080 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     { (yyval.Linkage) = GlobalValue::WeakLinkage; ;}
     break;
 
   case 39:
-#line 1080 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+#line 1081 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     { (yyval.Linkage) = GlobalValue::AppendingLinkage; ;}
     break;
 
   case 40:
-#line 1081 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+#line 1082 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     { (yyval.Linkage) = GlobalValue::DLLImportLinkage; ;}
     break;
 
   case 41:
-#line 1082 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+#line 1083 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     { (yyval.Linkage) = GlobalValue::DLLExportLinkage; ;}
     break;
 
   case 42:
-#line 1083 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+#line 1084 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     { (yyval.Linkage) = GlobalValue::ExternalWeakLinkage; ;}
     break;
 
   case 43:
-#line 1084 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+#line 1085 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     { (yyval.Linkage) = GlobalValue::ExternalLinkage; ;}
     break;
 
   case 44:
-#line 1086 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+#line 1087 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     { (yyval.UIntVal) = CallingConv::C; ;}
     break;
 
   case 45:
-#line 1087 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+#line 1088 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     { (yyval.UIntVal) = CallingConv::C; ;}
     break;
 
   case 46:
-#line 1088 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+#line 1089 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     { (yyval.UIntVal) = CallingConv::CSRet; ;}
     break;
 
   case 47:
-#line 1089 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+#line 1090 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     { (yyval.UIntVal) = CallingConv::Fast; ;}
     break;
 
   case 48:
-#line 1090 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+#line 1091 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     { (yyval.UIntVal) = CallingConv::Cold; ;}
     break;
 
   case 49:
-#line 1091 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+#line 1092 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    { (yyval.UIntVal) = CallingConv::X86_StdCall; ;}
+    break;
+
+  case 50:
+#line 1093 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+    { (yyval.UIntVal) = CallingConv::X86_FastCall; ;}
+    break;
+
+  case 51:
+#line 1094 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     {
                    if ((unsigned)(yyvsp[(2) - (2)].UInt64Val) != (yyvsp[(2) - (2)].UInt64Val))
                      GEN_ERROR("Calling conv too large!");
@@ -3214,13 +3236,13 @@
                  ;}
     break;
 
-  case 50:
-#line 1100 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 52:
+#line 1103 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     { (yyval.UIntVal) = 0; ;}
     break;
 
-  case 51:
-#line 1101 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 53:
+#line 1104 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     {
   (yyval.UIntVal) = (yyvsp[(2) - (2)].UInt64Val);
   if ((yyval.UIntVal) != 0 && !isPowerOf2_32((yyval.UIntVal)))
@@ -3229,13 +3251,13 @@
 ;}
     break;
 
-  case 52:
-#line 1107 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 54:
+#line 1110 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     { (yyval.UIntVal) = 0; ;}
     break;
 
-  case 53:
-#line 1108 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 55:
+#line 1111 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     {
   (yyval.UIntVal) = (yyvsp[(3) - (3)].UInt64Val);
   if ((yyval.UIntVal) != 0 && !isPowerOf2_32((yyval.UIntVal)))
@@ -3244,8 +3266,8 @@
 ;}
     break;
 
-  case 54:
-#line 1116 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 56:
+#line 1119 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     {
   for (unsigned i = 0, e = strlen((yyvsp[(2) - (2)].StrVal)); i != e; ++i)
     if ((yyvsp[(2) - (2)].StrVal)[i] == '"' || (yyvsp[(2) - (2)].StrVal)[i] == '\\')
@@ -3255,28 +3277,28 @@
 ;}
     break;
 
-  case 55:
-#line 1124 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 57:
+#line 1127 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     { (yyval.StrVal) = 0; ;}
     break;
 
-  case 56:
-#line 1125 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 58:
+#line 1128 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     { (yyval.StrVal) = (yyvsp[(1) - (1)].StrVal); ;}
     break;
 
-  case 57:
-#line 1130 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 59:
+#line 1133 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     {;}
     break;
 
-  case 58:
-#line 1131 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 60:
+#line 1134 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     {;}
     break;
 
-  case 59:
-#line 1132 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 61:
+#line 1135 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     {
     CurGV->setSection((yyvsp[(1) - (1)].StrVal));
     free((yyvsp[(1) - (1)].StrVal));
@@ -3284,8 +3306,8 @@
   ;}
     break;
 
-  case 60:
-#line 1137 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 62:
+#line 1140 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     {
     if ((yyvsp[(2) - (2)].UInt64Val) != 0 && !isPowerOf2_32((yyvsp[(2) - (2)].UInt64Val)))
       GEN_ERROR("Alignment must be a power of two!");
@@ -3294,18 +3316,18 @@
   ;}
     break;
 
-  case 62:
-#line 1151 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 64:
+#line 1154 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     { (yyval.TypeVal) = new PATypeHolder((yyvsp[(1) - (1)].PrimType)); ;}
     break;
 
-  case 64:
-#line 1152 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 66:
+#line 1155 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     { (yyval.TypeVal) = new PATypeHolder((yyvsp[(1) - (1)].PrimType)); ;}
     break;
 
-  case 65:
-#line 1154 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 67:
+#line 1157 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (1)].TypeVal))->getDescription());
@@ -3314,32 +3336,32 @@
   ;}
     break;
 
-  case 79:
-#line 1166 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 81:
+#line 1169 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.TypeVal) = new PATypeHolder(OpaqueType::get());
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 80:
-#line 1170 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 82:
+#line 1173 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.TypeVal) = new PATypeHolder((yyvsp[(1) - (1)].PrimType));
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 81:
-#line 1174 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 83:
+#line 1177 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     {            // Named types are also simple types...
   (yyval.TypeVal) = new PATypeHolder(getTypeVal((yyvsp[(1) - (1)].ValIDVal)));
   CHECK_FOR_ERROR
 ;}
     break;
 
-  case 82:
-#line 1181 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 84:
+#line 1184 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     {                   // Type UpReference
     if ((yyvsp[(2) - (2)].UInt64Val) > (uint64_t)~0U) GEN_ERROR("Value out of range!");
     OpaqueType *OT = OpaqueType::get();        // Use temporary placeholder
@@ -3350,8 +3372,8 @@
   ;}
     break;
 
-  case 83:
-#line 1189 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 85:
+#line 1192 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     {           // Function derived type?
     std::vector<const Type*> Params;
     for (std::list<llvm::PATypeHolder>::iterator I = (yyvsp[(3) - (4)].TypeList)->begin(),
@@ -3367,8 +3389,8 @@
   ;}
     break;
 
-  case 84:
-#line 1202 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 86:
+#line 1205 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     {          // Sized array type?
     (yyval.TypeVal) = new PATypeHolder(HandleUpRefs(ArrayType::get(*(yyvsp[(4) - (5)].TypeVal), (unsigned)(yyvsp[(2) - (5)].UInt64Val))));
     delete (yyvsp[(4) - (5)].TypeVal);
@@ -3376,8 +3398,8 @@
   ;}
     break;
 
-  case 85:
-#line 1207 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 87:
+#line 1210 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     {          // Packed array type?
      const llvm::Type* ElemTy = (yyvsp[(4) - (5)].TypeVal)->get();
      if ((unsigned)(yyvsp[(2) - (5)].UInt64Val) != (yyvsp[(2) - (5)].UInt64Val))
@@ -3392,8 +3414,8 @@
   ;}
     break;
 
-  case 86:
-#line 1219 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 88:
+#line 1222 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     {                        // Structure type?
     std::vector<const Type*> Elements;
     for (std::list<llvm::PATypeHolder>::iterator I = (yyvsp[(2) - (3)].TypeList)->begin(),
@@ -3406,16 +3428,16 @@
   ;}
     break;
 
-  case 87:
-#line 1229 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 89:
+#line 1232 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     {                                  // Empty structure type?
     (yyval.TypeVal) = new PATypeHolder(StructType::get(std::vector<const Type*>()));
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 88:
-#line 1233 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 90:
+#line 1236 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     {                             // Pointer type?
     (yyval.TypeVal) = new PATypeHolder(HandleUpRefs(PointerType::get(*(yyvsp[(1) - (2)].TypeVal))));
     delete (yyvsp[(1) - (2)].TypeVal);
@@ -3423,8 +3445,8 @@
   ;}
     break;
 
-  case 89:
-#line 1242 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 91:
+#line 1245 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.TypeList) = new std::list<PATypeHolder>();
     (yyval.TypeList)->push_back(*(yyvsp[(1) - (1)].TypeVal)); delete (yyvsp[(1) - (1)].TypeVal);
@@ -3432,40 +3454,40 @@
   ;}
     break;
 
-  case 90:
-#line 1247 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 92:
+#line 1250 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     {
     ((yyval.TypeList)=(yyvsp[(1) - (3)].TypeList))->push_back(*(yyvsp[(3) - (3)].TypeVal)); delete (yyvsp[(3) - (3)].TypeVal);
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 92:
-#line 1254 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 94:
+#line 1257 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     {
     ((yyval.TypeList)=(yyvsp[(1) - (3)].TypeList))->push_back(Type::VoidTy);
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 93:
-#line 1258 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 95:
+#line 1261 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     {
     ((yyval.TypeList) = new std::list<PATypeHolder>())->push_back(Type::VoidTy);
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 94:
-#line 1262 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 96:
+#line 1265 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.TypeList) = new std::list<PATypeHolder>();
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 95:
-#line 1273 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 97:
+#line 1276 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     { // Nonempty unsized arr
     const ArrayType *ATy = dyn_cast<ArrayType>((yyvsp[(1) - (4)].TypeVal)->get());
     if (ATy == 0)
@@ -3494,8 +3516,8 @@
   ;}
     break;
 
-  case 96:
-#line 1299 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 98:
+#line 1302 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     {
     const ArrayType *ATy = dyn_cast<ArrayType>((yyvsp[(1) - (3)].TypeVal)->get());
     if (ATy == 0)
@@ -3512,8 +3534,8 @@
   ;}
     break;
 
-  case 97:
-#line 1313 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 99:
+#line 1316 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     {
     const ArrayType *ATy = dyn_cast<ArrayType>((yyvsp[(1) - (3)].TypeVal)->get());
     if (ATy == 0)
@@ -3546,8 +3568,8 @@
   ;}
     break;
 
-  case 98:
-#line 1343 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 100:
+#line 1346 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     { // Nonempty unsized arr
     const PackedType *PTy = dyn_cast<PackedType>((yyvsp[(1) - (4)].TypeVal)->get());
     if (PTy == 0)
@@ -3576,8 +3598,8 @@
   ;}
     break;
 
-  case 99:
-#line 1369 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 101:
+#line 1372 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     {
     const StructType *STy = dyn_cast<StructType>((yyvsp[(1) - (4)].TypeVal)->get());
     if (STy == 0)
@@ -3601,8 +3623,8 @@
   ;}
     break;
 
-  case 100:
-#line 1390 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 102:
+#line 1393 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     {
     const StructType *STy = dyn_cast<StructType>((yyvsp[(1) - (3)].TypeVal)->get());
     if (STy == 0)
@@ -3618,8 +3640,8 @@
   ;}
     break;
 
-  case 101:
-#line 1403 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 103:
+#line 1406 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     {
     const PointerType *PTy = dyn_cast<PointerType>((yyvsp[(1) - (2)].TypeVal)->get());
     if (PTy == 0)
@@ -3632,8 +3654,8 @@
   ;}
     break;
 
-  case 102:
-#line 1413 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 104:
+#line 1416 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ConstVal) = UndefValue::get((yyvsp[(1) - (2)].TypeVal)->get());
     delete (yyvsp[(1) - (2)].TypeVal);
@@ -3641,8 +3663,8 @@
   ;}
     break;
 
-  case 103:
-#line 1418 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 105:
+#line 1421 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     {
     const PointerType *Ty = dyn_cast<PointerType>((yyvsp[(1) - (2)].TypeVal)->get());
     if (Ty == 0)
@@ -3705,8 +3727,8 @@
   ;}
     break;
 
-  case 104:
-#line 1478 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 106:
+#line 1481 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     {
     if ((yyvsp[(1) - (2)].TypeVal)->get() != (yyvsp[(2) - (2)].ConstVal)->getType())
       GEN_ERROR("Mismatched types for constant expression!");
@@ -3716,8 +3738,8 @@
   ;}
     break;
 
-  case 105:
-#line 1485 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 107:
+#line 1488 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     {
     const Type *Ty = (yyvsp[(1) - (2)].TypeVal)->get();
     if (isa<FunctionType>(Ty) || Ty == Type::LabelTy || isa<OpaqueType>(Ty))
@@ -3728,8 +3750,8 @@
   ;}
     break;
 
-  case 106:
-#line 1494 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 108:
+#line 1497 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     {      // integral constants
     if (!ConstantSInt::isValueValidForType((yyvsp[(1) - (2)].PrimType), (yyvsp[(2) - (2)].SInt64Val)))
       GEN_ERROR("Constant value doesn't fit in type!");
@@ -3738,8 +3760,8 @@
   ;}
     break;
 
-  case 107:
-#line 1500 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 109:
+#line 1503 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     {            // integral constants
     if (!ConstantUInt::isValueValidForType((yyvsp[(1) - (2)].PrimType), (yyvsp[(2) - (2)].UInt64Val)))
       GEN_ERROR("Constant value doesn't fit in type!");
@@ -3748,24 +3770,24 @@
   ;}
     break;
 
-  case 108:
-#line 1506 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 110:
+#line 1509 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     {                      // Boolean constants
     (yyval.ConstVal) = ConstantBool::True;
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 109:
-#line 1510 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 111:
+#line 1513 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     {                     // Boolean constants
     (yyval.ConstVal) = ConstantBool::False;
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 110:
-#line 1514 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 112:
+#line 1517 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     {                   // Float & Double constants
     if (!ConstantFP::isValueValidForType((yyvsp[(1) - (2)].PrimType), (yyvsp[(2) - (2)].FPVal)))
       GEN_ERROR("Floating point constant invalid for type!!");
@@ -3774,8 +3796,8 @@
   ;}
     break;
 
-  case 111:
-#line 1522 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 113:
+#line 1525 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     {
     if (!(yyvsp[(3) - (6)].ConstVal)->getType()->isFirstClassType())
       GEN_ERROR("cast constant expression from a non-primitive type: '" +
@@ -3789,8 +3811,8 @@
   ;}
     break;
 
-  case 112:
-#line 1533 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 114:
+#line 1536 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     {
     if (!isa<PointerType>((yyvsp[(3) - (5)].ConstVal)->getType()))
       GEN_ERROR("GetElementPtr requires a pointer operand!");
@@ -3825,8 +3847,8 @@
   ;}
     break;
 
-  case 113:
-#line 1565 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 115:
+#line 1568 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     {
     if ((yyvsp[(3) - (8)].ConstVal)->getType() != Type::BoolTy)
       GEN_ERROR("Select condition must be of boolean type!");
@@ -3837,8 +3859,8 @@
   ;}
     break;
 
-  case 114:
-#line 1573 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 116:
+#line 1576 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     {
     if ((yyvsp[(3) - (6)].ConstVal)->getType() != (yyvsp[(5) - (6)].ConstVal)->getType())
       GEN_ERROR("Binary operator types must match!");
@@ -3863,8 +3885,8 @@
   ;}
     break;
 
-  case 115:
-#line 1595 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 117:
+#line 1598 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     {
     if ((yyvsp[(3) - (6)].ConstVal)->getType() != (yyvsp[(5) - (6)].ConstVal)->getType())
       GEN_ERROR("Logical operator types must match!");
@@ -3878,8 +3900,8 @@
   ;}
     break;
 
-  case 116:
-#line 1606 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 118:
+#line 1609 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     {
     if ((yyvsp[(3) - (6)].ConstVal)->getType() != (yyvsp[(5) - (6)].ConstVal)->getType())
       GEN_ERROR("setcc operand types must match!");
@@ -3888,8 +3910,8 @@
   ;}
     break;
 
-  case 117:
-#line 1612 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 119:
+#line 1615 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     {
     if ((yyvsp[(5) - (6)].ConstVal)->getType() != Type::UByteTy)
       GEN_ERROR("Shift count for shift constant must be unsigned byte!");
@@ -3900,8 +3922,8 @@
   ;}
     break;
 
-  case 118:
-#line 1620 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 120:
+#line 1623 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     {
     if (!ExtractElementInst::isValidOperands((yyvsp[(3) - (6)].ConstVal), (yyvsp[(5) - (6)].ConstVal)))
       GEN_ERROR("Invalid extractelement operands!");
@@ -3910,8 +3932,8 @@
   ;}
     break;
 
-  case 119:
-#line 1626 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 121:
+#line 1629 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     {
     if (!InsertElementInst::isValidOperands((yyvsp[(3) - (8)].ConstVal), (yyvsp[(5) - (8)].ConstVal), (yyvsp[(7) - (8)].ConstVal)))
       GEN_ERROR("Invalid insertelement operands!");
@@ -3920,8 +3942,8 @@
   ;}
     break;
 
-  case 120:
-#line 1632 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 122:
+#line 1635 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     {
     if (!ShuffleVectorInst::isValidOperands((yyvsp[(3) - (8)].ConstVal), (yyvsp[(5) - (8)].ConstVal), (yyvsp[(7) - (8)].ConstVal)))
       GEN_ERROR("Invalid shufflevector operands!");
@@ -3930,16 +3952,16 @@
   ;}
     break;
 
-  case 121:
-#line 1641 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 123:
+#line 1644 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     {
     ((yyval.ConstVector) = (yyvsp[(1) - (3)].ConstVector))->push_back((yyvsp[(3) - (3)].ConstVal));
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 122:
-#line 1645 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 124:
+#line 1648 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ConstVector) = new std::vector<Constant*>();
     (yyval.ConstVector)->push_back((yyvsp[(1) - (1)].ConstVal));
@@ -3947,18 +3969,18 @@
   ;}
     break;
 
-  case 123:
-#line 1653 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 125:
+#line 1656 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     { (yyval.BoolVal) = false; ;}
     break;
 
-  case 124:
-#line 1653 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 126:
+#line 1656 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     { (yyval.BoolVal) = true; ;}
     break;
 
-  case 125:
-#line 1663 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 127:
+#line 1666 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     {
   (yyval.ModuleVal) = ParserResult = (yyvsp[(1) - (1)].ModuleVal);
   CurModule.ModuleDone();
@@ -3966,8 +3988,8 @@
 ;}
     break;
 
-  case 126:
-#line 1671 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 128:
+#line 1674 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ModuleVal) = (yyvsp[(1) - (2)].ModuleVal);
     CurFun.FunctionDone();
@@ -3975,32 +3997,32 @@
   ;}
     break;
 
-  case 127:
-#line 1676 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 129:
+#line 1679 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ModuleVal) = (yyvsp[(1) - (2)].ModuleVal);
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 128:
-#line 1680 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 130:
+#line 1683 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ModuleVal) = (yyvsp[(1) - (4)].ModuleVal);
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 129:
-#line 1684 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 131:
+#line 1687 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ModuleVal) = (yyvsp[(1) - (2)].ModuleVal);
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 130:
-#line 1688 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 132:
+#line 1691 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ModuleVal) = CurModule.CurrentModule;
     // Emit an error if there are any unresolved types left.
@@ -4016,8 +4038,8 @@
   ;}
     break;
 
-  case 131:
-#line 1703 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 133:
+#line 1706 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     {
     // Eagerly resolve types.  This is not an optimization, this is a
     // requirement that is due to the fact that we could have this:
@@ -4041,38 +4063,38 @@
   ;}
     break;
 
-  case 132:
-#line 1724 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 134:
+#line 1727 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     {       // Function prototypes can be in const pool
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 133:
-#line 1727 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 135:
+#line 1730 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     {  // Asm blocks can be in the const pool
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 134:
-#line 1730 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 136:
+#line 1733 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     {
     if ((yyvsp[(5) - (5)].ConstVal) == 0) GEN_ERROR("Global value initializer is not a constant!");
     CurGV = ParseGlobalVariable((yyvsp[(2) - (5)].StrVal), (yyvsp[(3) - (5)].Linkage), (yyvsp[(4) - (5)].BoolVal), (yyvsp[(5) - (5)].ConstVal)->getType(), (yyvsp[(5) - (5)].ConstVal));
                                                        ;}
     break;
 
-  case 135:
-#line 1733 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 137:
+#line 1736 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     {
     CurGV = 0;
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 136:
-#line 1737 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 138:
+#line 1740 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     {
     CurGV = ParseGlobalVariable((yyvsp[(2) - (5)].StrVal),
                                 GlobalValue::ExternalLinkage, (yyvsp[(4) - (5)].BoolVal), *(yyvsp[(5) - (5)].TypeVal), 0);
@@ -4080,16 +4102,16 @@
                                                    ;}
     break;
 
-  case 137:
-#line 1741 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 139:
+#line 1744 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     {
     CurGV = 0;
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 138:
-#line 1745 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 140:
+#line 1748 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     {
     CurGV = ParseGlobalVariable((yyvsp[(2) - (5)].StrVal),
                                 GlobalValue::DLLImportLinkage, (yyvsp[(4) - (5)].BoolVal), *(yyvsp[(5) - (5)].TypeVal), 0);
@@ -4097,16 +4119,16 @@
                                                    ;}
     break;
 
-  case 139:
-#line 1749 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 141:
+#line 1752 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     {
     CurGV = 0;
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 140:
-#line 1753 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 142:
+#line 1756 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     {
     CurGV = ParseGlobalVariable((yyvsp[(2) - (5)].StrVal),
                                 GlobalValue::ExternalWeakLinkage, (yyvsp[(4) - (5)].BoolVal), *(yyvsp[(5) - (5)].TypeVal), 0);
@@ -4114,36 +4136,36 @@
                                                    ;}
     break;
 
-  case 141:
-#line 1757 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 143:
+#line 1760 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     {
     CurGV = 0;
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 142:
-#line 1761 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 144:
+#line 1764 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     { 
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 143:
-#line 1764 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 145:
+#line 1767 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     {
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 144:
-#line 1767 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 146:
+#line 1770 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     { 
   ;}
     break;
 
-  case 145:
-#line 1771 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 147:
+#line 1774 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     {
   const std::string &AsmSoFar = CurModule.CurrentModule->getModuleInlineAsm();
   char *EndStr = UnEscapeLexed((yyvsp[(1) - (1)].StrVal), true);
@@ -4158,26 +4180,26 @@
 ;}
     break;
 
-  case 146:
-#line 1784 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 148:
+#line 1787 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     { (yyval.Endianness) = Module::BigEndian; ;}
     break;
 
-  case 147:
-#line 1785 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 149:
+#line 1788 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     { (yyval.Endianness) = Module::LittleEndian; ;}
     break;
 
-  case 148:
-#line 1787 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 150:
+#line 1790 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     {
     CurModule.CurrentModule->setEndianness((yyvsp[(3) - (3)].Endianness));
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 149:
-#line 1791 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 151:
+#line 1794 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     {
     if ((yyvsp[(3) - (3)].UInt64Val) == 32)
       CurModule.CurrentModule->setPointerSize(Module::Pointer32);
@@ -4189,8 +4211,8 @@
   ;}
     break;
 
-  case 150:
-#line 1800 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 152:
+#line 1803 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     {
     CurModule.CurrentModule->setTargetTriple((yyvsp[(3) - (3)].StrVal));
     free((yyvsp[(3) - (3)].StrVal));
@@ -4198,8 +4220,8 @@
   ;}
     break;
 
-  case 152:
-#line 1808 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 154:
+#line 1811 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     {
           CurModule.CurrentModule->addLibrary((yyvsp[(3) - (3)].StrVal));
           free((yyvsp[(3) - (3)].StrVal));
@@ -4207,8 +4229,8 @@
         ;}
     break;
 
-  case 153:
-#line 1813 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 155:
+#line 1816 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     {
           CurModule.CurrentModule->addLibrary((yyvsp[(1) - (1)].StrVal));
           free((yyvsp[(1) - (1)].StrVal));
@@ -4216,20 +4238,20 @@
         ;}
     break;
 
-  case 154:
-#line 1818 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 156:
+#line 1821 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     {
           CHECK_FOR_ERROR
         ;}
     break;
 
-  case 158:
-#line 1828 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 160:
+#line 1831 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     { (yyval.StrVal) = 0; ;}
     break;
 
-  case 159:
-#line 1830 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 161:
+#line 1833 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     {
   if (*(yyvsp[(1) - (2)].TypeVal) == Type::VoidTy)
     GEN_ERROR("void typed arguments are invalid!");
@@ -4238,8 +4260,8 @@
 ;}
     break;
 
-  case 160:
-#line 1837 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 162:
+#line 1840 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ArgList) = (yyvsp[(1) - (3)].ArgList);
     (yyvsp[(1) - (3)].ArgList)->push_back(*(yyvsp[(3) - (3)].ArgVal));
@@ -4248,8 +4270,8 @@
   ;}
     break;
 
-  case 161:
-#line 1843 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 163:
+#line 1846 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ArgList) = new std::vector<std::pair<PATypeHolder*,char*> >();
     (yyval.ArgList)->push_back(*(yyvsp[(1) - (1)].ArgVal));
@@ -4258,16 +4280,16 @@
   ;}
     break;
 
-  case 162:
-#line 1850 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 164:
+#line 1853 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ArgList) = (yyvsp[(1) - (1)].ArgList);
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 163:
-#line 1854 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 165:
+#line 1857 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ArgList) = (yyvsp[(1) - (3)].ArgList);
     (yyval.ArgList)->push_back(std::pair<PATypeHolder*,
@@ -4276,8 +4298,8 @@
   ;}
     break;
 
-  case 164:
-#line 1860 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 166:
+#line 1863 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ArgList) = new std::vector<std::pair<PATypeHolder*,char*> >();
     (yyval.ArgList)->push_back(std::make_pair(new PATypeHolder(Type::VoidTy), (char*)0));
@@ -4285,16 +4307,16 @@
   ;}
     break;
 
-  case 165:
-#line 1865 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 167:
+#line 1868 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ArgList) = 0;
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 166:
-#line 1871 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 168:
+#line 1874 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     {
   UnEscapeLexed((yyvsp[(3) - (8)].StrVal));
   std::string FunctionName((yyvsp[(3) - (8)].StrVal));
@@ -4389,8 +4411,8 @@
 ;}
     break;
 
-  case 169:
-#line 1966 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 171:
+#line 1969 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     {
   (yyval.FunctionVal) = CurFun.CurrentFunction;
 
@@ -4400,31 +4422,31 @@
 ;}
     break;
 
-  case 172:
-#line 1976 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 174:
+#line 1979 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     {
   (yyval.FunctionVal) = (yyvsp[(1) - (2)].FunctionVal);
   CHECK_FOR_ERROR
 ;}
     break;
 
-  case 174:
-#line 1982 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 176:
+#line 1985 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     { CurFun.Linkage = GlobalValue::DLLImportLinkage ;}
     break;
 
-  case 175:
-#line 1983 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 177:
+#line 1986 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     { CurFun.Linkage = GlobalValue::DLLImportLinkage ;}
     break;
 
-  case 176:
-#line 1985 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 178:
+#line 1988 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     { CurFun.isDeclare = true; ;}
     break;
 
-  case 177:
-#line 1985 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 179:
+#line 1988 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.FunctionVal) = CurFun.CurrentFunction;
     CurFun.FunctionDone();
@@ -4432,88 +4454,88 @@
   ;}
     break;
 
-  case 178:
-#line 1995 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 180:
+#line 1998 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.BoolVal) = false;
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 179:
-#line 1999 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 181:
+#line 2002 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.BoolVal) = true;
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 180:
-#line 2004 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 182:
+#line 2007 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     {    // A reference to a direct constant
     (yyval.ValIDVal) = ValID::create((yyvsp[(1) - (1)].SInt64Val));
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 181:
-#line 2008 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 183:
+#line 2011 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ValIDVal) = ValID::create((yyvsp[(1) - (1)].UInt64Val));
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 182:
-#line 2012 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 184:
+#line 2015 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     {                     // Perhaps it's an FP constant?
     (yyval.ValIDVal) = ValID::create((yyvsp[(1) - (1)].FPVal));
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 183:
-#line 2016 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 185:
+#line 2019 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ValIDVal) = ValID::create(ConstantBool::True);
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 184:
-#line 2020 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 186:
+#line 2023 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ValIDVal) = ValID::create(ConstantBool::False);
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 185:
-#line 2024 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 187:
+#line 2027 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ValIDVal) = ValID::createNull();
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 186:
-#line 2028 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 188:
+#line 2031 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ValIDVal) = ValID::createUndef();
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 187:
-#line 2032 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 189:
+#line 2035 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     {     // A vector zero constant.
     (yyval.ValIDVal) = ValID::createZeroInit();
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 188:
-#line 2036 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 190:
+#line 2039 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     { // Nonempty unsized packed vector
     const Type *ETy = (*(yyvsp[(2) - (3)].ConstVector))[0]->getType();
     int NumElements = (yyvsp[(2) - (3)].ConstVector)->size(); 
@@ -4541,16 +4563,16 @@
   ;}
     break;
 
-  case 189:
-#line 2061 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 191:
+#line 2064 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ValIDVal) = ValID::create((yyvsp[(1) - (1)].ConstVal));
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 190:
-#line 2065 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 192:
+#line 2068 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     {
     char *End = UnEscapeLexed((yyvsp[(3) - (5)].StrVal), true);
     std::string AsmStr = std::string((yyvsp[(3) - (5)].StrVal), End);
@@ -4563,48 +4585,48 @@
   ;}
     break;
 
-  case 191:
-#line 2079 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 193:
+#line 2082 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     {  // Is it an integer reference...?
     (yyval.ValIDVal) = ValID::create((yyvsp[(1) - (1)].SIntVal));
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 192:
-#line 2083 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 194:
+#line 2086 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     {                   // Is it a named reference...?
     (yyval.ValIDVal) = ValID::create((yyvsp[(1) - (1)].StrVal));
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 195:
-#line 2095 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 197:
+#line 2098 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ValueVal) = getVal(*(yyvsp[(1) - (2)].TypeVal), (yyvsp[(2) - (2)].ValIDVal)); delete (yyvsp[(1) - (2)].TypeVal);
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 196:
-#line 2100 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 198:
+#line 2103 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.FunctionVal) = (yyvsp[(1) - (2)].FunctionVal);
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 197:
-#line 2104 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 199:
+#line 2107 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     { // Do not allow functions with 0 basic blocks   
     (yyval.FunctionVal) = (yyvsp[(1) - (2)].FunctionVal);
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 198:
-#line 2113 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 200:
+#line 2116 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     {
     setValueName((yyvsp[(3) - (3)].TermInstVal), (yyvsp[(2) - (3)].StrVal));
     InsertValue((yyvsp[(3) - (3)].TermInstVal));
@@ -4616,8 +4638,8 @@
   ;}
     break;
 
-  case 199:
-#line 2123 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 201:
+#line 2126 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     {
     (yyvsp[(1) - (2)].BasicBlockVal)->getInstList().push_back((yyvsp[(2) - (2)].InstVal));
     (yyval.BasicBlockVal) = (yyvsp[(1) - (2)].BasicBlockVal);
@@ -4625,8 +4647,8 @@
   ;}
     break;
 
-  case 200:
-#line 2128 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 202:
+#line 2131 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.BasicBlockVal) = CurBB = getBBVal(ValID::create((int)CurFun.NextBBNum++), true);
 
@@ -4640,8 +4662,8 @@
   ;}
     break;
 
-  case 201:
-#line 2139 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 203:
+#line 2142 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.BasicBlockVal) = CurBB = getBBVal(ValID::create((yyvsp[(1) - (1)].StrVal)), true);
 
@@ -4655,40 +4677,40 @@
   ;}
     break;
 
-  case 202:
-#line 2151 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 204:
+#line 2154 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     {              // Return with a result...
     (yyval.TermInstVal) = new ReturnInst((yyvsp[(2) - (2)].ValueVal));
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 203:
-#line 2155 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 205:
+#line 2158 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     {                                       // Return with no result...
     (yyval.TermInstVal) = new ReturnInst();
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 204:
-#line 2159 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 206:
+#line 2162 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     {                         // Unconditional Branch...
     (yyval.TermInstVal) = new BranchInst(getBBVal((yyvsp[(3) - (3)].ValIDVal)));
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 205:
-#line 2163 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 207:
+#line 2166 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     {  
     (yyval.TermInstVal) = new BranchInst(getBBVal((yyvsp[(6) - (9)].ValIDVal)), getBBVal((yyvsp[(9) - (9)].ValIDVal)), getVal(Type::BoolTy, (yyvsp[(3) - (9)].ValIDVal)));
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 206:
-#line 2167 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 208:
+#line 2170 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     {
     SwitchInst *S = new SwitchInst(getVal((yyvsp[(2) - (9)].PrimType), (yyvsp[(3) - (9)].ValIDVal)), getBBVal((yyvsp[(6) - (9)].ValIDVal)), (yyvsp[(8) - (9)].JumpTable)->size());
     (yyval.TermInstVal) = S;
@@ -4706,8 +4728,8 @@
   ;}
     break;
 
-  case 207:
-#line 2182 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 209:
+#line 2185 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     {
     SwitchInst *S = new SwitchInst(getVal((yyvsp[(2) - (8)].PrimType), (yyvsp[(3) - (8)].ValIDVal)), getBBVal((yyvsp[(6) - (8)].ValIDVal)), 0);
     (yyval.TermInstVal) = S;
@@ -4715,8 +4737,8 @@
   ;}
     break;
 
-  case 208:
-#line 2188 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 210:
+#line 2191 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     {
     const PointerType *PFTy;
     const FunctionType *Ty;
@@ -4772,24 +4794,24 @@
   ;}
     break;
 
-  case 209:
-#line 2241 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 211:
+#line 2244 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.TermInstVal) = new UnwindInst();
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 210:
-#line 2245 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 212:
+#line 2248 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.TermInstVal) = new UnreachableInst();
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 211:
-#line 2252 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 213:
+#line 2255 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.JumpTable) = (yyvsp[(1) - (6)].JumpTable);
     Constant *V = cast<Constant>(getValNonImprovising((yyvsp[(2) - (6)].PrimType), (yyvsp[(3) - (6)].ValIDVal)));
@@ -4801,8 +4823,8 @@
   ;}
     break;
 
-  case 212:
-#line 2261 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 214:
+#line 2264 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.JumpTable) = new std::vector<std::pair<Constant*, BasicBlock*> >();
     Constant *V = cast<Constant>(getValNonImprovising((yyvsp[(1) - (5)].PrimType), (yyvsp[(2) - (5)].ValIDVal)));
@@ -4815,8 +4837,8 @@
   ;}
     break;
 
-  case 213:
-#line 2272 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 215:
+#line 2275 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     {
   // Is this definition named?? if so, assign the name...
   setValueName((yyvsp[(2) - (2)].InstVal), (yyvsp[(1) - (2)].StrVal));
@@ -4826,8 +4848,8 @@
 ;}
     break;
 
-  case 214:
-#line 2280 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 216:
+#line 2283 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     {    // Used for PHI nodes
     (yyval.PHIList) = new std::list<std::pair<Value*, BasicBlock*> >();
     (yyval.PHIList)->push_back(std::make_pair(getVal(*(yyvsp[(1) - (6)].TypeVal), (yyvsp[(3) - (6)].ValIDVal)), getBBVal((yyvsp[(5) - (6)].ValIDVal))));
@@ -4836,8 +4858,8 @@
   ;}
     break;
 
-  case 215:
-#line 2286 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 217:
+#line 2289 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.PHIList) = (yyvsp[(1) - (7)].PHIList);
     (yyvsp[(1) - (7)].PHIList)->push_back(std::make_pair(getVal((yyvsp[(1) - (7)].PHIList)->front().first->getType(), (yyvsp[(4) - (7)].ValIDVal)),
@@ -4846,8 +4868,8 @@
   ;}
     break;
 
-  case 216:
-#line 2294 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 218:
+#line 2297 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     {    // Used for call statements, and memory insts...
     (yyval.ValueList) = new std::vector<Value*>();
     (yyval.ValueList)->push_back((yyvsp[(1) - (1)].ValueVal));
@@ -4855,8 +4877,8 @@
   ;}
     break;
 
-  case 217:
-#line 2299 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 219:
+#line 2302 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ValueList) = (yyvsp[(1) - (3)].ValueList);
     (yyvsp[(1) - (3)].ValueList)->push_back((yyvsp[(3) - (3)].ValueVal));
@@ -4864,29 +4886,29 @@
   ;}
     break;
 
-  case 219:
-#line 2306 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 221:
+#line 2309 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     { (yyval.ValueList) = 0; ;}
     break;
 
-  case 220:
-#line 2308 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 222:
+#line 2311 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.BoolVal) = true;
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 221:
-#line 2312 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 223:
+#line 2315 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.BoolVal) = false;
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 222:
-#line 2319 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 224:
+#line 2322 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     {
     if (!(*(yyvsp[(2) - (5)].TypeVal))->isInteger() && !(*(yyvsp[(2) - (5)].TypeVal))->isFloatingPoint() && 
         !isa<PackedType>((*(yyvsp[(2) - (5)].TypeVal)).get()))
@@ -4902,8 +4924,8 @@
   ;}
     break;
 
-  case 223:
-#line 2332 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 225:
+#line 2335 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     {
     if (!(*(yyvsp[(2) - (5)].TypeVal))->isIntegral()) {
       if (!isa<PackedType>((yyvsp[(2) - (5)].TypeVal)->get()) ||
@@ -4918,8 +4940,8 @@
   ;}
     break;
 
-  case 224:
-#line 2344 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 226:
+#line 2347 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     {
     if(isa<PackedType>((*(yyvsp[(2) - (5)].TypeVal)).get())) {
       GEN_ERROR(
@@ -4933,8 +4955,8 @@
   ;}
     break;
 
-  case 225:
-#line 2355 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 227:
+#line 2358 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     {
     std::cerr << "WARNING: Use of eliminated 'not' instruction:"
               << " Replacing with 'xor'.\n";
@@ -4950,8 +4972,8 @@
   ;}
     break;
 
-  case 226:
-#line 2368 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 228:
+#line 2371 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     {
     if ((yyvsp[(4) - (4)].ValueVal)->getType() != Type::UByteTy)
       GEN_ERROR("Shift amount must be ubyte!");
@@ -4962,8 +4984,8 @@
   ;}
     break;
 
-  case 227:
-#line 2376 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 229:
+#line 2379 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     {
     if (!(yyvsp[(4) - (4)].TypeVal)->get()->isFirstClassType())
       GEN_ERROR("cast instruction to a non-primitive type: '" +
@@ -4974,8 +4996,8 @@
   ;}
     break;
 
-  case 228:
-#line 2384 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 230:
+#line 2387 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     {
     if ((yyvsp[(2) - (6)].ValueVal)->getType() != Type::BoolTy)
       GEN_ERROR("select condition must be boolean!");
@@ -4986,8 +5008,8 @@
   ;}
     break;
 
-  case 229:
-#line 2392 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 231:
+#line 2395 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     {
     NewVarArgs = true;
     (yyval.InstVal) = new VAArgInst((yyvsp[(2) - (4)].ValueVal), *(yyvsp[(4) - (4)].TypeVal));
@@ -4996,8 +5018,8 @@
   ;}
     break;
 
-  case 230:
-#line 2398 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 232:
+#line 2401 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     {
     ObsoleteVarArgs = true;
     const Type* ArgTy = (yyvsp[(2) - (4)].ValueVal)->getType();
@@ -5020,8 +5042,8 @@
   ;}
     break;
 
-  case 231:
-#line 2418 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 233:
+#line 2421 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     {
     ObsoleteVarArgs = true;
     const Type* ArgTy = (yyvsp[(2) - (4)].ValueVal)->getType();
@@ -5047,8 +5069,8 @@
   ;}
     break;
 
-  case 232:
-#line 2441 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 234:
+#line 2444 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     {
     if (!ExtractElementInst::isValidOperands((yyvsp[(2) - (4)].ValueVal), (yyvsp[(4) - (4)].ValueVal)))
       GEN_ERROR("Invalid extractelement operands!");
@@ -5057,8 +5079,8 @@
   ;}
     break;
 
-  case 233:
-#line 2447 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 235:
+#line 2450 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     {
     if (!InsertElementInst::isValidOperands((yyvsp[(2) - (6)].ValueVal), (yyvsp[(4) - (6)].ValueVal), (yyvsp[(6) - (6)].ValueVal)))
       GEN_ERROR("Invalid insertelement operands!");
@@ -5067,8 +5089,8 @@
   ;}
     break;
 
-  case 234:
-#line 2453 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 236:
+#line 2456 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     {
     if (!ShuffleVectorInst::isValidOperands((yyvsp[(2) - (6)].ValueVal), (yyvsp[(4) - (6)].ValueVal), (yyvsp[(6) - (6)].ValueVal)))
       GEN_ERROR("Invalid shufflevector operands!");
@@ -5077,8 +5099,8 @@
   ;}
     break;
 
-  case 235:
-#line 2459 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 237:
+#line 2462 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     {
     const Type *Ty = (yyvsp[(2) - (2)].PHIList)->front().first->getType();
     if (!Ty->isFirstClassType())
@@ -5096,8 +5118,8 @@
   ;}
     break;
 
-  case 236:
-#line 2474 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 238:
+#line 2477 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     {
     const PointerType *PFTy;
     const FunctionType *Ty;
@@ -5158,48 +5180,48 @@
   ;}
     break;
 
-  case 237:
-#line 2532 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 239:
+#line 2535 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.InstVal) = (yyvsp[(1) - (1)].InstVal);
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 238:
-#line 2539 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 240:
+#line 2542 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     { 
     (yyval.ValueList) = (yyvsp[(2) - (2)].ValueList); 
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 239:
-#line 2542 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 241:
+#line 2545 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     { 
     (yyval.ValueList) = new std::vector<Value*>(); 
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 240:
-#line 2547 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 242:
+#line 2550 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.BoolVal) = true;
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 241:
-#line 2551 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 243:
+#line 2554 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.BoolVal) = false;
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 242:
-#line 2558 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 244:
+#line 2561 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.InstVal) = new MallocInst(*(yyvsp[(2) - (3)].TypeVal), 0, (yyvsp[(3) - (3)].UIntVal));
     delete (yyvsp[(2) - (3)].TypeVal);
@@ -5207,8 +5229,8 @@
   ;}
     break;
 
-  case 243:
-#line 2563 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 245:
+#line 2566 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.InstVal) = new MallocInst(*(yyvsp[(2) - (6)].TypeVal), getVal((yyvsp[(4) - (6)].PrimType), (yyvsp[(5) - (6)].ValIDVal)), (yyvsp[(6) - (6)].UIntVal));
     delete (yyvsp[(2) - (6)].TypeVal);
@@ -5216,8 +5238,8 @@
   ;}
     break;
 
-  case 244:
-#line 2568 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 246:
+#line 2571 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.InstVal) = new AllocaInst(*(yyvsp[(2) - (3)].TypeVal), 0, (yyvsp[(3) - (3)].UIntVal));
     delete (yyvsp[(2) - (3)].TypeVal);
@@ -5225,8 +5247,8 @@
   ;}
     break;
 
-  case 245:
-#line 2573 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 247:
+#line 2576 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.InstVal) = new AllocaInst(*(yyvsp[(2) - (6)].TypeVal), getVal((yyvsp[(4) - (6)].PrimType), (yyvsp[(5) - (6)].ValIDVal)), (yyvsp[(6) - (6)].UIntVal));
     delete (yyvsp[(2) - (6)].TypeVal);
@@ -5234,8 +5256,8 @@
   ;}
     break;
 
-  case 246:
-#line 2578 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 248:
+#line 2581 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     {
     if (!isa<PointerType>((yyvsp[(2) - (2)].ValueVal)->getType()))
       GEN_ERROR("Trying to free nonpointer type " + 
@@ -5245,8 +5267,8 @@
   ;}
     break;
 
-  case 247:
-#line 2586 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 249:
+#line 2589 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     {
     if (!isa<PointerType>((yyvsp[(3) - (4)].TypeVal)->get()))
       GEN_ERROR("Can't load from nonpointer type: " +
@@ -5260,8 +5282,8 @@
   ;}
     break;
 
-  case 248:
-#line 2597 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 250:
+#line 2600 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     {
     const PointerType *PT = dyn_cast<PointerType>((yyvsp[(5) - (6)].TypeVal)->get());
     if (!PT)
@@ -5278,8 +5300,8 @@
   ;}
     break;
 
-  case 249:
-#line 2611 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+  case 251:
+#line 2614 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
     {
     if (!isa<PointerType>((yyvsp[(2) - (4)].TypeVal)->get()))
       GEN_ERROR("getelementptr insn requires pointer operand!");
@@ -5306,7 +5328,7 @@
 
 
 /* Line 1267 of yacc.c.  */
-#line 5310 "llvmAsmParser.tab.c"
+#line 5332 "llvmAsmParser.tab.c"
       default: break;
     }
   YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
@@ -5519,7 +5541,7 @@
 }
 
 
-#line 2635 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+#line 2638 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
 
 
 void llvm::GenerateError(const std::string &message, int LineNo) {


Index: llvm/lib/AsmParser/llvmAsmParser.h.cvs
diff -u llvm/lib/AsmParser/llvmAsmParser.h.cvs:1.7 llvm/lib/AsmParser/llvmAsmParser.h.cvs:1.8
--- llvm/lib/AsmParser/llvmAsmParser.h.cvs:1.7	Thu Sep 14 13:25:26 2006
+++ llvm/lib/AsmParser/llvmAsmParser.h.cvs	Sun Sep 17 15:25:45 2006
@@ -105,43 +105,45 @@
      CSRETCC_TOK = 321,
      FASTCC_TOK = 322,
      COLDCC_TOK = 323,
-     RET = 324,
-     BR = 325,
-     SWITCH = 326,
-     INVOKE = 327,
-     UNWIND = 328,
-     UNREACHABLE = 329,
-     ADD = 330,
-     SUB = 331,
-     MUL = 332,
-     DIV = 333,
-     REM = 334,
-     AND = 335,
-     OR = 336,
-     XOR = 337,
-     SETLE = 338,
-     SETGE = 339,
-     SETLT = 340,
-     SETGT = 341,
-     SETEQ = 342,
-     SETNE = 343,
-     MALLOC = 344,
-     ALLOCA = 345,
-     FREE = 346,
-     LOAD = 347,
-     STORE = 348,
-     GETELEMENTPTR = 349,
-     PHI_TOK = 350,
-     CAST = 351,
-     SELECT = 352,
-     SHL = 353,
-     SHR = 354,
-     VAARG = 355,
-     EXTRACTELEMENT = 356,
-     INSERTELEMENT = 357,
-     SHUFFLEVECTOR = 358,
-     VAARG_old = 359,
-     VANEXT_old = 360
+     X86_STDCALLCC_TOK = 324,
+     X86_FASTCALLCC_TOK = 325,
+     RET = 326,
+     BR = 327,
+     SWITCH = 328,
+     INVOKE = 329,
+     UNWIND = 330,
+     UNREACHABLE = 331,
+     ADD = 332,
+     SUB = 333,
+     MUL = 334,
+     DIV = 335,
+     REM = 336,
+     AND = 337,
+     OR = 338,
+     XOR = 339,
+     SETLE = 340,
+     SETGE = 341,
+     SETLT = 342,
+     SETGT = 343,
+     SETEQ = 344,
+     SETNE = 345,
+     MALLOC = 346,
+     ALLOCA = 347,
+     FREE = 348,
+     LOAD = 349,
+     STORE = 350,
+     GETELEMENTPTR = 351,
+     PHI_TOK = 352,
+     CAST = 353,
+     SELECT = 354,
+     SHL = 355,
+     SHR = 356,
+     VAARG = 357,
+     EXTRACTELEMENT = 358,
+     INSERTELEMENT = 359,
+     SHUFFLEVECTOR = 360,
+     VAARG_old = 361,
+     VANEXT_old = 362
    };
 #endif
 /* Tokens.  */
@@ -211,43 +213,45 @@
 #define CSRETCC_TOK 321
 #define FASTCC_TOK 322
 #define COLDCC_TOK 323
-#define RET 324
-#define BR 325
-#define SWITCH 326
-#define INVOKE 327
-#define UNWIND 328
-#define UNREACHABLE 329
-#define ADD 330
-#define SUB 331
-#define MUL 332
-#define DIV 333
-#define REM 334
-#define AND 335
-#define OR 336
-#define XOR 337
-#define SETLE 338
-#define SETGE 339
-#define SETLT 340
-#define SETGT 341
-#define SETEQ 342
-#define SETNE 343
-#define MALLOC 344
-#define ALLOCA 345
-#define FREE 346
-#define LOAD 347
-#define STORE 348
-#define GETELEMENTPTR 349
-#define PHI_TOK 350
-#define CAST 351
-#define SELECT 352
-#define SHL 353
-#define SHR 354
-#define VAARG 355
-#define EXTRACTELEMENT 356
-#define INSERTELEMENT 357
-#define SHUFFLEVECTOR 358
-#define VAARG_old 359
-#define VANEXT_old 360
+#define X86_STDCALLCC_TOK 324
+#define X86_FASTCALLCC_TOK 325
+#define RET 326
+#define BR 327
+#define SWITCH 328
+#define INVOKE 329
+#define UNWIND 330
+#define UNREACHABLE 331
+#define ADD 332
+#define SUB 333
+#define MUL 334
+#define DIV 335
+#define REM 336
+#define AND 337
+#define OR 338
+#define XOR 339
+#define SETLE 340
+#define SETGE 341
+#define SETLT 342
+#define SETGT 343
+#define SETEQ 344
+#define SETNE 345
+#define MALLOC 346
+#define ALLOCA 347
+#define FREE 348
+#define LOAD 349
+#define STORE 350
+#define GETELEMENTPTR 351
+#define PHI_TOK 352
+#define CAST 353
+#define SELECT 354
+#define SHL 355
+#define SHR 356
+#define VAARG 357
+#define EXTRACTELEMENT 358
+#define INSERTELEMENT 359
+#define SHUFFLEVECTOR 360
+#define VAARG_old 361
+#define VANEXT_old 362
 
 
 
@@ -295,7 +299,7 @@
   llvm::Module::Endianness                Endianness;
 }
 /* Line 1528 of yacc.c.  */
-#line 299 "llvmAsmParser.tab.h"
+#line 303 "llvmAsmParser.tab.h"
 	YYSTYPE;
 # define yystype YYSTYPE /* obsolescent; will be withdrawn */
 # define YYSTYPE_IS_DECLARED 1


Index: llvm/lib/AsmParser/llvmAsmParser.y
diff -u llvm/lib/AsmParser/llvmAsmParser.y:1.260 llvm/lib/AsmParser/llvmAsmParser.y:1.261
--- llvm/lib/AsmParser/llvmAsmParser.y:1.260	Sun Sep 17 08:06:17 2006
+++ llvm/lib/AsmParser/llvmAsmParser.y	Sun Sep 17 15:25:45 2006
@@ -1006,6 +1006,7 @@
 %token OPAQUE NOT EXTERNAL TARGET TRIPLE ENDIAN POINTERSIZE LITTLE BIG ALIGN
 %token DEPLIBS CALL TAIL ASM_TOK MODULE SIDEEFFECT
 %token CC_TOK CCC_TOK CSRETCC_TOK FASTCC_TOK COLDCC_TOK
+%token X86_STDCALLCC_TOK X86_FASTCALLCC_TOK
 %type <UIntVal> OptCallingConv
 
 // Basic Block Terminating Operators
@@ -1083,12 +1084,14 @@
              EXTERN_WEAK { $$ = GlobalValue::ExternalWeakLinkage; } |
              /*empty*/   { $$ = GlobalValue::ExternalLinkage; };
 
-OptCallingConv : /*empty*/      { $$ = CallingConv::C; } |
-                 CCC_TOK        { $$ = CallingConv::C; } |
-                 CSRETCC_TOK    { $$ = CallingConv::CSRet; } |
-                 FASTCC_TOK     { $$ = CallingConv::Fast; } |
-                 COLDCC_TOK     { $$ = CallingConv::Cold; } |
-                 CC_TOK EUINT64VAL {
+OptCallingConv : /*empty*/          { $$ = CallingConv::C; } |
+                 CCC_TOK            { $$ = CallingConv::C; } |
+                 CSRETCC_TOK        { $$ = CallingConv::CSRet; } |
+                 FASTCC_TOK         { $$ = CallingConv::Fast; } |
+                 COLDCC_TOK         { $$ = CallingConv::Cold; } |
+                 X86_STDCALLCC_TOK  { $$ = CallingConv::X86_StdCall; } |
+                 X86_FASTCALLCC_TOK { $$ = CallingConv::X86_FastCall; } |
+                 CC_TOK EUINT64VAL  {
                    if ((unsigned)$2 != $2)
                      GEN_ERROR("Calling conv too large!");
                    $$ = $2;


Index: llvm/lib/AsmParser/llvmAsmParser.y.cvs
diff -u llvm/lib/AsmParser/llvmAsmParser.y.cvs:1.12 llvm/lib/AsmParser/llvmAsmParser.y.cvs:1.13
--- llvm/lib/AsmParser/llvmAsmParser.y.cvs:1.12	Sun Sep 17 08:06:18 2006
+++ llvm/lib/AsmParser/llvmAsmParser.y.cvs	Sun Sep 17 15:25:45 2006
@@ -1006,6 +1006,7 @@
 %token OPAQUE NOT EXTERNAL TARGET TRIPLE ENDIAN POINTERSIZE LITTLE BIG ALIGN
 %token DEPLIBS CALL TAIL ASM_TOK MODULE SIDEEFFECT
 %token CC_TOK CCC_TOK CSRETCC_TOK FASTCC_TOK COLDCC_TOK
+%token X86_STDCALLCC_TOK X86_FASTCALLCC_TOK
 %type <UIntVal> OptCallingConv
 
 // Basic Block Terminating Operators
@@ -1083,12 +1084,14 @@
              EXTERN_WEAK { $$ = GlobalValue::ExternalWeakLinkage; } |
              /*empty*/   { $$ = GlobalValue::ExternalLinkage; };
 
-OptCallingConv : /*empty*/      { $$ = CallingConv::C; } |
-                 CCC_TOK        { $$ = CallingConv::C; } |
-                 CSRETCC_TOK    { $$ = CallingConv::CSRet; } |
-                 FASTCC_TOK     { $$ = CallingConv::Fast; } |
-                 COLDCC_TOK     { $$ = CallingConv::Cold; } |
-                 CC_TOK EUINT64VAL {
+OptCallingConv : /*empty*/          { $$ = CallingConv::C; } |
+                 CCC_TOK            { $$ = CallingConv::C; } |
+                 CSRETCC_TOK        { $$ = CallingConv::CSRet; } |
+                 FASTCC_TOK         { $$ = CallingConv::Fast; } |
+                 COLDCC_TOK         { $$ = CallingConv::Cold; } |
+                 X86_STDCALLCC_TOK  { $$ = CallingConv::X86_StdCall; } |
+                 X86_FASTCALLCC_TOK { $$ = CallingConv::X86_FastCall; } |
+                 CC_TOK EUINT64VAL  {
                    if ((unsigned)$2 != $2)
                      GEN_ERROR("Calling conv too large!");
                    $$ = $2;






More information about the llvm-commits mailing list