Rename method

llvm-svn: 25571
diff --git a/llvm/lib/AsmParser/llvmAsmParser.cpp b/llvm/lib/AsmParser/llvmAsmParser.cpp
index 9eee49d..6f814b4 100644
--- a/llvm/lib/AsmParser/llvmAsmParser.cpp
+++ b/llvm/lib/AsmParser/llvmAsmParser.cpp
@@ -67,46 +67,47 @@
 #define	CALL	310
 #define	TAIL	311
 #define	ASM_TOK	312
-#define	CC_TOK	313
-#define	CCC_TOK	314
-#define	FASTCC_TOK	315
-#define	COLDCC_TOK	316
-#define	RET	317
-#define	BR	318
-#define	SWITCH	319
-#define	INVOKE	320
-#define	UNWIND	321
-#define	UNREACHABLE	322
-#define	ADD	323
-#define	SUB	324
-#define	MUL	325
-#define	DIV	326
-#define	REM	327
-#define	AND	328
-#define	OR	329
-#define	XOR	330
-#define	SETLE	331
-#define	SETGE	332
-#define	SETLT	333
-#define	SETGT	334
-#define	SETEQ	335
-#define	SETNE	336
-#define	MALLOC	337
-#define	ALLOCA	338
-#define	FREE	339
-#define	LOAD	340
-#define	STORE	341
-#define	GETELEMENTPTR	342
-#define	PHI_TOK	343
-#define	CAST	344
-#define	SELECT	345
-#define	SHL	346
-#define	SHR	347
-#define	VAARG	348
-#define	EXTRACTELEMENT	349
-#define	INSERTELEMENT	350
-#define	VAARG_old	351
-#define	VANEXT_old	352
+#define	MODULE	313
+#define	CC_TOK	314
+#define	CCC_TOK	315
+#define	FASTCC_TOK	316
+#define	COLDCC_TOK	317
+#define	RET	318
+#define	BR	319
+#define	SWITCH	320
+#define	INVOKE	321
+#define	UNWIND	322
+#define	UNREACHABLE	323
+#define	ADD	324
+#define	SUB	325
+#define	MUL	326
+#define	DIV	327
+#define	REM	328
+#define	AND	329
+#define	OR	330
+#define	XOR	331
+#define	SETLE	332
+#define	SETGE	333
+#define	SETLT	334
+#define	SETGT	335
+#define	SETEQ	336
+#define	SETNE	337
+#define	MALLOC	338
+#define	ALLOCA	339
+#define	FREE	340
+#define	LOAD	341
+#define	STORE	342
+#define	GETELEMENTPTR	343
+#define	PHI_TOK	344
+#define	CAST	345
+#define	SELECT	346
+#define	SHL	347
+#define	SHR	348
+#define	VAARG	349
+#define	EXTRACTELEMENT	350
+#define	INSERTELEMENT	351
+#define	VAARG_old	352
+#define	VANEXT_old	353
 
 #line 14 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 
@@ -1022,26 +1023,26 @@
 
 
 
-#define	YYFINAL		465
+#define	YYFINAL		467
 #define	YYFLAG		-32768
-#define	YYNTBASE	113
+#define	YYNTBASE	114
 
-#define YYTRANSLATE(x) ((unsigned)(x) <= 352 ? yytranslate[x] : 183)
+#define YYTRANSLATE(x) ((unsigned)(x) <= 353 ? yytranslate[x] : 184)
 
 static const char yytranslate[] = {     0,
      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,     2,     2,     2,     2,     2,   102,
-   103,   111,     2,   100,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,   107,
-    99,   108,     2,     2,     2,     2,     2,     2,     2,     2,
+     2,     2,     2,     2,     2,     2,     2,     2,     2,   103,
+   104,   112,     2,   101,     2,     2,     2,     2,     2,     2,
+     2,     2,     2,     2,     2,     2,     2,     2,     2,   108,
+   100,   109,     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,
-   104,   101,   106,     2,     2,     2,     2,     2,   112,     2,
+   105,   102,   107,     2,     2,     2,     2,     2,   113,     2,
      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,   105,
-     2,     2,   109,     2,   110,     2,     2,     2,     2,     2,
+     2,     2,     2,     2,     2,     2,     2,     2,     2,   106,
+     2,     2,   110,     2,   111,     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,     2,
@@ -1064,7 +1065,7 @@
     67,    68,    69,    70,    71,    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
+    97,    98,    99
 };
 
 #if YYDEBUG != 0
@@ -1081,95 +1082,96 @@
    204,   208,   212,   217,   222,   226,   229,   232,   235,   238,
    241,   244,   247,   250,   253,   256,   263,   269,   278,   285,
    292,   299,   306,   313,   317,   319,   321,   323,   325,   328,
-   331,   335,   338,   340,   345,   348,   352,   353,   361,   362,
-   370,   374,   379,   380,   382,   384,   386,   390,   394,   398,
-   402,   406,   408,   409,   411,   413,   415,   416,   419,   423,
-   425,   427,   431,   433,   434,   443,   445,   447,   451,   453,
-   455,   458,   459,   463,   465,   467,   469,   471,   473,   475,
-   477,   479,   483,   485,   487,   489,   491,   493,   496,   499,
-   502,   506,   509,   510,   512,   515,   518,   522,   532,   542,
-   551,   565,   567,   569,   576,   582,   585,   592,   600,   602,
-   606,   608,   609,   612,   614,   620,   626,   632,   635,   640,
-   645,   652,   657,   662,   667,   672,   679,   682,   690,   692,
-   695,   696,   698,   699,   703,   710,   714,   721,   724,   729,
-   736
+   331,   336,   339,   341,   346,   349,   354,   355,   363,   364,
+   372,   376,   381,   382,   384,   386,   388,   392,   396,   400,
+   404,   408,   410,   411,   413,   415,   417,   418,   421,   425,
+   427,   429,   433,   435,   436,   445,   447,   449,   453,   455,
+   457,   460,   461,   465,   467,   469,   471,   473,   475,   477,
+   479,   481,   485,   487,   489,   491,   493,   495,   498,   501,
+   504,   508,   511,   512,   514,   517,   520,   524,   534,   544,
+   553,   567,   569,   571,   578,   584,   587,   594,   602,   604,
+   608,   610,   611,   614,   616,   622,   628,   634,   637,   642,
+   647,   654,   659,   664,   669,   674,   681,   684,   692,   694,
+   697,   698,   700,   701,   705,   712,   716,   723,   726,   731,
+   738
 };
 
 static const short yyrhs[] = {     5,
-     0,     6,     0,     3,     0,     4,     0,    69,     0,    70,
-     0,    71,     0,    72,     0,    73,     0,    74,     0,    75,
-     0,    76,     0,    77,     0,    78,     0,    79,     0,    80,
-     0,    81,     0,    82,     0,    92,     0,    93,     0,    16,
+     0,     6,     0,     3,     0,     4,     0,    70,     0,    71,
+     0,    72,     0,    73,     0,    74,     0,    75,     0,    76,
+     0,    77,     0,    78,     0,    79,     0,    80,     0,    81,
+     0,    82,     0,    83,     0,    93,     0,    94,     0,    16,
      0,    14,     0,    12,     0,    10,     0,    17,     0,    15,
-     0,    13,     0,    11,     0,   119,     0,   120,     0,    18,
-     0,    19,     0,   153,    99,     0,     0,    41,     0,    42,
-     0,    43,     0,    44,     0,     0,     0,    60,     0,    61,
-     0,    62,     0,    59,     4,     0,     0,    54,     4,     0,
-     0,   100,    54,     4,     0,    34,    24,     0,     0,   128,
-     0,     0,   100,   131,   130,     0,   128,     0,    54,     4,
-     0,   134,     0,     8,     0,   136,     0,     8,     0,   136,
+     0,    13,     0,    11,     0,   120,     0,   121,     0,    18,
+     0,    19,     0,   154,   100,     0,     0,    41,     0,    42,
+     0,    43,     0,    44,     0,     0,     0,    61,     0,    62,
+     0,    63,     0,    60,     4,     0,     0,    54,     4,     0,
+     0,   101,    54,     4,     0,    34,    24,     0,     0,   129,
+     0,     0,   101,   132,   131,     0,   129,     0,    54,     4,
+     0,   135,     0,     8,     0,   137,     0,     8,     0,   137,
      0,     9,     0,    10,     0,    11,     0,    12,     0,    13,
      0,    14,     0,    15,     0,    16,     0,    17,     0,    18,
-     0,    19,     0,    20,     0,    21,     0,    45,     0,   135,
-     0,   166,     0,   101,     4,     0,   133,   102,   138,   103,
-     0,   104,     4,   105,   136,   106,     0,   107,     4,   105,
-   136,   108,     0,   109,   137,   110,     0,   109,   110,     0,
-   136,   111,     0,   136,     0,   137,   100,   136,     0,   137,
-     0,   137,   100,    37,     0,    37,     0,     0,   134,   104,
-   141,   106,     0,   134,   104,   106,     0,   134,   112,    24,
-     0,   134,   107,   141,   108,     0,   134,   109,   141,   110,
-     0,   134,   109,   110,     0,   134,    38,     0,   134,    39,
-     0,   134,   166,     0,   134,   140,     0,   134,    26,     0,
-   119,   114,     0,   120,     4,     0,     9,    27,     0,     9,
-    28,     0,   122,     7,     0,    90,   102,   139,    36,   134,
-   103,     0,    88,   102,   139,   180,   103,     0,    91,   102,
-   139,   100,   139,   100,   139,   103,     0,   115,   102,   139,
-   100,   139,   103,     0,   116,   102,   139,   100,   139,   103,
-     0,   117,   102,   139,   100,   139,   103,     0,   118,   102,
-   139,   100,   139,   103,     0,    95,   102,   139,   100,   139,
-   103,     0,   141,   100,   139,     0,   139,     0,    32,     0,
-    33,     0,   144,     0,   144,   162,     0,   144,   163,     0,
-   144,    58,   148,     0,   144,    25,     0,   145,     0,   145,
-   123,    20,   132,     0,   145,   163,     0,   145,    58,   148,
-     0,     0,   145,   123,   124,   142,   139,   146,   130,     0,
-     0,   145,   123,    47,   142,   134,   147,   130,     0,   145,
-    48,   150,     0,   145,    55,    99,   151,     0,     0,    24,
-     0,    53,     0,    52,     0,    50,    99,   149,     0,    51,
-    99,     4,     0,    49,    99,    24,     0,   104,   152,   106,
-     0,   152,   100,    24,     0,    24,     0,     0,    22,     0,
-    24,     0,   153,     0,     0,   134,   154,     0,   156,   100,
-   155,     0,   155,     0,   156,     0,   156,   100,    37,     0,
-    37,     0,     0,   125,   132,   153,   102,   157,   103,   129,
-   126,     0,    29,     0,   109,     0,   124,   158,   159,     0,
-    30,     0,   110,     0,   169,   161,     0,     0,    31,   164,
-   158,     0,     3,     0,     4,     0,     7,     0,    27,     0,
-    28,     0,    38,     0,    39,     0,    26,     0,   107,   141,
-   108,     0,   140,     0,   113,     0,   153,     0,   166,     0,
-   165,     0,   134,   167,     0,   169,   170,     0,   160,   170,
-     0,   171,   123,   172,     0,   171,   174,     0,     0,    23,
-     0,    63,   168,     0,    63,     8,     0,    64,    21,   167,
-     0,    64,     9,   167,   100,    21,   167,   100,    21,   167,
-     0,    65,   121,   167,   100,    21,   167,   104,   173,   106,
-     0,    65,   121,   167,   100,    21,   167,   104,   106,     0,
-    66,   125,   132,   167,   102,   177,   103,    36,    21,   167,
-    67,    21,   167,     0,    67,     0,    68,     0,   173,   121,
-   165,   100,    21,   167,     0,   121,   165,   100,    21,   167,
-     0,   123,   179,     0,   134,   104,   167,   100,   167,   106,
-     0,   175,   100,   104,   167,   100,   167,   106,     0,   168,
-     0,   176,   100,   168,     0,   176,     0,     0,    57,    56,
-     0,    56,     0,   115,   134,   167,   100,   167,     0,   116,
-   134,   167,   100,   167,     0,   117,   134,   167,   100,   167,
-     0,    46,   168,     0,   118,   168,   100,   168,     0,    90,
-   168,    36,   134,     0,    91,   168,   100,   168,   100,   168,
-     0,    94,   168,   100,   134,     0,    97,   168,   100,   134,
-     0,    98,   168,   100,   134,     0,    95,   168,   100,   168,
-     0,    96,   168,   100,   168,   100,   168,     0,    89,   175,
-     0,   178,   125,   132,   167,   102,   177,   103,     0,   182,
-     0,   100,   176,     0,     0,    35,     0,     0,    83,   134,
-   127,     0,    83,   134,   100,    15,   167,   127,     0,    84,
-   134,   127,     0,    84,   134,   100,    15,   167,   127,     0,
-    85,   168,     0,   181,    86,   134,   167,     0,   181,    87,
-   168,   100,   134,   167,     0,    88,   134,   167,   180,     0
+     0,    19,     0,    20,     0,    21,     0,    45,     0,   136,
+     0,   167,     0,   102,     4,     0,   134,   103,   139,   104,
+     0,   105,     4,   106,   137,   107,     0,   108,     4,   106,
+   137,   109,     0,   110,   138,   111,     0,   110,   111,     0,
+   137,   112,     0,   137,     0,   138,   101,   137,     0,   138,
+     0,   138,   101,    37,     0,    37,     0,     0,   135,   105,
+   142,   107,     0,   135,   105,   107,     0,   135,   113,    24,
+     0,   135,   108,   142,   109,     0,   135,   110,   142,   111,
+     0,   135,   110,   111,     0,   135,    38,     0,   135,    39,
+     0,   135,   167,     0,   135,   141,     0,   135,    26,     0,
+   120,   115,     0,   121,     4,     0,     9,    27,     0,     9,
+    28,     0,   123,     7,     0,    91,   103,   140,    36,   135,
+   104,     0,    89,   103,   140,   181,   104,     0,    92,   103,
+   140,   101,   140,   101,   140,   104,     0,   116,   103,   140,
+   101,   140,   104,     0,   117,   103,   140,   101,   140,   104,
+     0,   118,   103,   140,   101,   140,   104,     0,   119,   103,
+   140,   101,   140,   104,     0,    96,   103,   140,   101,   140,
+   104,     0,   142,   101,   140,     0,   140,     0,    32,     0,
+    33,     0,   145,     0,   145,   163,     0,   145,   164,     0,
+   145,    59,    58,   149,     0,   145,    25,     0,   146,     0,
+   146,   124,    20,   133,     0,   146,   164,     0,   146,    59,
+    58,   149,     0,     0,   146,   124,   125,   143,   140,   147,
+   131,     0,     0,   146,   124,    47,   143,   135,   148,   131,
+     0,   146,    48,   151,     0,   146,    55,   100,   152,     0,
+     0,    24,     0,    53,     0,    52,     0,    50,   100,   150,
+     0,    51,   100,     4,     0,    49,   100,    24,     0,   105,
+   153,   107,     0,   153,   101,    24,     0,    24,     0,     0,
+    22,     0,    24,     0,   154,     0,     0,   135,   155,     0,
+   157,   101,   156,     0,   156,     0,   157,     0,   157,   101,
+    37,     0,    37,     0,     0,   126,   133,   154,   103,   158,
+   104,   130,   127,     0,    29,     0,   110,     0,   125,   159,
+   160,     0,    30,     0,   111,     0,   170,   162,     0,     0,
+    31,   165,   159,     0,     3,     0,     4,     0,     7,     0,
+    27,     0,    28,     0,    38,     0,    39,     0,    26,     0,
+   108,   142,   109,     0,   141,     0,   114,     0,   154,     0,
+   167,     0,   166,     0,   135,   168,     0,   170,   171,     0,
+   161,   171,     0,   172,   124,   173,     0,   172,   175,     0,
+     0,    23,     0,    64,   169,     0,    64,     8,     0,    65,
+    21,   168,     0,    65,     9,   168,   101,    21,   168,   101,
+    21,   168,     0,    66,   122,   168,   101,    21,   168,   105,
+   174,   107,     0,    66,   122,   168,   101,    21,   168,   105,
+   107,     0,    67,   126,   133,   168,   103,   178,   104,    36,
+    21,   168,    68,    21,   168,     0,    68,     0,    69,     0,
+   174,   122,   166,   101,    21,   168,     0,   122,   166,   101,
+    21,   168,     0,   124,   180,     0,   135,   105,   168,   101,
+   168,   107,     0,   176,   101,   105,   168,   101,   168,   107,
+     0,   169,     0,   177,   101,   169,     0,   177,     0,     0,
+    57,    56,     0,    56,     0,   116,   135,   168,   101,   168,
+     0,   117,   135,   168,   101,   168,     0,   118,   135,   168,
+   101,   168,     0,    46,   169,     0,   119,   169,   101,   169,
+     0,    91,   169,    36,   135,     0,    92,   169,   101,   169,
+   101,   169,     0,    95,   169,   101,   135,     0,    98,   169,
+   101,   135,     0,    99,   169,   101,   135,     0,    96,   169,
+   101,   169,     0,    97,   169,   101,   169,   101,   169,     0,
+    90,   176,     0,   179,   126,   133,   168,   103,   178,   104,
+     0,   183,     0,   101,   177,     0,     0,    35,     0,     0,
+    84,   135,   128,     0,    84,   135,   101,    15,   168,   128,
+     0,    85,   135,   128,     0,    85,   135,   101,    15,   168,
+   128,     0,    86,   169,     0,   182,    87,   135,   168,     0,
+   182,    88,   169,   101,   135,   168,     0,    89,   135,   168,
+   181,     0
 };
 
 #endif
