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

Reid Spencer reid at x10sys.com
Wed Mar 21 19:14:26 PDT 2007



Changes in directory llvm/lib/AsmParser:

Lexer.cpp.cvs updated: 1.33 -> 1.34
Lexer.l.cvs updated: 1.27 -> 1.28
llvmAsmParser.cpp.cvs updated: 1.76 -> 1.77
llvmAsmParser.h.cvs updated: 1.59 -> 1.60
llvmAsmParser.y.cvs updated: 1.77 -> 1.78
---
Log message:

Regenerate.


---
Diffs of the changes:  (+1576 -1542)

 Lexer.cpp.cvs         | 1150 ++++++++++++++---------------
 Lexer.l.cvs           |    2 
 llvmAsmParser.cpp.cvs | 1951 +++++++++++++++++++++++++-------------------------
 llvmAsmParser.h.cvs   |   12 
 llvmAsmParser.y.cvs   |    3 
 5 files changed, 1576 insertions(+), 1542 deletions(-)


Index: llvm/lib/AsmParser/Lexer.cpp.cvs
diff -u llvm/lib/AsmParser/Lexer.cpp.cvs:1.33 llvm/lib/AsmParser/Lexer.cpp.cvs:1.34
--- llvm/lib/AsmParser/Lexer.cpp.cvs:1.33	Fri Mar  9 15:19:09 2007
+++ llvm/lib/AsmParser/Lexer.cpp.cvs	Wed Mar 21 21:14:08 2007
@@ -20,7 +20,7 @@
 /* A lexical scanner generated by flex*/
 
 /* Scanner skeleton version:
- * $Header: /var/cvs/llvm/llvm/lib/AsmParser/Lexer.cpp.cvs,v 1.33 2007/03/09 21:19:09 reid Exp $
+ * $Header: /var/cvs/llvm/llvm/lib/AsmParser/Lexer.cpp.cvs,v 1.34 2007/03/22 02:14:08 reid Exp $
  */
 
 #define FLEX_SCANNER
@@ -317,37 +317,37 @@
 	*yy_cp = '\0'; \
 	yy_c_buf_p = yy_cp;
 
-#define YY_NUM_RULES 134
-#define YY_END_OF_BUFFER 135
-static yyconst short int yy_acclist[215] =
+#define YY_NUM_RULES 136
+#define YY_END_OF_BUFFER 137
+static yyconst short int yy_acclist[217] =
     {   0,
-      135,  133,  134,  132,  133,  134,  132,  134,  133,  134,
-      133,  134,  133,  134,  133,  134,  133,  134,  133,  134,
-      125,  133,  134,  125,  133,  134,    1,  133,  134,  133,
-      134,  133,  134,  133,  134,  133,  134,  133,  134,  133,
-      134,  133,  134,  133,  134,  133,  134,  133,  134,  133,
-      134,  133,  134,  133,  134,  133,  134,  133,  134,  133,
-      134,  133,  134,  133,  134,  133,  134,  133,  134,  133,
-      134,  133,  134,  133,  134,  123,  121,  119,  128,  126,
-      130,  125,    1,  120,  129,  105,   36,   68,   50,   69,
-       64,   24,  123,  119,  130,   21,  130,  131,  124,  120,
-
-       51,   63,   34,   37,    3,   53,   78,   83,   81,   82,
-       80,   79,   84,   88,  104,   73,   71,   60,   72,   70,
-       52,   86,   77,   75,   76,   74,   87,   85,   65,  122,
-      130,  130,   62,   89,   67,   56,  112,   59,   66,  113,
-       61,   23,  127,   55,   92,   58,   43,   25,    4,   48,
-       54,   57,   44,   12,   91,  130,   31,    2,    5,   45,
-       94,   42,   47,  114,   90,   22,  111,   39,    7,   46,
-       38,   98,   97,    8,   16,  107,  110,   33,   49,  102,
-       96,  106,   26,   27,   95,  108,  103,  101,    6,   28,
-       93,   32,    9,   18,   10,   99,   11,  100,   30,   13,
+      137,  135,  136,  134,  135,  136,  134,  136,  135,  136,
+      135,  136,  135,  136,  135,  136,  135,  136,  135,  136,
+      127,  135,  136,  127,  135,  136,    1,  135,  136,  135,
+      136,  135,  136,  135,  136,  135,  136,  135,  136,  135,
+      136,  135,  136,  135,  136,  135,  136,  135,  136,  135,
+      136,  135,  136,  135,  136,  135,  136,  135,  136,  135,
+      136,  135,  136,  135,  136,  135,  136,  135,  136,  135,
+      136,  135,  136,  135,  136,  125,  123,  121,  130,  128,
+      132,  127,    1,  122,  131,  107,   36,   70,   52,   71,
+       66,   24,  125,  121,  132,   21,  132,  133,  126,  122,
+
+       53,   65,   34,   37,    3,   55,   80,   85,   83,   84,
+       82,   81,   86,   90,  106,   75,   73,   62,   74,   72,
+       54,   88,   79,   77,   78,   76,   89,   87,   67,  124,
+      132,  132,   64,   91,   69,   58,  114,   61,   68,  115,
+       63,   23,  129,   57,   94,   60,   43,   25,    4,   50,
+       56,   59,   46,   12,   93,  132,   31,    2,    5,   47,
+       96,   42,   49,  116,   92,   22,  113,   39,    7,   48,
+       38,  100,   99,    8,   16,  109,  112,   33,   51,  104,
+       98,  108,   26,   27,   97,  110,  105,  103,    6,   28,
+       95,   32,    9,   18,   10,  101,   11,   45,   44,  102,
 
-       15,   14,   29,   35,   17,  109,  115,  117,  118,   40,
-      116,   19,   41,   20
+       30,   13,   15,   14,   29,   35,   17,  111,  117,  119,
+      120,   40,  118,   19,   41,   20
     } ;
 
-static yyconst short int yy_accept[540] =
+static yyconst short int yy_accept[553] =
     {   0,
         1,    1,    1,    2,    4,    7,    9,   11,   13,   15,
        17,   19,   21,   24,   27,   30,   32,   34,   36,   38,
@@ -360,54 +360,56 @@
        89,   89,   90,   90,   90,   90,   90,   90,   90,   90,
        90,   90,   90,   91,   91,   91,   91,   91,   91,   91,
 
-       92,   92,   92,   92,   92,   92,   92,   92,   92,   92,
-       92,   92,   92,   92,   92,   92,   93,   93,   93,   93,
+       91,   92,   92,   92,   92,   92,   92,   92,   92,   92,
+       92,   92,   92,   92,   92,   92,   92,   93,   93,   93,
        93,   93,   93,   93,   93,   93,   93,   93,   93,   93,
-       93,   93,   94,   95,   96,   97,   98,   98,   99,   99,
-      100,  101,  102,  102,  102,  103,  103,  103,  104,  104,
-      104,  104,  105,  105,  105,  105,  105,  105,  105,  105,
-      105,  106,  106,  106,  106,  106,  106,  106,  106,  106,
+       93,   93,   93,   94,   95,   96,   97,   98,   98,   99,
+       99,  100,  101,  102,  102,  102,  103,  103,  103,  104,
+      104,  104,  104,  105,  105,  105,  105,  105,  105,  105,
+      105,  105,  106,  106,  106,  106,  106,  106,  106,  106,
       106,  106,  106,  106,  106,  106,  106,  106,  106,  106,
-      106,  106,  106,  106,  106,  106,  107,  107,  108,  109,
-      110,  111,  112,  113,  113,  114,  115,  115,  116,  116,
+      106,  106,  106,  106,  106,  106,  106,  107,  107,  107,
+      107,  108,  109,  110,  111,  112,  113,  113,  114,  115,
 
-      116,  116,  116,  116,  117,  118,  119,  119,  119,  119,
-      120,  121,  121,  121,  122,  122,  122,  122,  122,  122,
-      122,  122,  123,  124,  125,  125,  126,  127,  127,  128,
-      129,  129,  129,  129,  129,  129,  129,  129,  129,  130,
-      130,  130,  131,  132,  132,  132,  132,  133,  133,  133,
-      133,  134,  134,  134,  135,  135,  135,  135,  135,  135,
-      135,  135,  135,  135,  135,  135,  135,  135,  136,  137,
-      137,  137,  137,  137,  138,  139,  139,  139,  139,  140,
-      140,  140,  140,  140,  140,  140,  140,  140,  141,  142,
-      142,  142,  143,  143,  143,  144,  145,  145,  145,  146,
-
-      146,  146,  146,  147,  148,  148,  148,  149,  149,  149,
-      150,  150,  151,  152,  152,  152,  152,  152,  153,  153,
-      154,  154,  155,  155,  155,  156,  157,  158,  158,  158,
-      159,  159,  159,  159,  159,  159,  159,  159,  159,  159,
-      159,  159,  159,  160,  160,  161,  162,  162,  162,  162,
-      162,  162,  162,  162,  163,  163,  163,  163,  163,  164,
-      164,  164,  164,  164,  164,  164,  164,  164,  164,  164,
-      165,  165,  165,  165,  166,  166,  167,  167,  167,  167,
-      167,  167,  167,  167,  168,  168,  168,  169,  169,  169,
-      169,  170,  170,  170,  170,  171,  171,  171,  172,  173,
-
-      174,  174,  174,  175,  176,  176,  176,  176,  176,  177,
-      177,  178,  179,  180,  180,  180,  181,  181,  181,  182,
-      183,  184,  185,  186,  186,  187,  188,  188,  188,  188,
-      188,  188,  189,  189,  189,  190,  191,  191,  191,  191,
-      191,  191,  192,  192,  192,  192,  192,  192,  192,  192,
-      193,  193,  193,  193,  193,  193,  193,  193,  193,  194,
-      194,  194,  194,  194,  195,  195,  195,  195,  195,  196,
-      197,  198,  199,  199,  199,  199,  200,  200,  200,  200,
-      201,  201,  202,  203,  203,  203,  203,  203,  203,  203,
-      203,  203,  203,  203,  203,  204,  204,  204,  204,  204,
-
-      204,  204,  205,  205,  205,  205,  205,  206,  206,  206,
-      206,  206,  206,  207,  207,  207,  207,  207,  207,  207,
-      207,  207,  207,  207,  207,  207,  208,  208,  209,  210,
-      210,  211,  211,  212,  213,  214,  214,  215,  215
+      115,  116,  116,  116,  116,  116,  116,  117,  118,  119,
+      119,  119,  119,  120,  121,  121,  121,  122,  122,  122,
+      122,  122,  122,  122,  122,  123,  124,  125,  125,  126,
+      127,  127,  128,  129,  129,  129,  129,  129,  129,  129,
+      129,  129,  130,  130,  130,  131,  132,  132,  132,  132,
+      133,  133,  133,  133,  134,  134,  134,  135,  135,  135,
+      135,  135,  135,  135,  135,  135,  135,  135,  135,  135,
+      135,  136,  137,  137,  137,  137,  137,  138,  139,  139,
+      139,  139,  140,  140,  140,  140,  140,  140,  140,  140,
+      140,  141,  142,  142,  142,  142,  142,  143,  143,  143,
+
+      144,  145,  145,  145,  146,  146,  146,  146,  147,  148,
+      148,  148,  149,  149,  149,  150,  150,  151,  152,  152,
+      152,  152,  152,  153,  153,  154,  154,  155,  155,  155,
+      156,  157,  158,  158,  158,  159,  159,  159,  159,  159,
+      159,  159,  159,  159,  159,  159,  159,  159,  160,  160,
+      161,  162,  162,  162,  162,  162,  162,  162,  162,  163,
+      163,  163,  163,  163,  164,  164,  164,  164,  164,  164,
+      164,  164,  164,  164,  164,  164,  164,  165,  165,  165,
+      165,  166,  166,  167,  167,  167,  167,  167,  167,  167,
+      167,  168,  168,  168,  169,  169,  169,  169,  170,  170,
+
+      170,  170,  171,  171,  171,  172,  173,  174,  174,  174,
+      175,  176,  176,  176,  176,  176,  177,  177,  178,  179,
+      179,  179,  180,  180,  180,  181,  181,  181,  182,  183,
+      184,  185,  186,  186,  187,  188,  188,  188,  188,  188,
+      188,  189,  189,  189,  190,  191,  191,  191,  191,  191,
+      191,  192,  192,  192,  192,  192,  192,  192,  192,  192,
+      192,  193,  193,  193,  193,  193,  193,  193,  193,  193,
+      194,  194,  194,  194,  194,  195,  195,  195,  195,  195,
+      196,  197,  198,  199,  200,  201,  201,  201,  201,  202,
+      202,  202,  202,  203,  203,  204,  205,  205,  205,  205,
+
+      205,  205,  205,  205,  205,  205,  205,  205,  206,  206,
+      206,  206,  206,  206,  206,  207,  207,  207,  207,  207,
+      208,  208,  208,  208,  208,  208,  209,  209,  209,  209,
+      209,  209,  209,  209,  209,  209,  209,  209,  209,  210,
+      210,  211,  212,  212,  213,  213,  214,  215,  216,  216,
+      217,  217
     } ;
 
 static yyconst int yy_ec[256] =
@@ -451,135 +453,137 @@
         4,    4,    4,    4
     } ;
 
-static yyconst short int yy_base[547] =
+static yyconst short int yy_base[560] =
     {   0,
-        0,    0, 1173, 1174, 1174, 1174, 1168, 1157,   35,   39,
+        0,    0, 1199, 1200, 1200, 1200, 1194, 1183,   35,   39,
        43,   49,   55,   61,    0,   72,   64,   67,   66,   86,
-       76,  106,   91,   65,  133,  121,  117,   78,  152,   95,
-       90,  179,  137,  211,  139,   99,  148,  110, 1166, 1174,
-     1155, 1174,    0,   49,  185,  217,   98,  238,  254,  259,
-        0, 1164,    0,  200,  116,  149,  146,  118,  160,   63,
-      154, 1153,  153,  186,  208,  161,  264,  171,  205,  200,
-     1152,  219,  260,  222,  176,  228,  261,  124,  273,  274,
-      231,  269,  278,  279,  280,  281,  282,  290,  232,  202,
-      289,  291, 1151,  292,  294,  301,  309,  310,  312,  305,
-
-      313,  316,  317,  321,  322,  323,  324,  328,  326,  330,
-      332,  337,  345,  329,  346, 1150,  347,  355,  357,  358,
-      359,  362,  363,  380,  364,  241,  377,  370,  113,  366,
-      378, 1149,    0,  399, 1148,  414,  432,    0, 1157, 1174,
-        0, 1146,  382,  365, 1145,  405,  401, 1144,  367,  408,
-      404, 1143,  427,  417,  433,  419,  434,  421,  441,  385,
-     1142,  442,  422,  438,  443,  444,  447,  446,  449,  450,
-      456,  454,  469,  457,  459,  472,  473,  476,  465,  479,
-      480,  481,  485,  487,  488, 1141,  492, 1140, 1139, 1138,
-     1137, 1136, 1135,  491, 1134, 1133,  493, 1132,  522,  496,
-
-      499,  494,  510, 1131, 1130, 1129,  498,  501,  497, 1128,
-     1127,  524,  505, 1126,  514,  535,  537,  536,  540,  542,
-      539, 1125, 1124, 1123,  543, 1122, 1121,  544, 1120, 1119,
-      545,  546,  547,  553,  506,  557,  561,  566, 1118,  567,
-      568, 1174,  581,  576,  585,  597,  602,  587,  603,  588,
-     1117,  589,  604, 1116,  608,  590,  609,  612,  613,  615,
-      617,  619,  621,  620,  622,  623,  624, 1115, 1114,  626,
-      627,  630,  634, 1113, 1112,  638,  635,  639, 1111,  646,
-      640,  643,  644,  648,  647,  657,  658, 1110, 1109,  660,
-      664, 1108,  661,  663,    0, 1107,  669,  668, 1106,  670,
-
-      674,  678, 1105, 1104,  675,  687, 1103,  688,  690, 1102,
-      691, 1101, 1100,  692,  693,  694,  696, 1099,  697, 1098,
-      701, 1097,  705,  707, 1096,  712, 1095,  712,  713, 1094,
-      715,  723,  720,  724,  717,  727,  729,  732,  733,  734,
-      740,  735, 1093,  741, 1092, 1091,  742,  745,  746,  747,
-      750,  751,  748, 1090,  754,  755,  760,  761, 1089,  763,
-      762,  767,  772,  774,  768,  775,  776,  779,  783, 1088,
-      784,  785,  786, 1087,  791, 1086,  793,  789,  794,  800,
-      802,  795,  804, 1085,  807,  805, 1084,  810,  812,  813,
-     1083,  815,  816,  817, 1082,  820,  818, 1081, 1080, 1079,
-
-      824,  827, 1078, 1077,  830,  833,  831,  834, 1076,  839,
-     1075, 1074, 1073,  845,  846, 1072,  849,  850, 1071, 1070,
-     1069, 1068, 1067,  852, 1066, 1065,  851,  848,  853,  854,
-      855, 1064,  856,  857, 1063, 1062,  860,  866,  869,  870,
-      874, 1061,  875,  872,  877,  878,  879,  881,  883, 1060,
-      887,  889,  892,  895,  897,  900,  902,  903, 1059,  904,
-      906,  909,  910, 1058,  911,  914,  912,  918, 1057, 1056,
-     1055, 1054,  924,  917,  916, 1053,  931,  935,  937, 1042,
-      919, 1032, 1031,  938,  940,  922,  942,  945,  947,  949,
-      952,  953,  954,  957, 1030,  956,  958,  960,  961,  964,
-
-      965, 1028,  966,  967,  972,  977, 1027,  969,  978,  981,
-      982,  984, 1025,  990,  986,  987,  991,  992,  996,  997,
-      998,  999, 1004,  672, 1005, 1024, 1008, 1022, 1019, 1010,
-     1017, 1013, 1016,  671,  502, 1011,  458, 1174, 1047, 1049,
-      254, 1054, 1057,  220, 1061,  167
+       76,  106,   91,   65,  133,  121,  117,   99,  152,   95,
+       78,  179,  137,  211,  139,   90,  148,   93, 1192, 1200,
+     1181, 1200,    0,   49,  185,  217,  116,  238,  254,  259,
+        0, 1190,    0,  200,  125,  149,  146,  153,  177,   63,
+      154, 1179,  160,  161,  208,  185,  264,  171,  113,  210,
+     1178,  222,  260,  228,  186,  261,  271,  110,  273,  274,
+      230,  223,  277,  278,  279,  282,  286,  285,  205,  290,
+      287,  292, 1177,  288,  299,  300,  307,  309,  312,  314,
+
+      316,  318,  323,  311,  324,  326,  328,  327,  330,  329,
+      339,  347,  341,  343,  334,  354, 1176,  358,  342,  359,
+      361,  364,  365,  367,  371,  369,  370,  378,  395,  386,
+      385,  387, 1175,    0,  406, 1174,  421,  439,    0, 1183,
+     1200,    0, 1172,  232,  408, 1171,  396,  400, 1170,  397,
+      426,  412, 1169,  414,  424,  440,  413,  430,  441,  442,
+      443, 1168,  445,  448,  449,  454,  451,  453,  458,  460,
+      466,  462,  461,  469,  464,  465,  470,  475,  487,  488,
+      489,  490,  491,  492,  493,  494, 1167,  496,  495,  501,
+     1166, 1165, 1164, 1163, 1162, 1161,  502, 1160, 1159,  498,
+
+     1158,  528,  503,  504,  508,  516, 1157, 1156, 1155,  510,
+      520,  533, 1154, 1153,  541,  542, 1152,  543,  544,  545,
+      546,  551,  549,  547, 1151, 1150, 1149,  553, 1148, 1147,
+      568, 1146, 1145,  570,  548,  554,  550,  574,  575,  576,
+      577, 1144,  579,  563, 1200,  596,  611,  615,  619,  624,
+      584,  588,  585, 1143,  625,  626, 1142,  589,  627,  628,
+      629,  630,  631,  633,  636,  634,  637,  640,  639,  647,
+     1141, 1140,  638,  641,  652,  642, 1139, 1138,  654,  657,
+      656, 1137,  658,  660,  664,  669,  671,  586,  673,  674,
+     1136, 1135,  676,  678,  679,  680, 1134,  681,  682,    0,
+
+     1133,  683,  684, 1132,  685,  688,  699, 1131, 1130,  702,
+      700, 1129,  704,  705, 1128,  709, 1127, 1126,  711,  713,
+      719,  715, 1125,  716, 1124,  718, 1123,  720,  723, 1122,
+      730, 1121,  730,  590, 1120,  732,  739,  734,  735,  744,
+      746,  745,  748,  749,  750,  753,  751, 1119,  754, 1118,
+     1117,  758,  761,  763,  757,  764,  765,  770, 1116,  773,
+      774,  776,  778, 1115,  777,  782,  779,  784,  785,  791,
+      786,  793,  794,  798,  802,  803, 1114,  804,  805,  806,
+     1113,  807, 1112,  811,  815,  808,  821,  822,  810,  825,
+     1111,  826,  830, 1110,  831,  832,  836, 1109,  833,  838,
+
+      839, 1108,  842,  841, 1107, 1106, 1105,  837,  850, 1104,
+     1103,  852,  853,  860,  844, 1102,  851, 1101, 1100,  855,
+      864, 1099,  869,  870, 1098,  871,  872, 1097, 1096, 1095,
+     1094, 1093,  873, 1092, 1091,  874,  875,  876,  878,  879,
+     1090,  880,  884, 1089, 1088,  889,  891,  893,  894,  895,
+     1087,  896,  899,  900,  902,  901,  909,  907,  912,  908,
+     1076,  914,  924,  922,  926,  915,  927,  929,  930, 1066,
+      931,  933,  937,  938, 1065,  943,  944,  941,  945, 1064,
+     1063, 1062, 1059, 1058, 1057,  950,  946,  951, 1056,  963,
+      964,  952, 1054,  949, 1053, 1052,  968,  967,  969,  972,
+
+      975,  976,  979,  980,  981,  982,  983, 1047,  985,  988,
+      986,  990,  991,  994, 1046,  997,  995,  999, 1004,  947,
+     1002, 1008, 1009, 1010, 1016,  687, 1013, 1017, 1019, 1021,
+     1022, 1024, 1026, 1027, 1030, 1034, 1031, 1036,  555, 1037,
+      515,  512, 1040,  463, 1041,  399,  366,  247, 1045,  243,
+     1200, 1081, 1083,  212, 1088, 1091,  167, 1095,  108
     } ;
 
-static yyconst short int yy_def[547] =
+static yyconst short int yy_def[560] =
     {   0,
-      538,    1,  538,  538,  538,  538,  539,  540,  541,  538,
-      540,  540,  540,  540,  542,  543,  540,  540,  540,  540,
-      540,  540,  540,  540,  540,  540,  540,  540,  540,  540,
-      540,  540,  540,  540,  540,  540,  540,  540,  539,  538,
-      540,  538,  544,  538,  538,  540,  540,  540,  540,  540,
-      542,  545,  546,  538,  540,  540,  540,  540,  540,  540,
-      540,  540,  540,  540,  540,  540,  540,  540,  540,  540,
-      540,  540,  540,  540,  540,  540,  540,  540,  540,  540,
-      540,   25,  540,  540,  540,  540,  540,  540,  540,  540,
-      540,  540,  540,  540,  540,  540,  540,  540,  540,  540,
-
-      540,  540,  540,  540,  540,  540,  540,  540,  540,  540,
-      540,  540,  540,  540,  540,  540,  540,  540,  540,  540,
-      540,  540,  540,  540,  540,  540,  540,  540,  540,  540,
-      540,  538,  544,  538,  540,  540,  540,   50,  545,  538,
-      546,  540,  540,  540,  540,  540,  540,  540,  540,  540,
-      540,  540,  540,  540,  540,  540,  540,  540,  540,  540,
-      540,  540,  540,  540,  540,  540,  540,  540,  540,  540,
-      540,  540,  540,  540,  540,  540,  540,  540,  540,  540,
-      540,  540,  540,  540,  540,  540,  540,  540,  540,  540,
-      540,  540,  540,  540,  540,  540,  540,  540,   50,  540,
-
-      540,  540,  540,  540,  540,  540,  540,  540,  540,  540,
-      540,  540,  540,  540,  540,  540,  540,  540,  540,  540,
-      540,  540,  540,  540,  540,  540,  540,  540,  540,  540,
-      540,  540,  540,  540,  540,  540,  540,  540,  540,  540,
-      540,  538,  538,  538,  538,  540,  540,  540,  540,  540,
-      540,  540,  540,  540,  540,  540,  540,  540,  540,  540,
-      540,  540,  540,  540,  540,  540,  540,  540,  540,  540,
-      540,  540,  540,  540,  540,  540,  540,  540,  540,  540,
-      540,  540,  540,  540,  540,  540,  540,  540,  540,  540,
-      540,  540,  540,  540,  199,  540,  540,  540,  540,  540,
-
-      540,  540,  540,  540,  540,  540,  540,  540,  540,  540,
-      540,  540,  540,  540,  540,  540,  540,  540,  540,  540,
-      540,  540,  540,  540,  540,  538,  540,  540,  540,  540,
-      540,  540,  540,  540,  540,  540,  540,  540,  540,  540,
-      540,  540,  540,  540,  540,  540,  540,  540,  540,  540,
-      540,  540,  540,  540,  540,  540,  540,  540,  540,  540,
-      540,  540,  540,  540,  540,  540,  540,  540,  540,  540,
-      540,  540,  540,  540,  540,  540,  540,  540,  540,  540,
-      540,  540,  540,  540,  540,  540,  540,  540,  540,  540,
-      540,  540,  540,  540,  540,  540,  540,  540,  540,  540,
-
-      540,  540,  540,  540,  540,  540,  540,  540,  540,  540,
-      540,  540,  540,  540,  540,  540,  540,  540,  540,  540,
-      540,  540,  540,  540,  540,  540,  540,  540,  540,  540,
-      540,  540,  540,  540,  540,  540,  540,  540,  540,  540,
-      540,  540,  540,  540,  540,  540,  540,  540,  540,  540,
-      540,  540,  540,  540,  540,  540,  540,  540,  540,  540,
-      540,  540,  540,  540,  540,  540,  540,  540,  540,  540,
-      540,  540,  540,  540,  540,  540,  540,  540,  540,  540,
-      540,  540,  540,  540,  540,  540,  540,  540,  540,  540,
-      540,  540,  540,  540,  540,  540,  540,  540,  540,  540,
-
-      540,  540,  540,  540,  540,  540,  540,  540,  540,  540,
-      540,  540,  540,  540,  540,  540,  540,  540,  540,  540,
-      540,  540,  540,  540,  540,  540,  540,  540,  540,  540,
-      540,  540,  540,  540,  540,  540,  540,    0,  538,  538,
-      538,  538,  538,  538,  538,  538
+      551,    1,  551,  551,  551,  551,  552,  553,  554,  551,
+      553,  553,  553,  553,  555,  556,  553,  553,  553,  553,
+      553,  553,  553,  553,  553,  553,  553,  553,  553,  553,
+      553,  553,  553,  553,  553,  553,  553,  553,  552,  551,
+      553,  551,  557,  551,  551,  553,  553,  553,  553,  553,
+      555,  558,  559,  551,  553,  553,  553,  553,  553,  553,
+      553,  553,  553,  553,  553,  553,  553,  553,  553,  553,
+      553,  553,  553,  553,  553,  553,  553,  553,  553,  553,
+      553,   25,  553,  553,  553,  553,  553,  553,  553,  553,
+      553,  553,  553,  553,  553,  553,  553,  553,  553,  553,
+
+      553,  553,  553,  553,  553,  553,  553,  553,  553,  553,
+      553,  553,  553,  553,  553,  553,  553,  553,  553,  553,
+      553,  553,  553,  553,  553,  553,  553,  553,  553,  553,
+      553,  553,  551,  557,  551,  553,  553,  553,   50,  558,
+      551,  559,  553,  553,  553,  553,  553,  553,  553,  553,
+      553,  553,  553,  553,  553,  553,  553,  553,  553,  553,
+      553,  553,  553,  553,  553,  553,  553,  553,  553,  553,
+      553,  553,  553,  553,  553,  553,  553,  553,  553,  553,
+      553,  553,  553,  553,  553,  553,  553,  553,  553,  553,
+      553,  553,  553,  553,  553,  553,  553,  553,  553,  553,
+
+      553,   50,  553,  553,  553,  553,  553,  553,  553,  553,
+      553,  553,  553,  553,  553,  553,  553,  553,  553,  553,
+      553,  553,  553,  553,  553,  553,  553,  553,  553,  553,
+      553,  553,  553,  553,  553,  553,  553,  553,  553,  553,
+      553,  553,  553,  553,  551,  551,  551,  551,  553,  553,
+      553,  553,  553,  553,  553,  553,  553,  553,  553,  553,
+      553,  553,  553,  553,  553,  553,  553,  553,  553,  553,
+      553,  553,  553,  553,  553,  553,  553,  553,  553,  553,
+      553,  553,  553,  553,  553,  553,  553,  553,  553,  553,
+      553,  553,  553,  553,  553,  553,  553,  553,  553,  202,
+
+      553,  553,  553,  553,  553,  553,  553,  553,  553,  553,
+      553,  553,  553,  553,  553,  553,  553,  553,  553,  553,
+      553,  553,  553,  553,  553,  553,  553,  553,  553,  553,
+      551,  553,  553,  553,  553,  553,  553,  553,  553,  553,
+      553,  553,  553,  553,  553,  553,  553,  553,  553,  553,
+      553,  553,  553,  553,  553,  553,  553,  553,  553,  553,
+      553,  553,  553,  553,  553,  553,  553,  553,  553,  553,
+      553,  553,  553,  553,  553,  553,  553,  553,  553,  553,
+      553,  553,  553,  553,  553,  553,  553,  553,  553,  553,
+      553,  553,  553,  553,  553,  553,  553,  553,  553,  553,
+
+      553,  553,  553,  553,  553,  553,  553,  553,  553,  553,
+      553,  553,  553,  553,  553,  553,  553,  553,  553,  553,
+      553,  553,  553,  553,  553,  553,  553,  553,  553,  553,
+      553,  553,  553,  553,  553,  553,  553,  553,  553,  553,
+      553,  553,  553,  553,  553,  553,  553,  553,  553,  553,
+      553,  553,  553,  553,  553,  553,  553,  553,  553,  553,
+      553,  553,  553,  553,  553,  553,  553,  553,  553,  553,
+      553,  553,  553,  553,  553,  553,  553,  553,  553,  553,
+      553,  553,  553,  553,  553,  553,  553,  553,  553,  553,
+      553,  553,  553,  553,  553,  553,  553,  553,  553,  553,
+
+      553,  553,  553,  553,  553,  553,  553,  553,  553,  553,
+      553,  553,  553,  553,  553,  553,  553,  553,  553,  553,
+      553,  553,  553,  553,  553,  553,  553,  553,  553,  553,
+      553,  553,  553,  553,  553,  553,  553,  553,  553,  553,
+      553,  553,  553,  553,  553,  553,  553,  553,  553,  553,
+        0,  551,  551,  551,  551,  551,  551,  551,  551
     } ;
 
