[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
Thu Nov 2 12:27:05 PST 2006



Changes in directory llvm/lib/AsmParser:

Lexer.cpp.cvs updated: 1.12 -> 1.13
Lexer.l.cvs updated: 1.9 -> 1.10
llvmAsmParser.cpp.cvs updated: 1.22 -> 1.23
llvmAsmParser.h.cvs updated: 1.17 -> 1.18
llvmAsmParser.y.cvs updated: 1.23 -> 1.24
---
Log message:

For PR786: http://llvm.org/PR786 :
Turn on -Wunused and -Wno-unused-parameter. Clean up most of the resulting
fall out by removing unused variables. Remaining warnings have to do with
unused functions (I didn't want to delete code without review) and unused
variables in generated code. Maintainers should clean up the remaining 
issues when they see them. All changes pass DejaGnu tests and Olden.


---
Diffs of the changes:  (+1844 -1731)

 Lexer.cpp.cvs         | 1255 +++++++++++++++--------------
 Lexer.l.cvs           |   22 
 llvmAsmParser.cpp.cvs | 2160 +++++++++++++++++++++++++-------------------------
 llvmAsmParser.h.cvs   |  116 +-
 llvmAsmParser.y.cvs   |   22 
 5 files changed, 1844 insertions(+), 1731 deletions(-)


Index: llvm/lib/AsmParser/Lexer.cpp.cvs
diff -u llvm/lib/AsmParser/Lexer.cpp.cvs:1.12 llvm/lib/AsmParser/Lexer.cpp.cvs:1.13
--- llvm/lib/AsmParser/Lexer.cpp.cvs:1.12	Sun Oct 22 01:08:13 2006
+++ llvm/lib/AsmParser/Lexer.cpp.cvs	Thu Nov  2 14:25:49 2006
@@ -17,10 +17,10 @@
 #define yylineno llvmAsmlineno
 
 #line 20 "Lexer.cpp"
-/* A lexical scanner generated by flex */
+/* A lexical scanner generated by flex*/
 
 /* Scanner skeleton version:
- * $Header: /var/cvs/llvm/llvm/lib/AsmParser/Lexer.cpp.cvs,v 1.12 2006/10/22 06:08:13 lattner Exp $
+ * $Header: /var/cvs/llvm/llvm/lib/AsmParser/Lexer.cpp.cvs,v 1.13 2006/11/02 20:25:49 reid Exp $
  */
 
 #define FLEX_SCANNER
@@ -28,6 +28,7 @@
 #define YY_FLEX_MINOR_VERSION 5
 
 #include <stdio.h>
+#include <unistd.h>
 
 
 /* cfront 1.2 defines "c_plusplus" instead of "__cplusplus" */
@@ -41,7 +42,6 @@
 #ifdef __cplusplus
 
 #include <stdlib.h>
-#include <unistd.h>
 
 /* Use prototypes in function declarations. */
 #define YY_USE_PROTOS
@@ -153,6 +153,15 @@
 
 #define unput(c) yyunput( c, yytext_ptr )
 
+/* Some routines like yy_flex_realloc() are emitted as static but are
+   not called by all lexers. This generates warnings in some compilers,
+   notably GCC. Arrange to suppress these. */
+#ifdef __GNUC__
+#define YY_MAY_BE_UNUSED __attribute__((unused))
+#else
+#define YY_MAY_BE_UNUSED
+#endif
+
 /* The following is because we cannot portably get our hands on size_t
  * (without autoconf's help, which isn't available because we want
  * flex-generated scanners to compile on their own).
@@ -259,7 +268,7 @@
 YY_BUFFER_STATE yy_scan_bytes YY_PROTO(( yyconst char *bytes, int len ));
 
 static void *yy_flex_alloc YY_PROTO(( yy_size_t ));
-static inline void *yy_flex_realloc YY_PROTO(( void *, yy_size_t ));
+static inline void *yy_flex_realloc YY_PROTO(( void *, yy_size_t )) YY_MAY_BE_UNUSED;
 static void yy_flex_free YY_PROTO(( void * ));
 
 #define yy_new_buffer yy_create_buffer
@@ -308,35 +317,35 @@
 	*yy_cp = '\0'; \
 	yy_c_buf_p = yy_cp;
 
-#define YY_NUM_RULES 114
-#define YY_END_OF_BUFFER 115
-static yyconst short int yy_acclist[192] =
+#define YY_NUM_RULES 120
+#define YY_END_OF_BUFFER 121
+static yyconst short int yy_acclist[198] =
     {   0,
-      115,  113,  114,  112,  113,  114,  112,  114,  113,  114,
-      113,  114,  113,  114,  113,  114,  113,  114,  113,  114,
-      105,  113,  114,  105,  113,  114,    1,  113,  114,  113,
-      114,  113,  114,  113,  114,  113,  114,  113,  114,  113,
-      114,  113,  114,  113,  114,  113,  114,  113,  114,  113,
-      114,  113,  114,  113,  114,  113,  114,  113,  114,  113,
-      114,  113,  114,  113,  114,  113,  114,  113,  114,  113,
-      114,  104,  102,  101,  101,  108,  106,  110,  105,    1,
-       87,   41,   69,   23,  104,  101,  101,  109,  110,   20,
-      110,  111,   63,   68,   39,   34,   42,   66,    3,   54,
-
-       65,   25,   77,   67,   86,   81,   82,   64,   70,  103,
-      110,  110,   49,   78,   79,   94,   95,   56,   22,  107,
-       26,    4,   61,   55,   48,   11,  110,   36,    2,    5,
-       58,   60,   50,   72,   76,   74,   75,   73,   71,   52,
-       96,   51,   57,   21,   84,   93,   45,   59,   30,   24,
-       44,    7,   89,   33,   92,   38,   62,   80,   88,   27,
-       28,   90,   53,   85,   83,   43,    6,   29,   37,    8,
-       17,    9,   10,   35,   12,   14,   13,   32,   40,   15,
-       31,   91,   97,   99,  100,   16,   46,   98,   18,   47,
-       19
+      121,  119,  120,  118,  119,  120,  118,  120,  119,  120,
+      119,  120,  119,  120,  119,  120,  119,  120,  119,  120,
+      111,  119,  120,  111,  119,  120,    1,  119,  120,  119,
+      120,  119,  120,  119,  120,  119,  120,  119,  120,  119,
+      120,  119,  120,  119,  120,  119,  120,  119,  120,  119,
+      120,  119,  120,  119,  120,  119,  120,  119,  120,  119,
+      120,  119,  120,  119,  120,  119,  120,  119,  120,  119,
+      120,  110,  108,  107,  107,  114,  112,  116,  111,    1,
+       93,   41,   75,   23,  110,  107,  107,  115,  116,   20,
+      116,  117,   63,   74,   39,   34,   42,   66,    3,   54,
+
+       65,   25,   83,   70,   92,   87,   88,   64,   76,  109,
+      116,  116,   49,   84,   85,   69,  100,   73,  101,   56,
+       22,  113,   68,   72,   26,    4,   61,   67,   55,   71,
+       48,   11,  116,   36,    2,    5,   58,   60,   50,   78,
+       82,   80,   81,   79,   77,   52,  102,   51,   57,   21,
+       90,   99,   45,   59,   30,   24,   44,    7,   95,   33,
+       98,   38,   62,   86,   94,   27,   28,   96,   53,   91,
+       89,   43,    6,   29,   37,    8,   17,    9,   10,   35,
+       12,   14,   13,   32,   40,   15,   31,   97,  103,  105,
+      106,   16,   46,  104,   18,   47,   19
 
     } ;
 
-static yyconst short int yy_accept[511] =
+static yyconst short int yy_accept[527] =
     {   0,
         1,    1,    1,    2,    4,    7,    9,   11,   13,   15,
        17,   19,   21,   24,   27,   30,   32,   34,   36,   38,
@@ -346,54 +355,56 @@
        81,   81,   81,   81,   81,   81,   81,   81,   81,   82,
        82,   83,   83,   83,   83,   83,   83,   83,   83,   83,
        83,   83,   83,   83,   83,   83,   83,   83,   83,   83,
-       83,   83,   83,   83,   83,   83,   83,   84,   84,   84,
+       83,   83,   83,   83,   83,   83,   83,   83,   84,   84,
        84,   84,   84,   84,   84,   84,   84,   84,   84,   84,
 
-       85,   85,   85,   85,   85,   85,   85,   85,   85,   85,
-       85,   85,   85,   85,   86,   87,   89,   90,   91,   92,
-       92,   93,   94,   94,   94,   95,   95,   96,   96,   97,
-       97,   97,   97,   98,   98,   98,   98,   98,   98,   98,
-       99,   99,   99,  100,  100,  100,  100,  100,  100,  100,
-      100,  100,  100,  100,  101,  101,  101,  101,  101,  101,
-      101,  101,  101,  102,  103,  103,  103,  104,  104,  105,
-      106,  106,  106,  106,  106,  106,  107,  107,  108,  108,
-      108,  108,  109,  109,  109,  109,  109,  109,  109,  109,
+       84,   84,   84,   85,   85,   85,   85,   85,   85,   85,
+       85,   85,   85,   85,   85,   85,   85,   85,   85,   86,
+       87,   89,   90,   91,   92,   92,   93,   94,   94,   94,
+       95,   95,   96,   96,   97,   97,   97,   97,   98,   98,
+       98,   98,   98,   98,   98,   99,   99,   99,  100,  100,
+      100,  100,  100,  100,  100,  100,  100,  100,  100,  100,
+      101,  101,  101,  101,  101,  101,  101,  101,  101,  102,
+      103,  103,  103,  104,  104,  105,  106,  106,  106,  106,
+      106,  106,  106,  107,  107,  108,  108,  108,  108,  108,
       109,  109,  109,  109,  109,  109,  109,  109,  109,  109,
 
+      109,  109,  109,  109,  109,  109,  109,  109,  109,  109,
       109,  109,  109,  109,  110,  110,  111,  112,  112,  112,
       112,  113,  113,  113,  113,  113,  114,  115,  116,  116,
       116,  116,  116,  116,  116,  116,  116,  116,  116,  116,
-      116,  116,  116,  116,  116,  117,  117,  117,  117,  117,
-      117,  117,  117,  117,  117,  118,  119,  119,  119,  120,
-      120,  120,  121,  121,  121,  121,  121,  121,  121,  121,
-      121,  121,  121,  121,  121,  122,  122,  122,  123,  124,
-      124,  125,  125,  125,  125,  125,  125,  125,  125,  125,
-      125,  126,  126,  127,  127,  127,  128,  129,  129,  129,
-      130,  130,  130,  130,  130,  130,  130,  130,  130,  130,
-
-      130,  130,  130,  130,  131,  131,  132,  132,  132,  132,
-      132,  132,  132,  133,  133,  133,  133,  133,  133,  133,
-      134,  134,  134,  135,  136,  137,  138,  139,  140,  141,
-      141,  141,  142,  142,  142,  142,  143,  144,  145,  145,
-      145,  145,  145,  145,  146,  146,  146,  146,  146,  146,
-      147,  147,  148,  148,  148,  148,  148,  148,  148,  148,
-      149,  150,  151,  151,  151,  152,  152,  153,  153,  153,
-      153,  154,  154,  155,  156,  157,  158,  158,  158,  159,
-      159,  159,  160,  161,  162,  162,  162,  163,  164,  165,
-      166,  166,  166,  166,  166,  166,  166,  167,  167,  168,
-
-      169,  169,  169,  169,  169,  169,  169,  169,  169,  169,
-      169,  169,  170,  170,  170,  170,  170,  170,  170,  170,
-      170,  170,  171,  171,  171,  171,  171,  172,  172,  172,
-      172,  172,  173,  174,  174,  174,  174,  174,  174,  175,
-      175,  175,  175,  176,  176,  177,  178,  178,  178,  178,
-      178,  178,  178,  178,  178,  178,  178,  178,  178,  178,
-      179,  179,  179,  179,  179,  179,  179,  179,  180,  180,
-      180,  180,  180,  180,  181,  181,  181,  181,  181,  182,
-      182,  182,  183,  183,  183,  183,  183,  183,  183,  183,
-      183,  183,  183,  183,  183,  183,  184,  184,  185,  186,
-
-      187,  187,  188,  188,  189,  190,  191,  191,  192,  192
+      116,  116,  116,  116,  117,  117,  118,  119,  119,  119,
+      119,  119,  119,  119,  119,  119,  119,  120,  121,  121,
+      121,  122,  122,  122,  123,  123,  124,  124,  124,  124,
+      124,  124,  124,  124,  124,  124,  125,  125,  125,  126,
+      126,  126,  127,  128,  128,  129,  130,  130,  130,  130,
+      130,  130,  131,  131,  131,  131,  131,  132,  132,  133,
+
+      133,  133,  134,  135,  135,  135,  136,  136,  136,  136,
+      136,  136,  136,  136,  136,  136,  136,  136,  136,  136,
+      137,  137,  138,  138,  138,  138,  138,  138,  138,  139,
+      139,  139,  139,  139,  139,  139,  140,  140,  140,  141,
+      142,  143,  144,  145,  146,  147,  147,  147,  148,  148,
+      148,  148,  149,  150,  151,  151,  151,  151,  151,  151,
+      152,  152,  152,  152,  152,  152,  153,  153,  154,  154,
+      154,  154,  154,  154,  154,  154,  155,  156,  157,  157,
+      157,  158,  158,  159,  159,  159,  159,  160,  160,  161,
+      162,  163,  164,  164,  164,  165,  165,  165,  166,  167,
+
+      168,  168,  168,  169,  170,  171,  172,  172,  172,  172,
+      172,  172,  172,  173,  173,  174,  175,  175,  175,  175,
+      175,  175,  175,  175,  175,  175,  175,  175,  176,  176,
+      176,  176,  176,  176,  176,  176,  176,  176,  177,  177,
+      177,  177,  177,  178,  178,  178,  178,  178,  179,  180,
+      180,  180,  180,  180,  180,  181,  181,  181,  181,  182,
+      182,  183,  184,  184,  184,  184,  184,  184,  184,  184,
+      184,  184,  184,  184,  184,  184,  185,  185,  185,  185,
+      185,  185,  185,  185,  186,  186,  186,  186,  186,  186,
+      187,  187,  187,  187,  187,  188,  188,  188,  189,  189,
+
+      189,  189,  189,  189,  189,  189,  189,  189,  189,  189,
+      189,  189,  190,  190,  191,  192,  193,  193,  194,  194,
+      195,  196,  197,  197,  198,  198
     } ;
 
 static yyconst int yy_ec[256] =
@@ -437,260 +448,265 @@
         3,    3,    3
     } ;
 
-static yyconst short int yy_base[515] =
+static yyconst short int yy_base[531] =
     {   0,
-        0,    0, 1108, 1109, 1109, 1109, 1103, 1092,   36,   40,
+        0,    0, 1140, 1141, 1141, 1141, 1135, 1124,   36,   40,
        44,   50,   56,   62,    0,   63,   66,   81,   89,   47,
-       90,   91,   76,   96,  108,   49,   97,  110,   68,  137,
-      120,  168,  112,  115,  135,  127, 1101, 1109, 1090, 1109,
-        0,  158,  173,  180,  196,   70,  201,  216,  221,    0,
-      121,  152,  123,  139,  166,  140,  162,  184, 1089,  222,
-      180,   31,  186,  119,  232,  208,  144,  225,  234,  236,
-      235,  188,  238,  240,  246,  241,  245,  203,  248,  256,
-      254,  258,  262,  252,  272,  274, 1088,  276,  278,  280,
-      255,  253,  283,  284,  285,  286,  288,  297,  300, 1087,
-
-      301,  292,  295,  307,  309,  318,  316,  315,  322,  312,
-      147,  329,  330, 1086,    0,  344,  349, 1085,  363,  380,
-        0, 1084,  338,  336, 1083,  355, 1082,  356, 1081,  353,
-      367,  334, 1080,  375,  365,  381,  384,  370,  371, 1079,
-      388,  392,  391,  393,  394,  395,  396,  400,  399,  407,
-      406,  409,  411,  413,  410,  414,  418,  421,  425,  426,
-      427,  429, 1078, 1077,  430,  431, 1076,  435, 1075, 1074,
-      458,  436,  439,  434,  469, 1073,  449, 1072,  438,  441,
-      458, 1071,  471,  472,  474,  473,  481,  482,  475,  476,
-      483,  488,  489,  493,  495,  496,  504,  501,  503,  505,
-
-      510,  507,  516, 1070,  511, 1109,  527,  541,  545,  549,
-      554,  555,  440,  556,  557, 1069, 1068, 1067,  558,  559,
-      560,  517,  528,  518,  561,  189,  562,  563,  566,  569,
-      570,  567,  564,  578, 1066,  579,  581,  580,  584,  587,
-      592,  595,  591,  596, 1065, 1064,  597,  598, 1063,  593,
-      599,    0,  603,  607,  614,  604,  616,  618,  619,  600,
-      626,  629,  631,  630, 1062,  633,  632, 1061, 1060,  634,
-     1059,  635,  644,  645,  648,  649,  650,  651,  652,  655,
-     1058,  656, 1057,  659,  657,  677, 1056,  660,  519, 1055,
-      661,  662,  677,  678,  664,  680,  687,  688,  689,  691,
-
-      690,  692,  693, 1054,  694, 1053,  695,  696,  699,  697,
-      702,  703, 1052,  705,  714,  710,  716,  718,  721, 1051,
-      724,  726, 1050, 1049, 1048, 1047, 1046, 1045, 1044,  728,
-      729, 1043,  732,  731,  736, 1042, 1041, 1040,  733,  734,
-      738,  735,  737, 1039,  740,  747,  750,  751,  752, 1038,
-      753, 1037,  759,  757,  761,  762,  765,  767,  768, 1036,
-     1035, 1034,  773,  770, 1033,  772, 1032,  775,  781,  791,
-     1031,  792, 1030, 1029, 1028, 1027,  779,  780, 1026,  794,
-      795, 1025, 1024, 1023,  798,  801, 1022, 1021, 1020, 1019,
-      802,  782,  806,  807,  808,  809, 1018,  810, 1017, 1016,
-
-      812,  815,  816,  819,  818,  821,  822,  823,  826,  831,
-      824, 1015,  829,  835,  843,  845,  847,  837,  851,  849,
-      852, 1014,  853,  855,  857,  859, 1013,  861,  862,  864,
-      865, 1012, 1011,  869,  866,  881,  870,  867, 1010,  883,
-      884,  886, 1007,  871,  998,  997,  891,  892,  893,  895,
-      897,  898,  902,  903,  904,  905,  906,  907,  910,  995,
-      914,  908,  912,  918,  921,  923,  919,  994,  925,  929,
-      933,  934,  935,  992,  936,  937,  939,  940,  990,  943,
-      944,  989,  947,  951,  946,  955,  956,  963,  964,  965,
-      966,  968,  969,  967,  970,  985,  971,  984,  983,  979,
-
-      973,  783,  982,  602,  477,  446,  978,  333, 1109, 1013,
-     1015,   83, 1019,   80
+      100,   97,   76,   96,  111,   49,  113,  110,   68,  140,
+      126,  171,  119,  118,  139,  133, 1133, 1141, 1122, 1141,
+        0,  176,  184,  199,  204,   70,  209,  224,  229,    0,
+      117,  130,  150,   72,  160,  151,  159,  123, 1121,  230,
+      178,   31,   69,  168,  240,   95,  233,  165,  241,  243,
+      242,  156,  244,  246,  187,  251,  253,  254,  211,  258,
+      256,  263,  260,  265,  190,  267,  283, 1120,  271,  274,
+      270,  285,  289,  290,  291,  292,  294,  295,  297,  299,
+
+      296,  308, 1119,  311,  300,  318,  320,  322,  323,  330,
+      325,  328,  327,  337,  342,  216,  336,  345, 1118,    0,
+      362,  366, 1117,  380,  397,    0, 1116,  370,  349, 1115,
+      373, 1114,  355, 1113,  371,  372,  384, 1112,  392,  326,
+      399,  398,  401,  402, 1111,  405,  404,  406,  411,  412,
+      409,  413,  415,  422,  423,  425,  424,  426,  428,  429,
+      435,  442,  374,  443,  444,  445,  446,  447, 1110, 1109,
+      448,  449, 1108,  450, 1107, 1106,  476,  454,  455,  464,
+      459,  488, 1105,  470, 1104,  490,  489,  460,  492, 1103,
+      493,  494,  495,  496,  501,  502,  504,  507,  508,  512,
+
+      514,  517,  519,  520,  521,  518,  457,  522,  526,  530,
+      539,  540,  541, 1102,  524, 1141,  550,  564,  568,  572,
+      577,  578,  458,  579,  580, 1101, 1100, 1099,  581,  582,
+      583,  584,  550,  585,  525,  586,  589,  551,  590,  587,
+      607,  591,  594, 1098,  592, 1097, 1096,  603,  611,  610,
+      593,  613,  617,  620,  621,  622, 1095, 1094,  623,  625,
+     1093,  624,  626,    0,  627, 1092,  629,  638,  630,  643,
+      644,  646,  628,  647,  654, 1091,  656,  661, 1090,  660,
+      658, 1089, 1088,  662, 1087, 1086,  659,  664,  672,  675,
+      676, 1085,  677,  678,  679,  681, 1084,  682, 1083,  684,
+
+      683,  690, 1082,  692,  695, 1081,  700,  704,  710,  711,
+      691,  713,  701,  702,  714,  715,  718,  722,  724, 1080,
+      726, 1079,  725,  727,  728,  729,  730,  736, 1078,  737,
+      740,  743,  746,  748,  751, 1077,  735,  738, 1076, 1075,
+     1074, 1073, 1072, 1071, 1070,  756,  758, 1069,  762,  759,
+      763, 1068, 1067, 1066,  764,  766,  767,  765,  769, 1065,
+      770,  776,  778,  777,  779, 1064,  781, 1063,  784,  785,
+      786,  790,  791,  797,  798, 1062, 1061, 1060,  802,  795,
+     1059,  803, 1058,  808,  811,  804, 1057,  805, 1056, 1055,
+     1054, 1053,  810,  821, 1052,  823,  824, 1051, 1050, 1049,
+
+      822,  825, 1048, 1047, 1046, 1045,  826,  827,  828,  829,
+      830,  833, 1044,  839, 1043, 1042,  840,  843,  844,  845,
+      846,  850,  848,  851,  852,  853,  854, 1041,  858,  863,
+      868,  869,  871,  875,  877,  878,  879, 1040,  881,  885,
+      886,  882, 1037,  887,  889,  888,  894, 1028, 1026,  897,
+      895,  892,  900,  907, 1025,  912,  916,  914, 1024,  917,
+     1023, 1021,  918,  920,  922,  925,  926,  924,  928,  931,
+      933,  932,  934,  936,  938, 1020,  941,  944,  937,  948,
+      949,  950,  952, 1019,  957,  961,  962,  963,  964, 1018,
+      965,  966,  967,  968, 1013,  969,  972, 1010,  973,  976,
+
+      982,  984,  990,  991,  992,  993,  994,  996,  997,  998,
+      999, 1006, 1000,  896,  893,  633, 1005,  632, 1007,  385,
+      354,  353, 1008,  301, 1141, 1043, 1045,  226, 1049,  166
     } ;
 
-static yyconst short int yy_def[515] =
+static yyconst short int yy_def[531] =
     {   0,
-      509,    1,  509,  509,  509,  509,  510,  511,  512,  509,
-      511,  511,  511,  511,  513,  511,  511,  511,  511,  511,
-      511,  511,  511,  511,  511,  511,  511,  511,  511,  511,
-      511,  511,  511,  511,  511,  511,  510,  509,  511,  509,
-      514,  514,  509,  509,  511,  511,  511,  511,  511,  513,
-      511,  511,  511,  511,  511,  511,  511,  511,  511,  511,
-      511,  511,  511,  511,  511,  511,  511,  511,  511,  511,
-      511,  511,  511,  511,  511,  511,  511,  511,  511,  511,
-      511,  511,  511,  511,  511,  511,  511,  511,  511,  511,
-      511,  511,  511,  511,  511,  511,  511,  511,  511,  511,
-
-      511,  511,  511,  511,  511,  511,  511,  511,  511,  511,
-      511,  511,  511,  509,  514,  514,  509,  511,  511,  511,
-       49,  511,  511,  511,  511,  511,  511,  511,  511,  511,
-      511,  511,  511,  511,  511,  511,  511,  511,  511,  511,
-      511,  511,  511,  511,  511,  511,  511,  511,  511,  511,
-      511,  511,  511,  511,  511,  511,  511,  511,  511,  511,
-      511,  511,  511,  511,  511,  511,  511,  511,  511,  511,
-       49,  511,  511,  511,  511,  511,  511,  511,  511,  511,
-      511,  511,  511,  511,  511,  511,  511,  511,  511,  511,
-      511,  511,  511,  511,  511,  511,  511,  511,  511,  511,
-
-      511,  511,  511,  511,  511,  509,  509,  509,  509,  511,
-      511,  511,  511,  511,  511,  511,  511,  511,  511,  511,
-      511,  511,  511,  511,  511,  511,  511,  511,  511,  511,
-      511,  511,  511,  511,  511,  511,  511,  511,  511,  511,
-      511,  511,  511,  511,  511,  511,  511,  511,  511,  511,
-      511,  171,  511,  511,  511,  511,  511,  511,  511,  511,
-      511,  511,  511,  511,  511,  511,  511,  511,  511,  511,
-      511,  511,  511,  511,  511,  511,  511,  511,  511,  511,
-      511,  511,  511,  511,  511,  509,  511,  511,  511,  511,
-      511,  511,  511,  511,  511,  511,  511,  511,  511,  511,
-
-      511,  511,  511,  511,  511,  511,  511,  511,  511,  511,
-      511,  511,  511,  511,  511,  511,  511,  511,  511,  511,
-      511,  511,  511,  511,  511,  511,  511,  511,  511,  511,
-      511,  511,  511,  511,  511,  511,  511,  511,  511,  511,
-      511,  511,  511,  511,  511,  511,  511,  511,  511,  511,
-      511,  511,  511,  511,  511,  511,  511,  511,  511,  511,
-      511,  511,  511,  511,  511,  511,  511,  511,  511,  511,
-      511,  511,  511,  511,  511,  511,  511,  511,  511,  511,
-      511,  511,  511,  511,  511,  511,  511,  511,  511,  511,
-      511,  511,  511,  511,  511,  511,  511,  511,  511,  511,
-
-      511,  511,  511,  511,  511,  511,  511,  511,  511,  511,
-      511,  511,  511,  511,  511,  511,  511,  511,  511,  511,
-      511,  511,  511,  511,  511,  511,  511,  511,  511,  511,
-      511,  511,  511,  511,  511,  511,  511,  511,  511,  511,
-      511,  511,  511,  511,  511,  511,  511,  511,  511,  511,
-      511,  511,  511,  511,  511,  511,  511,  511,  511,  511,
-      511,  511,  511,  511,  511,  511,  511,  511,  511,  511,
-      511,  511,  511,  511,  511,  511,  511,  511,  511,  511,
-      511,  511,  511,  511,  511,  511,  511,  511,  511,  511,
-      511,  511,  511,  511,  511,  511,  511,  511,  511,  511,
-
-      511,  511,  511,  511,  511,  511,  511,  511,    0,  509,
-      509,  509,  509,  509
+      525,    1,  525,  525,  525,  525,  526,  527,  528,  525,
+      527,  527,  527,  527,  529,  527,  527,  527,  527,  527,
+      527,  527,  527,  527,  527,  527,  527,  527,  527,  527,
+      527,  527,  527,  527,  527,  527,  526,  525,  527,  525,
+      530,  530,  525,  525,  527,  527,  527,  527,  527,  529,
+      527,  527,  527,  527,  527,  527,  527,  527,  527,  527,
+      527,  527,  527,  527,  527,  527,  527,  527,  527,  527,
+      527,  527,  527,  527,  527,  527,  527,  527,  527,  527,
+      527,  527,  527,  527,  527,  527,  527,  527,  527,  527,
+      527,  527,  527,  527,  527,  527,  527,  527,  527,  527,
+
+      527,  527,  527,  527,  527,  527,  527,  527,  527,  527,
+      527,  527,  527,  527,  527,  527,  527,  527,  525,  530,
+      530,  525,  527,  527,  527,   49,  527,  527,  527,  527,
+      527,  527,  527,  527,  527,  527,  527,  527,  527,  527,
+      527,  527,  527,  527,  527,  527,  527,  527,  527,  527,
+      527,  527,  527,  527,  527,  527,  527,  527,  527,  527,
+      527,  527,  527,  527,  527,  527,  527,  527,  527,  527,
+      527,  527,  527,  527,  527,  527,   49,  527,  527,  527,
+      527,  527,  527,  527,  527,  527,  527,  527,  527,  527,
+      527,  527,  527,  527,  527,  527,  527,  527,  527,  527,
+
+      527,  527,  527,  527,  527,  527,  527,  527,  527,  527,
+      527,  527,  527,  527,  527,  525,  525,  525,  525,  527,
+      527,  527,  527,  527,  527,  527,  527,  527,  527,  527,
+      527,  527,  527,  527,  527,  527,  527,  527,  527,  527,
+      527,  527,  527,  527,  527,  527,  527,  527,  527,  527,
+      527,  527,  527,  527,  527,  527,  527,  527,  527,  527,
+      527,  527,  527,  177,  527,  527,  527,  527,  527,  527,
+      527,  527,  527,  527,  527,  527,  527,  527,  527,  527,
+      527,  527,  527,  527,  527,  527,  527,  527,  527,  527,
+      527,  527,  527,  527,  527,  527,  527,  527,  527,  527,
+
+      527,  525,  527,  527,  527,  527,  527,  527,  527,  527,
+      527,  527,  527,  527,  527,  527,  527,  527,  527,  527,
+      527,  527,  527,  527,  527,  527,  527,  527,  527,  527,
+      527,  527,  527,  527,  527,  527,  527,  527,  527,  527,
+      527,  527,  527,  527,  527,  527,  527,  527,  527,  527,
+      527,  527,  527,  527,  527,  527,  527,  527,  527,  527,
+      527,  527,  527,  527,  527,  527,  527,  527,  527,  527,
+      527,  527,  527,  527,  527,  527,  527,  527,  527,  527,
+      527,  527,  527,  527,  527,  527,  527,  527,  527,  527,
+      527,  527,  527,  527,  527,  527,  527,  527,  527,  527,
+
+      527,  527,  527,  527,  527,  527,  527,  527,  527,  527,
+      527,  527,  527,  527,  527,  527,  527,  527,  527,  527,
+      527,  527,  527,  527,  527,  527,  527,  527,  527,  527,
+      527,  527,  527,  527,  527,  527,  527,  527,  527,  527,
+      527,  527,  527,  527,  527,  527,  527,  527,  527,  527,
+      527,  527,  527,  527,  527,  527,  527,  527,  527,  527,
+      527,  527,  527,  527,  527,  527,  527,  527,  527,  527,
+      527,  527,  527,  527,  527,  527,  527,  527,  527,  527,
+      527,  527,  527,  527,  527,  527,  527,  527,  527,  527,
+      527,  527,  527,  527,  527,  527,  527,  527,  527,  527,
+
+      527,  527,  527,  527,  527,  527,  527,  527,  527,  527,
+      527,  527,  527,  527,  527,  527,  527,  527,  527,  527,
+      527,  527,  527,  527,    0,  525,  525,  525,  525,  525
     } ;
 
-static yyconst short int yy_nxt[1153] =
+static yyconst short int yy_nxt[1185] =
     {   0,
         4,    5,    6,    7,    8,    9,   10,   11,   12,   13,
        14,   14,   14,    4,   15,    8,    8,    8,   16,   17,
        18,   19,   20,   21,   22,    8,   23,    8,   24,   25,
        26,   27,   28,    8,   29,   30,   31,   32,   33,   34,
        35,    8,   36,   42,   40,   43,   43,   43,   43,   44,
-       44,   44,   44,   45,   45,   45,   45,   40,   46,  134,
-       40,  135,   40,   40,   47,   48,   48,   48,   48,   40,
-       47,   48,   48,   48,   48,   40,   40,   69,  118,   40,
-       84,   40,  115,   40,   51,   41,   85,   70,   56,   40,
-       90,   52,   57,   53,   40,   54,   49,   58,   55,   60,
-
-       59,   61,   40,   40,   40,   76,   77,   64,   71,   40,
-       40,   65,   62,   74,   78,   66,   63,   67,   72,   75,
-       68,   40,   79,   40,   73,   40,   81,   80,   40,   86,
-      108,   87,   40,   40,   40,   88,   40,  110,   99,   82,
-       40,   89,  122,  109,  125,   83,   91,  111,   40,  113,
-       40,  100,   40,   40,  101,  137,   92,   40,  203,   93,
-       40,  102,   94,   95,  128,   40,  112,  116,  116,  116,
-      116,  126,  141,   96,   97,   40,   98,   91,  123,   40,
-      124,   40,   43,   43,   43,   43,  129,  103,  117,   44,
-       44,   44,   44,   40,  104,  127,  105,   40,  106,   40,
-
-      133,   40,   40,  107,   47,   45,   45,   45,   45,   40,
-      119,  119,  119,  119,   40,  130,   40,  120,  298,  148,
-      136,   40,  156,  120,   47,   48,   48,   48,   48,   40,
-      121,  121,  121,  121,   40,   40,  121,  121,   40,  121,
-      121,  121,  121,  121,  121,   40,  140,   40,   40,   40,
-      131,   40,  138,   40,   40,  143,  144,  132,   40,   40,
-      149,   40,  142,  146,  139,   40,   40,   40,   40,   40,
-      147,   40,  145,  152,  159,   40,  150,  151,  157,  162,
-      153,  154,  161,  155,  158,   40,  160,   40,  164,   40,
-      163,   40,  166,   40,  172,  171,   40,   40,   40,   40,
-
-      165,   40,  167,  173,  168,   40,  180,  182,   40,  169,
-       40,  174,  176,   40,   40,  177,  170,  181,  178,  175,
-       40,  179,   40,  183,  188,   40,  184,  186,   40,   40,
-      202,   40,  197,  198,  185,   40,  189,  190,  187,  192,
-      191,  196,   40,   40,  193,  199,   40,   40,  200,   40,
-      201,   40,  194,  116,  116,  116,  116,  195,  207,  207,
-      207,  207,  212,  204,  205,  208,   40,  213,   40,   40,
-      218,  208,  119,  119,  119,  119,   40,  214,   40,  120,
-       40,  216,  215,   40,   40,  120,  209,  210,   40,  211,
-      211,  211,  211,   40,   40,  217,  219,   40,  223,  224,
-
-      220,   40,  222,  221,   40,   40,   40,   40,   40,   40,
-      225,  227,   40,   40,  226,  229,  230,  228,  234,   40,
-       40,  235,   40,   40,   40,  237,   40,   40,  231,  236,
-      232,   40,  233,  239,   40,  240,  242,  238,   40,   40,
-       40,  241,   40,   40,   40,  243,  245,   40,   40,   40,
-      246,   40,   40,   40,   40,  247,  255,  244,  249,   40,
-      288,  261,   40,  262,  250,  251,  248,  252,  252,  252,
-      252,   40,  253,  252,  252,  254,  252,  252,  252,  252,
-      252,  252,   40,  260,   40,   40,   40,   40,   40,   40,
-       40,  256,  263,  257,   40,   40,   40,  258,  266,  259,
-
-      265,   40,   40,  268,  269,  267,   40,  264,   40,   40,
-      273,  270,  271,  272,   40,  275,   40,   40,   40,  274,
-       40,  276,  278,   40,   40,  280,  281,  277,  282,   40,
-       40,   40,   40,  284,  283,  279,  207,  207,  207,  207,
-      351,   40,  285,  208,  296,  294,  295,  209,  209,  208,
-      286,  286,  286,  286,  286,  286,  286,  286,  211,  211,
-      211,  211,   40,  211,  211,  211,  211,   40,   40,   40,
-       40,   40,   40,   40,   40,   40,   40,   40,  291,   40,
-       40,  300,   40,   40,  305,  287,  289,  290,  303,  304,
-      299,   40,   40,   40,   40,  292,  293,   40,  301,  308,
-
-       40,  297,  309,  302,   40,   40,   40,  307,   40,   40,
-       40,   40,   40,   40,  306,   40,   40,   40,  310,  312,
-       40,  311,  314,  313,  315,  320,  317,   40,  316,   40,
-      318,   40,   40,  321,  322,  319,  329,  323,  324,   40,
-      326,  328,   40,   40,   40,   40,   40,   40,   40,  330,
-      333,  331,  325,  332,  327,  334,  336,   40,   40,  337,
-      335,   40,   40,   40,   40,   40,  340,  338,   40,   40,
-       40,  339,   40,   40,   40,   40,  344,   40,  350,  341,
-      353,  352,  347,  349,  342,  343,  286,  286,  286,  286,
-       40,   40,  346,   40,  348,  345,  355,  354,  356,  357,
-
+       44,   44,   44,   45,   45,   45,   45,   40,   46,  139,
+       40,  140,   40,   40,   47,   48,   48,   48,   48,   40,
+       47,   48,   48,   48,   48,   40,   40,   69,  123,   40,
+       85,   40,   40,   40,   51,   40,   86,   70,   56,   40,
+       91,   52,   57,   53,   40,   54,   49,   58,   55,   60,
+
+       59,   61,   40,  141,  131,   77,   78,   64,   40,   40,
+       40,   65,   62,   40,   79,   66,   63,   67,   71,   75,
+       68,   72,   80,   40,   40,   76,   40,   81,   73,   82,
+       40,   40,   40,  145,   74,   89,   40,  113,  127,   40,
+      115,   90,   83,   40,  102,   87,   40,   88,   84,   92,
+      114,  116,   40,   40,  135,  118,  128,  103,  129,   93,
+      104,   94,   95,   40,   40,   96,   97,  105,  120,   40,
+      117,  130,   40,   40,   98,  133,   99,  100,   40,  101,
+       92,   40,  153,  134,   40,  121,  121,  121,  121,  132,
+      106,   40,  107,   43,   43,   43,   43,  108,  138,  109,
+
+       40,  110,  147,   40,  142,  111,  112,  122,   44,   44,
+       44,   44,   47,   45,   45,   45,   45,   40,  124,  124,
+      124,  124,   40,  156,   40,  125,  170,  213,   41,   40,
+      162,  125,   47,   48,   48,   48,   48,   40,  126,  126,
+      126,  126,   40,   40,  126,  126,   40,  126,  126,  126,
+      126,  126,  126,   40,   40,   40,   40,   40,  136,   40,
+      143,  146,  148,  149,   40,  137,   40,   40,  155,   40,
+      151,   40,  144,   40,  165,  154,   40,  152,   40,  150,
+       40,  168,  157,   40,   40,  158,  166,   40,  163,  159,
+      160,  167,  161,  169,  164,  171,   40,  173,   40,  175,
+
+      174,  172,   40,   40,   40,   40,  176,   40,   40,   40,
+       40,  180,   40,   40,   40,  187,  179,  188,  190,  181,
+      183,   40,  191,  184,   40,  177,  185,  182,  189,  186,
+      178,   40,  196,   40,  192,   40,   40,  194,   40,   40,
+       40,   40,  193,   40,  207,  208,  198,  205,  195,   40,
+       40,  201,  199,  206,  200,   40,  202,  209,   40,  197,
+      212,  230,   40,  210,  203,  211,   40,   40,   40,  204,
+      214,  121,  121,  121,  121,  217,  217,  217,  217,  215,
+      223,  225,  218,   40,   40,   40,   40,   40,  218,  124,
+      124,  124,  124,   40,  222,  224,  125,   40,   40,  226,
+
+      227,  255,  125,  219,  220,   40,  221,  221,  221,  221,
+       40,   40,   40,  229,   40,   40,  232,   40,   40,   40,
+      228,  231,   40,  237,   40,   40,   40,  235,   40,  233,
+      234,  236,  238,  239,  240,   40,   40,   40,   40,   40,
+      245,   40,   40,  249,  242,  246,  241,  248,   40,  243,
+      251,  252,  247,  244,  250,   40,   40,   40,   40,   40,
+       40,   40,   40,   40,  254,  257,  253,   40,   40,  258,
+       40,   40,   40,   40,  259,  294,  261,   40,  304,  256,
+      263,  268,  262,   40,  260,  264,  264,  264,  264,  276,
+      265,  264,  264,  266,  264,  264,  264,  264,  264,  264,
+
+      267,   40,   40,   40,  273,   40,   40,   40,   40,   40,
+      269,  275,  270,  274,   40,   40,  271,   40,  272,  280,
+       40,   40,  279,  282,  283,   40,  277,   40,  281,  278,
+       40,   40,   40,   40,   40,   40,  288,   40,   40,   40,
+      284,  290,  287,   40,  286,  285,  291,  289,  296,  293,
+      292,  297,   40,   40,   40,  301,  295,  298,  300,  217,
+      217,  217,  217,   40,   40,  313,  218,  299,  311,  316,
+      219,  219,  218,  302,  302,  302,  302,  302,  302,  302,
+      302,  221,  221,  221,  221,   40,  221,  221,  221,  221,
        40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
-       40,  360,   40,  364,  365,   40,   40,  366,   40,  358,
-      359,  361,  363,   40,  367,  371,  362,   40,  368,   40,
-      374,   40,  370,  369,   40,  372,  373,   40,  375,   40,
-      376,   40,   40,  377,   40,   40,   40,   40,   40,   40,
-       40,   40,  381,   40,  386,  378,  380,  382,  384,  387,
-       40,  389,  379,   40,   40,   40,   40,  383,  392,  385,
-       40,  388,   40,  391,   40,   40,  390,  397,   40,  395,
-       40,   40,  394,   40,  399,   40,   40,  393,   40,  396,
-      403,  404,   40,   40,   40,   40,   40,  407,  401,  402,
-
-      400,  406,  398,  408,   40,   40,  405,   40,   40,  409,
-      412,   40,  410,  411,   40,   40,  413,  418,  414,   40,
-       40,   40,   40,   40,  415,   40,  416,  419,   40,   40,
-      417,   40,   40,  420,   40,   40,   40,   40,  421,   40,
-      428,  423,   40,  429,   40,  422,  424,  427,   40,  425,
-       40,  431,  430,  433,  432,  426,   40,  436,   40,  434,
-       40,  437,   40,  438,   40,   40,   40,  435,   40,  439,
-       40,  441,   40,  440,   40,   40,  443,   40,   40,   40,
-       40,  447,   40,   40,   40,  442,  456,  451,  453,  448,
-      444,  445,  449,  446,   40,  452,   40,   40,  455,   40,
-
-      450,  454,  458,  457,   40,   40,   40,  460,   40,  461,
-       40,   40,  459,  464,  462,   40,   40,   40,   40,   40,
-       40,   40,  467,   40,  471,   40,  465,   40,  473,  463,
-      469,   40,   40,  470,   40,  472,   40,  475,   40,  468,
-      466,  474,   40,  478,  476,  479,   40,   40,   40,   40,
-       40,  482,   40,   40,  477,  480,   40,   40,  486,   40,
-       40,  483,  484,  485,   40,  488,  491,  481,   40,   40,
-      489,  493,  494,  487,  490,  492,   40,   40,   40,   40,
-       40,   40,   40,   40,   40,  495,   40,  500,  501,  502,
-      496,   40,   40,  506,  497,   40,   40,   40,   40,  499,
 
-      498,  505,   40,   40,  507,   40,  504,   40,   40,  503,
-       40,   40,  508,   37,   37,   37,   37,   39,   39,   50,
+       40,  307,   40,   40,   40,   40,   40,   40,  303,  305,
+      306,  312,  310,  320,  321,  314,   40,  315,  308,  309,
+       40,  318,  317,   40,   40,  319,   40,  326,  322,  324,
+       40,  323,  325,   40,   40,   40,   40,   40,   40,   40,
+       40,   40,   40,   40,  328,   40,   40,  327,  329,  336,
+      331,   40,  330,  333,  332,  337,   40,   40,  338,   40,
+       40,  334,  335,  339,  345,  340,  342,   40,  344,   40,
+      346,   40,   40,   40,   40,   40,  347,   40,  348,  341,
+      343,  349,  350,  353,  352,   40,  351,  354,   40,   40,
+       40,   40,   40,  356,   40,   40,   40,   40,  355,  302,
+
+      302,  302,  302,  360,   40,   40,  357,  363,   40,  365,
+      366,  358,  359,   40,   40,   40,  367,   40,  362,  364,
+      368,  361,  369,   40,   40,  372,   40,   40,   40,  371,
+      370,   40,  373,  374,  375,   40,  376,   40,   40,   40,
+       40,   40,   40,   40,  380,  377,  381,  382,   40,   40,
+       40,   40,  379,   40,  378,  383,   40,  384,  387,   40,
+      386,   40,  389,  390,   40,  385,  394,  388,  391,   40,
+      392,   40,   40,  393,  395,   40,   40,   40,   40,   40,
+       40,  397,   40,   40,  396,  400,  402,  398,  403,   40,
+       40,   40,   40,  405,   40,  399,  408,   40,   40,   40,
+
+      401,  404,  407,   40,   40,  413,  406,  411,   40,  410,
+       40,   40,  415,  409,  412,   40,   40,   40,   40,  419,
+      420,   40,  425,   40,   40,  426,  416,  414,  417,  418,
+      423,  421,  422,  424,   40,   40,   40,   40,   40,   40,
+       40,   40,   40,   40,  427,  429,   40,  430,  431,  435,
+      432,  428,   40,   40,  433,  436,   40,   40,   40,   40,
+      437,   40,  434,   40,   40,   40,   40,   40,  444,  438,
+      439,   40,  445,  443,  440,  449,   40,  441,  446,  447,
+      448,   40,   40,  442,   40,  452,  453,  454,   40,  450,
+       40,   40,   40,  455,   40,   40,  451,  457,   40,   40,
+
+       40,   40,   40,  459,  463,   40,   40,   40,   40,   40,
+       40,  456,  470,   40,  458,  464,  467,  469,  460,  465,
+       40,  461,  462,  468,  466,   40,  472,   40,  471,   40,
+       40,   40,  473,   40,  474,   40,  477,   40,   40,   40,
+      475,   40,  478,  480,   40,   40,   40,   40,  483,   40,
+       40,   40,  487,  476,   40,  481,  489,   40,  479,  485,
+      486,   40,   40,   40,  488,   40,  482,  484,  490,  492,
+       40,  494,  495,  491,   40,   40,   40,   40,   40,   40,
+       40,   40,   40,  498,  493,   40,   40,  502,  496,   40,
+      499,  500,  501,  504,  507,   40,  509,   40,  505,  497,
+
+      506,  508,  503,   40,   40,   40,   40,   40,  510,   40,
+       40,   40,   40,   40,  511,  516,  517,  518,   40,   40,
+       40,   40,  513,   40,  512,  522,   40,  515,  514,  523,
+      521,   40,   40,   40,   40,  520,   40,   40,   40,   40,
+      519,   40,  524,   37,   37,   37,   37,   39,   39,   50,
        40,   50,   50,   40,   40,   40,   40,   40,   40,   40,
        40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
        40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
        40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
        40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
+
        40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
        40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
-       40,   40,   40,   40,   40,   40,   40,   40,   40,  206,
-
-       40,   40,   40,   40,  114,   40,   38,  509,    3,  509,
-      509,  509,  509,  509,  509,  509,  509,  509,  509,  509,
-      509,  509,  509,  509,  509,  509,  509,  509,  509,  509,
-      509,  509,  509,  509,  509,  509,  509,  509,  509,  509,
-      509,  509,  509,  509,  509,  509,  509,  509,  509,  509,
-      509,  509
+       40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
+       40,  216,   40,   40,   40,   40,  119,   40,   38,  525,
+        3,  525,  525,  525,  525,  525,  525,  525,  525,  525,
+      525,  525,  525,  525,  525,  525,  525,  525,  525,  525,
+      525,  525,  525,  525,  525,  525,  525,  525,  525,  525,
+      525,  525,  525,  525,  525,  525,  525,  525,  525,  525,
+      525,  525,  525,  525
     } ;
 
-static yyconst short int yy_chk[1153] =
+static yyconst short int yy_chk[1185] =
     {   0,
         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
@@ -700,125 +716,128 @@
        10,   10,   10,   11,   11,   11,   11,   11,   12,   62,
        20,   62,   26,   12,   13,   13,   13,   13,   13,   13,
        14,   14,   14,   14,   14,   14,   16,   20,   46,   17,
-       26,   29,  514,   46,   16,  512,   26,   20,   17,   23,
+       26,   29,   63,   46,   16,   54,   26,   20,   17,   23,
        29,   16,   17,   16,   18,   16,   13,   17,   16,   18,
 
-       17,   18,   19,   21,   22,   23,   23,   19,   21,   24,
-       27,   19,   18,   22,   24,   19,   18,   19,   21,   22,
-       19,   25,   24,   28,   21,   33,   25,   24,   34,   27,
-       33,   27,   64,   31,   51,   28,   53,   34,   31,   25,
-       36,   28,   51,   33,   53,   25,   30,   35,   35,   36,
-       30,   31,   54,   56,   31,   64,   30,   67,  111,   30,
-      111,   31,   30,   30,   56,   52,   35,   42,   42,   42,
-       42,   54,   67,   30,   30,   57,   30,   32,   52,   55,
-       52,   32,   43,   43,   43,   43,   57,   32,   44,   44,
-       44,   44,   44,   61,   32,   55,   32,   58,   32,   63,
-
-       61,   72,  226,   32,   45,   45,   45,   45,   45,   45,
-       47,   47,   47,   47,   47,   58,   78,   47,  226,   72,
-       63,   66,   78,   47,   48,   48,   48,   48,   48,   48,
-       49,   49,   49,   49,   49,   60,   49,   49,   68,   49,
-       49,   49,   49,   49,   49,   65,   66,   69,   71,   70,
-       60,   73,   65,   74,   76,   69,   70,   60,   77,   75,
-       73,   79,   68,   71,   65,   84,   92,   81,   91,   80,
-       71,   82,   70,   76,   80,   83,   74,   75,   79,   82,
-       77,   77,   81,   77,   79,   85,   80,   86,   84,   88,
-       83,   89,   86,   90,   92,   91,   93,   94,   95,   96,
-
-       85,   97,   88,   93,   89,  102,   95,   97,  103,   90,
-       98,   93,   94,   99,  101,   94,   90,   96,   94,   93,
-      104,   94,  105,   98,  102,  110,   99,  101,  108,  107,
-      110,  106,  108,  108,   99,  109,  103,  104,  101,  106,
-      105,  107,  112,  113,  106,  108,  508,  132,  109,  124,
-      109,  123,  106,  116,  116,  116,  116,  106,  117,  117,
-      117,  117,  123,  112,  113,  117,  130,  124,  126,  128,
-      132,  117,  119,  119,  119,  119,  119,  126,  135,  119,
-      131,  130,  128,  138,  139,  119,  120,  120,  134,  120,
-      120,  120,  120,  120,  136,  131,  134,  137,  138,  139,
-
-      135,  141,  137,  136,  143,  142,  144,  145,  146,  147,
-      141,  142,  149,  148,  141,  144,  145,  143,  148,  151,
-      150,  149,  152,  155,  153,  151,  154,  156,  145,  150,
-      146,  157,  147,  153,  158,  154,  156,  152,  159,  160,
-      161,  155,  162,  165,  166,  157,  159,  174,  168,  172,
-      160,  179,  173,  213,  180,  161,  174,  158,  165,  506,
-      213,  179,  177,  180,  166,  168,  162,  171,  171,  171,
-      171,  181,  172,  171,  171,  173,  171,  171,  171,  171,
-      171,  171,  175,  177,  183,  184,  186,  185,  189,  190,
-      505,  175,  181,  175,  187,  188,  191,  175,  185,  175,
-
-      184,  192,  193,  187,  188,  186,  194,  183,  195,  196,
-      192,  189,  190,  191,  198,  194,  199,  197,  200,  193,
-      202,  195,  197,  201,  205,  199,  200,  196,  201,  203,
-      222,  224,  289,  203,  202,  198,  207,  207,  207,  207,
-      289,  223,  205,  207,  224,  222,  223,  208,  208,  207,
-      208,  208,  208,  208,  209,  209,  209,  209,  210,  210,
-      210,  210,  210,  211,  211,  211,  211,  211,  212,  214,
-      215,  219,  220,  221,  225,  227,  228,  233,  219,  229,
-      232,  228,  230,  231,  233,  212,  214,  215,  231,  232,
-      227,  234,  236,  238,  237,  220,  221,  239,  229,  237,
-
-      240,  225,  238,  230,  243,  241,  250,  236,  242,  244,
-      247,  248,  251,  260,  234,  504,  253,  256,  239,  241,
-      254,  240,  243,  242,  244,  253,  248,  255,  247,  257,
-      250,  258,  259,  254,  255,  251,  260,  256,  257,  261,
-      258,  259,  262,  264,  263,  267,  266,  270,  272,  261,
-      264,  262,  257,  263,  258,  266,  270,  273,  274,  272,
-      267,  275,  276,  277,  278,  279,  275,  273,  280,  282,
-      285,  274,  284,  288,  291,  292,  279,  295,  288,  276,
-      292,  291,  284,  285,  277,  278,  286,  286,  286,  286,
-      293,  294,  282,  296,  284,  280,  294,  293,  295,  296,
-
-      297,  298,  299,  301,  300,  302,  303,  305,  307,  308,
-      310,  299,  309,  303,  305,  311,  312,  307,  314,  297,
-      298,  300,  302,  316,  308,  312,  301,  315,  309,  317,
-      316,  318,  311,  310,  319,  314,  315,  321,  317,  322,
-      318,  330,  331,  319,  334,  333,  339,  340,  342,  335,
-      343,  341,  331,  345,  340,  321,  330,  333,  335,  341,
-      346,  343,  322,  347,  348,  349,  351,  334,  347,  339,
-      354,  342,  353,  346,  355,  356,  345,  354,  357,  351,
-      358,  359,  349,  364,  356,  366,  363,  348,  368,  353,
-      363,  363,  377,  378,  369,  392,  502,  368,  358,  359,
-
-      357,  366,  355,  369,  370,  372,  364,  380,  381,  370,
-      378,  385,  372,  377,  386,  391,  380,  392,  381,  393,
-      394,  395,  396,  398,  385,  401,  386,  393,  402,  403,
-      391,  405,  404,  394,  406,  407,  408,  411,  395,  409,
-      405,  398,  413,  406,  410,  396,  401,  404,  414,  402,
-      418,  408,  407,  410,  409,  403,  415,  414,  416,  411,
-      417,  415,  420,  416,  419,  421,  423,  413,  424,  417,
-      425,  419,  426,  418,  428,  429,  421,  430,  431,  435,
-      438,  426,  434,  437,  444,  420,  438,  431,  435,  428,
-      423,  424,  429,  425,  436,  434,  440,  441,  437,  442,
-
-      430,  436,  441,  440,  447,  448,  449,  444,  450,  447,
-      451,  452,  442,  450,  448,  453,  454,  455,  456,  457,
-      458,  462,  453,  459,  457,  463,  451,  461,  459,  449,
-      455,  464,  467,  456,  465,  458,  466,  462,  469,  454,
-      452,  461,  470,  465,  463,  466,  471,  472,  473,  475,
-      476,  470,  477,  478,  464,  467,  480,  481,  475,  485,
-      483,  471,  472,  473,  484,  477,  481,  469,  486,  487,
-      478,  484,  485,  476,  480,  483,  488,  489,  490,  491,
-      494,  492,  493,  495,  497,  486,  501,  491,  492,  493,
-      487,  507,  500,  501,  488,  503,  499,  498,  496,  490,
-
-      489,  497,  482,  479,  503,  474,  495,  468,  460,  494,
-      446,  445,  507,  510,  510,  510,  510,  511,  511,  513,
-      443,  513,  513,  439,  433,  432,  427,  422,  412,  400,
-      399,  397,  390,  389,  388,  387,  384,  383,  382,  379,
-      376,  375,  374,  373,  371,  367,  365,  362,  361,  360,
-      352,  350,  344,  338,  337,  336,  332,  329,  328,  327,
-      326,  325,  324,  323,  320,  313,  306,  304,  290,  287,
-      283,  281,  271,  269,  268,  265,  249,  246,  245,  235,
-      218,  217,  216,  204,  182,  178,  176,  170,  169,  167,
-      164,  163,  140,  133,  129,  127,  125,  122,  118,  114,
-
-      100,   87,   59,   39,   37,    8,    7,    3,  509,  509,
-      509,  509,  509,  509,  509,  509,  509,  509,  509,  509,
-      509,  509,  509,  509,  509,  509,  509,  509,  509,  509,
-      509,  509,  509,  509,  509,  509,  509,  509,  509,  509,
-      509,  509,  509,  509,  509,  509,  509,  509,  509,  509,
-      509,  509
+       17,   18,   19,   63,   54,   23,   23,   19,   66,   24,
+       22,   19,   18,   21,   24,   19,   18,   19,   21,   22,
+       19,   21,   24,   28,   25,   22,   27,   24,   21,   25,
+       51,   34,   33,   66,   21,   28,   58,   33,   51,   31,
+       34,   28,   25,   52,   31,   27,   36,   27,   25,   30,
+       33,   35,   35,   30,   58,   36,   52,   31,   52,   30,
+       31,   30,   30,   53,   56,   30,   30,   31,  530,   72,
+       35,   53,   57,   55,   30,   56,   30,   30,   68,   30,
+       32,   64,   72,   57,   32,   42,   42,   42,   42,   55,
+       32,   61,   32,   43,   43,   43,   43,   32,   61,   32,
+
+       75,   32,   68,   85,   64,   32,   32,   44,   44,   44,
+       44,   44,   45,   45,   45,   45,   45,   45,   47,   47,
+       47,   47,   47,   75,   79,   47,   85,  116,  528,  116,
+       79,   47,   48,   48,   48,   48,   48,   48,   49,   49,
+       49,   49,   49,   60,   49,   49,   67,   49,   49,   49,
+       49,   49,   49,   65,   69,   71,   70,   73,   60,   74,
+       65,   67,   69,   70,   76,   60,   77,   78,   74,   81,
+       71,   80,   65,   83,   81,   73,   82,   71,   84,   70,
+       86,   83,   76,   91,   89,   77,   81,   90,   80,   78,
+       78,   82,   78,   84,   80,   86,   87,   89,   92,   91,
+
+       90,   87,   93,   94,   95,   96,   91,   97,   98,  101,
+       99,   95,  100,  105,  524,   97,   94,   98,  100,   95,
+       96,  102,  101,   96,  104,   92,   96,   95,   99,   96,
+       93,  106,  105,  107,  102,  108,  109,  104,  111,  140,
+      113,  112,  102,  110,  113,  113,  107,  111,  104,  117,
+      114,  110,  108,  112,  109,  115,  110,  113,  118,  106,
+      115,  140,  129,  114,  110,  114,  522,  521,  133,  110,
+      117,  121,  121,  121,  121,  122,  122,  122,  122,  118,
+      129,  133,  122,  128,  135,  136,  131,  163,  122,  124,
+      124,  124,  124,  124,  128,  131,  124,  137,  520,  135,
+
+      136,  163,  124,  125,  125,  139,  125,  125,  125,  125,
+      125,  142,  141,  139,  143,  144,  142,  147,  146,  148,
+      137,  141,  151,  147,  149,  150,  152,  146,  153,  143,
+      144,  146,  148,  149,  150,  154,  155,  157,  156,  158,
+      154,  159,  160,  157,  151,  155,  150,  156,  161,  152,
+      159,  160,  155,  153,  158,  162,  164,  165,  166,  167,
+      168,  171,  172,  174,  162,  165,  161,  178,  179,  166,
+      207,  223,  181,  188,  167,  207,  171,  180,  223,  164,
+      174,  181,  172,  184,  168,  177,  177,  177,  177,  188,
+      178,  177,  177,  179,  177,  177,  177,  177,  177,  177,
+
+      180,  182,  187,  186,  184,  189,  191,  192,  193,  194,
+      182,  187,  182,  186,  195,  196,  182,  197,  182,  193,
+      198,  199,  192,  195,  196,  200,  189,  201,  194,  191,
+      202,  206,  203,  204,  205,  208,  201,  215,  235,  209,
+      197,  203,  200,  210,  199,  198,  204,  202,  209,  206,
+      205,  210,  211,  212,  213,  215,  208,  211,  213,  217,
+      217,  217,  217,  233,  238,  235,  217,  212,  233,  238,
+      218,  218,  217,  218,  218,  218,  218,  219,  219,  219,
+      219,  220,  220,  220,  220,  220,  221,  221,  221,  221,
+      221,  222,  224,  225,  229,  230,  231,  232,  234,  236,
+
+      240,  229,  237,  239,  242,  245,  251,  243,  222,  224,
+      225,  234,  232,  242,  243,  236,  248,  237,  230,  231,
+      241,  240,  239,  250,  249,  241,  252,  251,  245,  249,
+      253,  248,  250,  254,  255,  256,  259,  262,  260,  263,
+      265,  273,  267,  269,  253,  518,  516,  252,  254,  265,
+      256,  268,  255,  260,  259,  267,  270,  271,  268,  272,
+      274,  262,  263,  269,  273,  270,  271,  275,  272,  277,
+      274,  281,  287,  280,  278,  284,  275,  288,  277,  270,
+      271,  278,  280,  287,  284,  289,  281,  288,  290,  291,
+      293,  294,  295,  290,  296,  298,  301,  300,  289,  302,
+
+      302,  302,  302,  295,  311,  304,  291,  300,  305,  301,
+      304,  293,  294,  307,  313,  314,  305,  308,  298,  300,
+      307,  296,  308,  309,  310,  311,  312,  315,  316,  310,
+      309,  317,  312,  313,  314,  318,  315,  319,  323,  321,
+      324,  325,  326,  327,  319,  316,  321,  323,  337,  328,
+      330,  338,  318,  331,  317,  324,  332,  325,  328,  333,
+      327,  334,  331,  332,  335,  326,  337,  330,  333,  346,
+      334,  347,  350,  335,  338,  349,  351,  355,  358,  356,
+      357,  347,  359,  361,  346,  351,  356,  349,  357,  362,
+      364,  363,  365,  359,  367,  350,  363,  369,  370,  371,
+
+      355,  358,  362,  372,  373,  370,  361,  367,  380,  365,
+      374,  375,  372,  364,  369,  379,  382,  386,  388,  379,
+      379,  384,  386,  393,  385,  388,  373,  371,  374,  375,
+      384,  380,  382,  385,  394,  401,  396,  397,  402,  407,
+      408,  409,  410,  411,  393,  396,  412,  397,  401,  409,
+      402,  394,  414,  417,  407,  410,  418,  419,  420,  421,
+      411,  423,  408,  422,  424,  425,  426,  427,  421,  412,
+      414,  429,  422,  420,  417,  426,  430,  418,  423,  424,
+      425,  431,  432,  419,  433,  430,  431,  432,  434,  427,
+      435,  436,  437,  433,  439,  442,  429,  435,  440,  441,
+
+      444,  446,  445,  437,  442,  452,  515,  447,  451,  514,
+      450,  434,  452,  453,  436,  444,  447,  451,  439,  445,
+      454,  440,  441,  450,  446,  456,  454,  458,  453,  457,
+      460,  463,  456,  464,  457,  465,  463,  468,  466,  467,
+      458,  469,  464,  466,  470,  472,  471,  473,  469,  474,
+      479,  475,  473,  460,  477,  467,  475,  478,  465,  471,
+      472,  480,  481,  482,  474,  483,  468,  470,  477,  479,
+      485,  481,  482,  478,  486,  487,  488,  489,  491,  492,
+      493,  494,  496,  486,  480,  497,  499,  491,  483,  500,
+      487,  488,  489,  493,  497,  501,  500,  502,  494,  485,
+
+      496,  499,  492,  503,  504,  505,  506,  507,  501,  508,
+      509,  510,  511,  513,  502,  507,  508,  509,  517,  512,
+      519,  523,  504,  498,  503,  517,  495,  506,  505,  519,
+      513,  490,  484,  476,  462,  511,  461,  459,  455,  449,
+      510,  448,  523,  526,  526,  526,  526,  527,  527,  529,
+      443,  529,  529,  438,  428,  416,  415,  413,  406,  405,
+      404,  403,  400,  399,  398,  395,  392,  391,  390,  389,
+      387,  383,  381,  378,  377,  376,  368,  366,  360,  354,
+      353,  352,  348,  345,  344,  343,  342,  341,  340,  339,
+      336,  329,  322,  320,  306,  303,  299,  297,  292,  286,
+
+      285,  283,  282,  279,  276,  266,  261,  258,  257,  247,
+      246,  244,  228,  227,  226,  214,  190,  185,  183,  176,
+      175,  173,  170,  169,  145,  138,  134,  132,  130,  127,
+      123,  119,  103,   88,   59,   39,   37,    8,    7,    3,
+      525,  525,  525,  525,  525,  525,  525,  525,  525,  525,
+      525,  525,  525,  525,  525,  525,  525,  525,  525,  525,
+      525,  525,  525,  525,  525,  525,  525,  525,  525,  525,
+      525,  525,  525,  525,  525,  525,  525,  525,  525,  525,
+      525,  525,  525,  525
     } ;
 
 static yy_state_type yy_state_buf[YY_BUF_SIZE + 2], *yy_state_ptr;
@@ -835,7 +854,7 @@
 #define YY_MORE_ADJ 0
 #define YY_RESTORE_YY_MORE_OFFSET
 char *yytext;
-#line 1 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
+#line 1 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 #define INITIAL 0
 /*===-- Lexer.l - Scanner for llvm assembly files --------------*- C++ -*--===//
 //
@@ -850,7 +869,7 @@
 //
 //===----------------------------------------------------------------------===*/
 #define YY_NEVER_INTERACTIVE 1
-#line 28 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
+#line 28 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 #include "ParserInternals.h"
 #include "llvm/Module.h"
 #include <list>
@@ -865,8 +884,18 @@
   yy_scan_string (str);
 }
 
+// Construct a token value for a non-obsolete token
 #define RET_TOK(type, Enum, sym) \
-  llvmAsmlval.type = Instruction::Enum; return sym
+  llvmAsmlval.type.opcode = Instruction::Enum; \
+  llvmAsmlval.type.obsolete = false; \
+  return sym
+
+// Construct a token value for an obsolete token
+#define RET_TOK_OBSOLETE(type, Enum, sym) \
+  llvmAsmlval.type.opcode = Instruction::Enum; \
+  llvmAsmlval.type.obsolete = true; \
+  return sym
+
 
 namespace llvm {
 
@@ -976,7 +1005,7 @@
 /* HexIntConstant - Hexadecimal constant generated by the CFE to avoid forcing
  * it to deal with 64 bit numbers.
  */
-#line 980 "Lexer.cpp"
+#line 1009 "Lexer.cpp"
 
 /* Macros after this point can all be overridden by user definitions in
  * section 1.
@@ -1124,13 +1153,13 @@
 YY_DECL
 	{
 	register yy_state_type yy_current_state;
-	register char *yy_cp, *yy_bp;
+	register char *yy_cp = NULL, *yy_bp = NULL;
 	register int yy_act;
 
-#line 179 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
+#line 189 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 
 
-#line 1134 "Lexer.cpp"
+#line 1163 "Lexer.cpp"
 
 	if ( yy_init )
 		{
@@ -1178,14 +1207,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 >= 510 )
+				if ( yy_current_state >= 526 )
 					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 != 509 );
+		while ( yy_current_state != 525 );
 
 yy_find_action:
 		yy_current_state = *--yy_state_ptr;
@@ -1223,516 +1252,546 @@
 	{ /* beginning of action switch */
 case 1:
 YY_RULE_SETUP
-#line 181 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
+#line 191 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { /* Ignore comments for now */ }
 	YY_BREAK
 case 2:
 YY_RULE_SETUP
-#line 183 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
+#line 193 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return BEGINTOK; }
 	YY_BREAK
 case 3:
 YY_RULE_SETUP
-#line 184 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
+#line 194 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return ENDTOK; }
 	YY_BREAK
 case 4:
 YY_RULE_SETUP
-#line 185 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
+#line 195 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return TRUETOK;  }
 	YY_BREAK
 case 5:
 YY_RULE_SETUP
-#line 186 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
+#line 196 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return FALSETOK; }
 	YY_BREAK
 case 6:
 YY_RULE_SETUP
-#line 187 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
+#line 197 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return DECLARE; }
 	YY_BREAK
 case 7:
 YY_RULE_SETUP
-#line 188 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
+#line 198 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return GLOBAL; }
 	YY_BREAK
 case 8:
 YY_RULE_SETUP
-#line 189 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
+#line 199 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return CONSTANT; }
 	YY_BREAK
 case 9:
 YY_RULE_SETUP
-#line 190 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
+#line 200 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return INTERNAL; }
 	YY_BREAK
 case 10:
 YY_RULE_SETUP
-#line 191 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
+#line 201 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return LINKONCE; }
 	YY_BREAK
 case 11:
 YY_RULE_SETUP
-#line 192 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
+#line 202 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return WEAK; }
 	YY_BREAK
 case 12:
 YY_RULE_SETUP
-#line 193 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
+#line 203 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return APPENDING; }
 	YY_BREAK
 case 13:
 YY_RULE_SETUP
-#line 194 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
+#line 204 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return DLLIMPORT; }
 	YY_BREAK
 case 14:
 YY_RULE_SETUP
-#line 195 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
+#line 205 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return DLLEXPORT; }
 	YY_BREAK
 case 15:
 YY_RULE_SETUP
-#line 196 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
+#line 206 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return EXTERN_WEAK; }
 	YY_BREAK
 case 16:
 YY_RULE_SETUP
-#line 197 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
+#line 207 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return EXTERNAL; }    /* Deprecated, turn into external */
 	YY_BREAK
 case 17:
 YY_RULE_SETUP
-#line 198 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
+#line 208 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return EXTERNAL; }
 	YY_BREAK
 case 18:
 YY_RULE_SETUP
-#line 199 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
+#line 209 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return IMPLEMENTATION; }
 	YY_BREAK
 case 19:
 YY_RULE_SETUP
-#line 200 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
+#line 210 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return ZEROINITIALIZER; }
 	YY_BREAK
 case 20:
 YY_RULE_SETUP
-#line 201 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
+#line 211 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return DOTDOTDOT; }
 	YY_BREAK
 case 21:
 YY_RULE_SETUP
-#line 202 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
+#line 212 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return UNDEF; }
 	YY_BREAK
 case 22:
 YY_RULE_SETUP
-#line 203 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
+#line 213 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return NULL_TOK; }
 	YY_BREAK
 case 23:
 YY_RULE_SETUP
-#line 204 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
+#line 214 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return TO; }
 	YY_BREAK
 case 24:
 YY_RULE_SETUP
-#line 205 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
+#line 215 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { RET_TOK(TermOpVal, Unwind, UNWIND); }
 	YY_BREAK
 case 25:
 YY_RULE_SETUP
-#line 206 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
+#line 216 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return NOT; }  /* Deprecated, turned into XOR */
 	YY_BREAK
 case 26:
 YY_RULE_SETUP
-#line 207 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
+#line 217 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return TAIL; }
 	YY_BREAK
 case 27:
 YY_RULE_SETUP
-#line 208 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
+#line 218 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return TARGET; }
 	YY_BREAK
 case 28:
 YY_RULE_SETUP
-#line 209 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
+#line 219 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return TRIPLE; }
 	YY_BREAK
 case 29:
 YY_RULE_SETUP
-#line 210 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
+#line 220 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return DEPLIBS; }
 	YY_BREAK
 case 30:
 YY_RULE_SETUP
-#line 211 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
+#line 221 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return ENDIAN; }
 	YY_BREAK
 case 31:
 YY_RULE_SETUP
-#line 212 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
+#line 222 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return POINTERSIZE; }
 	YY_BREAK
 case 32:
 YY_RULE_SETUP
-#line 213 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
+#line 223 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return DATALAYOUT; }
 	YY_BREAK
 case 33:
 YY_RULE_SETUP
-#line 214 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
+#line 224 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return LITTLE; }
 	YY_BREAK
 case 34:
 YY_RULE_SETUP
-#line 215 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
+#line 225 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return BIG; }
 	YY_BREAK
 case 35:
 YY_RULE_SETUP
-#line 216 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
+#line 226 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return VOLATILE; }
 	YY_BREAK
 case 36:
 YY_RULE_SETUP
-#line 217 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
+#line 227 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return ALIGN;  }
 	YY_BREAK
 case 37:
 YY_RULE_SETUP
-#line 218 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
+#line 228 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return SECTION; }
 	YY_BREAK
 case 38:
 YY_RULE_SETUP
-#line 219 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
+#line 229 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return MODULE; }
 	YY_BREAK
 case 39:
 YY_RULE_SETUP
-#line 220 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
+#line 230 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return ASM_TOK; }
 	YY_BREAK
 case 40:
 YY_RULE_SETUP
-#line 221 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
+#line 231 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return SIDEEFFECT; }
 	YY_BREAK
 case 41:
 YY_RULE_SETUP
-#line 223 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
+#line 233 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return CC_TOK; }
 	YY_BREAK
 case 42:
 YY_RULE_SETUP
-#line 224 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
+#line 234 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return CCC_TOK; }
 	YY_BREAK
 case 43:
 YY_RULE_SETUP
-#line 225 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
+#line 235 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return CSRETCC_TOK; }
 	YY_BREAK
 case 44:
 YY_RULE_SETUP
-#line 226 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
+#line 236 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return FASTCC_TOK; }
 	YY_BREAK
 case 45:
 YY_RULE_SETUP
-#line 227 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
+#line 237 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return COLDCC_TOK; }
 	YY_BREAK
 case 46:
 YY_RULE_SETUP
-#line 228 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
+#line 238 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return X86_STDCALLCC_TOK; }
 	YY_BREAK
 case 47:
 YY_RULE_SETUP
-#line 229 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
+#line 239 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return X86_FASTCALLCC_TOK; }
 	YY_BREAK
 case 48:
 YY_RULE_SETUP
-#line 231 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
+#line 241 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { llvmAsmlval.PrimType = Type::VoidTy  ; return VOID;   }
 	YY_BREAK
 case 49:
 YY_RULE_SETUP
-#line 232 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
+#line 242 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { llvmAsmlval.PrimType = Type::BoolTy  ; return BOOL;   }
 	YY_BREAK
 case 50:
 YY_RULE_SETUP
-#line 233 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
+#line 243 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { llvmAsmlval.PrimType = Type::SByteTy ; return SBYTE;  }
 	YY_BREAK
 case 51:
 YY_RULE_SETUP
-#line 234 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
+#line 244 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { llvmAsmlval.PrimType = Type::UByteTy ; return UBYTE;  }
 	YY_BREAK
 case 52:
 YY_RULE_SETUP
-#line 235 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
+#line 245 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { llvmAsmlval.PrimType = Type::ShortTy ; return SHORT;  }
 	YY_BREAK
 case 53:
 YY_RULE_SETUP
-#line 236 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
+#line 246 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { llvmAsmlval.PrimType = Type::UShortTy; return USHORT; }
 	YY_BREAK
 case 54:
 YY_RULE_SETUP
-#line 237 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
+#line 247 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { llvmAsmlval.PrimType = Type::IntTy   ; return INT;    }
 	YY_BREAK
 case 55:
 YY_RULE_SETUP
-#line 238 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
+#line 248 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { llvmAsmlval.PrimType = Type::UIntTy  ; return UINT;   }
 	YY_BREAK
 case 56:
 YY_RULE_SETUP
-#line 239 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
+#line 249 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { llvmAsmlval.PrimType = Type::LongTy  ; return LONG;   }
 	YY_BREAK
 case 57:
 YY_RULE_SETUP
-#line 240 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
+#line 250 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { llvmAsmlval.PrimType = Type::ULongTy ; return ULONG;  }
 	YY_BREAK
 case 58:
 YY_RULE_SETUP
-#line 241 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
+#line 251 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { llvmAsmlval.PrimType = Type::FloatTy ; return FLOAT;  }
 	YY_BREAK
 case 59:
 YY_RULE_SETUP
-#line 242 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
+#line 252 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { llvmAsmlval.PrimType = Type::DoubleTy; return DOUBLE; }
 	YY_BREAK
 case 60:
 YY_RULE_SETUP
-#line 243 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
+#line 253 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { llvmAsmlval.PrimType = Type::LabelTy ; return LABEL;  }
 	YY_BREAK
 case 61:
 YY_RULE_SETUP
-#line 244 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
+#line 254 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return TYPE;   }
 	YY_BREAK
 case 62:
 YY_RULE_SETUP
-#line 245 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
+#line 255 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return OPAQUE; }
 	YY_BREAK
 case 63:
 YY_RULE_SETUP
-#line 247 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
+#line 257 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { RET_TOK(BinaryOpVal, Add, ADD); }
 	YY_BREAK
 case 64:
 YY_RULE_SETUP
-#line 248 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
+#line 258 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { RET_TOK(BinaryOpVal, Sub, SUB); }
 	YY_BREAK
 case 65:
 YY_RULE_SETUP
-#line 249 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
+#line 259 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { RET_TOK(BinaryOpVal, Mul, MUL); }
 	YY_BREAK
 case 66:
 YY_RULE_SETUP
-#line 250 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
-{ RET_TOK(BinaryOpVal, Div, DIV); }
+#line 260 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{ RET_TOK_OBSOLETE(BinaryOpVal, UDiv, UDIV); }
 	YY_BREAK
 case 67:
 YY_RULE_SETUP
-#line 251 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
-{ RET_TOK(BinaryOpVal, Rem, REM); }
+#line 261 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{ RET_TOK(BinaryOpVal, UDiv, UDIV); }
 	YY_BREAK
 case 68:
 YY_RULE_SETUP
-#line 252 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
-{ RET_TOK(BinaryOpVal, And, AND); }
+#line 262 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{ RET_TOK(BinaryOpVal, SDiv, SDIV); }
 	YY_BREAK
 case 69:
 YY_RULE_SETUP
-#line 253 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
-{ RET_TOK(BinaryOpVal, Or , OR ); }
+#line 263 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{ RET_TOK(BinaryOpVal, FDiv, FDIV); }
 	YY_BREAK
 case 70:
 YY_RULE_SETUP
-#line 254 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
-{ RET_TOK(BinaryOpVal, Xor, XOR); }
+#line 264 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{ RET_TOK_OBSOLETE(BinaryOpVal, URem, UREM); }
 	YY_BREAK
 case 71:
 YY_RULE_SETUP
-#line 255 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
-{ RET_TOK(BinaryOpVal, SetNE, SETNE); }
+#line 265 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{ RET_TOK(BinaryOpVal, URem, UREM); }
 	YY_BREAK
 case 72:
 YY_RULE_SETUP
-#line 256 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
-{ RET_TOK(BinaryOpVal, SetEQ, SETEQ); }
+#line 266 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{ RET_TOK(BinaryOpVal, SRem, SREM); }
 	YY_BREAK
 case 73:
 YY_RULE_SETUP
-#line 257 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
-{ RET_TOK(BinaryOpVal, SetLT, SETLT); }
+#line 267 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{ RET_TOK(BinaryOpVal, FRem, FREM); }
 	YY_BREAK
 case 74:
 YY_RULE_SETUP
-#line 258 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
-{ RET_TOK(BinaryOpVal, SetGT, SETGT); }
+#line 268 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{ RET_TOK(BinaryOpVal, And, AND); }
 	YY_BREAK
 case 75:
 YY_RULE_SETUP
-#line 259 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
-{ RET_TOK(BinaryOpVal, SetLE, SETLE); }
+#line 269 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{ RET_TOK(BinaryOpVal, Or , OR ); }
 	YY_BREAK
 case 76:
 YY_RULE_SETUP
-#line 260 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
-{ RET_TOK(BinaryOpVal, SetGE, SETGE); }
+#line 270 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{ RET_TOK(BinaryOpVal, Xor, XOR); }
 	YY_BREAK
 case 77:
 YY_RULE_SETUP
-#line 262 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
-{ RET_TOK(OtherOpVal, PHI, PHI_TOK); }
+#line 271 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{ RET_TOK(BinaryOpVal, SetNE, SETNE); }
 	YY_BREAK
 case 78:
 YY_RULE_SETUP
-#line 263 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
-{ RET_TOK(OtherOpVal, Call, CALL); }
+#line 272 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{ RET_TOK(BinaryOpVal, SetEQ, SETEQ); }
 	YY_BREAK
 case 79:
 YY_RULE_SETUP
-#line 264 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
-{ RET_TOK(OtherOpVal, Cast, CAST); }
+#line 273 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{ RET_TOK(BinaryOpVal, SetLT, SETLT); }
 	YY_BREAK
 case 80:
 YY_RULE_SETUP
-#line 265 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
-{ RET_TOK(OtherOpVal, Select, SELECT); }
+#line 274 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{ RET_TOK(BinaryOpVal, SetGT, SETGT); }
 	YY_BREAK
 case 81:
 YY_RULE_SETUP
-#line 266 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
-{ RET_TOK(OtherOpVal, Shl, SHL); }
+#line 275 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{ RET_TOK(BinaryOpVal, SetLE, SETLE); }
 	YY_BREAK
 case 82:
 YY_RULE_SETUP
-#line 267 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
-{ RET_TOK(OtherOpVal, Shr, SHR); }
+#line 276 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{ RET_TOK(BinaryOpVal, SetGE, SETGE); }
 	YY_BREAK
 case 83:
 YY_RULE_SETUP
-#line 268 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
-{ return VANEXT_old; }
+#line 278 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{ RET_TOK(OtherOpVal, PHI, PHI_TOK); }
 	YY_BREAK
 case 84:
 YY_RULE_SETUP
-#line 269 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
-{ return VAARG_old; }
+#line 279 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{ RET_TOK(OtherOpVal, Call, CALL); }
 	YY_BREAK
 case 85:
 YY_RULE_SETUP
-#line 270 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
-{ RET_TOK(OtherOpVal, VAArg , VAARG); }
+#line 280 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{ RET_TOK(OtherOpVal, Cast, CAST); }
 	YY_BREAK
 case 86:
 YY_RULE_SETUP
-#line 271 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
-{ RET_TOK(TermOpVal, Ret, RET); }
+#line 281 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{ RET_TOK(OtherOpVal, Select, SELECT); }
 	YY_BREAK
 case 87:
 YY_RULE_SETUP
-#line 272 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
-{ RET_TOK(TermOpVal, Br, BR); }
+#line 282 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{ RET_TOK(OtherOpVal, Shl, SHL); }
 	YY_BREAK
 case 88:
 YY_RULE_SETUP
-#line 273 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
-{ RET_TOK(TermOpVal, Switch, SWITCH); }
+#line 283 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{ RET_TOK(OtherOpVal, Shr, SHR); }
 	YY_BREAK
 case 89:
 YY_RULE_SETUP
-#line 274 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
-{ RET_TOK(TermOpVal, Invoke, INVOKE); }
+#line 284 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{ return VANEXT_old; }
 	YY_BREAK
 case 90:
 YY_RULE_SETUP
-#line 275 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
-{ RET_TOK(TermOpVal, Unwind, UNWIND); }
+#line 285 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{ return VAARG_old; }
 	YY_BREAK
 case 91:
 YY_RULE_SETUP
-#line 276 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
-{ RET_TOK(TermOpVal, Unreachable, UNREACHABLE); }
+#line 286 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{ RET_TOK(OtherOpVal, VAArg , VAARG); }
 	YY_BREAK
 case 92:
 YY_RULE_SETUP
-#line 278 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
-{ RET_TOK(MemOpVal, Malloc, MALLOC); }
+#line 287 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{ RET_TOK(TermOpVal, Ret, RET); }
 	YY_BREAK
 case 93:
 YY_RULE_SETUP
-#line 279 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
-{ RET_TOK(MemOpVal, Alloca, ALLOCA); }
+#line 288 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{ RET_TOK(TermOpVal, Br, BR); }
 	YY_BREAK
 case 94:
 YY_RULE_SETUP
-#line 280 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
-{ RET_TOK(MemOpVal, Free, FREE); }
+#line 289 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{ RET_TOK(TermOpVal, Switch, SWITCH); }
 	YY_BREAK
 case 95:
 YY_RULE_SETUP
-#line 281 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
-{ RET_TOK(MemOpVal, Load, LOAD); }
+#line 290 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{ RET_TOK(TermOpVal, Invoke, INVOKE); }
 	YY_BREAK
 case 96:
 YY_RULE_SETUP
-#line 282 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
-{ RET_TOK(MemOpVal, Store, STORE); }
+#line 291 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{ RET_TOK(TermOpVal, Unwind, UNWIND); }
 	YY_BREAK
 case 97:
 YY_RULE_SETUP
-#line 283 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
-{ RET_TOK(MemOpVal, GetElementPtr, GETELEMENTPTR); }
+#line 292 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{ RET_TOK(TermOpVal, Unreachable, UNREACHABLE); }
 	YY_BREAK
 case 98:
 YY_RULE_SETUP
-#line 285 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
-{ RET_TOK(OtherOpVal, ExtractElement, EXTRACTELEMENT); }
+#line 294 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{ RET_TOK(MemOpVal, Malloc, MALLOC); }
 	YY_BREAK
 case 99:
 YY_RULE_SETUP
-#line 286 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
-{ RET_TOK(OtherOpVal, InsertElement, INSERTELEMENT); }
+#line 295 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{ RET_TOK(MemOpVal, Alloca, ALLOCA); }
 	YY_BREAK
 case 100:
 YY_RULE_SETUP
-#line 287 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
-{ RET_TOK(OtherOpVal, ShuffleVector, SHUFFLEVECTOR); }
+#line 296 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{ RET_TOK(MemOpVal, Free, FREE); }
 	YY_BREAK
 case 101:
 YY_RULE_SETUP
-#line 290 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
+#line 297 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{ RET_TOK(MemOpVal, Load, LOAD); }
+	YY_BREAK
+case 102:
+YY_RULE_SETUP
+#line 298 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{ RET_TOK(MemOpVal, Store, STORE); }
+	YY_BREAK
+case 103:
+YY_RULE_SETUP
+#line 299 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{ RET_TOK(MemOpVal, GetElementPtr, GETELEMENTPTR); }
+	YY_BREAK
+case 104:
+YY_RULE_SETUP
+#line 301 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{ RET_TOK(OtherOpVal, ExtractElement, EXTRACTELEMENT); }
+	YY_BREAK
+case 105:
+YY_RULE_SETUP
+#line 302 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{ RET_TOK(OtherOpVal, InsertElement, INSERTELEMENT); }
+	YY_BREAK
+case 106:
+YY_RULE_SETUP
+#line 303 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{ RET_TOK(OtherOpVal, ShuffleVector, SHUFFLEVECTOR); }
+	YY_BREAK
+case 107:
+YY_RULE_SETUP
+#line 306 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 {
                   UnEscapeLexed(yytext+1);
                   llvmAsmlval.StrVal = strdup(yytext+1);             // Skip %
                   return VAR_ID;
                 }
 	YY_BREAK
-case 102:
+case 108:
 YY_RULE_SETUP
-#line 295 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
+#line 311 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 {
                   yytext[strlen(yytext)-1] = 0;  // nuke colon
                   UnEscapeLexed(yytext);
@@ -1740,9 +1799,9 @@
                   return LABELSTR;
                 }
 	YY_BREAK