@@ -1185,21 +1187,21 @@
   1112,  1112,  1112,  1112,  1112,  1112,  1112,  1113,  1113,  1113,
   1113,  1113,  1113,  1114,  1117,  1120,  1126,  1133,  1145,  1149,
   1160,  1169,  1172,  1180,  1184,  1189,  1190,  1193,  1196,  1206,
-  1231,  1244,  1272,  1297,  1317,  1329,  1338,  1342,  1401,  1407,
-  1415,  1420,  1425,  1428,  1431,  1438,  1448,  1479,  1486,  1507,
-  1517,  1522,  1529,  1539,  1542,  1549,  1549,  1559,  1566,  1570,
-  1573,  1576,  1579,  1592,  1612,  1614,  1616,  1619,  1622,  1626,
-  1629,  1631,  1633,  1637,  1646,  1647,  1649,  1652,  1660,  1665,
-  1667,  1671,  1675,  1683,  1683,  1684,  1684,  1686,  1692,  1697,
-  1703,  1706,  1711,  1715,  1719,  1805,  1805,  1807,  1815,  1815,
-  1817,  1821,  1821,  1830,  1833,  1836,  1839,  1842,  1845,  1848,
-  1851,  1854,  1878,  1885,  1888,  1893,  1893,  1899,  1903,  1906,
-  1914,  1923,  1927,  1937,  1948,  1951,  1954,  1957,  1960,  1974,
-  1978,  2031,  2034,  2040,  2048,  2058,  2065,  2070,  2077,  2081,
-  2087,  2087,  2089,  2092,  2098,  2110,  2121,  2131,  2143,  2150,
-  2157,  2164,  2169,  2188,  2210,  2218,  2230,  2244,  2301,  2307,
-  2309,  2313,  2316,  2322,  2326,  2330,  2334,  2338,  2345,  2355,
-  2368
+  1231,  1244,  1273,  1298,  1318,  1330,  1339,  1343,  1402,  1408,
+  1416,  1421,  1426,  1429,  1432,  1439,  1449,  1480,  1487,  1508,
+  1518,  1523,  1530,  1540,  1543,  1550,  1550,  1560,  1567,  1571,
+  1574,  1577,  1580,  1593,  1613,  1615,  1617,  1620,  1623,  1627,
+  1630,  1632,  1634,  1638,  1650,  1651,  1653,  1656,  1664,  1669,
+  1671,  1675,  1679,  1687,  1687,  1688,  1688,  1690,  1696,  1701,
+  1707,  1710,  1715,  1719,  1723,  1809,  1809,  1811,  1819,  1819,
+  1821,  1825,  1825,  1834,  1837,  1840,  1843,  1846,  1849,  1852,
+  1855,  1858,  1882,  1889,  1892,  1897,  1897,  1903,  1907,  1910,
+  1918,  1927,  1931,  1941,  1952,  1955,  1958,  1961,  1964,  1978,
+  1982,  2035,  2038,  2044,  2052,  2062,  2069,  2074,  2081,  2085,
+  2091,  2091,  2093,  2096,  2102,  2114,  2125,  2135,  2147,  2154,
+  2161,  2168,  2173,  2192,  2214,  2222,  2234,  2248,  2305,  2311,
+  2313,  2317,  2320,  2326,  2330,  2334,  2338,  2342,  2349,  2359,
+  2372
 };
 #endif
 
@@ -1213,18 +1215,18 @@
 "BEGINTOK","ENDTOK","DECLARE","GLOBAL","CONSTANT","SECTION","VOLATILE","TO",
 "DOTDOTDOT","NULL_TOK","UNDEF","CONST","INTERNAL","LINKONCE","WEAK","APPENDING",
 "OPAQUE","NOT","EXTERNAL","TARGET","TRIPLE","ENDIAN","POINTERSIZE","LITTLE",
-"BIG","ALIGN","DEPLIBS","CALL","TAIL","ASM_TOK","CC_TOK","CCC_TOK","FASTCC_TOK",
-"COLDCC_TOK","RET","BR","SWITCH","INVOKE","UNWIND","UNREACHABLE","ADD","SUB",
-"MUL","DIV","REM","AND","OR","XOR","SETLE","SETGE","SETLT","SETGT","SETEQ","SETNE",
-"MALLOC","ALLOCA","FREE","LOAD","STORE","GETELEMENTPTR","PHI_TOK","CAST","SELECT",
-"SHL","SHR","VAARG","EXTRACTELEMENT","INSERTELEMENT","VAARG_old","VANEXT_old",
-"'='","','","'\\\\'","'('","')'","'['","'x'","']'","'<'","'>'","'{'","'}'","'*'",
-"'c'","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","AsmBlock","BigOrLittle","TargetDefinition","LibrariesDefinition",
+"BIG","ALIGN","DEPLIBS","CALL","TAIL","ASM_TOK","MODULE","CC_TOK","CCC_TOK",
+"FASTCC_TOK","COLDCC_TOK","RET","BR","SWITCH","INVOKE","UNWIND","UNREACHABLE",
+"ADD","SUB","MUL","DIV","REM","AND","OR","XOR","SETLE","SETGE","SETLT","SETGT",
+"SETEQ","SETNE","MALLOC","ALLOCA","FREE","LOAD","STORE","GETELEMENTPTR","PHI_TOK",
+"CAST","SELECT","SHL","SHR","VAARG","EXTRACTELEMENT","INSERTELEMENT","VAARG_old",
+"VANEXT_old","'='","','","'\\\\'","'('","')'","'['","'x'","']'","'<'","'>'",
+"'{'","'}'","'*'","'c'","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","AsmBlock","BigOrLittle","TargetDefinition","LibrariesDefinition",
 "LibList","Name","OptName","ArgVal","ArgListH","ArgList","FunctionHeaderH","BEGIN",
 "FunctionHeader","END","Function","FunctionProto","@3","ConstValueRef","SymbolicValueRef",
 "ValueRef","ResolvedVal","BasicBlockList","BasicBlock","InstructionList","BBTerminatorInst",