-static yyconst short int yy_nxt[1219] =
+static yyconst short int yy_nxt[1245] =
     {   0,
         4,    5,    6,    7,    8,    9,   10,   11,   12,   13,
        14,   14,   14,    4,   15,   16,    8,    8,    8,   17,
@@ -589,135 +593,138 @@
        45,   45,   46,   46,   46,   46,   42,   47,   44,   44,
        44,   44,   42,   48,   49,   49,   49,   49,   42,   48,
        49,   49,   49,   49,   42,   52,   42,   42,   42,   42,
-       42,   54,   54,   54,   54,   63,   55,   64,  149,   42,
+       42,   54,   54,   54,   54,   63,   55,   64,  150,   42,
        60,   42,   81,   56,   61,   57,   50,   58,   65,   42,
 
-       59,   93,   62,   42,   42,   66,  135,   70,   42,   67,
-       71,   42,   42,  103,   79,   68,   94,   72,   69,   42,
-       80,  101,  128,   42,  238,   73,   42,   74,   75,   42,
-       42,   42,  102,  131,   42,   76,   90,   42,  142,   77,
-       86,   78,   82,   82,   82,   82,   42,  170,   87,   91,
-       42,  146,   42,   88,   83,   92,  115,   89,  126,   42,
-      129,   42,   42,   84,   85,   42,   42,   42,  145,  116,
-      141,  127,  117,   42,   42,   95,  143,   96,  144,  118,
-      130,   97,  151,   98,   42,   99,  147,  100,  104,   42,
-      148,  150,   42,  134,   45,   45,   45,   45,  155,   42,
-
-      159,  105,  106,  166,  107,  108,  109,  152,  110,   54,
-       54,   54,   54,   42,  111,   42,  112,  113,   42,  114,
-      104,   42,  161,  133,   42,   48,   46,   46,   46,   46,
-       42,  184,   42,  119,  120,   42,  121,  153,  122,  154,
-      123,   42,  124,  160,   42,   42,  125,  136,  136,  136,
-      136,   42,  165,  173,   42,  137,  162,   43,  183,  234,
-      167,  137,   48,   49,   49,   49,   49,   42,  138,  138,
-      138,  138,   42,   42,   42,  138,  138,   42,  138,  138,
-      138,  138,  138,  138,  168,  156,   42,   42,  157,  163,
-       41,   42,   42,   42,   42,   42,  164,  158,  169,   41,
-
-       41,  180,   42,   42,   42,   42,  172,   42,  174,  182,
-      171,  185,  175,  181,   42,  176,  177,  178,   42,  179,
-      186,  187,   42,   42,  189,   42,   42,  195,  188,   42,
-       42,  194,  191,  193,   42,   42,   42,   42,  190,   42,
-      196,   42,   42,   42,  201,   42,  192,  204,  208,  200,
-       42,  197,  202,  210,  198,  212,  215,  206,   42,   42,
-       42,  205,  199,  209,  203,  214,  207,  211,   42,  213,
-       42,   42,   42,  216,  218,   42,   42,   42,   42,   42,
-       42,  217,  223,   42,  221,  219,  226,  233,  220,  237,
-       42,   42,  222,   42,  252,   42,  224,  249,   42,  225,
-
-      227,  239,  228,  229,  235,  263,  236,  248,  243,  243,
-      243,  243,  230,  240,   42,  231,  244,   42,   42,  241,
-      232,   42,  244,  136,  136,  136,  136,   42,  250,  253,
-       42,  137,   42,  254,   42,   42,  251,  137,  245,  246,
-       42,  247,  247,  247,  247,   42,   42,   42,  258,  255,
-      260,   42,  257,  256,   42,   42,   42,   42,  266,   42,
-       42,  259,   42,   42,  261,  264,  270,   42,  262,   42,
-       42,   42,   42,  274,  277,  267,  268,  265,   42,  276,
-      275,  272,   42,  269,  273,   42,   42,  271,  280,   42,
-      279,  278,   42,   42,   42,  281,  282,  285,   42,  283,
-
-       42,   42,  286,  288,   42,   42,   42,   42,  287,   42,
-       42,   42,   42,  284,   42,   42,  290,  298,   42,   42,
-      289,  292,  300,   42,  301,  293,  291,   42,  320,  302,
-      294,  295,  295,  295,  295,  296,  297,   42,  295,  295,
-      305,  295,  295,  295,  295,  295,  295,  299,   42,   42,
-       42,  306,   42,   42,  303,   42,   42,   42,   42,   42,
-       42,  304,  308,  310,  307,  312,   42,  315,  316,  309,
-       42,  311,  319,  317,   42,  314,  321,  318,  313,   42,
-       42,   42,  245,  245,  323,  326,  326,  326,  326,  322,
-      243,  243,  243,  243,  326,  326,  326,  326,  244,  324,
-
-       42,   42,   42,   42,  244,  325,  247,  247,  247,  247,
-       42,  247,  247,  247,  247,   42,   42,   42,  327,  329,
-      330,   42,   42,  331,  328,   42,   42,  333,   42,  332,
-       42,  335,   42,   42,   42,   42,   42,   42,  334,   42,
-       42,  342,  337,   42,  336,  344,  343,   42,   42,  339,
-      340,   42,   42,   42,  351,  341,   42,   42,  338,   42,
-       42,   42,  352,  345,  346,  354,  347,  350,  348,  353,
-       42,   42,  349,   42,   42,  358,   42,   42,  355,  356,
-      357,   42,   42,   42,   42,   42,  359,   42,   42,  366,
-      360,   42,  361,  362,  367,  364,  365,  368,  370,  363,
-
-       42,   42,  369,   42,   42,   42,   42,   42,  371,   42,
-       42,  372,  374,  377,   42,  532,  375,  376,   42,  373,
-       42,  326,  326,  326,  326,   42,   42,  378,   42,  381,
-       42,  384,  379,   42,  383,  385,   42,   42,  380,  388,
-       42,  382,   42,  389,  387,   42,   42,   42,   42,  392,
-      391,  386,  390,   42,   42,   42,  397,  395,   42,   42,
-       42,   42,  398,   42,   42,  393,  394,   42,   42,  399,
-      402,  396,  400,   42,   42,   42,   42,  401,  405,  403,
-       42,   42,  404,  411,  409,   42,  407,   42,   42,   42,
-      412,  406,   42,  408,  410,  413,   42,   42,   42,   42,
-
-      415,  414,   42,  418,   42,  417,   42,   42,   42,  422,
-      420,  425,  416,   42,  424,   42,  419,   42,   42,  426,
-       42,  428,  421,   42,  423,   42,   42,  427,   42,   42,
-       42,   42,  429,   42,  431,  430,  435,   42,  439,  440,
-       42,  433,  432,   42,   42,  442,   42,   42,  437,  438,
-      446,  436,   42,  444,  434,  441,  445,  443,   42,   42,
-      448,   42,   42,   42,   42,   42,   42,   42,   42,   42,
-       42,  447,  451,   42,  452,  456,  449,  450,  453,   42,
-      454,  457,   42,   42,  455,   42,  458,   42,   42,  460,
-       42,   42,   42,  459,   42,  461,   42,  465,  466,  464,
-
-       42,  462,   42,  467,  471,   42,  468,  469,   42,  463,
-       42,  475,  474,   42,  470,   42,   42,   42,  476,   42,
-      472,  478,   42,   42,   42,   42,  473,   42,  480,   42,
-       42,   42,   42,  484,  477,   42,  491,   42,  490,  479,
-      485,  488,  481,  482,   42,  486,  483,  489,   42,  487,
-       42,   42,  492,   42,  493,   42,  495,  496,   42,  498,
-       42,  499,   42,  497,  494,   42,   42,   42,  501,   42,
-       42,   42,  504,   42,   42,  500,  506,   42,   42,   42,
-       42,  503,   42,  505,  507,   42,  502,  511,  508,  513,
-       42,   42,  517,  509,   42,   42,  514,   42,  510,   42,
-
-       42,  515,  512,   42,   42,   42,  516,  523,  519,   42,
-       42,   42,   42,  520,  524,  518,  521,   42,   42,  522,
-      530,   42,  525,   42,   42,  531,   42,  526,  527,   42,
-       42,  535,   42,  529,  528,   42,  536,   42,   42,  534,
-       42,   42,  533,   42,   42,   42,  537,   39,   39,   39,
-       39,   39,   41,   41,   51,   42,   51,   51,   51,   53,
-       53,  139,  139,  139,  139,  139,   42,   42,   42,   42,
+       59,  104,   62,   42,   42,   66,   42,   70,   42,   67,
+       71,  142,   42,  129,   79,   68,  132,   72,   69,   42,
+       80,  102,   93,   42,  136,   73,   42,   74,   75,   42,
+       42,   94,  103,  171,   42,   76,   90,   95,   42,   77,
+       86,   78,   82,   82,   82,   82,   42,  143,   87,   91,
+       42,  161,   42,   88,   83,   92,  116,   89,  127,   42,
+      130,   42,   42,   84,   85,   42,   42,   42,  146,  117,
+      134,  128,  118,   42,   42,   96,  144,   97,  145,  119,
+      131,   98,  153,   99,   42,  100,  147,  101,  105,  152,
+       42,  151,   42,  135,   45,   45,   45,   45,   42,   42,
+
+      160,  106,  107,  148,  108,  109,  110,  149,  111,   54,
+       54,   54,   54,  167,  112,   43,  113,  114,   42,  115,
+      105,   42,  156,   42,   42,   48,   46,   46,   46,   46,
+       42,  184,  162,  120,  121,   42,  122,  154,  123,  155,
+      124,   42,  125,   42,   41,   42,  126,  137,  137,  137,
+      137,   42,  174,   41,   41,  138,   42,  251,  166,  163,
+       42,  138,   48,   49,   49,   49,   49,   42,  139,  139,
+      139,  139,   42,   42,   42,  139,  139,   42,  139,  139,
+      139,  139,  139,  139,   42,  157,   42,   42,  158,  164,
+       42,   42,   42,  168,  169,   42,  165,  159,   42,   42,
+
+       42,   42,  181,   42,  183,   42,  173,  175,  170,  186,
+      172,  176,   42,   42,  177,  178,  179,  182,  180,  185,
+       42,  187,   42,  188,   42,   42,  189,   42,  190,   42,
+      192,   42,  194,  197,  191,  196,   42,   42,  198,   42,
+       42,   42,   42,   42,  193,  199,  195,   42,  201,  204,
+      207,  211,   42,  203,   42,   42,   42,  205,  200,  209,
+       42,  218,  213,  217,  208,  202,  212,   42,  210,  206,
+      215,   42,   42,  216,   42,  223,  214,   42,   42,   42,
+       42,  219,   42,   42,   42,  221,  224,  226,  237,  220,
+      229,   42,  236,  231,  232,  225,  222,  241,   42,   42,
+
+       42,  227,  228,  233,  230,  238,  234,  239,   42,   42,
+       42,  235,   42,   42,  240,  246,  246,  246,  246,  253,
+      242,   42,  243,  247,  255,   42,   42,   42,  244,  247,
+      137,  137,  137,  137,   42,  254,  258,   42,  138,   42,
+      252,  257,  261,   42,  138,  248,  249,  256,  250,  250,
+      250,  250,   42,   42,   42,   42,   42,  262,   42,  260,
+      259,   42,   42,  266,   42,  264,   42,   42,  267,  265,
+      263,   42,  273,   42,   42,   42,   42,   42,   42,   42,
+      268,  280,   42,   42,  269,  279,  270,  271,   42,  277,
+      272,  281,  275,  284,  283,  276,  278,  282,  285,  274,
+
        42,   42,   42,   42,   42,   42,   42,   42,   42,   42,
+      286,   42,  289,  291,   42,   42,   42,   42,  290,  295,
+      288,   42,  293,   42,  287,   42,  296,  292,   42,   42,
+      297,  303,  294,   42,  305,  299,  298,  300,  300,  300,
+      300,  302,  301,  306,  300,  300,   42,  300,  300,  300,
+      300,  300,  300,  304,   42,   42,   42,   42,   42,   42,
+       42,   42,   42,   42,   42,  307,   42,   42,   42,  324,
+      313,  308,  317,  312,  315,  322,   42,  310,  309,  314,
+      311,   42,  316,   42,  323,  319,  318,   42,   42,   42,
+       42,  320,   42,  321,  326,  328,  325,   42,   42,   42,
+
+      330,   42,   42,   42,  327,  246,  246,  246,  246,  333,
+      337,  329,  392,  247,  363,  332,  334,  248,  248,  247,
+      331,  331,  331,  331,  331,  331,  331,  331,  250,  250,
+      250,  250,   42,  250,  250,  250,  250,   42,   42,   42,
+       42,   42,   42,   42,   42,  336,   42,   42,  340,   42,
+       42,   42,   42,   42,   42,   42,  335,  339,  342,  347,
+       42,  341,  348,  345,  338,   42,  344,   42,  349,   42,
+       42,   42,  346,   42,  343,  350,  356,   42,  351,  357,
+      354,  358,   42,  355,   42,  359,   42,   42,  352,   42,
+      353,   42,   42,   42,   42,   42,   42,   42,   42,  360,
+
+       42,   42,  364,  362,  361,  373,  365,  367,  366,  374,
+      372,  375,   42,   42,  371,   42,  368,   42,   42,  370,
+      369,  378,   42,  376,   42,  377,   42,  379,   42,   42,
+      381,   42,   42,   42,  380,  382,   42,  383,  384,  331,
+      331,  331,  331,   42,  388,   42,  385,   42,   42,  391,
+      390,  386,   42,  395,  396,  387,  389,   42,   42,   42,
+      394,   42,   42,   42,   42,  399,   42,   42,  393,  398,
+       42,   42,  404,  402,   42,  405,   42,   42,   42,  397,
+      409,  400,  401,   42,  403,  406,   42,   42,  407,   42,
+       42,   42,   42,  410,  408,   42,  411,   42,   42,   42,
+
+      412,  416,  419,  418,   42,  414,   42,   42,  417,  415,
+      413,   42,  421,  423,  422,   42,   42,   42,   42,   42,
+       42,   42,  420,   42,   42,  424,  427,  426,   42,  431,
+      429,  425,  433,  435,   42,   42,  428,  434,   42,   42,
+      432,  437,  430,   42,   42,   42,   42,  438,  436,   42,
+       42,   42,   42,  440,   42,   42,  439,   42,  451,  444,
+      448,  449,  442,   42,   42,   42,   42,  441,   42,  445,
+      446,  447,  457,   42,  443,  453,  454,   42,  450,  455,
+      452,  456,   42,   42,   42,   42,   42,   42,   42,   42,
+      458,   42,   42,   42,  462,  459,  463,   42,  467,  464,
+
+      460,  461,   42,  465,   42,  468,   42,   42,   42,   42,
+      469,  466,   42,   42,   42,   42,  471,  470,  476,  477,
+       42,   42,   42,  475,  472,   42,  473,   42,   42,  479,
+      478,  480,  482,  474,  484,   42,  481,   42,  483,   42,
+       42,  488,   42,   42,   42,  485,   42,  487,  491,  489,
+       42,   42,  490,  486,   42,  493,   42,   42,   42,   42,
+       42,  497,   42,   42,   42,   42,  492,  503,  501,  494,
+      495,  504,  498,  502,  496,  499,   42,   42,  500,  507,
+       42,   42,   42,  506,  505,   42,  508,  509,   42,   42,
+      510,  512,   42,   42,   42,   42,   42,  514,   42,   42,
+
+      517,   42,  519,   42,   42,  513,  511,   42,   42,  516,
+       42,  518,   42,  520,  524,   42,  515,   42,  521,  522,
+      526,   42,   42,   42,  527,  530,   42,  523,  528,   42,
+       42,  525,   42,  529,   42,   42,  532,   42,  536,   42,
+       42,  533,  535,   42,   42,  531,  537,   42,  534,   42,
+       42,  543,  538,   42,   42,  544,  540,  539,   42,   42,
+       42,  548,  542,  541,  549,   42,   42,   42,  547,   42,
+       42,   42,   42,  546,  545,   42,   42,   42,   42,   42,
+      550,   39,   39,   39,   39,   39,   41,   41,   51,   42,
+       51,   51,   51,   53,   53,  140,  140,  140,  140,  140,
+
        42,   42,   42,   42,   42,   42,   42,   42,   42,   42,
        42,   42,   42,   42,   42,   42,   42,   42,   42,   42,
-
        42,   42,   42,   42,   42,   42,   42,   42,   42,   42,
        42,   42,   42,   42,   42,   42,   42,   42,   42,   42,
        42,   42,   42,   42,   42,   42,   42,   42,   42,   42,
        42,   42,   42,   42,   42,   42,   42,   42,   42,   42,
        42,   42,   42,   42,   42,   42,   42,   42,   42,   42,
        42,   42,   42,   42,   42,   42,   42,   42,   42,   42,
-      140,   42,  242,   42,   42,   42,   42,  140,   42,  132,
-       42,   40,  538,    3,  538,  538,  538,  538,  538,  538,
-      538,  538,  538,  538,  538,  538,  538,  538,  538,  538,
-      538,  538,  538,  538,  538,  538,  538,  538,  538,  538,
+       42,   42,   42,   42,   42,   42,  141,   42,  245,   42,
+       42,   42,   42,  141,   42,  133,   42,   40,  551,    3,
 
-      538,  538,  538,  538,  538,  538,  538,  538,  538,  538,
-      538,  538,  538,  538,  538,  538,  538,  538
+      551,  551,  551,  551,  551,  551,  551,  551,  551,  551,
+      551,  551,  551,  551,  551,  551,  551,  551,  551,  551,
+      551,  551,  551,  551,  551,  551,  551,  551,  551,  551,
+      551,  551,  551,  551,  551,  551,  551,  551,  551,  551,
+      551,  551,  551,  551
     } ;
 
-static yyconst short int yy_chk[1219] =
+static yyconst short int yy_chk[1245] =
     {   0,
         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
@@ -728,131 +735,134 @@
        44,   44,   12,   13,   13,   13,   13,   13,   13,   14,
        14,   14,   14,   14,   14,   16,   60,   17,   24,   19,
        18,   16,   16,   16,   16,   19,   17,   19,   60,   21,
-       18,   28,   24,   17,   18,   17,   13,   17,   19,   20,
+       18,   31,   24,   17,   18,   17,   13,   17,   19,   20,
 
-       17,   28,   18,   31,   23,   20,   47,   21,   30,   20,
-       21,   47,   36,   31,   23,   20,   28,   21,   20,   22,
-       23,   30,   36,   38,  129,   22,  129,   22,   22,   55,
-       27,   58,   30,   38,   26,   22,   27,   78,   55,   22,
-       26,   22,   25,   25,   25,   25,   25,   78,   26,   27,
-       33,   58,   35,   26,   25,   27,   33,   26,   35,   57,
-       37,   37,   56,   25,   25,   29,   63,   61,   57,   33,
-      546,   35,   33,   59,   66,   29,   56,   29,   56,   33,
-       37,   29,   63,   29,   68,   29,   59,   29,   32,   75,
-       59,   61,   32,   45,   45,   45,   45,   45,   66,   64,
-
-       68,   32,   32,   75,   32,   32,   32,   64,   32,   54,
-       54,   54,   54,   70,   32,   90,   32,   32,   69,   32,
-       34,   65,   70,  544,   34,   46,   46,   46,   46,   46,
-       46,   90,   72,   34,   34,   74,   34,   65,   34,   65,
-       34,   76,   34,   69,   81,   89,   34,   48,   48,   48,
-       48,   48,   74,   81,  126,   48,   72,  541,   89,  126,
-       76,   48,   49,   49,   49,   49,   49,   49,   50,   50,
-       50,   50,   50,   73,   77,   50,   50,   67,   50,   50,
+       17,   31,   18,   36,   23,   20,   38,   21,   30,   20,
+       21,  559,   28,   36,   23,   20,   38,   21,   20,   22,
+       23,   30,   28,   78,   47,   22,   69,   22,   22,   47,
+       27,   28,   30,   78,   26,   22,   27,   28,   55,   22,
+       26,   22,   25,   25,   25,   25,   25,   55,   26,   27,
+       33,   69,   35,   26,   25,   27,   33,   26,   35,   57,
+       37,   37,   56,   25,   25,   29,   58,   61,   57,   33,
+      557,   35,   33,   63,   64,   29,   56,   29,   56,   33,
+       37,   29,   64,   29,   68,   29,   58,   29,   32,   63,
+       59,   61,   32,   45,   45,   45,   45,   45,   66,   75,
+
+       68,   32,   32,   59,   32,   32,   32,   59,   32,   54,
+       54,   54,   54,   75,   32,  554,   32,   32,   89,   32,
+       34,   65,   66,   70,   34,   46,   46,   46,   46,   46,
+       46,   89,   70,   34,   34,   72,   34,   65,   34,   65,
+       34,   74,   34,   81,   82,  144,   34,   48,   48,   48,
+       48,   48,   81,   82,   82,   48,  550,  144,   74,   72,
+      548,   48,   49,   49,   49,   49,   49,   49,   50,   50,
+       50,   50,   50,   73,   76,   50,   50,   67,   50,   50,
        50,   50,   50,   50,   77,   67,   79,   80,   67,   73,
-       82,   83,   84,   85,   86,   87,   73,   67,   77,   82,
-
-       82,   86,   91,   88,   92,   94,   80,   95,   83,   88,
-       79,   91,   84,   87,   96,   85,   85,   85,  100,   85,
-       92,   94,   97,   98,   96,   99,  101,  100,   95,  102,
-      103,   99,   97,   98,  104,  105,  106,  107,   96,  109,
-      101,  108,  114,  110,  106,  111,   97,  107,  109,  105,
-      112,  102,  106,  110,  103,  111,  114,  108,  113,  115,
-      117,  107,  104,  109,  106,  113,  108,  110,  118,  112,
-      119,  120,  121,  115,  117,  122,  123,  125,  144,  130,
-      149,  115,  121,  128,  119,  117,  123,  125,  118,  128,
-      127,  131,  120,  124,  149,  143,  121,  144,  160,  122,
-
-      123,  130,  124,  124,  127,  160,  127,  143,  134,  134,
-      134,  134,  124,  131,  147,  124,  134,  151,  146,  131,
-      124,  150,  134,  136,  136,  136,  136,  136,  146,  150,
-      154,  136,  156,  151,  158,  163,  147,  136,  137,  137,
-      153,  137,  137,  137,  137,  137,  155,  157,  156,  153,
-      158,  164,  155,  154,  159,  162,  165,  166,  163,  168,
-      167,  157,  169,  170,  159,  162,  167,  172,  159,  171,
-      174,  537,  175,  170,  172,  164,  165,  162,  179,  171,
-      170,  169,  173,  166,  169,  176,  177,  168,  175,  178,
-      174,  173,  180,  181,  182,  176,  177,  179,  183,  178,
-
-      184,  185,  180,  182,  194,  187,  197,  202,  181,  200,
-      209,  207,  201,  178,  208,  535,  184,  202,  213,  235,
-      183,  187,  207,  203,  208,  194,  185,  215,  235,  209,
-      197,  199,  199,  199,  199,  200,  201,  212,  199,  199,
-      213,  199,  199,  199,  199,  199,  199,  203,  216,  218,
-      217,  215,  221,  219,  212,  220,  225,  228,  231,  232,
-      233,  212,  217,  219,  216,  220,  234,  228,  231,  218,
-      236,  219,  234,  232,  237,  225,  236,  233,  221,  238,
-      240,  241,  244,  244,  238,  244,  244,  244,  244,  237,
-      243,  243,  243,  243,  245,  245,  245,  245,  243,  240,
-
-      248,  250,  252,  256,  243,  241,  246,  246,  246,  246,
-      246,  247,  247,  247,  247,  247,  249,  253,  248,  250,
-      252,  255,  257,  253,  249,  258,  259,  256,  260,  255,
-      261,  258,  262,  264,  263,  265,  266,  267,  257,  270,
-      271,  265,  260,  272,  259,  267,  266,  273,  277,  262,
-      263,  276,  278,  281,  277,  264,  282,  283,  261,  280,
-      285,  284,  278,  270,  271,  281,  272,  276,  272,  280,
-      286,  287,  273,  290,  293,  285,  294,  291,  282,  283,
-      284,  298,  297,  300,  534,  524,  286,  301,  305,  298,
-      287,  302,  290,  291,  300,  294,  297,  301,  305,  293,
-
-      306,  308,  302,  309,  311,  314,  315,  316,  306,  317,
-      319,  308,  311,  316,  321,  524,  314,  315,  323,  309,
-      324,  326,  326,  326,  326,  328,  329,  317,  331,  323,
-      335,  328,  319,  333,  324,  329,  332,  334,  321,  333,
-      336,  323,  337,  334,  332,  338,  339,  340,  342,  337,
-      336,  331,  335,  341,  344,  347,  342,  340,  348,  349,
-      350,  353,  344,  351,  352,  338,  339,  355,  356,  347,
-      350,  341,  348,  357,  358,  361,  360,  349,  353,  351,
-      362,  365,  352,  361,  358,  363,  356,  364,  366,  367,
-      362,  355,  368,  357,  360,  363,  369,  371,  372,  373,
-
-      365,  364,  378,  368,  375,  367,  377,  379,  382,  373,
-      371,  378,  366,  380,  377,  381,  369,  383,  386,  379,
-      385,  381,  372,  388,  375,  389,  390,  380,  392,  393,
-      394,  397,  382,  396,  385,  383,  390,  401,  396,  396,
-      402,  388,  386,  405,  407,  401,  406,  408,  393,  394,
-      407,  392,  410,  405,  389,  397,  406,  402,  414,  415,
-      410,  428,  417,  418,  427,  424,  429,  430,  431,  433,
-      434,  408,  417,  437,  418,  429,  414,  415,  424,  438,
-      427,  430,  439,  440,  428,  444,  431,  441,  443,  434,
-      445,  446,  447,  433,  448,  437,  449,  441,  443,  440,
-
-      451,  438,  452,  444,  448,  453,  445,  446,  454,  439,
-      455,  453,  452,  456,  447,  457,  458,  460,  454,  461,
-      449,  456,  462,  463,  465,  467,  451,  466,  458,  475,
-      474,  468,  481,  463,  455,  486,  475,  473,  474,  457,
-      465,  468,  460,  461,  477,  466,  462,  473,  478,  467,
-      479,  484,  477,  485,  478,  487,  481,  484,  488,  486,
-      489,  487,  490,  485,  479,  491,  492,  493,  489,  496,
-      494,  497,  492,  498,  499,  488,  494,  500,  501,  503,
-      504,  491,  508,  493,  496,  505,  490,  500,  497,  503,
-      506,  509,  508,  498,  510,  511,  504,  512,  499,  515,
-
-      516,  505,  501,  514,  517,  518,  506,  515,  510,  519,
-      520,  521,  522,  511,  516,  509,  512,  523,  525,  514,
-      522,  527,  517,  530,  536,  523,  532,  518,  519,  533,
-      531,  530,  529,  521,  520,  528,  532,  526,  513,  527,
-      507,  502,  525,  495,  483,  482,  536,  539,  539,  539,
-      539,  539,  540,  540,  542,  480,  542,  542,  542,  543,
-      543,  545,  545,  545,  545,  545,  476,  472,  471,  470,
-      469,  464,  459,  450,  442,  436,  435,  432,  426,  425,
-      423,  422,  421,  420,  419,  416,  413,  412,  411,  409,
-      404,  403,  400,  399,  398,  395,  391,  387,  384,  376,
-
-      374,  370,  359,  354,  346,  345,  343,  330,  327,  325,
-      322,  320,  318,  313,  312,  310,  307,  304,  303,  299,
-      296,  292,  289,  288,  279,  275,  274,  269,  268,  254,
-      251,  239,  230,  229,  227,  226,  224,  223,  222,  214,
-      211,  210,  206,  205,  204,  198,  196,  195,  193,  192,
-      191,  190,  189,  188,  186,  161,  152,  148,  145,  142,
-      139,  135,  132,  116,   93,   71,   62,   52,   41,   39,
-        8,    7,    3,  538,  538,  538,  538,  538,  538,  538,
-      538,  538,  538,  538,  538,  538,  538,  538,  538,  538,
-      538,  538,  538,  538,  538,  538,  538,  538,  538,  538,
+       83,   84,   85,   76,   77,   86,   73,   67,   88,   87,
 
-      538,  538,  538,  538,  538,  538,  538,  538,  538,  538,
-      538,  538,  538,  538,  538,  538,  538,  538
+       91,   94,   86,   90,   88,   92,   80,   83,   77,   91,
+       79,   84,   95,   96,   85,   85,   85,   87,   85,   90,
+       97,   92,   98,   94,  104,   99,   94,  100,   95,  101,
+       97,  102,   98,  100,   96,   99,  103,  105,  101,  106,
+      108,  107,  110,  109,   97,  102,   98,  115,  104,  107,
+      108,  110,  111,  106,  113,  119,  114,  107,  103,  109,
+      112,  115,  111,  114,  108,  105,  110,  116,  109,  107,
+      112,  118,  120,  113,  121,  119,  111,  122,  123,  547,
+      124,  116,  126,  127,  125,  118,  120,  122,  127,  116,
+      124,  128,  126,  125,  125,  121,  118,  130,  131,  130,
+
+      132,  122,  123,  125,  124,  128,  125,  128,  129,  147,
+      150,  125,  546,  148,  129,  135,  135,  135,  135,  147,
+      131,  145,  132,  135,  150,  152,  157,  154,  132,  135,
+      137,  137,  137,  137,  137,  148,  154,  155,  137,  151,
+      145,  152,  157,  158,  137,  138,  138,  151,  138,  138,
+      138,  138,  138,  156,  159,  160,  161,  158,  163,  156,
+      155,  164,  165,  161,  167,  160,  168,  166,  163,  160,
+      159,  169,  168,  170,  173,  172,  544,  175,  176,  171,
+      163,  173,  174,  177,  164,  172,  165,  166,  178,  171,
+      167,  174,  170,  177,  176,  170,  171,  175,  178,  169,
+
+      179,  180,  181,  182,  183,  184,  185,  186,  189,  188,
+      179,  200,  181,  183,  190,  197,  203,  204,  182,  188,
+      180,  205,  185,  210,  179,  542,  189,  184,  541,  206,
+      190,  205,  186,  211,  210,  200,  197,  202,  202,  202,
+      202,  204,  203,  211,  202,  202,  212,  202,  202,  202,
+      202,  202,  202,  206,  215,  216,  218,  219,  220,  221,
+      224,  235,  223,  237,  222,  212,  228,  236,  539,  237,
+      220,  215,  223,  219,  222,  235,  244,  216,  215,  221,
+      218,  231,  222,  234,  236,  228,  224,  238,  239,  240,
+      241,  231,  243,  234,  239,  241,  238,  251,  253,  288,
+
+      244,  252,  258,  334,  240,  246,  246,  246,  246,  252,
+      258,  243,  334,  246,  288,  251,  253,  247,  247,  246,
+      247,  247,  247,  247,  248,  248,  248,  248,  249,  249,
+      249,  249,  249,  250,  250,  250,  250,  250,  255,  256,
+      259,  260,  261,  262,  263,  256,  264,  266,  261,  265,
+      267,  273,  269,  268,  274,  276,  255,  260,  263,  268,
+      270,  262,  269,  266,  259,  275,  265,  279,  270,  281,
+      280,  283,  267,  284,  264,  273,  280,  285,  274,  281,
+      276,  283,  286,  279,  287,  284,  289,  290,  275,  293,
+      275,  294,  295,  296,  298,  299,  302,  303,  305,  285,
+
+      526,  306,  289,  287,  286,  303,  290,  294,  293,  305,
+      302,  306,  307,  311,  299,  310,  295,  313,  314,  298,
+      296,  311,  316,  307,  319,  310,  320,  313,  322,  324,
+      316,  326,  321,  328,  314,  319,  329,  320,  321,  331,
+      331,  331,  331,  333,  328,  336,  322,  338,  339,  333,
+      329,  324,  337,  338,  339,  326,  328,  340,  342,  341,
+      337,  343,  344,  345,  347,  342,  346,  349,  336,  341,
+      355,  352,  347,  345,  353,  349,  354,  356,  357,  340,
+      355,  343,  344,  358,  346,  352,  360,  361,  353,  362,
+      365,  363,  367,  356,  354,  366,  357,  368,  369,  371,
+
+      358,  363,  367,  366,  370,  361,  372,  373,  365,  362,
+      360,  374,  369,  371,  370,  375,  376,  378,  379,  380,
+      382,  386,  368,  389,  384,  372,  375,  374,  385,  380,
+      378,  373,  384,  386,  387,  388,  376,  385,  390,  392,
+      382,  388,  379,  393,  395,  396,  399,  389,  387,  397,
+      408,  400,  401,  392,  404,  403,  390,  415,  408,  397,
+      403,  403,  395,  409,  417,  412,  413,  393,  420,  399,
+      400,  401,  417,  414,  396,  412,  413,  421,  404,  414,
+      409,  415,  423,  424,  426,  427,  433,  436,  437,  438,
+      420,  439,  440,  442,  426,  421,  427,  443,  438,  433,
+
+      423,  424,  446,  436,  447,  439,  448,  449,  450,  452,
+      440,  437,  453,  454,  456,  455,  443,  442,  450,  452,
+      458,  460,  457,  449,  446,  459,  447,  462,  466,  454,
+      453,  455,  457,  448,  459,  464,  456,  463,  458,  465,
+      467,  464,  468,  469,  471,  460,  472,  463,  467,  465,
+      473,  474,  466,  462,  478,  469,  476,  477,  479,  487,
+      520,  474,  494,  486,  488,  492,  468,  487,  479,  471,
+      472,  488,  476,  486,  473,  477,  490,  491,  478,  492,
+      498,  497,  499,  491,  490,  500,  494,  497,  501,  502,
+      498,  500,  503,  504,  505,  506,  507,  502,  509,  511,
+
+      505,  510,  507,  512,  513,  501,  499,  514,  517,  504,
+      516,  506,  518,  509,  513,  521,  503,  519,  510,  511,
+      516,  522,  523,  524,  517,  521,  527,  512,  518,  525,
+      528,  514,  529,  519,  530,  531,  523,  532,  528,  533,
+      534,  524,  527,  535,  537,  522,  529,  536,  525,  538,
+      540,  535,  530,  543,  545,  536,  532,  531,  549,  515,
+      508,  543,  534,  533,  545,  496,  495,  493,  540,  489,
+      485,  484,  483,  538,  537,  482,  481,  480,  475,  470,
+      549,  552,  552,  552,  552,  552,  553,  553,  555,  461,
+      555,  555,  555,  556,  556,  558,  558,  558,  558,  558,
+
+      451,  445,  444,  441,  435,  434,  432,  431,  430,  429,
+      428,  425,  422,  419,  418,  416,  411,  410,  407,  406,
+      405,  402,  398,  394,  391,  383,  381,  377,  364,  359,
+      351,  350,  348,  335,  332,  330,  327,  325,  323,  318,
+      317,  315,  312,  309,  308,  304,  301,  297,  292,  291,
+      282,  278,  277,  272,  271,  257,  254,  242,  233,  232,
+      230,  229,  227,  226,  225,  217,  214,  213,  209,  208,
+      207,  201,  199,  198,  196,  195,  194,  193,  192,  191,
+      187,  162,  153,  149,  146,  143,  140,  136,  133,  117,
+       93,   71,   62,   52,   41,   39,    8,    7,    3,  551,
+
+      551,  551,  551,  551,  551,  551,  551,  551,  551,  551,
+      551,  551,  551,  551,  551,  551,  551,  551,  551,  551,
+      551,  551,  551,  551,  551,  551,  551,  551,  551,  551,
+      551,  551,  551,  551,  551,  551,  551,  551,  551,  551,
+      551,  551,  551,  551
     } ;
 
 static yy_state_type yy_state_buf[YY_BUF_SIZE + 2], *yy_state_ptr;