-case 103:
+case 109:
 YY_RULE_SETUP
-#line 301 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
+#line 317 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 {
                   yytext[strlen(yytext)-2] = 0;  // nuke colon, end quote
                   UnEscapeLexed(yytext+1);
@@ -1750,9 +1809,9 @@
                   return LABELSTR;
                 }
 	YY_BREAK
-case 104:
+case 110:
 YY_RULE_SETUP
-#line 308 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
+#line 324 "/proj/llvm/llvm-4/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
@@ -1763,14 +1822,14 @@
                    return STRINGCONSTANT;
                  }
 	YY_BREAK
-case 105:
+case 111:
 YY_RULE_SETUP
-#line 319 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
+#line 335 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { llvmAsmlval.UInt64Val = atoull(yytext); return EUINT64VAL; }
 	YY_BREAK
-case 106:
+case 112:
 YY_RULE_SETUP
-#line 320 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
+#line 336 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 {
                   uint64_t Val = atoull(yytext+1);
                   // +1:  we have bigger negative range
@@ -1780,17 +1839,17 @@
                   return ESINT64VAL;
                 }
 	YY_BREAK
-case 107:
+case 113:
 YY_RULE_SETUP
-#line 328 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
+#line 344 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 {
                    llvmAsmlval.UInt64Val = HexIntToVal(yytext+3);
                    return yytext[0] == 's' ? ESINT64VAL : EUINT64VAL;
                  }
 	YY_BREAK