@@ -1234,30 +1236,30 @@
 #endif
 
 static const short yyr1[] = {     0,
-   113,   113,   114,   114,   115,   115,   115,   115,   115,   116,
-   116,   116,   117,   117,   117,   117,   117,   117,   118,   118,
-   119,   119,   119,   119,   120,   120,   120,   120,   121,   121,
-   122,   122,   123,   123,   124,   124,   124,   124,   124,   125,
-   125,   125,   125,   125,   126,   126,   127,   127,   128,   129,
-   129,   130,   130,   131,   131,   132,   132,   133,   133,   134,
-   135,   135,   135,   135,   135,   135,   135,   135,   135,   135,
-   135,   135,   135,   136,   136,   136,   136,   136,   136,   136,
-   136,   136,   136,   137,   137,   138,   138,   138,   138,   139,
-   139,   139,   139,   139,   139,   139,   139,   139,   139,   139,
-   139,   139,   139,   139,   139,   140,   140,   140,   140,   140,
-   140,   140,   140,   141,   141,   142,   142,   143,   144,   144,
-   144,   144,   144,   145,   145,   145,   146,   145,   147,   145,
-   145,   145,   145,   148,   149,   149,   150,   150,   150,   151,
-   152,   152,   152,   153,   153,   154,   154,   155,   156,   156,
-   157,   157,   157,   157,   158,   159,   159,   160,   161,   161,
-   162,   164,   163,   165,   165,   165,   165,   165,   165,   165,
-   165,   165,   165,   166,   166,   167,   167,   168,   169,   169,
-   170,   171,   171,   171,   172,   172,   172,   172,   172,   172,
-   172,   172,   172,   173,   173,   174,   175,   175,   176,   176,
-   177,   177,   178,   178,   179,   179,   179,   179,   179,   179,
-   179,   179,   179,   179,   179,   179,   179,   179,   179,   180,
-   180,   181,   181,   182,   182,   182,   182,   182,   182,   182,
-   182
+   114,   114,   115,   115,   116,   116,   116,   116,   116,   117,
+   117,   117,   118,   118,   118,   118,   118,   118,   119,   119,
+   120,   120,   120,   120,   121,   121,   121,   121,   122,   122,
+   123,   123,   124,   124,   125,   125,   125,   125,   125,   126,
+   126,   126,   126,   126,   127,   127,   128,   128,   129,   130,
+   130,   131,   131,   132,   132,   133,   133,   134,   134,   135,
+   136,   136,   136,   136,   136,   136,   136,   136,   136,   136,
+   136,   136,   136,   137,   137,   137,   137,   137,   137,   137,
+   137,   137,   137,   138,   138,   139,   139,   139,   139,   140,
+   140,   140,   140,   140,   140,   140,   140,   140,   140,   140,
+   140,   140,   140,   140,   140,   141,   141,   141,   141,   141,
+   141,   141,   141,   142,   142,   143,   143,   144,   145,   145,
+   145,   145,   145,   146,   146,   146,   147,   146,   148,   146,
+   146,   146,   146,   149,   150,   150,   151,   151,   151,   152,
+   153,   153,   153,   154,   154,   155,   155,   156,   157,   157,
+   158,   158,   158,   158,   159,   160,   160,   161,   162,   162,
+   163,   165,   164,   166,   166,   166,   166,   166,   166,   166,
+   166,   166,   166,   167,   167,   168,   168,   169,   170,   170,
+   171,   172,   172,   172,   173,   173,   173,   173,   173,   173,
+   173,   173,   173,   174,   174,   175,   176,   176,   177,   177,
+   178,   178,   179,   179,   180,   180,   180,   180,   180,   180,
+   180,   180,   180,   180,   180,   180,   180,   180,   180,   181,
+   181,   182,   182,   183,   183,   183,   183,   183,   183,   183,
+   183
 };
 
 static const short yyr2[] = {     0,
@@ -1273,7 +1275,7 @@
      3,     3,     4,     4,     3,     2,     2,     2,     2,     2,
      2,     2,     2,     2,     2,     6,     5,     8,     6,     6,
      6,     6,     6,     3,     1,     1,     1,     1,     2,     2,
-     3,     2,     1,     4,     2,     3,     0,     7,     0,     7,
+     4,     2,     1,     4,     2,     4,     0,     7,     0,     7,
      3,     4,     0,     1,     1,     1,     3,     3,     3,     3,
      3,     1,     0,     1,     1,     1,     0,     2,     3,     1,
      1,     3,     1,     0,     8,     1,     1,     3,     1,     1,
@@ -1290,371 +1292,395 @@
 static const short yydefact[] = {   133,
     39,   123,   122,   162,    35,    36,    37,    38,     0,    40,
    183,   119,   120,   183,   144,   145,     0,     0,     0,    39,
-     0,   125,    40,   134,   121,     0,    41,    42,    43,     0,
-     0,   184,   180,    34,   159,   160,   161,   179,     0,     0,
-     0,   131,     0,   126,     0,     0,     0,    33,   163,    44,
-     1,     2,    57,    61,    62,    63,    64,    65,    66,    67,
-    68,    69,    70,    71,    72,    73,    74,     0,     0,     0,
-     0,   174,     0,     0,    56,    75,    60,   175,    76,   156,
-   157,   158,   223,   182,     0,     0,     0,   143,   132,   124,
-   116,   117,     0,     0,    77,     0,     0,    59,    82,    84,
-     0,     0,    89,    83,   222,     0,   204,     0,     0,     0,
-     0,    40,   192,   193,     5,     6,     7,     8,     9,    10,
-    11,    12,    13,    14,    15,    16,    17,    18,     0,     0,
-     0,     0,     0,     0,     0,    19,    20,     0,     0,     0,
-     0,     0,     0,     0,     0,     0,   181,    40,   196,     0,
-   219,   139,   136,   135,   137,   138,   142,     0,   129,    61,
-    62,    63,    64,    65,    66,    67,    68,    69,    70,    71,
-     0,     0,     0,     0,   127,     0,     0,     0,    81,   154,
-    88,    86,     0,     0,   208,   203,   186,   185,     0,     0,
-    24,    28,    23,    27,    22,    26,    21,    25,    29,    30,
-     0,     0,    47,    47,   228,     0,     0,   217,     0,     0,
+     0,   125,    40,     0,     0,    41,    42,    43,     0,     0,
+   184,   180,    34,   159,   160,   161,   179,     0,     0,     0,
+   131,     0,     0,     0,     0,     0,    33,   163,   134,   121,
+    44,     1,     2,    57,    61,    62,    63,    64,    65,    66,
+    67,    68,    69,    70,    71,    72,    73,    74,     0,     0,
+     0,     0,   174,     0,     0,    56,    75,    60,   175,    76,
+   156,   157,   158,   223,   182,     0,     0,     0,   143,   132,
+   126,   124,   116,   117,     0,     0,    77,     0,     0,    59,
+    82,    84,     0,     0,    89,    83,   222,     0,   204,     0,
+     0,     0,     0,    40,   192,   193,     5,     6,     7,     8,
+     9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
+     0,     0,     0,     0,     0,     0,     0,    19,    20,     0,
+     0,     0,     0,     0,     0,     0,     0,     0,   181,    40,
+   196,     0,   219,   139,   136,   135,   137,   138,   142,     0,
+   129,    61,    62,    63,    64,    65,    66,    67,    68,    69,
+    70,    71,     0,     0,     0,     0,   127,     0,     0,     0,
+    81,   154,    88,    86,     0,     0,   208,   203,   186,   185,
+     0,     0,    24,    28,    23,    27,    22,    26,    21,    25,
+    29,    30,     0,     0,    47,    47,   228,     0,     0,   217,
      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-     0,     0,     0,   140,    52,   103,   104,     3,     4,   101,
-   102,   105,   100,    96,    97,     0,     0,     0,     0,     0,
-     0,     0,     0,     0,     0,     0,     0,    99,    98,    52,
-    58,    58,    85,   153,   147,   150,   151,     0,     0,    78,
-   164,   165,   166,   171,   167,   168,   169,   170,     0,   173,
-   177,   176,   178,     0,   187,     0,     0,     0,   224,     0,
-   226,   221,     0,     0,     0,     0,     0,     0,     0,     0,
-     0,     0,     0,     0,     0,     0,     0,     0,   141,     0,
-   130,     0,     0,     0,     0,    91,   115,     0,     0,    95,
-     0,    92,     0,     0,     0,     0,   128,    79,    80,   146,
-   148,     0,    50,    87,     0,     0,     0,     0,     0,     0,
-     0,     0,   231,     0,     0,   210,     0,   212,   215,     0,
-   213,   214,     0,     0,     0,   209,     0,   229,     0,     0,
-     0,    54,    52,   221,     0,     0,     0,     0,    90,    93,
-    94,     0,     0,     0,     0,   152,   149,    51,    45,   172,
-     0,     0,   202,    47,    48,    47,   199,   220,     0,     0,
-     0,     0,   205,   206,   207,   202,     0,    49,    55,    53,
-     0,     0,     0,     0,   114,     0,     0,     0,     0,     0,
-   155,     0,     0,   201,     0,     0,   225,   227,     0,     0,
-     0,   211,   216,     0,   230,   107,     0,     0,     0,     0,
-     0,     0,     0,    46,     0,     0,     0,   200,   197,     0,
-   218,   106,     0,   113,   109,   110,   111,   112,     0,   190,
-     0,     0,     0,   198,     0,   188,     0,   189,     0,     0,
-   108,     0,     0,     0,     0,     0,     0,   195,     0,     0,
-   194,   191,     0,     0,     0
+     0,     0,     0,     0,     0,   140,    52,   103,   104,     3,
+     4,   101,   102,   105,   100,    96,    97,     0,     0,     0,
+     0,     0,     0,     0,     0,     0,     0,     0,     0,    99,
+    98,    52,    58,    58,    85,   153,   147,   150,   151,     0,
+     0,    78,   164,   165,   166,   171,   167,   168,   169,   170,
+     0,   173,   177,   176,   178,     0,   187,     0,     0,     0,
+   224,     0,   226,   221,     0,     0,     0,     0,     0,     0,
+     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+   141,     0,   130,     0,     0,     0,     0,    91,   115,     0,
+     0,    95,     0,    92,     0,     0,     0,     0,   128,    79,
+    80,   146,   148,     0,    50,    87,     0,     0,     0,     0,
+     0,     0,     0,     0,   231,     0,     0,   210,     0,   212,
+   215,     0,   213,   214,     0,     0,     0,   209,     0,   229,
+     0,     0,     0,    54,    52,   221,     0,     0,     0,     0,
+    90,    93,    94,     0,     0,     0,     0,   152,   149,    51,
+    45,   172,     0,     0,   202,    47,    48,    47,   199,   220,
+     0,     0,     0,     0,   205,   206,   207,   202,     0,    49,
+    55,    53,     0,     0,     0,     0,   114,     0,     0,     0,
+     0,     0,   155,     0,     0,   201,     0,     0,   225,   227,
+     0,     0,     0,   211,   216,     0,   230,   107,     0,     0,
+     0,     0,     0,     0,     0,    46,     0,     0,     0,   200,
+   197,     0,   218,   106,     0,   113,   109,   110,   111,   112,
+     0,   190,     0,     0,     0,   198,     0,   188,     0,   189,
+     0,     0,   108,     0,     0,     0,     0,     0,     0,   195,
+     0,     0,   194,   191,     0,     0,     0
 };
 
-static const short yydefgoto[] = {    72,
-   230,   244,   245,   246,   247,   171,   172,   201,   173,    20,
-    10,    30,   401,   279,   352,   369,   301,   353,    73,    74,
-   184,    76,    77,   101,   183,   307,   270,   308,    93,   463,
-     1,     2,   250,   225,    25,   155,    42,    89,   158,    78,
-   321,   256,   257,   258,    31,    82,    11,    37,    12,    13,
-    23,   271,    79,   273,   377,    14,    33,    34,   147,   442,
-    84,   208,   404,   405,   148,   149,   333,   150,   151
+static const short yydefgoto[] = {    73,
+   232,   246,   247,   248,   249,   173,   174,   203,   175,    20,
+    10,    29,   403,   281,   354,   371,   303,   355,    74,    75,
+   186,    77,    78,   103,   185,   309,   272,   310,    95,   465,
+     1,     2,   252,   227,    50,   157,    41,    90,   160,    79,
+   323,   258,   259,   260,    30,    83,    11,    36,    12,    13,
+    23,   273,    80,   275,   379,    14,    32,    33,   149,   444,
+    85,   210,   406,   407,   150,   151,   335,   152,   153
 };
 
 static const short yypact[] = {-32768,
-   164,   551,-32768,-32768,-32768,-32768,-32768,-32768,   -12,    47,
-     6,-32768,-32768,   -13,-32768,-32768,    90,   -27,   -12,    49,
-   -23,-32768,    47,-32768,-32768,    84,-32768,-32768,-32768,   935,
-   -20,-32768,-32768,    96,-32768,-32768,-32768,-32768,     2,    18,
-    25,-32768,     1,-32768,   935,    79,    79,-32768,-32768,-32768,
--32768,-32768,    60,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
--32768,-32768,-32768,-32768,-32768,-32768,-32768,   167,   173,   180,
-   450,-32768,    96,    94,-32768,-32768,   -69,-32768,-32768,-32768,
--32768,-32768,  1098,-32768,   174,   114,   193,   175,-32768,-32768,
--32768,-32768,   973,  1011,-32768,    95,    97,-32768,-32768,   -69,
-   -66,    99,   745,-32768,-32768,   973,-32768,   147,  1049,    50,
-   142,    47,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
--32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,   973,   973,
-   973,   973,   973,   973,   973,-32768,-32768,   973,   973,   973,
-   973,   973,   973,   973,   973,   973,-32768,    47,-32768,    83,
--32768,-32768,-32768,-32768,-32768,-32768,-32768,   -19,-32768,   115,
-   170,   205,   172,   213,   178,   214,   184,   215,   216,   221,
-   190,   217,   222,    56,-32768,   973,   973,   973,-32768,   783,
--32768,   131,   129,   563,-32768,-32768,    60,-32768,   563,   563,
+    37,   361,-32768,-32768,-32768,-32768,-32768,-32768,   -44,    49,
+    38,-32768,-32768,     3,-32768,-32768,    70,    -2,    42,    50,
+     4,-32768,    49,    89,   125,-32768,-32768,-32768,  1054,   -21,
+-32768,-32768,    64,-32768,-32768,-32768,-32768,    26,    45,    47,
+-32768,    69,    89,  1054,   117,   117,-32768,-32768,-32768,-32768,
+-32768,-32768,-32768,    73,-32768,-32768,-32768,-32768,-32768,-32768,
+-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,   174,   179,
+   180,   122,-32768,    64,    82,-32768,-32768,   -27,-32768,-32768,
+-32768,-32768,-32768,  1215,-32768,   163,   -25,   186,   168,-32768,
+-32768,-32768,-32768,-32768,  1092,  1130,-32768,    85,    90,-32768,
+-32768,   -27,   -38,    94,   864,-32768,-32768,  1092,-32768,   142,
+  1168,    23,   144,    49,-32768,-32768,-32768,-32768,-32768,-32768,
 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
-   563,   935,   133,   134,-32768,   563,   136,   137,   202,   141,
-   143,   144,   145,   146,   148,   563,   563,   563,   149,   935,
-   973,   973,   218,-32768,   150,-32768,-32768,-32768,-32768,-32768,
--32768,-32768,-32768,-32768,-32768,   154,   156,   157,   165,   821,
-  1011,   520,   227,   166,   169,   185,   186,-32768,-32768,   150,
-   -32,   -25,   -69,-32768,    96,-32768,   176,   187,   859,-32768,
--32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,  1011,-32768,
--32768,-32768,-32768,   177,-32768,   189,   563,     3,-32768,     4,
--32768,   191,   563,   192,   973,   973,   973,   973,   973,   973,
-   973,   194,   195,   197,   973,   563,   563,   198,-32768,    12,
--32768,  1011,  1011,  1011,  1011,-32768,-32768,    -2,   -35,-32768,
-   -40,-32768,  1011,  1011,  1011,  1011,-32768,-32768,-32768,-32768,
--32768,   897,   259,-32768,   -33,   278,   279,   199,   563,   298,
-   563,   973,-32768,   203,   563,-32768,   211,-32768,-32768,   212,
--32768,-32768,   563,   563,   563,-32768,   219,-32768,   973,   289,
-   310,-32768,   150,   191,   282,   220,   224,  1011,-32768,-32768,
--32768,   225,   226,   230,   231,-32768,-32768,-32768,   261,-32768,
-   563,   563,   973,   234,-32768,   234,-32768,   235,   563,   236,
-   973,   973,-32768,-32768,-32768,   973,   563,-32768,-32768,-32768,
-   237,   973,  1011,  1011,-32768,  1011,  1011,  1011,  1011,   318,
--32768,   238,   223,   235,   242,   283,-32768,-32768,   973,   233,
-   563,-32768,-32768,   243,-32768,-32768,   245,   249,   247,   248,
-   250,   251,   252,-32768,   331,    10,   320,-32768,-32768,   253,
--32768,-32768,  1011,-32768,-32768,-32768,-32768,-32768,   563,-32768,
-   645,    39,   336,-32768,   255,-32768,   265,-32768,   645,   563,
--32768,   349,   271,   305,   563,   352,   353,-32768,   563,   563,
--32768,-32768,   376,   378,-32768
+  1092,  1092,  1092,  1092,  1092,  1092,  1092,-32768,-32768,  1092,
+  1092,  1092,  1092,  1092,  1092,  1092,  1092,  1092,-32768,    49,
+-32768,    75,-32768,-32768,-32768,-32768,-32768,-32768,-32768,   -36,
+-32768,   124,   162,   195,   165,   196,   167,   197,   169,   198,
+   200,   201,   177,   199,   209,   531,-32768,  1092,  1092,  1092,
+-32768,   902,-32768,   103,   101,   680,-32768,-32768,    73,-32768,
+   680,   680,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
+-32768,-32768,   680,  1054,   116,   118,-32768,   680,   113,   127,
+   189,   130,   133,   134,   135,   136,   137,   680,   680,   680,
+   139,  1054,  1092,  1092,   202,-32768,   140,-32768,-32768,-32768,
+-32768,-32768,-32768,-32768,-32768,-32768,-32768,   143,   145,   146,
+   147,   940,  1130,   637,   219,   148,   149,   150,   151,-32768,
+-32768,   140,   -35,   -64,   -27,-32768,    64,-32768,   154,   153,
+   978,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
+  1130,-32768,-32768,-32768,-32768,   158,-32768,   161,   680,    -5,
+-32768,    15,-32768,   173,   680,   164,  1092,  1092,  1092,  1092,
+  1092,  1092,  1092,   178,   182,   183,  1092,   680,   680,   184,
+-32768,   -18,-32768,  1130,  1130,  1130,  1130,-32768,-32768,    -6,
+   -26,-32768,   -37,-32768,  1130,  1130,  1130,  1130,-32768,-32768,
+-32768,-32768,-32768,  1016,   213,-32768,   -19,   245,   247,   187,
+   680,   266,   680,  1092,-32768,   190,   680,-32768,   191,-32768,
+-32768,   192,-32768,-32768,   680,   680,   680,-32768,   193,-32768,
+  1092,   256,   290,-32768,   140,   173,   261,   206,   207,  1130,
+-32768,-32768,-32768,   210,   211,   212,   214,-32768,-32768,-32768,
+   244,-32768,   680,   680,  1092,   215,-32768,   215,-32768,   218,
+   680,   220,  1092,  1092,-32768,-32768,-32768,  1092,   680,-32768,
+-32768,-32768,   216,  1092,  1130,  1130,-32768,  1130,  1130,  1130,
+  1130,   295,-32768,   222,   205,   218,   221,   248,-32768,-32768,
+  1092,   217,   680,-32768,-32768,   223,-32768,-32768,   224,   225,
+   231,   232,   233,   235,   238,-32768,   293,     8,   307,-32768,
+-32768,   237,-32768,-32768,  1130,-32768,-32768,-32768,-32768,-32768,
+   680,-32768,   763,    41,   324,-32768,   243,-32768,   249,-32768,
+   763,   680,-32768,   327,   252,   281,   680,   333,   334,-32768,
+   680,   680,-32768,-32768,   359,   360,-32768
 };
 
 static const short yypgoto[] = {-32768,
--32768,   296,   297,   299,   300,  -110,  -109,  -412,-32768,   350,
-   365,  -101,-32768,  -196,    63,-32768,  -243,-32768,   -41,-32768,
-   -30,-32768,   -55,   284,-32768,   -89,   228,  -201,   341,-32768,
--32768,-32768,-32768,-32768,   373,-32768,-32768,-32768,-32768,    11,
--32768,    72,-32768,-32768,   374,-32768,-32768,-32768,-32768,   394,
--32768,  -364,    46,    64,  -103,-32768,   384,-32768,-32768,-32768,
--32768,-32768,    68,    15,-32768,-32768,    51,-32768,-32768
+-32768,   277,   278,   279,   280,  -111,  -110,  -415,-32768,   335,
+   353,  -103,-32768,  -199,    51,-32768,  -247,-32768,   -40,-32768,
+   -29,-32768,   -55,   269,-32768,   -95,   203,  -184,   329,-32768,
+-32768,-32768,-32768,-32768,   337,-32768,-32768,-32768,-32768,    10,
+-32768,    54,-32768,-32768,   354,-32768,-32768,-32768,-32768,   380,
+-32768,  -344,    53,   138,  -102,-32768,   373,-32768,-32768,-32768,
+-32768,-32768,    55,     0,-32768,-32768,    35,-32768,-32768
 };
 
 
-#define	YYLAST		1196
+#define	YYLAST		1314
 
 
-static const short yytable[] = {    75,
-   199,   200,   185,    90,   175,   188,   317,   281,    80,    32,
-   202,    24,    21,   441,    75,   100,    35,   329,   331,   191,
-   192,   193,   194,   195,   196,   197,   198,   205,    32,   449,
-   209,   210,   -58,   178,   211,   212,   213,   214,   215,   309,
-   311,   104,   219,   179,    21,   350,   220,   100,   191,   192,
-   193,   194,   195,   196,   197,   198,   330,   330,   189,   358,
-    51,    52,   159,   174,   358,   351,   358,   325,    45,   361,
-   190,    43,   360,   318,   370,    48,   447,    15,   104,    16,
-   223,   233,   319,   102,   453,   104,   224,    50,    81,     5,
-     6,     7,     8,   234,   235,    46,    36,   358,   203,   204,
-    85,   206,   207,   359,    88,    26,    27,    28,    29,   390,
-    91,    92,   216,   217,   218,   440,    86,    15,   298,    16,
-   251,   252,   253,    87,   115,   116,   117,   118,   119,   120,
-   121,   122,   123,   124,   125,   126,   127,   128,    39,    40,
-    41,   226,   227,   236,   448,   237,   238,   136,   137,   255,
-   239,   191,   192,   193,   194,   195,   196,   197,   198,   240,
-   277,   -59,   241,  -118,   242,   153,   154,   243,   221,   222,
-    95,    75,   -24,   -24,   -23,   -23,    96,   407,   296,   408,
-   -22,   -22,   337,    97,   339,   340,   -21,   -21,     3,    75,
-   297,   346,   228,   229,     4,   103,   156,   152,   157,   176,
-   180,   177,   186,   253,     5,     6,     7,     8,   -28,   174,
-   174,   174,   354,   355,   356,   357,   -27,   -26,   -25,   249,
-   231,     9,   -31,   362,   363,   364,   365,   -32,   232,   272,
-   259,   260,   278,   280,   272,   272,   284,   285,   174,   283,
-   286,   299,   287,   288,   289,   290,   272,   291,   295,   300,
-   312,   272,   274,   275,   336,   302,   338,   303,   304,   341,
-   342,   272,   272,   272,   276,   320,   305,   313,   395,   282,
-   314,   174,   174,   174,   174,   322,   326,   412,   413,   292,
-   293,   294,   174,   174,   174,   174,   315,   316,   327,   323,
-   332,   255,   350,   343,   344,   335,   345,   349,   371,   372,
-   373,   375,   379,   418,   419,   428,   420,   421,   422,   423,
-   381,   382,   388,   389,   400,   199,   200,   392,   387,   393,
-   386,   424,   272,   394,   396,   397,   426,   174,   272,   398,
-   399,   199,   200,   406,   409,   411,   330,   425,   429,   416,
-   328,   272,   272,   445,   427,   431,   334,   432,   433,   434,
-   435,   439,   436,   437,   438,   443,   450,   451,   444,   347,
-   348,   417,   174,   174,   452,   174,   174,   174,   174,   455,
-   456,   457,   459,   460,   272,   464,   272,   465,   143,   144,
-   272,   145,   146,    83,    47,   368,   182,    94,   272,   272,
-   272,    44,   374,   367,   376,    22,    49,    38,   380,   378,
-   414,   248,   174,     0,   391,     0,   383,   384,   385,     0,
-     0,     0,     0,     0,     0,     0,   272,   272,     0,     0,
-     0,     0,     0,     0,   272,     0,     0,     0,     0,     0,
-     0,     0,   272,     0,   402,   403,     0,     0,     0,     0,
-     0,     0,   410,     0,     0,     0,     0,     0,     0,     0,
-   415,     0,     0,     0,    51,    52,   272,    98,    54,    55,
-    56,    57,    58,    59,    60,    61,    62,    63,    64,    65,
-    66,    15,     0,    16,   430,     0,     0,     0,     0,     0,
-     0,     0,     0,     0,   272,     0,     0,     0,     0,     0,
-     0,     0,     0,     0,    67,   272,     0,     0,     0,     0,
-   272,     0,   446,     0,   272,   272,     0,     0,     0,     0,
-     0,     0,     0,   454,     0,     0,     0,     0,   458,     0,
-     0,     0,   461,   462,    51,    52,     0,    98,   160,   161,
-   162,   163,   164,   165,   166,   167,   168,   169,   170,    65,
-    66,    15,     0,    16,     0,     0,     0,     0,     0,     0,
-    68,     0,     0,    69,     0,     0,    70,     0,    71,    99,
-     0,     0,     0,     0,    67,   261,   262,    51,    52,   263,
-   -34,     0,    15,     0,    16,     0,     0,     0,     0,     0,
-     0,     4,   -34,   -34,    15,     0,    16,     0,   264,   265,
-   266,   -34,   -34,   -34,   -34,     0,     0,   -34,    17,     0,
-   267,   268,     0,     0,     0,    18,     0,     0,    19,     0,
+static const short yytable[] = {    76,
+   177,   201,   202,    92,   319,   187,   283,    81,   190,   331,
+   204,    21,   443,    24,    76,   352,   102,   193,   194,   195,
+   196,   197,   198,   199,   200,    31,   155,   156,   451,   333,
+   207,   191,    34,   211,   212,   353,  -118,   213,   214,   215,
+   216,   217,    21,   192,   321,   221,   222,   106,   332,   102,
+   193,   194,   195,   196,   197,   198,   199,   200,   311,   313,
+    31,     3,   180,   360,   225,   161,   176,     4,   332,    44,
+   226,   320,   181,   363,   360,   -58,   106,     5,     6,     7,
+     8,   360,   362,   104,   106,    15,   327,    16,    82,   372,
+     5,     6,     7,     8,   360,     9,    45,    42,   449,    43,
+   361,   205,   206,    47,   208,   209,   455,   392,    25,    26,
+    27,    28,    49,    35,   442,   218,   219,   220,    38,    39,
+    40,   300,   253,   254,   255,    86,    52,    53,    51,   100,
+    55,    56,    57,    58,    59,    60,    61,    62,    63,    64,
+    65,    66,    67,    15,    87,    16,    88,   450,    93,    94,
+   228,   229,   257,   193,   194,   195,   196,   197,   198,   199,
+   200,   223,   224,   279,   -24,   -24,    68,   -23,   -23,   -22,
+   -22,   -21,   -21,    89,    76,   -59,   409,    97,   410,   230,
+   231,   298,    98,    99,   105,   339,   154,   341,   342,   158,
+   178,   159,    76,   299,   348,   179,   182,   188,   -28,   -27,
+   -26,   -25,   233,   261,   262,   255,   -31,   -32,   356,   357,
+   358,   359,   176,   176,   176,   234,   280,   285,   282,   364,
+   365,   366,   367,    69,   287,   301,    70,   286,   251,    71,
+   288,    72,   101,   289,   290,   291,   292,   293,   274,   297,
+   302,   176,   314,   274,   274,   304,   352,   305,   306,   307,
+   315,   316,   317,   318,   324,   274,   325,   338,   328,   340,
+   274,   329,   343,   344,   397,   373,   322,   374,   337,   377,
+   274,   274,   274,   334,   176,   176,   176,   176,   345,   390,
+   414,   415,   346,   347,   351,   176,   176,   176,   176,   375,
+   381,   383,   384,   391,   257,   388,   394,   402,   426,   420,
+   421,   332,   422,   423,   424,   425,   395,   396,   430,   428,
+   398,   399,   400,   441,   401,   408,   201,   202,   411,   418,
+   413,   389,   427,   431,   429,   435,   433,   434,   276,   277,
+   176,   274,   201,   202,   436,   437,   438,   274,   439,   447,
+   278,   440,   445,   446,   452,   284,   453,   457,   459,   454,
+   274,   274,   458,   461,   462,   294,   295,   296,   466,   467,
+   145,   146,   147,   148,   419,   176,   176,    84,   176,   176,
+   176,   176,    46,   184,    96,   370,    48,   369,   250,    91,
+   -34,    22,    15,   274,    16,   274,    37,   416,   380,   274,
+   393,     4,   -34,   -34,     0,     0,     0,   274,   274,   274,
+     0,   -34,   -34,   -34,   -34,   176,     0,   -34,    17,     0,
+     0,     0,     0,     0,     0,    18,   330,     0,     0,    19,
+     0,     0,   336,     0,     0,   274,   274,     0,     0,     0,
+     0,     0,     0,   274,     0,   349,   350,     0,     0,     0,
+     0,   274,     0,     0,     0,     0,     0,     0,     0,     0,
      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-    68,     0,     0,    69,     0,     0,    70,     0,    71,   310,
-     0,   115,   116,   117,   118,   119,   120,   121,   122,   123,
-   124,   125,   126,   127,   128,     0,     0,   261,   262,     0,
-   236,   263,   237,   238,   136,   137,     0,   239,     0,     0,
-     0,     0,     0,     0,     0,     0,     0,     0,     0,   269,
-   264,   265,   266,     0,     0,     0,     0,     0,     0,     0,
-     0,     0,   267,   268,     0,     0,     0,     0,     0,     0,
+     0,     0,     0,     0,     0,   274,     0,     0,   376,     0,
+   378,     0,     0,     0,   382,     0,     0,     0,     0,     0,
+     0,     0,   385,   386,   387,     0,     0,     0,     0,     0,
+     0,     0,     0,   274,     0,     0,     0,     0,     0,     0,
+     0,     0,     0,     0,   274,     0,     0,     0,     0,   274,
+   404,   405,     0,   274,   274,     0,     0,     0,   412,     0,
+     0,     0,     0,     0,     0,     0,   417,     0,     0,     0,
+     0,     0,     0,     0,     0,    52,    53,     0,     0,     0,
+     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+   432,     0,    15,     0,    16,     0,   235,     0,     0,     0,
+     0,     0,     0,     0,     0,     0,     0,     0,   236,   237,
+     0,     0,     0,     0,     0,     0,     0,     0,   448,     0,
+     0,     0,     0,     0,     0,     0,     0,     0,     0,   456,
+     0,     0,     0,     0,   460,     0,     0,     0,   463,   464,
+   117,   118,   119,   120,   121,   122,   123,   124,   125,   126,
+   127,   128,   129,   130,     0,     0,     0,     0,     0,   238,
+     0,   239,   240,   138,   139,     0,   241,     0,     0,     0,
+     0,     0,     0,     0,     0,   242,     0,     0,   243,     0,
+   244,    52,    53,   245,   100,   162,   163,   164,   165,   166,
+   167,   168,   169,   170,   171,   172,    66,    67,    15,     0,
+    16,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+     0,    68,   263,   264,    52,    53,   265,     0,     0,     0,
+     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+     0,    15,     0,    16,     0,   266,   267,   268,     0,     0,
+     0,     0,     0,     0,     0,     0,     0,   269,   270,     0,
+     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+     0,     0,     0,     0,     0,     0,     0,     0,    69,     0,
+     0,    70,     0,     0,    71,     0,    72,   312,     0,   117,
+   118,   119,   120,   121,   122,   123,   124,   125,   126,   127,
+   128,   129,   130,     0,     0,   263,   264,     0,   238,   265,
+   239,   240,   138,   139,     0,   241,     0,     0,     0,     0,
+     0,     0,     0,     0,     0,     0,     0,   271,   266,   267,
+   268,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+   269,   270,     0,     0,     0,     0,     0,     0,     0,     0,
      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-     0,     0,     0,   115,   116,   117,   118,   119,   120,   121,
-   122,   123,   124,   125,   126,   127,   128,     0,     0,     0,
-     0,     0,   236,     0,   237,   238,   136,   137,     0,   239,
-     0,     0,     0,     0,     0,     0,     0,     0,     0,    51,
-    52,   269,    98,    54,    55,    56,    57,    58,    59,    60,
-    61,    62,    63,    64,    65,    66,    15,     0,    16,     0,
+     0,     0,   117,   118,   119,   120,   121,   122,   123,   124,
+   125,   126,   127,   128,   129,   130,     0,     0,     0,     0,
+     0,   238,     0,   239,   240,   138,   139,     0,   241,     0,
+     0,     0,     0,     0,     0,     0,     0,     0,    52,    53,
+   271,   100,    55,    56,    57,    58,    59,    60,    61,    62,
+    63,    64,    65,    66,    67,    15,     0,    16,     0,     0,
      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-     0,   181,     0,     0,     0,     0,     0,    51,    52,    67,
-    98,    54,    55,    56,    57,    58,    59,    60,    61,    62,
-    63,    64,    65,    66,    15,     0,    16,     0,     0,     0,
-     0,     0,     0,     0,     0,     0,     0,     0,     0,   254,
-     0,     0,     0,     0,     0,    51,    52,    67,    98,   160,
-   161,   162,   163,   164,   165,   166,   167,   168,   169,   170,
-    65,    66,    15,     0,    16,    68,     0,     0,    69,     0,
-     0,    70,     0,    71,     0,     0,     0,     0,     0,     0,
-     0,     0,     0,    51,    52,    67,    98,    54,    55,    56,
-    57,    58,    59,    60,    61,    62,    63,    64,    65,    66,
-    15,     0,    16,    68,     0,     0,    69,     0,     0,    70,
-     0,    71,     0,     0,     0,   324,     0,     0,     0,     0,
-     0,    51,    52,    67,    98,    54,    55,    56,    57,    58,
-    59,    60,    61,    62,    63,    64,    65,    66,    15,     0,
-    16,    68,     0,     0,    69,     0,   306,    70,     0,    71,
-     0,     0,     0,   366,     0,     0,     0,     0,     0,    51,
-    52,    67,    53,    54,    55,    56,    57,    58,    59,    60,
-    61,    62,    63,    64,    65,    66,    15,     0,    16,    68,
-     0,     0,    69,     0,     0,    70,     0,    71,     0,     0,
-     0,     0,     0,     0,     0,     0,     0,    51,    52,    67,
-    98,    54,    55,    56,    57,    58,    59,    60,    61,    62,
-    63,    64,    65,    66,    15,     0,    16,    68,     0,     0,
-    69,     0,     0,    70,     0,    71,     0,     0,     0,     0,
-     0,     0,     0,     0,     0,    51,    52,    67,    98,   160,
-   161,   162,   163,   164,   165,   166,   167,   168,   169,   170,
-    65,    66,    15,     0,    16,    68,     0,     0,    69,     0,
-     0,    70,     0,    71,     0,     0,     0,     0,     0,     0,
-     0,     0,     0,    51,    52,    67,   187,    54,    55,    56,
-    57,    58,    59,    60,    61,    62,    63,    64,    65,    66,
-    15,     0,    16,    68,     0,     0,    69,     0,     0,    70,
-     0,    71,     0,     0,     0,     0,     0,     0,     0,     0,
-     0,     0,     0,    67,     0,     0,     0,     0,     0,     0,
+   183,     0,     0,     0,     0,     0,    52,    53,    68,   100,
+    55,    56,    57,    58,    59,    60,    61,    62,    63,    64,
+    65,    66,    67,    15,     0,    16,     0,     0,     0,     0,
+     0,     0,     0,     0,     0,     0,     0,     0,   256,     0,
+     0,     0,     0,     0,    52,    53,    68,   100,   162,   163,
+   164,   165,   166,   167,   168,   169,   170,   171,   172,    66,
+    67,    15,     0,    16,     0,    69,     0,     0,    70,     0,
+     0,    71,     0,    72,     0,     0,     0,     0,     0,     0,
+     0,     0,    52,    53,    68,   100,    55,    56,    57,    58,
+    59,    60,    61,    62,    63,    64,    65,    66,    67,    15,
+     0,    16,     0,    69,     0,     0,    70,     0,     0,    71,
+     0,    72,     0,     0,   326,     0,     0,     0,     0,     0,
+    52,    53,    68,   100,    55,    56,    57,    58,    59,    60,
+    61,    62,    63,    64,    65,    66,    67,    15,     0,    16,
+     0,    69,     0,     0,    70,     0,   308,    71,     0,    72,
+     0,     0,   368,     0,     0,     0,     0,     0,    52,    53,
+    68,    54,    55,    56,    57,    58,    59,    60,    61,    62,
+    63,    64,    65,    66,    67,    15,     0,    16,     0,    69,
+     0,     0,    70,     0,     0,    71,     0,    72,     0,     0,
+     0,     0,     0,     0,     0,     0,    52,    53,    68,   100,
+    55,    56,    57,    58,    59,    60,    61,    62,    63,    64,
+    65,    66,    67,    15,     0,    16,     0,    69,     0,     0,
+    70,     0,     0,    71,     0,    72,     0,     0,     0,     0,
+     0,     0,     0,     0,    52,    53,    68,   100,   162,   163,
+   164,   165,   166,   167,   168,   169,   170,   171,   172,    66,
+    67,    15,     0,    16,     0,    69,     0,     0,    70,     0,
+     0,    71,     0,    72,     0,     0,     0,     0,     0,     0,
+     0,     0,    52,    53,    68,   189,    55,    56,    57,    58,
+    59,    60,    61,    62,    63,    64,    65,    66,    67,    15,
+     0,    16,     0,    69,     0,     0,    70,     0,     0,    71,
+     0,    72,     0,     0,     0,     0,     0,     0,     0,     0,
+     0,     0,    68,     0,     0,     0,     0,     0,     0,     0,
      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-     0,    68,     0,     0,    69,     0,     0,    70,     0,    71,
+     0,    69,     0,     0,    70,     0,     0,    71,     0,    72,
+     0,     0,     0,     0,     0,     0,     0,     0,     0,   107,
      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-     0,     0,   105,     0,     0,     0,     0,     0,     0,     0,
-     0,     0,     0,   106,     0,     0,     0,     0,     0,    68,
-     0,     0,    69,   107,   108,    70,     0,    71,     0,     0,
-   109,   110,   111,   112,   113,   114,   115,   116,   117,   118,
-   119,   120,   121,   122,   123,   124,   125,   126,   127,   128,
-   129,   130,   131,     0,     0,   132,   133,   134,   135,   136,
-   137,   138,   139,   140,   141,   142
+   108,     0,     0,     0,     0,     0,     0,     0,     0,    69,
+   109,   110,    70,     0,     0,    71,     0,    72,   111,   112,
+   113,   114,   115,   116,   117,   118,   119,   120,   121,   122,
+   123,   124,   125,   126,   127,   128,   129,   130,   131,   132,
+   133,     0,     0,   134,   135,   136,   137,   138,   139,   140,
+   141,   142,   143,   144
 };
 
-static const short yycheck[] = {    30,
-   111,   111,   106,    45,    94,   109,   250,   204,    29,    23,
-   112,    24,     2,   426,    45,    71,    30,    15,    15,    10,
-    11,    12,    13,    14,    15,    16,    17,   131,    23,   442,
-   134,   135,   102,   100,   138,   139,   140,   141,   142,   241,
-   242,   111,   146,   110,    34,    34,   148,   103,    10,    11,
-    12,    13,    14,    15,    16,    17,    54,    54,     9,   100,
-     5,     6,    93,    94,   100,    54,   100,   269,    20,   110,
-    21,    99,   108,   106,   108,    99,   441,    22,   111,    24,
-   100,    26,   108,    73,   449,   111,   106,     4,   109,    41,
-    42,    43,    44,    38,    39,    47,   110,   100,   129,   130,
-    99,   132,   133,   106,   104,    59,    60,    61,    62,   353,
-    32,    33,   143,   144,   145,   106,    99,    22,   222,    24,
-   176,   177,   178,    99,    69,    70,    71,    72,    73,    74,
-    75,    76,    77,    78,    79,    80,    81,    82,    49,    50,
-    51,    27,    28,    88,   106,    90,    91,    92,    93,   180,
-    95,    10,    11,    12,    13,    14,    15,    16,    17,   104,
-   202,   102,   107,     0,   109,    52,    53,   112,    86,    87,
-     4,   202,     3,     4,     3,     4,     4,   374,   220,   376,
-     3,     4,   286,     4,   288,   289,     3,     4,    25,   220,
-   221,   295,     3,     4,    31,   102,     4,    24,    24,   105,
-   102,   105,    56,   259,    41,    42,    43,    44,     4,   240,
-   241,   242,   302,   303,   304,   305,     4,     4,     4,   174,
-     4,    58,     7,   313,   314,   315,   316,     7,     7,   184,
-   100,   103,   100,   100,   189,   190,   100,    36,   269,   104,
-   100,    24,   100,   100,   100,   100,   201,   100,   100,   100,
-    24,   206,   189,   190,   285,   102,   287,   102,   102,   290,
-   291,   216,   217,   218,   201,   255,   102,   102,   358,   206,
-   102,   302,   303,   304,   305,   100,   100,   381,   382,   216,
-   217,   218,   313,   314,   315,   316,   102,   102,   100,   103,
-   100,   322,    34,   100,   100,   104,   100,   100,    21,    21,
-   102,     4,   100,   393,   394,   409,   396,   397,   398,   399,
-   100,   100,    24,     4,    54,   426,   426,    36,   349,   100,
-   102,     4,   277,   100,   100,   100,   104,   358,   283,   100,
-   100,   442,   442,   100,   100,   100,    54,   100,   106,   103,
-   277,   296,   297,   433,   103,   103,   283,   103,   100,   103,
-   103,    21,   103,   103,   103,    36,    21,   103,   106,   296,
-   297,   392,   393,   394,   100,   396,   397,   398,   399,    21,
-   100,    67,    21,    21,   329,     0,   331,     0,    83,    83,
-   335,    83,    83,    34,    20,   323,   103,    47,   343,   344,
-   345,    19,   329,   322,   331,     2,    23,    14,   335,   332,
-   386,   174,   433,    -1,   354,    -1,   343,   344,   345,    -1,
-    -1,    -1,    -1,    -1,    -1,    -1,   371,   372,    -1,    -1,
-    -1,    -1,    -1,    -1,   379,    -1,    -1,    -1,    -1,    -1,
-    -1,    -1,   387,    -1,   371,   372,    -1,    -1,    -1,    -1,
-    -1,    -1,   379,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-   387,    -1,    -1,    -1,     5,     6,   411,     8,     9,    10,
-    11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
-    21,    22,    -1,    24,   411,    -1,    -1,    -1,    -1,    -1,
-    -1,    -1,    -1,    -1,   439,    -1,    -1,    -1,    -1,    -1,
-    -1,    -1,    -1,    -1,    45,   450,    -1,    -1,    -1,    -1,
-   455,    -1,   439,    -1,   459,   460,    -1,    -1,    -1,    -1,
-    -1,    -1,    -1,   450,    -1,    -1,    -1,    -1,   455,    -1,
-    -1,    -1,   459,   460,     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,    -1,
-   101,    -1,    -1,   104,    -1,    -1,   107,    -1,   109,   110,
-    -1,    -1,    -1,    -1,    45,     3,     4,     5,     6,     7,
-    20,    -1,    22,    -1,    24,    -1,    -1,    -1,    -1,    -1,
-    -1,    31,    32,    33,    22,    -1,    24,    -1,    26,    27,
-    28,    41,    42,    43,    44,    -1,    -1,    47,    48,    -1,
-    38,    39,    -1,    -1,    -1,    55,    -1,    -1,    58,    -1,
+static const short yycheck[] = {    29,
+    96,   113,   113,    44,   252,   108,   206,    29,   111,    15,
+   114,     2,   428,    58,    44,    34,    72,    10,    11,    12,
+    13,    14,    15,    16,    17,    23,    52,    53,   444,    15,
+   133,     9,    30,   136,   137,    54,     0,   140,   141,   142,
+   143,   144,    33,    21,   109,   148,   150,   112,    54,   105,
+    10,    11,    12,    13,    14,    15,    16,    17,   243,   244,
+    23,    25,   101,   101,   101,    95,    96,    31,    54,    20,
+   107,   107,   111,   111,   101,   103,   112,    41,    42,    43,
+    44,   101,   109,    74,   112,    22,   271,    24,   110,   109,
+    41,    42,    43,    44,   101,    59,    47,   100,   443,    58,
+   107,   131,   132,   100,   134,   135,   451,   355,    60,    61,
+    62,    63,    24,   111,   107,   145,   146,   147,    49,    50,
+    51,   224,   178,   179,   180,   100,     5,     6,     4,     8,
+     9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
+    19,    20,    21,    22,   100,    24,   100,   107,    32,    33,
+    27,    28,   182,    10,    11,    12,    13,    14,    15,    16,
+    17,    87,    88,   204,     3,     4,    45,     3,     4,     3,
+     4,     3,     4,   105,   204,   103,   376,     4,   378,     3,
+     4,   222,     4,     4,   103,   288,    24,   290,   291,     4,
+   106,    24,   222,   223,   297,   106,   103,    56,     4,     4,
+     4,     4,     4,   101,   104,   261,     7,     7,   304,   305,
+   306,   307,   242,   243,   244,     7,   101,   105,   101,   315,
+   316,   317,   318,   102,    36,    24,   105,   101,   176,   108,
+   101,   110,   111,   101,   101,   101,   101,   101,   186,   101,
+   101,   271,    24,   191,   192,   103,    34,   103,   103,   103,
+   103,   103,   103,   103,   101,   203,   104,   287,   101,   289,
+   208,   101,   292,   293,   360,    21,   257,    21,   105,     4,
+   218,   219,   220,   101,   304,   305,   306,   307,   101,    24,
+   383,   384,   101,   101,   101,   315,   316,   317,   318,   103,
+   101,   101,   101,     4,   324,   103,    36,    54,     4,   395,
+   396,    54,   398,   399,   400,   401,   101,   101,   411,   105,
+   101,   101,   101,    21,   101,   101,   428,   428,   101,   104,
+   101,   351,   101,   107,   104,   101,   104,   104,   191,   192,
+   360,   279,   444,   444,   104,   104,   104,   285,   104,   435,
+   203,   104,    36,   107,    21,   208,   104,    21,    68,   101,
+   298,   299,   101,    21,    21,   218,   219,   220,     0,     0,
+    84,    84,    84,    84,   394,   395,   396,    33,   398,   399,
+   400,   401,    20,   105,    46,   325,    23,   324,   176,    43,
+    20,     2,    22,   331,    24,   333,    14,   388,   334,   337,
+   356,    31,    32,    33,    -1,    -1,    -1,   345,   346,   347,
+    -1,    41,    42,    43,    44,   435,    -1,    47,    48,    -1,
+    -1,    -1,    -1,    -1,    -1,    55,   279,    -1,    -1,    59,
+    -1,    -1,   285,    -1,    -1,   373,   374,    -1,    -1,    -1,
+    -1,    -1,    -1,   381,    -1,   298,   299,    -1,    -1,    -1,
+    -1,   389,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-   101,    -1,    -1,   104,    -1,    -1,   107,    -1,   109,   110,
-    -1,    69,    70,    71,    72,    73,    74,    75,    76,    77,
-    78,    79,    80,    81,    82,    -1,    -1,     3,     4,    -1,
-    88,     7,    90,    91,    92,    93,    -1,    95,    -1,    -1,
-    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   107,
-    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,   413,    -1,    -1,   331,    -1,
+   333,    -1,    -1,    -1,   337,    -1,    -1,    -1,    -1,    -1,
+    -1,    -1,   345,   346,   347,    -1,    -1,    -1,    -1,    -1,
+    -1,    -1,    -1,   441,    -1,    -1,    -1,    -1,    -1,    -1,
+    -1,    -1,    -1,    -1,   452,    -1,    -1,    -1,    -1,   457,
+   373,   374,    -1,   461,   462,    -1,    -1,    -1,   381,    -1,
+    -1,    -1,    -1,    -1,    -1,    -1,   389,    -1,    -1,    -1,
+    -1,    -1,    -1,    -1,    -1,     5,     6,    -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,    69,    70,    71,    72,    73,    74,    75,
-    76,    77,    78,    79,    80,    81,    82,    -1,    -1,    -1,
-    -1,    -1,    88,    -1,    90,    91,    92,    93,    -1,    95,
-    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     5,
-     6,   107,     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,     5,     6,    45,
-     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,     5,     6,    45,     8,     9,
-    10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
-    20,    21,    22,    -1,    24,   101,    -1,    -1,   104,    -1,
-    -1,   107,    -1,   109,    -1,    -1,    -1,    -1,    -1,    -1,
-    -1,    -1,    -1,     5,     6,    45,     8,     9,    10,    11,
-    12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
-    22,    -1,    24,   101,    -1,    -1,   104,    -1,    -1,   107,
-    -1,   109,    -1,    -1,    -1,    37,    -1,    -1,    -1,    -1,
-    -1,     5,     6,    45,     8,     9,    10,    11,    12,    13,
+   413,    -1,    22,    -1,    24,    -1,    26,    -1,    -1,    -1,
+    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    38,    39,
+    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   441,    -1,
+    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   452,
+    -1,    -1,    -1,    -1,   457,    -1,    -1,    -1,   461,   462,
+    70,    71,    72,    73,    74,    75,    76,    77,    78,    79,
+    80,    81,    82,    83,    -1,    -1,    -1,    -1,    -1,    89,
+    -1,    91,    92,    93,    94,    -1,    96,    -1,    -1,    -1,
+    -1,    -1,    -1,    -1,    -1,   105,    -1,    -1,   108,    -1,
+   110,     5,     6,   113,     8,     9,    10,    11,    12,    13,
     14,    15,    16,    17,    18,    19,    20,    21,    22,    -1,
-    24,   101,    -1,    -1,   104,    -1,   106,   107,    -1,   109,
-    -1,    -1,    -1,    37,    -1,    -1,    -1,    -1,    -1,     5,
-     6,    45,     8,     9,    10,    11,    12,    13,    14,    15,
-    16,    17,    18,    19,    20,    21,    22,    -1,    24,   101,
-    -1,    -1,   104,    -1,    -1,   107,    -1,   109,    -1,    -1,
-    -1,    -1,    -1,    -1,    -1,    -1,    -1,     5,     6,    45,
-     8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
-    18,    19,    20,    21,    22,    -1,    24,   101,    -1,    -1,
-   104,    -1,    -1,   107,    -1,   109,    -1,    -1,    -1,    -1,
-    -1,    -1,    -1,    -1,    -1,     5,     6,    45,     8,     9,
-    10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
-    20,    21,    22,    -1,    24,   101,    -1,    -1,   104,    -1,
-    -1,   107,    -1,   109,    -1,    -1,    -1,    -1,    -1,    -1,
-    -1,    -1,    -1,     5,     6,    45,     8,     9,    10,    11,
-    12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
-    22,    -1,    24,   101,    -1,    -1,   104,    -1,    -1,   107,
-    -1,   109,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    -1,    -1,    -1,    45,    -1,    -1,    -1,    -1,    -1,    -1,
+    24,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    -1,   101,    -1,    -1,   104,    -1,    -1,   107,    -1,   109,
+    -1,    45,     3,     4,     5,     6,     7,    -1,    -1,    -1,
     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    -1,    -1,    35,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    -1,    -1,    -1,    46,    -1,    -1,    -1,    -1,    -1,   101,
-    -1,    -1,   104,    56,    57,   107,    -1,   109,    -1,    -1,
-    63,    64,    65,    66,    67,    68,    69,    70,    71,    72,
-    73,    74,    75,    76,    77,    78,    79,    80,    81,    82,
-    83,    84,    85,    -1,    -1,    88,    89,    90,    91,    92,
-    93,    94,    95,    96,    97,    98
+    -1,    22,    -1,    24,    -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,   102,    -1,
+    -1,   105,    -1,    -1,   108,    -1,   110,   111,    -1,    70,
+    71,    72,    73,    74,    75,    76,    77,    78,    79,    80,
+    81,    82,    83,    -1,    -1,     3,     4,    -1,    89,     7,
+    91,    92,    93,    94,    -1,    96,    -1,    -1,    -1,    -1,
+    -1,    -1,    -1,    -1,    -1,    -1,    -1,   108,    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,    -1,    -1,    -1,    -1,    -1,
+    -1,    -1,    70,    71,    72,    73,    74,    75,    76,    77,
+    78,    79,    80,    81,    82,    83,    -1,    -1,    -1,    -1,
+    -1,    89,    -1,    91,    92,    93,    94,    -1,    96,    -1,
+    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     5,     6,
+   108,     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,     5,     6,    45,     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,     5,     6,    45,     8,     9,    10,
+    11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
+    21,    22,    -1,    24,    -1,   102,    -1,    -1,   105,    -1,
+    -1,   108,    -1,   110,    -1,    -1,    -1,    -1,    -1,    -1,
+    -1,    -1,     5,     6,    45,     8,     9,    10,    11,    12,
+    13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
+    -1,    24,    -1,   102,    -1,    -1,   105,    -1,    -1,   108,
+    -1,   110,    -1,    -1,    37,    -1,    -1,    -1,    -1,    -1,
+     5,     6,    45,     8,     9,    10,    11,    12,    13,    14,
+    15,    16,    17,    18,    19,    20,    21,    22,    -1,    24,
+    -1,   102,    -1,    -1,   105,    -1,   107,   108,    -1,   110,
+    -1,    -1,    37,    -1,    -1,    -1,    -1,    -1,     5,     6,
+    45,     8,     9,    10,    11,    12,    13,    14,    15,    16,
+    17,    18,    19,    20,    21,    22,    -1,    24,    -1,   102,
+    -1,    -1,   105,    -1,    -1,   108,    -1,   110,    -1,    -1,
+    -1,    -1,    -1,    -1,    -1,    -1,     5,     6,    45,     8,
+     9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
+    19,    20,    21,    22,    -1,    24,    -1,   102,    -1,    -1,
+   105,    -1,    -1,   108,    -1,   110,    -1,    -1,    -1,    -1,
+    -1,    -1,    -1,    -1,     5,     6,    45,     8,     9,    10,
+    11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
+    21,    22,    -1,    24,    -1,   102,    -1,    -1,   105,    -1,
+    -1,   108,    -1,   110,    -1,    -1,    -1,    -1,    -1,    -1,
+    -1,    -1,     5,     6,    45,     8,     9,    10,    11,    12,
+    13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
+    -1,    24,    -1,   102,    -1,    -1,   105,    -1,    -1,   108,
+    -1,   110,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+    -1,    -1,    45,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+    -1,   102,    -1,    -1,   105,    -1,    -1,   108,    -1,   110,
+    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    35,
+    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+    46,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   102,
+    56,    57,   105,    -1,    -1,   108,    -1,   110,    64,    65,
+    66,    67,    68,    69,    70,    71,    72,    73,    74,    75,
+    76,    77,    78,    79,    80,    81,    82,    83,    84,    85,
+    86,    -1,    -1,    89,    90,    91,    92,    93,    94,    95,
+    96,    97,    98,    99
 };
 /* -*-C-*-  Note some compilers choke on comments on `#line' lines.  */
 #line 3 "/usr/share/bison.simple"
@@ -2532,11 +2558,12 @@
                      " when array has size " + itostr(NumElements) + "!");
     std::vector<Constant*> Vals;
     if (ETy == Type::SByteTy) {
-      for (char *C = yyvsp[0].StrVal; C != EndStr; ++C)
+      for (signed char *C = (signed char *)yyvsp[0].StrVal; C != (signed char *)EndStr; ++C)
         Vals.push_back(ConstantSInt::get(ETy, *C));
     } else if (ETy == Type::UByteTy) {
-      for (char *C = yyvsp[0].StrVal; C != EndStr; ++C)
-        Vals.push_back(ConstantUInt::get(ETy, (unsigned char)*C));
+      for (unsigned char *C = (unsigned char *)yyvsp[0].StrVal; 
+           C != (unsigned char*)EndStr; ++C)
+        Vals.push_back(ConstantUInt::get(ETy, *C));
     } else {
       free(yyvsp[0].StrVal);
       ThrowException("Cannot build string arrays of non byte sized elements!");
@@ -2547,7 +2574,7 @@
   ;
     break;}
 case 93:
-#line 1272 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1273 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 { // Nonempty unsized arr
     const PackedType *PTy = dyn_cast<PackedType>(yyvsp[-3].TypeVal->get());
     if (PTy == 0)
@@ -2575,7 +2602,7 @@
   ;
     break;}
 case 94:
-#line 1297 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1298 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     const StructType *STy = dyn_cast<StructType>(yyvsp[-3].TypeVal->get());
     if (STy == 0)
@@ -2598,7 +2625,7 @@
   ;
     break;}
 case 95:
-#line 1317 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1318 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     const StructType *STy = dyn_cast<StructType>(yyvsp[-2].TypeVal->get());
     if (STy == 0)
@@ -2613,7 +2640,7 @@
   ;
     break;}
 case 96:
-#line 1329 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1330 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     const PointerType *PTy = dyn_cast<PointerType>(yyvsp[-1].TypeVal->get());
     if (PTy == 0)
@@ -2625,14 +2652,14 @@
   ;
     break;}
 case 97:
-#line 1338 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1339 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     yyval.ConstVal = UndefValue::get(yyvsp[-1].TypeVal->get());
     delete yyvsp[-1].TypeVal;
   ;
     break;}
 case 98:
-#line 1342 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1343 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     const PointerType *Ty = dyn_cast<PointerType>(yyvsp[-1].TypeVal->get());
     if (Ty == 0)
@@ -2694,7 +2721,7 @@
   ;
     break;}
 case 99:
-#line 1401 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1402 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     if (yyvsp[-1].TypeVal->get() != yyvsp[0].ConstVal->getType())
       ThrowException("Mismatched types for constant expression!");
@@ -2703,7 +2730,7 @@
   ;
     break;}
 case 100:
-#line 1407 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1408 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     const Type *Ty = yyvsp[-1].TypeVal->get();
     if (isa<FunctionType>(Ty) || Ty == Type::LabelTy || isa<OpaqueType>(Ty))
@@ -2713,7 +2740,7 @@
   ;
     break;}
 case 101:
-#line 1415 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1416 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {      // integral constants
     if (!ConstantSInt::isValueValidForType(yyvsp[-1].PrimType, yyvsp[0].SInt64Val))
       ThrowException("Constant value doesn't fit in type!");