@@ -1017,7 +1027,7 @@
 /* HexIntConstant - Hexadecimal constant generated by the CFE to avoid forcing
  * it to deal with 64 bit numbers.
  */
-#line 1021 "Lexer.cpp"
+#line 1031 "Lexer.cpp"
 
 /* Macros after this point can all be overridden by user definitions in
  * section 1.
@@ -1171,7 +1181,7 @@
 #line 190 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
 
 
-#line 1175 "Lexer.cpp"
+#line 1185 "Lexer.cpp"
 
 	if ( yy_init )
 		{
@@ -1219,14 +1229,14 @@
 			while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
 				{
 				yy_current_state = (int) yy_def[yy_current_state];
-				if ( yy_current_state >= 539 )
+				if ( yy_current_state >= 552 )
 					yy_c = yy_meta[(unsigned int) yy_c];
 				}
 			yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
 			*yy_state_ptr++ = yy_current_state;
 			++yy_cp;
 			}
-		while ( yy_current_state != 538 );
+		while ( yy_current_state != 551 );
 
 yy_find_action:
 		yy_current_state = *--yy_state_ptr;
@@ -1479,37 +1489,47 @@
 	YY_BREAK
 case 44:
 YY_RULE_SETUP
-#line 239 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
-{ RET_TY(Type::VoidTy,  VOID);  }
+#line 238 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
+{ return NOUNWIND; }
 	YY_BREAK
 case 45:
 YY_RULE_SETUP
-#line 240 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
-{ RET_TY(Type::FloatTy, FLOAT); }
+#line 239 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
+{ return NORETURN; }
 	YY_BREAK
 case 46:
 YY_RULE_SETUP
 #line 241 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
-{ RET_TY(Type::DoubleTy,DOUBLE);}
+{ RET_TY(Type::VoidTy,  VOID);  }
 	YY_BREAK
 case 47:
 YY_RULE_SETUP
 #line 242 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
-{ RET_TY(Type::LabelTy, LABEL); }
+{ RET_TY(Type::FloatTy, FLOAT); }
 	YY_BREAK
 case 48:
 YY_RULE_SETUP
 #line 243 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
-{ return TYPE;   }
+{ RET_TY(Type::DoubleTy,DOUBLE);}
 	YY_BREAK
 case 49:
 YY_RULE_SETUP
 #line 244 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
-{ return OPAQUE; }
+{ RET_TY(Type::LabelTy, LABEL); }
 	YY_BREAK
 case 50:
 YY_RULE_SETUP
 #line 245 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
+{ return TYPE;   }
+	YY_BREAK
+case 51:
+YY_RULE_SETUP
+#line 246 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
+{ return OPAQUE; }
+	YY_BREAK
+case 52:
+YY_RULE_SETUP
+#line 247 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
 { uint64_t NumBits = atoull(yytext+1);
                   if (NumBits < IntegerType::MIN_INT_BITS || 
                       NumBits > IntegerType::MAX_INT_BITS)
@@ -1518,367 +1538,367 @@
                   RET_TY(Ty, INTTYPE);
                 }
 	YY_BREAK
-case 51:
-YY_RULE_SETUP
-#line 253 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
-{ RET_TOK(BinaryOpVal, Add, ADD); }
-	YY_BREAK
-case 52:
-YY_RULE_SETUP
-#line 254 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
-{ RET_TOK(BinaryOpVal, Sub, SUB); }
-	YY_BREAK
 case 53:
 YY_RULE_SETUP
 #line 255 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
-{ RET_TOK(BinaryOpVal, Mul, MUL); }
+{ RET_TOK(BinaryOpVal, Add, ADD); }
 	YY_BREAK
 case 54:
 YY_RULE_SETUP
 #line 256 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
-{ RET_TOK(BinaryOpVal, UDiv, UDIV); }
+{ RET_TOK(BinaryOpVal, Sub, SUB); }
 	YY_BREAK
 case 55:
 YY_RULE_SETUP
 #line 257 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
-{ RET_TOK(BinaryOpVal, SDiv, SDIV); }
+{ RET_TOK(BinaryOpVal, Mul, MUL); }
 	YY_BREAK
 case 56:
 YY_RULE_SETUP
 #line 258 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
-{ RET_TOK(BinaryOpVal, FDiv, FDIV); }
+{ RET_TOK(BinaryOpVal, UDiv, UDIV); }
 	YY_BREAK
 case 57:
 YY_RULE_SETUP
 #line 259 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
-{ RET_TOK(BinaryOpVal, URem, UREM); }
+{ RET_TOK(BinaryOpVal, SDiv, SDIV); }
 	YY_BREAK
 case 58:
 YY_RULE_SETUP
 #line 260 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
-{ RET_TOK(BinaryOpVal, SRem, SREM); }
+{ RET_TOK(BinaryOpVal, FDiv, FDIV); }
 	YY_BREAK
 case 59:
 YY_RULE_SETUP
 #line 261 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
-{ RET_TOK(BinaryOpVal, FRem, FREM); }
+{ RET_TOK(BinaryOpVal, URem, UREM); }
 	YY_BREAK
 case 60:
 YY_RULE_SETUP
 #line 262 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
-{ RET_TOK(BinaryOpVal, Shl, SHL); }
+{ RET_TOK(BinaryOpVal, SRem, SREM); }
 	YY_BREAK
 case 61:
 YY_RULE_SETUP
 #line 263 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
-{ RET_TOK(BinaryOpVal, LShr, LSHR); }
+{ RET_TOK(BinaryOpVal, FRem, FREM); }
 	YY_BREAK
 case 62:
 YY_RULE_SETUP
 #line 264 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
-{ RET_TOK(BinaryOpVal, AShr, ASHR); }
+{ RET_TOK(BinaryOpVal, Shl, SHL); }
 	YY_BREAK
 case 63:
 YY_RULE_SETUP
 #line 265 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
-{ RET_TOK(BinaryOpVal, And, AND); }
+{ RET_TOK(BinaryOpVal, LShr, LSHR); }
 	YY_BREAK
 case 64:
 YY_RULE_SETUP
 #line 266 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
-{ RET_TOK(BinaryOpVal, Or , OR ); }
+{ RET_TOK(BinaryOpVal, AShr, ASHR); }
 	YY_BREAK
 case 65:
 YY_RULE_SETUP
 #line 267 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
-{ RET_TOK(BinaryOpVal, Xor, XOR); }
+{ RET_TOK(BinaryOpVal, And, AND); }
 	YY_BREAK
 case 66:
 YY_RULE_SETUP
 #line 268 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
-{ RET_TOK(OtherOpVal,  ICmp,  ICMP); }
+{ RET_TOK(BinaryOpVal, Or , OR ); }
 	YY_BREAK
 case 67:
 YY_RULE_SETUP
 #line 269 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
-{ RET_TOK(OtherOpVal,  FCmp,  FCMP); }
+{ RET_TOK(BinaryOpVal, Xor, XOR); }
 	YY_BREAK
 case 68:
 YY_RULE_SETUP
-#line 271 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
-{ return EQ;  }
+#line 270 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
+{ RET_TOK(OtherOpVal,  ICmp,  ICMP); }
 	YY_BREAK
 case 69:
 YY_RULE_SETUP
-#line 272 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
-{ return NE;  }
+#line 271 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
+{ RET_TOK(OtherOpVal,  FCmp,  FCMP); }
 	YY_BREAK
 case 70:
 YY_RULE_SETUP
 #line 273 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
-{ return SLT; }
+{ return EQ;  }
 	YY_BREAK
 case 71:
 YY_RULE_SETUP
 #line 274 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
-{ return SGT; }
+{ return NE;  }
 	YY_BREAK
 case 72:
 YY_RULE_SETUP
 #line 275 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
-{ return SLE; }
+{ return SLT; }
 	YY_BREAK
 case 73:
 YY_RULE_SETUP
 #line 276 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
-{ return SGE; }
+{ return SGT; }
 	YY_BREAK
 case 74:
 YY_RULE_SETUP
 #line 277 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
-{ return ULT; }
+{ return SLE; }
 	YY_BREAK
 case 75:
 YY_RULE_SETUP
 #line 278 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
-{ return UGT; }
+{ return SGE; }
 	YY_BREAK
 case 76:
 YY_RULE_SETUP
 #line 279 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
-{ return ULE; }
+{ return ULT; }
 	YY_BREAK
 case 77:
 YY_RULE_SETUP
 #line 280 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
-{ return UGE; }
+{ return UGT; }
 	YY_BREAK
 case 78:
 YY_RULE_SETUP
 #line 281 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
-{ return OEQ; }
+{ return ULE; }
 	YY_BREAK
 case 79:
 YY_RULE_SETUP
 #line 282 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
-{ return ONE; }
+{ return UGE; }
 	YY_BREAK
 case 80:
 YY_RULE_SETUP
 #line 283 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
-{ return OLT; }
+{ return OEQ; }
 	YY_BREAK
 case 81:
 YY_RULE_SETUP
 #line 284 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
-{ return OGT; }
+{ return ONE; }
 	YY_BREAK
 case 82:
 YY_RULE_SETUP
 #line 285 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
-{ return OLE; }
+{ return OLT; }
 	YY_BREAK
 case 83:
 YY_RULE_SETUP
 #line 286 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
-{ return OGE; }
+{ return OGT; }
 	YY_BREAK
 case 84:
 YY_RULE_SETUP
 #line 287 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
-{ return ORD; }
+{ return OLE; }
 	YY_BREAK
 case 85:
 YY_RULE_SETUP
 #line 288 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
-{ return UNO; }
+{ return OGE; }
 	YY_BREAK
 case 86:
 YY_RULE_SETUP
 #line 289 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
-{ return UEQ; }
+{ return ORD; }
 	YY_BREAK
 case 87:
 YY_RULE_SETUP
 #line 290 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
-{ return UNE; }
+{ return UNO; }
 	YY_BREAK
 case 88:
 YY_RULE_SETUP
-#line 292 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
-{ RET_TOK(OtherOpVal, PHI, PHI_TOK); }
+#line 291 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
+{ return UEQ; }
 	YY_BREAK
 case 89:
 YY_RULE_SETUP
-#line 293 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
-{ RET_TOK(OtherOpVal, Call, CALL); }
+#line 292 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
+{ return UNE; }
 	YY_BREAK
 case 90:
 YY_RULE_SETUP
 #line 294 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
-{ RET_TOK(CastOpVal, Trunc, TRUNC); }
+{ RET_TOK(OtherOpVal, PHI, PHI_TOK); }
 	YY_BREAK
 case 91:
 YY_RULE_SETUP
 #line 295 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
-{ RET_TOK(CastOpVal, ZExt, ZEXT); }
+{ RET_TOK(OtherOpVal, Call, CALL); }
 	YY_BREAK
 case 92:
 YY_RULE_SETUP
 #line 296 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
-{ RET_TOK(CastOpVal, SExt, SEXT); }
+{ RET_TOK(CastOpVal, Trunc, TRUNC); }
 	YY_BREAK
 case 93:
 YY_RULE_SETUP
 #line 297 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
-{ RET_TOK(CastOpVal, FPTrunc, FPTRUNC); }
+{ RET_TOK(CastOpVal, ZExt, ZEXT); }
 	YY_BREAK
 case 94:
 YY_RULE_SETUP
 #line 298 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
-{ RET_TOK(CastOpVal, FPExt, FPEXT); }
+{ RET_TOK(CastOpVal, SExt, SEXT); }
 	YY_BREAK
 case 95:
 YY_RULE_SETUP
 #line 299 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
-{ RET_TOK(CastOpVal, UIToFP, UITOFP); }
+{ RET_TOK(CastOpVal, FPTrunc, FPTRUNC); }
 	YY_BREAK
 case 96:
 YY_RULE_SETUP
 #line 300 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
-{ RET_TOK(CastOpVal, SIToFP, SITOFP); }
+{ RET_TOK(CastOpVal, FPExt, FPEXT); }
 	YY_BREAK
 case 97:
 YY_RULE_SETUP
 #line 301 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
-{ RET_TOK(CastOpVal, FPToUI, FPTOUI); }
+{ RET_TOK(CastOpVal, UIToFP, UITOFP); }
 	YY_BREAK
 case 98:
 YY_RULE_SETUP
 #line 302 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
-{ RET_TOK(CastOpVal, FPToSI, FPTOSI); }
+{ RET_TOK(CastOpVal, SIToFP, SITOFP); }
 	YY_BREAK
 case 99:
 YY_RULE_SETUP
 #line 303 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
-{ RET_TOK(CastOpVal, IntToPtr, INTTOPTR); }
+{ RET_TOK(CastOpVal, FPToUI, FPTOUI); }
 	YY_BREAK
 case 100:
 YY_RULE_SETUP
 #line 304 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
-{ RET_TOK(CastOpVal, PtrToInt, PTRTOINT); }
+{ RET_TOK(CastOpVal, FPToSI, FPTOSI); }
 	YY_BREAK
 case 101:
 YY_RULE_SETUP
 #line 305 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
-{ RET_TOK(CastOpVal, BitCast, BITCAST); }
+{ RET_TOK(CastOpVal, IntToPtr, INTTOPTR); }
 	YY_BREAK
 case 102:
 YY_RULE_SETUP
 #line 306 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
-{ RET_TOK(OtherOpVal, Select, SELECT); }
+{ RET_TOK(CastOpVal, PtrToInt, PTRTOINT); }
 	YY_BREAK
 case 103:
 YY_RULE_SETUP
 #line 307 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
-{ RET_TOK(OtherOpVal, VAArg , VAARG); }
+{ RET_TOK(CastOpVal, BitCast, BITCAST); }
 	YY_BREAK
 case 104:
 YY_RULE_SETUP
 #line 308 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
-{ RET_TOK(TermOpVal, Ret, RET); }
+{ RET_TOK(OtherOpVal, Select, SELECT); }
 	YY_BREAK
 case 105:
 YY_RULE_SETUP
 #line 309 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
-{ RET_TOK(TermOpVal, Br, BR); }
+{ RET_TOK(OtherOpVal, VAArg , VAARG); }
 	YY_BREAK
 case 106:
 YY_RULE_SETUP
 #line 310 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
-{ RET_TOK(TermOpVal, Switch, SWITCH); }
+{ RET_TOK(TermOpVal, Ret, RET); }
 	YY_BREAK
 case 107:
 YY_RULE_SETUP
 #line 311 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
-{ RET_TOK(TermOpVal, Invoke, INVOKE); }
+{ RET_TOK(TermOpVal, Br, BR); }
 	YY_BREAK
 case 108:
 YY_RULE_SETUP
 #line 312 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
-{ RET_TOK(TermOpVal, Unwind, UNWIND); }
+{ RET_TOK(TermOpVal, Switch, SWITCH); }
 	YY_BREAK
 case 109:
 YY_RULE_SETUP
 #line 313 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
-{ RET_TOK(TermOpVal, Unreachable, UNREACHABLE); }
+{ RET_TOK(TermOpVal, Invoke, INVOKE); }
 	YY_BREAK
 case 110:
 YY_RULE_SETUP
-#line 315 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
-{ RET_TOK(MemOpVal, Malloc, MALLOC); }
+#line 314 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
+{ RET_TOK(TermOpVal, Unwind, UNWIND); }
 	YY_BREAK
 case 111:
 YY_RULE_SETUP
-#line 316 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
-{ RET_TOK(MemOpVal, Alloca, ALLOCA); }
+#line 315 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
+{ RET_TOK(TermOpVal, Unreachable, UNREACHABLE); }
 	YY_BREAK
 case 112:
 YY_RULE_SETUP
 #line 317 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
-{ RET_TOK(MemOpVal, Free, FREE); }
+{ RET_TOK(MemOpVal, Malloc, MALLOC); }
 	YY_BREAK
 case 113:
 YY_RULE_SETUP
 #line 318 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
-{ RET_TOK(MemOpVal, Load, LOAD); }
+{ RET_TOK(MemOpVal, Alloca, ALLOCA); }
 	YY_BREAK
 case 114:
 YY_RULE_SETUP
 #line 319 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
-{ RET_TOK(MemOpVal, Store, STORE); }
+{ RET_TOK(MemOpVal, Free, FREE); }
 	YY_BREAK
 case 115:
 YY_RULE_SETUP
 #line 320 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
-{ RET_TOK(MemOpVal, GetElementPtr, GETELEMENTPTR); }
+{ RET_TOK(MemOpVal, Load, LOAD); }
 	YY_BREAK
 case 116:
 YY_RULE_SETUP
-#line 322 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
-{ RET_TOK(OtherOpVal, ExtractElement, EXTRACTELEMENT); }
+#line 321 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
+{ RET_TOK(MemOpVal, Store, STORE); }
 	YY_BREAK
 case 117:
 YY_RULE_SETUP
-#line 323 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
-{ RET_TOK(OtherOpVal, InsertElement, INSERTELEMENT); }
+#line 322 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
+{ RET_TOK(MemOpVal, GetElementPtr, GETELEMENTPTR); }
 	YY_BREAK
 case 118:
 YY_RULE_SETUP
 #line 324 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
-{ RET_TOK(OtherOpVal, ShuffleVector, SHUFFLEVECTOR); }
+{ RET_TOK(OtherOpVal, ExtractElement, EXTRACTELEMENT); }
 	YY_BREAK
 case 119:
 YY_RULE_SETUP
-#line 327 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
+#line 325 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
+{ RET_TOK(OtherOpVal, InsertElement, INSERTELEMENT); }
+	YY_BREAK
+case 120:
+YY_RULE_SETUP
+#line 326 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
+{ RET_TOK(OtherOpVal, ShuffleVector, SHUFFLEVECTOR); }
+	YY_BREAK
+case 121:
+YY_RULE_SETUP
+#line 329 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
 {
                   UnEscapeLexed(yytext+1);
                   llvmAsmlval.StrVal = strdup(yytext+1);             // Skip %
                   return LOCALVAR;
                 }
 	YY_BREAK
-case 120:
+case 122:
 YY_RULE_SETUP
-#line 332 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
+#line 334 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
 {
                   UnEscapeLexed(yytext+1);
                   llvmAsmlval.StrVal = strdup(yytext+1);             // Skip @
                   return GLOBALVAR;
                 }
 	YY_BREAK
-case 121:
+case 123:
 YY_RULE_SETUP
-#line 337 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
+#line 339 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
 {
                   yytext[strlen(yytext)-1] = 0;  // nuke colon
                   UnEscapeLexed(yytext);
@@ -1886,9 +1906,9 @@
                   return LABELSTR;
                 }
 	YY_BREAK
-case 122:
+case 124:
 YY_RULE_SETUP
-#line 343 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
+#line 345 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
 {
                   yytext[strlen(yytext)-2] = 0;  // nuke colon, end quote
                   UnEscapeLexed(yytext+1);
@@ -1896,9 +1916,9 @@
                   return LABELSTR;
                 }
 	YY_BREAK
-case 123:
+case 125:
 YY_RULE_SETUP
-#line 350 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
+#line 352 "/proj/llvm/llvm-1/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
@@ -1909,18 +1929,18 @@
                    return STRINGCONSTANT;
                  }
 	YY_BREAK
-case 124:
+case 126:
 YY_RULE_SETUP
-#line 359 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
+#line 361 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
 {
                      yytext[strlen(yytext)-1] = 0;           // nuke end quote
                      llvmAsmlval.StrVal = strdup(yytext+2);  // Nuke @, quote
                      return ATSTRINGCONSTANT;
                    }
 	YY_BREAK
-case 125:
+case 127:
 YY_RULE_SETUP
-#line 365 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
+#line 367 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
 { int len = strlen(yytext); 
                   uint32_t numBits = ((len * 64) / 19) + 1;
                   APInt Tmp(numBits, yytext, len, 10);
@@ -1936,9 +1956,9 @@
                   }
                 }
 	YY_BREAK
-case 126:
+case 128:
 YY_RULE_SETUP
-#line 379 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
+#line 381 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
 { int len = strlen(yytext); 
                   uint32_t numBits = (((len-1) * 64) / 19) + 2;
                   APInt Tmp(numBits, yytext, len, 10);
@@ -1954,9 +1974,9 @@
                   }
                 }
 	YY_BREAK
-case 127:
+case 129:
 YY_RULE_SETUP
-#line 394 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
+#line 396 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
 { int len = strlen(yytext+3) - 3;
                    uint32_t bits = len * 4;
                    APInt Tmp(bits, yytext+3, len, 16);
@@ -1975,9 +1995,9 @@
                    }
                  }
 	YY_BREAK
-case 128:
+case 130:
 YY_RULE_SETUP
-#line 412 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
+#line 414 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
 {
                   uint64_t Val = atoull(yytext+1);
                   if ((unsigned)Val != Val)
@@ -1986,9 +2006,9 @@
                   return LOCALVAL_ID;
                 }
 	YY_BREAK
-case 129:
+case 131:
 YY_RULE_SETUP
-#line 419 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
+#line 421 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
 {
                   uint64_t Val = atoull(yytext+1);
                   if ((unsigned)Val != Val)
@@ -1997,18 +2017,18 @@
                   return GLOBALVAL_ID;
                 }
 	YY_BREAK
-case 130:
+case 132:
 YY_RULE_SETUP
-#line 427 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
+#line 429 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
 { llvmAsmlval.FPVal = atof(yytext); return FPVAL; }
 	YY_BREAK
-case 131:
+case 133:
 YY_RULE_SETUP
-#line 428 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
+#line 430 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
 { llvmAsmlval.FPVal = HexToFP(yytext); return FPVAL; }
 	YY_BREAK
 case YY_STATE_EOF(INITIAL):
-#line 430 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
+#line 432 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
 {
                   /* Make sure to free the internal buffers for flex when we are
                    * done reading our input!
@@ -2017,22 +2037,22 @@
                   return EOF;
                 }
 	YY_BREAK
-case 132:
+case 134:
 YY_RULE_SETUP
-#line 438 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
+#line 440 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
 { /* Ignore whitespace */ }
 	YY_BREAK