-case 108:
+case 114:
 YY_RULE_SETUP
-#line 333 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
+#line 349 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 {
                   uint64_t Val = atoull(yytext+1);
                   if ((unsigned)Val != Val)
@@ -1799,9 +1858,9 @@
                   return UINTVAL;
                 }
 	YY_BREAK
-case 109:
+case 115:
 YY_RULE_SETUP
-#line 340 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
+#line 356 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 {
                   uint64_t Val = atoull(yytext+2);
                   // +1:  we have bigger negative range
@@ -1811,18 +1870,18 @@
                   return SINTVAL;
                 }
 	YY_BREAK
-case 110:
+case 116:
 YY_RULE_SETUP
-#line 349 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
+#line 365 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { llvmAsmlval.FPVal = atof(yytext); return FPVAL; }
 	YY_BREAK
-case 111:
+case 117:
 YY_RULE_SETUP
-#line 350 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
+#line 366 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { llvmAsmlval.FPVal = HexToFP(yytext); return FPVAL; }
 	YY_BREAK
 case YY_STATE_EOF(INITIAL):
-#line 352 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
+#line 368 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 {
                   /* Make sure to free the internal buffers for flex when we are
                    * done reading our input!
@@ -1831,22 +1890,22 @@
                   return EOF;
                 }
 	YY_BREAK
-case 112:
+case 118:
 YY_RULE_SETUP
-#line 360 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
+#line 376 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { /* Ignore whitespace */ }
 	YY_BREAK
-case 113:
+case 119:
 YY_RULE_SETUP
-#line 361 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
+#line 377 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return yytext[0]; }
 	YY_BREAK
-case 114:
+case 120:
 YY_RULE_SETUP
-#line 363 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
+#line 379 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 YY_FATAL_ERROR( "flex scanner jammed" );
 	YY_BREAK
-#line 1850 "Lexer.cpp"
+#line 1909 "Lexer.cpp"
 
 	case YY_END_OF_BUFFER:
 		{
@@ -2133,7 +2192,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 >= 510 )
+			if ( yy_current_state >= 526 )
 				yy_c = yy_meta[(unsigned int) yy_c];
 			}
 		yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
@@ -2163,11 +2222,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 >= 510 )
+		if ( yy_current_state >= 526 )
 			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 == 509);
+	yy_is_jam = (yy_current_state == 525);
 	if ( ! yy_is_jam )
 		*yy_state_ptr++ = yy_current_state;
 
@@ -2222,6 +2281,7 @@
 #endif	/* ifndef YY_NO_UNPUT */
 
 
+#ifndef YY_NO_INPUT
 #ifdef __cplusplus
 static int yyinput()
 #else
@@ -2295,7 +2355,7 @@
 
 	return c;
 	}
-
+#endif /* YY_NO_INPUT */
 
 #ifdef YY_USE_PROTOS
 void yyrestart( FILE *input_file )
@@ -2406,11 +2466,6 @@
 	}
 
 
-#ifndef YY_ALWAYS_INTERACTIVE
-#ifndef YY_NEVER_INTERACTIVE
-extern int isatty YY_PROTO(( int ));
-#endif
-#endif
 
 #ifdef YY_USE_PROTOS
 void yy_init_buffer( YY_BUFFER_STATE b, FILE *file )
@@ -2728,5 +2783,5 @@
 	return 0;
 	}
 #endif
-#line 363 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
+#line 379 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 


Index: llvm/lib/AsmParser/Lexer.l.cvs
diff -u llvm/lib/AsmParser/Lexer.l.cvs:1.9 llvm/lib/AsmParser/Lexer.l.cvs:1.10
--- llvm/lib/AsmParser/Lexer.l.cvs:1.9	Sun Oct 22 01:08:13 2006
+++ llvm/lib/AsmParser/Lexer.l.cvs	Thu Nov  2 14:25:49 2006
@@ -39,8 +39,18 @@
   yy_scan_string (str);
 }
 
+// Construct a token value for a non-obsolete token
 #define RET_TOK(type, Enum, sym) \