@@ -2721,7 +2748,7 @@
   ;
     break;}
 case 102:
-#line 1420 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1421 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {            // integral constants
     if (!ConstantUInt::isValueValidForType(yyvsp[-1].PrimType, yyvsp[0].UInt64Val))
       ThrowException("Constant value doesn't fit in type!");
@@ -2729,19 +2756,19 @@
   ;
     break;}
 case 103:
-#line 1425 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1426 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {                      // Boolean constants
     yyval.ConstVal = ConstantBool::True;
   ;
     break;}
 case 104:
-#line 1428 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1429 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {                     // Boolean constants
     yyval.ConstVal = ConstantBool::False;
   ;
     break;}
 case 105:
-#line 1431 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1432 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {                   // Float & Double constants
     if (!ConstantFP::isValueValidForType(yyvsp[-1].PrimType, yyvsp[0].FPVal))
       ThrowException("Floating point constant invalid for type!!");
@@ -2749,7 +2776,7 @@
   ;
     break;}
 case 106:
-#line 1438 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1439 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     if (!yyvsp[-3].ConstVal->getType()->isFirstClassType())
       ThrowException("cast constant expression from a non-primitive type: '" +
@@ -2762,7 +2789,7 @@
   ;
     break;}
 case 107:
-#line 1448 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1449 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     if (!isa<PointerType>(yyvsp[-2].ConstVal->getType()))
       ThrowException("GetElementPtr requires a pointer operand!");