-case 133:
+case 135:
 YY_RULE_SETUP
-#line 439 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
+#line 441 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
 { return yytext[0]; }
 	YY_BREAK
-case 134:
+case 136:
 YY_RULE_SETUP
-#line 441 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
+#line 443 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
 YY_FATAL_ERROR( "flex scanner jammed" );
 	YY_BREAK
-#line 2036 "Lexer.cpp"
+#line 2056 "Lexer.cpp"
 
 	case YY_END_OF_BUFFER:
 		{
@@ -2319,7 +2339,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 >= 539 )
+			if ( yy_current_state >= 552 )
 				yy_c = yy_meta[(unsigned int) yy_c];
 			}
 		yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
@@ -2349,11 +2369,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 >= 539 )
+		if ( yy_current_state >= 552 )
 			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 == 538);
+	yy_is_jam = (yy_current_state == 551);
 	if ( ! yy_is_jam )
 		*yy_state_ptr++ = yy_current_state;
 
@@ -2910,5 +2930,5 @@
 	return 0;
 	}
 #endif
-#line 441 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
+#line 443 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
 


Index: llvm/lib/AsmParser/Lexer.l.cvs
diff -u llvm/lib/AsmParser/Lexer.l.cvs:1.27 llvm/lib/AsmParser/Lexer.l.cvs:1.28
--- llvm/lib/AsmParser/Lexer.l.cvs:1.27	Fri Mar  9 15:19:09 2007
+++ llvm/lib/AsmParser/Lexer.l.cvs	Wed Mar 21 21:14:08 2007
@@ -235,6 +235,8 @@
 
 inreg           { return INREG; }
 sret            { return SRET;  }
+nounwind        { return NOUNWIND; }
+noreturn        { return NORETURN; }
 
 void            { RET_TY(Type::VoidTy,  VOID);  }
 float           { RET_TY(Type::FloatTy, FLOAT); }


Index: llvm/lib/AsmParser/llvmAsmParser.cpp.cvs
diff -u llvm/lib/AsmParser/llvmAsmParser.cpp.cvs:1.76 llvm/lib/AsmParser/llvmAsmParser.cpp.cvs:1.77
--- llvm/lib/AsmParser/llvmAsmParser.cpp.cvs:1.76	Tue Mar 20 12:19:31 2007
+++ llvm/lib/AsmParser/llvmAsmParser.cpp.cvs	Wed Mar 21 21:14:08 2007
@@ -193,8 +193,9 @@
      NORETURN = 384,
      INREG = 385,
      SRET = 386,
-     DEFAULT = 387,
-     HIDDEN = 388
+     NOUNWIND = 387,
+     DEFAULT = 388,
+     HIDDEN = 389
    };
 #endif
 /* Tokens.  */
@@ -327,8 +328,9 @@
 #define NORETURN 384
 #define INREG 385
 #define SRET 386
-#define DEFAULT 387
-#define HIDDEN 388
+#define NOUNWIND 387
+#define DEFAULT 388
+#define HIDDEN 389
 
 
 
@@ -1327,7 +1329,7 @@
   llvm::FCmpInst::Predicate         FPredicate;
 } YYSTYPE;
 /* Line 196 of yacc.c.  */
-#line 1331 "llvmAsmParser.tab.c"
+#line 1333 "llvmAsmParser.tab.c"
 # define yystype YYSTYPE /* obsolescent; will be withdrawn */
 # define YYSTYPE_IS_DECLARED 1
 # define YYSTYPE_IS_TRIVIAL 1
@@ -1339,7 +1341,7 @@
 
 
 /* Line 219 of yacc.c.  */
-#line 1343 "llvmAsmParser.tab.c"
+#line 1345 "llvmAsmParser.tab.c"
 
 #if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__)
 # define YYSIZE_T __SIZE_TYPE__
@@ -1490,20 +1492,20 @@
 /* YYFINAL -- State number of the termination state. */
 #define YYFINAL  40
 /* YYLAST -- Last index in YYTABLE.  */
-#define YYLAST   1429
+#define YYLAST   1434
 
 /* YYNTOKENS -- Number of terminals. */
-#define YYNTOKENS  148
+#define YYNTOKENS  149
 /* YYNNTS -- Number of nonterminals. */
 #define YYNNTS  78
 /* YYNRULES -- Number of rules. */
-#define YYNRULES  286
+#define YYNRULES  287
 /* YYNRULES -- Number of states. */
-#define YYNSTATES  559
+#define YYNSTATES  560
 
 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
 #define YYUNDEFTOK  2
-#define YYMAXUTOK   388
+#define YYMAXUTOK   389
 
 #define YYTRANSLATE(YYX)						\
   ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
@@ -1515,15 +1517,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,
-     138,   139,   136,     2,   135,     2,     2,     2,     2,     2,
+     139,   140,   137,     2,   136,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     143,   134,   144,     2,     2,     2,     2,     2,     2,     2,
+     144,   135,   145,     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,   140,   137,   142,     2,     2,     2,     2,     2,   147,
+       2,   141,   138,   143,     2,     2,     2,     2,     2,   148,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     141,     2,     2,   145,     2,   146,     2,     2,     2,     2,
+     142,     2,     2,   146,     2,   147,     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,
@@ -1549,7 +1551,7 @@
       95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
      105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
      115,   116,   117,   118,   119,   120,   121,   122,   123,   124,
-     125,   126,   127,   128,   129,   130,   131,   132,   133
+     125,   126,   127,   128,   129,   130,   131,   132,   133,   134
 };
 
 #if YYDEBUG
@@ -1567,31 +1569,31 @@
      138,   140,   142,   144,   146,   148,   150,   151,   153,   154,
      156,   158,   159,   161,   163,   165,   167,   168,   170,   172,
      174,   176,   178,   181,   183,   185,   187,   189,   190,   193,
-     195,   197,   198,   201,   202,   205,   206,   210,   213,   214,
-     216,   217,   221,   223,   226,   228,   230,   232,   234,   236,
-     238,   241,   243,   246,   252,   258,   264,   270,   274,   277,
-     283,   288,   291,   293,   295,   297,   301,   303,   307,   309,
-     310,   312,   316,   321,   325,   329,   334,   339,   343,   350,
-     356,   359,   362,   365,   368,   371,   374,   377,   380,   383,
-     386,   389,   392,   399,   405,   414,   421,   428,   436,   444,
-     451,   460,   469,   473,   475,   477,   479,   481,   482,   484,
-     487,   488,   492,   493,   497,   501,   503,   507,   511,   512,
-     519,   520,   528,   529,   537,   540,   544,   546,   550,   554,
-     558,   562,   564,   565,   571,   575,   577,   581,   583,   584,
-     594,   596,   598,   603,   605,   607,   610,   614,   615,   617,
-     619,   621,   623,   625,   627,   629,   631,   633,   637,   639,
-     645,   647,   649,   651,   653,   655,   657,   660,   663,   666,
-     670,   673,   674,   676,   679,   682,   686,   696,   706,   715,
-     730,   732,   734,   741,   747,   750,   757,   765,   769,   775,
-     776,   777,   781,   784,   786,   792,   798,   805,   812,   817,
-     824,   829,   834,   841,   848,   851,   860,   862,   864,   865,
-     869,   876,   880,   887,   890,   895,   902
+     195,   197,   199,   200,   203,   204,   207,   208,   212,   215,
+     216,   218,   219,   223,   225,   228,   230,   232,   234,   236,
+     238,   240,   243,   245,   248,   254,   260,   266,   272,   276,
+     279,   285,   290,   293,   295,   297,   299,   303,   305,   309,
+     311,   312,   314,   318,   323,   327,   331,   336,   341,   345,
+     352,   358,   361,   364,   367,   370,   373,   376,   379,   382,
+     385,   388,   391,   394,   401,   407,   416,   423,   430,   438,
+     446,   453,   462,   471,   475,   477,   479,   481,   483,   484,
+     486,   489,   490,   494,   495,   499,   503,   505,   509,   513,
+     514,   521,   522,   530,   531,   539,   542,   546,   548,   552,
+     556,   560,   564,   566,   567,   573,   577,   579,   583,   585,
+     586,   596,   598,   600,   605,   607,   609,   612,   616,   617,
+     619,   621,   623,   625,   627,   629,   631,   633,   635,   639,
+     641,   647,   649,   651,   653,   655,   657,   659,   662,   665,
+     668,   672,   675,   676,   678,   681,   684,   688,   698,   708,
+     717,   732,   734,   736,   743,   749,   752,   759,   767,   771,
+     777,   778,   779,   783,   786,   788,   794,   800,   807,   814,
+     819,   826,   831,   836,   843,   850,   853,   862,   864,   866,
+     867,   871,   878,   882,   889,   892,   897,   904
 };
 
 /* YYRHS -- A `-1'-separated list of the rules' RHS. */
 static const short int yyrhs[] =
 {
-     188,     0,    -1,    68,    -1,    69,    -1,    70,    -1,    71,
+     189,     0,    -1,    68,    -1,    69,    -1,    70,    -1,    71,
       -1,    72,    -1,    73,    -1,    74,    -1,    75,    -1,    76,
       -1,    80,    -1,    81,    -1,    82,    -1,    77,    -1,    78,
       -1,    79,    -1,   111,    -1,   112,    -1,   113,    -1,   114,
@@ -1602,86 +1604,86 @@
       -1,    97,    -1,    98,    -1,    99,    -1,   100,    -1,   101,
       -1,   102,    -1,   103,    -1,   104,    -1,    91,    -1,    92,
       -1,    93,    -1,    94,    -1,    23,    -1,    24,    -1,    11,
-      -1,    12,    -1,    13,    -1,    16,    -1,    19,    -1,   156,
-      -1,    -1,   156,   134,    -1,    -1,    17,    -1,    20,    -1,
-     159,   134,    -1,    -1,    37,    -1,    39,    -1,    38,    -1,
+      -1,    12,    -1,    13,    -1,    16,    -1,    19,    -1,   157,
+      -1,    -1,   157,   135,    -1,    -1,    17,    -1,    20,    -1,
+     160,   135,    -1,    -1,    37,    -1,    39,    -1,    38,    -1,
       40,    -1,    42,    -1,    41,    -1,    43,    -1,    45,    -1,
-      -1,   133,    -1,    -1,    41,    -1,    43,    -1,    -1,    37,
+      -1,   134,    -1,    -1,    41,    -1,    43,    -1,    -1,    37,
       -1,    38,    -1,    39,    -1,    42,    -1,    -1,    56,    -1,
       57,    -1,    58,    -1,    59,    -1,    60,    -1,    55,     4,
       -1,   112,    -1,   113,    -1,   130,    -1,   131,    -1,    -1,
-     168,   167,    -1,   129,    -1,   167,    -1,    -1,   170,   169,
-      -1,    -1,    48,     4,    -1,    -1,   135,    48,     4,    -1,
-      31,    19,    -1,    -1,   173,    -1,    -1,   135,   176,   175,
-      -1,   173,    -1,    48,     4,    -1,    11,    -1,    12,    -1,
-      13,    -1,    14,    -1,    44,    -1,   177,    -1,   178,   136,
-      -1,   210,    -1,   137,     4,    -1,   178,   138,   182,   139,
-     170,    -1,    10,   138,   182,   139,   170,    -1,   140,     4,
-     141,   178,   142,    -1,   143,     4,   141,   178,   144,    -1,
-     145,   183,   146,    -1,   145,   146,    -1,   143,   145,   183,
-     146,   144,    -1,   143,   145,   146,   144,    -1,   178,   168,
-      -1,   178,    -1,    10,    -1,   179,    -1,   181,   135,   179,
-      -1,   181,    -1,   181,   135,    34,    -1,    34,    -1,    -1,
-     178,    -1,   183,   135,   178,    -1,   178,   140,   186,   142,
-      -1,   178,   140,   142,    -1,   178,   147,    19,    -1,   178,
-     143,   186,   144,    -1,   178,   145,   186,   146,    -1,   178,
-     145,   146,    -1,   178,   143,   145,   186,   146,   144,    -1,
-     178,   143,   145,   146,   144,    -1,   178,    35,    -1,   178,
-      36,    -1,   178,   210,    -1,   178,   185,    -1,   178,    22,
-      -1,   154,     3,    -1,   154,     5,    -1,   154,     4,    -1,
-     154,     6,    -1,    11,    23,    -1,    11,    24,    -1,   155,
-       9,    -1,   151,   138,   184,    33,   178,   139,    -1,   110,
-     138,   184,   221,   139,    -1,   124,   138,   184,   135,   184,
-     135,   184,   139,    -1,   149,   138,   184,   135,   184,   139,
-      -1,   150,   138,   184,   135,   184,   139,    -1,    83,   152,
-     138,   184,   135,   184,   139,    -1,    84,   153,   138,   184,
-     135,   184,   139,    -1,   126,   138,   184,   135,   184,   139,
-      -1,   127,   138,   184,   135,   184,   135,   184,   139,    -1,
-     128,   138,   184,   135,   184,   135,   184,   139,    -1,   186,
-     135,   184,    -1,   184,    -1,    29,    -1,    30,    -1,   189,
-      -1,    -1,   190,    -1,   189,   190,    -1,    -1,    28,   191,
-     206,    -1,    -1,    27,   192,   207,    -1,    53,    52,   196,
-      -1,    21,    -1,   158,    15,   178,    -1,   158,    15,    10,
-      -1,    -1,   160,   163,   187,   184,   193,   175,    -1,    -1,
-     160,   161,   163,   187,   184,   194,   175,    -1,    -1,   160,
-     162,   163,   187,   178,   195,   175,    -1,    46,   197,    -1,
-      49,   134,   198,    -1,    19,    -1,    47,   134,    19,    -1,
-      61,   134,    19,    -1,   140,   199,   142,    -1,   199,   135,
-      19,    -1,    19,    -1,    -1,   200,   135,   178,   168,   157,
-      -1,   178,   168,   157,    -1,   200,    -1,   200,   135,    34,
-      -1,    34,    -1,    -1,   166,   180,   159,   138,   201,   139,
-     170,   174,   171,    -1,    25,    -1,   145,    -1,   165,   163,
-     202,   203,    -1,    26,    -1,   146,    -1,   213,   205,    -1,
-     164,   163,   202,    -1,    -1,    54,    -1,     3,    -1,     4,
-      -1,     9,    -1,    23,    -1,    24,    -1,    35,    -1,    36,
-      -1,    22,    -1,   143,   186,   144,    -1,   185,    -1,    52,
-     208,    19,   135,    19,    -1,     7,    -1,     8,    -1,   156,
-      -1,   159,    -1,   210,    -1,   209,    -1,   178,   211,    -1,
-     213,   214,    -1,   204,   214,    -1,   215,   158,   216,    -1,
-     215,   218,    -1,    -1,    18,    -1,    62,   212,    -1,    62,
-      10,    -1,    63,    14,   211,    -1,    63,    11,   211,   135,
-      14,   211,   135,    14,   211,    -1,    64,   154,   211,   135,
-      14,   211,   140,   217,   142,    -1,    64,   154,   211,   135,
-      14,   211,   140,   142,    -1,    65,   166,   180,   211,   138,
-     220,   139,   170,    33,    14,   211,    66,    14,   211,    -1,
-      66,    -1,    67,    -1,   217,   154,   209,   135,    14,   211,
-      -1,   154,   209,   135,    14,   211,    -1,   158,   223,    -1,
-     178,   140,   211,   135,   211,   142,    -1,   219,   135,   140,
-     211,   135,   211,   142,    -1,   178,   211,   168,    -1,   220,
-     135,   178,   211,   168,    -1,    -1,    -1,   221,   135,   212,
-      -1,    51,    50,    -1,    50,    -1,   149,   178,   211,   135,
-     211,    -1,   150,   178,   211,   135,   211,    -1,    83,   152,
-     178,   211,   135,   211,    -1,    84,   153,   178,   211,   135,
-     211,    -1,   151,   212,    33,   178,    -1,   124,   212,   135,
-     212,   135,   212,    -1,   125,   212,   135,   178,    -1,   126,
-     212,   135,   212,    -1,   127,   212,   135,   212,   135,   212,
-      -1,   128,   212,   135,   212,   135,   212,    -1,   123,   219,
-      -1,   222,   166,   180,   211,   138,   220,   139,   170,    -1,
-     225,    -1,    32,    -1,    -1,   105,   178,   172,    -1,   105,
-     178,   135,    11,   211,   172,    -1,   106,   178,   172,    -1,
-     106,   178,   135,    11,   211,   172,    -1,   107,   212,    -1,
-     224,   108,   178,   211,    -1,   224,   109,   212,   135,   178,
-     211,    -1,   110,   178,   211,   221,    -1
+     169,   168,    -1,   129,    -1,   132,    -1,   168,    -1,    -1,
+     171,   170,    -1,    -1,    48,     4,    -1,    -1,   136,    48,
+       4,    -1,    31,    19,    -1,    -1,   174,    -1,    -1,   136,
+     177,   176,    -1,   174,    -1,    48,     4,    -1,    11,    -1,
+      12,    -1,    13,    -1,    14,    -1,    44,    -1,   178,    -1,
+     179,   137,    -1,   211,    -1,   138,     4,    -1,   179,   139,
+     183,   140,   171,    -1,    10,   139,   183,   140,   171,    -1,
+     141,     4,   142,   179,   143,    -1,   144,     4,   142,   179,
+     145,    -1,   146,   184,   147,    -1,   146,   147,    -1,   144,
+     146,   184,   147,   145,    -1,   144,   146,   147,   145,    -1,
+     179,   169,    -1,   179,    -1,    10,    -1,   180,    -1,   182,
+     136,   180,    -1,   182,    -1,   182,   136,    34,    -1,    34,
+      -1,    -1,   179,    -1,   184,   136,   179,    -1,   179,   141,
+     187,   143,    -1,   179,   141,   143,    -1,   179,   148,    19,
+      -1,   179,   144,   187,   145,    -1,   179,   146,   187,   147,
+      -1,   179,   146,   147,    -1,   179,   144,   146,   187,   147,
+     145,    -1,   179,   144,   146,   147,   145,    -1,   179,    35,
+      -1,   179,    36,    -1,   179,   211,    -1,   179,   186,    -1,
+     179,    22,    -1,   155,     3,    -1,   155,     5,    -1,   155,
+       4,    -1,   155,     6,    -1,    11,    23,    -1,    11,    24,
+      -1,   156,     9,    -1,   152,   139,   185,    33,   179,   140,
+      -1,   110,   139,   185,   222,   140,    -1,   124,   139,   185,
+     136,   185,   136,   185,   140,    -1,   150,   139,   185,   136,
+     185,   140,    -1,   151,   139,   185,   136,   185,   140,    -1,
+      83,   153,   139,   185,   136,   185,   140,    -1,    84,   154,
+     139,   185,   136,   185,   140,    -1,   126,   139,   185,   136,
+     185,   140,    -1,   127,   139,   185,   136,   185,   136,   185,
+     140,    -1,   128,   139,   185,   136,   185,   136,   185,   140,
+      -1,   187,   136,   185,    -1,   185,    -1,    29,    -1,    30,
+      -1,   190,    -1,    -1,   191,    -1,   190,   191,    -1,    -1,
+      28,   192,   207,    -1,    -1,    27,   193,   208,    -1,    53,
+      52,   197,    -1,    21,    -1,   159,    15,   179,    -1,   159,
+      15,    10,    -1,    -1,   161,   164,   188,   185,   194,   176,
+      -1,    -1,   161,   162,   164,   188,   185,   195,   176,    -1,
+      -1,   161,   163,   164,   188,   179,   196,   176,    -1,    46,
+     198,    -1,    49,   135,   199,    -1,    19,    -1,    47,   135,
+      19,    -1,    61,   135,    19,    -1,   141,   200,   143,    -1,
+     200,   136,    19,    -1,    19,    -1,    -1,   201,   136,   179,
+     169,   158,    -1,   179,   169,   158,    -1,   201,    -1,   201,
+     136,    34,    -1,    34,    -1,    -1,   167,   181,   160,   139,
+     202,   140,   171,   175,   172,    -1,    25,    -1,   146,    -1,
+     166,   164,   203,   204,    -1,    26,    -1,   147,    -1,   214,
+     206,    -1,   165,   164,   203,    -1,    -1,    54,    -1,     3,
+      -1,     4,    -1,     9,    -1,    23,    -1,    24,    -1,    35,
+      -1,    36,    -1,    22,    -1,   144,   187,   145,    -1,   186,
+      -1,    52,   209,    19,   136,    19,    -1,     7,    -1,     8,
+      -1,   157,    -1,   160,    -1,   211,    -1,   210,    -1,   179,
+     212,    -1,   214,   215,    -1,   205,   215,    -1,   216,   159,
+     217,    -1,   216,   219,    -1,    -1,    18,    -1,    62,   213,
+      -1,    62,    10,    -1,    63,    14,   212,    -1,    63,    11,
+     212,   136,    14,   212,   136,    14,   212,    -1,    64,   155,
+     212,   136,    14,   212,   141,   218,   143,    -1,    64,   155,
+     212,   136,    14,   212,   141,   143,    -1,    65,   167,   181,
+     212,   139,   221,   140,   171,    33,    14,   212,    66,    14,
+     212,    -1,    66,    -1,    67,    -1,   218,   155,   210,   136,
+      14,   212,    -1,   155,   210,   136,    14,   212,    -1,   159,
+     224,    -1,   179,   141,   212,   136,   212,   143,    -1,   220,
+     136,   141,   212,   136,   212,   143,    -1,   179,   212,   169,
+      -1,   221,   136,   179,   212,   169,    -1,    -1,    -1,   222,
+     136,   213,    -1,    51,    50,    -1,    50,    -1,   150,   179,
+     212,   136,   212,    -1,   151,   179,   212,   136,   212,    -1,
+      83,   153,   179,   212,   136,   212,    -1,    84,   154,   179,
+     212,   136,   212,    -1,   152,   213,    33,   179,    -1,   124,
+     213,   136,   213,   136,   213,    -1,   125,   213,   136,   179,
+      -1,   126,   213,   136,   213,    -1,   127,   213,   136,   213,
+     136,   213,    -1,   128,   213,   136,   213,   136,   213,    -1,
+     123,   220,    -1,   223,   167,   181,   212,   139,   221,   140,
+     171,    -1,   226,    -1,    32,    -1,    -1,   105,   179,   173,
+      -1,   105,   179,   136,    11,   212,   173,    -1,   106,   179,
+     173,    -1,   106,   179,   136,    11,   212,   173,    -1,   107,
+     213,    -1,   225,   108,   179,   212,    -1,   225,   109,   213,
+     136,   179,   212,    -1,   110,   179,   212,   222,    -1
 };
 
 /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
@@ -1697,25 +1699,25 @@
     1151,  1152,  1153,  1157,  1158,  1159,  1163,  1164,  1168,  1169,
     1170,  1174,  1175,  1176,  1177,  1178,  1181,  1182,  1183,  1184,
     1185,  1186,  1187,  1194,  1195,  1196,  1197,  1200,  1201,  1206,
-    1207,  1210,  1211,  1218,  1219,  1225,  1226,  1234,  1242,  1243,
-    1248,  1249,  1250,  1255,  1268,  1268,  1268,  1268,  1271,  1275,
-    1279,  1286,  1291,  1299,  1318,  1337,  1342,  1354,  1364,  1368,
-    1378,  1385,  1392,  1399,  1404,  1409,  1416,  1417,  1424,  1431,
-    1439,  1445,  1457,  1485,  1501,  1530,  1558,  1583,  1602,  1628,
-    1648,  1660,  1667,  1733,  1743,  1753,  1759,  1769,  1775,  1785,
-    1790,  1795,  1803,  1815,  1837,  1845,  1851,  1862,  1867,  1872,
-    1878,  1884,  1893,  1897,  1905,  1905,  1916,  1921,  1929,  1930,
-    1934,  1934,  1938,  1938,  1941,  1944,  1956,  1980,  1991,  1991,
-    2001,  2001,  2009,  2009,  2019,  2022,  2028,  2041,  2045,  2050,
-    2052,  2057,  2062,  2071,  2081,  2092,  2096,  2105,  2114,  2119,
-    2231,  2231,  2233,  2242,  2242,  2244,  2249,  2261,  2265,  2270,
-    2274,  2278,  2282,  2286,  2290,  2294,  2298,  2302,  2327,  2331,
-    2345,  2349,  2353,  2357,  2363,  2363,  2369,  2378,  2382,  2391,
-    2400,  2409,  2413,  2418,  2422,  2426,  2431,  2441,  2460,  2469,
-    2538,  2542,  2549,  2560,  2573,  2583,  2594,  2604,  2613,  2622,
-    2625,  2626,  2633,  2637,  2642,  2663,  2680,  2694,  2708,  2720,
-    2728,  2735,  2741,  2747,  2753,  2768,  2832,  2837,  2841,  2848,
-    2855,  2863,  2870,  2878,  2886,  2900,  2917
+    1207,  1208,  1211,  1212,  1219,  1220,  1226,  1227,  1235,  1243,
+    1244,  1249,  1250,  1251,  1256,  1269,  1269,  1269,  1269,  1272,
+    1276,  1280,  1287,  1292,  1300,  1319,  1338,  1343,  1355,  1365,
+    1369,  1379,  1386,  1393,  1400,  1405,  1410,  1417,  1418,  1425,
+    1432,  1440,  1446,  1458,  1486,  1502,  1531,  1559,  1584,  1603,
+    1629,  1649,  1661,  1668,  1734,  1744,  1754,  1760,  1770,  1776,
+    1786,  1791,  1796,  1804,  1816,  1838,  1846,  1852,  1863,  1868,
+    1873,  1879,  1885,  1894,  1898,  1906,  1906,  1917,  1922,  1930,
+    1931,  1935,  1935,  1939,  1939,  1942,  1945,  1957,  1981,  1992,
+    1992,  2002,  2002,  2010,  2010,  2020,  2023,  2029,  2042,  2046,
+    2051,  2053,  2058,  2063,  2072,  2082,  2093,  2097,  2106,  2115,
+    2120,  2232,  2232,  2234,  2243,  2243,  2245,  2250,  2262,  2266,
+    2271,  2275,  2279,  2283,  2287,  2291,  2295,  2299,  2303,  2328,
+    2332,  2346,  2350,  2354,  2358,  2364,  2364,  2370,  2379,  2383,
+    2392,  2401,  2410,  2414,  2419,  2423,  2427,  2432,  2442,  2461,
+    2470,  2539,  2543,  2550,  2561,  2574,  2584,  2595,  2605,  2614,
+    2623,  2626,  2627,  2634,  2638,  2643,  2664,  2681,  2695,  2709,
+    2721,  2729,  2736,  2742,  2748,  2754,  2769,  2833,  2838,  2842,
+    2849,  2856,  2864,  2871,  2879,  2887,  2901,  2918
 };
 #endif
 
@@ -1743,22 +1745,22 @@
   "LOAD", "STORE", "GETELEMENTPTR", "TRUNC", "ZEXT", "SEXT", "FPTRUNC",
   "FPEXT", "BITCAST", "UITOFP", "SITOFP", "FPTOUI", "FPTOSI", "INTTOPTR",
   "PTRTOINT", "PHI_TOK", "SELECT", "VAARG", "EXTRACTELEMENT",
-  "INSERTELEMENT", "SHUFFLEVECTOR", "NORETURN", "INREG", "SRET", "DEFAULT",
-  "HIDDEN", "'='", "','", "'*'", "'\\\\'", "'('", "')'", "'['", "'x'",
-  "']'", "'<'", "'>'", "'{'", "'}'", "'c'", "$accept", "ArithmeticOps",
-  "LogicalOps", "CastOps", "IPredicates", "FPredicates", "IntType",
-  "FPType", "LocalName", "OptLocalName", "OptLocalAssign", "GlobalName",
-  "OptGlobalAssign", "GVInternalLinkage", "GVExternalLinkage",
-  "GVVisibilityStyle", "FunctionDeclareLinkage", "FunctionDefineLinkage",
-  "OptCallingConv", "ParamAttr", "OptParamAttrs", "FuncAttr",
-  "OptFuncAttrs", "OptAlign", "OptCAlign", "SectionString", "OptSection",
-  "GlobalVarAttributes", "GlobalVarAttribute", "PrimType", "Types",
-  "ArgType", "ResultTypes", "ArgTypeList", "ArgTypeListI", "TypeListI",
-  "ConstVal", "ConstExpr", "ConstVector", "GlobalType", "Module",
-  "DefinitionList", "Definition", "@1", "@2", "@3", "@4", "@5", "AsmBlock",
-  "TargetDefinition", "LibrariesDefinition", "LibList", "ArgListH",
-  "ArgList", "FunctionHeaderH", "BEGIN", "FunctionHeader", "END",
-  "Function", "FunctionProto", "OptSideEffect", "ConstValueRef",
+  "INSERTELEMENT", "SHUFFLEVECTOR", "NORETURN", "INREG", "SRET",
+  "NOUNWIND", "DEFAULT", "HIDDEN", "'='", "','", "'*'", "'\\\\'", "'('",
+  "')'", "'['", "'x'", "']'", "'<'", "'>'", "'{'", "'}'", "'c'", "$accept",
+  "ArithmeticOps", "LogicalOps", "CastOps", "IPredicates", "FPredicates",
+  "IntType", "FPType", "LocalName", "OptLocalName", "OptLocalAssign",
+  "GlobalName", "OptGlobalAssign", "GVInternalLinkage",
+  "GVExternalLinkage", "GVVisibilityStyle", "FunctionDeclareLinkage",
+  "FunctionDefineLinkage", "OptCallingConv", "ParamAttr", "OptParamAttrs",
+  "FuncAttr", "OptFuncAttrs", "OptAlign", "OptCAlign", "SectionString",
+  "OptSection", "GlobalVarAttributes", "GlobalVarAttribute", "PrimType",
+  "Types", "ArgType", "ResultTypes", "ArgTypeList", "ArgTypeListI",
+  "TypeListI", "ConstVal", "ConstExpr", "ConstVector", "GlobalType",
+  "Module", "DefinitionList", "Definition", "@1", "@2", "@3", "@4", "@5",
+  "AsmBlock", "TargetDefinition", "LibrariesDefinition", "LibList",
+  "ArgListH", "ArgList", "FunctionHeaderH", "BEGIN", "FunctionHeader",
+  "END", "Function", "FunctionProto", "OptSideEffect", "ConstValueRef",
   "SymbolicValueRef", "ValueRef", "ResolvedVal", "BasicBlockList",
   "BasicBlock", "InstructionList", "BBTerminatorInst", "JumpTable", "Inst",
   "PHIList", "ValueRefList", "IndexList", "OptTailCall", "InstVal",