-  llvmAsmlval.type = Instruction::Enum; return sym
+  llvmAsmlval.type.opcode = Instruction::Enum; \
+  llvmAsmlval.type.obsolete = false; \
+  return sym
+
+// Construct a token value for an obsolete token
+#define RET_TOK_OBSOLETE(type, Enum, sym) \
+  llvmAsmlval.type.opcode = Instruction::Enum; \
+  llvmAsmlval.type.obsolete = true; \
+  return sym
+
 
 namespace llvm {
 
@@ -247,8 +257,14 @@
 add             { RET_TOK(BinaryOpVal, Add, ADD); }
 sub             { RET_TOK(BinaryOpVal, Sub, SUB); }
 mul             { RET_TOK(BinaryOpVal, Mul, MUL); }
-div             { RET_TOK(BinaryOpVal, Div, DIV); }
-rem             { RET_TOK(BinaryOpVal, Rem, REM); }
+div             { RET_TOK_OBSOLETE(BinaryOpVal, UDiv, UDIV); }
+udiv            { RET_TOK(BinaryOpVal, UDiv, UDIV); }
+sdiv            { RET_TOK(BinaryOpVal, SDiv, SDIV); }
+fdiv            { RET_TOK(BinaryOpVal, FDiv, FDIV); }
+rem             { RET_TOK_OBSOLETE(BinaryOpVal, URem, UREM); }
+urem            { RET_TOK(BinaryOpVal, URem, UREM); }
+srem            { RET_TOK(BinaryOpVal, SRem, SREM); }
+frem            { RET_TOK(BinaryOpVal, FRem, FREM); }
 and             { RET_TOK(BinaryOpVal, And, AND); }
 or              { RET_TOK(BinaryOpVal, Or , OR ); }
 xor             { RET_TOK(BinaryOpVal, Xor, XOR); }


Index: llvm/lib/AsmParser/llvmAsmParser.cpp.cvs
diff -u llvm/lib/AsmParser/llvmAsmParser.cpp.cvs:1.22 llvm/lib/AsmParser/llvmAsmParser.cpp.cvs:1.23
--- llvm/lib/AsmParser/llvmAsmParser.cpp.cvs:1.22	Thu Oct 26 01:15:43 2006
+++ llvm/lib/AsmParser/llvmAsmParser.cpp.cvs	Thu Nov  2 14:25:49 2006
@@ -145,33 +145,35 @@
      UDIV = 336,
      SDIV = 337,
      FDIV = 338,
-     REM = 339,
-     AND = 340,
-     OR = 341,
-     XOR = 342,
-     SETLE = 343,
-     SETGE = 344,
-     SETLT = 345,
-     SETGT = 346,
-     SETEQ = 347,
-     SETNE = 348,
-     MALLOC = 349,
-     ALLOCA = 350,
-     FREE = 351,
-     LOAD = 352,
-     STORE = 353,
-     GETELEMENTPTR = 354,
-     PHI_TOK = 355,
-     CAST = 356,
-     SELECT = 357,
-     SHL = 358,
-     SHR = 359,
-     VAARG = 360,
-     EXTRACTELEMENT = 361,
-     INSERTELEMENT = 362,
-     SHUFFLEVECTOR = 363,
-     VAARG_old = 364,
-     VANEXT_old = 365
+     UREM = 339,
+     SREM = 340,
+     FREM = 341,
+     AND = 342,
+     OR = 343,
+     XOR = 344,
+     SETLE = 345,
+     SETGE = 346,
+     SETLT = 347,
+     SETGT = 348,
+     SETEQ = 349,
+     SETNE = 350,
+     MALLOC = 351,
+     ALLOCA = 352,
+     FREE = 353,
+     LOAD = 354,
+     STORE = 355,
+     GETELEMENTPTR = 356,
+     PHI_TOK = 357,
+     CAST = 358,
+     SELECT = 359,
+     SHL = 360,
+     SHR = 361,
+     VAARG = 362,
+     EXTRACTELEMENT = 363,
+     INSERTELEMENT = 364,
+     SHUFFLEVECTOR = 365,
+     VAARG_old = 366,
+     VANEXT_old = 367
    };
 #endif
 /* Tokens.  */
@@ -256,39 +258,41 @@
 #define UDIV 336
 #define SDIV 337
 #define FDIV 338
-#define REM 339
-#define AND 340
-#define OR 341
-#define XOR 342
-#define SETLE 343
-#define SETGE 344
-#define SETLT 345
-#define SETGT 346
-#define SETEQ 347
-#define SETNE 348
-#define MALLOC 349
-#define ALLOCA 350
-#define FREE 351
-#define LOAD 352
-#define STORE 353
-#define GETELEMENTPTR 354
-#define PHI_TOK 355
-#define CAST 356
-#define SELECT 357
-#define SHL 358
-#define SHR 359
-#define VAARG 360
-#define EXTRACTELEMENT 361
-#define INSERTELEMENT 362
-#define SHUFFLEVECTOR 363
-#define VAARG_old 364
-#define VANEXT_old 365
+#define UREM 339
+#define SREM 340
+#define FREM 341
+#define AND 342
+#define OR 343
+#define XOR 344
+#define SETLE 345
+#define SETGE 346
+#define SETLT 347
+#define SETGT 348
+#define SETEQ 349
+#define SETNE 350
+#define MALLOC 351
+#define ALLOCA 352
+#define FREE 353
+#define LOAD 354
+#define STORE 355
+#define GETELEMENTPTR 356
+#define PHI_TOK 357
+#define CAST 358
+#define SELECT 359
+#define SHL 360
+#define SHR 361
+#define VAARG 362
+#define EXTRACTELEMENT 363
+#define INSERTELEMENT 364
+#define SHUFFLEVECTOR 365
+#define VAARG_old 366
+#define VANEXT_old 367
 
 
 
 
 /* Copy the first part of user declarations.  */
-#line 14 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 14 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
 
 #include "ParserInternals.h"
 #include "llvm/CallingConv.h"
@@ -1114,7 +1118,7 @@
   // Depending on the opcode ..
   switch (OI.opcode) {
     default:
-      GenerateError("Invalid Obsolete OpCode");
+      GenerateError("Invalid obsolete opCode (check Lexer.l)");
       break;
     case Instruction::UDiv:
       // Handle cases where the opcode needs to change
@@ -1123,12 +1127,17 @@
       else if (Ty->isSigned())
         OI.opcode = Instruction::SDiv;
       break;
+    case Instruction::URem:
+      if (Ty->isFloatingPoint()) 
+        OI.opcode = Instruction::FRem;
+      else if (Ty->isSigned())
+        OI.opcode = Instruction::SRem;
+      break;
   }
   // Its not obsolete any more, we fixed it.
   OI.obsolete = false;
 }
-
-
+  
 // common code from the two 'RunVMAsmParser' functions
 static Module* RunParser(Module * M) {
 
@@ -1305,7 +1314,7 @@
 #endif
 
 #if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED)
-#line 1011 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1016 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
 typedef union YYSTYPE {
   llvm::Module                           *ModuleVal;
   llvm::Function                         *FunctionVal;
@@ -1346,7 +1355,7 @@
   llvm::Module::Endianness          Endianness;
 } YYSTYPE;
 /* Line 196 of yacc.c.  */
-#line 1350 "llvmAsmParser.tab.c"
+#line 1359 "llvmAsmParser.tab.c"
 # define yystype YYSTYPE /* obsolescent; will be withdrawn */
 # define YYSTYPE_IS_DECLARED 1
 # define YYSTYPE_IS_TRIVIAL 1
@@ -1358,7 +1367,7 @@
 
 
 /* Line 219 of yacc.c.  */
-#line 1362 "llvmAsmParser.tab.c"
+#line 1371 "llvmAsmParser.tab.c"
 
 #if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__)
 # define YYSIZE_T __SIZE_TYPE__
@@ -1509,20 +1518,20 @@
 /* YYFINAL -- State number of the termination state. */
 #define YYFINAL  4
 /* YYLAST -- Last index in YYTABLE.  */
-#define YYLAST   1288
+#define YYLAST   1357
 
 /* YYNTOKENS -- Number of terminals. */
-#define YYNTOKENS  125
+#define YYNTOKENS  127
 /* YYNNTS -- Number of nonterminals. */
 #define YYNNTS  75
 /* YYNRULES -- Number of rules. */
-#define YYNRULES  254
+#define YYNRULES  256
 /* YYNRULES -- Number of states. */
-#define YYNSTATES  519
+#define YYNSTATES  521
 
 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
 #define YYUNDEFTOK  2
-#define YYMAXUTOK   365
+#define YYMAXUTOK   367
 
 #define YYTRANSLATE(YYX)						\
   ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
@@ -1534,15 +1543,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,
-     114,   115,   123,     2,   112,     2,     2,     2,     2,     2,
+     116,   117,   125,     2,   114,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     119,   111,   120,     2,     2,     2,     2,     2,     2,     2,
+     121,   113,   122,     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,   116,   113,   118,     2,     2,     2,     2,     2,   124,
+       2,   118,   115,   120,     2,     2,     2,     2,     2,   126,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     117,     2,     2,   121,     2,   122,     2,     2,     2,     2,
+     119,     2,     2,   123,     2,   124,     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,
@@ -1566,7 +1575,7 @@
       75,    76,    77,    78,    79,    80,    81,    82,    83,    84,
       85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
       95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
-     105,   106,   107,   108,   109,   110
+     105,   106,   107,   108,   109,   110,   111,   112
 };
 
 #if YYDEBUG
@@ -1577,148 +1586,148 @@
        0,     0,     3,     5,     7,     9,    11,    13,    15,    17,
       19,    21,    23,    25,    27,    29,    31,    33,    35,    37,
       39,    41,    43,    45,    47,    49,    51,    53,    55,    57,
-      59,    61,    63,    65,    67,    69,    71,    74,    75,    77,
-      79,    81,    83,    85,    87,    89,    90,    91,    93,    95,
-      97,    99,   101,   103,   106,   107,   110,   111,   115,   118,
-     119,   121,   122,   126,   128,   131,   133,   135,   137,   139,
+      59,    61,    63,    65,    67,    69,    71,    73,    75,    78,
+      79,    81,    83,    85,    87,    89,    91,    93,    94,    95,
+      97,    99,   101,   103,   105,   107,   110,   111,   114,   115,
+     119,   122,   123,   125,   126,   130,   132,   135,   137,   139,
      141,   143,   145,   147,   149,   151,   153,   155,   157,   159,
-     161,   163,   165,   167,   169,   171,   173,   176,   181,   187,
-     193,   197,   200,   203,   205,   209,   211,   215,   217,   218,
-     223,   227,   231,   236,   241,   245,   248,   251,   254,   257,
-     260,   263,   266,   269,   272,   275,   282,   288,   297,   304,
-     311,   318,   325,   332,   341,   350,   354,   356,   358,   360,
-     362,   365,   368,   373,   376,   378,   383,   386,   391,   392,
-     400,   401,   409,   410,   418,   419,   427,   431,   436,   437,
-     439,   441,   443,   447,   451,   455,   459,   463,   467,   469,
-     470,   472,   474,   476,   477,   480,   484,   486,   488,   492,
-     494,   495,   504,   506,   508,   512,   514,   516,   519,   520,
-     522,   524,   525,   530,   531,   533,   535,   537,   539,   541,
-     543,   545,   547,   549,   553,   555,   561,   563,   565,   567,
-     569,   572,   575,   578,   582,   585,   586,   588,   591,   594,
-     598,   608,   618,   627,   641,   643,   645,   652,   658,   661,
-     668,   676,   678,   682,   684,   685,   688,   690,   696,   702,
-     708,   711,   716,   721,   728,   733,   738,   743,   748,   755,
-     762,   765,   773,   775,   778,   779,   781,   782,   786,   793,
-     797,   804,   807,   812,   819
+     161,   163,   165,   167,   169,   171,   173,   175,   177,   180,
+     185,   191,   197,   201,   204,   207,   209,   213,   215,   219,
+     221,   222,   227,   231,   235,   240,   245,   249,   252,   255,
+     258,   261,   264,   267,   270,   273,   276,   279,   286,   292,
+     301,   308,   315,   322,   329,   336,   345,   354,   358,   360,
+     362,   364,   366,   369,   372,   377,   380,   382,   387,   390,
+     395,   396,   404,   405,   413,   414,   422,   423,   431,   435,
+     440,   441,   443,   445,   447,   451,   455,   459,   463,   467,
+     471,   473,   474,   476,   478,   480,   481,   484,   488,   490,
+     492,   496,   498,   499,   508,   510,   512,   516,   518,   520,
+     523,   524,   526,   528,   529,   534,   535,   537,   539,   541,
+     543,   545,   547,   549,   551,   553,   557,   559,   565,   567,
+     569,   571,   573,   576,   579,   582,   586,   589,   590,   592,
+     595,   598,   602,   612,   622,   631,   645,   647,   649,   656,
+     662,   665,   672,   680,   682,   686,   688,   689,   692,   694,
+     700,   706,   712,   715,   720,   725,   732,   737,   742,   747,
+     752,   759,   766,   769,   777,   779,   782,   783,   785,   786,
+     790,   797,   801,   808,   811,   816,   823
 };
 
 /* YYRHS -- A `-1'-separated list of the rules' RHS. */
 static const short int yyrhs[] =
 {
-     156,     0,    -1,     5,    -1,     6,    -1,     3,    -1,     4,
+     158,     0,    -1,     5,    -1,     6,    -1,     3,    -1,     4,
       -1,    78,    -1,    79,    -1,    80,    -1,    81,    -1,    82,
       -1,    83,    -1,    84,    -1,    85,    -1,    86,    -1,    87,
       -1,    88,    -1,    89,    -1,    90,    -1,    91,    -1,    92,
-      -1,    93,    -1,   103,    -1,   104,    -1,    16,    -1,    14,
-      -1,    12,    -1,    10,    -1,    17,    -1,    15,    -1,    13,
-      -1,    11,    -1,   132,    -1,   133,    -1,    18,    -1,    19,
-      -1,   168,   111,    -1,    -1,    41,    -1,    42,    -1,    43,
-      -1,    44,    -1,    45,    -1,    46,    -1,    47,    -1,    -1,
-      -1,    65,    -1,    66,    -1,    67,    -1,    68,    -1,    69,
-      -1,    70,    -1,    64,     4,    -1,    -1,    57,     4,    -1,
-      -1,   112,    57,     4,    -1,    34,    24,    -1,    -1,   141,
-      -1,    -1,   112,   144,   143,    -1,   141,    -1,    57,     4,
-      -1,   147,    -1,     8,    -1,   149,    -1,     8,    -1,   149,
-      -1,     9,    -1,    10,    -1,    11,    -1,    12,    -1,    13,
-      -1,    14,    -1,    15,    -1,    16,    -1,    17,    -1,    18,
-      -1,    19,    -1,    20,    -1,    21,    -1,    48,    -1,   148,
-      -1,   183,    -1,   113,     4,    -1,   146,   114,   151,   115,
-      -1,   116,     4,   117,   149,   118,    -1,   119,     4,   117,
-     149,   120,    -1,   121,   150,   122,    -1,   121,   122,    -1,
-     149,   123,    -1,   149,    -1,   150,   112,   149,    -1,   150,
-      -1,   150,   112,    37,    -1,    37,    -1,    -1,   147,   116,
-     154,   118,    -1,   147,   116,   118,    -1,   147,   124,    24,
-      -1,   147,   119,   154,   120,    -1,   147,   121,   154,   122,
-      -1,   147,   121,   122,    -1,   147,    38,    -1,   147,    39,
-      -1,   147,   183,    -1,   147,   153,    -1,   147,    26,    -1,
-     132,   127,    -1,   133,     4,    -1,     9,    27,    -1,     9,
-      28,    -1,   135,     7,    -1,   101,   114,   152,    36,   147,
-     115,    -1,    99,   114,   152,   197,   115,    -1,   102,   114,
-     152,   112,   152,   112,   152,   115,    -1,   128,   114,   152,
-     112,   152,   115,    -1,   129,   114,   152,   112,   152,   115,
-      -1,   130,   114,   152,   112,   152,   115,    -1,   131,   114,
-     152,   112,   152,   115,    -1,   106,   114,   152,   112,   152,
-     115,    -1,   107,   114,   152,   112,   152,   112,   152,   115,
-      -1,   108,   114,   152,   112,   152,   112,   152,   115,    -1,
-     154,   112,   152,    -1,   152,    -1,    32,    -1,    33,    -1,
-     157,    -1,   157,   177,    -1,   157,   179,    -1,   157,    62,
-      61,   163,    -1,   157,    25,    -1,   158,    -1,   158,   136,
-      20,   145,    -1,   158,   179,    -1,   158,    62,    61,   163,
-      -1,    -1,   158,   136,   137,   155,   152,   159,   143,    -1,
-      -1,   158,   136,    50,   155,   147,   160,   143,    -1,    -1,
-     158,   136,    45,   155,   147,   161,   143,    -1,    -1,   158,
-     136,    47,   155,   147,   162,   143,    -1,   158,    51,   165,
-      -1,   158,    58,   111,   166,    -1,    -1,    24,    -1,    56,
-      -1,    55,    -1,    53,   111,   164,    -1,    54,   111,     4,
-      -1,    52,   111,    24,    -1,    71,   111,    24,    -1,   116,
-     167,   118,    -1,   167,   112,    24,    -1,    24,    -1,    -1,
-      22,    -1,    24,    -1,   168,    -1,    -1,   147,   169,    -1,
-     171,   112,   170,    -1,   170,    -1,   171,    -1,   171,   112,
-      37,    -1,    37,    -1,    -1,   138,   145,   168,   114,   172,
-     115,   142,   139,    -1,    29,    -1,   121,    -1,   137,   173,
-     174,    -1,    30,    -1,   122,    -1,   186,   176,    -1,    -1,
-      45,    -1,    47,    -1,    -1,    31,   180,   178,   173,    -1,
-      -1,    63,    -1,     3,    -1,     4,    -1,     7,    -1,    27,
-      -1,    28,    -1,    38,    -1,    39,    -1,    26,    -1,   119,
-     154,   120,    -1,   153,    -1,    61,   181,    24,   112,    24,
-      -1,   126,    -1,   168,    -1,   183,    -1,   182,    -1,   147,
-     184,    -1,   186,   187,    -1,   175,   187,    -1,   188,   136,
-     189,    -1,   188,   191,    -1,    -1,    23,    -1,    72,   185,
-      -1,    72,     8,    -1,    73,    21,   184,    -1,    73,     9,
-     184,   112,    21,   184,   112,    21,   184,    -1,    74,   134,
-     184,   112,    21,   184,   116,   190,   118,    -1,    74,   134,
-     184,   112,    21,   184,   116,   118,    -1,    75,   138,   145,
-     184,   114,   194,   115,    36,    21,   184,    76,    21,   184,
-      -1,    76,    -1,    77,    -1,   190,   134,   182,   112,    21,
-     184,    -1,   134,   182,   112,    21,   184,    -1,   136,   196,
-      -1,   147,   116,   184,   112,   184,   118,    -1,   192,   112,
-     116,   184,   112,   184,   118,    -1,   185,    -1,   193,   112,
-     185,    -1,   193,    -1,    -1,    60,    59,    -1,    59,    -1,
-     128,   147,   184,   112,   184,    -1,   129,   147,   184,   112,
-     184,    -1,   130,   147,   184,   112,   184,    -1,    49,   185,
-      -1,   131,   185,   112,   185,    -1,   101,   185,    36,   147,
-      -1,   102,   185,   112,   185,   112,   185,    -1,   105,   185,
-     112,   147,    -1,   109,   185,   112,   147,    -1,   110,   185,
-     112,   147,    -1,   106,   185,   112,   185,    -1,   107,   185,
-     112,   185,   112,   185,    -1,   108,   185,   112,   185,   112,
-     185,    -1,   100,   192,    -1,   195,   138,   145,   184,   114,
-     194,   115,    -1,   199,    -1,   112,   193,    -1,    -1,    35,
-      -1,    -1,    94,   147,   140,    -1,    94,   147,   112,    15,
-     184,   140,    -1,    95,   147,   140,    -1,    95,   147,   112,
-      15,   184,   140,    -1,    96,   185,    -1,   198,    97,   147,
-     184,    -1,   198,    98,   185,   112,   147,   184,    -1,    99,
-     147,   184,   197,    -1
+      -1,    93,    -1,    94,    -1,    95,    -1,   105,    -1,   106,
+      -1,    16,    -1,    14,    -1,    12,    -1,    10,    -1,    17,
+      -1,    15,    -1,    13,    -1,    11,    -1,   134,    -1,   135,
+      -1,    18,    -1,    19,    -1,   170,   113,    -1,    -1,    41,
+      -1,    42,    -1,    43,    -1,    44,    -1,    45,    -1,    46,
+      -1,    47,    -1,    -1,    -1,    65,    -1,    66,    -1,    67,
+      -1,    68,    -1,    69,    -1,    70,    -1,    64,     4,    -1,
+      -1,    57,     4,    -1,    -1,   114,    57,     4,    -1,    34,
+      24,    -1,    -1,   143,    -1,    -1,   114,   146,   145,    -1,
+     143,    -1,    57,     4,    -1,   149,    -1,     8,    -1,   151,
+      -1,     8,    -1,   151,    -1,     9,    -1,    10,    -1,    11,
+      -1,    12,    -1,    13,    -1,    14,    -1,    15,    -1,    16,
+      -1,    17,    -1,    18,    -1,    19,    -1,    20,    -1,    21,
+      -1,    48,    -1,   150,    -1,   185,    -1,   115,     4,    -1,
+     148,   116,   153,   117,    -1,   118,     4,   119,   151,   120,
+      -1,   121,     4,   119,   151,   122,    -1,   123,   152,   124,
+      -1,   123,   124,    -1,   151,   125,    -1,   151,    -1,   152,
+     114,   151,    -1,   152,    -1,   152,   114,    37,    -1,    37,
+      -1,    -1,   149,   118,   156,   120,    -1,   149,   118,   120,
+      -1,   149,   126,    24,    -1,   149,   121,   156,   122,    -1,
+     149,   123,   156,   124,    -1,   149,   123,   124,    -1,   149,
+      38,    -1,   149,    39,    -1,   149,   185,    -1,   149,   155,
+      -1,   149,    26,    -1,   134,   129,    -1,   135,     4,    -1,
+       9,    27,    -1,     9,    28,    -1,   137,     7,    -1,   103,
+     116,   154,    36,   149,   117,    -1,   101,   116,   154,   199,
+     117,    -1,   104,   116,   154,   114,   154,   114,   154,   117,
+      -1,   130,   116,   154,   114,   154,   117,    -1,   131,   116,
+     154,   114,   154,   117,    -1,   132,   116,   154,   114,   154,
+     117,    -1,   133,   116,   154,   114,   154,   117,    -1,   108,
+     116,   154,   114,   154,   117,    -1,   109,   116,   154,   114,
+     154,   114,   154,   117,    -1,   110,   116,   154,   114,   154,
+     114,   154,   117,    -1,   156,   114,   154,    -1,   154,    -1,
+      32,    -1,    33,    -1,   159,    -1,   159,   179,    -1,   159,
+     181,    -1,   159,    62,    61,   165,    -1,   159,    25,    -1,
+     160,    -1,   160,   138,    20,   147,    -1,   160,   181,    -1,
+     160,    62,    61,   165,    -1,    -1,   160,   138,   139,   157,
+     154,   161,   145,    -1,    -1,   160,   138,    50,   157,   149,
+     162,   145,    -1,    -1,   160,   138,    45,   157,   149,   163,
+     145,    -1,    -1,   160,   138,    47,   157,   149,   164,   145,
+      -1,   160,    51,   167,    -1,   160,    58,   113,   168,    -1,
+      -1,    24,    -1,    56,    -1,    55,    -1,    53,   113,   166,
+      -1,    54,   113,     4,    -1,    52,   113,    24,    -1,    71,
+     113,    24,    -1,   118,   169,   120,    -1,   169,   114,    24,
+      -1,    24,    -1,    -1,    22,    -1,    24,    -1,   170,    -1,
+      -1,   149,   171,    -1,   173,   114,   172,    -1,   172,    -1,
+     173,    -1,   173,   114,    37,    -1,    37,    -1,    -1,   140,
+     147,   170,   116,   174,   117,   144,   141,    -1,    29,    -1,
+     123,    -1,   139,   175,   176,    -1,    30,    -1,   124,    -1,
+     188,   178,    -1,    -1,    45,    -1,    47,    -1,    -1,    31,
+     182,   180,   175,    -1,    -1,    63,    -1,     3,    -1,     4,
+      -1,     7,    -1,    27,    -1,    28,    -1,    38,    -1,    39,
+      -1,    26,    -1,   121,   156,   122,    -1,   155,    -1,    61,
+     183,    24,   114,    24,    -1,   128,    -1,   170,    -1,   185,
+      -1,   184,    -1,   149,   186,    -1,   188,   189,    -1,   177,
+     189,    -1,   190,   138,   191,    -1,   190,   193,    -1,    -1,
+      23,    -1,    72,   187,    -1,    72,     8,    -1,    73,    21,
+     186,    -1,    73,     9,   186,   114,    21,   186,   114,    21,
+     186,    -1,    74,   136,   186,   114,    21,   186,   118,   192,
+     120,    -1,    74,   136,   186,   114,    21,   186,   118,   120,
+      -1,    75,   140,   147,   186,   116,   196,   117,    36,    21,
+     186,    76,    21,   186,    -1,    76,    -1,    77,    -1,   192,
+     136,   184,   114,    21,   186,    -1,   136,   184,   114,    21,
+     186,    -1,   138,   198,    -1,   149,   118,   186,   114,   186,
+     120,    -1,   194,   114,   118,   186,   114,   186,   120,    -1,
+     187,    -1,   195,   114,   187,    -1,   195,    -1,    -1,    60,
+      59,    -1,    59,    -1,   130,   149,   186,   114,   186,    -1,
+     131,   149,   186,   114,   186,    -1,   132,   149,   186,   114,
+     186,    -1,    49,   187,    -1,   133,   187,   114,   187,    -1,
+     103,   187,    36,   149,    -1,   104,   187,   114,   187,   114,
+     187,    -1,   107,   187,   114,   149,    -1,   111,   187,   114,
+     149,    -1,   112,   187,   114,   149,    -1,   108,   187,   114,
+     187,    -1,   109,   187,   114,   187,   114,   187,    -1,   110,
+     187,   114,   187,   114,   187,    -1,   102,   194,    -1,   197,
+     140,   147,   186,   116,   196,   117,    -1,   201,    -1,   114,
+     195,    -1,    -1,    35,    -1,    -1,    96,   149,   142,    -1,
+      96,   149,   114,    15,   186,   142,    -1,    97,   149,   142,
+      -1,    97,   149,   114,    15,   186,   142,    -1,    98,   187,
+      -1,   200,    99,   149,   186,    -1,   200,   100,   187,   114,
+     149,   186,    -1,   101,   149,   186,   199,    -1
 };
 
 /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
 static const unsigned short int yyrline[] =
 {
-       0,  1134,  1134,  1135,  1143,  1144,  1154,  1154,  1154,  1154,
-    1154,  1154,  1154,  1155,  1155,  1155,  1156,  1156,  1156,  1156,
-    1156,  1156,  1158,  1158,  1162,  1162,  1162,  1162,  1163,  1163,
-    1163,  1163,  1164,  1164,  1165,  1165,  1168,  1172,  1177,  1178,
-    1179,  1180,  1181,  1182,  1183,  1184,  1186,  1187,  1188,  1189,
-    1190,  1191,  1192,  1193,  1202,  1203,  1209,  1210,  1218,  1226,
-    1227,  1232,  1233,  1234,  1239,  1253,  1253,  1254,  1254,  1256,
-    1266,  1266,  1266,  1266,  1266,  1266,  1266,  1267,  1267,  1267,
-    1267,  1267,  1267,  1268,  1272,  1276,  1284,  1292,  1305,  1310,
-    1322,  1332,  1336,  1347,  1352,  1358,  1359,  1363,  1367,  1378,
-    1404,  1418,  1448,  1474,  1495,  1508,  1518,  1523,  1584,  1591,
-    1600,  1606,  1612,  1616,  1620,  1628,  1639,  1671,  1679,  1706,
-    1717,  1723,  1731,  1737,  1743,  1752,  1756,  1764,  1764,  1774,
-    1782,  1787,  1791,  1795,  1799,  1814,  1836,  1839,  1842,  1842,
-    1850,  1850,  1858,  1858,  1866,  1866,  1875,  1878,  1881,  1885,
-    1898,  1899,  1901,  1905,  1914,  1918,  1923,  1925,  1930,  1935,
-    1944,  1944,  1945,  1945,  1947,  1954,  1960,  1967,  1971,  1977,
-    1982,  1987,  2082,  2082,  2084,  2092,  2092,  2094,  2099,  2100,
-    2101,  2103,  2103,  2113,  2117,  2122,  2126,  2130,  2134,  2138,
-    2142,  2146,  2150,  2154,  2179,  2183,  2197,  2201,  2207,  2207,
-    2213,  2218,  2222,  2231,  2242,  2247,  2259,  2272,  2276,  2280,
-    2285,  2294,  2313,  2322,  2378,  2382,  2389,  2400,  2413,  2422,
-    2431,  2441,  2445,  2452,  2452,  2454,  2458,  2463,  2482,  2497,
-    2511,  2524,  2532,  2540,  2548,  2554,  2574,  2597,  2603,  2609,
-    2615,  2630,  2689,  2696,  2699,  2704,  2708,  2715,  2720,  2726,
-    2731,  2737,  2745,  2757,  2772
+       0,  1139,  1139,  1140,  1148,  1149,  1159,  1159,  1159,  1159,
+    1159,  1159,  1159,  1159,  1159,  1160,  1160,  1160,  1161,  1161,
+    1161,  1161,  1161,  1161,  1163,  1163,  1167,  1167,  1167,  1167,
+    1168,  1168,  1168,  1168,  1169,  1169,  1170,  1170,  1173,  1177,
+    1182,  1183,  1184,  1185,  1186,  1187,  1188,  1189,  1191,  1192,
+    1193,  1194,  1195,  1196,  1197,  1198,  1207,  1208,  1214,  1215,
+    1223,  1231,  1232,  1237,  1238,  1239,  1244,  1258,  1258,  1259,
+    1259,  1261,  1271,  1271,  1271,  1271,  1271,  1271,  1271,  1272,
+    1272,  1272,  1272,  1272,  1272,  1273,  1277,  1281,  1289,  1297,
+    1310,  1315,  1327,  1337,  1341,  1352,  1357,  1363,  1364,  1368,
+    1372,  1383,  1409,  1423,  1453,  1479,  1500,  1513,  1523,  1528,
+    1589,  1596,  1605,  1611,  1617,  1621,  1625,  1633,  1644,  1676,
+    1684,  1711,  1722,  1728,  1736,  1742,  1748,  1757,  1761,  1769,
+    1769,  1779,  1787,  1792,  1796,  1800,  1804,  1819,  1841,  1844,
+    1847,  1847,  1855,  1855,  1863,  1863,  1871,  1871,  1880,  1883,
+    1886,  1890,  1903,  1904,  1906,  1910,  1919,  1923,  1928,  1930,
+    1935,  1940,  1949,  1949,  1950,  1950,  1952,  1959,  1965,  1972,
+    1976,  1982,  1987,  1992,  2087,  2087,  2089,  2097,  2097,  2099,
+    2104,  2105,  2106,  2108,  2108,  2118,  2122,  2127,  2131,  2135,
+    2139,  2143,  2147,  2151,  2155,  2159,  2184,  2188,  2202,  2206,
+    2212,  2212,  2218,  2223,  2227,  2236,  2247,  2252,  2264,  2277,
+    2281,  2285,  2290,  2299,  2318,  2327,  2383,  2387,  2394,  2405,
+    2418,  2427,  2436,  2446,  2450,  2457,  2457,  2459,  2463,  2468,
+    2490,  2505,  2519,  2532,  2540,  2548,  2556,  2562,  2582,  2605,
+    2611,  2617,  2623,  2638,  2697,  2704,  2707,  2712,  2716,  2723,
+    2728,  2734,  2739,  2745,  2753,  2765,  2780
 };
 #endif
 