@@ -2796,7 +2823,7 @@
   ;
     break;}
 case 108:
-#line 1479 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1480 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     if (yyvsp[-5].ConstVal->getType() != Type::BoolTy)
       ThrowException("Select condition must be of boolean type!");
@@ -2806,7 +2833,7 @@
   ;
     break;}
 case 109:
-#line 1486 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1487 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     if (yyvsp[-3].ConstVal->getType() != yyvsp[-1].ConstVal->getType())
       ThrowException("Binary operator types must match!");
@@ -2830,7 +2857,7 @@
   ;
     break;}
 case 110:
-#line 1507 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1508 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     if (yyvsp[-3].ConstVal->getType() != yyvsp[-1].ConstVal->getType())
       ThrowException("Logical operator types must match!");
@@ -2843,7 +2870,7 @@
   ;
     break;}
 case 111:
-#line 1517 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1518 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     if (yyvsp[-3].ConstVal->getType() != yyvsp[-1].ConstVal->getType())
       ThrowException("setcc operand types must match!");
@@ -2851,7 +2878,7 @@
   ;
     break;}
 case 112:
-#line 1522 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1523 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     if (yyvsp[-1].ConstVal->getType() != Type::UByteTy)
       ThrowException("Shift count for shift constant must be unsigned byte!");