@@ -1784,43 +1786,43 @@
      355,   356,   357,   358,   359,   360,   361,   362,   363,   364,
      365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
      375,   376,   377,   378,   379,   380,   381,   382,   383,   384,
-     385,   386,   387,   388,    61,    44,    42,    92,    40,    41,
-      91,   120,    93,    60,    62,   123,   125,    99
+     385,   386,   387,   388,   389,    61,    44,    42,    92,    40,
+      41,    91,   120,    93,    60,    62,   123,   125,    99
 };
 # endif
 
 /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
 static const unsigned char yyr1[] =
 {
-       0,   148,   149,   149,   149,   149,   149,   149,   149,   149,
-     149,   150,   150,   150,   150,   150,   150,   151,   151,   151,
-     151,   151,   151,   151,   151,   151,   151,   151,   151,   152,
+       0,   149,   150,   150,   150,   150,   150,   150,   150,   150,
+     150,   151,   151,   151,   151,   151,   151,   152,   152,   152,
      152,   152,   152,   152,   152,   152,   152,   152,   152,   153,
-     153,   153,   153,   153,   153,   153,   153,   153,   153,   153,
-     153,   153,   153,   153,   153,   154,   155,   155,   156,   156,
-     157,   157,   158,   158,   159,   159,   160,   160,   161,   161,
-     161,   161,   161,   162,   162,   162,   163,   163,   164,   164,
-     164,   165,   165,   165,   165,   165,   166,   166,   166,   166,
-     166,   166,   166,   167,   167,   167,   167,   168,   168,   169,
-     169,   170,   170,   171,   171,   172,   172,   173,   174,   174,
-     175,   175,   176,   176,   177,   177,   177,   177,   178,   178,
-     178,   178,   178,   178,   178,   178,   178,   178,   178,   178,
-     178,   179,   180,   180,   181,   181,   182,   182,   182,   182,
-     183,   183,   184,   184,   184,   184,   184,   184,   184,   184,
-     184,   184,   184,   184,   184,   184,   184,   184,   184,   184,
-     184,   184,   185,   185,   185,   185,   185,   185,   185,   185,
-     185,   185,   186,   186,   187,   187,   188,   188,   189,   189,
-     191,   190,   192,   190,   190,   190,   190,   190,   193,   190,
-     194,   190,   195,   190,   190,   190,   196,   197,   197,   198,
-     199,   199,   199,   200,   200,   201,   201,   201,   201,   202,
-     203,   203,   204,   205,   205,   206,   207,   208,   208,   209,
-     209,   209,   209,   209,   209,   209,   209,   209,   209,   209,
-     210,   210,   210,   210,   211,   211,   212,   213,   213,   214,
-     215,   215,   215,   216,   216,   216,   216,   216,   216,   216,
-     216,   216,   217,   217,   218,   219,   219,   220,   220,   220,
-     221,   221,   222,   222,   223,   223,   223,   223,   223,   223,
-     223,   223,   223,   223,   223,   223,   223,   224,   224,   225,
-     225,   225,   225,   225,   225,   225,   225
+     153,   153,   153,   153,   153,   153,   153,   153,   153,   154,
+     154,   154,   154,   154,   154,   154,   154,   154,   154,   154,
+     154,   154,   154,   154,   154,   155,   156,   156,   157,   157,
+     158,   158,   159,   159,   160,   160,   161,   161,   162,   162,
+     162,   162,   162,   163,   163,   163,   164,   164,   165,   165,
+     165,   166,   166,   166,   166,   166,   167,   167,   167,   167,
+     167,   167,   167,   168,   168,   168,   168,   169,   169,   170,
+     170,   170,   171,   171,   172,   172,   173,   173,   174,   175,
+     175,   176,   176,   177,   177,   178,   178,   178,   178,   179,
+     179,   179,   179,   179,   179,   179,   179,   179,   179,   179,
+     179,   179,   180,   181,   181,   182,   182,   183,   183,   183,
+     183,   184,   184,   185,   185,   185,   185,   185,   185,   185,
+     185,   185,   185,   185,   185,   185,   185,   185,   185,   185,
+     185,   185,   185,   186,   186,   186,   186,   186,   186,   186,
+     186,   186,   186,   187,   187,   188,   188,   189,   189,   190,
+     190,   192,   191,   193,   191,   191,   191,   191,   191,   194,
+     191,   195,   191,   196,   191,   191,   191,   197,   198,   198,
+     199,   200,   200,   200,   201,   201,   202,   202,   202,   202,
+     203,   204,   204,   205,   206,   206,   207,   208,   209,   209,
+     210,   210,   210,   210,   210,   210,   210,   210,   210,   210,
+     210,   211,   211,   211,   211,   212,   212,   213,   214,   214,
+     215,   216,   216,   216,   217,   217,   217,   217,   217,   217,
+     217,   217,   217,   218,   218,   219,   220,   220,   221,   221,
+     221,   222,   222,   223,   223,   224,   224,   224,   224,   224,
+     224,   224,   224,   224,   224,   224,   224,   224,   225,   225,
+     226,   226,   226,   226,   226,   226,   226,   226
 };
 
 /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */
@@ -1836,25 +1838,25 @@
        1,     1,     1,     1,     1,     1,     0,     1,     0,     1,
        1,     0,     1,     1,     1,     1,     0,     1,     1,     1,
        1,     1,     2,     1,     1,     1,     1,     0,     2,     1,
-       1,     0,     2,     0,     2,     0,     3,     2,     0,     1,
-       0,     3,     1,     2,     1,     1,     1,     1,     1,     1,
-       2,     1,     2,     5,     5,     5,     5,     3,     2,     5,
-       4,     2,     1,     1,     1,     3,     1,     3,     1,     0,
-       1,     3,     4,     3,     3,     4,     4,     3,     6,     5,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     6,     5,     8,     6,     6,     7,     7,     6,
-       8,     8,     3,     1,     1,     1,     1,     0,     1,     2,
-       0,     3,     0,     3,     3,     1,     3,     3,     0,     6,
-       0,     7,     0,     7,     2,     3,     1,     3,     3,     3,
-       3,     1,     0,     5,     3,     1,     3,     1,     0,     9,
-       1,     1,     4,     1,     1,     2,     3,     0,     1,     1,
-       1,     1,     1,     1,     1,     1,     1,     3,     1,     5,
-       1,     1,     1,     1,     1,     1,     2,     2,     2,     3,
-       2,     0,     1,     2,     2,     3,     9,     9,     8,    14,
-       1,     1,     6,     5,     2,     6,     7,     3,     5,     0,
-       0,     3,     2,     1,     5,     5,     6,     6,     4,     6,
-       4,     4,     6,     6,     2,     8,     1,     1,     0,     3,
-       6,     3,     6,     2,     4,     6,     4
+       1,     1,     0,     2,     0,     2,     0,     3,     2,     0,
+       1,     0,     3,     1,     2,     1,     1,     1,     1,     1,
+       1,     2,     1,     2,     5,     5,     5,     5,     3,     2,
+       5,     4,     2,     1,     1,     1,     3,     1,     3,     1,
+       0,     1,     3,     4,     3,     3,     4,     4,     3,     6,
+       5,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     6,     5,     8,     6,     6,     7,     7,
+       6,     8,     8,     3,     1,     1,     1,     1,     0,     1,
+       2,     0,     3,     0,     3,     3,     1,     3,     3,     0,
+       6,     0,     7,     0,     7,     2,     3,     1,     3,     3,
+       3,     3,     1,     0,     5,     3,     1,     3,     1,     0,
+       9,     1,     1,     4,     1,     1,     2,     3,     0,     1,
+       1,     1,     1,     1,     1,     1,     1,     1,     3,     1,
+       5,     1,     1,     1,     1,     1,     1,     2,     2,     2,
+       3,     2,     0,     1,     2,     2,     3,     9,     9,     8,
+      14,     1,     1,     6,     5,     2,     6,     7,     3,     5,
+       0,     0,     3,     2,     1,     5,     5,     6,     6,     4,
+       6,     4,     4,     6,     6,     2,     8,     1,     1,     0,
+       3,     6,     3,     6,     2,     4,     6,     4
 };
 
 /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
@@ -1862,450 +1864,452 @@
    means the default is an error.  */
 static const unsigned short int yydefact[] =
 {
-      67,    58,    64,    59,    65,   185,   182,   180,     0,     0,
-       0,     0,     0,     0,    76,     0,    67,   178,    78,    81,
-       0,     0,   194,     0,     0,    62,     0,    66,    68,    70,
+      67,    58,    64,    59,    65,   186,   183,   181,     0,     0,
+       0,     0,     0,     0,    76,     0,    67,   179,    78,    81,
+       0,     0,   195,     0,     0,    62,     0,    66,    68,    70,
       69,    71,    73,    72,    74,    75,    77,    76,    76,     0,
-       1,   179,    79,    80,    76,   183,    82,    83,    84,    85,
-      76,   241,   181,   241,     0,     0,   202,   195,   196,   184,
-     230,   231,   187,   114,   115,   116,   117,   118,     0,     0,
-       0,     0,   232,   233,   119,   186,   121,     0,     0,   174,
-     175,     0,    86,    86,   242,   238,    63,   213,   214,   215,
-     237,   197,   198,   201,     0,   139,   122,     0,     0,     0,
-       0,   128,   140,     0,   120,   139,     0,     0,   114,   115,
-     116,     0,     0,     0,   188,     0,    87,    88,    89,    90,
-      91,     0,   216,     0,   278,   240,     0,   199,   138,    97,
-     134,   136,     0,     0,     0,     0,     0,     0,   127,     0,
-     190,   192,   159,   160,   155,   157,   156,   158,   161,   154,
-     150,   151,     2,     3,     4,     5,     6,     7,     8,     9,
+       1,   180,    79,    80,    76,   184,    82,    83,    84,    85,
+      76,   242,   182,   242,     0,     0,   203,   196,   197,   185,
+     231,   232,   188,   115,   116,   117,   118,   119,     0,     0,
+       0,     0,   233,   234,   120,   187,   122,     0,     0,   175,
+     176,     0,    86,    86,   243,   239,    63,   214,   215,   216,
+     238,   198,   199,   202,     0,   140,   123,     0,     0,     0,
+       0,   129,   141,     0,   121,   140,     0,     0,   115,   116,
+     117,     0,     0,     0,   189,     0,    87,    88,    89,    90,
+      91,     0,   217,     0,   279,   241,     0,   200,   139,    97,
+     135,   137,     0,     0,     0,     0,     0,     0,   128,     0,
+     191,   193,   160,   161,   156,   158,   157,   159,   162,   155,
+     151,   152,     2,     3,     4,     5,     6,     7,     8,     9,
       10,    14,    15,    16,    11,    12,    13,     0,     0,     0,
       17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
       27,    28,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,   153,   152,   110,    92,   133,   132,     0,
-     210,   211,   212,   277,   263,     0,     0,     0,     0,    86,
-     250,   251,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,   239,    86,   254,
-       0,   276,   200,   131,     0,   101,     0,     0,   130,     0,
-     141,   101,   110,   110,    29,    30,    31,    32,    33,    34,
+       0,     0,     0,   154,   153,   111,    92,   134,   133,     0,
+     211,   212,   213,   278,   264,     0,     0,     0,     0,    86,
+     251,   252,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,   240,    86,   255,
+       0,   277,   201,   132,     0,   102,     0,     0,   131,     0,
+     142,   102,   111,   111,    29,    30,    31,    32,    33,    34,
       35,    36,    37,    38,     0,    53,    54,    49,    50,    51,
       52,    39,    40,    41,    42,    43,    44,    45,    46,    47,
-      48,     0,     0,     0,     0,     0,     0,   143,   173,     0,
-       0,     0,   147,     0,   144,     0,     0,     0,     0,   189,
-       0,   262,   244,     0,   243,     0,     0,    55,     0,     0,
-       0,     0,   105,   105,   283,     0,     0,   274,     0,     0,
+      48,     0,     0,     0,     0,     0,     0,   144,   174,     0,
+       0,     0,   148,     0,   145,     0,     0,     0,     0,   190,
+       0,   263,   245,     0,   244,     0,     0,    55,     0,     0,
+       0,     0,   106,   106,   284,     0,     0,   275,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,    93,
-      94,    95,    96,    98,   137,   135,   124,   125,   126,   129,
-     123,   191,   193,     0,     0,   260,     0,     0,     0,     0,
-       0,   142,   128,   140,     0,   145,   146,     0,     0,     0,
-       0,     0,   112,   110,   208,   219,   220,   221,   226,   222,
-     223,   224,   225,   217,     0,   228,   235,   234,   236,     0,
-     245,     0,     0,     0,     0,     0,   279,     0,   281,   260,
+      94,    95,    96,    98,   138,   136,   125,   126,   127,   130,
+     124,   192,   194,     0,     0,   261,     0,     0,     0,     0,
+       0,   143,   129,   141,     0,   146,   147,     0,     0,     0,
+       0,     0,   113,   111,   209,   220,   221,   222,   227,   223,
+     224,   225,   226,   218,     0,   229,   236,   235,   237,     0,
+     246,     0,     0,     0,     0,     0,   280,     0,   282,   261,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,    99,   100,   102,     0,     0,     0,     0,
-       0,     0,     0,   172,   149,     0,     0,     0,     0,   107,
-     113,   111,   207,    97,   205,     0,   218,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,   286,     0,     0,
-       0,   270,   271,     0,     0,     0,     0,   268,     0,   284,
-       0,     0,     0,     0,   163,     0,     0,     0,     0,   148,
-       0,     0,     0,    61,     0,   101,     0,   227,     0,     0,
-     259,     0,     0,   105,   106,   105,     0,     0,     0,     0,
-       0,   264,   265,   259,     0,     0,     0,   261,     0,   169,
-       0,     0,   165,   166,   162,    60,   204,   206,    97,   108,
-       0,     0,     0,     0,     0,   266,   267,     0,   280,   282,
-       0,     0,   269,   272,   273,     0,   285,   167,   168,     0,
-       0,     0,    61,   109,   103,   229,     0,     0,    97,     0,
-     101,   255,     0,   101,   164,   170,   171,   203,     0,   209,
-       0,   248,     0,     0,   257,     0,     0,   256,   275,   104,
-     246,     0,   247,     0,    97,     0,     0,     0,   258,     0,
-       0,     0,     0,   253,     0,     0,   252,     0,   249
+       0,     0,     0,    99,   100,   101,   103,     0,     0,     0,
+       0,     0,     0,     0,   173,   150,     0,     0,     0,     0,
+     108,   114,   112,   208,    97,   206,     0,   219,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,   287,     0,
+       0,     0,   271,   272,     0,     0,     0,     0,   269,     0,
+     285,     0,     0,     0,     0,   164,     0,     0,     0,     0,
+     149,     0,     0,     0,    61,     0,   102,     0,   228,     0,
+       0,   260,     0,     0,   106,   107,   106,     0,     0,     0,
+       0,     0,   265,   266,   260,     0,     0,     0,   262,     0,
+     170,     0,     0,   166,   167,   163,    60,   205,   207,    97,
+     109,     0,     0,     0,     0,     0,   267,   268,     0,   281,
+     283,     0,     0,   270,   273,   274,     0,   286,   168,   169,
+       0,     0,     0,    61,   110,   104,   230,     0,     0,    97,
+       0,   102,   256,     0,   102,   165,   171,   172,   204,     0,
+     210,     0,   249,     0,     0,   258,     0,     0,   257,   276,
+     105,   247,     0,   248,     0,    97,     0,     0,     0,   259,
+       0,     0,     0,     0,   254,     0,     0,   253,     0,   250
 };
 
 /* YYDEFGOTO[NTERM-NUM]. */
 static const short int yydefgoto[] =
 {
-      -1,   190,   191,   192,   254,   271,   111,   112,    72,   486,
+      -1,   190,   191,   192,   254,   271,   111,   112,    72,   487,
       12,    73,    14,    37,    38,    39,    44,    50,   121,   323,
-     233,   395,   326,   529,   376,   352,   514,   289,   353,    74,
+     233,   396,   326,   530,   376,   352,   515,   289,   353,    74,
      113,   130,   199,   131,   132,   103,   278,   365,   279,    81,
       15,    16,    17,    19,    18,   195,   242,   243,    59,    22,
-      57,    94,   414,   415,   122,   202,    51,    89,    52,    45,
-     417,   366,    76,   368,   294,    53,    85,    86,   227,   533,
-     125,   307,   494,   398,   228,   229,   230,   231
+      57,    94,   415,   416,   122,   202,    51,    89,    52,    45,
+     418,   366,    76,   368,   294,    53,    85,    86,   227,   534,
+     125,   307,   495,   399,   228,   229,   230,   231
 };
 
 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
    STATE-NUM.  */