@@ -1740,27 +1749,28 @@
   "SIDEEFFECT", "CC_TOK", "CCC_TOK", "CSRETCC_TOK", "FASTCC_TOK",
   "COLDCC_TOK", "X86_STDCALLCC_TOK", "X86_FASTCALLCC_TOK", "DATALAYOUT",
   "RET", "BR", "SWITCH", "INVOKE", "UNWIND", "UNREACHABLE", "ADD", "SUB",
-  "MUL", "UDIV", "SDIV", "FDIV", "REM", "AND", "OR", "XOR", "SETLE",
-  "SETGE", "SETLT", "SETGT", "SETEQ", "SETNE", "MALLOC", "ALLOCA", "FREE",
-  "LOAD", "STORE", "GETELEMENTPTR", "PHI_TOK", "CAST", "SELECT", "SHL",
-  "SHR", "VAARG", "EXTRACTELEMENT", "INSERTELEMENT", "SHUFFLEVECTOR",
-  "VAARG_old", "VANEXT_old", "'='", "','", "'\\\\'", "'('", "')'", "'['",
-  "'x'", "']'", "'<'", "'>'", "'{'", "'}'", "'*'", "'c'", "$accept",
-  "INTVAL", "EINT64VAL", "ArithmeticOps", "LogicalOps", "SetCondOps",
-  "ShiftOps", "SIntType", "UIntType", "IntType", "FPType", "OptAssign",
-  "OptLinkage", "OptCallingConv", "OptAlign", "OptCAlign", "SectionString",
-  "OptSection", "GlobalVarAttributes", "GlobalVarAttribute", "TypesV",
-  "UpRTypesV", "Types", "PrimType", "UpRTypes", "TypeListI",
-  "ArgTypeListI", "ConstVal", "ConstExpr", "ConstVector", "GlobalType",
-  "Module", "FunctionList", "ConstPool", "@1", "@2", "@3", "@4",
-  "AsmBlock", "BigOrLittle", "TargetDefinition", "LibrariesDefinition",
-  "LibList", "Name", "OptName", "ArgVal", "ArgListH", "ArgList",
-  "FunctionHeaderH", "BEGIN", "FunctionHeader", "END", "Function",
-  "FnDeclareLinkage", "FunctionProto", "@5", "OptSideEffect",
-  "ConstValueRef", "SymbolicValueRef", "ValueRef", "ResolvedVal",
-  "BasicBlockList", "BasicBlock", "InstructionList", "BBTerminatorInst",
-  "JumpTable", "Inst", "PHIList", "ValueRefList", "ValueRefListE",
-  "OptTailCall", "InstVal", "IndexList", "OptVolatile", "MemoryInst", 0
+  "MUL", "UDIV", "SDIV", "FDIV", "UREM", "SREM", "FREM", "AND", "OR",
+  "XOR", "SETLE", "SETGE", "SETLT", "SETGT", "SETEQ", "SETNE", "MALLOC",
+  "ALLOCA", "FREE", "LOAD", "STORE", "GETELEMENTPTR", "PHI_TOK", "CAST",
+  "SELECT", "SHL", "SHR", "VAARG", "EXTRACTELEMENT", "INSERTELEMENT",
+  "SHUFFLEVECTOR", "VAARG_old", "VANEXT_old", "'='", "','", "'\\\\'",
+  "'('", "')'", "'['", "'x'", "']'", "'<'", "'>'", "'{'", "'}'", "'*'",
+  "'c'", "$accept", "INTVAL", "EINT64VAL", "ArithmeticOps", "LogicalOps",
+  "SetCondOps", "ShiftOps", "SIntType", "UIntType", "IntType", "FPType",
+  "OptAssign", "OptLinkage", "OptCallingConv", "OptAlign", "OptCAlign",
+  "SectionString", "OptSection", "GlobalVarAttributes",
+  "GlobalVarAttribute", "TypesV", "UpRTypesV", "Types", "PrimType",
+  "UpRTypes", "TypeListI", "ArgTypeListI", "ConstVal", "ConstExpr",
+  "ConstVector", "GlobalType", "Module", "FunctionList", "ConstPool", "@1",
+  "@2", "@3", "@4", "AsmBlock", "BigOrLittle", "TargetDefinition",
+  "LibrariesDefinition", "LibList", "Name", "OptName", "ArgVal",
+  "ArgListH", "ArgList", "FunctionHeaderH", "BEGIN", "FunctionHeader",
+  "END", "Function", "FnDeclareLinkage", "FunctionProto", "@5",
+  "OptSideEffect", "ConstValueRef", "SymbolicValueRef", "ValueRef",
+  "ResolvedVal", "BasicBlockList", "BasicBlock", "InstructionList",
+  "BBTerminatorInst", "JumpTable", "Inst", "PHIList", "ValueRefList",
+  "ValueRefListE", "OptTailCall", "InstVal", "IndexList", "OptVolatile",
+  "MemoryInst", 0
 };
 #endif
 
@@ -1780,40 +1790,40 @@
      335,   336,   337,   338,   339,   340,   341,   342,   343,   344,
      345,   346,   347,   348,   349,   350,   351,   352,   353,   354,
      355,   356,   357,   358,   359,   360,   361,   362,   363,   364,
-     365,    61,    44,    92,    40,    41,    91,   120,    93,    60,
-      62,   123,   125,    42,    99
+     365,   366,   367,    61,    44,    92,    40,    41,    91,   120,
+      93,    60,    62,   123,   125,    42,    99
 };
 # endif
 
 /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
 static const unsigned char yyr1[] =
 {
-       0,   125,   126,   126,   127,   127,   128,   128,   128,   128,
-     128,   128,   128,   129,   129,   129,   130,   130,   130,   130,
-     130,   130,   131,   131,   132,   132,   132,   132,   133,   133,
-     133,   133,   134,   134,   135,   135,   136,   136,   137,   137,
-     137,   137,   137,   137,   137,   137,   138,   138,   138,   138,
-     138,   138,   138,   138,   139,   139,   140,   140,   141,   142,
-     142,   143,   143,   144,   144,   145,   145,   146,   146,   147,
-     148,   148,   148,   148,   148,   148,   148,   148,   148,   148,
-     148,   148,   148,   149,   149,   149,   149,   149,   149,   149,
-     149,   149,   149,   150,   150,   151,   151,   151,   151,   152,
-     152,   152,   152,   152,   152,   152,   152,   152,   152,   152,
-     152,   152,   152,   152,   152,   153,   153,   153,   153,   153,
-     153,   153,   153,   153,   153,   154,   154,   155,   155,   156,
-     157,   157,   157,   157,   157,   158,   158,   158,   159,   158,
-     160,   158,   161,   158,   162,   158,   158,   158,   158,   163,
-     164,   164,   165,   165,   165,   165,   166,   167,   167,   167,
-     168,   168,   169,   169,   170,   171,   171,   172,   172,   172,
-     172,   173,   174,   174,   175,   176,   176,   177,   178,   178,
-     178,   180,   179,   181,   181,   182,   182,   182,   182,   182,
-     182,   182,   182,   182,   182,   182,   183,   183,   184,   184,
-     185,   186,   186,   187,   188,   188,   188,   189,   189,   189,
-     189,   189,   189,   189,   189,   189,   190,   190,   191,   192,
-     192,   193,   193,   194,   194,   195,   195,   196,   196,   196,
-     196,   196,   196,   196,   196,   196,   196,   196,   196,   196,
-     196,   196,   196,   197,   197,   198,   198,   199,   199,   199,
-     199,   199,   199,   199,   199
+       0,   127,   128,   128,   129,   129,   130,   130,   130,   130,
+     130,   130,   130,   130,   130,   131,   131,   131,   132,   132,
+     132,   132,   132,   132,   133,   133,   134,   134,   134,   134,
+     135,   135,   135,   135,   136,   136,   137,   137,   138,   138,
+     139,   139,   139,   139,   139,   139,   139,   139,   140,   140,
+     140,   140,   140,   140,   140,   140,   141,   141,   142,   142,
+     143,   144,   144,   145,   145,   146,   146,   147,   147,   148,
+     148,   149,   150,   150,   150,   150,   150,   150,   150,   150,
+     150,   150,   150,   150,   150,   151,   151,   151,   151,   151,
+     151,   151,   151,   151,   151,   152,   152,   153,   153,   153,
+     153,   154,   154,   154,   154,   154,   154,   154,   154,   154,
+     154,   154,   154,   154,   154,   154,   154,   155,   155,   155,
+     155,   155,   155,   155,   155,   155,   155,   156,   156,   157,
+     157,   158,   159,   159,   159,   159,   159,   160,   160,   160,
+     161,   160,   162,   160,   163,   160,   164,   160,   160,   160,
+     160,   165,   166,   166,   167,   167,   167,   167,   168,   169,
+     169,   169,   170,   170,   171,   171,   172,   173,   173,   174,
+     174,   174,   174,   175,   176,   176,   177,   178,   178,   179,
+     180,   180,   180,   182,   181,   183,   183,   184,   184,   184,
+     184,   184,   184,   184,   184,   184,   184,   184,   185,   185,
+     186,   186,   187,   188,   188,   189,   190,   190,   190,   191,
+     191,   191,   191,   191,   191,   191,   191,   191,   192,   192,
+     193,   194,   194,   195,   195,   196,   196,   197,   197,   198,
+     198,   198,   198,   198,   198,   198,   198,   198,   198,   198,
+     198,   198,   198,   198,   198,   199,   199,   200,   200,   201,
+     201,   201,   201,   201,   201,   201,   201
 };
 
 /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */
@@ -1822,502 +1832,519 @@
        0,     2,     1,     1,     1,     1,     1,     1,     1,     1,
        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-       1,     1,     1,     1,     1,     1,     2,     0,     1,     1,
-       1,     1,     1,     1,     1,     0,     0,     1,     1,     1,
-       1,     1,     1,     2,     0,     2,     0,     3,     2,     0,
-       1,     0,     3,     1,     2,     1,     1,     1,     1,     1,
+       1,     1,     1,     1,     1,     1,     1,     1,     2,     0,
+       1,     1,     1,     1,     1,     1,     1,     0,     0,     1,
+       1,     1,     1,     1,     1,     2,     0,     2,     0,     3,
+       2,     0,     1,     0,     3,     1,     2,     1,     1,     1,
        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-       1,     1,     1,     1,     1,     1,     2,     4,     5,     5,
-       3,     2,     2,     1,     3,     1,     3,     1,     0,     4,
-       3,     3,     4,     4,     3,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     6,     5,     8,     6,     6,
-       6,     6,     6,     8,     8,     3,     1,     1,     1,     1,
-       2,     2,     4,     2,     1,     4,     2,     4,     0,     7,
-       0,     7,     0,     7,     0,     7,     3,     4,     0,     1,
-       1,     1,     3,     3,     3,     3,     3,     3,     1,     0,
-       1,     1,     1,     0,     2,     3,     1,     1,     3,     1,
-       0,     8,     1,     1,     3,     1,     1,     2,     0,     1,
-       1,     0,     4,     0,     1,     1,     1,     1,     1,     1,
-       1,     1,     1,     3,     1,     5,     1,     1,     1,     1,
-       2,     2,     2,     3,     2,     0,     1,     2,     2,     3,
-       9,     9,     8,    13,     1,     1,     6,     5,     2,     6,
-       7,     1,     3,     1,     0,     2,     1,     5,     5,     5,
-       2,     4,     4,     6,     4,     4,     4,     4,     6,     6,
-       2,     7,     1,     2,     0,     1,     0,     3,     6,     3,
-       6,     2,     4,     6,     4
+       1,     1,     1,     1,     1,     1,     1,     1,     2,     4,
+       5,     5,     3,     2,     2,     1,     3,     1,     3,     1,
+       0,     4,     3,     3,     4,     4,     3,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     6,     5,     8,
+       6,     6,     6,     6,     6,     8,     8,     3,     1,     1,
+       1,     1,     2,     2,     4,     2,     1,     4,     2,     4,
+       0,     7,     0,     7,     0,     7,     0,     7,     3,     4,
+       0,     1,     1,     1,     3,     3,     3,     3,     3,     3,
+       1,     0,     1,     1,     1,     0,     2,     3,     1,     1,
+       3,     1,     0,     8,     1,     1,     3,     1,     1,     2,
+       0,     1,     1,     0,     4,     0,     1,     1,     1,     1,
+       1,     1,     1,     1,     1,     3,     1,     5,     1,     1,
+       1,     1,     2,     2,     2,     3,     2,     0,     1,     2,
+       2,     3,     9,     9,     8,    13,     1,     1,     6,     5,
+       2,     6,     7,     1,     3,     1,     0,     2,     1,     5,
+       5,     5,     2,     4,     4,     6,     4,     4,     4,     4,
+       6,     6,     2,     7,     1,     2,     0,     1,     0,     3,
+       6,     3,     6,     2,     4,     6,     4
 };
 
 /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
    STATE-NUM when YYTABLE doesn't specify something else to do.  Zero
    means the default is an error.  */
-static const unsigned char yydefact[] =
+static const unsigned short int yydefact[] =
 {
-     148,     0,    45,   134,     1,   133,   181,    38,    39,    40,
-      41,    42,    43,    44,     0,    46,   205,   130,   131,   205,
-     160,   161,     0,     0,     0,    45,     0,   136,   178,     0,
-       0,    47,    48,    49,    50,    51,    52,     0,     0,   206,
-     202,    37,   175,   176,   177,   201,     0,     0,     0,     0,
-     146,     0,     0,     0,     0,     0,     0,     0,    36,   179,
-     180,    46,   149,   132,    53,     2,     3,    66,    70,    71,
-      72,    73,    74,    75,    76,    77,    78,    79,    80,    81,
-      82,    83,     0,     0,     0,     0,   196,     0,     0,    65,
-      84,    69,   197,    85,   172,   173,   174,   246,   204,     0,
-       0,     0,     0,   159,   147,   137,   135,   127,   128,     0,
-       0,     0,     0,   182,    86,     0,     0,    68,    91,    93,
-       0,     0,    98,    92,   245,     0,   226,     0,     0,     0,
-       0,    46,   214,   215,     6,     7,     8,     9,    10,    11,
+     150,     0,    47,   136,     1,   135,   183,    40,    41,    42,
+      43,    44,    45,    46,     0,    48,   207,   132,   133,   207,
+     162,   163,     0,     0,     0,    47,     0,   138,   180,     0,
+       0,    49,    50,    51,    52,    53,    54,     0,     0,   208,
+     204,    39,   177,   178,   179,   203,     0,     0,     0,     0,
+     148,     0,     0,     0,     0,     0,     0,     0,    38,   181,
+     182,    48,   151,   134,    55,     2,     3,    68,    72,    73,
+      74,    75,    76,    77,    78,    79,    80,    81,    82,    83,
+      84,    85,     0,     0,     0,     0,   198,     0,     0,    67,
+      86,    71,   199,    87,   174,   175,   176,   248,   206,     0,
+       0,     0,     0,   161,   149,   139,   137,   129,   130,     0,
+       0,     0,     0,   184,    88,     0,     0,    70,    93,    95,
+       0,     0,   100,    94,   247,     0,   228,     0,     0,     0,
+       0,    48,   216,   217,     6,     7,     8,     9,    10,    11,
       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
-       0,     0,     0,     0,     0,     0,     0,    22,    23,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,   203,
-      46,   218,     0,   242,   154,   151,   150,   152,   153,   155,
-     158,     0,   142,   144,   140,    70,    71,    72,    73,    74,
-      75,    76,    77,    78,    79,    80,     0,     0,     0,     0,
-     138,     0,     0,     0,    90,   170,    97,    95,     0,     0,
-     230,   225,   208,   207,     0,     0,    27,    31,    26,    30,
-      25,    29,    24,    28,    32,    33,     0,     0,    56,    56,
-     251,     0,     0,   240,     0,     0,     0,     0,     0,     0,
+      22,    23,     0,     0,     0,     0,     0,     0,     0,    24,
+      25,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,   205,    48,   220,     0,   244,   156,   153,   152,   154,
+     155,   157,   160,     0,   144,   146,   142,    72,    73,    74,
+      75,    76,    77,    78,    79,    80,    81,    82,     0,     0,
+       0,     0,   140,     0,     0,     0,    92,   172,    99,    97,
+       0,     0,   232,   227,   210,   209,     0,     0,    29,    33,
+      28,    32,    27,    31,    26,    30,    34,    35,     0,     0,
+      58,    58,   253,     0,     0,   242,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-     156,    61,    61,    61,   112,   113,     4,     5,   110,   111,
-     114,   109,   105,   106,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,   108,   107,
-      61,    67,    67,    94,   169,   163,   166,   167,     0,     0,
-      87,   185,   186,   187,   192,   188,   189,   190,   191,   183,
-       0,   194,   199,   198,   200,     0,   209,     0,     0,     0,
-     247,     0,   249,   244,     0,     0,     0,     0,     0,     0,
+       0,     0,   158,    63,    63,    63,   114,   115,     4,     5,
+     112,   113,   116,   111,   107,   108,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,   157,     0,   143,   145,   141,     0,     0,     0,     0,
-       0,     0,   100,   126,     0,     0,   104,     0,   101,     0,
-       0,     0,     0,   139,    88,    89,   162,   164,     0,    59,
-      96,   184,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,   254,     0,     0,   232,     0,   234,   237,     0,     0,
-     235,   236,     0,     0,     0,   231,     0,   252,     0,     0,
-       0,    63,    61,   244,     0,     0,     0,     0,     0,     0,
-      99,   102,   103,     0,     0,     0,     0,   168,   165,    60,
-      54,     0,   193,     0,     0,   224,    56,    57,    56,   221,
-     243,     0,     0,     0,     0,     0,   227,   228,   229,   224,
-       0,    58,    64,    62,     0,     0,     0,     0,     0,     0,
-     125,     0,     0,     0,     0,     0,   171,     0,     0,     0,
-     223,     0,     0,   248,   250,     0,     0,     0,   233,   238,
-     239,     0,   253,   116,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,    55,   195,     0,     0,     0,   222,   219,
-       0,   241,   115,     0,   122,     0,     0,   118,   119,   120,
-     121,     0,   212,     0,     0,     0,   220,     0,     0,     0,
-     210,     0,   211,     0,     0,   117,   123,   124,     0,     0,
-       0,     0,     0,     0,   217,     0,     0,   216,   213
+     110,   109,    63,    69,    69,    96,   171,   165,   168,   169,
+       0,     0,    89,   187,   188,   189,   194,   190,   191,   192,
+     193,   185,     0,   196,   201,   200,   202,     0,   211,     0,
+       0,     0,   249,     0,   251,   246,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,   159,     0,   145,   147,   143,     0,     0,
+       0,     0,     0,     0,   102,   128,     0,     0,   106,     0,
+     103,     0,     0,     0,     0,   141,    90,    91,   164,   166,
+       0,    61,    98,   186,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,   256,     0,     0,   234,     0,   236,   239,
+       0,     0,   237,   238,     0,     0,     0,   233,     0,   254,
+       0,     0,     0,    65,    63,   246,     0,     0,     0,     0,
+       0,     0,   101,   104,   105,     0,     0,     0,     0,   170,
+     167,    62,    56,     0,   195,     0,     0,   226,    58,    59,
+      58,   223,   245,     0,     0,     0,     0,     0,   229,   230,
+     231,   226,     0,    60,    66,    64,     0,     0,     0,     0,
+       0,     0,   127,     0,     0,     0,     0,     0,   173,     0,
+       0,     0,   225,     0,     0,   250,   252,     0,     0,     0,
+     235,   240,   241,     0,   255,   118,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,    57,   197,     0,     0,     0,
+     224,   221,     0,   243,   117,     0,   124,     0,     0,   120,
+     121,   122,   123,     0,   214,     0,     0,     0,   222,     0,
+       0,     0,   212,     0,   213,     0,     0,   119,   125,   126,
+       0,     0,     0,     0,     0,     0,   219,     0,     0,   218,
+     215
 };
 
 /* YYDEFGOTO[NTERM-NUM]. */
 static const short int yydefgoto[] =
 {
-      -1,    86,   258,   274,   275,   276,   277,   196,   197,   226,
-     198,    25,    15,    37,   446,   310,   391,   410,   333,   392,
-      87,    88,   199,    90,    91,   120,   208,   343,   301,   344,
-     109,     1,     2,     3,   280,   253,   251,   252,    63,   177,
-      50,   104,   181,    92,   357,   286,   287,   288,    38,    96,
-      16,    44,    17,    61,    18,    28,   362,   302,    93,   304,
-     419,    19,    40,    41,   169,   494,    98,   233,   450,   451,
-     170,   171,   371,   172,   173
+      -1,    86,   260,   276,   277,   278,   279,   198,   199,   228,
+     200,    25,    15,    37,   448,   312,   393,   412,   335,   394,
+      87,    88,   201,    90,    91,   120,   210,   345,   303,   346,
+     109,     1,     2,     3,   282,   255,   253,   254,    63,   179,
+      50,   104,   183,    92,   359,   288,   289,   290,    38,    96,
+      16,    44,    17,    61,    18,    28,   364,   304,    93,   306,
+     421,    19,    40,    41,   171,   496,    98,   235,   452,   453,
+     172,   173,   373,   174,   175
 };
 
 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
    STATE-NUM.  */