@@ -2861,7 +2888,7 @@
   ;
     break;}
 case 113:
-#line 1529 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1530 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
         if (!isa<PackedType>(yyvsp[-3].ConstVal->getType()))
       ThrowException("First operand of extractelement must be "
@@ -2872,60 +2899,60 @@
   ;
     break;}
 case 114:
-#line 1539 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1540 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     (yyval.ConstVector = yyvsp[-2].ConstVector)->push_back(yyvsp[0].ConstVal);
   ;
     break;}
 case 115:
-#line 1542 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1543 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     yyval.ConstVector = new std::vector<Constant*>();
     yyval.ConstVector->push_back(yyvsp[0].ConstVal);
   ;
     break;}
 case 116:
-#line 1549 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1550 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 { yyval.BoolVal = false; ;
     break;}
 case 117:
-#line 1549 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1550 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 { yyval.BoolVal = true; ;
     break;}
 case 118:
-#line 1559 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1560 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
   yyval.ModuleVal = ParserResult = yyvsp[0].ModuleVal;
   CurModule.ModuleDone();
 ;
     break;}
 case 119:
-#line 1566 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1567 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     yyval.ModuleVal = yyvsp[-1].ModuleVal;
     CurFun.FunctionDone();
   ;
     break;}
 case 120:
-#line 1570 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1571 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     yyval.ModuleVal = yyvsp[-1].ModuleVal;
   ;
     break;}
 case 121:
-#line 1573 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1574 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
-    yyval.ModuleVal = yyvsp[-2].ModuleVal;
+    yyval.ModuleVal = yyvsp[-3].ModuleVal;
   ;
     break;}
 case 122:
-#line 1576 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1577 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     yyval.ModuleVal = yyvsp[-1].ModuleVal;
   ;
     break;}
 case 123:
-#line 1579 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1580 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     yyval.ModuleVal = CurModule.CurrentModule;
     // Emit an error if there are any unresolved types left.
@@ -2939,7 +2966,7 @@
   ;
     break;}
 case 124:
-#line 1592 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1593 "/Users/sabre/cvs/llvm/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:
@@ -2962,30 +2989,30 @@
   ;
     break;}
 case 125:
-#line 1612 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1613 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {       // Function prototypes can be in const pool
   ;
     break;}
 case 126:
-#line 1614 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{    // Asm blocks can be in the const pool
+#line 1615 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+{  // Asm blocks can be in the const pool
   ;
     break;}
 case 127:
-#line 1616 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1617 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     if (yyvsp[0].ConstVal == 0) ThrowException("Global value initializer is not a constant!");
     CurGV = ParseGlobalVariable(yyvsp[-3].StrVal, yyvsp[-2].Linkage, yyvsp[-1].BoolVal, yyvsp[0].ConstVal->getType(), yyvsp[0].ConstVal);
                                                        ;
     break;}
 case 128:
-#line 1619 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1620 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     CurGV = 0;
   ;
     break;}
 case 129:
-#line 1622 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1623 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     CurGV = ParseGlobalVariable(yyvsp[-3].StrVal, GlobalValue::ExternalLinkage,
                                              yyvsp[-1].BoolVal, *yyvsp[0].TypeVal, 0);
@@ -2993,53 +3020,56 @@
                                                    ;
     break;}
 case 130:
-#line 1626 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1627 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     CurGV = 0;
   ;
     break;}
 case 131:
-#line 1629 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1630 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 { 
   ;
     break;}
 case 132:
-#line 1631 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1632 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
   ;
     break;}
 case 133:
-#line 1633 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1634 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 { 
   ;
     break;}
 case 134:
-#line 1637 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1638 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
-  const std::string &AsmSoFar = CurModule.CurrentModule->getInlineAsm();
-  if (AsmSoFar.empty())
-    CurModule.CurrentModule->setInlineAsm(yyvsp[0].StrVal);
-  else
-    CurModule.CurrentModule->setInlineAsm(AsmSoFar+"\n"+yyvsp[0].StrVal);
+  const std::string &AsmSoFar = CurModule.CurrentModule->getModuleInlineAsm();
+  char *EndStr = UnEscapeLexed(yyvsp[0].StrVal, true);
+  std::string NewAsm(yyvsp[0].StrVal, EndStr);
   free(yyvsp[0].StrVal);
+
+  if (AsmSoFar.empty())
+    CurModule.CurrentModule->setModuleInlineAsm(NewAsm);
+  else
+    CurModule.CurrentModule->setModuleInlineAsm(AsmSoFar+"\n"+NewAsm);
 ;
     break;}
 case 135:
-#line 1646 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1650 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 { yyval.Endianness = Module::BigEndian; ;
     break;}
 case 136:
-#line 1647 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1651 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 { yyval.Endianness = Module::LittleEndian; ;
     break;}
 case 137:
-#line 1649 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1653 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     CurModule.CurrentModule->setEndianness(yyvsp[0].Endianness);
   ;
     break;}
 case 138:
-#line 1652 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1656 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     if (yyvsp[0].UInt64Val == 32)
       CurModule.CurrentModule->setPointerSize(Module::Pointer32);
@@ -3050,37 +3080,37 @@
   ;
     break;}
 case 139:
-#line 1660 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1664 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     CurModule.CurrentModule->setTargetTriple(yyvsp[0].StrVal);
     free(yyvsp[0].StrVal);
   ;
     break;}
 case 141:
-#line 1667 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
-{
-          CurModule.CurrentModule->addLibrary(yyvsp[0].StrVal);
-          free(yyvsp[0].StrVal);
-        ;
-    break;}
-case 142:
 #line 1671 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
           CurModule.CurrentModule->addLibrary(yyvsp[0].StrVal);
           free(yyvsp[0].StrVal);
         ;
     break;}
-case 143:
+case 142:
 #line 1675 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
+          CurModule.CurrentModule->addLibrary(yyvsp[0].StrVal);
+          free(yyvsp[0].StrVal);
+        ;
+    break;}
+case 143:
+#line 1679 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+{
         ;
     break;}
 case 147:
-#line 1684 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1688 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 { yyval.StrVal = 0; ;
     break;}
 case 148:
-#line 1686 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1690 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
   if (*yyvsp[-1].TypeVal == Type::VoidTy)
     ThrowException("void typed arguments are invalid!");
@@ -3088,7 +3118,7 @@
 ;
     break;}
 case 149:
-#line 1692 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1696 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     yyval.ArgList = yyvsp[-2].ArgList;
     yyvsp[-2].ArgList->push_back(*yyvsp[0].ArgVal);
@@ -3096,7 +3126,7 @@
   ;
     break;}
 case 150:
-#line 1697 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1701 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     yyval.ArgList = new std::vector<std::pair<PATypeHolder*,char*> >();
     yyval.ArgList->push_back(*yyvsp[0].ArgVal);
@@ -3104,13 +3134,13 @@
   ;
     break;}
 case 151:
-#line 1703 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1707 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     yyval.ArgList = yyvsp[0].ArgList;
   ;
     break;}
 case 152:
-#line 1706 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1710 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     yyval.ArgList = yyvsp[-2].ArgList;
     yyval.ArgList->push_back(std::pair<PATypeHolder*,
@@ -3118,20 +3148,20 @@
   ;
     break;}
 case 153:
-#line 1711 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1715 "/Users/sabre/cvs/llvm/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));
   ;
     break;}
 case 154:
-#line 1715 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1719 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     yyval.ArgList = 0;
   ;
     break;}
 case 155:
-#line 1720 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1724 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
   UnEscapeLexed(yyvsp[-5].StrVal);
   std::string FunctionName(yyvsp[-5].StrVal);
@@ -3218,7 +3248,7 @@
 ;
     break;}
 case 158:
-#line 1807 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1811 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
   yyval.FunctionVal = CurFun.CurrentFunction;
 
@@ -3228,72 +3258,72 @@
 ;
     break;}
 case 161:
-#line 1817 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1821 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
   yyval.FunctionVal = yyvsp[-1].FunctionVal;
 ;
     break;}
 case 162:
-#line 1821 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1825 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 { CurFun.isDeclare = true; ;
     break;}
 case 163:
-#line 1821 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1825 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
   yyval.FunctionVal = CurFun.CurrentFunction;
   CurFun.FunctionDone();
 ;
     break;}
 case 164:
-#line 1830 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1834 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {    // A reference to a direct constant
     yyval.ValIDVal = ValID::create(yyvsp[0].SInt64Val);
   ;
     break;}
 case 165:
-#line 1833 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1837 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     yyval.ValIDVal = ValID::create(yyvsp[0].UInt64Val);
   ;
     break;}
 case 166:
-#line 1836 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1840 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {                     // Perhaps it's an FP constant?
     yyval.ValIDVal = ValID::create(yyvsp[0].FPVal);
   ;
     break;}
 case 167:
-#line 1839 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1843 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     yyval.ValIDVal = ValID::create(ConstantBool::True);
   ;
     break;}
 case 168:
-#line 1842 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1846 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     yyval.ValIDVal = ValID::create(ConstantBool::False);
   ;
     break;}
 case 169:
-#line 1845 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1849 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     yyval.ValIDVal = ValID::createNull();
   ;
     break;}
 case 170:
-#line 1848 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1852 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     yyval.ValIDVal = ValID::createUndef();
   ;
     break;}
 case 171:
-#line 1851 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1855 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {     // A vector zero constant.
     yyval.ValIDVal = ValID::createZeroInit();
   ;
     break;}
 case 172:
-#line 1854 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1858 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 { // Nonempty unsized packed vector
     const Type *ETy = (*yyvsp[-1].ConstVector)[0]->getType();
     int NumElements = yyvsp[-1].ConstVector->size(); 
@@ -3320,43 +3350,43 @@
   ;
     break;}
 case 173:
-#line 1878 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1882 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     yyval.ValIDVal = ValID::create(yyvsp[0].ConstVal);
   ;
     break;}
 case 174:
-#line 1885 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1889 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {  // Is it an integer reference...?
     yyval.ValIDVal = ValID::create(yyvsp[0].SIntVal);
   ;
     break;}
 case 175:
-#line 1888 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1892 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {                   // Is it a named reference...?
     yyval.ValIDVal = ValID::create(yyvsp[0].StrVal);
   ;
     break;}
 case 178:
-#line 1899 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1903 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     yyval.ValueVal = getVal(*yyvsp[-1].TypeVal, yyvsp[0].ValIDVal); delete yyvsp[-1].TypeVal;
   ;
     break;}
 case 179:
-#line 1903 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1907 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     yyval.FunctionVal = yyvsp[-1].FunctionVal;
   ;
     break;}
 case 180:
-#line 1906 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1910 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 { // Do not allow functions with 0 basic blocks   
     yyval.FunctionVal = yyvsp[-1].FunctionVal;
   ;
     break;}
 case 181:
-#line 1914 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1918 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     setValueName(yyvsp[0].TermInstVal, yyvsp[-1].StrVal);
     InsertValue(yyvsp[0].TermInstVal);
@@ -3367,14 +3397,14 @@
   ;
     break;}
 case 182:
-#line 1923 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1927 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     yyvsp[-1].BasicBlockVal->getInstList().push_back(yyvsp[0].InstVal);
     yyval.BasicBlockVal = yyvsp[-1].BasicBlockVal;
   ;
     break;}
 case 183:
-#line 1927 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1931 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     yyval.BasicBlockVal = CurBB = getBBVal(ValID::create((int)CurFun.NextBBNum++), true);
 
@@ -3387,7 +3417,7 @@
   ;
     break;}
 case 184:
-#line 1937 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1941 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     yyval.BasicBlockVal = CurBB = getBBVal(ValID::create(yyvsp[0].StrVal), true);
 
@@ -3400,31 +3430,31 @@
   ;
     break;}
 case 185:
-#line 1948 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1952 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {              // Return with a result...
     yyval.TermInstVal = new ReturnInst(yyvsp[0].ValueVal);
   ;
     break;}
 case 186:
-#line 1951 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1955 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {                                       // Return with no result...
     yyval.TermInstVal = new ReturnInst();
   ;
     break;}
 case 187:
-#line 1954 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1958 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {                         // Unconditional Branch...
     yyval.TermInstVal = new BranchInst(getBBVal(yyvsp[0].ValIDVal));
   ;
     break;}
 case 188:
-#line 1957 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1961 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {  
     yyval.TermInstVal = new BranchInst(getBBVal(yyvsp[-3].ValIDVal), getBBVal(yyvsp[0].ValIDVal), getVal(Type::BoolTy, yyvsp[-6].ValIDVal));
   ;
     break;}
 case 189:
-#line 1960 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1964 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     SwitchInst *S = new SwitchInst(getVal(yyvsp[-7].PrimType, yyvsp[-6].ValIDVal), getBBVal(yyvsp[-3].ValIDVal), yyvsp[-1].JumpTable->size());
     yyval.TermInstVal = S;
@@ -3441,14 +3471,14 @@
   ;
     break;}
 case 190:
-#line 1974 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1978 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     SwitchInst *S = new SwitchInst(getVal(yyvsp[-6].PrimType, yyvsp[-5].ValIDVal), getBBVal(yyvsp[-2].ValIDVal), 0);
     yyval.TermInstVal = S;
   ;
     break;}
 case 191:
-#line 1979 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1983 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     const PointerType *PFTy;
     const FunctionType *Ty;
@@ -3503,19 +3533,19 @@
   ;
     break;}
 case 192:
-#line 2031 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2035 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     yyval.TermInstVal = new UnwindInst();
   ;
     break;}
 case 193:
-#line 2034 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2038 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     yyval.TermInstVal = new UnreachableInst();
   ;
     break;}
 case 194:
-#line 2040 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2044 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     yyval.JumpTable = yyvsp[-5].JumpTable;
     Constant *V = cast<Constant>(getValNonImprovising(yyvsp[-4].PrimType, yyvsp[-3].ValIDVal));
@@ -3526,7 +3556,7 @@
   ;
     break;}
 case 195:
-#line 2048 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2052 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     yyval.JumpTable = new std::vector<std::pair<Constant*, BasicBlock*> >();
     Constant *V = cast<Constant>(getValNonImprovising(yyvsp[-4].PrimType, yyvsp[-3].ValIDVal));
@@ -3538,7 +3568,7 @@
   ;
     break;}
 case 196:
-#line 2058 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2062 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
   // Is this definition named?? if so, assign the name...
   setValueName(yyvsp[0].InstVal, yyvsp[-1].StrVal);
@@ -3547,7 +3577,7 @@
 ;
     break;}
 case 197:
-#line 2065 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2069 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {    // Used for PHI nodes
     yyval.PHIList = new std::list<std::pair<Value*, BasicBlock*> >();
     yyval.PHIList->push_back(std::make_pair(getVal(*yyvsp[-5].TypeVal, yyvsp[-3].ValIDVal), getBBVal(yyvsp[-1].ValIDVal)));
@@ -3555,7 +3585,7 @@
   ;
     break;}
 case 198:
-#line 2070 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2074 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     yyval.PHIList = yyvsp[-6].PHIList;
     yyvsp[-6].PHIList->push_back(std::make_pair(getVal(yyvsp[-6].PHIList->front().first->getType(), yyvsp[-3].ValIDVal),
@@ -3563,37 +3593,37 @@
   ;
     break;}
 case 199:
-#line 2077 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2081 "/Users/sabre/cvs/llvm/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 200:
-#line 2081 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2085 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     yyval.ValueList = yyvsp[-2].ValueList;
     yyvsp[-2].ValueList->push_back(yyvsp[0].ValueVal);
   ;
     break;}
 case 202:
-#line 2087 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2091 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 { yyval.ValueList = 0; ;
     break;}
 case 203:
-#line 2089 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2093 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     yyval.BoolVal = true;
   ;
     break;}
 case 204:
-#line 2092 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2096 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     yyval.BoolVal = false;
   ;
     break;}
 case 205:
-#line 2098 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2102 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     if (!(*yyvsp[-3].TypeVal)->isInteger() && !(*yyvsp[-3].TypeVal)->isFloatingPoint() && 
         !isa<PackedType>((*yyvsp[-3].TypeVal).get()))
@@ -3608,7 +3638,7 @@
   ;
     break;}
 case 206:
-#line 2110 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2114 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     if (!(*yyvsp[-3].TypeVal)->isIntegral()) {
       if (!isa<PackedType>(yyvsp[-3].TypeVal->get()) ||
@@ -3622,7 +3652,7 @@
   ;
     break;}
 case 207:
-#line 2121 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2125 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     if(isa<PackedType>((*yyvsp[-3].TypeVal).get())) {
       ThrowException(
@@ -3635,7 +3665,7 @@
   ;
     break;}
 case 208:
-#line 2131 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2135 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     std::cerr << "WARNING: Use of eliminated 'not' instruction:"
               << " Replacing with 'xor'.\n";
@@ -3650,7 +3680,7 @@
   ;
     break;}
 case 209:
-#line 2143 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2147 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     if (yyvsp[0].ValueVal->getType() != Type::UByteTy)
       ThrowException("Shift amount must be ubyte!");
@@ -3660,7 +3690,7 @@
   ;
     break;}
 case 210:
-#line 2150 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2154 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     if (!yyvsp[0].TypeVal->get()->isFirstClassType())
       ThrowException("cast instruction to a non-primitive type: '" +
@@ -3670,7 +3700,7 @@
   ;
     break;}
 case 211:
-#line 2157 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2161 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     if (yyvsp[-4].ValueVal->getType() != Type::BoolTy)
       ThrowException("select condition must be boolean!");
@@ -3680,7 +3710,7 @@
   ;
     break;}
 case 212:
-#line 2164 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2168 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     NewVarArgs = true;
     yyval.InstVal = new VAArgInst(yyvsp[-2].ValueVal, *yyvsp[0].TypeVal);
@@ -3688,7 +3718,7 @@
   ;
     break;}
 case 213:
-#line 2169 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2173 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     ObsoleteVarArgs = true;
     const Type* ArgTy = yyvsp[-2].ValueVal->getType();
@@ -3710,7 +3740,7 @@
   ;
     break;}
 case 214:
-#line 2188 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2192 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     ObsoleteVarArgs = true;
     const Type* ArgTy = yyvsp[-2].ValueVal->getType();
@@ -3735,7 +3765,7 @@
   ;
     break;}
 case 215:
-#line 2210 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2214 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     if (!isa<PackedType>(yyvsp[-2].ValueVal->getType()))
       ThrowException("First operand of extractelement must be "
@@ -3746,7 +3776,7 @@
   ;
     break;}
 case 216:
-#line 2218 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2222 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     if (!isa<PackedType>(yyvsp[-4].ValueVal->getType()))
       ThrowException("First operand of insertelement must be "
@@ -3761,7 +3791,7 @@
   ;
     break;}
 case 217:
-#line 2230 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2234 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     const Type *Ty = yyvsp[0].PHIList->front().first->getType();
     if (!Ty->isFirstClassType())
@@ -3778,7 +3808,7 @@
   ;
     break;}
 case 218:
-#line 2244 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2248 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     const PointerType *PFTy;
     const FunctionType *Ty;
@@ -3838,65 +3868,65 @@
   ;
     break;}
 case 219:
-#line 2301 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2305 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     yyval.InstVal = yyvsp[0].InstVal;
   ;
     break;}
 case 220:
-#line 2307 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2311 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 { 
     yyval.ValueList = yyvsp[0].ValueList; 
   ;
     break;}
 case 221:
-#line 2309 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2313 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 { 
     yyval.ValueList = new std::vector<Value*>(); 
   ;
     break;}
 case 222:
-#line 2313 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2317 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     yyval.BoolVal = true;
   ;
     break;}
 case 223:
-#line 2316 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2320 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     yyval.BoolVal = false;
   ;
     break;}
 case 224:
-#line 2322 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2326 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     yyval.InstVal = new MallocInst(*yyvsp[-1].TypeVal, 0, yyvsp[0].UIntVal);
     delete yyvsp[-1].TypeVal;
   ;
     break;}
 case 225:
-#line 2326 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2330 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     yyval.InstVal = new MallocInst(*yyvsp[-4].TypeVal, getVal(yyvsp[-2].PrimType, yyvsp[-1].ValIDVal), yyvsp[0].UIntVal);
     delete yyvsp[-4].TypeVal;
   ;
     break;}
 case 226:
-#line 2330 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2334 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     yyval.InstVal = new AllocaInst(*yyvsp[-1].TypeVal, 0, yyvsp[0].UIntVal);
     delete yyvsp[-1].TypeVal;
   ;
     break;}
 case 227:
-#line 2334 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2338 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     yyval.InstVal = new AllocaInst(*yyvsp[-4].TypeVal, getVal(yyvsp[-2].PrimType, yyvsp[-1].ValIDVal), yyvsp[0].UIntVal);
     delete yyvsp[-4].TypeVal;
   ;
     break;}
 case 228:
-#line 2338 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2342 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     if (!isa<PointerType>(yyvsp[0].ValueVal->getType()))
       ThrowException("Trying to free nonpointer type " + 
@@ -3905,7 +3935,7 @@
   ;
     break;}
 case 229:
-#line 2345 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2349 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     if (!isa<PointerType>(yyvsp[-1].TypeVal->get()))
       ThrowException("Can't load from nonpointer type: " +
@@ -3918,7 +3948,7 @@
   ;
     break;}
 case 230:
-#line 2355 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2359 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     const PointerType *PT = dyn_cast<PointerType>(yyvsp[-1].TypeVal->get());
     if (!PT)
@@ -3934,7 +3964,7 @@
   ;
     break;}
 case 231:
-#line 2368 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2372 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     if (!isa<PointerType>(yyvsp[-2].TypeVal->get()))
       ThrowException("getelementptr insn requires pointer operand!");
@@ -4179,7 +4209,7 @@
     }
   return 1;
 }
-#line 2391 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2395 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
 
 int yyerror(const char *ErrorMsg) {
   std::string where