-#define YYPACT_NINF -440
+#define YYPACT_NINF -472
 static const short int yypact[] =
 {
-     406,  -440,  -440,  -440,  -440,  -440,  -440,  -440,    -2,  -101,
-      21,   -55,    80,   -20,    15,   132,   556,  -440,   253,   197,
-      -7,    87,  -440,    20,   207,  -440,   893,  -440,  -440,  -440,
-    -440,  -440,  -440,  -440,  -440,  -440,  -440,    97,    97,   125,
-    -440,  -440,  -440,  -440,    97,  -440,  -440,  -440,  -440,  -440,
-      97,   235,  -440,     6,   240,   248,   258,  -440,  -440,  -440,
-    -440,  -440,   134,  -440,  -440,  -440,  -440,  -440,   269,   277,
-      11,   123,  -440,  -440,  -440,    33,  -440,   125,   125,  -440,
-    -440,  1055,   128,   128,  -440,  -440,    47,  -440,  -440,  -440,
-    -440,  -440,  -440,  -440,   -57,   939,  -440,   154,   156,   488,
-     134,  -440,    33,  -112,  -440,   939,  1055,  1149,    38,   281,
-     289,   239,   293,   850,  -440,   299,  -440,  -440,  -440,  -440,
-    -440,  1168,  -440,     2,  1301,  -440,   285,  -440,  -440,    33,
-    -440,   170,   167,  1149,  1149,   164,   -97,  1149,  -440,   171,
-    -440,    33,  -440,  -440,  -440,  -440,  -440,  -440,  -440,  -440,
-    -440,  -440,  -440,  -440,  -440,  -440,  -440,  -440,  -440,  -440,
-    -440,  -440,  -440,  -440,  -440,  -440,  -440,   254,   446,   174,
-    -440,  -440,  -440,  -440,  -440,  -440,  -440,  -440,  -440,  -440,
-    -440,  -440,   175,   176,   177,   178,   109,  1203,   676,   290,
-     181,   182,   183,  -440,  -440,   187,  -440,   134,    33,    93,
-    -440,  -440,  -440,  -440,  -440,   273,  1217,   127,   313,   128,
-    -440,  -440,   254,   446,  1149,  1149,  1149,  1149,  1149,  1149,
-    1149,  1149,  1149,  1149,  1149,  1149,  1149,  -440,   128,  -440,
-      70,  -440,  -440,   -29,  1098,  -440,    72,   -39,  -440,   184,
-      33,  -440,   187,   187,  -440,  -440,  -440,  -440,  -440,  -440,
-    -440,  -440,  -440,  -440,   188,  -440,  -440,  -440,  -440,  -440,
-    -440,  -440,  -440,  -440,  -440,  -440,  -440,  -440,  -440,  -440,
-    -440,   196,  1055,  1055,  1055,  1055,  1055,  -440,  -440,    22,
-     771,   -44,  -440,   -59,  -440,  1055,  1055,  1055,    -9,  -440,
-     198,  -440,   134,   591,  -440,   728,   728,  -440,   728,  1168,
-    1149,  1149,   112,   147,  -440,   591,    75,   190,   200,   214,
-     215,   217,   219,   591,   591,   322,  1168,  1149,  1149,  -440,
-    -440,  -440,  -440,  -440,  -440,  -440,   -41,  -440,  -440,  -440,
-     -41,  -440,  -440,  1055,  1055,  -440,   230,   231,   232,   233,
-    1055,  -440,   225,   850,   -43,  -440,  -440,   236,   241,   337,
-     355,   371,  -440,   187,  1114,  -440,  -440,  -440,  -440,  -440,
-    -440,  -440,  -440,   323,  1055,  -440,  -440,  -440,  -440,   243,
-    -440,   244,   728,   591,   591,    17,  -440,    19,  -440,  -440,
-     728,   242,  1149,  1149,  1149,  1149,  1149,   245,   246,  1149,
-     728,   591,   249,  -440,  -440,  -440,   252,   255,   -24,  1055,
-    1055,  1055,  1055,  -440,  -440,   247,  1055,  1055,  1149,  -440,
-    -440,  -440,  -440,    33,   257,   260,  -440,   375,   -37,   383,
-     386,   264,   268,   272,   728,   400,   728,   275,   282,   728,
-     284,    33,  -440,   295,   296,   728,   728,    33,   270,  -440,
-    1149,  1055,  1055,  1149,  -440,   297,   298,   301,   303,  -440,
-     300,   302,   150,    32,  1133,  -440,   305,  -440,   728,   728,
-    1149,   728,   728,   307,  -440,   307,   728,   311,  1149,  1149,
-    1149,  -440,  -440,  1149,   591,   308,   310,  -440,  1055,  -440,
-    1055,  1055,  -440,  -440,  -440,  -440,  -440,  -440,    33,    46,
-     397,   315,   314,   591,    26,  -440,  -440,   376,  -440,  -440,
-     309,   728,  -440,  -440,  -440,    89,  -440,  -440,  -440,   317,
-     319,   321,    32,  -440,   413,  -440,   449,     7,  -440,  1149,
-    -440,  -440,   324,  -440,  -440,  -440,  -440,  -440,   460,  -440,
-     728,  -440,   976,     9,   -29,   591,   149,  -440,   -41,  -440,
-    -440,   330,  -440,   976,  -440,   453,   454,   336,   -29,   728,
-     728,   461,   412,  -440,   728,   465,  -440,   728,  -440
+      44,  -472,  -472,  -472,  -472,  -472,  -472,  -472,    -9,   -93,
+      25,   -40,    89,    40,   303,   124,   406,  -472,   137,   199,
+      48,    73,  -472,    72,   147,  -472,  1101,  -472,  -472,  -472,
+    -472,  -472,  -472,  -472,  -472,  -472,  -472,    86,    86,   110,
+    -472,  -472,  -472,  -472,    86,  -472,  -472,  -472,  -472,  -472,
+      86,   215,  -472,     9,   216,   228,   233,  -472,  -472,  -472,
+    -472,  -472,   118,  -472,  -472,  -472,  -472,  -472,   250,   254,
+       4,   115,  -472,  -472,  -472,    88,  -472,   110,   110,  -472,
+    -472,  1115,   310,   310,  -472,  -472,    31,  -472,  -472,  -472,
+    -472,  -472,  -472,  -472,   -22,   955,  -472,   135,   138,   141,
+     118,  -472,    88,  -102,  -472,   955,  1115,  1153,    52,   251,
+     269,   239,   272,   739,  -472,   280,  -472,  -472,  -472,  -472,
+    -472,  1167,  -472,    -8,  1306,  -472,   270,  -472,  -472,    88,
+    -472,   154,   155,  1153,  1153,   156,   -55,  1153,  -472,   164,
+    -472,    88,  -472,  -472,  -472,  -472,  -472,  -472,  -472,  -472,
+    -472,  -472,  -472,  -472,  -472,  -472,  -472,  -472,  -472,  -472,
+    -472,  -472,  -472,  -472,  -472,  -472,  -472,   289,   447,   166,
+    -472,  -472,  -472,  -472,  -472,  -472,  -472,  -472,  -472,  -472,
+    -472,  -472,   168,   169,   170,   171,   995,  1206,   491,   292,
+     174,   175,   176,  -472,  -472,   182,  -472,   118,    88,    49,
+    -472,  -472,  -472,  -472,  -472,   273,  1221,   122,   313,   310,
+    -472,  -472,   289,   447,  1153,  1153,  1153,  1153,  1153,  1153,
+    1153,  1153,  1153,  1153,  1153,  1153,  1153,  -472,   310,  -472,
+      38,  -472,  -472,   -24,  1010,  -472,    34,   -26,  -472,   180,
+      88,  -472,   182,   182,  -472,  -472,  -472,  -472,  -472,  -472,
+    -472,  -472,  -472,  -472,   187,  -472,  -472,  -472,  -472,  -472,
+    -472,  -472,  -472,  -472,  -472,  -472,  -472,  -472,  -472,  -472,
+    -472,   188,  1115,  1115,  1115,  1115,  1115,  -472,  -472,    -6,
+     909,  -104,  -472,   -42,  -472,  1115,  1115,  1115,   -11,  -472,
+     195,  -472,   118,   592,  -472,   718,   718,  -472,   718,  1167,
+    1153,  1153,   -21,    93,  -472,   592,    35,   200,   203,   211,
+     213,   214,   218,   592,   592,   302,  1167,  1153,  1153,  -472,
+    -472,  -472,  -472,  -472,  -472,  -472,   -29,  -472,  -472,  -472,
+     -29,  -472,  -472,  1115,  1115,  -472,   219,   235,   255,   256,
+    1115,  -472,   207,   739,   -37,  -472,  -472,   258,   261,   354,
+     371,   395,  -472,   182,  1050,  -472,  -472,  -472,  -472,  -472,
+    -472,  -472,  -472,   346,  1115,  -472,  -472,  -472,  -472,   266,
+    -472,   267,   718,   592,   592,    19,  -472,    20,  -472,  -472,
+     718,   263,  1153,  1153,  1153,  1153,  1153,   271,   274,  1153,
+     718,   592,   279,  -472,  -472,  -472,  -472,   281,   282,    29,
+    1115,  1115,  1115,  1115,  -472,  -472,   284,  1115,  1115,  1153,
+    -472,  -472,  -472,  -472,    88,   288,   268,  -472,   412,   -96,
+     418,   421,   299,   304,   305,   718,   435,   718,   306,   307,
+     718,   311,    88,  -472,   312,   314,   718,   718,    88,   317,
+    -472,  1153,  1115,  1115,  1153,  -472,   315,   318,   324,   325,
+    -472,   323,   326,   157,    32,  1066,  -472,   328,  -472,   718,
+     718,  1153,   718,   718,   329,  -472,   329,   718,   331,  1153,
+    1153,  1153,  -472,  -472,  1153,   592,   335,   338,  -472,  1115,
+    -472,  1115,  1115,  -472,  -472,  -472,  -472,  -472,  -472,    88,
+     136,   434,   332,   341,   592,    71,  -472,  -472,   431,  -472,
+    -472,   340,   718,  -472,  -472,  -472,    74,  -472,  -472,  -472,
+     345,   347,   348,    32,  -472,   438,  -472,   455,    -2,  -472,
+    1153,  -472,  -472,   349,  -472,  -472,  -472,  -472,  -472,   485,
+    -472,   718,  -472,   866,    -1,   -24,   592,   190,  -472,   -29,
+    -472,  -472,   357,  -472,   866,  -472,   480,   482,   361,   -24,
+     718,   718,   486,   440,  -472,   718,   495,  -472,   718,  -472
 };
 
 /* YYPGOTO[NTERM-NUM].  */
 static const short int yypgoto[] =
 {
-    -440,   358,   359,   361,   274,   276,  -206,  -440,     0,   -19,
-     401,    13,  -440,  -440,  -440,    31,  -440,  -440,  -178,  -309,
-    -394,  -440,  -236,  -440,  -297,    -1,  -440,  -207,  -440,  -440,
-     -25,   263,  -252,  -440,   387,   404,   -69,  -110,  -162,   160,
-    -440,  -440,   490,  -440,  -440,  -440,  -440,  -440,  -440,  -440,
-    -440,  -440,  -440,  -440,   426,  -440,  -440,  -440,  -440,  -440,
-    -440,  -439,   -73,   100,  -212,  -440,   457,  -440,  -440,  -440,
-    -440,  -440,    40,   135,  -440,  -440,  -440,  -440
+    -472,   388,   390,   391,   308,   309,  -206,  -472,     0,     3,
+     432,    13,  -472,  -472,  -472,    41,  -472,  -472,  -195,  -311,
+    -402,  -472,  -238,  -472,  -296,    27,  -472,  -189,  -472,  -472,
+     -25,   285,  -273,  -472,   416,   424,   -70,  -109,  -182,   173,
+    -472,  -472,   508,  -472,  -472,  -472,  -472,  -472,  -472,  -472,
+    -472,  -472,  -472,  -472,   443,  -472,  -472,  -472,  -472,  -472,
+    -472,  -471,   -74,   100,  -198,  -472,   475,  -472,  -472,  -472,
+    -472,  -472,    55,   152,  -472,  -472,  -472,  -472
 };
 
 /* 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 -178
+#define YYTABLE_NINF -179
 static const short int yytable[] =
 {
-      11,    75,   298,   193,   304,   330,   378,   308,   309,   310,
-     311,   312,   114,    13,   315,    98,    11,   394,   297,   453,
-     297,   394,   350,   137,    84,   281,   283,   200,   424,    13,
-     426,   299,    87,    23,   138,   331,   332,   140,   137,   351,
-     194,   -55,   -55,   -55,   -55,    20,   102,   372,     1,   239,
-     316,     3,    28,    29,    30,    31,    32,    33,    34,    21,
-      35,   142,   143,     1,   390,   425,     3,   425,    77,    78,
-     129,   319,   320,    24,   102,    82,   340,   350,   126,    25,
-     129,    83,   141,   319,   320,   127,    11,   346,   393,   321,
-     322,   340,   340,   541,   512,    26,   198,   104,   340,   105,
-     345,   321,   322,   405,   547,   328,   392,   457,   236,   237,
-       2,   443,   240,     4,    27,   444,    60,    61,   344,   100,
-     108,   109,   110,    66,   534,     1,     2,    54,     3,     4,
-      60,    61,    40,   100,    63,    64,    65,    66,   295,     1,
-       2,   296,     3,     4,   319,   320,   411,   201,    36,   531,
-     548,   542,    88,    67,    79,    80,    99,   340,   319,   320,
-      56,   519,   321,   322,   341,   520,   498,    67,   499,   104,
-     430,   105,   432,   433,   434,   393,   321,   322,   317,   318,
-     394,   293,   545,   115,   116,   117,   118,   119,   120,   302,
+      11,    75,   298,   330,   193,   281,   283,   378,    98,   297,
+     297,   114,   454,    13,   299,   395,    11,   200,   304,   395,
+     350,   308,   309,   310,   311,   312,   372,    84,   315,    13,
+     425,   427,   340,   316,   137,    87,   140,   351,    20,   194,
+     340,   345,    23,   390,  -178,   138,   102,     1,     1,   458,
+       3,     3,    21,   331,   332,   -55,   -55,   -55,   -55,   -63,
+       1,     2,   542,     3,     4,     5,     2,   426,   426,     4,
+     129,     6,     7,   548,   102,   142,   143,    24,    77,    78,
+     129,   137,   141,   319,   320,    82,    11,   513,   319,   320,
+       8,    83,   239,     9,   340,    25,   198,    10,   344,   340,
+     393,   321,   322,   394,    26,   346,   321,   322,   236,   237,
+     406,   104,   240,   105,   126,   375,   104,   535,   105,   328,
+     392,   127,    60,    61,    40,   100,    63,    64,    65,    66,
+     340,     1,     2,   295,     3,     4,   296,   341,   201,    79,
+      80,   532,   543,   549,   319,   320,   317,   318,    60,    61,
+      99,   100,    63,    64,    65,    66,    88,     1,     2,    67,
+       3,     4,   321,   322,   412,   444,    58,   350,   499,   445,
+     500,   104,   104,   105,   105,    27,   380,   327,    42,   395,
+      43,   293,   419,    54,   431,    67,   433,   434,   435,   302,
      303,   293,   305,   306,   293,   293,   293,   293,   293,   313,
-     314,   293,   418,   335,   336,   337,   338,   339,   104,   129,
-     105,   104,   290,   105,   327,   380,   347,   348,   349,   489,
-     367,    55,   367,   367,   519,   367,    58,   394,   523,   394,
-      36,   477,   367,   193,    46,    47,    48,   106,   107,    49,
-     367,   367,   144,   145,   146,   147,    68,   375,   104,    69,
-     105,   277,    70,    84,    71,   343,   502,   503,   504,    91,
-      68,   319,   320,    69,   396,   397,    70,    92,    71,   101,
-     194,   403,    95,    96,   198,   373,   374,    93,   393,   321,
-     322,    97,   377,   104,   536,   105,   104,   538,   105,   484,
-     -56,   198,   391,   293,    42,   133,    43,   134,   -57,   367,
-     367,   367,   148,   196,   232,   234,   235,   367,   238,   284,
-     241,   532,   272,   273,   274,   275,   276,   367,   367,   285,
-     286,   287,   288,   291,   297,   381,   333,   543,   329,   413,
-     445,   446,   447,   448,   334,   382,   354,   450,   451,   244,
-     245,   246,   247,   248,   249,   250,   251,   252,   253,   383,
-     384,   367,   385,   367,   386,   389,   367,   293,   431,   293,
-     293,   293,   367,   367,   437,   399,   400,   401,   402,   404,
-     408,   406,   475,   476,   409,   410,   407,   416,   419,   420,
-     435,   436,   429,   452,   440,   367,   367,   441,   367,   367,
-     442,   449,   454,   367,   456,   369,   370,   458,   371,   455,
-     459,   367,   460,   461,   464,   379,  -177,   462,   473,   509,
-     443,   510,   511,   387,   388,   474,   515,   466,   293,   468,
-     367,   -63,     1,     2,   425,     3,     4,     5,   367,   488,
-     469,   470,   478,     6,     7,   493,   480,   479,   481,   482,
-     490,   483,   497,   293,   293,   293,   501,   507,   493,   508,
-     516,   521,     8,   485,   517,     9,   524,   367,   525,    10,
-     526,   528,   367,   530,   539,   546,   537,   549,   550,   255,
-     256,   551,   421,   422,   423,   554,   367,   367,   555,   557,
-     428,   367,   224,   225,   367,   226,   300,   124,   513,   301,
-     438,   439,   139,   527,   535,    60,    61,   325,   100,    63,
-      64,    65,    66,   136,     1,     2,    41,     3,     4,   123,
-      90,     0,   485,   505,   427,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,   463,     0,   465,     0,     0,   467,
-       0,     0,    67,     0,     0,   471,   472,   257,   258,   259,
-     260,   261,   262,   263,   264,   265,   266,   267,   268,   269,
-     270,     0,     0,     0,     0,     0,  -176,     0,   491,   492,
-       0,   495,   496,     0,     0,     0,   500,     0,     0,     0,
-       0,   -63,     1,     2,   506,     3,     4,     5,     0,     0,
-       0,     0,     0,     6,     7,     0,     0,     0,     0,     0,
-       0,     0,     0,   518,   355,   356,     0,     0,    60,    61,
-     357,   522,     8,     0,     0,     9,     0,     1,     2,    10,
-       3,     4,     0,   358,   359,   360,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,    68,   361,   362,    69,     0,
-     540,    70,     0,    71,   135,   544,     0,     0,     0,     0,
-       0,     0,     0,   363,     0,     0,     0,     0,     0,   552,
-     553,     0,     0,     0,   556,     0,     0,   558,     0,   152,
-     153,   154,   155,   156,   157,   158,   159,   160,   161,   162,
-     163,   164,   165,   166,   167,   168,     0,     0,     0,     0,
-       0,     0,     0,    60,    61,     0,   100,   108,   109,   110,
-      66,     0,     1,     2,     0,     3,     4,     0,     0,     0,
-       0,   169,   170,   171,   172,   173,   174,   175,   176,   177,
-     178,   179,   180,   181,     0,   182,     0,   183,   184,   185,
-      67,     0,     0,     0,     0,     0,     0,   104,     0,   105,
-       0,   355,   356,     0,   364,    60,    61,   357,     0,     0,
-       0,     0,     0,     0,     1,     2,     0,     3,     4,     0,
-     358,   359,   360,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,   361,   362,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,    60,    61,
-     363,   100,   108,   109,   110,    66,     0,     1,     2,     0,
-       3,     4,     0,     0,     0,     0,   152,   153,   154,   155,
+     314,   293,   335,   336,   337,   338,   339,   520,    55,   129,
+     520,   521,   290,    56,   524,   347,   348,   349,   490,   367,
+      36,   367,   367,   546,   367,   104,   395,   105,   395,   377,
+     104,   367,   105,    84,   193,    91,    46,    47,    48,   367,
+     367,    49,   144,   145,   146,   147,   478,    92,   319,   320,
+     106,   107,    93,    68,    96,   343,    69,    95,    97,    70,
+     -56,    71,   101,   397,   398,   393,   321,   322,   394,   194,
+     404,   503,   504,   505,   198,   373,   374,   133,   -57,    68,
+     134,   148,    69,   537,   196,    70,   539,    71,   135,   232,
+     234,   198,   391,   293,   104,   235,   105,   485,   367,   367,
+     367,   238,   319,   320,   241,   272,   367,   273,   274,   275,
+     276,   284,   533,   285,   286,   287,   367,   367,   288,   393,
+     321,   322,   394,   291,   297,   329,   333,   334,   544,   414,
+     446,   447,   448,   449,   354,   389,   381,   451,   452,   382,
+      28,    29,    30,    31,    32,    33,    34,   383,    35,   384,
+     385,   367,   405,   367,   386,   400,   367,   293,   432,   293,
+     293,   293,   367,   367,   438,   115,   116,   117,   118,   119,
+     120,   401,   476,   477,   244,   245,   246,   247,   248,   249,
+     250,   251,   252,   253,   453,   367,   367,   409,   367,   367,
+     410,   402,   403,   367,   407,   369,   370,   408,   371,   411,
+     417,   367,   420,   421,   430,   379,  -177,   436,   456,   510,
+     437,   511,   512,   387,   388,   441,   475,   442,   443,   293,
+     367,   -63,     1,     2,   455,     3,     4,     5,   367,   450,
+     489,   457,   459,     6,     7,   460,   494,    36,   461,   465,
+     462,   463,   444,   467,   293,   293,   293,   469,   470,   494,
+     471,   479,     8,   516,   486,     9,   474,   367,   480,    10,
+     481,   482,   367,   483,   491,   498,   484,   502,   517,   531,
+     255,   256,   422,   423,   424,   508,   367,   367,   509,   426,
+     429,   367,   518,   522,   367,   525,   529,   526,   527,   540,
+     439,   440,   538,   547,   550,   536,   551,   552,    60,    61,
+     555,   100,   108,   109,   110,    66,   556,     1,     2,   558,
+       3,     4,   224,   486,   225,   226,   528,   514,   124,   325,
+     300,   139,   301,   136,    41,   464,   123,   466,    90,   506,
+     468,   428,     0,     0,     0,    67,   472,   473,   257,   258,
+     259,   260,   261,   262,   263,   264,   265,   266,   267,   268,
+     269,   270,     0,     0,     0,     0,     0,     0,     0,   492,
+     493,     0,   496,   497,     0,     0,     0,   501,     0,     0,
+       0,     0,     0,     0,     0,   507,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,   519,   355,   356,     0,     0,    60,
+      61,   357,   523,     0,     0,     0,     0,     0,     1,     2,
+       0,     3,     4,     0,   358,   359,   360,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,   361,   362,    68,
+       0,   541,    69,     0,     0,    70,   545,    71,   282,     0,
+       0,     0,     0,     0,   363,     0,     0,     0,     0,     0,
+     553,   554,     0,     0,     0,   557,     0,     0,   559,     0,
+     152,   153,   154,   155,   156,   157,   158,   159,   160,   161,
+     162,   163,   164,   165,   166,   167,   168,     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,   169,   170,   171,   172,   173,   174,   175,   176,
+     177,   178,   179,   180,   181,     0,   182,     0,   183,   184,
+     185,   355,   356,     0,     0,    60,    61,   357,     0,   104,
+       0,   105,     0,     0,     1,     2,   364,     3,     4,     0,
+     358,   359,   360,     0,     0,     0,    60,    61,     0,     0,
+       0,     0,     0,   361,   362,     1,     2,     0,     3,     4,
+       0,   149,     0,     0,     0,     0,     0,     0,     0,     0,
+     363,     0,     0,     0,   150,   151,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,   152,   153,   154,   155,
      156,   157,   158,   159,   160,   161,   162,   163,   164,   165,
-     166,   167,   168,    68,     0,    67,    69,     0,     0,    70,
-       0,    71,   282,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,   169,   170,
+     166,   167,   168,     0,     0,     0,     0,   152,   153,   154,
+     155,   156,   157,   158,   159,   160,   161,   162,   163,   164,
+     165,   166,   167,   168,     0,     0,     0,     0,   169,   170,
      171,   172,   173,   174,   175,   176,   177,   178,   179,   180,
-     181,     0,   182,     0,   183,   184,   185,    60,    61,     0,
-       0,     0,     0,     0,     0,     0,     1,     2,     0,     3,
-       4,   364,   149,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,   150,   151,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-      60,    61,     0,    62,    63,    64,    65,    66,    68,     1,
-       2,    69,     3,     4,    70,     0,    71,   342,   152,   153,
-     154,   155,   156,   157,   158,   159,   160,   161,   162,   163,
-     164,   165,   166,   167,   168,     0,     0,    67,     0,     0,
-       0,     0,     0,     0,     0,     0,    60,    61,     0,   100,
-      63,    64,    65,    66,     0,     1,     2,     0,     3,     4,
-     169,   170,   171,   172,   173,   174,   175,   176,   177,   178,
-     179,   180,   181,   128,   182,     0,   183,   184,   185,   355,
-     356,     0,     0,    67,     0,   357,   104,     0,   105,     0,
+     181,     0,   182,     0,   183,   184,   185,     0,     0,   169,
+     170,   171,   172,   173,   174,   175,   176,   177,   178,   179,
+     180,   181,   364,   182,     0,   183,   184,   185,     0,   355,
+     356,     0,     0,     0,     0,   357,   104,     0,   105,     0,
      186,     0,     0,   187,     0,   188,     0,   189,   358,   359,
      360,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,   361,   362,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,   363,     0,
-      68,     0,     0,    69,     0,     0,    70,     0,    71,     0,
+       0,     0,     0,     0,     0,     0,    60,    61,   363,   100,
+     108,   109,   110,    66,     0,     1,     2,     0,     3,     4,
        0,     0,     0,     0,   152,   153,   154,   155,   156,   157,
      158,   159,   160,   161,   162,   163,   164,   165,   166,   167,
-     168,     0,    60,    61,     0,   100,   108,   109,   110,    66,
-       0,     1,     2,     0,     3,     4,    68,     0,     0,    69,
-       0,     0,    70,     0,    71,     0,   169,   170,   171,   172,
-     173,   174,   175,   176,   177,   178,   179,   180,   181,    67,
-     182,     0,   183,   184,   185,    60,    61,     0,   100,    63,
-      64,    65,    66,     0,     1,     2,     0,     3,     4,   364,
-       0,    60,    61,     0,   100,    63,    64,    65,    66,     0,
-       1,     2,   324,     3,     4,     0,     0,     0,     0,     0,
-      60,    61,    67,   100,    63,    64,    65,    66,   412,     1,
-       2,     0,     3,     4,     0,     0,    60,    61,    67,   100,
-      63,    64,    65,    66,     0,     1,     2,   487,     3,     4,
-       0,     0,     0,     0,     0,    60,    61,    67,   197,    63,
-      64,    65,    66,     0,     1,     2,     0,     3,     4,     0,
-       0,     0,    68,    67,     0,    69,     0,     0,    70,     0,
-      71,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-      60,    61,    67,   100,   108,   109,   110,    66,     0,     1,
-       2,     0,     3,     4,    60,    61,     0,   292,    63,    64,
-      65,    66,     0,     1,     2,    68,     3,     4,    69,     0,
-       0,    70,     0,    71,     0,     0,     0,    67,     0,     0,
+     168,     0,     0,    67,     0,     0,     0,     0,     0,     0,
+       0,     0,    60,    61,     0,   100,    63,    64,    65,    66,
+       0,     1,     2,     0,     3,     4,   169,   170,   171,   172,
+     173,   174,   175,   176,   177,   178,   179,   180,   181,   128,
+     182,     0,   183,   184,   185,     0,     0,     0,     0,    67,
+       0,     0,    60,    61,     0,   100,   108,   109,   110,    66,
+     364,     1,     2,     0,     3,     4,     0,    60,    61,     0,
+     100,    63,    64,    65,    66,     0,     1,     2,     0,     3,
+       4,     0,     0,     0,     0,     0,     0,     0,     0,    67,
+       0,     0,     0,     0,   324,     0,     0,    68,     0,     0,
+      69,     0,     0,    70,    67,    71,   342,    60,    61,     0,
+     100,    63,    64,    65,    66,     0,     1,     2,     0,     3,
+       4,     0,     0,    60,    61,     0,   100,    63,    64,    65,
+      66,     0,     1,     2,   413,     3,     4,     0,     0,     0,
+       0,     0,     0,    68,    67,     0,    69,     0,     0,    70,
+     488,    71,     0,     0,     0,     0,     0,     0,    60,    61,
+      67,    62,    63,    64,    65,    66,     0,     1,     2,     0,
+       3,     4,    60,    61,     0,   100,   108,   109,   110,    66,
+       0,     1,     2,    68,     3,     4,    69,     0,   277,    70,
+       0,    71,     0,     0,     0,    67,     0,     0,    68,     0,
+       0,    69,     0,     0,    70,     0,    71,     0,     0,    67,
+      60,    61,     0,   100,    63,    64,    65,    66,     0,     1,
+       2,     0,     3,     4,    60,    61,     0,   197,    63,    64,
+      65,    66,     0,     1,     2,     0,     3,     4,    68,     0,
+       0,    69,     0,     0,    70,     0,    71,    67,     0,     0,
+       0,     0,     0,     0,    68,     0,     0,    69,     0,     0,
+      70,    67,    71,    60,    61,     0,   100,   108,   109,   110,
+      66,     0,     1,     2,     0,     3,     4,     0,    60,    61,
+       0,   292,    63,    64,    65,    66,     0,     1,     2,    68,
+       3,     4,    69,     0,     0,    70,     0,    71,     0,     0,
+      67,     0,     0,    68,     0,     0,    69,     0,     0,    70,
+       0,    71,     0,     0,     0,    67,     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,    68,     0,     0,    69,     0,     0,    70,     0,    71,
-       0,    67,     0,     0,     0,     0,     0,     0,     0,     0,
-      68,     0,     0,    69,     0,     0,    70,     0,    71,     0,
-       0,     0,     0,     0,     0,     0,    68,     0,     0,    69,
-       0,     0,    70,     0,    71,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,    68,     0,     0,    69,     0,
        0,    70,     0,    71,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,   203,     0,     0,     0,     0,     0,     0,
-      68,     0,     0,    69,     0,     0,    70,     0,   280,     0,
-       0,   204,   205,     0,    68,     0,     0,    69,     0,     0,
-      70,     0,    71,   206,   207,   208,   209,   210,   211,   152,
-     153,   154,   155,   156,   157,   158,   159,   160,   161,   162,
-     163,   164,   165,   166,   212,   213,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,   203,     0,
+       0,     0,     0,     0,    68,     0,     0,    69,     0,     0,
+      70,     0,   280,     0,     0,     0,   204,   205,     0,    68,
+       0,     0,    69,     0,     0,    70,     0,    71,   206,   207,
+     208,   209,   210,   211,   152,   153,   154,   155,   156,   157,
+     158,   159,   160,   161,   162,   163,   164,   165,   166,   212,
+     213,     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,   214,   215,   216,     0,
-       0,   217,   170,   171,   172,   173,   174,   175,   176,   177,
-     178,   179,   180,   181,   218,   219,   220,   221,   222,   223
+       0,   214,   215,   216,     0,     0,   217,   170,   171,   172,
+     173,   174,   175,   176,   177,   178,   179,   180,   181,   218,
+     219,   220,   221,   222,   223
 };
 
 static const short int yycheck[] =
 {
-       0,    26,   208,   113,   216,   241,   303,   219,   220,   221,
-     222,   223,    81,     0,   226,     4,    16,   326,    11,   413,
-      11,   330,    31,   135,    18,   187,   188,    25,    11,    16,
-      11,   209,    26,   134,   146,   242,   243,   106,   135,    48,
-     113,     3,     4,     5,     6,    47,    71,   299,    16,   146,
-     228,    19,    37,    38,    39,    40,    41,    42,    43,    61,
-      45,    23,    24,    16,   316,    48,    19,    48,    37,    38,
-      95,   112,   113,    52,    99,    44,   135,    31,   135,   134,
-     105,    50,   107,   112,   113,   142,    86,   146,   129,   130,
-     131,   135,   135,   532,   488,    15,   121,   136,   135,   138,
-     144,   130,   131,   146,   543,   144,   318,   144,   133,   134,
-      17,   135,   137,    20,   134,   139,     7,     8,   280,    10,
-      11,    12,    13,    14,   518,    16,    17,   134,    19,    20,
-       7,     8,     0,    10,    11,    12,    13,    14,    11,    16,
-      17,    14,    19,    20,   112,   113,   353,   145,   133,   142,
-     544,   142,   146,    44,    29,    30,   145,   135,   112,   113,
-     140,   135,   130,   131,   142,   139,   463,    44,   465,   136,
-     382,   138,   384,   385,   386,   129,   130,   131,   108,   109,
-     489,   206,    33,    55,    56,    57,    58,    59,    60,   214,
+       0,    26,   208,   241,   113,   187,   188,   303,     4,    11,
+      11,    81,   414,     0,   209,   326,    16,    25,   216,   330,
+      31,   219,   220,   221,   222,   223,   299,    18,   226,    16,
+      11,    11,   136,   228,   136,    26,   106,    48,    47,   113,
+     136,   145,   135,   316,     0,   147,    71,    16,    16,   145,
+      19,    19,    61,   242,   243,     3,     4,     5,     6,    15,
+      16,    17,   533,    19,    20,    21,    17,    48,    48,    20,
+      95,    27,    28,   544,    99,    23,    24,    52,    37,    38,
+     105,   136,   107,   112,   113,    44,    86,   489,   112,   113,
+      46,    50,   147,    49,   136,   135,   121,    53,   280,   136,
+     129,   130,   131,   132,    15,   147,   130,   131,   133,   134,
+     147,   137,   137,   139,   136,   136,   137,   519,   139,   145,
+     318,   143,     7,     8,     0,    10,    11,    12,    13,    14,
+     136,    16,    17,    11,    19,    20,    14,   143,   146,    29,
+      30,   143,   143,   545,   112,   113,   108,   109,     7,     8,
+     146,    10,    11,    12,    13,    14,   147,    16,    17,    44,
+      19,    20,   130,   131,   353,   136,    19,    31,   464,   140,
+     466,   137,   137,   139,   139,   135,   141,   143,    41,   490,
+      43,   206,   364,   135,   382,    44,   384,   385,   386,   214,
      215,   216,   217,   218,   219,   220,   221,   222,   223,   224,
-     225,   226,   364,   272,   273,   274,   275,   276,   136,   234,
-     138,   136,   199,   138,   142,   140,   285,   286,   287,   455,
-     293,   134,   295,   296,   135,   298,    19,   536,   139,   538,
-     133,   443,   305,   343,    37,    38,    39,    77,    78,    42,
-     313,   314,     3,     4,     5,     6,   137,   135,   136,   140,
-     138,   142,   143,    18,   145,   280,   468,   469,   470,    19,
-     137,   112,   113,   140,   333,   334,   143,    19,   145,   146,
-     343,   340,   138,     4,   299,   300,   301,    19,   129,   130,
-     131,     4,   135,   136,   520,   138,   136,   523,   138,   139,
-       9,   316,   317,   318,    41,   141,    43,   141,     9,   372,
-     373,   374,     9,     4,    19,   135,   139,   380,   144,    19,
-     139,   517,   138,   138,   138,   138,   138,   390,   391,   138,
-     138,   138,   135,    50,    11,   135,   138,   533,   144,   354,
-     399,   400,   401,   402,   138,   135,   138,   406,   407,    85,
-      86,    87,    88,    89,    90,    91,    92,    93,    94,   135,
-     135,   424,   135,   426,   135,    33,   429,   382,   383,   384,
-     385,   386,   435,   436,   389,   135,   135,   135,   135,   144,
-      33,   135,   441,   442,    19,     4,   135,    54,   135,   135,
-     135,   135,   140,   408,   135,   458,   459,   135,   461,   462,
-     135,   144,   135,   466,    19,   295,   296,    14,   298,   139,
-      14,   474,   138,   135,     4,   305,     0,   135,   138,   478,
-     135,   480,   481,   313,   314,   440,    19,   135,   443,   135,
-     493,    15,    16,    17,    48,    19,    20,    21,   501,   454,
-     135,   135,   135,    27,    28,   460,   135,   139,   135,   139,
-     135,   139,   135,   468,   469,   470,   135,   139,   473,   139,
-     135,   142,    46,   453,   140,    49,   139,   530,   139,    53,
-     139,    48,   535,    14,     4,   135,   142,    14,    14,    23,
-      24,   135,   372,   373,   374,    14,   549,   550,    66,    14,
-     380,   554,   124,   124,   557,   124,   212,    86,   489,   213,
-     390,   391,   105,   512,   519,     7,     8,   234,    10,    11,
-      12,    13,    14,    99,    16,    17,    16,    19,    20,    83,
-      53,    -1,   512,   473,   379,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,   424,    -1,   426,    -1,    -1,   429,
-      -1,    -1,    44,    -1,    -1,   435,   436,    91,    92,    93,
-      94,    95,    96,    97,    98,    99,   100,   101,   102,   103,
-     104,    -1,    -1,    -1,    -1,    -1,     0,    -1,   458,   459,
-      -1,   461,   462,    -1,    -1,    -1,   466,    -1,    -1,    -1,
-      -1,    15,    16,    17,   474,    19,    20,    21,    -1,    -1,
-      -1,    -1,    -1,    27,    28,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,   493,     3,     4,    -1,    -1,     7,     8,
-       9,   501,    46,    -1,    -1,    49,    -1,    16,    17,    53,
-      19,    20,    -1,    22,    23,    24,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,   137,    35,    36,   140,    -1,
-     530,   143,    -1,   145,   146,   535,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    52,    -1,    -1,    -1,    -1,    -1,   549,
-     550,    -1,    -1,    -1,   554,    -1,    -1,   557,    -1,    68,
-      69,    70,    71,    72,    73,    74,    75,    76,    77,    78,
-      79,    80,    81,    82,    83,    84,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,     7,     8,    -1,    10,    11,    12,    13,
-      14,    -1,    16,    17,    -1,    19,    20,    -1,    -1,    -1,
-      -1,   110,   111,   112,   113,   114,   115,   116,   117,   118,
-     119,   120,   121,   122,    -1,   124,    -1,   126,   127,   128,
-      44,    -1,    -1,    -1,    -1,    -1,    -1,   136,    -1,   138,
-      -1,     3,     4,    -1,   143,     7,     8,     9,    -1,    -1,
-      -1,    -1,    -1,    -1,    16,    17,    -1,    19,    20,    -1,
-      22,    23,    24,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    35,    36,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     7,     8,
-      52,    10,    11,    12,    13,    14,    -1,    16,    17,    -1,
-      19,    20,    -1,    -1,    -1,    -1,    68,    69,    70,    71,
+     225,   226,   272,   273,   274,   275,   276,   136,   135,   234,
+     136,   140,   199,   141,   140,   285,   286,   287,   456,   293,
+     134,   295,   296,    33,   298,   137,   537,   139,   539,   136,
+     137,   305,   139,    18,   343,    19,    37,    38,    39,   313,
+     314,    42,     3,     4,     5,     6,   444,    19,   112,   113,
+      77,    78,    19,   138,     4,   280,   141,   139,     4,   144,
+       9,   146,   147,   333,   334,   129,   130,   131,   132,   343,
+     340,   469,   470,   471,   299,   300,   301,   142,     9,   138,
+     142,     9,   141,   521,     4,   144,   524,   146,   147,    19,
+     136,   316,   317,   318,   137,   140,   139,   140,   372,   373,
+     374,   145,   112,   113,   140,   139,   380,   139,   139,   139,
+     139,    19,   518,   139,   139,   139,   390,   391,   136,   129,
+     130,   131,   132,    50,    11,   145,   139,   139,   534,   354,
+     400,   401,   402,   403,   139,    33,   136,   407,   408,   136,
+      37,    38,    39,    40,    41,    42,    43,   136,    45,   136,
+     136,   425,   145,   427,   136,   136,   430,   382,   383,   384,
+     385,   386,   436,   437,   389,    55,    56,    57,    58,    59,
+      60,   136,   442,   443,    85,    86,    87,    88,    89,    90,
+      91,    92,    93,    94,   409,   459,   460,    33,   462,   463,
+      19,   136,   136,   467,   136,   295,   296,   136,   298,     4,
+      54,   475,   136,   136,   141,   305,     0,   136,   140,   479,
+     136,   481,   482,   313,   314,   136,   441,   136,   136,   444,
+     494,    15,    16,    17,   136,    19,    20,    21,   502,   145,
+     455,    19,    14,    27,    28,    14,   461,   134,   139,     4,
+     136,   136,   136,   136,   469,   470,   471,   136,   136,   474,
+     136,   136,    46,    19,   454,    49,   139,   531,   140,    53,
+     136,   136,   536,   140,   136,   136,   140,   136,   136,    14,
+      23,    24,   372,   373,   374,   140,   550,   551,   140,    48,
+     380,   555,   141,   143,   558,   140,    48,   140,   140,     4,
+     390,   391,   143,   136,    14,   520,    14,   136,     7,     8,
+      14,    10,    11,    12,    13,    14,    66,    16,    17,    14,
+      19,    20,   124,   513,   124,   124,   513,   490,    86,   234,
+     212,   105,   213,    99,    16,   425,    83,   427,    53,   474,
+     430,   379,    -1,    -1,    -1,    44,   436,   437,    91,    92,
+      93,    94,    95,    96,    97,    98,    99,   100,   101,   102,
+     103,   104,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   459,
+     460,    -1,   462,   463,    -1,    -1,    -1,   467,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,   475,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,   494,     3,     4,    -1,    -1,     7,
+       8,     9,   502,    -1,    -1,    -1,    -1,    -1,    16,    17,
+      -1,    19,    20,    -1,    22,    23,    24,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    35,    36,   138,
+      -1,   531,   141,    -1,    -1,   144,   536,   146,   147,    -1,
+      -1,    -1,    -1,    -1,    52,    -1,    -1,    -1,    -1,    -1,
+     550,   551,    -1,    -1,    -1,   555,    -1,    -1,   558,    -1,
+      68,    69,    70,    71,    72,    73,    74,    75,    76,    77,
+      78,    79,    80,    81,    82,    83,    84,    -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,   110,   111,   112,   113,   114,   115,   116,   117,
+     118,   119,   120,   121,   122,    -1,   124,    -1,   126,   127,
+     128,     3,     4,    -1,    -1,     7,     8,     9,    -1,   137,
+      -1,   139,    -1,    -1,    16,    17,   144,    19,    20,    -1,
+      22,    23,    24,    -1,    -1,    -1,     7,     8,    -1,    -1,
+      -1,    -1,    -1,    35,    36,    16,    17,    -1,    19,    20,
+      -1,    22,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      52,    -1,    -1,    -1,    35,    36,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    68,    69,    70,    71,
       72,    73,    74,    75,    76,    77,    78,    79,    80,    81,
-      82,    83,    84,   137,    -1,    44,   140,    -1,    -1,   143,
-      -1,   145,   146,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   110,   111,
+      82,    83,    84,    -1,    -1,    -1,    -1,    68,    69,    70,
+      71,    72,    73,    74,    75,    76,    77,    78,    79,    80,
+      81,    82,    83,    84,    -1,    -1,    -1,    -1,   110,   111,
      112,   113,   114,   115,   116,   117,   118,   119,   120,   121,
-     122,    -1,   124,    -1,   126,   127,   128,     7,     8,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    16,    17,    -1,    19,
-      20,   143,    22,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    35,    36,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-       7,     8,    -1,    10,    11,    12,    13,    14,   137,    16,
-      17,   140,    19,    20,   143,    -1,   145,   146,    68,    69,
-      70,    71,    72,    73,    74,    75,    76,    77,    78,    79,
-      80,    81,    82,    83,    84,    -1,    -1,    44,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,     7,     8,    -1,    10,
-      11,    12,    13,    14,    -1,    16,    17,    -1,    19,    20,
-     110,   111,   112,   113,   114,   115,   116,   117,   118,   119,
-     120,   121,   122,    34,   124,    -1,   126,   127,   128,     3,
-       4,    -1,    -1,    44,    -1,     9,   136,    -1,   138,    -1,
-     140,    -1,    -1,   143,    -1,   145,    -1,   147,    22,    23,
+     122,    -1,   124,    -1,   126,   127,   128,    -1,    -1,   110,
+     111,   112,   113,   114,   115,   116,   117,   118,   119,   120,
+     121,   122,   144,   124,    -1,   126,   127,   128,    -1,     3,
+       4,    -1,    -1,    -1,    -1,     9,   137,    -1,   139,    -1,
+     141,    -1,    -1,   144,    -1,   146,    -1,   148,    22,    23,
       24,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
       -1,    35,    36,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    52,    -1,
-     137,    -1,    -1,   140,    -1,    -1,   143,    -1,   145,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,     7,     8,    52,    10,
+      11,    12,    13,    14,    -1,    16,    17,    -1,    19,    20,
       -1,    -1,    -1,    -1,    68,    69,    70,    71,    72,    73,
       74,    75,    76,    77,    78,    79,    80,    81,    82,    83,
-      84,    -1,     7,     8,    -1,    10,    11,    12,    13,    14,
-      -1,    16,    17,    -1,    19,    20,   137,    -1,    -1,   140,
-      -1,    -1,   143,    -1,   145,    -1,   110,   111,   112,   113,
-     114,   115,   116,   117,   118,   119,   120,   121,   122,    44,
-     124,    -1,   126,   127,   128,     7,     8,    -1,    10,    11,
-      12,    13,    14,    -1,    16,    17,    -1,    19,    20,   143,
-      -1,     7,     8,    -1,    10,    11,    12,    13,    14,    -1,
-      16,    17,    34,    19,    20,    -1,    -1,    -1,    -1,    -1,
-       7,     8,    44,    10,    11,    12,    13,    14,    34,    16,
-      17,    -1,    19,    20,    -1,    -1,     7,     8,    44,    10,
-      11,    12,    13,    14,    -1,    16,    17,    34,    19,    20,
-      -1,    -1,    -1,    -1,    -1,     7,     8,    44,    10,    11,
-      12,    13,    14,    -1,    16,    17,    -1,    19,    20,    -1,
-      -1,    -1,   137,    44,    -1,   140,    -1,    -1,   143,    -1,
-     145,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-       7,     8,    44,    10,    11,    12,    13,    14,    -1,    16,
+      84,    -1,    -1,    44,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,     7,     8,    -1,    10,    11,    12,    13,    14,
+      -1,    16,    17,    -1,    19,    20,   110,   111,   112,   113,
+     114,   115,   116,   117,   118,   119,   120,   121,   122,    34,
+     124,    -1,   126,   127,   128,    -1,    -1,    -1,    -1,    44,
+      -1,    -1,     7,     8,    -1,    10,    11,    12,    13,    14,
+     144,    16,    17,    -1,    19,    20,    -1,     7,     8,    -1,
+      10,    11,    12,    13,    14,    -1,    16,    17,    -1,    19,
+      20,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    44,
+      -1,    -1,    -1,    -1,    34,    -1,    -1,   138,    -1,    -1,
+     141,    -1,    -1,   144,    44,   146,   147,     7,     8,    -1,
+      10,    11,    12,    13,    14,    -1,    16,    17,    -1,    19,
+      20,    -1,    -1,     7,     8,    -1,    10,    11,    12,    13,
+      14,    -1,    16,    17,    34,    19,    20,    -1,    -1,    -1,
+      -1,    -1,    -1,   138,    44,    -1,   141,    -1,    -1,   144,
+      34,   146,    -1,    -1,    -1,    -1,    -1,    -1,     7,     8,
+      44,    10,    11,    12,    13,    14,    -1,    16,    17,    -1,
+      19,    20,     7,     8,    -1,    10,    11,    12,    13,    14,
+      -1,    16,    17,   138,    19,    20,   141,    -1,   143,   144,
+      -1,   146,    -1,    -1,    -1,    44,    -1,    -1,   138,    -1,
+      -1,   141,    -1,    -1,   144,    -1,   146,    -1,    -1,    44,
+       7,     8,    -1,    10,    11,    12,    13,    14,    -1,    16,
       17,    -1,    19,    20,     7,     8,    -1,    10,    11,    12,
-      13,    14,    -1,    16,    17,   137,    19,    20,   140,    -1,
-      -1,   143,    -1,   145,    -1,    -1,    -1,    44,    -1,    -1,
-      -1,   137,    -1,    -1,   140,    -1,    -1,   143,    -1,   145,
-      -1,    44,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-     137,    -1,    -1,   140,    -1,    -1,   143,    -1,   145,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,   137,    -1,    -1,   140,
-      -1,    -1,   143,    -1,   145,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,   137,    -1,    -1,   140,    -1,
-      -1,   143,    -1,   145,    -1,    -1,    -1,    -1,    -1,    -1,
+      13,    14,    -1,    16,    17,    -1,    19,    20,   138,    -1,
+      -1,   141,    -1,    -1,   144,    -1,   146,    44,    -1,    -1,
+      -1,    -1,    -1,    -1,   138,    -1,    -1,   141,    -1,    -1,
+     144,    44,   146,     7,     8,    -1,    10,    11,    12,    13,
+      14,    -1,    16,    17,    -1,    19,    20,    -1,     7,     8,
+      -1,    10,    11,    12,    13,    14,    -1,    16,    17,   138,
+      19,    20,   141,    -1,    -1,   144,    -1,   146,    -1,    -1,
+      44,    -1,    -1,   138,    -1,    -1,   141,    -1,    -1,   144,
+      -1,   146,    -1,    -1,    -1,    44,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    32,    -1,    -1,    -1,    -1,    -1,    -1,
-     137,    -1,    -1,   140,    -1,    -1,   143,    -1,   145,    -1,
-      -1,    50,    51,    -1,   137,    -1,    -1,   140,    -1,    -1,
-     143,    -1,   145,    62,    63,    64,    65,    66,    67,    68,
-      69,    70,    71,    72,    73,    74,    75,    76,    77,    78,
-      79,    80,    81,    82,    83,    84,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,   105,   106,   107,    -1,
-      -1,   110,   111,   112,   113,   114,   115,   116,   117,   118,
-     119,   120,   121,   122,   123,   124,   125,   126,   127,   128
+      -1,   138,    -1,    -1,   141,    -1,    -1,   144,    -1,   146,
+      -1,    -1,    -1,    -1,    -1,   138,    -1,    -1,   141,    -1,
+      -1,   144,    -1,   146,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    32,    -1,
+      -1,    -1,    -1,    -1,   138,    -1,    -1,   141,    -1,    -1,
+     144,    -1,   146,    -1,    -1,    -1,    50,    51,    -1,   138,
+      -1,    -1,   141,    -1,    -1,   144,    -1,   146,    62,    63,
+      64,    65,    66,    67,    68,    69,    70,    71,    72,    73,
+      74,    75,    76,    77,    78,    79,    80,    81,    82,    83,
+      84,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,   105,   106,   107,    -1,    -1,   110,   111,   112,   113,
+     114,   115,   116,   117,   118,   119,   120,   121,   122,   123,
+     124,   125,   126,   127,   128
 };
 
 /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
@@ -2313,61 +2317,61 @@
 static const unsigned char yystos[] =
 {
        0,    16,    17,    19,    20,    21,    27,    28,    46,    49,
-      53,   156,   158,   159,   160,   188,   189,   190,   192,   191,
-      47,    61,   197,   134,    52,   134,    15,   134,    37,    38,
-      39,    40,    41,    42,    43,    45,   133,   161,   162,   163,
-       0,   190,    41,    43,   164,   207,    37,    38,    39,    42,
-     165,   204,   206,   213,   134,   134,   140,   198,    19,   196,
-       7,     8,    10,    11,    12,    13,    14,    44,   137,   140,
-     143,   145,   156,   159,   177,   178,   210,   163,   163,    29,
-      30,   187,   163,   163,    18,   214,   215,    26,   146,   205,
-     214,    19,    19,    19,   199,   138,     4,     4,     4,   145,
-      10,   146,   178,   183,   136,   138,   187,   187,    11,    12,
-      13,   154,   155,   178,   184,    55,    56,    57,    58,    59,
-      60,   166,   202,   202,   158,   218,   135,   142,    34,   178,
-     179,   181,   182,   141,   141,   146,   183,   135,   146,   182,
-     184,   178,    23,    24,     3,     4,     5,     6,     9,    22,
+      53,   157,   159,   160,   161,   189,   190,   191,   193,   192,
+      47,    61,   198,   135,    52,   135,    15,   135,    37,    38,
+      39,    40,    41,    42,    43,    45,   134,   162,   163,   164,
+       0,   191,    41,    43,   165,   208,    37,    38,    39,    42,
+     166,   205,   207,   214,   135,   135,   141,   199,    19,   197,
+       7,     8,    10,    11,    12,    13,    14,    44,   138,   141,
+     144,   146,   157,   160,   178,   179,   211,   164,   164,    29,
+      30,   188,   164,   164,    18,   215,   216,    26,   147,   206,
+     215,    19,    19,    19,   200,   139,     4,     4,     4,   146,
+      10,   147,   179,   184,   137,   139,   188,   188,    11,    12,
+      13,   155,   156,   179,   185,    55,    56,    57,    58,    59,
+      60,   167,   203,   203,   159,   219,   136,   143,    34,   179,
+     180,   182,   183,   142,   142,   147,   184,   136,   147,   183,
+     185,   179,    23,    24,     3,     4,     5,     6,     9,    22,
       35,    36,    68,    69,    70,    71,    72,    73,    74,    75,
       76,    77,    78,    79,    80,    81,    82,    83,    84,   110,
      111,   112,   113,   114,   115,   116,   117,   118,   119,   120,
-     121,   122,   124,   126,   127,   128,   140,   143,   145,   147,
-     149,   150,   151,   185,   210,   193,     4,    10,   178,   180,
-      25,   145,   203,    32,    50,    51,    62,    63,    64,    65,
+     121,   122,   124,   126,   127,   128,   141,   144,   146,   148,
+     150,   151,   152,   186,   211,   194,     4,    10,   179,   181,
+      25,   146,   204,    32,    50,    51,    62,    63,    64,    65,
       66,    67,    83,    84,   105,   106,   107,   110,   123,   124,
-     125,   126,   127,   128,   149,   150,   151,   216,   222,   223,
-     224,   225,    19,   168,   135,   139,   178,   178,   144,   146,
-     178,   139,   194,   195,    85,    86,    87,    88,    89,    90,
-      91,    92,    93,    94,   152,    23,    24,    91,    92,    93,
+     125,   126,   127,   128,   150,   151,   152,   217,   223,   224,
+     225,   226,    19,   169,   136,   140,   179,   179,   145,   147,
+     179,   140,   195,   196,    85,    86,    87,    88,    89,    90,
+      91,    92,    93,    94,   153,    23,    24,    91,    92,    93,
       94,    95,    96,    97,    98,    99,   100,   101,   102,   103,
-     104,   153,   138,   138,   138,   138,   138,   142,   184,   186,
-     145,   186,   146,   186,    19,   138,   138,   138,   135,   175,
-     159,    50,    10,   178,   212,    11,    14,    11,   154,   166,
-     152,   153,   178,   178,   212,   178,   178,   219,   212,   212,
-     212,   212,   212,   178,   178,   212,   166,   108,   109,   112,
-     113,   130,   131,   167,    34,   179,   170,   142,   144,   144,
-     170,   175,   175,   138,   138,   184,   184,   184,   184,   184,
-     135,   142,   146,   178,   186,   144,   146,   184,   184,   184,
-      31,    48,   173,   176,   138,     3,     4,     9,    22,    23,
-      24,    35,    36,    52,   143,   185,   209,   210,   211,   211,
-     211,   211,   180,   178,   178,   135,   172,   135,   172,   211,
-     140,   135,   135,   135,   135,   135,   135,   211,   211,    33,
-     180,   178,   212,   129,   167,   169,   184,   184,   221,   135,
-     135,   135,   135,   184,   144,   146,   135,   135,    33,    19,
-       4,   175,    34,   178,   200,   201,    54,   208,   186,   135,
-     135,   211,   211,   211,    11,    48,    11,   221,   211,   140,
-     212,   178,   212,   212,   212,   135,   135,   178,   211,   211,
-     135,   135,   135,   135,   139,   184,   184,   184,   184,   144,
-     184,   184,   178,   168,   135,   139,    19,   144,    14,    14,
-     138,   135,   135,   211,     4,   211,   135,   211,   135,   135,
-     135,   211,   211,   138,   178,   184,   184,   212,   135,   139,
-     135,   135,   139,   139,   139,   156,   157,    34,   178,   170,
-     135,   211,   211,   178,   220,   211,   211,   135,   172,   172,
-     211,   135,   212,   212,   212,   220,   211,   139,   139,   184,
-     184,   184,   168,   173,   174,    19,   135,   140,   211,   135,
-     139,   142,   211,   139,   139,   139,   139,   157,    48,   171,
-      14,   142,   154,   217,   168,   178,   170,   142,   170,     4,
-     211,   209,   142,   154,   211,    33,   135,   209,   168,    14,
-      14,   135,   211,   211,    14,    66,   211,    14,   211
+     104,   154,   139,   139,   139,   139,   139,   143,   185,   187,
+     146,   187,   147,   187,    19,   139,   139,   139,   136,   176,
+     160,    50,    10,   179,   213,    11,    14,    11,   155,   167,
+     153,   154,   179,   179,   213,   179,   179,   220,   213,   213,
+     213,   213,   213,   179,   179,   213,   167,   108,   109,   112,
+     113,   130,   131,   168,    34,   180,   171,   143,   145,   145,
+     171,   176,   176,   139,   139,   185,   185,   185,   185,   185,
+     136,   143,   147,   179,   187,   145,   147,   185,   185,   185,
+      31,    48,   174,   177,   139,     3,     4,     9,    22,    23,
+      24,    35,    36,    52,   144,   186,   210,   211,   212,   212,
+     212,   212,   181,   179,   179,   136,   173,   136,   173,   212,
+     141,   136,   136,   136,   136,   136,   136,   212,   212,    33,
+     181,   179,   213,   129,   132,   168,   170,   185,   185,   222,
+     136,   136,   136,   136,   185,   145,   147,   136,   136,    33,
+      19,     4,   176,    34,   179,   201,   202,    54,   209,   187,
+     136,   136,   212,   212,   212,    11,    48,    11,   222,   212,
+     141,   213,   179,   213,   213,   213,   136,   136,   179,   212,
+     212,   136,   136,   136,   136,   140,   185,   185,   185,   185,
+     145,   185,   185,   179,   169,   136,   140,    19,   145,    14,
+      14,   139,   136,   136,   212,     4,   212,   136,   212,   136,
+     136,   136,   212,   212,   139,   179,   185,   185,   213,   136,
+     140,   136,   136,   140,   140,   140,   157,   158,    34,   179,
+     171,   136,   212,   212,   179,   221,   212,   212,   136,   173,
+     173,   212,   136,   213,   213,   213,   221,   212,   140,   140,
+     185,   185,   185,   169,   174,   175,    19,   136,   141,   212,
+     136,   140,   143,   212,   140,   140,   140,   140,   158,    48,
+     172,    14,   143,   155,   218,   169,   179,   171,   143,   171,
+       4,   212,   210,   143,   155,   212,    33,   136,   210,   169,
+      14,    14,   136,   212,   212,    14,    66,   212,    14,   212
 };
 
 #define yyerrok		(yyerrstatus = 0)
@@ -3370,25 +3374,30 @@
     { (yyval.ParamAttrs) = FunctionType::NoReturnAttribute; ;}
     break;
 
-  case 101:
-#line 1210 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
-    { (yyval.ParamAttrs) = FunctionType::NoAttributeSet; ;}
+  case 100:
+#line 1207 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+    { (yyval.ParamAttrs) = FunctionType::NoUnwindAttribute; ;}
     break;
 
   case 102:
 #line 1211 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+    { (yyval.ParamAttrs) = FunctionType::NoAttributeSet; ;}
+    break;
+
+  case 103:
+#line 1212 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
                 (yyval.ParamAttrs) = FunctionType::ParameterAttributes((yyvsp[-1].ParamAttrs) | (yyvsp[0].ParamAttrs));
               ;}
     break;
 
-  case 103:
-#line 1218 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 104:
+#line 1219 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     { (yyval.UIntVal) = 0; ;}
     break;
 
-  case 104:
-#line 1219 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 105:
+#line 1220 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
   (yyval.UIntVal) = (yyvsp[0].UInt64Val);
   if ((yyval.UIntVal) != 0 && !isPowerOf2_32((yyval.UIntVal)))
@@ -3397,13 +3406,13 @@
 ;}
     break;
 
-  case 105:
-#line 1225 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 106:
+#line 1226 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     { (yyval.UIntVal) = 0; ;}
     break;
 
-  case 106:
-#line 1226 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 107:
+#line 1227 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
   (yyval.UIntVal) = (yyvsp[0].UInt64Val);
   if ((yyval.UIntVal) != 0 && !isPowerOf2_32((yyval.UIntVal)))
@@ -3412,8 +3421,8 @@
 ;}
     break;
 
-  case 107:
-#line 1234 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 108:
+#line 1235 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
   for (unsigned i = 0, e = strlen((yyvsp[0].StrVal)); i != e; ++i)
     if ((yyvsp[0].StrVal)[i] == '"' || (yyvsp[0].StrVal)[i] == '\\')
@@ -3423,19 +3432,14 @@
 ;}
     break;
 
-  case 108:
-#line 1242 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
-    { (yyval.StrVal) = 0; ;}
-    break;
-
   case 109:
 #line 1243 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
-    { (yyval.StrVal) = (yyvsp[0].StrVal); ;}
+    { (yyval.StrVal) = 0; ;}
     break;
 
   case 110:
-#line 1248 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
-    {;}
+#line 1244 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+    { (yyval.StrVal) = (yyvsp[0].StrVal); ;}
     break;
 
   case 111:
@@ -3445,6 +3449,11 @@
 
   case 112:
 #line 1250 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+    {;}
+    break;
+
+  case 113:
+#line 1251 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     CurGV->setSection((yyvsp[0].StrVal));
     free((yyvsp[0].StrVal));
@@ -3452,8 +3461,8 @@
   ;}
     break;
 
-  case 113:
-#line 1255 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 114:
+#line 1256 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     if ((yyvsp[0].UInt64Val) != 0 && !isPowerOf2_32((yyvsp[0].UInt64Val)))
       GEN_ERROR("Alignment must be a power of two");
@@ -3462,24 +3471,24 @@
   ;}
     break;
 
-  case 118:
-#line 1271 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 119:
+#line 1272 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.TypeVal) = new PATypeHolder(OpaqueType::get());
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 119:
-#line 1275 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 120:
+#line 1276 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.TypeVal) = new PATypeHolder((yyvsp[0].PrimType));
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 120:
-#line 1279 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 121:
+#line 1280 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {                             // Pointer type?
     if (*(yyvsp[-1].TypeVal) == Type::LabelTy)
       GEN_ERROR("Cannot form a pointer to a basic block");
@@ -3489,8 +3498,8 @@
   ;}
     break;
 
-  case 121:
-#line 1286 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 122:
+#line 1287 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {            // Named types are also simple types...
     const Type* tmp = getTypeVal((yyvsp[0].ValIDVal));
     CHECK_FOR_ERROR
@@ -3498,8 +3507,8 @@
   ;}
     break;
 
-  case 122:
-#line 1291 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 123:
+#line 1292 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {                   // Type UpReference
     if ((yyvsp[0].UInt64Val) > (uint64_t)~0U) GEN_ERROR("Value out of range");
     OpaqueType *OT = OpaqueType::get();        // Use temporary placeholder
@@ -3510,8 +3519,8 @@
   ;}
     break;
 
-  case 123:
-#line 1299 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 124:
+#line 1300 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     std::vector<const Type*> Params;
     std::vector<FunctionType::ParameterAttributes> Attrs;
@@ -3533,8 +3542,8 @@
   ;}
     break;
 
-  case 124:
-#line 1318 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 125:
+#line 1319 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     std::vector<const Type*> Params;
     std::vector<FunctionType::ParameterAttributes> Attrs;
@@ -3555,8 +3564,8 @@
   ;}
     break;
 
-  case 125:
-#line 1337 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 126:
+#line 1338 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {          // Sized array type?
     (yyval.TypeVal) = new PATypeHolder(HandleUpRefs(ArrayType::get(*(yyvsp[-1].TypeVal), (unsigned)(yyvsp[-3].UInt64Val))));
     delete (yyvsp[-1].TypeVal);
@@ -3564,8 +3573,8 @@
   ;}
     break;
 
-  case 126:
-#line 1342 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 127:
+#line 1343 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {          // Vector type?
      const llvm::Type* ElemTy = (yyvsp[-1].TypeVal)->get();
      if ((unsigned)(yyvsp[-3].UInt64Val) != (yyvsp[-3].UInt64Val))
@@ -3580,8 +3589,8 @@
   ;}
     break;
 
-  case 127:
-#line 1354 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 128:
+#line 1355 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {                        // Structure type?
     std::vector<const Type*> Elements;
     for (std::list<llvm::PATypeHolder>::iterator I = (yyvsp[-1].TypeList)->begin(),
@@ -3594,16 +3603,16 @@
   ;}
     break;
 
-  case 128:
-#line 1364 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 129:
+#line 1365 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {                                  // Empty structure type?
     (yyval.TypeVal) = new PATypeHolder(StructType::get(std::vector<const Type*>()));
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 129:
-#line 1368 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 130:
+#line 1369 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     std::vector<const Type*> Elements;
     for (std::list<llvm::PATypeHolder>::iterator I = (yyvsp[-2].TypeList)->begin(),
@@ -3616,24 +3625,24 @@
   ;}
     break;
 
-  case 130:
-#line 1378 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 131:
+#line 1379 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {                         // Empty structure type?
     (yyval.TypeVal) = new PATypeHolder(StructType::get(std::vector<const Type*>(), true));
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 131:
-#line 1385 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 132:
+#line 1386 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     { 
     (yyval.TypeWithAttrs).Ty = (yyvsp[-1].TypeVal); 
     (yyval.TypeWithAttrs).Attrs = (yyvsp[0].ParamAttrs); 
   ;}
     break;
 
-  case 132:
-#line 1392 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 133:
+#line 1393 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[0].TypeVal))->getDescription());
@@ -3643,15 +3652,15 @@
   ;}
     break;
 
-  case 133:
-#line 1399 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 134:
+#line 1400 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.TypeVal) = new PATypeHolder(Type::VoidTy);
   ;}
     break;
 
-  case 134:
-#line 1404 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 135:
+#line 1405 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.TypeWithAttrsList) = new TypeWithAttrsList();
     (yyval.TypeWithAttrsList)->push_back((yyvsp[0].TypeWithAttrs));
@@ -3659,16 +3668,16 @@
   ;}
     break;
 
-  case 135:
-#line 1409 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 136:
+#line 1410 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     ((yyval.TypeWithAttrsList)=(yyvsp[-2].TypeWithAttrsList))->push_back((yyvsp[0].TypeWithAttrs));
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 137:
-#line 1417 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 138:
+#line 1418 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.TypeWithAttrsList)=(yyvsp[-2].TypeWithAttrsList);
     TypeWithAttrs TWA; TWA.Attrs = FunctionType::NoAttributeSet;
@@ -3678,8 +3687,8 @@
   ;}
     break;
 
-  case 138:
-#line 1424 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 139:
+#line 1425 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.TypeWithAttrsList) = new TypeWithAttrsList;
     TypeWithAttrs TWA; TWA.Attrs = FunctionType::NoAttributeSet;
@@ -3689,16 +3698,16 @@
   ;}
     break;
 
-  case 139:
-#line 1431 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 140:
+#line 1432 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.TypeWithAttrsList) = new TypeWithAttrsList();
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 140:
-#line 1439 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 141:
+#line 1440 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.TypeList) = new std::list<PATypeHolder>();
     (yyval.TypeList)->push_back(*(yyvsp[0].TypeVal)); 
@@ -3707,8 +3716,8 @@
   ;}
     break;
 
-  case 141:
-#line 1445 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 142:
+#line 1446 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     ((yyval.TypeList)=(yyvsp[-2].TypeList))->push_back(*(yyvsp[0].TypeVal)); 
     delete (yyvsp[0].TypeVal);
@@ -3716,8 +3725,8 @@
   ;}
     break;
 
-  case 142:
-#line 1457 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 143:
+#line 1458 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     { // Nonempty unsized arr
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-3].TypeVal))->getDescription());
@@ -3748,8 +3757,8 @@
   ;}
     break;
 
-  case 143:
-#line 1485 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 144:
+#line 1486 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-2].TypeVal))->getDescription());
@@ -3768,8 +3777,8 @@
   ;}
     break;
 
-  case 144:
-#line 1501 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 145:
+#line 1502 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-2].TypeVal))->getDescription());
@@ -3801,8 +3810,8 @@
   ;}
     break;
 
-  case 145:
-#line 1530 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 146:
+#line 1531 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     { // Nonempty unsized arr
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-3].TypeVal))->getDescription());
@@ -3833,8 +3842,8 @@
   ;}
     break;
 
-  case 146:
-#line 1558 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 147:
+#line 1559 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     const StructType *STy = dyn_cast<StructType>((yyvsp[-3].TypeVal)->get());
     if (STy == 0)
@@ -3862,8 +3871,8 @@
   ;}
     break;
 
-  case 147:
-#line 1583 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 148:
+#line 1584 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-2].TypeVal))->getDescription());
@@ -3885,8 +3894,8 @@
   ;}
     break;
 
-  case 148:
-#line 1602 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 149:
+#line 1603 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     const StructType *STy = dyn_cast<StructType>((yyvsp[-5].TypeVal)->get());
     if (STy == 0)
@@ -3915,8 +3924,8 @@
   ;}
     break;
 
-  case 149:
-#line 1628 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 150:
+#line 1629 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-4].TypeVal))->getDescription());
@@ -3939,8 +3948,8 @@
   ;}
     break;
 
-  case 150:
-#line 1648 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 151:
+#line 1649 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-1].TypeVal))->getDescription());
@@ -3955,8 +3964,8 @@
   ;}
     break;
 
-  case 151:
-#line 1660 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 152:
+#line 1661 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-1].TypeVal))->getDescription());
@@ -3966,8 +3975,8 @@
   ;}
     break;
 
-  case 152:
-#line 1667 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 153:
+#line 1668 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-1].TypeVal))->getDescription());
@@ -4036,8 +4045,8 @@
   ;}
     break;
 
-  case 153:
-#line 1733 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 154:
+#line 1734 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-1].TypeVal))->getDescription());
@@ -4050,8 +4059,8 @@
   ;}
     break;
 
-  case 154:
-#line 1743 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 155:
+#line 1744 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-1].TypeVal))->getDescription());
@@ -4064,8 +4073,8 @@
   ;}
     break;
 
-  case 155:
-#line 1753 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 156:
+#line 1754 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {      // integral constants
     if (!ConstantInt::isValueValidForType((yyvsp[-1].PrimType), (yyvsp[0].SInt64Val)))
       GEN_ERROR("Constant value doesn't fit in type");
@@ -4074,8 +4083,8 @@
   ;}
     break;
 
-  case 156:
-#line 1759 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 157:
+#line 1760 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {      // arbitrary precision integer constants
     uint32_t BitWidth = cast<IntegerType>((yyvsp[-1].PrimType))->getBitWidth();
     if ((yyvsp[0].APIntVal)->getBitWidth() > BitWidth) {
@@ -4088,8 +4097,8 @@
   ;}
     break;
 
-  case 157:
-#line 1769 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 158:
+#line 1770 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {      // integral constants
     if (!ConstantInt::isValueValidForType((yyvsp[-1].PrimType), (yyvsp[0].UInt64Val)))
       GEN_ERROR("Constant value doesn't fit in type");
@@ -4098,8 +4107,8 @@
   ;}
     break;
 
-  case 158:
-#line 1775 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 159:
+#line 1776 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {      // arbitrary precision integer constants
     uint32_t BitWidth = cast<IntegerType>((yyvsp[-1].PrimType))->getBitWidth();
     if ((yyvsp[0].APIntVal)->getBitWidth() > BitWidth) {
@@ -4112,8 +4121,8 @@
   ;}
     break;
 
-  case 159:
-#line 1785 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 160:
+#line 1786 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {                      // Boolean constants
     assert(cast<IntegerType>((yyvsp[-1].PrimType))->getBitWidth() == 1 && "Not Bool?");
     (yyval.ConstVal) = ConstantInt::getTrue();
@@ -4121,8 +4130,8 @@
   ;}
     break;
 
-  case 160:
-#line 1790 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 161:
+#line 1791 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {                     // Boolean constants
     assert(cast<IntegerType>((yyvsp[-1].PrimType))->getBitWidth() == 1 && "Not Bool?");
     (yyval.ConstVal) = ConstantInt::getFalse();
@@ -4130,8 +4139,8 @@
   ;}
     break;
 
-  case 161:
-#line 1795 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 162:
+#line 1796 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {                   // Float & Double constants
     if (!ConstantFP::isValueValidForType((yyvsp[-1].PrimType), (yyvsp[0].FPVal)))
       GEN_ERROR("Floating point constant invalid for type");
@@ -4140,8 +4149,8 @@
   ;}
     break;
 
-  case 162:
-#line 1803 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 163:
+#line 1804 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-1].TypeVal))->getDescription());
@@ -4156,8 +4165,8 @@
   ;}
     break;
 
-  case 163:
-#line 1815 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 164:
+#line 1816 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     if (!isa<PointerType>((yyvsp[-2].ConstVal)->getType()))
       GEN_ERROR("GetElementPtr requires a pointer operand");
@@ -4182,8 +4191,8 @@
   ;}
     break;
 
-  case 164:
-#line 1837 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 165:
+#line 1838 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     if ((yyvsp[-5].ConstVal)->getType() != Type::Int1Ty)
       GEN_ERROR("Select condition must be of boolean type");
@@ -4194,8 +4203,8 @@
   ;}
     break;
 
-  case 165:
-#line 1845 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 166:
+#line 1846 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     if ((yyvsp[-3].ConstVal)->getType() != (yyvsp[-1].ConstVal)->getType())
       GEN_ERROR("Binary operator types must match");
@@ -4204,8 +4213,8 @@
   ;}
     break;
 
-  case 166:
-#line 1851 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 167:
+#line 1852 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     if ((yyvsp[-3].ConstVal)->getType() != (yyvsp[-1].ConstVal)->getType())
       GEN_ERROR("Logical operator types must match");
@@ -4219,8 +4228,8 @@
   ;}
     break;
 
-  case 167:
-#line 1862 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 168:
+#line 1863 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     if ((yyvsp[-3].ConstVal)->getType() != (yyvsp[-1].ConstVal)->getType())
       GEN_ERROR("icmp operand types must match");
@@ -4228,8 +4237,8 @@
   ;}
     break;
 
-  case 168:
-#line 1867 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 169:
+#line 1868 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     if ((yyvsp[-3].ConstVal)->getType() != (yyvsp[-1].ConstVal)->getType())
       GEN_ERROR("fcmp operand types must match");
@@ -4237,8 +4246,8 @@
   ;}
     break;
 
-  case 169:
-#line 1872 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 170:
+#line 1873 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     if (!ExtractElementInst::isValidOperands((yyvsp[-3].ConstVal), (yyvsp[-1].ConstVal)))
       GEN_ERROR("Invalid extractelement operands");
@@ -4247,8 +4256,8 @@
   ;}
     break;
 
-  case 170:
-#line 1878 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 171:
+#line 1879 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     if (!InsertElementInst::isValidOperands((yyvsp[-5].ConstVal), (yyvsp[-3].ConstVal), (yyvsp[-1].ConstVal)))
       GEN_ERROR("Invalid insertelement operands");
@@ -4257,8 +4266,8 @@
   ;}
     break;
 
-  case 171:
-#line 1884 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 172:
+#line 1885 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     if (!ShuffleVectorInst::isValidOperands((yyvsp[-5].ConstVal), (yyvsp[-3].ConstVal), (yyvsp[-1].ConstVal)))
       GEN_ERROR("Invalid shufflevector operands");
@@ -4267,16 +4276,16 @@
   ;}
     break;
 
-  case 172:
-#line 1893 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 173:
+#line 1894 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     ((yyval.ConstVector) = (yyvsp[-2].ConstVector))->push_back((yyvsp[0].ConstVal));
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 173:
-#line 1897 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 174:
+#line 1898 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ConstVector) = new std::vector<Constant*>();
     (yyval.ConstVector)->push_back((yyvsp[0].ConstVal));
@@ -4284,18 +4293,18 @@
   ;}
     break;
 
-  case 174:
-#line 1905 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 175:
+#line 1906 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     { (yyval.BoolVal) = false; ;}
     break;
 
-  case 175:
-#line 1905 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 176:
+#line 1906 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     { (yyval.BoolVal) = true; ;}
     break;
 
-  case 176:
-#line 1916 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 177:
+#line 1917 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ModuleVal) = ParserResult = CurModule.CurrentModule;
     CurModule.ModuleDone();
@@ -4303,8 +4312,8 @@
   ;}
     break;
 
-  case 177:
-#line 1921 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 178:
+#line 1922 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ModuleVal) = ParserResult = CurModule.CurrentModule;
     CurModule.ModuleDone();
@@ -4312,40 +4321,40 @@
   ;}
     break;
 
-  case 180:
-#line 1934 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 181:
+#line 1935 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     { CurFun.isDeclare = false; ;}
     break;
 
-  case 181:
-#line 1934 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 182:
+#line 1935 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     CurFun.FunctionDone();
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 182:
-#line 1938 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 183:
+#line 1939 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     { CurFun.isDeclare = true; ;}
     break;
 
-  case 183:
-#line 1938 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 184:
+#line 1939 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 184:
-#line 1941 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 185:
+#line 1942 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 185:
-#line 1944 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 186:
+#line 1945 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     // Emit an error if there are any unresolved types left.
     if (!CurModule.LateResolveTypes.empty()) {
@@ -4360,8 +4369,8 @@
   ;}
     break;
 
-  case 186:
-#line 1956 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 187:
+#line 1957 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[0].TypeVal))->getDescription());
@@ -4388,8 +4397,8 @@
   ;}
     break;
 
-  case 187:
-#line 1980 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 188:
+#line 1981 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     ResolveTypeTo((yyvsp[-2].StrVal), (yyvsp[0].PrimType));
 
@@ -4403,8 +4412,8 @@
   ;}
     break;
 
-  case 188:
-#line 1991 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 189:
+#line 1992 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     { 
     /* "Externally Visible" Linkage */
     if ((yyvsp[0].ConstVal) == 0) 