-#define YYPACT_NINF -463
+#define YYPACT_NINF -447
 static const short int yypact[] =
 {
-    -463,    42,   182,   621,  -463,  -463,  -463,  -463,  -463,  -463,
-    -463,  -463,  -463,  -463,   -15,   347,    64,  -463,  -463,   -12,
-    -463,  -463,    15,     1,    33,   360,    10,  -463,    89,   114,
-     140,  -463,  -463,  -463,  -463,  -463,  -463,  1005,    -1,  -463,
-    -463,   115,  -463,  -463,  -463,  -463,    40,    56,    67,    68,
-    -463,    59,   114,  1005,    51,    51,    51,    51,  -463,  -463,
-    -463,   347,  -463,  -463,  -463,  -463,  -463,    66,  -463,  -463,
-    -463,  -463,  -463,  -463,  -463,  -463,  -463,  -463,  -463,  -463,
-    -463,  -463,   172,   177,   180,   489,  -463,   115,    74,  -463,
-    -463,   -97,  -463,  -463,  -463,  -463,  -463,  1178,  -463,   165,
-     -17,   188,   170,   171,  -463,  -463,  -463,  -463,  -463,  1046,
-    1046,  1046,  1087,  -463,  -463,    80,    81,  -463,  -463,   -97,
-     -91,    85,   838,  -463,  -463,  1046,  -463,   142,  1128,     6,
-     248,   347,  -463,  -463,  -463,  -463,  -463,  -463,  -463,  -463,
-    -463,  -463,  -463,  -463,  -463,  -463,  -463,  -463,  -463,  -463,
-    1046,  1046,  1046,  1046,  1046,  1046,  1046,  -463,  -463,  1046,
-    1046,  1046,  1046,  1046,  1046,  1046,  1046,  1046,  1046,  -463,
-     347,  -463,    35,  -463,  -463,  -463,  -463,  -463,  -463,  -463,
-    -463,   -48,  -463,  -463,  -463,   113,   146,   198,   150,   200,
-     152,   213,   167,   214,   212,   223,   169,   216,   224,   443,
-    -463,  1046,  1046,  1046,  -463,   879,  -463,   109,   117,   620,
-    -463,  -463,    66,  -463,   620,   620,  -463,  -463,  -463,  -463,
-    -463,  -463,  -463,  -463,  -463,  -463,   620,  1005,   128,   129,
-    -463,   620,   126,   131,   209,   134,   141,   143,   144,   154,
-     156,   157,   620,   620,   620,   158,  1005,  1046,  1046,   228,
-    -463,   161,   161,   161,  -463,  -463,  -463,  -463,  -463,  -463,
-    -463,  -463,  -463,  -463,   160,   164,   175,   178,   181,   184,
-      87,  1087,   574,   230,   185,   186,   187,   189,  -463,  -463,
-     161,   -33,  -101,   -97,  -463,   115,  -463,   163,   176,   923,
-    -463,  -463,  -463,  -463,  -463,  -463,  -463,  -463,  -463,   231,
-    1087,  -463,  -463,  -463,  -463,   190,  -463,   195,   620,    -9,
-    -463,    -8,  -463,   196,   620,   193,  1046,  1046,  1046,  1046,
-    1046,  1046,  1046,  1046,   199,   201,   202,  1046,   620,   620,
-     203,  -463,   -22,  -463,  -463,  -463,  1087,  1087,  1087,  1087,
-    1087,  1087,  -463,  -463,   -47,   -79,  -463,   -82,  -463,  1087,
-    1087,  1087,  1087,  -463,  -463,  -463,  -463,  -463,   964,   262,
-    -463,  -463,   293,   -75,   301,   302,   210,   620,   324,   620,
-    1046,  -463,   217,   620,  -463,   218,  -463,  -463,   219,   220,
-    -463,  -463,   620,   620,   620,  -463,   229,  -463,  1046,   314,
-     340,  -463,   161,   196,   309,   234,   237,   240,   241,  1087,
-    -463,  -463,  -463,   242,   243,   246,   247,  -463,  -463,  -463,
-     303,   249,  -463,   620,   620,  1046,   250,  -463,   250,  -463,
-     251,   620,   255,  1046,  1046,  1046,  -463,  -463,  -463,  1046,
-     620,  -463,  -463,  -463,   253,  1046,  1087,  1087,  1087,  1087,
-    -463,  1087,  1087,  1087,  1087,   365,  -463,   348,   259,   258,
-     251,   260,   320,  -463,  -463,  1046,   261,   620,  -463,  -463,
-    -463,   267,  -463,  -463,   270,   277,   278,   282,   283,   281,
-     284,   294,   304,  -463,  -463,   376,    65,   372,  -463,  -463,
-     305,  -463,  -463,  1087,  -463,  1087,  1087,  -463,  -463,  -463,
-    -463,   620,  -463,   726,   149,   399,  -463,   306,   307,   310,
-    -463,   312,  -463,   726,   620,  -463,  -463,  -463,   405,   315,
-     352,   620,   409,   411,  -463,   620,   620,  -463,  -463
+    -447,    33,   122,   610,  -447,  -447,  -447,  -447,  -447,  -447,
+    -447,  -447,  -447,  -447,   -13,   161,    47,  -447,  -447,   -15,
+    -447,  -447,    15,    10,    91,    -6,    48,  -447,    19,   138,
+     168,  -447,  -447,  -447,  -447,  -447,  -447,  1070,   -20,  -447,
+    -447,    70,  -447,  -447,  -447,  -447,    60,    61,    64,    67,
+    -447,    63,   138,  1070,   106,   106,   106,   106,  -447,  -447,
+    -447,   161,  -447,  -447,  -447,  -447,  -447,    59,  -447,  -447,
+    -447,  -447,  -447,  -447,  -447,  -447,  -447,  -447,  -447,  -447,
+    -447,  -447,   174,   178,   179,   576,  -447,    70,    74,  -447,
+    -447,   -54,  -447,  -447,  -447,  -447,  -447,  1245,  -447,   162,
+     -44,   190,   171,   172,  -447,  -447,  -447,  -447,  -447,  1111,
+    1111,  1111,  1152,  -447,  -447,    78,    88,  -447,  -447,   -54,
+     -29,    92,   865,  -447,  -447,  1111,  -447,   150,  1193,    75,
+     189,   161,  -447,  -447,  -447,  -447,  -447,  -447,  -447,  -447,
+    -447,  -447,  -447,  -447,  -447,  -447,  -447,  -447,  -447,  -447,
+    -447,  -447,  1111,  1111,  1111,  1111,  1111,  1111,  1111,  -447,
+    -447,  1111,  1111,  1111,  1111,  1111,  1111,  1111,  1111,  1111,
+    1111,  -447,   161,  -447,     8,  -447,  -447,  -447,  -447,  -447,
+    -447,  -447,  -447,   -10,  -447,  -447,  -447,   113,   139,   206,
+     145,   211,   147,   215,   152,   216,   214,   225,   154,   218,
+     226,   419,  -447,  1111,  1111,  1111,  -447,   906,  -447,   120,
+     118,   643,  -447,  -447,    59,  -447,   643,   643,  -447,  -447,
+    -447,  -447,  -447,  -447,  -447,  -447,  -447,  -447,   643,  1070,
+     128,   129,  -447,   643,   126,   131,   210,   133,   134,   140,
+     141,   142,   143,   144,   643,   643,   643,   146,  1070,  1111,
+    1111,   237,  -447,   148,   148,   148,  -447,  -447,  -447,  -447,
+    -447,  -447,  -447,  -447,  -447,  -447,   149,   151,   153,   155,
+     156,   159,   947,  1152,   596,   239,   160,   164,   175,   177,
+    -447,  -447,   148,   -74,   -23,   -54,  -447,    70,  -447,   163,
+     180,   988,  -447,  -447,  -447,  -447,  -447,  -447,  -447,  -447,
+    -447,   201,  1152,  -447,  -447,  -447,  -447,   182,  -447,   184,
+     643,    -2,  -447,     6,  -447,   186,   643,   176,  1111,  1111,
+    1111,  1111,  1111,  1111,  1111,  1111,   187,   188,   191,  1111,
+     643,   643,   195,  -447,   -12,  -447,  -447,  -447,  1152,  1152,
+    1152,  1152,  1152,  1152,  -447,  -447,    -9,   -21,  -447,   -27,
+    -447,  1152,  1152,  1152,  1152,  -447,  -447,  -447,  -447,  -447,
+    1029,   232,  -447,  -447,   244,   -16,   249,   282,   194,   643,
+     300,   643,  1111,  -447,   197,   643,  -447,   199,  -447,  -447,
+     202,   203,  -447,  -447,   643,   643,   643,  -447,   208,  -447,
+    1111,   291,   315,  -447,   148,   186,   289,   212,   217,   219,
+     220,  1152,  -447,  -447,  -447,   231,   233,   234,   240,  -447,
+    -447,  -447,   273,   241,  -447,   643,   643,  1111,   242,  -447,
+     242,  -447,   243,   643,   246,  1111,  1111,  1111,  -447,  -447,
+    -447,  1111,   643,  -447,  -447,  -447,   223,  1111,  1152,  1152,
+    1152,  1152,  -447,  1152,  1152,  1152,  1152,   328,  -447,   322,
+     247,   245,   243,   248,   294,  -447,  -447,  1111,   250,   643,
+    -447,  -447,  -447,   252,  -447,  -447,   254,   259,   257,   262,
+     263,   264,   265,   267,   270,  -447,  -447,   341,    14,   343,
+    -447,  -447,   271,  -447,  -447,  1152,  -447,  1152,  1152,  -447,
+    -447,  -447,  -447,   643,  -447,   751,    65,   374,  -447,   279,
+     280,   281,  -447,   285,  -447,   751,   643,  -447,  -447,  -447,
+     380,   290,   288,   643,   382,   384,  -447,   643,   643,  -447,
+    -447
 };
 
 /* YYPGOTO[NTERM-NUM].  */
 static const short int yypgoto[] =
 {
-    -463,  -463,  -463,   336,   339,   341,   342,  -129,  -128,  -462,
-    -463,   396,   415,  -118,  -463,  -225,    82,  -463,  -244,  -463,
-     -50,  -463,   -37,  -463,   -56,   321,  -463,  -102,   252,  -247,
-       5,  -463,  -463,  -463,  -463,  -463,  -463,  -463,   390,  -463,
-    -463,  -463,  -463,     2,  -463,    92,  -463,  -463,   391,  -463,
-    -463,  -463,  -463,  -463,   450,  -463,  -463,  -459,   -57,    62,
-    -105,  -463,   436,  -463,  -463,  -463,  -463,  -463,    86,    28,
-    -463,  -463,    69,  -463,  -463
+    -447,  -447,  -447,   309,   310,   311,   312,  -129,  -128,  -446,
+    -447,   369,   386,   -89,  -447,  -227,    51,  -447,  -248,  -447,
+     -50,  -447,   -37,  -447,   -68,   292,  -447,  -102,   221,  -255,
+      57,  -447,  -447,  -447,  -447,  -447,  -447,  -447,   361,  -447,
+    -447,  -447,  -447,     2,  -447,    55,  -447,  -447,   355,  -447,
+    -447,  -447,  -447,  -447,   414,  -447,  -447,  -405,   -57,    62,
+    -105,  -447,   399,  -447,  -447,  -447,  -447,  -447,    49,    -8,
+    -447,  -447,    24,  -447,  -447
 };
 
 /* 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 -130
+#define YYTABLE_NINF -132
 static const short int yytable[] =
 {
-      89,   224,   225,   106,   312,    26,   367,   369,   334,   335,
-     200,    39,   389,   227,   493,   214,    89,   -67,    42,   355,
-     210,   203,   123,   213,   345,   347,   123,   215,    94,   119,
-     399,   204,   503,   399,   501,   390,   353,   399,   175,   176,
-     402,   401,     4,    26,   509,   412,    29,   230,   368,   368,
-     234,   235,   246,   363,   236,   237,   238,   239,   240,   241,
-     110,   111,   112,   245,   249,   399,   119,    46,    47,    48,
-     250,   400,   182,   183,   184,   216,   217,   218,   219,   220,
-     221,   222,   223,   107,   108,   354,    49,    39,   209,   121,
-     123,   209,    65,    66,    52,   117,   185,   186,   187,   188,
-     189,   190,   191,   192,   193,   194,   195,    79,    80,    20,
-      43,    21,    51,   228,   229,   209,   231,   232,   209,   209,
-      95,    58,   209,   209,   209,   209,   209,   209,   242,   243,
-     244,   209,   247,   248,    59,    81,    60,    20,    62,    21,
-     254,   255,   279,   330,    64,   281,   282,   283,   433,   -27,
-     -27,    99,   303,   -26,   -26,   -25,   -25,   303,   303,   216,
-     217,   218,   219,   220,   221,   222,   223,   100,   285,   303,
-     -24,   -24,   256,   257,   303,   103,   114,   308,   101,   102,
-     -68,   115,  -129,   492,   116,   303,   303,   303,   122,   174,
-      89,   453,   178,   454,   179,   180,   328,   201,   202,   205,
-      82,   211,   -31,    83,   -30,   342,    84,     5,    85,    89,
-     329,   209,   375,     6,   377,   378,   379,   -29,   -28,   -34,
-     259,   289,   385,     7,     8,     9,    10,    11,    12,    13,
-     -35,   260,   290,   283,   393,   394,   395,   396,   397,   398,
-     309,   311,   314,   315,    14,   316,   317,   403,   404,   405,
-     406,   303,   331,   318,   348,   319,   320,   303,   216,   217,
-     218,   219,   220,   221,   222,   223,   321,   502,   322,   323,
-     327,   303,   303,   332,   336,   358,   305,   306,   337,   374,
-     209,   376,   209,   209,   209,   380,   381,   356,   307,   338,
-     209,   359,   339,   313,   361,   340,   389,   440,   341,   349,
-     350,   351,   364,   352,   324,   325,   326,   365,   370,   373,
-     303,   382,   303,   383,   384,   388,   303,   411,   458,   459,
-     460,   285,   413,   414,   415,   303,   303,   303,   417,   421,
-     423,   424,   425,   209,   465,   466,   467,   468,   431,   469,
-     470,   471,   472,   429,   432,   435,   436,   224,   225,   437,
-     478,   430,   438,   439,   441,   442,   303,   303,   443,   444,
-     445,   447,   452,   455,   303,   224,   225,   457,   463,   473,
-     366,   475,   474,   303,   476,   477,   372,   368,   209,   479,
-      53,   497,   481,   498,   499,   482,   209,   209,   209,   483,
-     386,   387,   209,   484,   485,   486,   487,   491,   464,   488,
-     303,     7,     8,     9,    10,    54,    12,    55,   495,   489,
-      56,    30,    31,    32,    33,    34,    35,    36,   209,   490,
-     504,   505,   506,   496,   508,   507,   511,   512,   513,   416,
-     515,   418,   516,   165,   303,   422,   166,    97,   167,   168,
-      57,   409,   105,   207,   426,   427,   428,   303,    65,    66,
-     408,   278,   113,    27,   303,    45,   420,   461,   303,   303,
-       0,     0,   434,     0,     0,    20,     0,    21,     0,   261,
-       0,     0,     0,     0,     0,   448,   449,     0,     0,     0,
-       0,   262,   263,   456,     0,     0,     0,     0,     0,     0,
-       0,     0,   462,     0,    65,    66,     0,   117,    68,    69,
-      70,    71,    72,    73,    74,    75,    76,    77,    78,    79,
-      80,    20,     0,    21,     0,     0,     0,     0,     0,   480,
-       0,   134,   135,   136,   137,   138,   139,   140,   141,   142,
-     143,   144,   145,   146,   147,   148,   149,    81,     0,     0,
-       0,     0,   264,     0,   265,   266,   157,   158,     0,   267,
-     268,   269,     0,   500,     0,     0,     0,     0,     0,   270,
-       0,     0,   271,     0,   272,     0,   510,   273,     0,     0,
-       0,     0,     0,   514,     0,     0,     0,   517,   518,    65,
-      66,     0,   117,   185,   186,   187,   188,   189,   190,   191,
-     192,   193,   194,   195,    79,    80,    20,     0,    21,     0,
-       0,     0,    82,     0,     0,    83,     0,     0,    84,     0,
-      85,   118,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,    81,   291,   292,    65,    66,   293,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,   -37,    20,    20,    21,    21,   294,   295,   296,     0,
-       0,     0,     6,   -37,   -37,     0,     0,     0,   297,   298,
-       0,     0,   -37,   -37,   -37,   -37,   -37,   -37,   -37,     0,
-       0,   -37,    22,     0,     0,     0,     0,     0,     0,    23,
-       0,   299,     0,    24,     0,     0,     0,    82,     0,     0,
-      83,     0,     0,    84,     0,    85,   346,     0,   134,   135,
-     136,   137,   138,   139,   140,   141,   142,   143,   144,   145,
-     146,   147,   148,   149,     0,     0,     0,     0,     0,   264,
-       0,   265,   266,   157,   158,     0,   267,   268,   269,   291,
-     292,     0,     0,   293,     0,     0,     0,     0,     0,   300,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,   294,   295,   296,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,   297,   298,     0,     0,     0,     0,
+      89,   226,   227,   106,   314,    26,   336,   337,    39,    94,
+     202,   177,   178,   369,    53,    42,    89,   119,   347,   349,
+     212,   371,   391,   215,   218,   219,   220,   221,   222,   223,
+     224,   225,   495,     4,   355,     7,     8,     9,    10,    54,
+      12,    55,   229,    26,    56,   392,   356,   365,    29,   232,
+     505,   123,   236,   237,   119,   370,   238,   239,   240,   241,
+     242,   243,   -69,   370,    59,   247,    60,    46,    47,    48,
+      39,   123,   184,   185,   186,   218,   219,   220,   221,   222,
+     223,   224,   225,   248,   216,   205,    49,   401,   211,   121,
+     503,   211,    20,   401,    21,   206,   217,   404,   401,   357,
+     511,   403,   123,    95,   251,   401,   414,   249,   250,    43,
+     252,   402,   110,   111,   112,   230,   231,   211,   233,   234,
+     211,   211,  -131,    51,   211,   211,   211,   211,   211,   211,
+     244,   245,   246,   211,   494,   283,   284,   285,   107,   108,
+     256,   257,   -29,   -29,   281,   332,   435,     5,   -28,   -28,
+     -27,   -27,    52,     6,   305,   -26,   -26,   258,   259,   305,
+     305,    58,    62,     7,     8,     9,    10,    11,    12,    13,
+     287,   305,    64,    99,   100,   -70,   305,   101,   114,   310,
+     102,   103,   115,   116,    14,   504,   176,   305,   305,   305,
+     122,   455,    89,   456,   180,   181,   182,   203,   330,   218,
+     219,   220,   221,   222,   223,   224,   225,   204,   207,   213,
+     -33,    89,   331,   211,   377,   -32,   379,   380,   381,   -31,
+     -30,   -36,   261,   285,   387,    30,    31,    32,    33,    34,
+      35,    36,   -37,   262,   291,   292,   395,   396,   397,   398,
+     399,   400,   311,   313,   316,   317,   318,   319,   320,   405,
+     406,   407,   408,   305,   321,   322,   323,   324,   325,   305,
+     329,   333,   334,   350,   363,   338,   391,   339,   413,   340,
+     415,   341,   342,   305,   305,   343,   351,   360,   307,   308,
+     352,   376,   211,   378,   211,   211,   211,   382,   383,   358,
+     309,   353,   211,   354,   375,   315,   366,   361,   367,   442,
+     372,   384,   385,   416,   419,   386,   326,   327,   328,   390,
+     417,   423,   305,   425,   305,   433,   426,   427,   305,   434,
+     460,   461,   462,   287,   431,   437,   438,   305,   305,   305,
+     447,   439,   475,   440,   441,   211,   467,   468,   469,   470,
+     465,   471,   472,   473,   474,   443,   476,   444,   445,   226,
+     227,   370,   480,   432,   446,   449,   454,   457,   305,   305,
+     459,   477,   493,   478,   515,   479,   305,   226,   227,   483,
+     481,   484,   368,   485,   486,   305,   487,   488,   374,   497,
+     211,   489,   490,   499,   491,   500,   501,   492,   211,   211,
+     211,   498,   388,   389,   211,   506,   507,   508,   509,   510,
+     466,   513,   305,   517,   514,   518,   167,   168,   169,   170,
+      97,    57,   411,   105,   209,   410,   113,    27,    45,   436,
+     211,   422,   280,   463,    65,    66,     0,     0,     0,     0,
+       0,   418,     0,   420,     0,     0,   305,   424,     0,     0,
+       0,    20,     0,    21,     0,   263,   428,   429,   430,   305,
+       0,     0,     0,     0,     0,     0,   305,   264,   265,     0,
+     305,   305,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,   450,   451,     0,
+       0,     0,     0,     0,     0,   458,     0,     0,     0,     0,
+       0,     0,     0,     0,   464,     0,     0,   134,   135,   136,
+     137,   138,   139,   140,   141,   142,   143,   144,   145,   146,
+     147,   148,   149,   150,   151,     0,     0,     0,     0,     0,
+     266,   482,   267,   268,   159,   160,     0,   269,   270,   271,
+       0,     0,     0,     0,     0,     0,     0,   272,     0,     0,
+     273,     0,   274,     0,     0,   275,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,   502,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,   512,     0,
+       0,     0,     0,     0,     0,   516,     0,     0,     0,   519,
+     520,    65,    66,     0,   117,    68,    69,    70,    71,    72,
+      73,    74,    75,    76,    77,    78,    79,    80,    20,     0,
+      21,    65,    66,     0,   117,   187,   188,   189,   190,   191,
+     192,   193,   194,   195,   196,   197,    79,    80,    20,     0,
+      21,     0,     0,     0,    81,     0,     0,     0,     0,     0,
+     -39,     0,    20,     0,    21,     0,     0,     0,     0,     0,
+       0,     6,   -39,   -39,    81,     0,   293,   294,    65,    66,
+     295,   -39,   -39,   -39,   -39,   -39,   -39,   -39,     0,     0,
+     -39,    22,     0,     0,     0,    20,     0,    21,    23,   296,
+     297,   298,    24,     0,     0,     0,     0,     0,     0,     0,
+       0,   299,   300,     0,     0,     0,     0,     0,     0,     0,
+       0,    82,     0,     0,    83,     0,     0,    84,     0,    85,
+     118,     0,     0,     0,   301,     0,     0,     0,     0,     0,
+       0,    82,     0,     0,    83,     0,     0,    84,     0,    85,
+     348,   134,   135,   136,   137,   138,   139,   140,   141,   142,
+     143,   144,   145,   146,   147,   148,   149,   150,   151,     0,
+       0,     0,     0,     0,   266,     0,   267,   268,   159,   160,
+       0,   269,   270,   271,   293,   294,     0,     0,   295,     0,
+       0,     0,     0,     0,   302,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,   296,   297,   298,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,   299,
+     300,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,   299,     0,     0,
+       0,     0,   301,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,   134,
+     135,   136,   137,   138,   139,   140,   141,   142,   143,   144,
+     145,   146,   147,   148,   149,   150,   151,     0,     0,     0,
+       0,     0,   266,     0,   267,   268,   159,   160,     0,   269,
+     270,   271,     0,     0,     0,     0,     0,     0,     0,     0,
+      65,    66,   302,   117,    68,    69,    70,    71,    72,    73,
+      74,    75,    76,    77,    78,    79,    80,    20,     0,    21,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,   134,   135,   136,   137,   138,   139,
-     140,   141,   142,   143,   144,   145,   146,   147,   148,   149,
-       0,     0,     0,     0,     0,   264,     0,   265,   266,   157,
-     158,     0,   267,   268,   269,     0,     0,     0,     0,     0,
-       0,     0,     0,    65,    66,   300,   117,    68,    69,    70,
+       0,     0,   208,     0,     0,     0,     0,     0,     0,     0,
+       0,    65,    66,    81,   117,    68,    69,    70,    71,    72,
+      73,    74,    75,    76,    77,    78,    79,    80,    20,     0,
+      21,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,   286,     0,     0,     0,     0,     0,     0,
+       0,     0,    65,    66,    81,   117,   187,   188,   189,   190,
+     191,   192,   193,   194,   195,   196,   197,    79,    80,    20,
+       0,    21,     0,     0,     0,     0,     0,     0,     0,     0,
+      82,     0,     0,    83,     0,     0,    84,     0,    85,     0,
+       0,     0,     0,    65,    66,    81,   117,    68,    69,    70,
       71,    72,    73,    74,    75,    76,    77,    78,    79,    80,
       20,     0,    21,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,   206,     0,     0,     0,     0,
+       0,    82,     0,     0,    83,   362,     0,    84,     0,    85,
        0,     0,     0,     0,    65,    66,    81,   117,    68,    69,
       70,    71,    72,    73,    74,    75,    76,    77,    78,    79,
       80,    20,     0,    21,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,   284,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,    81,    65,    66,
-       0,   117,    68,    69,    70,    71,    72,    73,    74,    75,
+       0,     0,    82,     0,     0,    83,   409,   344,    84,     0,
+      85,     0,     0,     0,     0,    65,    66,    81,    67,    68,
+      69,    70,    71,    72,    73,    74,    75,    76,    77,    78,
+      79,    80,    20,     0,    21,     0,     0,     0,     0,     0,
+       0,     0,     0,    82,     0,     0,    83,     0,     0,    84,
+       0,    85,     0,     0,     0,     0,    65,    66,    81,   117,
+      68,    69,    70,    71,    72,    73,    74,    75,    76,    77,
+      78,    79,    80,    20,     0,    21,     0,     0,     0,     0,
+       0,     0,     0,     0,    82,     0,     0,    83,     0,     0,
+      84,     0,    85,     0,     0,     0,     0,    65,    66,    81,
+     117,   187,   188,   189,   190,   191,   192,   193,   194,   195,
+     196,   197,    79,    80,    20,     0,    21,     0,     0,     0,
+       0,     0,     0,     0,     0,    82,     0,     0,    83,     0,
+       0,    84,     0,    85,     0,     0,     0,     0,    65,    66,
+      81,   214,    68,    69,    70,    71,    72,    73,    74,    75,
       76,    77,    78,    79,    80,    20,     0,    21,     0,     0,
-       0,    82,     0,     0,    83,     0,     0,    84,     0,    85,
-     360,     0,     0,     0,     0,     0,     0,     0,     0,    65,
-      66,    81,   117,    68,    69,    70,    71,    72,    73,    74,
-      75,    76,    77,    78,    79,    80,    20,     0,    21,     0,
-       0,     0,    82,     0,     0,    83,     0,     0,    84,     0,
-      85,   407,     0,     0,     0,     0,     0,     0,     0,     0,
-      65,    66,    81,    67,    68,    69,    70,    71,    72,    73,
-      74,    75,    76,    77,    78,    79,    80,    20,     0,    21,
        0,     0,     0,     0,     0,     0,    82,     0,     0,    83,
        0,     0,    84,     0,    85,     0,     0,     0,     0,     0,
-       0,    65,    66,    81,   117,    68,    69,    70,    71,    72,
-      73,    74,    75,    76,    77,    78,    79,    80,    20,     0,
-      21,     0,     0,     0,     0,     0,     0,    82,     0,     0,
-      83,     0,     0,    84,     0,    85,     0,     0,     0,     0,
-       0,     0,    65,    66,    81,   117,   185,   186,   187,   188,
-     189,   190,   191,   192,   193,   194,   195,    79,    80,    20,
-       0,    21,     0,     0,     0,     0,     0,     0,    82,     0,
-       0,    83,     0,     0,    84,     0,    85,     0,     0,     0,
-       0,     0,     0,    65,    66,    81,   212,    68,    69,    70,
-      71,    72,    73,    74,    75,    76,    77,    78,    79,    80,
-      20,     0,    21,     0,     0,     0,     0,     0,     0,    82,
-       0,     0,    83,     0,     0,    84,     0,    85,     0,     0,
-       0,     0,     0,     0,     0,     0,    81,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,    81,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-      82,     0,     0,    83,     0,     0,    84,     0,    85,     0,
-       0,     0,     0,   124,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,   125,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,   126,   127,     0,
-       0,    82,     0,     0,    83,     0,     0,    84,     0,    85,
-     128,   129,   130,   131,   132,   133,   134,   135,   136,   137,
-     138,   139,   140,   141,   142,   143,   144,   145,   146,   147,
-     148,   149,   150,   151,   152,     0,     0,   153,   154,   155,
-     156,   157,   158,   159,   160,   161,   162,   163,   164
+       0,     0,     0,     0,     0,     0,     0,    82,     0,     0,
+      83,     0,     0,    84,     0,    85,     0,     0,     0,     0,
+     124,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,   125,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,   126,   127,     0,     0,    82,     0,
+       0,    83,     0,     0,    84,     0,    85,   128,   129,   130,
+     131,   132,   133,   134,   135,   136,   137,   138,   139,   140,
+     141,   142,   143,   144,   145,   146,   147,   148,   149,   150,
+     151,   152,   153,   154,     0,     0,   155,   156,   157,   158,
+     159,   160,   161,   162,   163,   164,   165,   166
 };
 
 static const short int yycheck[] =
 {
-      37,   130,   130,    53,   229,     3,    15,    15,   252,   253,
-     112,    23,    34,   131,   476,     9,    53,   114,    30,   120,
-     125,   112,   123,   128,   271,   272,   123,    21,    29,    85,
-     112,   122,   494,   112,   493,    57,   280,   112,    55,    56,
-     122,   120,     0,    41,   503,   120,    61,   152,    57,    57,
-     155,   156,   170,   300,   159,   160,   161,   162,   163,   164,
-      55,    56,    57,   168,   112,   112,   122,    52,    53,    54,
-     118,   118,   109,   110,   111,    10,    11,    12,    13,    14,
-      15,    16,    17,    32,    33,   118,    71,    23,   125,    87,
-     123,   128,     5,     6,    61,     8,     9,    10,    11,    12,
-      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
-     122,    24,   111,   150,   151,   152,   153,   154,   155,   156,
-     121,   111,   159,   160,   161,   162,   163,   164,   165,   166,
-     167,   168,    97,    98,    45,    48,    47,    22,    24,    24,
-      27,    28,   199,   248,     4,   201,   202,   203,   392,     3,
-       4,   111,   209,     3,     4,     3,     4,   214,   215,    10,
-      11,    12,    13,    14,    15,    16,    17,   111,   205,   226,
-       3,     4,     3,     4,   231,   116,     4,   227,   111,   111,
-     114,     4,     0,   118,     4,   242,   243,   244,   114,    24,
-     227,   416,     4,   418,    24,    24,   246,   117,   117,   114,
-     113,    59,     4,   116,     4,   118,   119,    25,   121,   246,
-     247,   248,   317,    31,   319,   320,   321,     4,     4,     7,
-       4,   112,   327,    41,    42,    43,    44,    45,    46,    47,
-       7,     7,   115,   289,   336,   337,   338,   339,   340,   341,
-     112,   112,   116,   112,    62,    36,   112,   349,   350,   351,
-     352,   308,    24,   112,    24,   112,   112,   314,    10,    11,
-      12,    13,    14,    15,    16,    17,   112,   118,   112,   112,
-     112,   328,   329,   112,   114,   112,   214,   215,   114,   316,
-     317,   318,   319,   320,   321,   322,   323,   285,   226,   114,
-     327,   115,   114,   231,    63,   114,    34,   399,   114,   114,
-     114,   114,   112,   114,   242,   243,   244,   112,   112,   116,
-     367,   112,   369,   112,   112,   112,   373,    24,   423,   424,
-     425,   358,    21,    21,   114,   382,   383,   384,     4,   112,
-     112,   112,   112,   370,   436,   437,   438,   439,    24,   441,
-     442,   443,   444,   114,     4,    36,   112,   476,   476,   112,
-     455,   388,   112,   112,   112,   112,   413,   414,   112,   112,
-      57,   112,   112,   112,   421,   494,   494,   112,   115,     4,
-     308,   112,    24,   430,   116,   115,   314,    57,   415,   118,
-      20,   483,   115,   485,   486,   115,   423,   424,   425,   112,
-     328,   329,   429,   115,   112,   112,   115,    21,   435,   115,
-     457,    41,    42,    43,    44,    45,    46,    47,    36,   115,
-      50,    64,    65,    66,    67,    68,    69,    70,   455,   115,
-      21,   115,   115,   118,   112,   115,    21,   112,    76,   367,
-      21,   369,    21,    97,   491,   373,    97,    41,    97,    97,
-      25,   359,    52,   122,   382,   383,   384,   504,     5,     6,
-     358,   199,    61,     3,   511,    19,   370,   429,   515,   516,
-      -1,    -1,   393,    -1,    -1,    22,    -1,    24,    -1,    26,
-      -1,    -1,    -1,    -1,    -1,   413,   414,    -1,    -1,    -1,
-      -1,    38,    39,   421,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,   430,    -1,     5,     6,    -1,     8,     9,    10,
-      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
-      21,    22,    -1,    24,    -1,    -1,    -1,    -1,    -1,   457,
-      -1,    78,    79,    80,    81,    82,    83,    84,    85,    86,
-      87,    88,    89,    90,    91,    92,    93,    48,    -1,    -1,
-      -1,    -1,    99,    -1,   101,   102,   103,   104,    -1,   106,
-     107,   108,    -1,   491,    -1,    -1,    -1,    -1,    -1,   116,
-      -1,    -1,   119,    -1,   121,    -1,   504,   124,    -1,    -1,
-      -1,    -1,    -1,   511,    -1,    -1,    -1,   515,   516,     5,
-       6,    -1,     8,     9,    10,    11,    12,    13,    14,    15,
-      16,    17,    18,    19,    20,    21,    22,    -1,    24,    -1,
-      -1,    -1,   113,    -1,    -1,   116,    -1,    -1,   119,    -1,
-     121,   122,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    48,     3,     4,     5,     6,     7,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    20,    22,    22,    24,    24,    26,    27,    28,    -1,
-      -1,    -1,    31,    32,    33,    -1,    -1,    -1,    38,    39,
-      -1,    -1,    41,    42,    43,    44,    45,    46,    47,    -1,
-      -1,    50,    51,    -1,    -1,    -1,    -1,    -1,    -1,    58,
-      -1,    61,    -1,    62,    -1,    -1,    -1,   113,    -1,    -1,
-     116,    -1,    -1,   119,    -1,   121,   122,    -1,    78,    79,
-      80,    81,    82,    83,    84,    85,    86,    87,    88,    89,
-      90,    91,    92,    93,    -1,    -1,    -1,    -1,    -1,    99,
-      -1,   101,   102,   103,   104,    -1,   106,   107,   108,     3,
-       4,    -1,    -1,     7,    -1,    -1,    -1,    -1,    -1,   119,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    26,    27,    28,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    38,    39,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    61,    -1,    -1,
+      37,   130,   130,    53,   231,     3,   254,   255,    23,    29,
+     112,    55,    56,    15,    20,    30,    53,    85,   273,   274,
+     125,    15,    34,   128,    10,    11,    12,    13,    14,    15,
+      16,    17,   478,     0,   282,    41,    42,    43,    44,    45,
+      46,    47,   131,    41,    50,    57,   120,   302,    61,   154,
+     496,   125,   157,   158,   122,    57,   161,   162,   163,   164,
+     165,   166,   116,    57,    45,   170,    47,    52,    53,    54,
+      23,   125,   109,   110,   111,    10,    11,    12,    13,    14,
+      15,    16,    17,   172,     9,   114,    71,   114,   125,    87,
+     495,   128,    22,   114,    24,   124,    21,   124,   114,   122,
+     505,   122,   125,   123,   114,   114,   122,    99,   100,   124,
+     120,   120,    55,    56,    57,   152,   153,   154,   155,   156,
+     157,   158,     0,   113,   161,   162,   163,   164,   165,   166,
+     167,   168,   169,   170,   120,   203,   204,   205,    32,    33,
+      27,    28,     3,     4,   201,   250,   394,    25,     3,     4,
+       3,     4,    61,    31,   211,     3,     4,     3,     4,   216,
+     217,   113,    24,    41,    42,    43,    44,    45,    46,    47,
+     207,   228,     4,   113,   113,   116,   233,   113,     4,   229,
+     113,   118,     4,     4,    62,   120,    24,   244,   245,   246,
+     116,   418,   229,   420,     4,    24,    24,   119,   248,    10,
+      11,    12,    13,    14,    15,    16,    17,   119,   116,    59,
+       4,   248,   249,   250,   319,     4,   321,   322,   323,     4,
+       4,     7,     4,   291,   329,    64,    65,    66,    67,    68,
+      69,    70,     7,     7,   114,   117,   338,   339,   340,   341,
+     342,   343,   114,   114,   118,   114,    36,   114,   114,   351,
+     352,   353,   354,   310,   114,   114,   114,   114,   114,   316,
+     114,    24,   114,    24,    63,   116,    34,   116,    24,   116,
+      21,   116,   116,   330,   331,   116,   116,   114,   216,   217,
+     116,   318,   319,   320,   321,   322,   323,   324,   325,   287,
+     228,   116,   329,   116,   118,   233,   114,   117,   114,   401,
+     114,   114,   114,    21,     4,   114,   244,   245,   246,   114,
+     116,   114,   369,   114,   371,    24,   114,   114,   375,     4,
+     425,   426,   427,   360,   116,    36,   114,   384,   385,   386,
+      57,   114,     4,   114,   114,   372,   438,   439,   440,   441,
+     117,   443,   444,   445,   446,   114,    24,   114,   114,   478,
+     478,    57,   457,   390,   114,   114,   114,   114,   415,   416,
+     114,   114,    21,   118,    76,   117,   423,   496,   496,   117,
+     120,   117,   310,   114,   117,   432,   114,   114,   316,    36,
+     417,   117,   117,   485,   117,   487,   488,   117,   425,   426,
+     427,   120,   330,   331,   431,    21,   117,   117,   117,   114,
+     437,    21,   459,    21,   114,    21,    97,    97,    97,    97,
+      41,    25,   361,    52,   122,   360,    61,     3,    19,   395,
+     457,   372,   201,   431,     5,     6,    -1,    -1,    -1,    -1,
+      -1,   369,    -1,   371,    -1,    -1,   493,   375,    -1,    -1,
+      -1,    22,    -1,    24,    -1,    26,   384,   385,   386,   506,
+      -1,    -1,    -1,    -1,    -1,    -1,   513,    38,    39,    -1,
+     517,   518,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,   415,   416,    -1,
+      -1,    -1,    -1,    -1,    -1,   423,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,   432,    -1,    -1,    78,    79,    80,
+      81,    82,    83,    84,    85,    86,    87,    88,    89,    90,
+      91,    92,    93,    94,    95,    -1,    -1,    -1,    -1,    -1,
+     101,   459,   103,   104,   105,   106,    -1,   108,   109,   110,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,   118,    -1,    -1,
+     121,    -1,   123,    -1,    -1,   126,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,   493,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   506,    -1,
+      -1,    -1,    -1,    -1,    -1,   513,    -1,    -1,    -1,   517,
+     518,     5,     6,    -1,     8,     9,    10,    11,    12,    13,
+      14,    15,    16,    17,    18,    19,    20,    21,    22,    -1,
+      24,     5,     6,    -1,     8,     9,    10,    11,    12,    13,
+      14,    15,    16,    17,    18,    19,    20,    21,    22,    -1,
+      24,    -1,    -1,    -1,    48,    -1,    -1,    -1,    -1,    -1,
+      20,    -1,    22,    -1,    24,    -1,    -1,    -1,    -1,    -1,
+      -1,    31,    32,    33,    48,    -1,     3,     4,     5,     6,
+       7,    41,    42,    43,    44,    45,    46,    47,    -1,    -1,
+      50,    51,    -1,    -1,    -1,    22,    -1,    24,    58,    26,
+      27,    28,    62,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    38,    39,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,   115,    -1,    -1,   118,    -1,    -1,   121,    -1,   123,
+     124,    -1,    -1,    -1,    61,    -1,    -1,    -1,    -1,    -1,
+      -1,   115,    -1,    -1,   118,    -1,    -1,   121,    -1,   123,
+     124,    78,    79,    80,    81,    82,    83,    84,    85,    86,
+      87,    88,    89,    90,    91,    92,    93,    94,    95,    -1,
+      -1,    -1,    -1,    -1,   101,    -1,   103,   104,   105,   106,
+      -1,   108,   109,   110,     3,     4,    -1,    -1,     7,    -1,
+      -1,    -1,    -1,    -1,   121,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    26,    27,    28,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    38,
+      39,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    78,    79,    80,    81,    82,    83,
-      84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
-      -1,    -1,    -1,    -1,    -1,    99,    -1,   101,   102,   103,
-     104,    -1,   106,   107,   108,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,     5,     6,   119,     8,     9,    10,    11,
-      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
-      22,    -1,    24,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    37,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,     5,     6,    48,     8,     9,    10,
-      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
-      21,    22,    -1,    24,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    37,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    48,     5,     6,
-      -1,     8,     9,    10,    11,    12,    13,    14,    15,    16,
-      17,    18,    19,    20,    21,    22,    -1,    24,    -1,    -1,
-      -1,   113,    -1,    -1,   116,    -1,    -1,   119,    -1,   121,
-      37,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     5,
-       6,    48,     8,     9,    10,    11,    12,    13,    14,    15,
-      16,    17,    18,    19,    20,    21,    22,    -1,    24,    -1,
-      -1,    -1,   113,    -1,    -1,   116,    -1,    -1,   119,    -1,
-     121,    37,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-       5,     6,    48,     8,     9,    10,    11,    12,    13,    14,
+      -1,    -1,    61,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    78,
+      79,    80,    81,    82,    83,    84,    85,    86,    87,    88,
+      89,    90,    91,    92,    93,    94,    95,    -1,    -1,    -1,
+      -1,    -1,   101,    -1,   103,   104,   105,   106,    -1,   108,
+     109,   110,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       5,     6,   121,     8,     9,    10,    11,    12,    13,    14,
       15,    16,    17,    18,    19,    20,    21,    22,    -1,    24,
-      -1,    -1,    -1,    -1,    -1,    -1,   113,    -1,    -1,   116,
-      -1,    -1,   119,    -1,   121,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    37,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
       -1,     5,     6,    48,     8,     9,    10,    11,    12,    13,
       14,    15,    16,    17,    18,    19,    20,    21,    22,    -1,
-      24,    -1,    -1,    -1,    -1,    -1,    -1,   113,    -1,    -1,
-     116,    -1,    -1,   119,    -1,   121,    -1,    -1,    -1,    -1,
+      24,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    37,    -1,    -1,    -1,    -1,    -1,    -1,
       -1,    -1,     5,     6,    48,     8,     9,    10,    11,    12,
       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
-      -1,    24,    -1,    -1,    -1,    -1,    -1,    -1,   113,    -1,
-      -1,   116,    -1,    -1,   119,    -1,   121,    -1,    -1,    -1,
+      -1,    24,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+     115,    -1,    -1,   118,    -1,    -1,   121,    -1,   123,    -1,
       -1,    -1,    -1,     5,     6,    48,     8,     9,    10,    11,
       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
-      22,    -1,    24,    -1,    -1,    -1,    -1,    -1,    -1,   113,
-      -1,    -1,   116,    -1,    -1,   119,    -1,   121,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    48,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      22,    -1,    24,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,   115,    -1,    -1,   118,    37,    -1,   121,    -1,   123,
+      -1,    -1,    -1,    -1,     5,     6,    48,     8,     9,    10,
+      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
+      21,    22,    -1,    24,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,   115,    -1,    -1,   118,    37,   120,   121,    -1,
+     123,    -1,    -1,    -1,    -1,     5,     6,    48,     8,     9,
+      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
+      20,    21,    22,    -1,    24,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,   115,    -1,    -1,   118,    -1,    -1,   121,
+      -1,   123,    -1,    -1,    -1,    -1,     5,     6,    48,     8,
+       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
+      19,    20,    21,    22,    -1,    24,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,   115,    -1,    -1,   118,    -1,    -1,
+     121,    -1,   123,    -1,    -1,    -1,    -1,     5,     6,    48,
+       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
+      18,    19,    20,    21,    22,    -1,    24,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,   115,    -1,    -1,   118,    -1,
+      -1,   121,    -1,   123,    -1,    -1,    -1,    -1,     5,     6,
+      48,     8,     9,    10,    11,    12,    13,    14,    15,    16,
+      17,    18,    19,    20,    21,    22,    -1,    24,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,   115,    -1,    -1,   118,
+      -1,    -1,   121,    -1,   123,    -1,    -1,    -1,    -1,    -1,
+      -1,    48,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-     113,    -1,    -1,   116,    -1,    -1,   119,    -1,   121,    -1,
-      -1,    -1,    -1,    35,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    49,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    59,    60,    -1,
-      -1,   113,    -1,    -1,   116,    -1,    -1,   119,    -1,   121,
-      72,    73,    74,    75,    76,    77,    78,    79,    80,    81,
-      82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
-      92,    93,    94,    95,    96,    -1,    -1,    99,   100,   101,
-     102,   103,   104,   105,   106,   107,   108,   109,   110
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,   115,    -1,    -1,
+     118,    -1,    -1,   121,    -1,   123,    -1,    -1,    -1,    -1,
+      35,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    49,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    59,    60,    -1,    -1,   115,    -1,
+      -1,   118,    -1,    -1,   121,    -1,   123,    72,    73,    74,
+      75,    76,    77,    78,    79,    80,    81,    82,    83,    84,
+      85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
+      95,    96,    97,    98,    -1,    -1,   101,   102,   103,   104,
+     105,   106,   107,   108,   109,   110,   111,   112
 };
 
 /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
    symbol of state STATE-NUM.  */
 static const unsigned char yystos[] =
 {
-       0,   156,   157,   158,     0,    25,    31,    41,    42,    43,
-      44,    45,    46,    47,    62,   137,   175,   177,   179,   186,
-      22,    24,    51,    58,    62,   136,   168,   179,   180,    61,
-      64,    65,    66,    67,    68,    69,    70,   138,   173,    23,
-     187,   188,    30,   122,   176,   187,    52,    53,    54,    71,
-     165,   111,    61,    20,    45,    47,    50,   137,   111,    45,
-      47,   178,    24,   163,     4,     5,     6,     8,     9,    10,
+       0,   158,   159,   160,     0,    25,    31,    41,    42,    43,
+      44,    45,    46,    47,    62,   139,   177,   179,   181,   188,
+      22,    24,    51,    58,    62,   138,   170,   181,   182,    61,
+      64,    65,    66,    67,    68,    69,    70,   140,   175,    23,
+     189,   190,    30,   124,   178,   189,    52,    53,    54,    71,
+     167,   113,    61,    20,    45,    47,    50,   139,   113,    45,
+      47,   180,    24,   165,     4,     5,     6,     8,     9,    10,
       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
-      21,    48,   113,   116,   119,   121,   126,   145,   146,   147,
-     148,   149,   168,   183,    29,   121,   174,   136,   191,   111,
-     111,   111,   111,   116,   166,   163,   145,    32,    33,   155,
-     155,   155,   155,   173,     4,     4,     4,     8,   122,   149,
-     150,   168,   114,   123,    35,    49,    59,    60,    72,    73,
+      21,    48,   115,   118,   121,   123,   128,   147,   148,   149,
+     150,   151,   170,   185,    29,   123,   176,   138,   193,   113,
+     113,   113,   113,   118,   168,   165,   147,    32,    33,   157,
+     157,   157,   157,   175,     4,     4,     4,     8,   124,   151,
+     152,   170,   116,   125,    35,    49,    59,    60,    72,    73,
       74,    75,    76,    77,    78,    79,    80,    81,    82,    83,
       84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
-      94,    95,    96,    99,   100,   101,   102,   103,   104,   105,
-     106,   107,   108,   109,   110,   128,   129,   130,   131,   189,
-     195,   196,   198,   199,    24,    55,    56,   164,     4,    24,
-      24,   167,   147,   147,   147,     9,    10,    11,    12,    13,
-      14,    15,    16,    17,    18,    19,   132,   133,   135,   147,
-     152,   117,   117,   112,   122,   114,    37,   150,   151,   147,
-     185,    59,     8,   185,     9,    21,    10,    11,    12,    13,
-      14,    15,    16,    17,   132,   133,   134,   138,   147,   147,
-     185,   147,   147,   192,   185,   185,   185,   185,   185,   185,
-     185,   185,   147,   147,   147,   185,   138,    97,    98,   112,
-     118,   161,   162,   160,    27,    28,     3,     4,   127,     4,
-       7,    26,    38,    39,    99,   101,   102,   106,   107,   108,
-     116,   119,   121,   124,   128,   129,   130,   131,   153,   183,
-     159,   149,   149,   149,    37,   147,   170,   171,   172,   112,
-     115,     3,     4,     7,    26,    27,    28,    38,    39,    61,
-     119,   153,   182,   183,   184,   184,   184,   184,   145,   112,
-     140,   112,   140,   184,   116,   112,    36,   112,   112,   112,
-     112,   112,   112,   112,   184,   184,   184,   112,   145,   147,
-     185,    24,   112,   143,   143,   143,   114,   114,   114,   114,
-     114,   114,   118,   152,   154,   154,   122,   154,    24,   114,
-     114,   114,   114,   143,   118,   120,   168,   169,   112,   115,
-      37,    63,   181,   154,   112,   112,   184,    15,    57,    15,
-     112,   197,   184,   116,   147,   185,   147,   185,   185,   185,
-     147,   147,   112,   112,   112,   185,   184,   184,   112,    34,
-      57,   141,   144,   152,   152,   152,   152,   152,   152,   112,
-     118,   120,   122,   152,   152,   152,   152,    37,   170,   141,
-     142,    24,   120,    21,    21,   114,   184,     4,   184,   185,
-     193,   112,   184,   112,   112,   112,   184,   184,   184,   114,
-     147,    24,     4,   143,   197,    36,   112,   112,   112,   112,
-     152,   112,   112,   112,   112,    57,   139,   112,   184,   184,
-     193,   194,   112,   140,   140,   112,   184,   112,   185,   185,
-     185,   194,   184,   115,   147,   152,   152,   152,   152,   152,
-     152,   152,   152,     4,    24,   112,   116,   115,   185,   118,
-     184,   115,   115,   112,   115,   112,   112,   115,   115,   115,
-     115,    21,   118,   134,   190,    36,   118,   152,   152,   152,
-     184,   182,   118,   134,    21,   115,   115,   115,   112,   182,
-     184,    21,   112,    76,   184,    21,    21,   184,   184
+      94,    95,    96,    97,    98,   101,   102,   103,   104,   105,
+     106,   107,   108,   109,   110,   111,   112,   130,   131,   132,
+     133,   191,   197,   198,   200,   201,    24,    55,    56,   166,
+       4,    24,    24,   169,   149,   149,   149,     9,    10,    11,
+      12,    13,    14,    15,    16,    17,    18,    19,   134,   135,
+     137,   149,   154,   119,   119,   114,   124,   116,    37,   152,
+     153,   149,   187,    59,     8,   187,     9,    21,    10,    11,
+      12,    13,    14,    15,    16,    17,   134,   135,   136,   140,
+     149,   149,   187,   149,   149,   194,   187,   187,   187,   187,
+     187,   187,   187,   187,   149,   149,   149,   187,   140,    99,
+     100,   114,   120,   163,   164,   162,    27,    28,     3,     4,
+     129,     4,     7,    26,    38,    39,   101,   103,   104,   108,
+     109,   110,   118,   121,   123,   126,   130,   131,   132,   133,
+     155,   185,   161,   151,   151,   151,    37,   149,   172,   173,
+     174,   114,   117,     3,     4,     7,    26,    27,    28,    38,
+      39,    61,   121,   155,   184,   185,   186,   186,   186,   186,
+     147,   114,   142,   114,   142,   186,   118,   114,    36,   114,
+     114,   114,   114,   114,   114,   114,   186,   186,   186,   114,
+     147,   149,   187,    24,   114,   145,   145,   145,   116,   116,
+     116,   116,   116,   116,   120,   154,   156,   156,   124,   156,
+      24,   116,   116,   116,   116,   145,   120,   122,   170,   171,
+     114,   117,    37,    63,   183,   156,   114,   114,   186,    15,
+      57,    15,   114,   199,   186,   118,   149,   187,   149,   187,
+     187,   187,   149,   149,   114,   114,   114,   187,   186,   186,
+     114,    34,    57,   143,   146,   154,   154,   154,   154,   154,
+     154,   114,   120,   122,   124,   154,   154,   154,   154,    37,
+     172,   143,   144,    24,   122,    21,    21,   116,   186,     4,
+     186,   187,   195,   114,   186,   114,   114,   114,   186,   186,
+     186,   116,   149,    24,     4,   145,   199,    36,   114,   114,
+     114,   114,   154,   114,   114,   114,   114,    57,   141,   114,
+     186,   186,   195,   196,   114,   142,   142,   114,   186,   114,
+     187,   187,   187,   196,   186,   117,   149,   154,   154,   154,
+     154,   154,   154,   154,   154,     4,    24,   114,   118,   117,
+     187,   120,   186,   117,   117,   114,   117,   114,   114,   117,
+     117,   117,   117,    21,   120,   136,   192,    36,   120,   154,
+     154,   154,   186,   184,   120,   136,    21,   117,   117,   117,
+     114,   184,   186,    21,   114,    76,   186,    21,    21,   186,
+     186
 };
 
 #define yyerrok		(yyerrstatus = 0)