@@ -4415,15 +4424,15 @@
   ;}
     break;
 
-  case 189:
-#line 1998 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 190:
+#line 1999 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     CurGV = 0;
   ;}
     break;
 
-  case 190:
-#line 2001 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 191:
+#line 2002 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     if ((yyvsp[0].ConstVal) == 0) 
       GEN_ERROR("Global value initializer is not a constant");
@@ -4432,15 +4441,15 @@
   ;}
     break;
 
-  case 191:
-#line 2006 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 192:
+#line 2007 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     CurGV = 0;
   ;}
     break;
 
-  case 192:
-#line 2009 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 193:
+#line 2010 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[0].TypeVal))->getDescription());
@@ -4450,30 +4459,30 @@
   ;}
     break;
 
-  case 193:
-#line 2015 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 194:
+#line 2016 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     CurGV = 0;
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 194:
-#line 2019 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 195:
+#line 2020 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     { 
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 195:
-#line 2022 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 196:
+#line 2023 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 196:
-#line 2028 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 197:
+#line 2029 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
   const std::string &AsmSoFar = CurModule.CurrentModule->getModuleInlineAsm();
   char *EndStr = UnEscapeLexed((yyvsp[0].StrVal), true);
@@ -4488,24 +4497,24 @@
 ;}
     break;
 
-  case 197:
-#line 2041 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 198:
+#line 2042 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     CurModule.CurrentModule->setTargetTriple((yyvsp[0].StrVal));
     free((yyvsp[0].StrVal));
   ;}
     break;
 
-  case 198:
-#line 2045 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 199:
+#line 2046 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     CurModule.CurrentModule->setDataLayout((yyvsp[0].StrVal));
     free((yyvsp[0].StrVal));
   ;}
     break;
 
-  case 200:
-#line 2052 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 201:
+#line 2053 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
           CurModule.CurrentModule->addLibrary((yyvsp[0].StrVal));
           free((yyvsp[0].StrVal));
@@ -4513,8 +4522,8 @@
         ;}
     break;
 
-  case 201:
-#line 2057 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 202:
+#line 2058 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
           CurModule.CurrentModule->addLibrary((yyvsp[0].StrVal));
           free((yyvsp[0].StrVal));
@@ -4522,15 +4531,15 @@
         ;}
     break;
 
-  case 202:
-#line 2062 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 203:
+#line 2063 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
           CHECK_FOR_ERROR
         ;}
     break;
 
-  case 203:
-#line 2071 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 204:
+#line 2072 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-2].TypeVal))->getDescription());
@@ -4543,8 +4552,8 @@
   ;}
     break;
 
-  case 204:
-#line 2081 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 205:
+#line 2082 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-2].TypeVal))->getDescription());
@@ -4557,16 +4566,16 @@
   ;}
     break;
 
-  case 205:
-#line 2092 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 206:
+#line 2093 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ArgList) = (yyvsp[0].ArgList);
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 206:
-#line 2096 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 207:
+#line 2097 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ArgList) = (yyvsp[-2].ArgList);
     struct ArgListEntry E;
@@ -4578,8 +4587,8 @@
   ;}
     break;
 
-  case 207:
-#line 2105 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 208:
+#line 2106 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ArgList) = new ArgListType;
     struct ArgListEntry E;
@@ -4591,16 +4600,16 @@
   ;}
     break;
 
-  case 208:
-#line 2114 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 209:
+#line 2115 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ArgList) = 0;
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 209:
-#line 2120 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 210:
+#line 2121 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
   UnEscapeLexed((yyvsp[-6].StrVal));
   std::string FunctionName((yyvsp[-6].StrVal));
@@ -4713,8 +4722,8 @@
 ;}
     break;
 
-  case 212:
-#line 2233 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 213:
+#line 2234 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
   (yyval.FunctionVal) = CurFun.CurrentFunction;
 
@@ -4725,16 +4734,16 @@
 ;}
     break;
 
-  case 215:
-#line 2244 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 216:
+#line 2245 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
   (yyval.FunctionVal) = (yyvsp[-1].FunctionVal);
   CHECK_FOR_ERROR
 ;}
     break;
 
-  case 216:
-#line 2249 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 217:
+#line 2250 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     CurFun.CurrentFunction->setLinkage((yyvsp[-2].Linkage));
     CurFun.CurrentFunction->setVisibility((yyvsp[-1].Visibility));
@@ -4744,88 +4753,88 @@
   ;}
     break;
 
-  case 217:
-#line 2261 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 218:
+#line 2262 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.BoolVal) = false;
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 218:
-#line 2265 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 219:
+#line 2266 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.BoolVal) = true;
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 219:
-#line 2270 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 220:
+#line 2271 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {    // A reference to a direct constant
     (yyval.ValIDVal) = ValID::create((yyvsp[0].SInt64Val));
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 220:
-#line 2274 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 221:
+#line 2275 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ValIDVal) = ValID::create((yyvsp[0].UInt64Val));
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 221:
-#line 2278 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 222:
+#line 2279 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {                     // Perhaps it's an FP constant?
     (yyval.ValIDVal) = ValID::create((yyvsp[0].FPVal));
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 222:
-#line 2282 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 223:
+#line 2283 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ValIDVal) = ValID::create(ConstantInt::getTrue());
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 223:
-#line 2286 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 224:
+#line 2287 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ValIDVal) = ValID::create(ConstantInt::getFalse());
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 224:
-#line 2290 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 225:
+#line 2291 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ValIDVal) = ValID::createNull();
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 225:
-#line 2294 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 226:
+#line 2295 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ValIDVal) = ValID::createUndef();
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 226:
-#line 2298 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 227:
+#line 2299 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {     // A vector zero constant.
     (yyval.ValIDVal) = ValID::createZeroInit();
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 227:
-#line 2302 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 228:
+#line 2303 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     { // Nonempty unsized packed vector
     const Type *ETy = (*(yyvsp[-1].ConstVector))[0]->getType();
     int NumElements = (yyvsp[-1].ConstVector)->size(); 
@@ -4853,16 +4862,16 @@
   ;}
     break;
 
-  case 228:
-#line 2327 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 229:
+#line 2328 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ValIDVal) = ValID::create((yyvsp[0].ConstVal));
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 229:
-#line 2331 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 230:
+#line 2332 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     char *End = UnEscapeLexed((yyvsp[-2].StrVal), true);
     std::string AsmStr = std::string((yyvsp[-2].StrVal), End);
@@ -4875,40 +4884,40 @@
   ;}
     break;
 
-  case 230:
-#line 2345 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 231:
+#line 2346 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {  // Is it an integer reference...?
     (yyval.ValIDVal) = ValID::createLocalID((yyvsp[0].UIntVal));
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 231:
-#line 2349 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 232:
+#line 2350 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ValIDVal) = ValID::createGlobalID((yyvsp[0].UIntVal));
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 232:
-#line 2353 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 233:
+#line 2354 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {                   // Is it a named reference...?
     (yyval.ValIDVal) = ValID::createLocalName((yyvsp[0].StrVal));
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 233:
-#line 2357 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 234:
+#line 2358 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {                   // Is it a named reference...?
     (yyval.ValIDVal) = ValID::createGlobalName((yyvsp[0].StrVal));
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 236:
-#line 2369 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 237:
+#line 2370 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-1].TypeVal))->getDescription());
@@ -4918,24 +4927,24 @@
   ;}
     break;
 
-  case 237:
-#line 2378 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 238:
+#line 2379 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.FunctionVal) = (yyvsp[-1].FunctionVal);
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 238:
-#line 2382 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 239:
+#line 2383 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     { // Do not allow functions with 0 basic blocks   
     (yyval.FunctionVal) = (yyvsp[-1].FunctionVal);
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 239:
-#line 2391 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 240:
+#line 2392 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     setValueName((yyvsp[0].TermInstVal), (yyvsp[-1].StrVal));
     CHECK_FOR_ERROR
@@ -4946,8 +4955,8 @@
   ;}
     break;
 
-  case 240:
-#line 2400 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 241:
+#line 2401 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     if (CastInst *CI1 = dyn_cast<CastInst>((yyvsp[0].InstVal)))
       if (CastInst *CI2 = dyn_cast<CastInst>(CI1->getOperand(0)))
@@ -4959,40 +4968,40 @@
   ;}
     break;
 
-  case 241:
-#line 2409 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 242:
+#line 2410 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {          // Empty space between instruction lists
     (yyval.BasicBlockVal) = defineBBVal(ValID::createLocalID(CurFun.NextValNum));
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 242:
-#line 2413 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 243:
+#line 2414 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {             // Labelled (named) basic block
     (yyval.BasicBlockVal) = defineBBVal(ValID::createLocalName((yyvsp[0].StrVal)));
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 243:
-#line 2418 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 244:
+#line 2419 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {              // Return with a result...
     (yyval.TermInstVal) = new ReturnInst((yyvsp[0].ValueVal));
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 244:
-#line 2422 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 245:
+#line 2423 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {                                    // Return with no result...
     (yyval.TermInstVal) = new ReturnInst();
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 245:
-#line 2426 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 246:
+#line 2427 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {                           // Unconditional Branch...
     BasicBlock* tmpBB = getBBVal((yyvsp[0].ValIDVal));
     CHECK_FOR_ERROR
@@ -5000,8 +5009,8 @@
   ;}
     break;
 
-  case 246:
-#line 2431 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 247:
+#line 2432 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {  
     assert(cast<IntegerType>((yyvsp[-7].PrimType))->getBitWidth() == 1 && "Not Bool?");
     BasicBlock* tmpBBA = getBBVal((yyvsp[-3].ValIDVal));
@@ -5014,8 +5023,8 @@
   ;}
     break;
 
-  case 247:
-#line 2441 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 248:
+#line 2442 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     Value* tmpVal = getVal((yyvsp[-7].PrimType), (yyvsp[-6].ValIDVal));
     CHECK_FOR_ERROR
@@ -5037,8 +5046,8 @@
   ;}
     break;
 
-  case 248:
-#line 2460 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 249:
+#line 2461 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     Value* tmpVal = getVal((yyvsp[-6].PrimType), (yyvsp[-5].ValIDVal));
     CHECK_FOR_ERROR
@@ -5050,8 +5059,8 @@
   ;}
     break;
 
-  case 249:
-#line 2470 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 250:
+#line 2471 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
 
     // Handle the short syntax
@@ -5122,24 +5131,24 @@
   ;}
     break;
 
-  case 250:
-#line 2538 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 251:
+#line 2539 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.TermInstVal) = new UnwindInst();
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 251:
-#line 2542 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 252:
+#line 2543 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.TermInstVal) = new UnreachableInst();
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 252:
-#line 2549 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 253:
+#line 2550 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.JumpTable) = (yyvsp[-5].JumpTable);
     Constant *V = cast<Constant>(getExistingVal((yyvsp[-4].PrimType), (yyvsp[-3].ValIDVal)));
@@ -5153,8 +5162,8 @@
   ;}
     break;
 
-  case 253:
-#line 2560 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 254:
+#line 2561 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.JumpTable) = new std::vector<std::pair<Constant*, BasicBlock*> >();
     Constant *V = cast<Constant>(getExistingVal((yyvsp[-4].PrimType), (yyvsp[-3].ValIDVal)));
@@ -5169,8 +5178,8 @@
   ;}
     break;
 
-  case 254:
-#line 2573 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 255:
+#line 2574 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     // Is this definition named?? if so, assign the name...
     setValueName((yyvsp[0].InstVal), (yyvsp[-1].StrVal));
@@ -5181,8 +5190,8 @@
   ;}
     break;
 
-  case 255:
-#line 2583 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 256:
+#line 2584 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {    // Used for PHI nodes
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-5].TypeVal))->getDescription());
@@ -5196,8 +5205,8 @@
   ;}
     break;
 
-  case 256:
-#line 2594 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 257:
+#line 2595 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.PHIList) = (yyvsp[-6].PHIList);
     Value* tmpVal = getVal((yyvsp[-6].PHIList)->front().first->getType(), (yyvsp[-3].ValIDVal));
@@ -5208,8 +5217,8 @@
   ;}
     break;
 
-  case 257:
-#line 2604 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 258:
+#line 2605 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {    
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-2].TypeVal))->getDescription());
@@ -5221,8 +5230,8 @@
   ;}
     break;
 
-  case 258:
-#line 2613 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 259:
+#line 2614 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-2].TypeVal))->getDescription());
@@ -5234,18 +5243,18 @@
   ;}
     break;
 
-  case 259:
-#line 2622 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 260:
+#line 2623 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     { (yyval.ValueRefList) = new ValueRefList(); ;}
     break;
 
-  case 260:
-#line 2625 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 261:
+#line 2626 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     { (yyval.ValueList) = new std::vector<Value*>(); ;}
     break;
 
-  case 261:
-#line 2626 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 262:
+#line 2627 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ValueList) = (yyvsp[-2].ValueList);
     (yyval.ValueList)->push_back((yyvsp[0].ValueVal));
@@ -5253,24 +5262,24 @@
   ;}
     break;
 
-  case 262:
-#line 2633 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 263:
+#line 2634 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.BoolVal) = true;
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 263:
-#line 2637 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 264:
+#line 2638 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.BoolVal) = false;
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 264:
-#line 2642 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 265:
+#line 2643 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-3].TypeVal))->getDescription());
@@ -5294,8 +5303,8 @@
   ;}
     break;
 
-  case 265:
-#line 2663 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 266:
+#line 2664 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-3].TypeVal))->getDescription());
@@ -5315,8 +5324,8 @@
   ;}
     break;
 
-  case 266:
-#line 2680 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 267:
+#line 2681 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-3].TypeVal))->getDescription());
@@ -5333,8 +5342,8 @@
   ;}
     break;
 
-  case 267:
-#line 2694 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 268:
+#line 2695 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-3].TypeVal))->getDescription());
@@ -5351,8 +5360,8 @@
   ;}
     break;
 
-  case 268:
-#line 2708 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 269:
+#line 2709 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[0].TypeVal))->getDescription());
@@ -5367,8 +5376,8 @@
   ;}
     break;
 
-  case 269:
-#line 2720 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 270:
+#line 2721 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     if ((yyvsp[-4].ValueVal)->getType() != Type::Int1Ty)
       GEN_ERROR("select condition must be boolean");
@@ -5379,8 +5388,8 @@
   ;}
     break;
 
-  case 270:
-#line 2728 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 271:
+#line 2729 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[0].TypeVal))->getDescription());
@@ -5390,8 +5399,8 @@
   ;}
     break;
 
-  case 271:
-#line 2735 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 272:
+#line 2736 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     if (!ExtractElementInst::isValidOperands((yyvsp[-2].ValueVal), (yyvsp[0].ValueVal)))
       GEN_ERROR("Invalid extractelement operands");
@@ -5400,8 +5409,8 @@
   ;}
     break;
 
-  case 272:
-#line 2741 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 273:
+#line 2742 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     if (!InsertElementInst::isValidOperands((yyvsp[-4].ValueVal), (yyvsp[-2].ValueVal), (yyvsp[0].ValueVal)))
       GEN_ERROR("Invalid insertelement operands");
@@ -5410,8 +5419,8 @@
   ;}
     break;
 
-  case 273:
-#line 2747 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 274:
+#line 2748 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     if (!ShuffleVectorInst::isValidOperands((yyvsp[-4].ValueVal), (yyvsp[-2].ValueVal), (yyvsp[0].ValueVal)))
       GEN_ERROR("Invalid shufflevector operands");
@@ -5420,8 +5429,8 @@
   ;}
     break;
 
-  case 274:
-#line 2753 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 275:
+#line 2754 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     const Type *Ty = (yyvsp[0].PHIList)->front().first->getType();
     if (!Ty->isFirstClassType())
@@ -5439,8 +5448,8 @@
   ;}
     break;
 
-  case 275:
-#line 2769 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 276:
+#line 2770 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
 
     // Handle the short syntax
@@ -5506,32 +5515,32 @@
   ;}
     break;
 
-  case 276:
-#line 2832 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 277:
+#line 2833 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.InstVal) = (yyvsp[0].InstVal);
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 277:
-#line 2837 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 278:
+#line 2838 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.BoolVal) = true;
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 278:
-#line 2841 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 279:
+#line 2842 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.BoolVal) = false;
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 279:
-#line 2848 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 280:
+#line 2849 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-1].TypeVal))->getDescription());
@@ -5541,8 +5550,8 @@
   ;}
     break;
 
-  case 280:
-#line 2855 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 281:
+#line 2856 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-4].TypeVal))->getDescription());
@@ -5553,8 +5562,8 @@
   ;}
     break;
 
-  case 281:
-#line 2863 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 282:
+#line 2864 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-1].TypeVal))->getDescription());
@@ -5564,8 +5573,8 @@
   ;}
     break;
 
-  case 282:
-#line 2870 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 283:
+#line 2871 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-4].TypeVal))->getDescription());
@@ -5576,8 +5585,8 @@
   ;}
     break;
 
-  case 283:
-#line 2878 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 284:
+#line 2879 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     if (!isa<PointerType>((yyvsp[0].ValueVal)->getType()))
       GEN_ERROR("Trying to free nonpointer type " + 
@@ -5587,8 +5596,8 @@
   ;}
     break;
 
-  case 284:
-#line 2886 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 285:
+#line 2887 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-1].TypeVal))->getDescription());
@@ -5605,8 +5614,8 @@
   ;}
     break;
 
-  case 285:
-#line 2900 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 286:
+#line 2901 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-1].TypeVal))->getDescription());
@@ -5626,8 +5635,8 @@
   ;}
     break;
 
-  case 286:
-#line 2917 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+  case 287:
+#line 2918 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-2].TypeVal))->getDescription());
@@ -5650,7 +5659,7 @@
     }
 
 /* Line 1126 of yacc.c.  */
-#line 5654 "llvmAsmParser.tab.c"
+#line 5663 "llvmAsmParser.tab.c"
 
   yyvsp -= yylen;
   yyssp -= yylen;
@@ -5918,7 +5927,7 @@
 }
 
 
-#line 2934 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 2935 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
 
 
 // common code from the two 'RunVMAsmParser' functions


Index: llvm/lib/AsmParser/llvmAsmParser.h.cvs
diff -u llvm/lib/AsmParser/llvmAsmParser.h.cvs:1.59 llvm/lib/AsmParser/llvmAsmParser.h.cvs:1.60
--- llvm/lib/AsmParser/llvmAsmParser.h.cvs:1.59	Mon Mar 19 20:13:36 2007
+++ llvm/lib/AsmParser/llvmAsmParser.h.cvs	Wed Mar 21 21:14:08 2007
@@ -158,8 +158,9 @@
      NORETURN = 384,
      INREG = 385,
      SRET = 386,
-     DEFAULT = 387,
-     HIDDEN = 388
+     NOUNWIND = 387,
+     DEFAULT = 388,
+     HIDDEN = 389
    };
 #endif
 /* Tokens.  */
@@ -292,8 +293,9 @@
 #define NORETURN 384
 #define INREG 385
 #define SRET 386
-#define DEFAULT 387
-#define HIDDEN 388
+#define NOUNWIND 387
+#define DEFAULT 388
+#define HIDDEN 389
 
 
 
@@ -347,7 +349,7 @@
   llvm::FCmpInst::Predicate         FPredicate;
 } YYSTYPE;
 /* Line 1447 of yacc.c.  */
-#line 351 "llvmAsmParser.tab.h"
+#line 353 "llvmAsmParser.tab.h"
 # define yystype YYSTYPE /* obsolescent; will be withdrawn */
 # define YYSTYPE_IS_DECLARED 1
 # define YYSTYPE_IS_TRIVIAL 1


Index: llvm/lib/AsmParser/llvmAsmParser.y.cvs
diff -u llvm/lib/AsmParser/llvmAsmParser.y.cvs:1.77 llvm/lib/AsmParser/llvmAsmParser.y.cvs:1.78
--- llvm/lib/AsmParser/llvmAsmParser.y.cvs:1.77	Tue Mar 20 12:19:31 2007
+++ llvm/lib/AsmParser/llvmAsmParser.y.cvs	Wed Mar 21 21:14:08 2007
@@ -1078,7 +1078,7 @@
 %token <OtherOpVal> EXTRACTELEMENT INSERTELEMENT SHUFFLEVECTOR
 
 // Function Attributes
-%token NORETURN INREG SRET
+%token NORETURN INREG SRET NOUNWIND
 
 // Visibility Styles
 %token DEFAULT HIDDEN
@@ -1204,6 +1204,7 @@
               ;
 
 FuncAttr      : NORETURN { $$ = FunctionType::NoReturnAttribute; }
+              | NOUNWIND { $$ = FunctionType::NoUnwindAttribute; }
               | ParamAttr
               ;
 






More information about the llvm-commits mailing list