@@ -2987,7 +3014,7 @@
   switch (yyn)
     {
         case 3:
-#line 1135 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1140 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
   if ((yyvsp[0].UIntVal) > (uint32_t)INT32_MAX)     // Outside of my range!
     GEN_ERROR("Value too large for type!");
@@ -2997,7 +3024,7 @@
     break;
 
   case 5:
-#line 1144 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1149 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
   if ((yyvsp[0].UInt64Val) > (uint64_t)INT64_MAX)     // Outside of my range!
     GEN_ERROR("Value too large for type!");
@@ -3006,99 +3033,99 @@
 ;}
     break;
 
-  case 36:
-#line 1168 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 38:
+#line 1173 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.StrVal) = (yyvsp[-1].StrVal);
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 37:
-#line 1172 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 39:
+#line 1177 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.StrVal) = 0;
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 38:
-#line 1177 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 40:
+#line 1182 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.Linkage) = GlobalValue::InternalLinkage; ;}
     break;
 
-  case 39:
-#line 1178 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 41:
+#line 1183 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.Linkage) = GlobalValue::LinkOnceLinkage; ;}
     break;
 
-  case 40:
-#line 1179 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 42:
+#line 1184 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.Linkage) = GlobalValue::WeakLinkage; ;}
     break;
 
-  case 41:
-#line 1180 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 43:
+#line 1185 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.Linkage) = GlobalValue::AppendingLinkage; ;}
     break;
 
-  case 42:
-#line 1181 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 44:
+#line 1186 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.Linkage) = GlobalValue::DLLImportLinkage; ;}
     break;
 
-  case 43:
-#line 1182 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 45:
+#line 1187 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.Linkage) = GlobalValue::DLLExportLinkage; ;}
     break;
 
-  case 44:
-#line 1183 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 46:
+#line 1188 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.Linkage) = GlobalValue::ExternalWeakLinkage; ;}
     break;
 
-  case 45:
-#line 1184 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 47:
+#line 1189 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.Linkage) = GlobalValue::ExternalLinkage; ;}
     break;
 
-  case 46:
-#line 1186 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 48:
+#line 1191 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.UIntVal) = CallingConv::C; ;}
     break;
 
-  case 47:
-#line 1187 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 49:
+#line 1192 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.UIntVal) = CallingConv::C; ;}
     break;
 
-  case 48:
-#line 1188 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 50:
+#line 1193 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.UIntVal) = CallingConv::CSRet; ;}
     break;
 
-  case 49:
-#line 1189 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 51:
+#line 1194 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.UIntVal) = CallingConv::Fast; ;}
     break;
 
-  case 50:
-#line 1190 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 52:
+#line 1195 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.UIntVal) = CallingConv::Cold; ;}
     break;
 
-  case 51:
-#line 1191 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 53:
+#line 1196 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.UIntVal) = CallingConv::X86_StdCall; ;}
     break;
 
-  case 52:
-#line 1192 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 54:
+#line 1197 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.UIntVal) = CallingConv::X86_FastCall; ;}
     break;
 
-  case 53:
-#line 1193 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 55:
+#line 1198 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
                    if ((unsigned)(yyvsp[0].UInt64Val) != (yyvsp[0].UInt64Val))
                      GEN_ERROR("Calling conv too large!");
@@ -3107,13 +3134,13 @@
                  ;}
     break;
 
-  case 54:
-#line 1202 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 56:
+#line 1207 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.UIntVal) = 0; ;}
     break;
 
-  case 55:
-#line 1203 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 57:
+#line 1208 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
   (yyval.UIntVal) = (yyvsp[0].UInt64Val);
   if ((yyval.UIntVal) != 0 && !isPowerOf2_32((yyval.UIntVal)))
@@ -3122,13 +3149,13 @@
 ;}
     break;
 
-  case 56:
-#line 1209 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 58:
+#line 1214 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.UIntVal) = 0; ;}
     break;
 
-  case 57:
-#line 1210 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 59:
+#line 1215 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
   (yyval.UIntVal) = (yyvsp[0].UInt64Val);
   if ((yyval.UIntVal) != 0 && !isPowerOf2_32((yyval.UIntVal)))
@@ -3137,8 +3164,8 @@
 ;}
     break;
 
-  case 58:
-#line 1218 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 60:
+#line 1223 "/proj/llvm/llvm-4/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] == '\\')
@@ -3148,28 +3175,28 @@
 ;}
     break;
 
-  case 59:
-#line 1226 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 61:
+#line 1231 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.StrVal) = 0; ;}
     break;
 
-  case 60:
-#line 1227 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 62:
+#line 1232 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.StrVal) = (yyvsp[0].StrVal); ;}
     break;
 
-  case 61:
-#line 1232 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 63:
+#line 1237 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {;}
     break;
 
-  case 62:
-#line 1233 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 64:
+#line 1238 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {;}
     break;
 
-  case 63:
-#line 1234 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 65:
+#line 1239 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     CurGV->setSection((yyvsp[0].StrVal));
     free((yyvsp[0].StrVal));
@@ -3177,8 +3204,8 @@
   ;}
     break;
 
-  case 64:
-#line 1239 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 66:
+#line 1244 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     if ((yyvsp[0].UInt64Val) != 0 && !isPowerOf2_32((yyvsp[0].UInt64Val)))
       GEN_ERROR("Alignment must be a power of two!");
@@ -3187,18 +3214,18 @@
   ;}
     break;
 
-  case 66:
-#line 1253 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 68:
+#line 1258 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.TypeVal) = new PATypeHolder((yyvsp[0].PrimType)); ;}
     break;
 
-  case 68:
-#line 1254 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 70:
+#line 1259 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.TypeVal) = new PATypeHolder((yyvsp[0].PrimType)); ;}
     break;
 
-  case 69:
-#line 1256 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 71:
+#line 1261 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[0].TypeVal))->getDescription());
@@ -3207,24 +3234,24 @@
   ;}
     break;
 
-  case 83:
-#line 1268 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 85:
+#line 1273 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.TypeVal) = new PATypeHolder(OpaqueType::get());
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 84:
-#line 1272 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 86:
+#line 1277 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.TypeVal) = new PATypeHolder((yyvsp[0].PrimType));
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 85:
-#line 1276 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 87:
+#line 1281 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {            // Named types are also simple types...
   const Type* tmp = getTypeVal((yyvsp[0].ValIDVal));
   CHECK_FOR_ERROR
@@ -3232,8 +3259,8 @@
 ;}
     break;
 
-  case 86:
-#line 1284 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 88:
+#line 1289 "/proj/llvm/llvm-4/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
@@ -3244,8 +3271,8 @@
   ;}
     break;
 
-  case 87:
-#line 1292 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 89:
+#line 1297 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {           // Function derived type?
     std::vector<const Type*> Params;
     for (std::list<llvm::PATypeHolder>::iterator I = (yyvsp[-1].TypeList)->begin(),
@@ -3261,8 +3288,8 @@
   ;}
     break;
 
-  case 88:
-#line 1305 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 90:
+#line 1310 "/proj/llvm/llvm-4/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);
@@ -3270,8 +3297,8 @@
   ;}
     break;
 
-  case 89:
-#line 1310 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 91:
+#line 1315 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {          // Packed array type?
      const llvm::Type* ElemTy = (yyvsp[-1].TypeVal)->get();
      if ((unsigned)(yyvsp[-3].UInt64Val) != (yyvsp[-3].UInt64Val))
@@ -3286,8 +3313,8 @@
   ;}
     break;
 
-  case 90:
-#line 1322 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 92:
+#line 1327 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {                        // Structure type?
     std::vector<const Type*> Elements;
     for (std::list<llvm::PATypeHolder>::iterator I = (yyvsp[-1].TypeList)->begin(),
@@ -3300,16 +3327,16 @@
   ;}
     break;
 
-  case 91:
-#line 1332 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 93:
+#line 1337 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {                                  // Empty structure type?
     (yyval.TypeVal) = new PATypeHolder(StructType::get(std::vector<const Type*>()));
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 92:
-#line 1336 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 94:
+#line 1341 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {                             // Pointer type?
     if (*(yyvsp[-1].TypeVal) == Type::LabelTy)
       GEN_ERROR("Cannot form a pointer to a basic block");
@@ -3319,8 +3346,8 @@
   ;}
     break;
 
-  case 93:
-#line 1347 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 95:
+#line 1352 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.TypeList) = new std::list<PATypeHolder>();
     (yyval.TypeList)->push_back(*(yyvsp[0].TypeVal)); delete (yyvsp[0].TypeVal);
@@ -3328,40 +3355,40 @@
   ;}
     break;
 
-  case 94:
-#line 1352 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 96:
+#line 1357 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     ((yyval.TypeList)=(yyvsp[-2].TypeList))->push_back(*(yyvsp[0].TypeVal)); delete (yyvsp[0].TypeVal);
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 96:
-#line 1359 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 98:
+#line 1364 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     ((yyval.TypeList)=(yyvsp[-2].TypeList))->push_back(Type::VoidTy);
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 97:
-#line 1363 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 99:
+#line 1368 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     ((yyval.TypeList) = new std::list<PATypeHolder>())->push_back(Type::VoidTy);
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 98:
-#line 1367 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 100:
+#line 1372 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.TypeList) = new std::list<PATypeHolder>();
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 99:
-#line 1378 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 101:
+#line 1383 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { // Nonempty unsized arr
     const ArrayType *ATy = dyn_cast<ArrayType>((yyvsp[-3].TypeVal)->get());
     if (ATy == 0)
@@ -3390,8 +3417,8 @@
   ;}
     break;
 
-  case 100:
-#line 1404 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 102:
+#line 1409 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     const ArrayType *ATy = dyn_cast<ArrayType>((yyvsp[-2].TypeVal)->get());
     if (ATy == 0)
@@ -3408,8 +3435,8 @@
   ;}
     break;
 
-  case 101:
-#line 1418 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 103:
+#line 1423 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     const ArrayType *ATy = dyn_cast<ArrayType>((yyvsp[-2].TypeVal)->get());
     if (ATy == 0)
@@ -3442,8 +3469,8 @@
   ;}
     break;
 
-  case 102:
-#line 1448 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 104:
+#line 1453 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { // Nonempty unsized arr
     const PackedType *PTy = dyn_cast<PackedType>((yyvsp[-3].TypeVal)->get());
     if (PTy == 0)
@@ -3472,8 +3499,8 @@
   ;}
     break;
 
-  case 103:
-#line 1474 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 105:
+#line 1479 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     const StructType *STy = dyn_cast<StructType>((yyvsp[-3].TypeVal)->get());
     if (STy == 0)
@@ -3497,8 +3524,8 @@
   ;}
     break;
 
-  case 104:
-#line 1495 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 106:
+#line 1500 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     const StructType *STy = dyn_cast<StructType>((yyvsp[-2].TypeVal)->get());
     if (STy == 0)
@@ -3514,8 +3541,8 @@
   ;}
     break;
 
-  case 105:
-#line 1508 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 107:
+#line 1513 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     const PointerType *PTy = dyn_cast<PointerType>((yyvsp[-1].TypeVal)->get());
     if (PTy == 0)
@@ -3528,8 +3555,8 @@
   ;}
     break;
 
-  case 106:
-#line 1518 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 108:
+#line 1523 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ConstVal) = UndefValue::get((yyvsp[-1].TypeVal)->get());
     delete (yyvsp[-1].TypeVal);
@@ -3537,8 +3564,8 @@
   ;}
     break;
 
-  case 107:
-#line 1523 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 109:
+#line 1528 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     const PointerType *Ty = dyn_cast<PointerType>((yyvsp[-1].TypeVal)->get());
     if (Ty == 0)
@@ -3602,8 +3629,8 @@
   ;}
     break;
 
-  case 108:
-#line 1584 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 110:
+#line 1589 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     if ((yyvsp[-1].TypeVal)->get() != (yyvsp[0].ConstVal)->getType())
       GEN_ERROR("Mismatched types for constant expression!");
@@ -3613,8 +3640,8 @@
   ;}
     break;
 
-  case 109:
-#line 1591 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 111:
+#line 1596 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     const Type *Ty = (yyvsp[-1].TypeVal)->get();
     if (isa<FunctionType>(Ty) || Ty == Type::LabelTy || isa<OpaqueType>(Ty))
@@ -3625,8 +3652,8 @@
   ;}
     break;
 
-  case 110:
-#line 1600 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 112:
+#line 1605 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {      // integral constants
     if (!ConstantInt::isValueValidForType((yyvsp[-1].PrimType), (yyvsp[0].SInt64Val)))
       GEN_ERROR("Constant value doesn't fit in type!");
@@ -3635,8 +3662,8 @@
   ;}
     break;
 
-  case 111:
-#line 1606 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 113:
+#line 1611 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {            // integral constants
     if (!ConstantInt::isValueValidForType((yyvsp[-1].PrimType), (yyvsp[0].UInt64Val)))
       GEN_ERROR("Constant value doesn't fit in type!");
@@ -3645,24 +3672,24 @@
   ;}
     break;
 
-  case 112:
-#line 1612 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 114:
+#line 1617 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {                      // Boolean constants
     (yyval.ConstVal) = ConstantBool::getTrue();
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 113:
-#line 1616 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 115:
+#line 1621 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {                     // Boolean constants
     (yyval.ConstVal) = ConstantBool::getFalse();
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 114:
-#line 1620 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 116:
+#line 1625 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {                   // Float & Double constants
     if (!ConstantFP::isValueValidForType((yyvsp[-1].PrimType), (yyvsp[0].FPVal)))
       GEN_ERROR("Floating point constant invalid for type!!");
@@ -3671,8 +3698,8 @@
   ;}
     break;
 
-  case 115:
-#line 1628 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 117:
+#line 1633 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     if (!(yyvsp[-3].ConstVal)->getType()->isFirstClassType())
       GEN_ERROR("cast constant expression from a non-primitive type: '" +
@@ -3686,8 +3713,8 @@
   ;}
     break;
 
-  case 116:
-#line 1639 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 118:
+#line 1644 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     if (!isa<PointerType>((yyvsp[-2].ConstVal)->getType()))
       GEN_ERROR("GetElementPtr requires a pointer operand!");
@@ -3722,8 +3749,8 @@
   ;}
     break;
 
-  case 117:
-#line 1671 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 119:
+#line 1676 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     if ((yyvsp[-5].ConstVal)->getType() != Type::BoolTy)
       GEN_ERROR("Select condition must be of boolean type!");
@@ -3734,8 +3761,8 @@
   ;}
     break;
 
-  case 118:
-#line 1679 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 120:
+#line 1684 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     if ((yyvsp[-3].ConstVal)->getType() != (yyvsp[-1].ConstVal)->getType())
       GEN_ERROR("Binary operator types must match!");
@@ -3765,8 +3792,8 @@
   ;}
     break;
 
-  case 119:
-#line 1706 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 121:
+#line 1711 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     if ((yyvsp[-3].ConstVal)->getType() != (yyvsp[-1].ConstVal)->getType())
       GEN_ERROR("Logical operator types must match!");
@@ -3780,8 +3807,8 @@
   ;}
     break;
 
-  case 120:
-#line 1717 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 122:
+#line 1722 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     if ((yyvsp[-3].ConstVal)->getType() != (yyvsp[-1].ConstVal)->getType())
       GEN_ERROR("setcc operand types must match!");
@@ -3790,8 +3817,8 @@
   ;}
     break;
 
-  case 121:
-#line 1723 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 123:
+#line 1728 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     if ((yyvsp[-1].ConstVal)->getType() != Type::UByteTy)
       GEN_ERROR("Shift count for shift constant must be unsigned byte!");
@@ -3802,8 +3829,8 @@
   ;}
     break;
 
-  case 122:
-#line 1731 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 124:
+#line 1736 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     if (!ExtractElementInst::isValidOperands((yyvsp[-3].ConstVal), (yyvsp[-1].ConstVal)))
       GEN_ERROR("Invalid extractelement operands!");
@@ -3812,8 +3839,8 @@
   ;}
     break;
 
-  case 123:
-#line 1737 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 125:
+#line 1742 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     if (!InsertElementInst::isValidOperands((yyvsp[-5].ConstVal), (yyvsp[-3].ConstVal), (yyvsp[-1].ConstVal)))
       GEN_ERROR("Invalid insertelement operands!");
@@ -3822,8 +3849,8 @@
   ;}
     break;
 
-  case 124:
-#line 1743 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 126:
+#line 1748 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     if (!ShuffleVectorInst::isValidOperands((yyvsp[-5].ConstVal), (yyvsp[-3].ConstVal), (yyvsp[-1].ConstVal)))
       GEN_ERROR("Invalid shufflevector operands!");
@@ -3832,16 +3859,16 @@
   ;}
     break;
 
-  case 125:
-#line 1752 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 127:
+#line 1757 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     ((yyval.ConstVector) = (yyvsp[-2].ConstVector))->push_back((yyvsp[0].ConstVal));
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 126:
-#line 1756 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 128:
+#line 1761 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ConstVector) = new std::vector<Constant*>();
     (yyval.ConstVector)->push_back((yyvsp[0].ConstVal));
@@ -3849,18 +3876,18 @@
   ;}
     break;
 
-  case 127:
-#line 1764 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 129:
+#line 1769 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.BoolVal) = false; ;}
     break;
 
-  case 128:
-#line 1764 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 130:
+#line 1769 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.BoolVal) = true; ;}
     break;
 
-  case 129:
-#line 1774 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 131:
+#line 1779 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
   (yyval.ModuleVal) = ParserResult = (yyvsp[0].ModuleVal);
   CurModule.ModuleDone();
@@ -3868,8 +3895,8 @@
 ;}
     break;
 
-  case 130:
-#line 1782 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 132:
+#line 1787 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ModuleVal) = (yyvsp[-1].ModuleVal);
     CurFun.FunctionDone();
@@ -3877,32 +3904,32 @@
   ;}
     break;
 
-  case 131:
-#line 1787 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 133:
+#line 1792 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ModuleVal) = (yyvsp[-1].ModuleVal);
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 132:
-#line 1791 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 134:
+#line 1796 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ModuleVal) = (yyvsp[-3].ModuleVal);
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 133:
-#line 1795 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 135:
+#line 1800 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ModuleVal) = (yyvsp[-1].ModuleVal);
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 134:
-#line 1799 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 136:
+#line 1804 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ModuleVal) = CurModule.CurrentModule;
     // Emit an error if there are any unresolved types left.
@@ -3918,8 +3945,8 @@
   ;}
     break;
 
-  case 135:
-#line 1814 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 137:
+#line 1819 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     // Eagerly resolve types.  This is not an optimization, this is a
     // requirement that is due to the fact that we could have this:
@@ -3944,22 +3971,22 @@
   ;}
     break;
 
-  case 136:
-#line 1836 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 138:
+#line 1841 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {       // Function prototypes can be in const pool
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 137:
-#line 1839 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 139:
+#line 1844 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {  // Asm blocks can be in the const pool
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 138:
-#line 1842 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 140:
+#line 1847 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     if ((yyvsp[0].ConstVal) == 0) 
       GEN_ERROR("Global value initializer is not a constant!");
@@ -3968,15 +3995,15 @@
   ;}
     break;
 
-  case 139:
-#line 1847 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 141:
+#line 1852 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     CurGV = 0;
   ;}
     break;
 
-  case 140:
-#line 1850 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 142:
+#line 1855 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     CurGV = ParseGlobalVariable((yyvsp[-3].StrVal), GlobalValue::ExternalLinkage, (yyvsp[-1].BoolVal), *(yyvsp[0].TypeVal), 0);
     CHECK_FOR_ERROR
@@ -3984,16 +4011,16 @@
   ;}
     break;
 
-  case 141:
-#line 1854 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 143:
+#line 1859 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     CurGV = 0;
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 142:
-#line 1858 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 144:
+#line 1863 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     CurGV = ParseGlobalVariable((yyvsp[-3].StrVal), GlobalValue::DLLImportLinkage, (yyvsp[-1].BoolVal), *(yyvsp[0].TypeVal), 0);
     CHECK_FOR_ERROR
@@ -4001,16 +4028,16 @@
   ;}
     break;
 
-  case 143:
-#line 1862 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 145:
+#line 1867 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     CurGV = 0;
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 144:
-#line 1866 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 146:
+#line 1871 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     CurGV = 
       ParseGlobalVariable((yyvsp[-3].StrVal), GlobalValue::ExternalWeakLinkage, (yyvsp[-1].BoolVal), *(yyvsp[0].TypeVal), 0);
@@ -4019,36 +4046,36 @@
   ;}
     break;
 
-  case 145:
-#line 1871 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 147:
+#line 1876 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     CurGV = 0;
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 146:
-#line 1875 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 148:
+#line 1880 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { 
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 147:
-#line 1878 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 149:
+#line 1883 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 148:
-#line 1881 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 150:
+#line 1886 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { 
   ;}
     break;
 
-  case 149:
-#line 1885 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 151:
+#line 1890 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
   const std::string &AsmSoFar = CurModule.CurrentModule->getModuleInlineAsm();
   char *EndStr = UnEscapeLexed((yyvsp[0].StrVal), true);
@@ -4063,26 +4090,26 @@
 ;}
     break;
 
-  case 150:
-#line 1898 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 152:
+#line 1903 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.Endianness) = Module::BigEndian; ;}
     break;
 
-  case 151:
-#line 1899 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 153:
+#line 1904 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.Endianness) = Module::LittleEndian; ;}
     break;
 
-  case 152:
-#line 1901 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 154:
+#line 1906 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     CurModule.CurrentModule->setEndianness((yyvsp[0].Endianness));
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 153:
-#line 1905 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 155:
+#line 1910 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     if ((yyvsp[0].UInt64Val) == 32)
       CurModule.CurrentModule->setPointerSize(Module::Pointer32);
@@ -4094,24 +4121,24 @@
   ;}
     break;
 
-  case 154:
-#line 1914 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 156:
+#line 1919 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     CurModule.CurrentModule->setTargetTriple((yyvsp[0].StrVal));
     free((yyvsp[0].StrVal));
   ;}
     break;
 
-  case 155:
-#line 1918 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 157:
+#line 1923 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     CurModule.CurrentModule->setDataLayout((yyvsp[0].StrVal));
     free((yyvsp[0].StrVal));
   ;}
     break;
 
-  case 157:
-#line 1925 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 159:
+#line 1930 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
           CurModule.CurrentModule->addLibrary((yyvsp[0].StrVal));
           free((yyvsp[0].StrVal));
@@ -4119,8 +4146,8 @@
         ;}
     break;
 
-  case 158:
-#line 1930 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 160:
+#line 1935 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
           CurModule.CurrentModule->addLibrary((yyvsp[0].StrVal));
           free((yyvsp[0].StrVal));
@@ -4128,20 +4155,20 @@
         ;}
     break;
 
-  case 159:
-#line 1935 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 161:
+#line 1940 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
           CHECK_FOR_ERROR
         ;}
     break;
 
-  case 163:
-#line 1945 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 165:
+#line 1950 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.StrVal) = 0; ;}
     break;
 
-  case 164:
-#line 1947 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 166:
+#line 1952 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
   if (*(yyvsp[-1].TypeVal) == Type::VoidTy)
     GEN_ERROR("void typed arguments are invalid!");
@@ -4150,8 +4177,8 @@
 ;}
     break;
 
-  case 165:
-#line 1954 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 167:
+#line 1959 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ArgList) = (yyvsp[-2].ArgList);
     (yyvsp[-2].ArgList)->push_back(*(yyvsp[0].ArgVal));
@@ -4160,8 +4187,8 @@
   ;}
     break;
 
-  case 166:
-#line 1960 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 168:
+#line 1965 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ArgList) = new std::vector<std::pair<PATypeHolder*,char*> >();
     (yyval.ArgList)->push_back(*(yyvsp[0].ArgVal));
@@ -4170,16 +4197,16 @@
   ;}
     break;
 
-  case 167:
-#line 1967 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 169:
+#line 1972 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ArgList) = (yyvsp[0].ArgList);
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 168:
-#line 1971 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 170:
+#line 1976 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ArgList) = (yyvsp[-2].ArgList);
     (yyval.ArgList)->push_back(std::pair<PATypeHolder*,
@@ -4188,8 +4215,8 @@
   ;}
     break;
 
-  case 169:
-#line 1977 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 171:
+#line 1982 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ArgList) = new std::vector<std::pair<PATypeHolder*,char*> >();
     (yyval.ArgList)->push_back(std::make_pair(new PATypeHolder(Type::VoidTy), (char*)0));
@@ -4197,16 +4224,16 @@
   ;}
     break;
 
-  case 170:
-#line 1982 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 172:
+#line 1987 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ArgList) = 0;
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 171:
-#line 1988 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 173:
+#line 1993 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
   UnEscapeLexed((yyvsp[-5].StrVal));
   std::string FunctionName((yyvsp[-5].StrVal));
@@ -4302,8 +4329,8 @@
 ;}
     break;
 
-  case 174:
-#line 2084 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 176:
+#line 2089 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
   (yyval.FunctionVal) = CurFun.CurrentFunction;
 
@@ -4313,31 +4340,31 @@
 ;}
     break;
 
-  case 177:
-#line 2094 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 179:
+#line 2099 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
   (yyval.FunctionVal) = (yyvsp[-1].FunctionVal);
   CHECK_FOR_ERROR
 ;}
     break;
 
-  case 179:
-#line 2100 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 181:
+#line 2105 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { CurFun.Linkage = GlobalValue::DLLImportLinkage ;}
     break;
 
-  case 180:
-#line 2101 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 182:
+#line 2106 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { CurFun.Linkage = GlobalValue::DLLImportLinkage ;}
     break;
 
-  case 181:
-#line 2103 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 183:
+#line 2108 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { CurFun.isDeclare = true; ;}
     break;
 
-  case 182:
-#line 2103 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 184:
+#line 2108 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.FunctionVal) = CurFun.CurrentFunction;
     CurFun.FunctionDone();
@@ -4345,88 +4372,88 @@
   ;}
     break;
 
-  case 183:
-#line 2113 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 185:
+#line 2118 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.BoolVal) = false;
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 184:
-#line 2117 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 186:
+#line 2122 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.BoolVal) = true;
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 185:
-#line 2122 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 187:
+#line 2127 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {    // A reference to a direct constant
     (yyval.ValIDVal) = ValID::create((yyvsp[0].SInt64Val));
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 186:
-#line 2126 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 188:
+#line 2131 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ValIDVal) = ValID::create((yyvsp[0].UInt64Val));
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 187:
-#line 2130 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 189:
+#line 2135 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {                     // Perhaps it's an FP constant?
     (yyval.ValIDVal) = ValID::create((yyvsp[0].FPVal));
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 188:
-#line 2134 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 190:
+#line 2139 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ValIDVal) = ValID::create(ConstantBool::getTrue());
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 189:
-#line 2138 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 191:
+#line 2143 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ValIDVal) = ValID::create(ConstantBool::getFalse());
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 190:
-#line 2142 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 192:
+#line 2147 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ValIDVal) = ValID::createNull();
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 191:
-#line 2146 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 193:
+#line 2151 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ValIDVal) = ValID::createUndef();
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 192:
-#line 2150 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 194:
+#line 2155 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {     // A vector zero constant.
     (yyval.ValIDVal) = ValID::createZeroInit();
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 193:
-#line 2154 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 195:
+#line 2159 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { // Nonempty unsized packed vector
     const Type *ETy = (*(yyvsp[-1].ConstVector))[0]->getType();
     int NumElements = (yyvsp[-1].ConstVector)->size(); 
@@ -4454,16 +4481,16 @@
   ;}
     break;
 
-  case 194:
-#line 2179 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 196:
+#line 2184 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ValIDVal) = ValID::create((yyvsp[0].ConstVal));
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 195:
-#line 2183 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 197:
+#line 2188 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     char *End = UnEscapeLexed((yyvsp[-2].StrVal), true);
     std::string AsmStr = std::string((yyvsp[-2].StrVal), End);
@@ -4476,48 +4503,48 @@
   ;}
     break;
 
-  case 196:
-#line 2197 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 198:
+#line 2202 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {  // Is it an integer reference...?
     (yyval.ValIDVal) = ValID::create((yyvsp[0].SIntVal));
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 197:
-#line 2201 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 199:
+#line 2206 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {                   // Is it a named reference...?
     (yyval.ValIDVal) = ValID::create((yyvsp[0].StrVal));
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 200:
-#line 2213 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 202:
+#line 2218 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ValueVal) = getVal(*(yyvsp[-1].TypeVal), (yyvsp[0].ValIDVal)); delete (yyvsp[-1].TypeVal);
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 201:
-#line 2218 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 203:
+#line 2223 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.FunctionVal) = (yyvsp[-1].FunctionVal);
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 202:
-#line 2222 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 204:
+#line 2227 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { // Do not allow functions with 0 basic blocks   
     (yyval.FunctionVal) = (yyvsp[-1].FunctionVal);
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 203:
-#line 2231 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 205:
+#line 2236 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     setValueName((yyvsp[0].TermInstVal), (yyvsp[-1].StrVal));
     CHECK_FOR_ERROR
@@ -4530,8 +4557,8 @@
   ;}
     break;
 
-  case 204:
-#line 2242 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 206:
+#line 2247 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyvsp[-1].BasicBlockVal)->getInstList().push_back((yyvsp[0].InstVal));
     (yyval.BasicBlockVal) = (yyvsp[-1].BasicBlockVal);
@@ -4539,8 +4566,8 @@
   ;}
     break;
 
-  case 205:
-#line 2247 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 207:
+#line 2252 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.BasicBlockVal) = CurBB = getBBVal(ValID::create((int)CurFun.NextBBNum++), true);
     CHECK_FOR_ERROR
@@ -4555,8 +4582,8 @@
   ;}
     break;
 
-  case 206:
-#line 2259 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 208:
+#line 2264 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.BasicBlockVal) = CurBB = getBBVal(ValID::create((yyvsp[0].StrVal)), true);
     CHECK_FOR_ERROR
@@ -4571,24 +4598,24 @@
   ;}
     break;
 
-  case 207:
-#line 2272 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 209:
+#line 2277 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {              // Return with a result...
     (yyval.TermInstVal) = new ReturnInst((yyvsp[0].ValueVal));
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 208:
-#line 2276 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 210:
+#line 2281 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {                                       // Return with no result...
     (yyval.TermInstVal) = new ReturnInst();
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 209:
-#line 2280 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 211:
+#line 2285 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {                         // Unconditional Branch...
     BasicBlock* tmpBB = getBBVal((yyvsp[0].ValIDVal));
     CHECK_FOR_ERROR
@@ -4596,8 +4623,8 @@
   ;}
     break;
 
-  case 210:
-#line 2285 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 212:
+#line 2290 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {  
     BasicBlock* tmpBBA = getBBVal((yyvsp[-3].ValIDVal));
     CHECK_FOR_ERROR
@@ -4609,8 +4636,8 @@
   ;}
     break;
 
-  case 211:
-#line 2294 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 213:
+#line 2299 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     Value* tmpVal = getVal((yyvsp[-7].PrimType), (yyvsp[-6].ValIDVal));
     CHECK_FOR_ERROR
@@ -4632,8 +4659,8 @@
   ;}
     break;
 
-  case 212:
-#line 2313 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 214:
+#line 2318 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     Value* tmpVal = getVal((yyvsp[-6].PrimType), (yyvsp[-5].ValIDVal));
     CHECK_FOR_ERROR
@@ -4645,8 +4672,8 @@
   ;}
     break;
 
-  case 213:
-#line 2323 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 215:
+#line 2328 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     const PointerType *PFTy;
     const FunctionType *Ty;
@@ -4704,24 +4731,24 @@
   ;}
     break;
 
-  case 214:
-#line 2378 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 216:
+#line 2383 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.TermInstVal) = new UnwindInst();
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 215:
-#line 2382 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 217:
+#line 2387 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.TermInstVal) = new UnreachableInst();
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 216:
-#line 2389 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 218:
+#line 2394 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.JumpTable) = (yyvsp[-5].JumpTable);
     Constant *V = cast<Constant>(getValNonImprovising((yyvsp[-4].PrimType), (yyvsp[-3].ValIDVal)));
@@ -4735,8 +4762,8 @@
   ;}
     break;
 
-  case 217:
-#line 2400 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 219:
+#line 2405 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.JumpTable) = new std::vector<std::pair<Constant*, BasicBlock*> >();
     Constant *V = cast<Constant>(getValNonImprovising((yyvsp[-4].PrimType), (yyvsp[-3].ValIDVal)));
@@ -4751,8 +4778,8 @@
   ;}
     break;
 
-  case 218:
-#line 2413 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 220:
+#line 2418 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
   // Is this definition named?? if so, assign the name...
   setValueName((yyvsp[0].InstVal), (yyvsp[-1].StrVal));
@@ -4763,8 +4790,8 @@
 ;}
     break;
 
-  case 219:
-#line 2422 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 221:
+#line 2427 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {    // Used for PHI nodes
     (yyval.PHIList) = new std::list<std::pair<Value*, BasicBlock*> >();
     Value* tmpVal = getVal(*(yyvsp[-5].TypeVal), (yyvsp[-3].ValIDVal));
@@ -4776,8 +4803,8 @@
   ;}
     break;
 
-  case 220:
-#line 2431 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 222:
+#line 2436 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.PHIList) = (yyvsp[-6].PHIList);
     Value* tmpVal = getVal((yyvsp[-6].PHIList)->front().first->getType(), (yyvsp[-3].ValIDVal));
@@ -4788,16 +4815,16 @@
   ;}
     break;
 
-  case 221:
-#line 2441 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 223:
+#line 2446 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {    // Used for call statements, and memory insts...
     (yyval.ValueList) = new std::vector<Value*>();
     (yyval.ValueList)->push_back((yyvsp[0].ValueVal));
   ;}
     break;
 
-  case 222:
-#line 2445 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 224:
+#line 2450 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ValueList) = (yyvsp[-2].ValueList);
     (yyvsp[-2].ValueList)->push_back((yyvsp[0].ValueVal));
@@ -4805,36 +4832,39 @@
   ;}
     break;
 
-  case 224:
-#line 2452 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 226:
+#line 2457 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.ValueList) = 0; ;}
     break;
 
-  case 225:
-#line 2454 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 227:
+#line 2459 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.BoolVal) = true;
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 226:
-#line 2458 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 228:
+#line 2463 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.BoolVal) = false;
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 227:
-#line 2463 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 229:
+#line 2468 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     if (!(*(yyvsp[-3].TypeVal))->isInteger() && !(*(yyvsp[-3].TypeVal))->isFloatingPoint() && 
         !isa<PackedType>((*(yyvsp[-3].TypeVal)).get()))
       GEN_ERROR(
         "Arithmetic operator requires integer, FP, or packed operands!");
-    if (isa<PackedType>((*(yyvsp[-3].TypeVal)).get()) && (yyvsp[-4].BinaryOpVal).opcode == Instruction::Rem)
-      GEN_ERROR("Rem not supported on packed types!");
+    if (isa<PackedType>((*(yyvsp[-3].TypeVal)).get()) && 
+        ((yyvsp[-4].BinaryOpVal).opcode == Instruction::URem || 
+         (yyvsp[-4].BinaryOpVal).opcode == Instruction::SRem ||
+         (yyvsp[-4].BinaryOpVal).opcode == Instruction::FRem))
+      GEN_ERROR("U/S/FRem not supported on packed types!");
     // Upgrade the opcode from obsolete versions before we do anything with it.
     sanitizeOpCode((yyvsp[-4].BinaryOpVal),*(yyvsp[-3].TypeVal));
     CHECK_FOR_ERROR;
@@ -4849,8 +4879,8 @@
   ;}
     break;
 
-  case 228:
-#line 2482 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 230:
+#line 2490 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     if (!(*(yyvsp[-3].TypeVal))->isIntegral()) {
       if (!isa<PackedType>((yyvsp[-3].TypeVal)->get()) ||
@@ -4868,8 +4898,8 @@
   ;}
     break;
 
-  case 229:
-#line 2497 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 231:
+#line 2505 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     if(isa<PackedType>((*(yyvsp[-3].TypeVal)).get())) {
       GEN_ERROR(
@@ -4886,8 +4916,8 @@
   ;}
     break;
 
-  case 230:
-#line 2511 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 232:
+#line 2519 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     std::cerr << "WARNING: Use of eliminated 'not' instruction:"
               << " Replacing with 'xor'.\n";
@@ -4903,8 +4933,8 @@
   ;}
     break;
 
-  case 231:
-#line 2524 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 233:
+#line 2532 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     if ((yyvsp[0].ValueVal)->getType() != Type::UByteTy)
       GEN_ERROR("Shift amount must be ubyte!");
@@ -4915,8 +4945,8 @@
   ;}
     break;
 
-  case 232:
-#line 2532 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 234:
+#line 2540 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     if (!(yyvsp[0].TypeVal)->get()->isFirstClassType())
       GEN_ERROR("cast instruction to a non-primitive type: '" +
@@ -4927,8 +4957,8 @@
   ;}
     break;
 
-  case 233:
-#line 2540 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 235:
+#line 2548 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     if ((yyvsp[-4].ValueVal)->getType() != Type::BoolTy)
       GEN_ERROR("select condition must be boolean!");
@@ -4939,8 +4969,8 @@
   ;}
     break;
 
-  case 234:
-#line 2548 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 236:
+#line 2556 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     NewVarArgs = true;
     (yyval.InstVal) = new VAArgInst((yyvsp[-2].ValueVal), *(yyvsp[0].TypeVal));
@@ -4949,8 +4979,8 @@
   ;}
     break;
 
-  case 235:
-#line 2554 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 237:
+#line 2562 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     ObsoleteVarArgs = true;
     const Type* ArgTy = (yyvsp[-2].ValueVal)->getType();
@@ -4973,8 +5003,8 @@
   ;}
     break;
 
-  case 236:
-#line 2574 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 238:
+#line 2582 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     ObsoleteVarArgs = true;
     const Type* ArgTy = (yyvsp[-2].ValueVal)->getType();
@@ -5000,8 +5030,8 @@
   ;}
     break;
 
-  case 237:
-#line 2597 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 239:
+#line 2605 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     if (!ExtractElementInst::isValidOperands((yyvsp[-2].ValueVal), (yyvsp[0].ValueVal)))
       GEN_ERROR("Invalid extractelement operands!");
@@ -5010,8 +5040,8 @@
   ;}
     break;
 
-  case 238:
-#line 2603 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 240:
+#line 2611 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     if (!InsertElementInst::isValidOperands((yyvsp[-4].ValueVal), (yyvsp[-2].ValueVal), (yyvsp[0].ValueVal)))
       GEN_ERROR("Invalid insertelement operands!");
@@ -5020,8 +5050,8 @@
   ;}
     break;
 
-  case 239:
-#line 2609 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 241:
+#line 2617 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     if (!ShuffleVectorInst::isValidOperands((yyvsp[-4].ValueVal), (yyvsp[-2].ValueVal), (yyvsp[0].ValueVal)))
       GEN_ERROR("Invalid shufflevector operands!");
@@ -5030,8 +5060,8 @@
   ;}
     break;
 
-  case 240:
-#line 2615 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 242:
+#line 2623 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     const Type *Ty = (yyvsp[0].PHIList)->front().first->getType();
     if (!Ty->isFirstClassType())
@@ -5049,8 +5079,8 @@
   ;}
     break;
 
-  case 241:
-#line 2630 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 243:
+#line 2638 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     const PointerType *PFTy;
     const FunctionType *Ty;
@@ -5112,48 +5142,48 @@
   ;}
     break;
 
-  case 242:
-#line 2689 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 244:
+#line 2697 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.InstVal) = (yyvsp[0].InstVal);
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 243:
-#line 2696 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 245:
+#line 2704 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { 
     (yyval.ValueList) = (yyvsp[0].ValueList); 
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 244:
-#line 2699 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 246:
+#line 2707 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { 
     (yyval.ValueList) = new std::vector<Value*>(); 
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 245:
-#line 2704 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 247:
+#line 2712 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.BoolVal) = true;
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 246:
-#line 2708 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 248:
+#line 2716 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.BoolVal) = false;
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 247:
-#line 2715 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 249:
+#line 2723 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.InstVal) = new MallocInst(*(yyvsp[-1].TypeVal), 0, (yyvsp[0].UIntVal));
     delete (yyvsp[-1].TypeVal);
@@ -5161,8 +5191,8 @@
   ;}
     break;
 
-  case 248:
-#line 2720 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 250:
+#line 2728 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     Value* tmpVal = getVal((yyvsp[-2].PrimType), (yyvsp[-1].ValIDVal));
     CHECK_FOR_ERROR
@@ -5171,8 +5201,8 @@
   ;}
     break;
 
-  case 249:
-#line 2726 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 251:
+#line 2734 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.InstVal) = new AllocaInst(*(yyvsp[-1].TypeVal), 0, (yyvsp[0].UIntVal));
     delete (yyvsp[-1].TypeVal);
@@ -5180,8 +5210,8 @@
   ;}
     break;
 
-  case 250:
-#line 2731 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 252:
+#line 2739 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     Value* tmpVal = getVal((yyvsp[-2].PrimType), (yyvsp[-1].ValIDVal));
     CHECK_FOR_ERROR
@@ -5190,8 +5220,8 @@
   ;}
     break;
 
-  case 251:
-#line 2737 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 253:
+#line 2745 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     if (!isa<PointerType>((yyvsp[0].ValueVal)->getType()))
       GEN_ERROR("Trying to free nonpointer type " + 
@@ -5201,8 +5231,8 @@
   ;}
     break;
 
-  case 252:
-#line 2745 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 254:
+#line 2753 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     if (!isa<PointerType>((yyvsp[-1].TypeVal)->get()))
       GEN_ERROR("Can't load from nonpointer type: " +
@@ -5217,8 +5247,8 @@
   ;}
     break;
 
-  case 253:
-#line 2757 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 255:
+#line 2765 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     const PointerType *PT = dyn_cast<PointerType>((yyvsp[-1].TypeVal)->get());
     if (!PT)
@@ -5236,8 +5266,8 @@
   ;}
     break;
 
-  case 254:
-#line 2772 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 256:
+#line 2780 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     if (!isa<PointerType>((yyvsp[-2].TypeVal)->get()))
       GEN_ERROR("getelementptr insn requires pointer operand!");
@@ -5269,7 +5299,7 @@
     }
 
 /* Line 1126 of yacc.c.  */
-#line 5273 "llvmAsmParser.tab.c"
+#line 5303 "llvmAsmParser.tab.c"
 
   yyvsp -= yylen;
   yyssp -= yylen;
@@ -5537,7 +5567,7 @@
 }
 
 
-#line 2798 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2806 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
 
 
 void llvm::GenerateError(const std::string &message, int LineNo) {


Index: llvm/lib/AsmParser/llvmAsmParser.h.cvs
diff -u llvm/lib/AsmParser/llvmAsmParser.h.cvs:1.17 llvm/lib/AsmParser/llvmAsmParser.h.cvs:1.18
--- llvm/lib/AsmParser/llvmAsmParser.h.cvs:1.17	Thu Oct 26 01:15:43 2006
+++ llvm/lib/AsmParser/llvmAsmParser.h.cvs	Thu Nov  2 14:25:49 2006
@@ -110,33 +110,35 @@
      UDIV = 336,
      SDIV = 337,
      FDIV = 338,
-     REM = 339,
-     AND = 340,
-     OR = 341,
-     XOR = 342,
-     SETLE = 343,
-     SETGE = 344,
-     SETLT = 345,
-     SETGT = 346,
-     SETEQ = 347,
-     SETNE = 348,
-     MALLOC = 349,
-     ALLOCA = 350,
-     FREE = 351,
-     LOAD = 352,
-     STORE = 353,
-     GETELEMENTPTR = 354,
-     PHI_TOK = 355,
-     CAST = 356,
-     SELECT = 357,
-     SHL = 358,
-     SHR = 359,
-     VAARG = 360,
-     EXTRACTELEMENT = 361,
-     INSERTELEMENT = 362,
-     SHUFFLEVECTOR = 363,
-     VAARG_old = 364,
-     VANEXT_old = 365
+     UREM = 339,
+     SREM = 340,
+     FREM = 341,
+     AND = 342,
+     OR = 343,
+     XOR = 344,
+     SETLE = 345,
+     SETGE = 346,
+     SETLT = 347,
+     SETGT = 348,
+     SETEQ = 349,
+     SETNE = 350,
+     MALLOC = 351,
+     ALLOCA = 352,
+     FREE = 353,
+     LOAD = 354,
+     STORE = 355,
+     GETELEMENTPTR = 356,
+     PHI_TOK = 357,
+     CAST = 358,
+     SELECT = 359,
+     SHL = 360,
+     SHR = 361,
+     VAARG = 362,
+     EXTRACTELEMENT = 363,
+     INSERTELEMENT = 364,
+     SHUFFLEVECTOR = 365,
+     VAARG_old = 366,
+     VANEXT_old = 367
    };
 #endif
 /* Tokens.  */
@@ -221,39 +223,41 @@
 #define UDIV 336
 #define SDIV 337
 #define FDIV 338
-#define REM 339
-#define AND 340
-#define OR 341
-#define XOR 342
-#define SETLE 343
-#define SETGE 344
-#define SETLT 345
-#define SETGT 346
-#define SETEQ 347
-#define SETNE 348
-#define MALLOC 349
-#define ALLOCA 350
-#define FREE 351
-#define LOAD 352
-#define STORE 353
-#define GETELEMENTPTR 354
-#define PHI_TOK 355
-#define CAST 356
-#define SELECT 357
-#define SHL 358
-#define SHR 359
-#define VAARG 360
-#define EXTRACTELEMENT 361
-#define INSERTELEMENT 362
-#define SHUFFLEVECTOR 363
-#define VAARG_old 364
-#define VANEXT_old 365
+#define UREM 339
+#define SREM 340
+#define FREM 341
+#define AND 342
+#define OR 343
+#define XOR 344
+#define SETLE 345
+#define SETGE 346
+#define SETLT 347
+#define SETGT 348
+#define SETEQ 349
+#define SETNE 350
+#define MALLOC 351
+#define ALLOCA 352
+#define FREE 353
+#define LOAD 354
+#define STORE 355
+#define GETELEMENTPTR 356
+#define PHI_TOK 357
+#define CAST 358
+#define SELECT 359
+#define SHL 360
+#define SHR 361
+#define VAARG 362
+#define EXTRACTELEMENT 363
+#define INSERTELEMENT 364
+#define SHUFFLEVECTOR 365
+#define VAARG_old 366
+#define VANEXT_old 367
 
 
 
 
 #if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED)
-#line 1011 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1016 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
 typedef union YYSTYPE {
   llvm::Module                           *ModuleVal;
   llvm::Function                         *FunctionVal;
@@ -294,7 +298,7 @@
   llvm::Module::Endianness          Endianness;
 } YYSTYPE;
 /* Line 1447 of yacc.c.  */
-#line 298 "llvmAsmParser.tab.h"
+#line 302 "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.23 llvm/lib/AsmParser/llvmAsmParser.y.cvs:1.24
--- llvm/lib/AsmParser/llvmAsmParser.y.cvs:1.23	Thu Oct 26 01:15:43 2006
+++ llvm/lib/AsmParser/llvmAsmParser.y.cvs	Thu Nov  2 14:25:49 2006
@@ -836,7 +836,7 @@
   // Depending on the opcode ..
   switch (OI.opcode) {
     default:
-      GenerateError("Invalid Obsolete OpCode");
+      GenerateError("Invalid obsolete opCode (check Lexer.l)");
       break;
     case Instruction::UDiv:
       // Handle cases where the opcode needs to change
@@ -845,12 +845,17 @@
       else if (Ty->isSigned())
         OI.opcode = Instruction::SDiv;
       break;
+    case Instruction::URem:
+      if (Ty->isFloatingPoint()) 
+        OI.opcode = Instruction::FRem;
+      else if (Ty->isSigned())
+        OI.opcode = Instruction::SRem;
+      break;
   }
   // Its not obsolete any more, we fixed it.
   OI.obsolete = false;
 }
-
-
+  
 // common code from the two 'RunVMAsmParser' functions
 static Module* RunParser(Module * M) {
 
@@ -1113,7 +1118,7 @@
 
 // Binary Operators
 %type  <BinaryOpVal> ArithmeticOps LogicalOps SetCondOps // Binops Subcatagories
-%token <BinaryOpVal> ADD SUB MUL UDIV SDIV FDIV REM AND OR XOR
+%token <BinaryOpVal> ADD SUB MUL UDIV SDIV FDIV UREM SREM FREM AND OR XOR
 %token <BinaryOpVal> SETLE SETGE SETLT SETGT SETEQ SETNE  // Binary Comparators
 
 // Memory Instructions
@@ -1151,7 +1156,7 @@
 // Operations that are notably excluded from this list include:
 // RET, BR, & SWITCH because they end basic blocks and are treated specially.
 //
-ArithmeticOps: ADD | SUB | MUL | UDIV | SDIV | FDIV | REM ;
+ArithmeticOps: ADD | SUB | MUL | UDIV | SDIV | FDIV | UREM | SREM | FREM;
 LogicalOps   : AND | OR | XOR;
 SetCondOps   : SETLE | SETGE | SETLT | SETGT | SETEQ | SETNE;
 
@@ -2465,8 +2470,11 @@
         !isa<PackedType>((*$2).get()))
       GEN_ERROR(
         "Arithmetic operator requires integer, FP, or packed operands!");
-    if (isa<PackedType>((*$2).get()) && $1.opcode == Instruction::Rem)
-      GEN_ERROR("Rem not supported on packed types!");
+    if (isa<PackedType>((*$2).get()) && 
+        ($1.opcode == Instruction::URem || 
+         $1.opcode == Instruction::SRem ||
+         $1.opcode == Instruction::FRem))
+      GEN_ERROR("U/S/FRem not supported on packed types!");
     // Upgrade the opcode from obsolete versions before we do anything with it.
     sanitizeOpCode($1,*$2);
     CHECK_FOR_ERROR;






More information about the llvm-commits mailing list