[llvm-commits] [llvm] r44934 - in /llvm/trunk/lib/AsmParser: llvmAsmParser.cpp.cvs llvmAsmParser.y.cvs

Christopher Lamb christopher.lamb at gmail.com
Wed Dec 12 00:45:46 PST 2007


Author: clamb
Date: Wed Dec 12 02:45:45 2007
New Revision: 44934

URL: http://llvm.org/viewvc/llvm-project?rev=44934&view=rev
Log:
Regenerate.

Modified:
    llvm/trunk/lib/AsmParser/llvmAsmParser.cpp.cvs
    llvm/trunk/lib/AsmParser/llvmAsmParser.y.cvs

Modified: llvm/trunk/lib/AsmParser/llvmAsmParser.cpp.cvs
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/AsmParser/llvmAsmParser.cpp.cvs?rev=44934&r1=44933&r2=44934&view=diff

==============================================================================
--- llvm/trunk/lib/AsmParser/llvmAsmParser.cpp.cvs (original)
+++ llvm/trunk/lib/AsmParser/llvmAsmParser.cpp.cvs Wed Dec 12 02:45:45 2007
@@ -1149,7 +1149,7 @@
 
 
 
-#define	YYFINAL		622
+#define	YYFINAL		619
 #define	YYFLAG		-32768
 #define	YYNTBASE	164
 
@@ -1159,10 +1159,10 @@
      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,   153,
-   154,   152,     2,   151,     2,     2,     2,     2,     2,     2,
+     2,     2,     2,     2,     2,     2,     2,     2,     2,   150,
+   151,   154,     2,   153,     2,     2,     2,     2,     2,     2,
      2,     2,     2,     2,     2,     2,     2,     2,     2,   159,
-   150,   160,     2,     2,     2,     2,     2,     2,     2,     2,
+   152,   160,     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,
    156,   155,   158,     2,     2,     2,     2,     2,   163,     2,
@@ -1207,32 +1207,32 @@
     60,    62,    64,    66,    68,    70,    72,    74,    76,    78,
     80,    82,    84,    86,    88,    90,    92,    94,    96,    98,
    100,   102,   104,   106,   108,   110,   112,   114,   116,   118,
-   120,   122,   124,   126,   127,   130,   131,   133,   135,   137,
-   138,   141,   143,   145,   147,   149,   151,   153,   155,   157,
-   158,   160,   162,   164,   165,   167,   169,   170,   172,   174,
-   176,   178,   179,   181,   183,   184,   186,   188,   190,   192,
-   194,   197,   199,   201,   203,   205,   207,   209,   211,   213,
-   215,   216,   219,   221,   223,   225,   227,   229,   231,   232,
-   235,   236,   239,   240,   243,   244,   248,   251,   252,   254,
-   255,   259,   261,   264,   266,   268,   270,   272,   274,   276,
-   278,   280,   282,   285,   292,   294,   297,   303,   309,   315,
-   321,   325,   328,   334,   339,   342,   344,   346,   348,   352,
-   354,   358,   360,   361,   363,   367,   372,   376,   380,   385,
-   390,   394,   401,   407,   410,   413,   416,   419,   422,   425,
-   428,   431,   434,   437,   440,   443,   450,   456,   465,   472,
-   479,   487,   495,   502,   511,   520,   524,   526,   528,   530,
-   532,   533,   536,   543,   545,   546,   548,   551,   552,   556,
-   557,   561,   565,   569,   573,   574,   582,   583,   595,   596,
-   605,   606,   615,   621,   624,   628,   630,   634,   638,   642,
-   646,   648,   649,   655,   659,   661,   665,   667,   668,   679,
-   681,   683,   688,   690,   692,   695,   699,   700,   702,   704,
-   706,   708,   710,   712,   714,   716,   718,   722,   724,   730,
-   732,   734,   736,   738,   740,   742,   745,   748,   751,   755,
-   758,   759,   761,   764,   767,   771,   781,   791,   800,   815,
-   817,   819,   826,   832,   835,   842,   850,   855,   860,   867,
-   874,   875,   876,   880,   883,   885,   891,   897,   904,   911,
-   916,   923,   928,   933,   940,   947,   950,   959,   961,   963,
-   964,   968,   975,   979,   986,   989,   995,  1003
+   120,   122,   124,   126,   127,   132,   133,   136,   137,   139,
+   141,   143,   144,   147,   149,   151,   153,   155,   157,   159,
+   161,   163,   164,   166,   168,   170,   171,   173,   175,   176,
+   178,   180,   182,   184,   185,   187,   189,   190,   192,   194,
+   196,   198,   200,   203,   205,   207,   209,   211,   213,   215,
+   217,   219,   221,   222,   225,   227,   229,   231,   233,   235,
+   237,   238,   241,   242,   245,   246,   249,   250,   254,   257,
+   258,   260,   261,   265,   267,   270,   272,   274,   276,   278,
+   280,   282,   284,   286,   288,   292,   294,   297,   303,   309,
+   315,   321,   325,   328,   334,   339,   342,   344,   346,   348,
+   352,   354,   358,   360,   361,   363,   367,   372,   376,   380,
+   385,   390,   394,   401,   407,   410,   413,   416,   419,   422,
+   425,   428,   431,   434,   437,   440,   443,   450,   456,   465,
+   472,   479,   487,   495,   502,   511,   520,   524,   526,   528,
+   530,   532,   533,   536,   543,   545,   546,   548,   551,   552,
+   556,   557,   561,   565,   569,   573,   574,   583,   584,   594,
+   595,   605,   611,   614,   618,   620,   624,   628,   632,   636,
+   638,   639,   645,   649,   651,   655,   657,   658,   669,   671,
+   673,   678,   680,   682,   685,   689,   690,   692,   694,   696,
+   698,   700,   702,   704,   706,   708,   712,   714,   720,   722,
+   724,   726,   728,   730,   732,   735,   738,   741,   745,   748,
+   749,   751,   754,   757,   761,   771,   781,   790,   805,   807,
+   809,   816,   822,   825,   832,   840,   845,   850,   857,   864,
+   865,   866,   870,   873,   875,   881,   887,   894,   901,   906,
+   913,   918,   923,   930,   937,   940,   949,   951,   953,   954,
+   958,   965,   969,   976,   979,   985,   993
 };
 
 static const short yyrhs[] = {    74,
@@ -1248,95 +1248,94 @@
      0,   110,     0,    97,     0,    98,     0,    99,     0,   100,
      0,    26,     0,    27,     0,    11,     0,    12,     0,    13,
      0,    16,     0,    15,     0,    14,     0,    19,     0,    22,
-     0,    24,     0,   171,     0,     0,   171,   150,     0,     0,
-    20,     0,    23,     0,   176,     0,     0,   174,   150,     0,
-    42,     0,    44,     0,    43,     0,    45,     0,    47,     0,
-    46,     0,    48,     0,    50,     0,     0,   147,     0,   148,
-     0,   149,     0,     0,    46,     0,    48,     0,     0,    42,
-     0,    43,     0,    44,     0,    47,     0,     0,    44,     0,
-    42,     0,     0,    62,     0,    63,     0,    64,     0,    65,
-     0,    66,     0,    61,     4,     0,   136,     0,   118,     0,
-   135,     0,   119,     0,   138,     0,   139,     0,   141,     0,
-   142,     0,   143,     0,     0,   185,   184,     0,   137,     0,
-   140,     0,   136,     0,   135,     0,   144,     0,   145,     0,
-     0,   187,   186,     0,     0,   146,    22,     0,     0,    53,
-     4,     0,     0,   151,    53,     4,     0,    34,    22,     0,
-     0,   191,     0,     0,   151,   194,   193,     0,   191,     0,
-    53,     4,     0,    11,     0,    12,     0,    13,     0,    16,
-     0,    15,     0,    14,     0,    17,     0,    49,     0,   195,
-     0,   196,   152,     0,   196,    54,   153,     4,   154,   152,
-     0,   231,     0,   155,     4,     0,   196,   153,   200,   154,
-   187,     0,    10,   153,   200,   154,   187,     0,   156,     4,
-   157,   196,   158,     0,   159,     4,   157,   196,   160,     0,
-   161,   201,   162,     0,   161,   162,     0,   159,   161,   201,
-   162,   160,     0,   159,   161,   162,   160,     0,   196,   185,
-     0,   196,     0,    10,     0,   197,     0,   199,   151,   197,
-     0,   199,     0,   199,   151,    39,     0,    39,     0,     0,
-   196,     0,   201,   151,   196,     0,   196,   156,   204,   158,
-     0,   196,   156,   158,     0,   196,   163,    22,     0,   196,
-   159,   204,   160,     0,   196,   161,   204,   162,     0,   196,
-   161,   162,     0,   196,   159,   161,   204,   162,   160,     0,
-   196,   159,   161,   162,   160,     0,   196,    40,     0,   196,
-    41,     0,   196,   231,     0,   196,   203,     0,   196,    25,
+     0,    24,     0,   171,     0,     0,    54,   150,     4,   151,
+     0,     0,   171,   152,     0,     0,    20,     0,    23,     0,
+   177,     0,     0,   175,   152,     0,    42,     0,    44,     0,
+    43,     0,    45,     0,    47,     0,    46,     0,    48,     0,
+    50,     0,     0,   147,     0,   148,     0,   149,     0,     0,
+    46,     0,    48,     0,     0,    42,     0,    43,     0,    44,
+     0,    47,     0,     0,    44,     0,    42,     0,     0,    62,
+     0,    63,     0,    64,     0,    65,     0,    66,     0,    61,
+     4,     0,   136,     0,   118,     0,   135,     0,   119,     0,
+   138,     0,   139,     0,   141,     0,   142,     0,   143,     0,
+     0,   186,   185,     0,   137,     0,   140,     0,   136,     0,
+   135,     0,   144,     0,   145,     0,     0,   188,   187,     0,
+     0,   146,    22,     0,     0,    53,     4,     0,     0,   153,
+    53,     4,     0,    34,    22,     0,     0,   192,     0,     0,
+   153,   195,   194,     0,   192,     0,    53,     4,     0,    11,
+     0,    12,     0,    13,     0,    16,     0,    15,     0,    14,
+     0,    17,     0,    49,     0,   196,     0,   197,   173,   154,
+     0,   231,     0,   155,     4,     0,   197,   150,   201,   151,
+   188,     0,    10,   150,   201,   151,   188,     0,   156,     4,
+   157,   197,   158,     0,   159,     4,   157,   197,   160,     0,
+   161,   202,   162,     0,   161,   162,     0,   159,   161,   202,
+   162,   160,     0,   159,   161,   162,   160,     0,   197,   186,
+     0,   197,     0,    10,     0,   198,     0,   200,   153,   198,
+     0,   200,     0,   200,   153,    39,     0,    39,     0,     0,
+   197,     0,   202,   153,   197,     0,   197,   156,   205,   158,
+     0,   197,   156,   158,     0,   197,   163,    22,     0,   197,
+   159,   205,   160,     0,   197,   161,   205,   162,     0,   197,
+   161,   162,     0,   197,   159,   161,   205,   162,   160,     0,
+   197,   159,   161,   162,   160,     0,   197,    40,     0,   197,
+    41,     0,   197,   231,     0,   197,   204,     0,   197,    25,
      0,   169,     3,     0,   169,     5,     0,   169,     4,     0,
    169,     6,     0,    11,    26,     0,    11,    27,     0,   170,
-     9,     0,   166,   153,   202,    38,   196,   154,     0,   116,
-   153,   202,   242,   154,     0,   130,   153,   202,   151,   202,
-   151,   202,   154,     0,   164,   153,   202,   151,   202,   154,
-     0,   165,   153,   202,   151,   202,   154,     0,    89,   167,
-   153,   202,   151,   202,   154,     0,    90,   168,   153,   202,
-   151,   202,   154,     0,   132,   153,   202,   151,   202,   154,
-     0,   133,   153,   202,   151,   202,   151,   202,   154,     0,
-   134,   153,   202,   151,   202,   151,   202,   154,     0,   204,
-   151,   202,     0,   202,     0,    32,     0,    33,     0,    37,
-     0,     0,   198,   231,     0,   122,   153,   207,    38,   196,
-   154,     0,   209,     0,     0,   210,     0,   209,   210,     0,
-     0,    31,   211,   227,     0,     0,    30,   212,   228,     0,
-    59,    58,   217,     0,   173,    18,   196,     0,   173,    18,
-    10,     0,     0,   175,   179,   206,   205,   202,   213,   193,
-     0,     0,   175,   179,   206,   205,   202,    54,   153,     4,
-   154,   214,   193,     0,     0,   175,   177,   179,   206,   205,
-   202,   215,   193,     0,     0,   175,   178,   179,   206,   205,
-   196,   216,   193,     0,   175,   179,    35,   182,   207,     0,
-    51,   218,     0,    55,   150,   219,     0,    22,     0,    52,
-   150,    22,     0,    67,   150,    22,     0,   156,   220,   158,
-     0,   220,   151,    22,     0,    22,     0,     0,   221,   151,
-   196,   185,   172,     0,   196,   185,   172,     0,   221,     0,
-   221,   151,    39,     0,    39,     0,     0,   183,   198,   174,
-   153,   222,   154,   187,   192,   189,   188,     0,    28,     0,
-   161,     0,   181,   179,   223,   224,     0,    29,     0,   162,
-     0,   234,   226,     0,   180,   179,   223,     0,     0,    60,
+     9,     0,   166,   150,   203,    38,   197,   151,     0,   116,
+   150,   203,   242,   151,     0,   130,   150,   203,   153,   203,
+   153,   203,   151,     0,   164,   150,   203,   153,   203,   151,
+     0,   165,   150,   203,   153,   203,   151,     0,    89,   167,
+   150,   203,   153,   203,   151,     0,    90,   168,   150,   203,
+   153,   203,   151,     0,   132,   150,   203,   153,   203,   151,
+     0,   133,   150,   203,   153,   203,   153,   203,   151,     0,
+   134,   150,   203,   153,   203,   153,   203,   151,     0,   205,
+   153,   203,     0,   203,     0,    32,     0,    33,     0,    37,
+     0,     0,   199,   231,     0,   122,   150,   208,    38,   197,
+   151,     0,   210,     0,     0,   211,     0,   210,   211,     0,
+     0,    31,   212,   227,     0,     0,    30,   213,   228,     0,
+    59,    58,   217,     0,   174,    18,   197,     0,   174,    18,
+    10,     0,     0,   176,   180,   207,   206,   203,   173,   214,
+   194,     0,     0,   176,   178,   180,   207,   206,   203,   173,
+   215,   194,     0,     0,   176,   179,   180,   207,   206,   197,
+   173,   216,   194,     0,   176,   180,    35,   183,   208,     0,
+    51,   218,     0,    55,   152,   219,     0,    22,     0,    52,
+   152,    22,     0,    67,   152,    22,     0,   156,   220,   158,
+     0,   220,   153,    22,     0,    22,     0,     0,   221,   153,
+   197,   186,   172,     0,   197,   186,   172,     0,   221,     0,
+   221,   153,    39,     0,    39,     0,     0,   184,   199,   175,
+   150,   222,   151,   188,   193,   190,   189,     0,    28,     0,
+   161,     0,   182,   180,   223,   224,     0,    29,     0,   162,
+     0,   234,   226,     0,   181,   180,   223,     0,     0,    60,
      0,     3,     0,     4,     0,     9,     0,    26,     0,    27,
-     0,    40,     0,    41,     0,    25,     0,   159,   204,   160,
-     0,   203,     0,    58,   229,    22,   151,    22,     0,     7,
-     0,     8,     0,   171,     0,   174,     0,   231,     0,   230,
-     0,   196,   232,     0,   234,   235,     0,   225,   235,     0,
-   236,   173,   237,     0,   236,   239,     0,     0,    21,     0,
+     0,    40,     0,    41,     0,    25,     0,   159,   205,   160,
+     0,   204,     0,    58,   229,    22,   153,    22,     0,     7,
+     0,     8,     0,   171,     0,   175,     0,   231,     0,   230,
+     0,   197,   232,     0,   234,   235,     0,   225,   235,     0,
+   236,   174,   237,     0,   236,   239,     0,     0,    21,     0,
     68,   233,     0,    68,    10,     0,    69,    17,   232,     0,
-    69,    11,   232,   151,    17,   232,   151,    17,   232,     0,
-    70,   169,   232,   151,    17,   232,   156,   238,   158,     0,
-    70,   169,   232,   151,    17,   232,   156,   158,     0,    71,
-   183,   198,   232,   153,   241,   154,   187,    38,    17,   232,
+    69,    11,   232,   153,    17,   232,   153,    17,   232,     0,
+    70,   169,   232,   153,    17,   232,   156,   238,   158,     0,
+    70,   169,   232,   153,    17,   232,   156,   158,     0,    71,
+   184,   199,   232,   150,   241,   151,   188,    38,    17,   232,
     72,    17,   232,     0,    72,     0,    73,     0,   238,   169,
-   230,   151,    17,   232,     0,   169,   230,   151,    17,   232,
-     0,   173,   244,     0,   196,   156,   232,   151,   232,   158,
-     0,   240,   151,   156,   232,   151,   232,   158,     0,   196,
-   185,   232,   185,     0,    17,   185,   232,   185,     0,   241,
-   151,   196,   185,   232,   185,     0,   241,   151,    17,   185,
-   232,   185,     0,     0,     0,   242,   151,   233,     0,    57,
-    56,     0,    56,     0,   164,   196,   232,   151,   232,     0,
-   165,   196,   232,   151,   232,     0,    89,   167,   196,   232,
-   151,   232,     0,    90,   168,   196,   232,   151,   232,     0,
-   166,   233,    38,   196,     0,   130,   233,   151,   233,   151,
-   233,     0,   131,   233,   151,   196,     0,   132,   233,   151,
-   233,     0,   133,   233,   151,   233,   151,   233,     0,   134,
-   233,   151,   233,   151,   233,     0,   129,   240,     0,   243,
-   183,   198,   232,   153,   241,   154,   187,     0,   246,     0,
-    36,     0,     0,   111,   196,   190,     0,   111,   196,   151,
-    11,   232,   190,     0,   112,   196,   190,     0,   112,   196,
-   151,    11,   232,   190,     0,   113,   233,     0,   245,   114,
-   196,   232,   190,     0,   245,   115,   233,   151,   196,   232,
-   190,     0,   116,   196,   232,   242,     0
+   230,   153,    17,   232,     0,   169,   230,   153,    17,   232,
+     0,   174,   244,     0,   197,   156,   232,   153,   232,   158,
+     0,   240,   153,   156,   232,   153,   232,   158,     0,   197,
+   186,   232,   186,     0,    17,   186,   232,   186,     0,   241,
+   153,   197,   186,   232,   186,     0,   241,   153,    17,   186,
+   232,   186,     0,     0,     0,   242,   153,   233,     0,    57,
+    56,     0,    56,     0,   164,   197,   232,   153,   232,     0,
+   165,   197,   232,   153,   232,     0,    89,   167,   197,   232,
+   153,   232,     0,    90,   168,   197,   232,   153,   232,     0,
+   166,   233,    38,   197,     0,   130,   233,   153,   233,   153,
+   233,     0,   131,   233,   153,   197,     0,   132,   233,   153,
+   233,     0,   133,   233,   153,   233,   153,   233,     0,   134,
+   233,   153,   233,   153,   233,     0,   129,   240,     0,   243,
+   184,   199,   232,   150,   241,   151,   188,     0,   246,     0,
+    36,     0,     0,   111,   197,   191,     0,   111,   197,   153,
+    11,   232,   191,     0,   112,   197,   191,     0,   112,   197,
+   153,    11,   232,   191,     0,   113,   233,     0,   245,   114,
+   197,   232,   191,     0,   245,   115,   233,   153,   197,   232,
+   191,     0,   116,   197,   232,   242,     0
 };
 
 #endif
@@ -1349,32 +1348,32 @@
   1114,  1115,  1115,  1116,  1116,  1117,  1117,  1121,  1121,  1122,
   1122,  1123,  1123,  1124,  1124,  1125,  1125,  1126,  1126,  1127,
   1127,  1128,  1129,  1134,  1135,  1135,  1135,  1135,  1135,  1137,
-  1137,  1137,  1138,  1138,  1142,  1146,  1151,  1151,  1153,  1154,
-  1159,  1165,  1166,  1167,  1168,  1169,  1173,  1174,  1175,  1179,
-  1180,  1181,  1182,  1186,  1187,  1188,  1192,  1193,  1194,  1195,
-  1196,  1200,  1201,  1202,  1205,  1205,  1206,  1207,  1208,  1209,
-  1210,  1218,  1219,  1220,  1221,  1222,  1223,  1224,  1225,  1226,
-  1229,  1230,  1235,  1236,  1237,  1238,  1239,  1240,  1243,  1244,
-  1249,  1250,  1257,  1257,  1264,  1264,  1274,  1282,  1282,  1288,
-  1288,  1290,  1295,  1308,  1308,  1308,  1308,  1308,  1308,  1308,
-  1311,  1315,  1319,  1326,  1333,  1338,  1346,  1376,  1401,  1406,
-  1416,  1426,  1430,  1440,  1447,  1456,  1463,  1468,  1473,  1480,
-  1481,  1488,  1495,  1503,  1509,  1521,  1549,  1565,  1592,  1620,
-  1646,  1666,  1692,  1712,  1724,  1731,  1797,  1807,  1817,  1823,
-  1833,  1839,  1849,  1854,  1859,  1872,  1884,  1906,  1914,  1920,
-  1931,  1936,  1941,  1947,  1953,  1962,  1966,  1974,  1974,  1977,
-  1977,  1980,  1992,  2013,  2018,  2026,  2027,  2031,  2031,  2035,
-  2035,  2038,  2041,  2065,  2076,  2083,  2086,  2094,  2097,  2103,
-  2106,  2113,  2117,  2157,  2160,  2166,  2176,  2180,  2185,  2187,
-  2192,  2197,  2206,  2216,  2227,  2231,  2240,  2249,  2254,  2388,
-  2388,  2390,  2399,  2399,  2401,  2406,  2418,  2422,  2427,  2431,
-  2435,  2439,  2443,  2447,  2451,  2455,  2459,  2484,  2488,  2498,
-  2502,  2506,  2511,  2518,  2518,  2524,  2533,  2537,  2546,  2555,
-  2564,  2568,  2575,  2579,  2583,  2588,  2598,  2617,  2626,  2710,
-  2714,  2721,  2732,  2745,  2755,  2766,  2776,  2787,  2795,  2805,
-  2812,  2815,  2816,  2823,  2827,  2832,  2848,  2865,  2879,  2893,
-  2905,  2913,  2920,  2926,  2932,  2938,  2953,  3044,  3049,  3053,
-  3060,  3067,  3075,  3082,  3090,  3098,  3112,  3129
+  1137,  1137,  1138,  1138,  1140,  1141,  1145,  1149,  1154,  1154,
+  1156,  1157,  1162,  1168,  1169,  1170,  1171,  1172,  1176,  1177,
+  1178,  1182,  1183,  1184,  1185,  1189,  1190,  1191,  1195,  1196,
+  1197,  1198,  1199,  1203,  1204,  1205,  1208,  1208,  1209,  1210,
+  1211,  1212,  1213,  1221,  1222,  1223,  1224,  1225,  1226,  1227,
+  1228,  1229,  1232,  1233,  1238,  1239,  1240,  1241,  1242,  1243,
+  1246,  1247,  1252,  1253,  1260,  1260,  1267,  1267,  1277,  1285,
+  1285,  1291,  1291,  1293,  1298,  1311,  1311,  1311,  1311,  1311,
+  1311,  1311,  1314,  1318,  1322,  1329,  1334,  1342,  1372,  1397,
+  1402,  1412,  1422,  1426,  1436,  1443,  1452,  1459,  1464,  1469,
+  1476,  1477,  1484,  1491,  1499,  1505,  1517,  1545,  1561,  1588,
+  1616,  1642,  1662,  1688,  1708,  1720,  1727,  1793,  1803,  1813,
+  1819,  1829,  1835,  1845,  1850,  1855,  1868,  1880,  1902,  1910,
+  1916,  1927,  1932,  1937,  1943,  1949,  1958,  1962,  1970,  1970,
+  1973,  1973,  1976,  1988,  2009,  2014,  2022,  2023,  2027,  2027,
+  2031,  2031,  2034,  2037,  2061,  2072,  2080,  2083,  2089,  2092,
+  2099,  2103,  2143,  2146,  2152,  2162,  2166,  2171,  2173,  2178,
+  2183,  2192,  2202,  2213,  2217,  2226,  2235,  2240,  2374,  2374,
+  2376,  2385,  2385,  2387,  2392,  2404,  2408,  2413,  2417,  2421,
+  2425,  2429,  2433,  2437,  2441,  2445,  2470,  2474,  2484,  2488,
+  2492,  2497,  2504,  2504,  2510,  2519,  2523,  2532,  2541,  2550,
+  2554,  2561,  2565,  2569,  2574,  2584,  2603,  2612,  2696,  2700,
+  2707,  2718,  2731,  2741,  2752,  2762,  2773,  2781,  2791,  2798,
+  2801,  2802,  2809,  2813,  2818,  2834,  2851,  2865,  2879,  2891,
+  2899,  2906,  2912,  2918,  2924,  2939,  3030,  3035,  3039,  3046,
+  3053,  3061,  3068,  3076,  3084,  3098,  3115
 };
 #endif
 
@@ -1399,21 +1398,21 @@
 "FPTOUI","FPTOSI","INTTOPTR","PTRTOINT","PHI_TOK","SELECT","VAARG","EXTRACTELEMENT",
 "INSERTELEMENT","SHUFFLEVECTOR","SIGNEXT","ZEROEXT","NORETURN","INREG","SRET",
 "NOUNWIND","NOALIAS","BYVAL","NEST","READNONE","READONLY","GC","DEFAULT","HIDDEN",
-"PROTECTED","'='","','","'*'","'('","')'","'\\\\'","'['","'x'","']'","'<'","'>'",
+"PROTECTED","'('","')'","'='","','","'*'","'\\\\'","'['","'x'","']'","'<'","'>'",
 "'{'","'}'","'c'","ArithmeticOps","LogicalOps","CastOps","IPredicates","FPredicates",
-"IntType","FPType","LocalName","OptLocalName","OptLocalAssign","GlobalName",
-"OptGlobalAssign","GlobalAssign","GVInternalLinkage","GVExternalLinkage","GVVisibilityStyle",
-"FunctionDeclareLinkage","FunctionDefineLinkage","AliasLinkage","OptCallingConv",
-"ParamAttr","OptParamAttrs","FuncAttr","OptFuncAttrs","OptGC","OptAlign","OptCAlign",
-"SectionString","OptSection","GlobalVarAttributes","GlobalVarAttribute","PrimType",
-"Types","ArgType","ResultTypes","ArgTypeList","ArgTypeListI","TypeListI","ConstVal",
-"ConstExpr","ConstVector","GlobalType","ThreadLocal","AliaseeRef","Module","DefinitionList",
-"Definition","@1","@2","@3","@4","@5","@6","AsmBlock","TargetDefinition","LibrariesDefinition",
-"LibList","ArgListH","ArgList","FunctionHeaderH","BEGIN","FunctionHeader","END",
-"Function","FunctionProto","OptSideEffect","ConstValueRef","SymbolicValueRef",
-"ValueRef","ResolvedVal","BasicBlockList","BasicBlock","InstructionList","BBTerminatorInst",
-"JumpTable","Inst","PHIList","ParamList","IndexList","OptTailCall","InstVal",
-"OptVolatile","MemoryInst", NULL
+"IntType","FPType","LocalName","OptLocalName","OptAddrSpace","OptLocalAssign",
+"GlobalName","OptGlobalAssign","GlobalAssign","GVInternalLinkage","GVExternalLinkage",
+"GVVisibilityStyle","FunctionDeclareLinkage","FunctionDefineLinkage","AliasLinkage",
+"OptCallingConv","ParamAttr","OptParamAttrs","FuncAttr","OptFuncAttrs","OptGC",
+"OptAlign","OptCAlign","SectionString","OptSection","GlobalVarAttributes","GlobalVarAttribute",
+"PrimType","Types","ArgType","ResultTypes","ArgTypeList","ArgTypeListI","TypeListI",
+"ConstVal","ConstExpr","ConstVector","GlobalType","ThreadLocal","AliaseeRef",
+"Module","DefinitionList","Definition","@1","@2","@3","@4","@5","AsmBlock","TargetDefinition",
+"LibrariesDefinition","LibList","ArgListH","ArgList","FunctionHeaderH","BEGIN",
+"FunctionHeader","END","Function","FunctionProto","OptSideEffect","ConstValueRef",
+"SymbolicValueRef","ValueRef","ResolvedVal","BasicBlockList","BasicBlock","InstructionList",
+"BBTerminatorInst","JumpTable","Inst","PHIList","ParamList","IndexList","OptTailCall",
+"InstVal","OptVolatile","MemoryInst", NULL
 };
 #endif
 
@@ -1425,31 +1424,31 @@
    168,   168,   168,   168,   168,   168,   168,   168,   168,   168,
    168,   168,   168,   169,   170,   170,   170,   170,   170,   171,
    171,   171,   172,   172,   173,   173,   174,   174,   175,   175,
-   176,   177,   177,   177,   177,   177,   178,   178,   178,   179,
-   179,   179,   179,   180,   180,   180,   181,   181,   181,   181,
-   181,   182,   182,   182,   183,   183,   183,   183,   183,   183,
-   183,   184,   184,   184,   184,   184,   184,   184,   184,   184,
-   185,   185,   186,   186,   186,   186,   186,   186,   187,   187,
-   188,   188,   189,   189,   190,   190,   191,   192,   192,   193,
-   193,   194,   194,   195,   195,   195,   195,   195,   195,   195,
-   196,   196,   196,   196,   196,   196,   196,   196,   196,   196,
-   196,   196,   196,   196,   197,   198,   198,   199,   199,   200,
-   200,   200,   200,   201,   201,   202,   202,   202,   202,   202,
-   202,   202,   202,   202,   202,   202,   202,   202,   202,   202,
-   202,   202,   202,   202,   202,   203,   203,   203,   203,   203,
-   203,   203,   203,   203,   203,   204,   204,   205,   205,   206,
-   206,   207,   207,   208,   208,   209,   209,   211,   210,   212,
-   210,   210,   210,   210,   213,   210,   214,   210,   215,   210,
-   216,   210,   210,   210,   210,   217,   218,   218,   219,   220,
-   220,   220,   221,   221,   222,   222,   222,   222,   223,   224,
-   224,   225,   226,   226,   227,   228,   229,   229,   230,   230,
-   230,   230,   230,   230,   230,   230,   230,   230,   230,   231,
-   231,   231,   231,   232,   232,   233,   234,   234,   235,   236,
-   236,   236,   237,   237,   237,   237,   237,   237,   237,   237,
-   237,   238,   238,   239,   240,   240,   241,   241,   241,   241,
-   241,   242,   242,   243,   243,   244,   244,   244,   244,   244,
-   244,   244,   244,   244,   244,   244,   244,   244,   245,   245,
-   246,   246,   246,   246,   246,   246,   246,   246
+   176,   176,   177,   178,   178,   178,   178,   178,   179,   179,
+   179,   180,   180,   180,   180,   181,   181,   181,   182,   182,
+   182,   182,   182,   183,   183,   183,   184,   184,   184,   184,
+   184,   184,   184,   185,   185,   185,   185,   185,   185,   185,
+   185,   185,   186,   186,   187,   187,   187,   187,   187,   187,
+   188,   188,   189,   189,   190,   190,   191,   191,   192,   193,
+   193,   194,   194,   195,   195,   196,   196,   196,   196,   196,
+   196,   196,   197,   197,   197,   197,   197,   197,   197,   197,
+   197,   197,   197,   197,   197,   198,   199,   199,   200,   200,
+   201,   201,   201,   201,   202,   202,   203,   203,   203,   203,
+   203,   203,   203,   203,   203,   203,   203,   203,   203,   203,
+   203,   203,   203,   203,   203,   203,   204,   204,   204,   204,
+   204,   204,   204,   204,   204,   204,   205,   205,   206,   206,
+   207,   207,   208,   208,   209,   209,   210,   210,   212,   211,
+   213,   211,   211,   211,   211,   214,   211,   215,   211,   216,
+   211,   211,   211,   211,   217,   218,   218,   219,   220,   220,
+   220,   221,   221,   222,   222,   222,   222,   223,   224,   224,
+   225,   226,   226,   227,   228,   229,   229,   230,   230,   230,
+   230,   230,   230,   230,   230,   230,   230,   230,   231,   231,
+   231,   231,   232,   232,   233,   234,   234,   235,   236,   236,
+   236,   237,   237,   237,   237,   237,   237,   237,   237,   237,
+   238,   238,   239,   240,   240,   241,   241,   241,   241,   241,
+   242,   242,   243,   243,   244,   244,   244,   244,   244,   244,
+   244,   244,   244,   244,   244,   244,   244,   245,   245,   246,
+   246,   246,   246,   246,   246,   246,   246
 };
 
 static const short yyr2[] = {     0,
@@ -1459,461 +1458,462 @@
      1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
      1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
      1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-     1,     1,     1,     0,     2,     0,     1,     1,     1,     0,
-     2,     1,     1,     1,     1,     1,     1,     1,     1,     0,
+     1,     1,     1,     0,     4,     0,     2,     0,     1,     1,
+     1,     0,     2,     1,     1,     1,     1,     1,     1,     1,
+     1,     0,     1,     1,     1,     0,     1,     1,     0,     1,
      1,     1,     1,     0,     1,     1,     0,     1,     1,     1,
-     1,     0,     1,     1,     0,     1,     1,     1,     1,     1,
-     2,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-     0,     2,     1,     1,     1,     1,     1,     1,     0,     2,
-     0,     2,     0,     2,     0,     3,     2,     0,     1,     0,
-     3,     1,     2,     1,     1,     1,     1,     1,     1,     1,
-     1,     1,     2,     6,     1,     2,     5,     5,     5,     5,
-     3,     2,     5,     4,     2,     1,     1,     1,     3,     1,
-     3,     1,     0,     1,     3,     4,     3,     3,     4,     4,
-     3,     6,     5,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     6,     5,     8,     6,     6,
-     7,     7,     6,     8,     8,     3,     1,     1,     1,     1,
-     0,     2,     6,     1,     0,     1,     2,     0,     3,     0,
-     3,     3,     3,     3,     0,     7,     0,    11,     0,     8,
-     0,     8,     5,     2,     3,     1,     3,     3,     3,     3,
-     1,     0,     5,     3,     1,     3,     1,     0,    10,     1,
-     1,     4,     1,     1,     2,     3,     0,     1,     1,     1,
-     1,     1,     1,     1,     1,     1,     3,     1,     5,     1,
-     1,     1,     1,     1,     1,     2,     2,     2,     3,     2,
-     0,     1,     2,     2,     3,     9,     9,     8,    14,     1,
-     1,     6,     5,     2,     6,     7,     4,     4,     6,     6,
-     0,     0,     3,     2,     1,     5,     5,     6,     6,     4,
-     6,     4,     4,     6,     6,     2,     8,     1,     1,     0,
-     3,     6,     3,     6,     2,     5,     7,     4
+     1,     1,     2,     1,     1,     1,     1,     1,     1,     1,
+     1,     1,     0,     2,     1,     1,     1,     1,     1,     1,
+     0,     2,     0,     2,     0,     2,     0,     3,     2,     0,
+     1,     0,     3,     1,     2,     1,     1,     1,     1,     1,
+     1,     1,     1,     1,     3,     1,     2,     5,     5,     5,
+     5,     3,     2,     5,     4,     2,     1,     1,     1,     3,
+     1,     3,     1,     0,     1,     3,     4,     3,     3,     4,
+     4,     3,     6,     5,     2,     2,     2,     2,     2,     2,
+     2,     2,     2,     2,     2,     2,     6,     5,     8,     6,
+     6,     7,     7,     6,     8,     8,     3,     1,     1,     1,
+     1,     0,     2,     6,     1,     0,     1,     2,     0,     3,
+     0,     3,     3,     3,     3,     0,     8,     0,     9,     0,
+     9,     5,     2,     3,     1,     3,     3,     3,     3,     1,
+     0,     5,     3,     1,     3,     1,     0,    10,     1,     1,
+     4,     1,     1,     2,     3,     0,     1,     1,     1,     1,
+     1,     1,     1,     1,     1,     3,     1,     5,     1,     1,
+     1,     1,     1,     1,     2,     2,     2,     3,     2,     0,
+     1,     2,     2,     3,     9,     9,     8,    14,     1,     1,
+     6,     5,     2,     6,     7,     4,     4,     6,     6,     0,
+     0,     3,     2,     1,     5,     5,     6,     6,     4,     6,
+     4,     4,     6,     6,     2,     8,     1,     1,     0,     3,
+     6,     3,     6,     2,     5,     7,     4
 };
 
-static const short yydefact[] = {    70,
-    60,    67,    61,    68,    62,   210,   208,     0,     0,     0,
-     0,     0,     0,    80,    69,    70,   206,    84,    87,     0,
-     0,   224,     0,     0,    65,     0,    71,    72,    74,    73,
-    75,    77,    76,    78,    79,    81,    82,    83,    80,    80,
-   201,   207,    85,    86,    80,   211,    88,    89,    90,    91,
-    80,   271,   209,   271,     0,     0,   232,   225,   226,   212,
-   260,   261,   214,   134,   135,   136,   139,   138,   137,   140,
-   141,     0,     0,     0,     0,   262,   263,   142,   213,   145,
-   201,   201,    92,   200,     0,    95,    95,   272,   268,    66,
-   243,   244,   245,   267,   227,   228,   231,     0,   163,   146,
-     0,     0,     0,     0,   152,   164,     0,     0,   143,   163,
-     0,     0,    94,    93,     0,   198,   199,     0,     0,    96,
-    97,    98,    99,   100,     0,   246,     0,   310,   270,     0,
-   229,   162,   111,   158,   160,     0,     0,     0,     0,     0,
-     0,   151,     0,     0,     0,     0,   157,     0,   156,     0,
-   223,   134,   135,   136,   139,   138,   137,     0,     0,     0,
-   215,   101,     0,   240,   241,   242,   309,   295,     0,     0,
-     0,     0,    95,   280,   281,     1,     2,     3,     4,     5,
-     6,     7,     8,     9,    13,    14,    15,    10,    11,    12,
-     0,     0,     0,     0,     0,     0,    16,    17,    18,    19,
-    20,    21,    22,    23,    24,    25,    26,    27,     0,     0,
-     0,     0,     0,     0,     0,     0,     0,   269,    95,   284,
-     0,   308,   230,   155,     0,   119,     0,     0,   154,     0,
-   165,     0,   119,   219,   221,     0,   202,   183,   184,   179,
-   181,   180,   182,   185,   178,   174,   175,     0,     0,     0,
+static const short yydefact[] = {    72,
+    60,    69,    61,    70,    62,   211,   209,     0,     0,     0,
+     0,     0,     0,    82,    71,    72,   207,    86,    89,     0,
+     0,   223,     0,     0,    67,     0,    73,    74,    76,    75,
+    77,    79,    78,    80,    81,    83,    84,    85,    82,    82,
+   202,   208,    87,    88,    82,   212,    90,    91,    92,    93,
+    82,   270,   210,   270,     0,     0,   231,   224,   225,   213,
+   259,   260,   215,   136,   137,   138,   141,   140,   139,   142,
+   143,     0,     0,     0,     0,   261,   262,   144,   214,   146,
+   202,   202,    94,   201,     0,    97,    97,   271,   267,    68,
+   242,   243,   244,   266,   226,   227,   230,     0,   164,   147,
+     0,     0,     0,     0,   153,   165,     0,     0,   164,     0,
+     0,     0,    96,    95,     0,   199,   200,     0,     0,    98,
+    99,   100,   101,   102,     0,   245,     0,   309,   269,     0,
+   228,   163,   113,   159,   161,     0,     0,     0,     0,     0,
+     0,   152,     0,     0,   145,     0,     0,   158,     0,   157,
+     0,   222,   136,   137,   138,   141,   140,   139,     0,     0,
+    66,    66,   103,     0,   239,   240,   241,   308,   294,     0,
+     0,     0,     0,    97,   279,   280,     1,     2,     3,     4,
+     5,     6,     7,     8,     9,    13,    14,    15,    10,    11,
+    12,     0,     0,     0,     0,     0,     0,    16,    17,    18,
+    19,    20,    21,    22,    23,    24,    25,    26,    27,     0,
+     0,     0,     0,     0,     0,     0,     0,     0,   268,    97,
+   283,     0,   307,   229,   156,     0,   121,    66,    66,   155,
+     0,   166,     0,   121,    66,    66,     0,   203,   184,   185,
+   180,   182,   181,   183,   186,   179,   175,   176,     0,     0,
      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-     0,   177,   176,     0,   130,     0,   294,   274,     0,   273,
+     0,     0,   178,   177,   216,     0,   293,   273,    66,   272,
      0,     0,    54,     0,     0,    28,    29,    30,    31,    32,
     33,    34,    35,    36,    37,     0,    52,    53,    48,    49,
     50,    51,    38,    39,    40,    41,    42,    43,    44,    45,
-    46,    47,     0,   125,   125,   315,     0,     0,   306,     0,
-     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-   103,   105,   104,   102,   106,   107,   108,   109,   110,   112,
-   161,   159,   148,   149,   150,   153,     0,   147,   130,   130,
-     0,     0,     0,     0,     0,     0,     0,     0,   167,   197,
-     0,     0,     0,   171,     0,   168,     0,     0,     0,     0,
-     0,   216,   238,   249,   250,   251,   256,   252,   253,   254,
-   255,   247,     0,   258,   265,   264,   266,     0,   275,     0,
-     0,     0,     0,     0,   311,     0,   313,   292,     0,     0,
-     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-     0,   116,   115,   113,   114,   117,   118,   120,   144,   220,
-   222,     0,     0,     0,   292,     0,     0,     0,     0,     0,
-   166,   152,   164,     0,   169,   170,     0,     0,     0,     0,
-     0,     0,   132,   130,   237,   111,   235,     0,   248,     0,
-     0,     0,     0,     0,     0,     0,     0,     0,     0,   318,
-     0,     0,     0,   302,   303,     0,     0,     0,     0,   300,
-     0,   125,     0,     0,     0,     0,     0,     0,     0,     0,
-     0,   196,   173,     0,     0,     0,     0,   217,   127,   133,
-   131,    64,     0,   119,     0,   257,     0,     0,   291,     0,
-     0,   125,   126,   125,     0,     0,     0,     0,     0,     0,
-   296,   297,   291,     0,   316,     0,   203,     0,     0,   187,
-     0,     0,     0,     0,   172,     0,     0,     0,   130,    63,
-   234,   236,   111,   128,     0,     0,     0,   111,   111,     0,
-   298,   299,   312,   314,   293,     0,     0,   301,   304,   305,
-     0,   125,     0,     0,     0,   193,     0,     0,   189,   190,
-   186,   218,    64,   129,   123,   259,     0,     0,     0,     0,
-     0,   119,   285,     0,   119,   317,   191,   192,     0,     0,
-     0,   233,     0,   121,     0,   278,     0,     0,   103,   105,
-   111,   111,   111,   111,     0,   286,   307,   188,   194,   195,
-   124,     0,   239,   276,     0,   277,     0,   288,   287,     0,
-     0,     0,   122,     0,     0,   111,   111,     0,     0,     0,
-   290,   289,     0,   283,     0,     0,   282,     0,   279,     0,
-     0,     0
+    46,    47,     0,   127,   127,   314,    66,    66,   305,     0,
+     0,     0,     0,     0,    66,    66,     0,     0,     0,     0,
+   105,   107,   106,   104,   108,   109,   110,   111,   112,   114,
+   162,   160,   149,   150,   151,   154,    65,   148,   218,   220,
+     0,     0,     0,     0,     0,     0,     0,     0,   168,   198,
+     0,     0,     0,   172,     0,   169,     0,     0,     0,   132,
+   237,   248,   249,   250,   255,   251,   252,   253,   254,   246,
+     0,   257,   264,   263,   265,     0,   274,     0,     0,    66,
+    66,     0,   310,     0,   312,   291,     0,     0,     0,     0,
+     0,     0,     0,     0,     0,     0,     0,    66,     0,   118,
+   117,   115,   116,   119,   120,   122,   132,   132,     0,     0,
+     0,   291,     0,     0,     0,     0,     0,   167,   153,   165,
+     0,   170,   171,     0,     0,     0,     0,   217,   236,   113,
+   234,     0,   247,     0,     0,     0,     0,     0,     0,     0,
+     0,     0,     0,   317,     0,     0,     0,   301,   302,     0,
+     0,     0,     0,   299,     0,   127,     0,   219,   221,    66,
+     0,     0,     0,     0,     0,     0,     0,   197,   174,     0,
+     0,     0,     0,     0,     0,   134,   132,    64,     0,   121,
+     0,   256,     0,     0,   290,     0,     0,   127,   128,   127,
+     0,     0,     0,     0,     0,     0,   295,   296,   290,     0,
+   315,    66,   204,     0,     0,   188,     0,     0,     0,     0,
+   173,     0,     0,    66,   129,   135,   133,    63,   233,   235,
+   113,   130,     0,     0,     0,   113,   113,     0,   297,   298,
+   311,   313,   292,     0,     0,   300,   303,   304,     0,   127,
+     0,     0,     0,   194,     0,     0,   190,   191,   187,    64,
+   131,   125,   258,     0,     0,     0,     0,   121,     0,   284,
+     0,   121,   316,   192,   193,     0,     0,     0,   232,     0,
+   123,     0,   277,     0,     0,   105,   107,   113,   113,     0,
+   113,   113,   285,   306,   189,   195,   196,   126,     0,   238,
+   275,     0,   276,     0,   287,   286,     0,     0,     0,   124,
+     0,     0,     0,   113,   113,     0,     0,     0,   289,   288,
+   282,     0,     0,   281,     0,   278,     0,     0,     0
 };
 
-static const short yydefgoto[] = {   259,
-   260,   261,   286,   303,   158,   159,    76,   521,    12,    77,
-    14,    15,    39,    40,    41,    45,    51,   115,   125,   330,
-   224,   408,   333,   593,   574,   385,   433,   555,   362,   434,
-    78,   160,   134,   150,   135,   136,   107,   350,   374,   351,
-   118,    85,   151,   620,    16,    17,    19,    18,   265,   519,
-   339,   340,    60,    22,    58,    98,   437,   438,   126,   166,
-    52,    93,    53,    46,   440,   375,    80,   377,   270,    54,
-    89,    90,   218,   578,   129,   309,   530,   450,   219,   220,
-   221,   222
+static const short yydefgoto[] = {   260,
+   261,   262,   286,   303,   159,   160,    76,   519,   110,    12,
+    77,    14,    15,    39,    40,    41,    45,    51,   115,   125,
+   330,   225,   406,   333,   590,   571,   383,   476,   552,   428,
+   477,    78,   161,   134,   151,   135,   136,   107,   350,   372,
+   351,   118,    85,   152,   617,    16,    17,    19,    18,   360,
+   407,   408,    60,    22,    58,    98,   431,   432,   126,   167,
+    52,    93,    53,    46,   434,   373,    80,   375,   270,    54,
+    89,    90,   219,   575,   129,   309,   528,   444,   220,   221,
+   222,   223
 };
 
-static const short yypact[] = {    37,
--32768,-32768,-32768,-32768,-32768,-32768,-32768,    20,  -137,    -8,
-   -61,    79,   -48,   496,-32768,  1067,-32768,    36,    61,   -26,
-    15,-32768,     2,   151,-32768,  1438,-32768,-32768,-32768,-32768,
--32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,   142,   142,
-   161,-32768,-32768,-32768,   142,-32768,-32768,-32768,-32768,-32768,
-   142,   185,-32768,     1,   188,   202,   221,-32768,-32768,-32768,
--32768,-32768,    77,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
--32768,   248,   252,     3,   505,-32768,-32768,-32768,    75,-32768,
-   228,   228,   158,-32768,    83,   469,   469,-32768,-32768,   101,
--32768,-32768,-32768,-32768,-32768,-32768,-32768,  -106,  1280,-32768,
-   119,   128,   566,    77,-32768,    75,  -115,   129,-32768,  1280,
-    83,    83,-32768,-32768,  1320,-32768,-32768,  1495,   288,-32768,
--32768,-32768,-32768,-32768,  1553,-32768,    -5,  1763,-32768,   271,
--32768,-32768,    75,-32768,   146,   144,  1593,  1593,   139,   -89,
-  1593,-32768,   298,   152,  1495,  1593,    77,   155,    75,   296,
--32768,    38,   301,   308,   313,   314,   316,   233,   318,   894,
-   251,-32768,   230,-32768,-32768,-32768,-32768,-32768,   273,  1611,
-    59,   319,   469,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
+static const short yypact[] = {   253,
+-32768,-32768,-32768,-32768,-32768,-32768,-32768,    -4,  -114,   -16,
+  -103,    46,   -78,    12,-32768,   392,-32768,   149,   177,   -44,
+   -31,-32768,    -1,   154,-32768,  1529,-32768,-32768,-32768,-32768,
+-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,   -37,   -37,
+   203,-32768,-32768,-32768,   -37,-32768,-32768,-32768,-32768,-32768,
+   -37,   190,-32768,     2,   195,   217,   245,-32768,-32768,-32768,
+-32768,-32768,   124,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
+-32768,   274,   278,     1,   505,-32768,-32768,-32768,    62,-32768,
+   256,   256,   200,-32768,   119,   224,   224,-32768,-32768,   100,
+-32768,-32768,-32768,-32768,-32768,-32768,-32768,    57,  1052,-32768,
+   140,   148,   604,   124,-32768,    62,   -69,   157,  1052,   155,
+   119,   119,-32768,-32768,  1295,-32768,-32768,  1569,   306,-32768,
+-32768,-32768,-32768,-32768,  1627,-32768,   -17,  1851,-32768,   289,
+-32768,-32768,    62,-32768,   163,   166,  1645,  1645,   158,   -58,
+  1645,-32768,   315,   171,-32768,  1569,  1645,   124,   170,    62,
+    58,-32768,    41,   314,   318,   320,   321,   329,   226,   330,
+  1107,   270,-32768,    30,-32768,-32768,-32768,-32768,-32768,   288,
+  1685,   137,   336,   224,-32768,-32768,-32768,-32768,-32768,-32768,
 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
-   317,   823,  1593,  1593,  1593,  1593,-32768,-32768,-32768,-32768,
--32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,  1593,  1593,
-  1593,  1593,  1593,  1593,  1593,  1593,  1593,-32768,   469,-32768,
-    -4,-32768,-32768,   262,  1340,-32768,    26,   -34,-32768,   171,
-    75,   178,-32768,-32768,    75,  1320,-32768,-32768,-32768,-32768,
--32768,-32768,-32768,-32768,-32768,-32768,-32768,   317,   823,   181,
-   189,   196,   197,   198,   125,  1651,   805,   332,   206,   207,
-   211,-32768,-32768,   212,   187,   213,-32768,    77,   756,-32768,
-  1055,  1055,-32768,  1055,  1553,-32768,-32768,-32768,-32768,-32768,
--32768,-32768,-32768,-32768,-32768,  1593,-32768,-32768,-32768,-32768,
+-32768,   388,   781,  1645,  1645,  1645,  1645,-32768,-32768,-32768,
+-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,  1645,
+  1645,  1645,  1645,  1645,  1645,  1645,  1645,  1645,-32768,   224,
+-32768,    70,-32768,-32768,   207,  1374,-32768,   -15,   -14,-32768,
+   197,    62,   208,-32768,   270,   -13,  1295,-32768,-32768,-32768,
+-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,   388,   781,
+   212,   213,   214,   220,   221,  1414,  1725,   782,   351,   228,
+   229,   231,-32768,-32768,-32768,   232,-32768,   124,   696,-32768,
+   834,   834,-32768,   834,  1627,-32768,-32768,-32768,-32768,-32768,
+-32768,-32768,-32768,-32768,-32768,  1645,-32768,-32768,-32768,-32768,
 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
--32768,-32768,  1593,    89,   121,-32768,   756,    73,   190,   210,
-   222,   226,   235,   238,   756,   756,   334,  1553,  1593,  1593,
+-32768,-32768,  1645,    15,    29,-32768,   696,     7,   205,   223,
+   235,   236,   237,   238,   696,   696,   346,  1627,  1645,  1645,
 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
--32768,-32768,   208,-32768,-32768,-32768,   239,   208,   187,   187,
-   352,   240,   246,  1495,  1495,  1495,  1495,  1495,-32768,-32768,
-  -105,   845,  -111,-32768,   -85,-32768,  1495,  1495,  1495,   388,
-     5,-32768,  1380,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
--32768,   342,  1495,-32768,-32768,-32768,-32768,   255,-32768,   268,
-  1055,   756,   756,    10,-32768,    18,-32768,-32768,  1055,   266,
-  1593,  1593,  1593,  1593,  1593,   272,   277,  1593,  1055,   756,
-   278,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
--32768,  1593,  1495,  1495,-32768,   279,   280,   282,   285,  1495,
--32768,   264,   894,   -77,-32768,-32768,   291,   295,   411,   297,
-   428,   448,-32768,   187,-32768,    75,   303,   304,-32768,   433,
-   -82,   439,   440,   307,   310,   311,  1055,   460,  1055,   315,
-   321,  1055,   322,    75,-32768,   326,   327,  1055,  1055,    75,
-   328,   329,  1593,    29,   333,   335,   103,  1495,  1495,  1495,
-  1495,-32768,-32768,   309,  1495,  1495,  1593,-32768,-32768,-32768,
--32768,   302,  1398,-32768,   336,-32768,  1055,  1055,  1669,  1055,
-  1055,   329,-32768,   329,  1593,  1055,   339,  1593,  1593,  1593,
--32768,-32768,  1669,   414,-32768,   756,-32768,  1495,  1495,-32768,
-   340,   331,   344,   347,-32768,   345,   348,    67,   187,-32768,
--32768,-32768,    75,    78,   446,   350,   349,    96,    75,   110,
--32768,-32768,-32768,-32768,-32768,   312,  1055,-32768,-32768,-32768,
-   124,   329,   353,   354,  1495,-32768,  1495,  1495,-32768,-32768,
--32768,-32768,   302,-32768,   430,-32768,   487,    -3,   615,   615,
-  1709,-32768,-32768,   351,-32768,-32768,-32768,-32768,   360,   369,
-   372,-32768,   532,   399,  1055,-32768,  1190,     8,   394,   395,
--32768,-32768,    96,    75,   123,-32768,   208,-32768,-32768,-32768,
--32768,   527,-32768,-32768,   400,-32768,  1190,   262,   262,   615,
-   615,   533,-32768,   535,   404,-32768,-32768,  1055,  1055,   539,
-   262,   262,   485,-32768,  1055,   542,-32768,  1055,-32768,   561,
-   562,-32768
+-32768,-32768,   120,-32768,-32768,-32768,-32768,   120,-32768,   155,
+   358,   248,   249,  1569,  1569,  1569,  1569,  1569,-32768,-32768,
+    69,  1007,   -61,-32768,   -56,-32768,  1569,  1569,  1569,   251,
+  1454,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,   341,
+  1569,-32768,-32768,-32768,-32768,   252,-32768,   255,   834,   696,
+   696,    19,-32768,    23,-32768,-32768,   834,   246,  1645,  1645,
+  1645,  1645,  1645,   260,   266,  1645,   834,   696,   271,-32768,
+-32768,-32768,-32768,-32768,-32768,-32768,   251,   251,  1645,  1569,
+  1569,-32768,   272,   275,   276,   277,  1569,-32768,   267,   962,
+   -55,-32768,-32768,   286,   291,   371,    18,-32768,-32768,    62,
+   292,   280,-32768,   420,   -57,   431,   433,   302,   300,   301,
+   834,   453,   834,   305,   307,   834,   309,    62,-32768,   310,
+   311,   834,   834,    62,   316,   312,  1645,-32768,-32768,   -18,
+   323,   324,    92,  1569,  1569,  1569,  1569,-32768,-32768,   299,
+  1569,  1569,  1645,   446,   469,-32768,   251,   729,  1472,-32768,
+   339,-32768,   834,   834,  1743,   834,   834,   312,-32768,   312,
+  1645,   834,   340,  1645,  1645,  1645,-32768,-32768,  1743,   421,
+-32768,   696,-32768,  1569,  1569,-32768,   342,   343,   344,   345,
+-32768,   348,   349,    16,-32768,-32768,-32768,-32768,-32768,-32768,
+    62,    -6,   474,   350,   352,    64,    62,   101,-32768,-32768,
+-32768,-32768,-32768,   347,   834,-32768,-32768,-32768,   115,   312,
+   353,   356,  1569,-32768,  1569,  1569,-32768,-32768,-32768,   729,
+-32768,   448,-32768,   485,    -5,   555,   555,-32768,  1800,-32768,
+   365,-32768,-32768,-32768,-32768,   363,   379,   380,-32768,   530,
+   390,   834,-32768,  1246,    -2,   359,   389,-32768,-32768,     5,
+    64,    62,-32768,   120,-32768,-32768,-32768,-32768,   516,-32768,
+-32768,   391,-32768,  1246,   207,   207,   524,   555,   555,-32768,
+   525,   394,   834,-32768,-32768,   834,   526,   473,   207,   207,
+-32768,   834,   531,-32768,   834,-32768,   551,   556,-32768
 };
 
-static const short yypgoto[] = {   436,
-   437,   438,   320,   323,  -171,-32768,     0,    14,   481,    17,
--32768,-32768,-32768,-32768,    55,-32768,-32768,-32768,  -138,-32768,
-  -430,-32768,  -229,-32768,-32768,  -295,    51,-32768,  -325,-32768,
--32768,   -24,   359,  -107,-32768,   477,   488,  -113,  -157,  -245,
-    19,   135,   356,-32768,-32768,   577,-32768,-32768,-32768,-32768,
--32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,   507,-32768,
--32768,-32768,-32768,-32768,-32768,  -543,  -112,   111,  -186,-32768,
-   541,-32768,-32768,-32768,-32768,-32768,    93,   182,-32768,-32768,
+static const short yypgoto[] = {   427,
+   437,   439,   319,   322,  -172,-32768,     0,    11,  -149,   480,
+    10,-32768,-32768,-32768,-32768,    49,-32768,-32768,-32768,  -147,
+-32768,  -401,-32768,  -222,-32768,-32768,  -281,    51,-32768,  -375,
+-32768,-32768,   -24,   357,  -117,-32768,   462,   481,  -111,  -157,
+  -243,   169,   210,   354,-32768,-32768,   560,-32768,-32768,-32768,
+-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,   498,-32768,
+-32768,-32768,-32768,-32768,-32768,  -557,   -46,   -66,  -193,-32768,
+   532,-32768,-32768,-32768,-32768,-32768,    88,   176,-32768,-32768,
 -32768,-32768
 };
 
 
-#define	YYLAST		1897
+#define	YYLAST		1985
 
 
 static const short yytable[] = {    11,
-   274,    79,   262,   338,   161,   482,   102,   273,   306,   387,
-   353,   355,    23,   410,   411,    11,    13,   163,   273,   108,
-   447,    88,   164,   310,   311,   312,   313,   314,   449,    91,
-   317,   234,    13,   595,   275,   141,  -205,   237,   431,   420,
-   -54,   -54,   -54,   -54,   130,   420,   142,   263,   425,    24,
-   106,   131,   421,   605,   -66,     1,     2,   432,     3,     4,
-     5,   141,   448,   238,   239,   420,     6,     7,   420,   271,
-   448,    20,   230,   420,   133,   272,   426,   486,   106,   108,
-   318,    43,   108,    44,   474,   133,    21,     8,    25,    11,
-   149,     9,   553,    81,    82,    10,    26,   559,   560,    86,
-   149,    27,    47,    48,    49,    87,   424,    50,   481,   319,
-   320,   431,   227,   228,   116,   117,   231,   109,   110,     1,
-   108,   235,     3,    55,     5,   335,   108,   441,   108,   145,
-   146,    61,    62,   401,   104,   152,   153,   154,   155,   156,
-   157,    70,   108,     1,     2,   269,     3,     4,     5,  -140,
-   598,   599,   600,   601,   576,   165,   376,    57,   376,   376,
-   602,   376,    92,   103,    56,   596,   505,   381,   304,   305,
-   269,   307,    59,    71,   108,   611,   612,   109,   110,   266,
-   109,   110,   507,   334,   308,   269,   269,   269,   269,   269,
-   315,   316,   269,   552,   376,    83,   533,    84,   534,   113,
-   133,   114,   376,   376,   453,    88,   455,   456,   457,    95,
-   399,   149,   402,   403,   404,   111,   112,   405,   109,   110,
-   551,   406,   407,    96,   109,   110,   109,   110,   389,    99,
-   415,   416,   417,   418,   419,   240,   241,   242,   243,   384,
-   109,   110,    97,   427,   428,   429,   566,  -140,  -140,     2,
-   149,   100,     4,   495,   524,   101,   510,   402,   403,   404,
-   561,   382,   405,   562,    84,   262,   406,   407,   376,   376,
-   376,   386,   109,   110,   561,   137,   376,   565,   383,    72,
-    73,   143,   349,    74,   138,    75,   376,   376,    36,    37,
-    38,   162,   223,   149,   400,   269,   225,   226,   229,   465,
-   466,   232,    61,    62,   264,   233,   472,   236,   535,   -55,
-   263,   538,   539,   540,     1,     2,   -56,     3,     4,     5,
-     1,   -59,   -58,     3,   -57,     5,   244,   423,   267,   273,
-   336,   337,   585,   344,   376,   587,   376,   361,   436,   376,
-   390,   345,   402,   403,   404,   376,   376,   405,   346,   347,
-   348,   406,   407,   356,   511,   512,   513,   514,   357,   358,
-   391,   516,   517,   359,   360,   363,   269,   454,   269,   269,
-   269,   398,   392,   460,   376,   376,   393,   376,   376,   321,
-   322,   378,   379,   376,   380,   394,   577,   464,   395,   412,
-   409,   430,   413,   376,   543,   544,   323,   324,   414,   325,
-   326,   439,   327,   328,   329,   442,   597,   276,   277,   278,
-   279,   280,   281,   282,   283,   284,   285,   388,   443,   321,
-   322,   452,   458,   473,   376,   396,   397,   459,   463,   468,
-   469,   569,   470,   570,   571,   471,   323,   324,   506,   325,
-   326,   475,   327,   328,   329,   476,   376,   376,   477,   479,
-   478,   480,   518,   483,   485,   487,   488,   484,   523,   489,
-   490,   491,   376,   493,   529,   495,   448,   556,   515,   563,
-   269,   496,   498,   269,   269,   269,   499,   500,   529,   504,
-   503,   520,   573,   508,   546,   509,   525,   376,   376,   537,
-   545,   444,   445,   446,   547,   376,   376,   548,   549,   451,
-   557,   550,   376,   575,   558,   376,   567,   568,   586,   461,
-   462,    61,    62,   588,   104,    64,    65,    66,    67,    68,
-    69,    70,   589,     1,     2,   590,     3,     4,     5,   119,
-   120,   121,   122,   123,   124,   591,   584,    28,    29,    30,
-    31,    32,    33,    34,   592,    35,   -17,   -18,   603,   608,
-   604,   609,   520,    71,   610,   615,   616,   492,   618,   494,
-   621,   622,   497,   215,   216,   217,   572,   342,   501,   502,
-   128,   343,    61,    62,   554,   104,    64,    65,    66,    67,
-    68,    69,    70,   332,     1,     2,   144,     3,     4,     5,
-   140,   341,    42,   127,    94,   541,   467,   526,   527,     0,
-   531,   532,     0,     0,     0,     0,   536,     0,     0,     0,
-     0,     0,     0,     0,    71,     0,   542,   364,   365,     0,
-     0,    61,    62,   366,     0,     0,     0,     0,     0,     0,
-     0,     0,     0,     1,     2,     0,     3,     4,     5,   367,
-   368,   369,    36,    37,    38,     0,     0,   564,     0,     0,
-     0,     0,     0,     0,   370,   371,     0,     0,     0,    72,
-    73,     0,     0,    74,     0,    75,   105,     0,     0,   581,
-   582,     0,   372,     0,     0,     0,     0,     0,     0,     0,
-     0,     0,     0,     0,     0,   594,     0,     0,   176,   177,
-   178,   179,   180,   181,   182,   183,   184,   185,   186,   187,
-   188,   189,   190,   248,   249,     0,     0,     0,     0,     0,
-   606,   607,     0,     0,     0,     0,     0,     0,   613,   614,
-    72,    73,     0,     0,    74,   617,    75,   139,   619,     0,
-   250,   197,   579,   580,   200,   201,   202,   203,   204,   205,
-   206,   207,   208,     0,   251,     0,   252,   253,   254,   323,
-   324,     0,   325,   326,     0,   327,   328,   329,   364,   365,
-     0,     0,    61,    62,   366,     0,     0,     0,     0,     0,
-     0,     0,     0,   373,     1,     2,     0,     3,     4,     5,
-   367,   368,   369,     0,     0,     0,     0,     0,     0,     0,
-     0,     0,     0,     0,     0,   370,   371,     0,     0,     0,
-     0,     0,     0,     0,     0,     0,     0,     0,     0,   108,
-     0,    61,    62,   372,   104,   152,   153,   154,   155,   156,
-   157,    70,     0,     1,     2,     0,     3,     4,     5,   176,
-   177,   178,   179,   180,   181,   182,   183,   184,   185,   186,
-   187,   188,   189,   190,   248,   249,     0,     0,   287,   288,
-     0,    61,    62,    71,   104,   152,   153,   154,   155,   156,
-   157,    70,     0,     1,     2,     0,     3,     4,     5,     0,
-     0,   250,   197,   198,   199,   200,   201,   202,   203,   204,
-   205,   206,   207,   208,     0,   251,     0,   252,   253,   254,
-     0,     0,     0,    71,     0,     0,     0,     0,     0,     0,
-    61,    62,     0,     0,     0,     0,     0,   109,   110,     0,
-     0,     0,     1,     2,   373,     3,     4,     5,   245,   289,
-   290,   291,   292,   293,   294,   295,   296,   297,   298,   299,
-   300,   301,   302,   246,   247,     0,     0,     0,     0,     0,
-     0,     0,     0,     0,     0,     0,     0,   108,     0,     0,
-     0,     0,     0,     0,     0,     0,     0,     0,     0,    72,
-    73,     0,     0,    74,     0,    75,   354,   176,   177,   178,
-   179,   180,   181,   182,   183,   184,   185,   186,   187,   188,
-   189,   190,   248,   249,     0,     0,     0,     0,     0,     0,
-     0,     0,     0,     0,     0,     0,     0,     0,     0,    72,
-    73,     0,     0,    74,     0,    75,   422,     0,     0,   250,
-   197,   198,   199,   200,   201,   202,   203,   204,   205,   206,
-   207,   208,     0,   251,     0,   252,   253,   254,     0,     0,
-     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-     0,     0,     0,     0,     0,   109,   110,     0,     0,   255,
-     0,     0,   256,     0,   257,     0,   258,   364,   365,     0,
-     0,    61,    62,   366,     0,     0,  -204,     0,     0,     0,
-     0,     0,     0,     1,     2,     0,     3,     4,     5,   367,
-   368,   369,     0,     0,   -66,     1,     2,     0,     3,     4,
-     5,     0,     0,     0,   370,   371,     6,     7,     0,     0,
+   274,    79,   306,   263,   102,   273,   162,   164,   273,    13,
+   165,   338,   265,   353,   355,    11,   592,   310,   311,   312,
+   313,   314,    88,   385,   317,    13,   275,   474,   478,   441,
+    91,   458,   459,   443,   235,   108,   602,    23,   108,   108,
+   108,    24,   597,   -54,   -54,   -54,   -54,    20,    25,     2,
+   106,   474,     4,    28,    29,    30,    31,    32,    33,    34,
+   108,    35,    21,    26,    61,    62,   239,   240,   108,   108,
+   475,   442,   318,    27,   133,   442,     1,     2,   106,     3,
+     4,     5,   108,   141,   133,   339,   340,    81,    82,    11,
+   150,   417,   142,    86,   141,   417,   417,   417,   422,    87,
+   150,   517,   482,   231,   238,   423,   470,    55,   421,    36,
+    37,    38,   228,   229,   264,   108,   232,  -142,     1,   550,
+    56,     3,   236,     5,   556,   557,   399,   435,   400,   401,
+   402,   109,   503,   403,   109,   109,   109,   404,   405,   400,
+   401,   402,   334,   166,   403,   335,   269,   271,   404,   405,
+   116,   117,   573,   272,    57,   593,   109,   379,    36,    37,
+    38,   103,   387,    92,   109,   109,   549,   382,   -66,   304,
+   305,   269,   307,   266,   501,    59,   595,   596,   109,   598,
+   599,   384,   -66,   319,   320,   308,   269,   269,   269,   269,
+   269,   315,   316,   269,    43,   447,    44,   449,   450,   451,
+   397,   133,   609,   610,   376,   377,   531,   378,   532,   130,
+    88,   109,   150,  -142,   131,   -66,    95,  -142,    47,    48,
+    49,   417,   374,    50,   374,   374,   418,   374,   241,   242,
+   243,   244,   412,   413,   414,   415,   416,    83,    96,    84,
+   386,   113,   506,   114,   491,   424,   425,   426,   394,   395,
+   150,   558,  -206,   559,   400,   401,   402,   522,   563,   403,
+   374,   380,   263,   404,   405,   562,    97,   559,   374,   374,
+   -68,     1,     2,    99,     3,     4,     5,   100,   381,   146,
+   147,   101,     6,     7,   119,   120,   121,   122,   123,   124,
+   111,   112,    84,   150,   398,   269,   137,   533,   461,   462,
+   536,   537,   538,     8,   138,   468,   143,     9,   145,   163,
+   224,    10,   438,   439,   440,   226,   227,   230,   233,   237,
+   445,   234,   -55,   108,   321,   322,   -56,   420,   -59,   -58,
+   455,   456,   374,   374,   374,   580,   430,   -57,   245,   584,
+   374,   323,   324,   267,   325,   326,   273,   327,   328,   329,
+   374,   374,   507,   508,   509,   510,   336,   388,   337,   512,
+   513,   344,   345,   346,   269,   448,   269,   269,   269,   347,
+   348,   454,   356,   264,   488,   389,   490,   357,   358,   493,
+   359,   361,   574,   396,   460,   497,   498,   390,   391,   392,
+   393,  -205,   541,   542,   374,   409,   374,   410,   411,   374,
+   433,   446,   594,   427,   436,   374,   374,   437,   473,   -68,
+     1,     2,   452,     3,     4,     5,   524,   525,   453,   529,
+   530,     6,     7,   457,   464,   534,   469,   465,   466,   467,
+   480,   566,   502,   567,   568,   540,   374,   374,   471,   374,
+   374,   481,     8,   472,   479,   374,     9,   483,   514,   484,
+    10,   485,   486,   487,   521,   374,   489,   491,   511,   492,
+   527,   494,   495,   496,   500,   499,   269,   515,   561,   269,
+   269,   269,   516,   442,   527,   504,   505,   518,   276,   277,
+   278,   279,   280,   281,   282,   283,   284,   285,   374,   578,
+   579,   523,   535,   544,   543,   553,   545,   546,   547,   548,
+   570,   572,   554,   564,   560,   591,   565,   555,   -17,   374,
+   374,    61,    62,   585,   104,    64,    65,    66,    67,    68,
+    69,    70,   583,     1,     2,   374,     3,     4,     5,   586,
+   587,   604,   605,   588,   582,   589,   608,   600,   -18,   611,
+   603,   606,   612,   601,   613,   614,   607,   615,   616,   518,
+   618,   374,   374,    71,   216,   619,   374,   362,   363,   374,
+   569,    61,    62,   364,   217,   374,   218,   342,   374,   128,
+   144,   343,   551,     1,     2,    42,     3,     4,     5,   365,
+   366,   367,   332,   140,   127,    94,   539,   463,     0,     0,
+   341,     0,     0,     0,   368,   369,     0,     0,     0,     0,
      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-     0,     0,   372,     0,     0,     0,     0,     8,     0,     0,
-     0,     9,     0,     0,     0,    10,     0,     0,   176,   177,
+    61,    62,   370,   104,    64,    65,    66,    67,    68,    69,
+    70,     0,     1,     2,     0,     3,     4,     5,   177,   178,
+   179,   180,   181,   182,   183,   184,   185,   186,   187,   188,
+   189,   190,   191,   249,   250,     0,     0,     0,     0,     0,
+     0,     0,    71,     0,     0,     0,     0,     0,     0,    72,
+    73,     0,     0,    74,     0,    75,   105,     0,     0,     0,
+   251,   198,   576,   577,   201,   202,   203,   204,   205,   206,
+   207,   208,   209,     0,   252,     0,   253,   254,   255,   323,
+   324,     0,   325,   326,     0,   327,   328,   329,   362,   363,
+     0,     0,    61,    62,   364,     0,     0,     0,     0,     0,
+     0,     0,     0,   371,     1,     2,     0,     3,     4,     5,
+   365,   366,   367,     0,     0,     0,     0,     0,     0,     0,
+     0,     0,     0,     0,     0,   368,   369,     0,     0,     0,
+     0,     0,     0,     0,     0,     0,     0,     1,     0,   108,
+     3,     0,     5,   370,     0,     0,     0,     0,    72,    73,
+     0,     0,    74,     0,    75,   139,     0,     0,     0,   177,
    178,   179,   180,   181,   182,   183,   184,   185,   186,   187,
-   188,   189,   190,   248,   249,     0,     0,     0,     0,     0,
-     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+   188,   189,   190,   191,   249,   250,     0,     0,    61,    62,
+     0,   104,   153,   154,   155,   156,   157,   158,    70,     0,
+     1,     2,     0,     3,     4,     5,   287,   288,     0,     0,
+     0,   251,   198,   199,   200,   201,   202,   203,   204,   205,
+   206,   207,   208,   209,     0,   252,     0,   253,   254,   255,
+    71,     0,     0,     0,     0,     0,   362,   363,     0,     0,
+    61,    62,   364,     0,     0,   109,   321,   322,     0,     0,
+     0,     0,     1,     2,   371,     3,     4,     5,   365,   366,
+   367,     0,     0,   323,   324,     0,   325,   326,     0,   327,
+   328,   329,     0,   368,   369,     0,     0,   289,   290,   291,
+   292,   293,   294,   295,   296,   297,   298,   299,   300,   301,
+   302,   370,     0,     0,     0,     0,     0,     0,     0,     0,
+     0,     0,     0,     0,     0,     0,     0,   177,   178,   179,
+   180,   181,   182,   183,   184,   185,   186,   187,   188,   189,
+   190,   191,   249,   250,     0,     0,     0,     0,     0,     0,
+     0,     0,     0,     0,     0,     0,    72,    73,     0,     0,
+    74,     0,    75,   354,     0,     0,     0,     0,     0,   251,
+   198,   199,   200,   201,   202,   203,   204,   205,   206,   207,
+   208,   209,     0,   252,     0,   253,   254,   255,    61,    62,
      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-   250,   197,   198,   199,   200,   201,   202,   203,   204,   205,
-   206,   207,   208,     0,   251,     0,   252,   253,   254,     0,
-     0,     0,   364,   365,     0,     0,     0,     0,   366,     0,
+     1,     2,     0,     3,     4,     5,   246,     0,     0,     0,
+     0,     0,   371,     0,     0,     0,     0,     0,     0,     0,
+     0,   247,   248,     0,     0,     0,     0,     0,     0,     0,
+     0,     0,     0,    61,    62,   108,   104,   153,   154,   155,
+   156,   157,   158,    70,     0,     1,     2,     0,     3,     4,
+     5,     0,     0,     0,     0,   177,   178,   179,   180,   181,
+   182,   183,   184,   185,   186,   187,   188,   189,   190,   191,
+   249,   250,     0,     0,     0,    71,     0,     0,    61,    62,
+     0,   104,    64,    65,    66,    67,    68,    69,    70,     0,
+     1,     2,     0,     3,     4,     5,     0,   251,   198,   199,
+   200,   201,   202,   203,   204,   205,   206,   207,   208,   209,
+   132,   252,     0,   253,   254,   255,     0,     0,     0,     0,
+    71,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+     0,   109,     0,    61,    62,   -66,     0,   256,     0,     0,
+   257,     0,   258,     0,   259,     1,     2,     0,     3,     4,
+     5,   246,     0,     0,     0,     0,     0,     0,     0,     0,
+     0,     0,     0,     0,     0,     0,   247,   248,     0,     0,
      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-     0,     0,     0,   373,   367,   368,   369,     0,     0,     0,
-     0,     0,     0,     0,     0,     0,     0,     0,     0,   370,
-   371,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-     0,     0,     0,     0,     0,     0,     0,   372,     0,     0,
+   108,    72,    73,     0,     0,    74,     0,    75,   419,     0,
      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-     0,     0,     0,   176,   177,   178,   179,   180,   181,   182,
-   183,   184,   185,   186,   187,   188,   189,   190,   248,   249,
-     0,     0,     0,     0,     0,     0,    61,    62,     0,   104,
-    64,    65,    66,    67,    68,    69,    70,     0,     1,     2,
-     0,     3,     4,     5,     0,   250,   197,   198,   199,   200,
-   201,   202,   203,   204,   205,   206,   207,   208,   132,   251,
-     0,   252,   253,   254,     0,     0,    61,    62,    71,   147,
-    64,    65,    66,    67,    68,    69,    70,     0,     1,     2,
-     0,     3,     4,     5,     0,     0,    61,    62,   373,   104,
-    64,    65,    66,    67,    68,    69,    70,     0,     1,     2,
-     0,     3,     4,     5,     0,     0,     0,     0,    71,     0,
-     0,     0,     0,     0,     0,     0,     0,     0,   331,     0,
-     0,     0,     0,     0,     0,     0,    61,    62,    71,   104,
-    64,    65,    66,    67,    68,    69,    70,     0,     1,     2,
-     0,     3,     4,     5,    61,    62,     0,   104,    64,    65,
-    66,    67,    68,    69,    70,     0,     1,     2,   435,     3,
-     4,     5,     0,     0,     0,     0,     0,     0,    71,     0,
-     0,     0,     0,     0,    72,    73,   522,     0,    74,     0,
-    75,   148,     0,     0,    61,    62,    71,    63,    64,    65,
-    66,    67,    68,    69,    70,     0,     1,     2,     0,     3,
-     4,     5,     0,     0,     0,     0,     0,     0,     0,     0,
-     0,     0,     0,     0,    72,    73,     0,     0,    74,     0,
-    75,     0,     0,     0,     0,     0,    71,     0,     0,     0,
-     0,     0,     0,     0,    72,    73,     0,     0,    74,     0,
-    75,    61,    62,     0,   104,   152,   153,   154,   155,   156,
-   157,    70,     0,     1,     2,     0,     3,     4,     5,     0,
+   177,   178,   179,   180,   181,   182,   183,   184,   185,   186,
+   187,   188,   189,   190,   191,   249,   250,     0,     0,     0,
+     0,     0,     0,     0,     0,     0,    72,    73,     0,     0,
+    74,     0,    75,     0,     0,     0,     0,     0,     0,     0,
+     0,     0,   251,   198,   199,   200,   201,   202,   203,   204,
+   205,   206,   207,   208,   209,     0,   252,     0,   253,   254,
+   255,     0,     0,     0,     0,     0,     0,     0,   362,   363,
+     0,     0,     0,     0,   364,     0,   109,     0,     0,     0,
+     0,     0,   256,     0,     0,   257,     0,   258,     0,   259,
+   365,   366,   367,     0,     0,     0,     0,     0,     0,     0,
+     0,     0,     0,     0,     0,   368,   369,     0,     0,     0,
      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-     0,     0,     0,     0,    72,    73,     0,     0,    74,     0,
-    75,     0,     0,    71,     0,     0,     0,     0,     0,     0,
-     0,     0,    72,    73,     0,     0,    74,     0,    75,    61,
-    62,     0,   147,    64,    65,    66,    67,    68,    69,    70,
-     0,     1,     2,     0,     3,     4,     5,     0,     0,     0,
+     0,    61,    62,   370,   148,    64,    65,    66,    67,    68,
+    69,    70,     0,     1,     2,     0,     3,     4,     5,   177,
+   178,   179,   180,   181,   182,   183,   184,   185,   186,   187,
+   188,   189,   190,   191,   249,   250,     0,     0,     0,     0,
+     0,     0,     0,    71,     0,     0,     0,     0,     0,     0,
      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-     0,     0,    72,    73,     0,     0,    74,     0,    75,    61,
-    62,    71,   104,    64,    65,    66,    67,    68,    69,    70,
-     0,     1,     2,     0,     3,     4,     5,    61,    62,     0,
-   268,    64,    65,    66,    67,    68,    69,    70,     0,     1,
-     2,     0,     3,     4,     5,     0,     0,     0,     0,     0,
-     0,    71,     0,     0,     0,     0,     0,     0,     0,    72,
-    73,     0,     0,    74,     0,    75,     0,    61,    62,    71,
-   104,   152,   153,   154,   155,   156,   157,    70,     0,     1,
-     2,     0,     3,     4,     5,    61,    62,     0,   104,    64,
-    65,    66,    67,    68,    69,   528,     0,     1,     2,     0,
-     3,     4,     5,     0,     0,     0,     0,     0,     0,    71,
-     0,     0,     0,     0,     0,     0,     0,    72,    73,     0,
-     0,    74,     0,    75,     0,    61,    62,    71,   104,    64,
-    65,    66,    67,    68,    69,   583,     0,     1,     2,     0,
+     0,   251,   198,   199,   200,   201,   202,   203,   204,   205,
+   206,   207,   208,   209,     0,   252,     0,   253,   254,   255,
+    61,    62,     0,   104,    64,    65,    66,    67,    68,    69,
+    70,     0,     1,     2,     0,     3,     4,     5,     0,     0,
+     0,     0,     0,     0,   371,     0,     0,     0,     0,     0,
+     0,     0,   331,     0,     0,     0,   149,     0,     0,     0,
+    61,    62,    71,   104,   153,   154,   155,   156,   157,   158,
+    70,     0,     1,     2,     0,     3,     4,     5,     0,     0,
+     0,     0,     0,     0,     0,     0,     0,     0,     0,    72,
+    73,     0,     0,    74,     0,    75,     0,     0,     0,     0,
+    61,    62,    71,   104,    64,    65,    66,    67,    68,    69,
+    70,     0,     1,     2,     0,     3,     4,     5,    61,    62,
+     0,   104,    64,    65,    66,    67,    68,    69,    70,     0,
+     1,     2,   429,     3,     4,     5,     0,     0,     0,     0,
+     0,     0,    71,     0,     0,     0,     0,     0,     0,     0,
+   520,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+    71,     0,     0,     0,     0,     0,     0,     0,    72,    73,
+     0,     0,    74,     0,    75,    61,    62,     0,    63,    64,
+    65,    66,    67,    68,    69,    70,     0,     1,     2,     0,
      3,     4,     5,     0,     0,     0,     0,     0,     0,     0,
-     0,     0,     0,     0,     0,     0,     0,    72,    73,     0,
-     0,    74,     0,    75,     0,     0,     0,    71,     0,     0,
-     0,     0,     0,     0,     0,    72,    73,     0,     0,    74,
-     0,    75,     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,   167,     0,
-     0,     0,     0,     0,     0,    72,    73,     0,     0,    74,
-     0,   352,     0,     0,     0,     0,     0,     0,   168,   169,
+     0,     0,     0,     0,     0,     0,     0,     0,    72,    73,
+     0,   349,    74,     0,    75,    61,    62,    71,   104,   153,
+   154,   155,   156,   157,   158,    70,     0,     1,     2,     0,
+     3,     4,     5,     0,     0,     0,     0,     0,     0,     0,
+     0,     0,     0,     0,     0,     0,     0,     0,    72,    73,
+     0,     0,    74,     0,    75,     0,     0,    71,     0,     0,
+     0,     0,     0,     0,     0,     0,    72,    73,     0,     0,
+    74,     0,    75,    61,    62,     0,   148,    64,    65,    66,
+    67,    68,    69,    70,     0,     1,     2,     0,     3,     4,
+     5,    61,    62,     0,   104,    64,    65,    66,    67,    68,
+    69,    70,     0,     1,     2,     0,     3,     4,     5,     0,
+     0,     0,     0,     0,     0,    71,     0,     0,     0,     0,
      0,     0,     0,    72,    73,     0,     0,    74,     0,    75,
-   170,   171,   172,   173,   174,   175,   176,   177,   178,   179,
-   180,   181,   182,   183,   184,   185,   186,   187,   188,   189,
-   190,   191,   192,     0,     0,     0,     0,     0,     0,     0,
+     0,    61,    62,    71,   268,    64,    65,    66,    67,    68,
+    69,    70,     0,     1,     2,     0,     3,     4,     5,     0,
+     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
      0,     0,     0,    72,    73,     0,     0,    74,     0,    75,
-     0,     0,     0,   193,   194,   195,     0,     0,   196,   197,
-   198,   199,   200,   201,   202,   203,   204,   205,   206,   207,
-   208,   209,   210,   211,   212,   213,   214
+     0,    61,    62,    71,   104,   153,   154,   155,   156,   157,
+   158,    70,     0,     1,     2,     0,     3,     4,     5,    61,
+    62,     0,   104,    64,    65,    66,    67,    68,    69,   526,
+     0,     1,     2,     0,     3,     4,     5,     0,     0,     0,
+     0,     0,     0,    71,     0,     0,     0,     0,     0,     0,
+     0,    72,    73,     0,     0,    74,     0,    75,     0,     0,
+     0,    71,     0,     0,     0,     0,     0,     0,     0,    72,
+    73,     0,     0,    74,     0,    75,    61,    62,     0,   104,
+    64,    65,    66,    67,    68,    69,   581,     0,     1,     2,
+     0,     3,     4,     5,     0,     0,     0,     0,     0,     0,
+     0,     0,     0,     0,     0,     0,     0,     0,     0,    72,
+    73,     0,     0,    74,     0,    75,     0,     0,    71,     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,    72,
+    73,     0,     0,    74,     0,   352,   168,     0,     0,     0,
+     0,     0,     0,     0,     0,     0,     0,    72,    73,     0,
+     0,    74,     0,    75,     0,     0,   169,   170,     0,     0,
+     0,     0,     0,     0,     0,     0,     0,     0,   171,   172,
+   173,   174,   175,   176,   177,   178,   179,   180,   181,   182,
+   183,   184,   185,   186,   187,   188,   189,   190,   191,   192,
+   193,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+     0,     0,     0,     0,    72,    73,     0,     0,    74,     0,
+    75,   194,   195,   196,     0,     0,   197,   198,   199,   200,
+   201,   202,   203,   204,   205,   206,   207,   208,   209,   210,
+   211,   212,   213,   214,   215
 };
 
 static const short yycheck[] = {     0,
-   172,    26,   160,   233,   118,   436,     4,    11,   195,   305,
-   256,   257,   150,   339,   340,    16,     0,   125,    11,    54,
-    11,    21,    28,   210,   211,   212,   213,   214,    11,    29,
-   217,   145,    16,   577,   173,   151,     0,   150,    34,   151,
-     3,     4,     5,     6,   151,   151,   162,   160,   160,    58,
-    75,   158,   158,   597,    18,    19,    20,    53,    22,    23,
-    24,   151,    53,    26,    27,   151,    30,    31,   151,    11,
-    53,    52,   162,   151,    99,    17,   162,   160,   103,    54,
-   219,    46,    54,    48,   162,   110,    67,    51,   150,    90,
-   115,    55,   523,    39,    40,    59,    18,   528,   529,    45,
-   125,   150,    42,    43,    44,    51,   352,    47,   434,   114,
-   115,    34,   137,   138,    32,    33,   141,   152,   153,    19,
-    54,   146,    22,   150,    24,   160,    54,   373,    54,   111,
-   112,     7,     8,   320,    10,    11,    12,    13,    14,    15,
-    16,    17,    54,    19,    20,   170,    22,    23,    24,    54,
-   581,   582,   583,   584,   158,   161,   269,   156,   271,   272,
-    38,   274,   162,   161,   150,   158,   462,   275,   193,   194,
-   195,   196,    22,    49,    54,   606,   607,   152,   153,   163,
-   152,   153,   154,   158,   209,   210,   211,   212,   213,   214,
-   215,   216,   217,   519,   307,    35,   492,    37,   494,    42,
-   225,    44,   315,   316,   391,    21,   393,   394,   395,    22,
-   318,   236,   135,   136,   137,    81,    82,   140,   152,   153,
-   154,   144,   145,    22,   152,   153,   152,   153,   156,   153,
-   344,   345,   346,   347,   348,     3,     4,     5,     6,   151,
-   152,   153,    22,   357,   358,   359,   542,   152,   153,    20,
-   275,     4,    23,   151,   484,     4,   154,   135,   136,   137,
-   151,   286,   140,   154,    37,   423,   144,   145,   381,   382,
-   383,   151,   152,   153,   151,   157,   389,   154,   303,   155,
-   156,   153,   158,   159,   157,   161,   399,   400,   147,   148,
-   149,     4,    22,   318,   319,   320,   151,   154,   160,   413,
-   414,     4,     7,     8,    54,   154,   420,   153,   495,     9,
-   423,   498,   499,   500,    19,    20,     9,    22,    23,    24,
-    19,     9,     9,    22,     9,    24,     9,   352,    56,    11,
-   160,   154,   562,   153,   447,   565,   449,   151,   363,   452,
-   151,   153,   135,   136,   137,   458,   459,   140,   153,   153,
-   153,   144,   145,    22,   468,   469,   470,   471,   153,   153,
-   151,   475,   476,   153,   153,   153,   391,   392,   393,   394,
-   395,    38,   151,   398,   487,   488,   151,   490,   491,   118,
-   119,   271,   272,   496,   274,   151,   558,   412,   151,    38,
-   152,     4,   153,   506,   508,   509,   135,   136,   153,   138,
-   139,    60,   141,   142,   143,   151,   578,    91,    92,    93,
-    94,    95,    96,    97,    98,    99,   100,   307,   151,   118,
-   119,   156,   151,   160,   537,   315,   316,   151,   151,   151,
-   151,   545,   151,   547,   548,   151,   135,   136,   463,   138,
-   139,   151,   141,   142,   143,   151,   559,   560,    38,    22,
-   154,     4,   477,   151,    22,    17,    17,   154,   483,   153,
-   151,   151,   575,     4,   489,   151,    53,    22,   160,   158,
-   495,   151,   151,   498,   499,   500,   151,   151,   503,   151,
-   153,   482,    53,   151,   154,   151,   151,   600,   601,   151,
-   151,   381,   382,   383,   151,   608,   609,   151,   154,   389,
-   151,   154,   615,    17,   156,   618,   154,   154,   158,   399,
-   400,     7,     8,   154,    10,    11,    12,    13,    14,    15,
-    16,    17,   154,    19,    20,   154,    22,    23,    24,    61,
-    62,    63,    64,    65,    66,     4,   561,    42,    43,    44,
-    45,    46,    47,    48,   146,    50,   153,   153,    22,    17,
-   151,    17,   553,    49,   151,    17,    72,   447,    17,   449,
-     0,     0,   452,   128,   128,   128,   553,   248,   458,   459,
-    90,   249,     7,     8,   524,    10,    11,    12,    13,    14,
-    15,    16,    17,   225,    19,    20,   110,    22,    23,    24,
-   103,   236,    16,    87,    54,   503,   415,   487,   488,    -1,
-   490,   491,    -1,    -1,    -1,    -1,   496,    -1,    -1,    -1,
-    -1,    -1,    -1,    -1,    49,    -1,   506,     3,     4,    -1,
-    -1,     7,     8,     9,    -1,    -1,    -1,    -1,    -1,    -1,
-    -1,    -1,    -1,    19,    20,    -1,    22,    23,    24,    25,
-    26,    27,   147,   148,   149,    -1,    -1,   537,    -1,    -1,
-    -1,    -1,    -1,    -1,    40,    41,    -1,    -1,    -1,   155,
-   156,    -1,    -1,   159,    -1,   161,   162,    -1,    -1,   559,
-   560,    -1,    58,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    -1,    -1,    -1,    -1,    -1,   575,    -1,    -1,    74,    75,
+   173,    26,   196,   161,     4,    11,   118,   125,    11,     0,
+    28,   234,   162,   257,   258,    16,   574,   211,   212,   213,
+   214,   215,    21,   305,   218,    16,   174,    34,   430,    11,
+    29,   407,   408,    11,   146,    54,   594,   152,    54,    54,
+    54,    58,    38,     3,     4,     5,     6,    52,   152,    20,
+    75,    34,    23,    42,    43,    44,    45,    46,    47,    48,
+    54,    50,    67,    18,     7,     8,    26,    27,    54,    54,
+    53,    53,   220,   152,    99,    53,    19,    20,   103,    22,
+    23,    24,    54,   153,   109,   235,   236,    39,    40,    90,
+   115,   153,   162,    45,   153,   153,   153,   153,   160,    51,
+   125,   477,   160,   162,   151,   162,   162,   152,   352,   147,
+   148,   149,   137,   138,   161,    54,   141,    54,    19,   521,
+   152,    22,   147,    24,   526,   527,   320,   371,   135,   136,
+   137,   150,   151,   140,   150,   150,   150,   144,   145,   135,
+   136,   137,   158,   161,   140,   160,   171,    11,   144,   145,
+    32,    33,   158,    17,   156,   158,   150,   275,   147,   148,
+   149,   161,   156,   162,   150,   150,   151,   153,   154,   194,
+   195,   196,   197,   164,   456,    22,   578,   579,   150,   581,
+   582,   153,   154,   114,   115,   210,   211,   212,   213,   214,
+   215,   216,   217,   218,    46,   389,    48,   391,   392,   393,
+   318,   226,   604,   605,   271,   272,   488,   274,   490,   153,
+    21,   150,   237,   150,   158,   154,    22,   154,    42,    43,
+    44,   153,   269,    47,   271,   272,   158,   274,     3,     4,
+     5,     6,   344,   345,   346,   347,   348,    35,    22,    37,
+   307,    42,   151,    44,   153,   357,   358,   359,   315,   316,
+   275,   151,     0,   153,   135,   136,   137,   480,   540,   140,
+   307,   286,   420,   144,   145,   151,    22,   153,   315,   316,
+    18,    19,    20,   150,    22,    23,    24,     4,   303,   111,
+   112,     4,    30,    31,    61,    62,    63,    64,    65,    66,
+    81,    82,    37,   318,   319,   320,   157,   491,   410,   411,
+   494,   495,   496,    51,   157,   417,   150,    55,   154,     4,
+    22,    59,   379,   380,   381,   153,   151,   160,     4,   150,
+   387,   151,     9,    54,   118,   119,     9,   352,     9,     9,
+   397,   398,   379,   380,   381,   558,   361,     9,     9,   562,
+   387,   135,   136,    56,   138,   139,    11,   141,   142,   143,
+   397,   398,   464,   465,   466,   467,   160,   153,   151,   471,
+   472,   150,   150,   150,   389,   390,   391,   392,   393,   150,
+   150,   396,    22,   420,   441,   153,   443,   150,   150,   446,
+   150,   150,   555,    38,   409,   452,   453,   153,   153,   153,
+   153,     0,   504,   505,   441,    38,   443,   150,   150,   446,
+    60,   156,   575,   153,   153,   452,   453,   153,    38,    18,
+    19,    20,   153,    22,    23,    24,   483,   484,   153,   486,
+   487,    30,    31,   153,   153,   492,   160,   153,   153,   153,
+   151,   543,   457,   545,   546,   502,   483,   484,   153,   486,
+   487,    22,    51,   153,   153,   492,    55,    17,   473,    17,
+    59,   150,   153,   153,   479,   502,     4,   153,   160,   153,
+   485,   153,   153,   153,   153,   150,   491,    22,   535,   494,
+   495,   496,     4,    53,   499,   153,   153,   478,    91,    92,
+    93,    94,    95,    96,    97,    98,    99,   100,   535,   556,
+   557,   153,   153,   151,   153,    22,   153,   153,   151,   151,
+    53,    17,   153,   151,   158,   572,   151,   156,   150,   556,
+   557,     7,     8,   151,    10,    11,    12,    13,    14,    15,
+    16,    17,   158,    19,    20,   572,    22,    23,    24,   151,
+   151,   598,   599,     4,   559,   146,   603,    22,   150,   606,
+    17,    17,    17,   153,    72,   612,   153,    17,   615,   550,
+     0,   598,   599,    49,   128,     0,   603,     3,     4,   606,
+   550,     7,     8,     9,   128,   612,   128,   249,   615,    90,
+   109,   250,   522,    19,    20,    16,    22,    23,    24,    25,
+    26,    27,   226,   103,    87,    54,   499,   412,    -1,    -1,
+   237,    -1,    -1,    -1,    40,    41,    -1,    -1,    -1,    -1,
+    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+     7,     8,    58,    10,    11,    12,    13,    14,    15,    16,
+    17,    -1,    19,    20,    -1,    22,    23,    24,    74,    75,
     76,    77,    78,    79,    80,    81,    82,    83,    84,    85,
     86,    87,    88,    89,    90,    -1,    -1,    -1,    -1,    -1,
-   600,   601,    -1,    -1,    -1,    -1,    -1,    -1,   608,   609,
-   155,   156,    -1,    -1,   159,   615,   161,   162,   618,    -1,
+    -1,    -1,    49,    -1,    -1,    -1,    -1,    -1,    -1,   155,
+   156,    -1,    -1,   159,    -1,   161,   162,    -1,    -1,    -1,
    116,   117,   118,   119,   120,   121,   122,   123,   124,   125,
    126,   127,   128,    -1,   130,    -1,   132,   133,   134,   135,
    136,    -1,   138,   139,    -1,   141,   142,   143,     3,     4,
@@ -1921,116 +1921,131 @@
     -1,    -1,    -1,   159,    19,    20,    -1,    22,    23,    24,
     25,    26,    27,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     -1,    -1,    -1,    -1,    -1,    40,    41,    -1,    -1,    -1,
-    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    54,
-    -1,     7,     8,    58,    10,    11,    12,    13,    14,    15,
-    16,    17,    -1,    19,    20,    -1,    22,    23,    24,    74,
+    -1,    -1,    -1,    -1,    -1,    -1,    -1,    19,    -1,    54,
+    22,    -1,    24,    58,    -1,    -1,    -1,    -1,   155,   156,
+    -1,    -1,   159,    -1,   161,   162,    -1,    -1,    -1,    74,
     75,    76,    77,    78,    79,    80,    81,    82,    83,    84,
-    85,    86,    87,    88,    89,    90,    -1,    -1,    26,    27,
-    -1,     7,     8,    49,    10,    11,    12,    13,    14,    15,
-    16,    17,    -1,    19,    20,    -1,    22,    23,    24,    -1,
+    85,    86,    87,    88,    89,    90,    -1,    -1,     7,     8,
+    -1,    10,    11,    12,    13,    14,    15,    16,    17,    -1,
+    19,    20,    -1,    22,    23,    24,    26,    27,    -1,    -1,
     -1,   116,   117,   118,   119,   120,   121,   122,   123,   124,
    125,   126,   127,   128,    -1,   130,    -1,   132,   133,   134,
-    -1,    -1,    -1,    49,    -1,    -1,    -1,    -1,    -1,    -1,
-     7,     8,    -1,    -1,    -1,    -1,    -1,   152,   153,    -1,
-    -1,    -1,    19,    20,   159,    22,    23,    24,    25,    97,
-    98,    99,   100,   101,   102,   103,   104,   105,   106,   107,
-   108,   109,   110,    40,    41,    -1,    -1,    -1,    -1,    -1,
-    -1,    -1,    -1,    -1,    -1,    -1,    -1,    54,    -1,    -1,
-    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   155,
-   156,    -1,    -1,   159,    -1,   161,   162,    74,    75,    76,
+    49,    -1,    -1,    -1,    -1,    -1,     3,     4,    -1,    -1,
+     7,     8,     9,    -1,    -1,   150,   118,   119,    -1,    -1,
+    -1,    -1,    19,    20,   159,    22,    23,    24,    25,    26,
+    27,    -1,    -1,   135,   136,    -1,   138,   139,    -1,   141,
+   142,   143,    -1,    40,    41,    -1,    -1,    97,    98,    99,
+   100,   101,   102,   103,   104,   105,   106,   107,   108,   109,
+   110,    58,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+    -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,    75,    76,
     77,    78,    79,    80,    81,    82,    83,    84,    85,    86,
     87,    88,    89,    90,    -1,    -1,    -1,    -1,    -1,    -1,
-    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   155,
-   156,    -1,    -1,   159,    -1,   161,   162,    -1,    -1,   116,
+    -1,    -1,    -1,    -1,    -1,    -1,   155,   156,    -1,    -1,
+   159,    -1,   161,   162,    -1,    -1,    -1,    -1,    -1,   116,
    117,   118,   119,   120,   121,   122,   123,   124,   125,   126,
-   127,   128,    -1,   130,    -1,   132,   133,   134,    -1,    -1,
+   127,   128,    -1,   130,    -1,   132,   133,   134,     7,     8,
     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    -1,    -1,    -1,    -1,    -1,   152,   153,    -1,    -1,   156,
-    -1,    -1,   159,    -1,   161,    -1,   163,     3,     4,    -1,
-    -1,     7,     8,     9,    -1,    -1,     0,    -1,    -1,    -1,
-    -1,    -1,    -1,    19,    20,    -1,    22,    23,    24,    25,
-    26,    27,    -1,    -1,    18,    19,    20,    -1,    22,    23,
-    24,    -1,    -1,    -1,    40,    41,    30,    31,    -1,    -1,
-    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    -1,    -1,    58,    -1,    -1,    -1,    -1,    51,    -1,    -1,
-    -1,    55,    -1,    -1,    -1,    59,    -1,    -1,    74,    75,
-    76,    77,    78,    79,    80,    81,    82,    83,    84,    85,
-    86,    87,    88,    89,    90,    -1,    -1,    -1,    -1,    -1,
+    19,    20,    -1,    22,    23,    24,    25,    -1,    -1,    -1,
+    -1,    -1,   159,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+    -1,    40,    41,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+    -1,    -1,    -1,     7,     8,    54,    10,    11,    12,    13,
+    14,    15,    16,    17,    -1,    19,    20,    -1,    22,    23,
+    24,    -1,    -1,    -1,    -1,    74,    75,    76,    77,    78,
+    79,    80,    81,    82,    83,    84,    85,    86,    87,    88,
+    89,    90,    -1,    -1,    -1,    49,    -1,    -1,     7,     8,
+    -1,    10,    11,    12,    13,    14,    15,    16,    17,    -1,
+    19,    20,    -1,    22,    23,    24,    -1,   116,   117,   118,
+   119,   120,   121,   122,   123,   124,   125,   126,   127,   128,
+    39,   130,    -1,   132,   133,   134,    -1,    -1,    -1,    -1,
+    49,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+    -1,   150,    -1,     7,     8,   154,    -1,   156,    -1,    -1,
+   159,    -1,   161,    -1,   163,    19,    20,    -1,    22,    23,
+    24,    25,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+    -1,    -1,    -1,    -1,    -1,    -1,    40,    41,    -1,    -1,
     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+    54,   155,   156,    -1,    -1,   159,    -1,   161,   162,    -1,
     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-   116,   117,   118,   119,   120,   121,   122,   123,   124,   125,
-   126,   127,   128,    -1,   130,    -1,   132,   133,   134,    -1,
-    -1,    -1,     3,     4,    -1,    -1,    -1,    -1,     9,    -1,
+    74,    75,    76,    77,    78,    79,    80,    81,    82,    83,
+    84,    85,    86,    87,    88,    89,    90,    -1,    -1,    -1,
+    -1,    -1,    -1,    -1,    -1,    -1,   155,   156,    -1,    -1,
+   159,    -1,   161,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+    -1,    -1,   116,   117,   118,   119,   120,   121,   122,   123,
+   124,   125,   126,   127,   128,    -1,   130,    -1,   132,   133,
+   134,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     3,     4,
+    -1,    -1,    -1,    -1,     9,    -1,   150,    -1,    -1,    -1,
+    -1,    -1,   156,    -1,    -1,   159,    -1,   161,    -1,   163,
+    25,    26,    27,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+    -1,    -1,    -1,    -1,    -1,    40,    41,    -1,    -1,    -1,
     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    -1,    -1,    -1,   159,    25,    26,    27,    -1,    -1,    -1,
-    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    40,
-    41,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    -1,    -1,    -1,    -1,    -1,    -1,    -1,    58,    -1,    -1,
+    -1,     7,     8,    58,    10,    11,    12,    13,    14,    15,
+    16,    17,    -1,    19,    20,    -1,    22,    23,    24,    74,
+    75,    76,    77,    78,    79,    80,    81,    82,    83,    84,
+    85,    86,    87,    88,    89,    90,    -1,    -1,    -1,    -1,
+    -1,    -1,    -1,    49,    -1,    -1,    -1,    -1,    -1,    -1,
     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    -1,    -1,    -1,    74,    75,    76,    77,    78,    79,    80,
-    81,    82,    83,    84,    85,    86,    87,    88,    89,    90,
-    -1,    -1,    -1,    -1,    -1,    -1,     7,     8,    -1,    10,
-    11,    12,    13,    14,    15,    16,    17,    -1,    19,    20,
-    -1,    22,    23,    24,    -1,   116,   117,   118,   119,   120,
-   121,   122,   123,   124,   125,   126,   127,   128,    39,   130,
-    -1,   132,   133,   134,    -1,    -1,     7,     8,    49,    10,
-    11,    12,    13,    14,    15,    16,    17,    -1,    19,    20,
-    -1,    22,    23,    24,    -1,    -1,     7,     8,   159,    10,
-    11,    12,    13,    14,    15,    16,    17,    -1,    19,    20,
-    -1,    22,    23,    24,    -1,    -1,    -1,    -1,    49,    -1,
-    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    39,    -1,
-    -1,    -1,    -1,    -1,    -1,    -1,     7,     8,    49,    10,
-    11,    12,    13,    14,    15,    16,    17,    -1,    19,    20,
-    -1,    22,    23,    24,     7,     8,    -1,    10,    11,    12,
-    13,    14,    15,    16,    17,    -1,    19,    20,    39,    22,
-    23,    24,    -1,    -1,    -1,    -1,    -1,    -1,    49,    -1,
-    -1,    -1,    -1,    -1,   155,   156,    39,    -1,   159,    -1,
-   161,   122,    -1,    -1,     7,     8,    49,    10,    11,    12,
-    13,    14,    15,    16,    17,    -1,    19,    20,    -1,    22,
-    23,    24,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    -1,    -1,    -1,    -1,   155,   156,    -1,    -1,   159,    -1,
-   161,    -1,    -1,    -1,    -1,    -1,    49,    -1,    -1,    -1,
-    -1,    -1,    -1,    -1,   155,   156,    -1,    -1,   159,    -1,
-   161,     7,     8,    -1,    10,    11,    12,    13,    14,    15,
+    -1,   116,   117,   118,   119,   120,   121,   122,   123,   124,
+   125,   126,   127,   128,    -1,   130,    -1,   132,   133,   134,
+     7,     8,    -1,    10,    11,    12,    13,    14,    15,    16,
+    17,    -1,    19,    20,    -1,    22,    23,    24,    -1,    -1,
+    -1,    -1,    -1,    -1,   159,    -1,    -1,    -1,    -1,    -1,
+    -1,    -1,    39,    -1,    -1,    -1,   122,    -1,    -1,    -1,
+     7,     8,    49,    10,    11,    12,    13,    14,    15,    16,
+    17,    -1,    19,    20,    -1,    22,    23,    24,    -1,    -1,
+    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   155,
+   156,    -1,    -1,   159,    -1,   161,    -1,    -1,    -1,    -1,
+     7,     8,    49,    10,    11,    12,    13,    14,    15,    16,
+    17,    -1,    19,    20,    -1,    22,    23,    24,     7,     8,
+    -1,    10,    11,    12,    13,    14,    15,    16,    17,    -1,
+    19,    20,    39,    22,    23,    24,    -1,    -1,    -1,    -1,
+    -1,    -1,    49,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+    39,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+    49,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   155,   156,
+    -1,    -1,   159,    -1,   161,     7,     8,    -1,    10,    11,
+    12,    13,    14,    15,    16,    17,    -1,    19,    20,    -1,
+    22,    23,    24,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   155,   156,
+    -1,   158,   159,    -1,   161,     7,     8,    49,    10,    11,
+    12,    13,    14,    15,    16,    17,    -1,    19,    20,    -1,
+    22,    23,    24,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   155,   156,
+    -1,    -1,   159,    -1,   161,    -1,    -1,    49,    -1,    -1,
+    -1,    -1,    -1,    -1,    -1,    -1,   155,   156,    -1,    -1,
+   159,    -1,   161,     7,     8,    -1,    10,    11,    12,    13,
+    14,    15,    16,    17,    -1,    19,    20,    -1,    22,    23,
+    24,     7,     8,    -1,    10,    11,    12,    13,    14,    15,
+    16,    17,    -1,    19,    20,    -1,    22,    23,    24,    -1,
+    -1,    -1,    -1,    -1,    -1,    49,    -1,    -1,    -1,    -1,
+    -1,    -1,    -1,   155,   156,    -1,    -1,   159,    -1,   161,
+    -1,     7,     8,    49,    10,    11,    12,    13,    14,    15,
     16,    17,    -1,    19,    20,    -1,    22,    23,    24,    -1,
     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    -1,    -1,    -1,    -1,   155,   156,    -1,    -1,   159,    -1,
-   161,    -1,    -1,    49,    -1,    -1,    -1,    -1,    -1,    -1,
-    -1,    -1,   155,   156,    -1,    -1,   159,    -1,   161,     7,
+    -1,    -1,    -1,   155,   156,    -1,    -1,   159,    -1,   161,
+    -1,     7,     8,    49,    10,    11,    12,    13,    14,    15,
+    16,    17,    -1,    19,    20,    -1,    22,    23,    24,     7,
      8,    -1,    10,    11,    12,    13,    14,    15,    16,    17,
     -1,    19,    20,    -1,    22,    23,    24,    -1,    -1,    -1,
-    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    -1,    -1,   155,   156,    -1,    -1,   159,    -1,   161,     7,
-     8,    49,    10,    11,    12,    13,    14,    15,    16,    17,
-    -1,    19,    20,    -1,    22,    23,    24,     7,     8,    -1,
-    10,    11,    12,    13,    14,    15,    16,    17,    -1,    19,
-    20,    -1,    22,    23,    24,    -1,    -1,    -1,    -1,    -1,
+    -1,    -1,    -1,    49,    -1,    -1,    -1,    -1,    -1,    -1,
+    -1,   155,   156,    -1,    -1,   159,    -1,   161,    -1,    -1,
     -1,    49,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   155,
-   156,    -1,    -1,   159,    -1,   161,    -1,     7,     8,    49,
-    10,    11,    12,    13,    14,    15,    16,    17,    -1,    19,
-    20,    -1,    22,    23,    24,     7,     8,    -1,    10,    11,
-    12,    13,    14,    15,    16,    17,    -1,    19,    20,    -1,
-    22,    23,    24,    -1,    -1,    -1,    -1,    -1,    -1,    49,
-    -1,    -1,    -1,    -1,    -1,    -1,    -1,   155,   156,    -1,
-    -1,   159,    -1,   161,    -1,     7,     8,    49,    10,    11,
-    12,    13,    14,    15,    16,    17,    -1,    19,    20,    -1,
-    22,    23,    24,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    -1,    -1,    -1,    -1,    -1,    -1,    -1,   155,   156,    -1,
-    -1,   159,    -1,   161,    -1,    -1,    -1,    49,    -1,    -1,
-    -1,    -1,    -1,    -1,    -1,   155,   156,    -1,    -1,   159,
-    -1,   161,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+   156,    -1,    -1,   159,    -1,   161,     7,     8,    -1,    10,
+    11,    12,    13,    14,    15,    16,    17,    -1,    19,    20,
+    -1,    22,    23,    24,    -1,    -1,    -1,    -1,    -1,    -1,
+    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   155,
+   156,    -1,    -1,   159,    -1,   161,    -1,    -1,    49,    -1,
     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    36,    -1,
-    -1,    -1,    -1,    -1,    -1,   155,   156,    -1,    -1,   159,
-    -1,   161,    -1,    -1,    -1,    -1,    -1,    -1,    56,    57,
-    -1,    -1,    -1,   155,   156,    -1,    -1,   159,    -1,   161,
-    68,    69,    70,    71,    72,    73,    74,    75,    76,    77,
-    78,    79,    80,    81,    82,    83,    84,    85,    86,    87,
-    88,    89,    90,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    -1,    -1,    -1,   155,   156,    -1,    -1,   159,    -1,   161,
-    -1,    -1,    -1,   111,   112,   113,    -1,    -1,   116,   117,
-   118,   119,   120,   121,   122,   123,   124,   125,   126,   127,
-   128,   129,   130,   131,   132,   133,   134
+    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   155,
+   156,    -1,    -1,   159,    -1,   161,    36,    -1,    -1,    -1,
+    -1,    -1,    -1,    -1,    -1,    -1,    -1,   155,   156,    -1,
+    -1,   159,    -1,   161,    -1,    -1,    56,    57,    -1,    -1,
+    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    68,    69,
+    70,    71,    72,    73,    74,    75,    76,    77,    78,    79,
+    80,    81,    82,    83,    84,    85,    86,    87,    88,    89,
+    90,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+    -1,    -1,    -1,    -1,   155,   156,    -1,    -1,   159,    -1,
+   161,   111,   112,   113,    -1,    -1,   116,   117,   118,   119,
+   120,   121,   122,   123,   124,   125,   126,   127,   128,   129,
+   130,   131,   132,   133,   134
 };
 /* -*-C-*-  Note some compilers choke on comments on `#line' lines.  */
 #line 3 "/usr/share/bison.simple"
@@ -2684,151 +2699,159 @@
 { yyval.StrVal = 0; ;
     break;}
 case 65:
-#line 1142 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1140 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+{ yyval.UIntVal=yyvsp[-1].UInt64Val; ;
+    break;}
+case 66:
+#line 1141 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+{ yyval.UIntVal=0; ;
+    break;}
+case 67:
+#line 1145 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     yyval.StrVal = yyvsp[-1].StrVal;
     CHECK_FOR_ERROR
   ;
     break;}
-case 66:
-#line 1146 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 68:
+#line 1149 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     yyval.StrVal = 0;
     CHECK_FOR_ERROR
   ;
     break;}
-case 70:
-#line 1154 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 72:
+#line 1157 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     yyval.StrVal = 0;
     CHECK_FOR_ERROR
   ;
     break;}
-case 71:
-#line 1159 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 73:
+#line 1162 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     yyval.StrVal = yyvsp[-1].StrVal;
     CHECK_FOR_ERROR
   ;
     break;}
-case 72:
-#line 1165 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 74:
+#line 1168 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 { yyval.Linkage = GlobalValue::InternalLinkage; ;
     break;}
-case 73:
-#line 1166 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 75:
+#line 1169 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 { yyval.Linkage = GlobalValue::WeakLinkage; ;
     break;}
-case 74:
-#line 1167 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 76:
+#line 1170 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 { yyval.Linkage = GlobalValue::LinkOnceLinkage; ;
     break;}
-case 75:
-#line 1168 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 77:
+#line 1171 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 { yyval.Linkage = GlobalValue::AppendingLinkage; ;
     break;}
-case 76:
-#line 1169 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 78:
+#line 1172 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 { yyval.Linkage = GlobalValue::DLLExportLinkage; ;
     break;}
-case 77:
-#line 1173 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 79:
+#line 1176 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 { yyval.Linkage = GlobalValue::DLLImportLinkage; ;
     break;}
-case 78:
-#line 1174 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 80:
+#line 1177 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 { yyval.Linkage = GlobalValue::ExternalWeakLinkage; ;
     break;}
-case 79:
-#line 1175 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 81:
+#line 1178 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 { yyval.Linkage = GlobalValue::ExternalLinkage; ;
     break;}
-case 80:
-#line 1179 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 82:
+#line 1182 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 { yyval.Visibility = GlobalValue::DefaultVisibility;   ;
     break;}
-case 81:
-#line 1180 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 83:
+#line 1183 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 { yyval.Visibility = GlobalValue::DefaultVisibility;   ;
     break;}
-case 82:
-#line 1181 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 84:
+#line 1184 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 { yyval.Visibility = GlobalValue::HiddenVisibility;    ;
     break;}
-case 83:
-#line 1182 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 85:
+#line 1185 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 { yyval.Visibility = GlobalValue::ProtectedVisibility; ;
     break;}
-case 84:
-#line 1186 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 86:
+#line 1189 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 { yyval.Linkage = GlobalValue::ExternalLinkage; ;
     break;}
-case 85:
-#line 1187 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 87:
+#line 1190 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 { yyval.Linkage = GlobalValue::DLLImportLinkage; ;
     break;}
-case 86:
-#line 1188 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 88:
+#line 1191 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 { yyval.Linkage = GlobalValue::ExternalWeakLinkage; ;
     break;}
-case 87:
-#line 1192 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 89:
+#line 1195 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 { yyval.Linkage = GlobalValue::ExternalLinkage; ;
     break;}
-case 88:
-#line 1193 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 90:
+#line 1196 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 { yyval.Linkage = GlobalValue::InternalLinkage; ;
     break;}
-case 89:
-#line 1194 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 91:
+#line 1197 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 { yyval.Linkage = GlobalValue::LinkOnceLinkage; ;
     break;}
-case 90:
-#line 1195 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 92:
+#line 1198 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 { yyval.Linkage = GlobalValue::WeakLinkage; ;
     break;}
-case 91:
-#line 1196 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 93:
+#line 1199 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 { yyval.Linkage = GlobalValue::DLLExportLinkage; ;
     break;}
-case 92:
-#line 1200 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 94:
+#line 1203 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 { yyval.Linkage = GlobalValue::ExternalLinkage; ;
     break;}
-case 93:
-#line 1201 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 95:
+#line 1204 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 { yyval.Linkage = GlobalValue::WeakLinkage; ;
     break;}
-case 94:
-#line 1202 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 96:
+#line 1205 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 { yyval.Linkage = GlobalValue::InternalLinkage; ;
     break;}
-case 95:
-#line 1205 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 97:
+#line 1208 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 { yyval.UIntVal = CallingConv::C; ;
     break;}
-case 96:
-#line 1206 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 98:
+#line 1209 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 { yyval.UIntVal = CallingConv::C; ;
     break;}
-case 97:
-#line 1207 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 99:
+#line 1210 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 { yyval.UIntVal = CallingConv::Fast; ;
     break;}
-case 98:
-#line 1208 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 100:
+#line 1211 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 { yyval.UIntVal = CallingConv::Cold; ;
     break;}
-case 99:
-#line 1209 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 101:
+#line 1212 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 { yyval.UIntVal = CallingConv::X86_StdCall; ;
     break;}
-case 100:
-#line 1210 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 102:
+#line 1213 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 { yyval.UIntVal = CallingConv::X86_FastCall; ;
     break;}
-case 101:
-#line 1211 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 103:
+#line 1214 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 {
                    if ((unsigned)yyvsp[0].UInt64Val != yyvsp[0].UInt64Val)
                      GEN_ERROR("Calling conv too large");
@@ -2836,102 +2859,102 @@
                   CHECK_FOR_ERROR
                  ;
     break;}
-case 102:
-#line 1218 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 104:
+#line 1221 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 { yyval.ParamAttrs = ParamAttr::ZExt;      ;
     break;}
-case 103:
-#line 1219 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 105:
+#line 1222 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 { yyval.ParamAttrs = ParamAttr::ZExt;      ;
     break;}
-case 104:
-#line 1220 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 106:
+#line 1223 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 { yyval.ParamAttrs = ParamAttr::SExt;      ;
     break;}
-case 105:
-#line 1221 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 107:
+#line 1224 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 { yyval.ParamAttrs = ParamAttr::SExt;      ;
     break;}
-case 106:
-#line 1222 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 108:
+#line 1225 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 { yyval.ParamAttrs = ParamAttr::InReg;     ;
     break;}
-case 107:
-#line 1223 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 109:
+#line 1226 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 { yyval.ParamAttrs = ParamAttr::StructRet; ;
     break;}
-case 108:
-#line 1224 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 110:
+#line 1227 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 { yyval.ParamAttrs = ParamAttr::NoAlias;   ;
     break;}
-case 109:
-#line 1225 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 111:
+#line 1228 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 { yyval.ParamAttrs = ParamAttr::ByVal;     ;
     break;}
-case 110:
-#line 1226 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 112:
+#line 1229 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 { yyval.ParamAttrs = ParamAttr::Nest;      ;
     break;}
-case 111:
-#line 1229 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 113:
+#line 1232 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 { yyval.ParamAttrs = ParamAttr::None; ;
     break;}
-case 112:
-#line 1230 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 114:
+#line 1233 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 {
                 yyval.ParamAttrs = yyvsp[-1].ParamAttrs | yyvsp[0].ParamAttrs;
               ;
     break;}
-case 113:
-#line 1235 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 115:
+#line 1238 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 { yyval.ParamAttrs = ParamAttr::NoReturn; ;
     break;}
-case 114:
-#line 1236 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 116:
+#line 1239 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 { yyval.ParamAttrs = ParamAttr::NoUnwind; ;
     break;}
-case 115:
-#line 1237 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 117:
+#line 1240 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 { yyval.ParamAttrs = ParamAttr::ZExt;     ;
     break;}
-case 116:
-#line 1238 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 118:
+#line 1241 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 { yyval.ParamAttrs = ParamAttr::SExt;     ;
     break;}
-case 117:
-#line 1239 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 119:
+#line 1242 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 { yyval.ParamAttrs = ParamAttr::ReadNone; ;
     break;}
-case 118:
-#line 1240 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 120:
+#line 1243 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 { yyval.ParamAttrs = ParamAttr::ReadOnly; ;
     break;}
-case 119:
-#line 1243 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 121:
+#line 1246 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 { yyval.ParamAttrs = ParamAttr::None; ;
     break;}
-case 120:
-#line 1244 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 122:
+#line 1247 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 {
                 yyval.ParamAttrs = yyvsp[-1].ParamAttrs | yyvsp[0].ParamAttrs;
               ;
     break;}
-case 121:
-#line 1249 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 123:
+#line 1252 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 { yyval.StrVal = 0; ;
     break;}
-case 122:
-#line 1250 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 124:
+#line 1253 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 {
                 yyval.StrVal = yyvsp[0].StrVal;
               ;
     break;}
-case 123:
-#line 1257 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 125:
+#line 1260 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 { yyval.UIntVal = 0; ;
     break;}
-case 124:
-#line 1258 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 126:
+#line 1261 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 {
   yyval.UIntVal = yyvsp[0].UInt64Val;
   if (yyval.UIntVal != 0 && !isPowerOf2_32(yyval.UIntVal))
@@ -2939,12 +2962,12 @@
   CHECK_FOR_ERROR
 ;
     break;}
-case 125:
-#line 1264 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 127:
+#line 1267 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 { yyval.UIntVal = 0; ;
     break;}
-case 126:
-#line 1265 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 128:
+#line 1268 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 {
   yyval.UIntVal = yyvsp[0].UInt64Val;
   if (yyval.UIntVal != 0 && !isPowerOf2_32(yyval.UIntVal))
@@ -2952,8 +2975,8 @@
   CHECK_FOR_ERROR
 ;
     break;}
-case 127:
-#line 1274 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 129:
+#line 1277 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 {
   for (unsigned i = 0, e = yyvsp[0].StrVal->length(); i != e; ++i)
     if ((*yyvsp[0].StrVal)[i] == '"' || (*yyvsp[0].StrVal)[i] == '\\')
@@ -2962,32 +2985,32 @@
   CHECK_FOR_ERROR
 ;
     break;}
-case 128:
-#line 1282 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 130:
+#line 1285 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 { yyval.StrVal = 0; ;
     break;}
-case 129:
-#line 1283 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 131:
+#line 1286 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 { yyval.StrVal = yyvsp[0].StrVal; ;
     break;}
-case 130:
-#line 1288 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 132:
+#line 1291 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 {;
     break;}
-case 131:
-#line 1289 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 133:
+#line 1292 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 {;
     break;}
-case 132:
-#line 1290 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 134:
+#line 1293 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     CurGV->setSection(*yyvsp[0].StrVal);
     delete yyvsp[0].StrVal;
     CHECK_FOR_ERROR
   ;
     break;}
-case 133:
-#line 1295 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 135:
+#line 1298 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     if (yyvsp[0].UInt64Val != 0 && !isPowerOf2_32(yyvsp[0].UInt64Val))
       GEN_ERROR("Alignment must be a power of two");
@@ -2995,50 +3018,40 @@
     CHECK_FOR_ERROR
   ;
     break;}
-case 141:
-#line 1311 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 143:
+#line 1314 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     yyval.TypeVal = new PATypeHolder(OpaqueType::get());
     CHECK_FOR_ERROR
   ;
     break;}
-case 142:
-#line 1315 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 144:
+#line 1318 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     yyval.TypeVal = new PATypeHolder(yyvsp[0].PrimType);
     CHECK_FOR_ERROR
   ;
     break;}
-case 143:
-#line 1319 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 145:
+#line 1322 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 {                             // Pointer type?
-    if (*yyvsp[-1].TypeVal == Type::LabelTy)
+    if (*yyvsp[-2].TypeVal == Type::LabelTy)
       GEN_ERROR("Cannot form a pointer to a basic block");
-    yyval.TypeVal = new PATypeHolder(HandleUpRefs(PointerType::get(*yyvsp[-1].TypeVal)));
-    delete yyvsp[-1].TypeVal;
-    CHECK_FOR_ERROR
-  ;
-    break;}
-case 144:
-#line 1326 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
-{             // Pointer type?
-    if (*yyvsp[-5].TypeVal == Type::LabelTy)
-      GEN_ERROR("Cannot form a pointer to a basic block");
-    yyval.TypeVal = new PATypeHolder(HandleUpRefs(PointerType::get(*yyvsp[-5].TypeVal, yyvsp[-2].UInt64Val)));
-    delete yyvsp[-5].TypeVal;
+    yyval.TypeVal = new PATypeHolder(HandleUpRefs(PointerType::get(*yyvsp[-2].TypeVal, yyvsp[-1].UIntVal)));
+    delete yyvsp[-2].TypeVal;
     CHECK_FOR_ERROR
   ;
     break;}
-case 145:
-#line 1333 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 146:
+#line 1329 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 {            // Named types are also simple types...
     const Type* tmp = getTypeVal(yyvsp[0].ValIDVal);
     CHECK_FOR_ERROR
     yyval.TypeVal = new PATypeHolder(tmp);
   ;
     break;}
-case 146:
-#line 1338 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 147:
+#line 1334 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 {                   // Type UpReference
     if (yyvsp[0].UInt64Val > (uint64_t)~0U) GEN_ERROR("Value out of range");
     OpaqueType *OT = OpaqueType::get();        // Use temporary placeholder
@@ -3048,8 +3061,8 @@
     CHECK_FOR_ERROR
   ;
     break;}
-case 147:
-#line 1346 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 148:
+#line 1342 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     // Allow but ignore attributes on function types; this permits auto-upgrade.
     // FIXME: remove in LLVM 3.0.
@@ -3081,8 +3094,8 @@
     CHECK_FOR_ERROR
   ;
     break;}
-case 148:
-#line 1376 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 149:
+#line 1372 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     // Allow but ignore attributes on function types; this permits auto-upgrade.
     // FIXME: remove in LLVM 3.0.
@@ -3108,16 +3121,16 @@
     CHECK_FOR_ERROR
   ;
     break;}
-case 149:
-#line 1401 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 150:
+#line 1397 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 {          // Sized array type?
     yyval.TypeVal = new PATypeHolder(HandleUpRefs(ArrayType::get(*yyvsp[-1].TypeVal, (unsigned)yyvsp[-3].UInt64Val)));
     delete yyvsp[-1].TypeVal;
     CHECK_FOR_ERROR
   ;
     break;}
-case 150:
-#line 1406 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 151:
+#line 1402 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 {          // Vector type?
      const llvm::Type* ElemTy = yyvsp[-1].TypeVal->get();
      if ((unsigned)yyvsp[-3].UInt64Val != yyvsp[-3].UInt64Val)
@@ -3129,8 +3142,8 @@
      CHECK_FOR_ERROR
   ;
     break;}
-case 151:
-#line 1416 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 152:
+#line 1412 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 {                        // Structure type?
     std::vector<const Type*> Elements;
     for (std::list<llvm::PATypeHolder>::iterator I = yyvsp[-1].TypeList->begin(),
@@ -3142,15 +3155,15 @@
     CHECK_FOR_ERROR
   ;
     break;}
-case 152:
-#line 1426 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 153:
+#line 1422 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 {                                  // Empty structure type?
     yyval.TypeVal = new PATypeHolder(StructType::get(std::vector<const Type*>()));
     CHECK_FOR_ERROR
   ;
     break;}
-case 153:
-#line 1430 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 154:
+#line 1426 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     std::vector<const Type*> Elements;
     for (std::list<llvm::PATypeHolder>::iterator I = yyvsp[-2].TypeList->begin(),
@@ -3162,15 +3175,15 @@
     CHECK_FOR_ERROR
   ;
     break;}
-case 154:
-#line 1440 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 155:
+#line 1436 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 {                         // Empty structure type?
     yyval.TypeVal = new PATypeHolder(StructType::get(std::vector<const Type*>(), true));
     CHECK_FOR_ERROR
   ;
     break;}
-case 155:
-#line 1447 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 156:
+#line 1443 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     // Allow but ignore attributes on function types; this permits auto-upgrade.
     // FIXME: remove in LLVM 3.0.
@@ -3178,8 +3191,8 @@
     yyval.TypeWithAttrs.Attrs = ParamAttr::None;
   ;
     break;}
-case 156:
-#line 1456 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 157:
+#line 1452 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*yyvsp[0].TypeVal)->getDescription());
@@ -3188,29 +3201,29 @@
     yyval.TypeVal = yyvsp[0].TypeVal;
   ;
     break;}
-case 157:
-#line 1463 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 158:
+#line 1459 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     yyval.TypeVal = new PATypeHolder(Type::VoidTy);
   ;
     break;}
-case 158:
-#line 1468 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 159:
+#line 1464 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     yyval.TypeWithAttrsList = new TypeWithAttrsList();
     yyval.TypeWithAttrsList->push_back(yyvsp[0].TypeWithAttrs);
     CHECK_FOR_ERROR
   ;
     break;}
-case 159:
-#line 1473 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 160:
+#line 1469 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     (yyval.TypeWithAttrsList=yyvsp[-2].TypeWithAttrsList)->push_back(yyvsp[0].TypeWithAttrs);
     CHECK_FOR_ERROR
   ;
     break;}
-case 161:
-#line 1481 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 162:
+#line 1477 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     yyval.TypeWithAttrsList=yyvsp[-2].TypeWithAttrsList;
     TypeWithAttrs TWA; TWA.Attrs = ParamAttr::None;
@@ -3219,8 +3232,8 @@
     CHECK_FOR_ERROR
   ;
     break;}
-case 162:
-#line 1488 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 163:
+#line 1484 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     yyval.TypeWithAttrsList = new TypeWithAttrsList;
     TypeWithAttrs TWA; TWA.Attrs = ParamAttr::None;
@@ -3229,15 +3242,15 @@
     CHECK_FOR_ERROR
   ;
     break;}
-case 163:
-#line 1495 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 164:
+#line 1491 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     yyval.TypeWithAttrsList = new TypeWithAttrsList();
     CHECK_FOR_ERROR
   ;
     break;}
-case 164:
-#line 1503 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 165:
+#line 1499 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     yyval.TypeList = new std::list<PATypeHolder>();
     yyval.TypeList->push_back(*yyvsp[0].TypeVal); 
@@ -3245,16 +3258,16 @@
     CHECK_FOR_ERROR
   ;
     break;}
-case 165:
-#line 1509 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 166:
+#line 1505 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     (yyval.TypeList=yyvsp[-2].TypeList)->push_back(*yyvsp[0].TypeVal); 
     delete yyvsp[0].TypeVal;
     CHECK_FOR_ERROR
   ;
     break;}
-case 166:
-#line 1521 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 167:
+#line 1517 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 { // Nonempty unsized arr
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*yyvsp[-3].TypeVal)->getDescription());
@@ -3284,8 +3297,8 @@
     CHECK_FOR_ERROR
   ;
     break;}
-case 167:
-#line 1549 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 168:
+#line 1545 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*yyvsp[-2].TypeVal)->getDescription());
@@ -3303,8 +3316,8 @@
     CHECK_FOR_ERROR
   ;
     break;}
-case 168:
-#line 1565 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 169:
+#line 1561 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*yyvsp[-2].TypeVal)->getDescription());
@@ -3333,8 +3346,8 @@
     CHECK_FOR_ERROR
   ;
     break;}
-case 169:
-#line 1592 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 170:
+#line 1588 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 { // Nonempty unsized arr
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*yyvsp[-3].TypeVal)->getDescription());
@@ -3364,8 +3377,8 @@
     CHECK_FOR_ERROR
   ;
     break;}
-case 170:
-#line 1620 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 171:
+#line 1616 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     const StructType *STy = dyn_cast<StructType>(yyvsp[-3].TypeVal->get());
     if (STy == 0)
@@ -3393,8 +3406,8 @@
     CHECK_FOR_ERROR
   ;
     break;}
-case 171:
-#line 1646 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 172:
+#line 1642 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*yyvsp[-2].TypeVal)->getDescription());
@@ -3416,8 +3429,8 @@
     CHECK_FOR_ERROR
   ;
     break;}
-case 172:
-#line 1666 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 173:
+#line 1662 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     const StructType *STy = dyn_cast<StructType>(yyvsp[-5].TypeVal->get());
     if (STy == 0)
@@ -3445,8 +3458,8 @@
     CHECK_FOR_ERROR
   ;
     break;}
-case 173:
-#line 1692 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 174:
+#line 1688 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*yyvsp[-4].TypeVal)->getDescription());
@@ -3468,8 +3481,8 @@
     CHECK_FOR_ERROR
   ;
     break;}
-case 174:
-#line 1712 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 175:
+#line 1708 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*yyvsp[-1].TypeVal)->getDescription());
@@ -3483,8 +3496,8 @@
     CHECK_FOR_ERROR
   ;
     break;}
-case 175:
-#line 1724 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 176:
+#line 1720 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*yyvsp[-1].TypeVal)->getDescription());
@@ -3493,8 +3506,8 @@
     CHECK_FOR_ERROR
   ;
     break;}
-case 176:
-#line 1731 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 177:
+#line 1727 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*yyvsp[-1].TypeVal)->getDescription());
@@ -3562,8 +3575,8 @@
     CHECK_FOR_ERROR
   ;
     break;}
-case 177:
-#line 1797 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 178:
+#line 1793 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*yyvsp[-1].TypeVal)->getDescription());
@@ -3575,8 +3588,8 @@
     CHECK_FOR_ERROR
   ;
     break;}
-case 178:
-#line 1807 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 179:
+#line 1803 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*yyvsp[-1].TypeVal)->getDescription());
@@ -3588,8 +3601,8 @@
     CHECK_FOR_ERROR
   ;
     break;}
-case 179:
-#line 1817 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 180:
+#line 1813 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 {      // integral constants
     if (!ConstantInt::isValueValidForType(yyvsp[-1].PrimType, yyvsp[0].SInt64Val))
       GEN_ERROR("Constant value doesn't fit in type");
@@ -3597,8 +3610,8 @@
     CHECK_FOR_ERROR
   ;
     break;}
-case 180:
-#line 1823 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 181:
+#line 1819 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 {      // arbitrary precision integer constants
     uint32_t BitWidth = cast<IntegerType>(yyvsp[-1].PrimType)->getBitWidth();
     if (yyvsp[0].APIntVal->getBitWidth() > BitWidth) {
@@ -3610,8 +3623,8 @@
     CHECK_FOR_ERROR
   ;
     break;}
-case 181:
-#line 1833 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 182:
+#line 1829 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 {      // integral constants
     if (!ConstantInt::isValueValidForType(yyvsp[-1].PrimType, yyvsp[0].UInt64Val))
       GEN_ERROR("Constant value doesn't fit in type");
@@ -3619,8 +3632,8 @@
     CHECK_FOR_ERROR
   ;
     break;}
-case 182:
-#line 1839 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 183:
+#line 1835 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 {      // arbitrary precision integer constants
     uint32_t BitWidth = cast<IntegerType>(yyvsp[-1].PrimType)->getBitWidth();
     if (yyvsp[0].APIntVal->getBitWidth() > BitWidth) {
@@ -3632,24 +3645,24 @@
     CHECK_FOR_ERROR
   ;
     break;}
-case 183:
-#line 1849 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 184:
+#line 1845 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 {                      // Boolean constants
     assert(cast<IntegerType>(yyvsp[-1].PrimType)->getBitWidth() == 1 && "Not Bool?");
     yyval.ConstVal = ConstantInt::getTrue();
     CHECK_FOR_ERROR
   ;
     break;}
-case 184:
-#line 1854 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 185:
+#line 1850 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 {                     // Boolean constants
     assert(cast<IntegerType>(yyvsp[-1].PrimType)->getBitWidth() == 1 && "Not Bool?");
     yyval.ConstVal = ConstantInt::getFalse();
     CHECK_FOR_ERROR
   ;
     break;}
-case 185:
-#line 1859 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 186:
+#line 1855 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 {                   // Floating point constants
     if (!ConstantFP::isValueValidForType(yyvsp[-1].PrimType, *yyvsp[0].FPVal))
       GEN_ERROR("Floating point constant invalid for type");
@@ -3662,8 +3675,8 @@
     CHECK_FOR_ERROR
   ;
     break;}
-case 186:
-#line 1872 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 187:
+#line 1868 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*yyvsp[-1].TypeVal)->getDescription());
@@ -3677,8 +3690,8 @@
     delete yyvsp[-1].TypeVal;
   ;
     break;}
-case 187:
-#line 1884 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 188:
+#line 1880 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     if (!isa<PointerType>(yyvsp[-2].ConstVal->getType()))
       GEN_ERROR("GetElementPtr requires a pointer operand");
@@ -3702,8 +3715,8 @@
     CHECK_FOR_ERROR
   ;
     break;}
-case 188:
-#line 1906 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 189:
+#line 1902 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     if (yyvsp[-5].ConstVal->getType() != Type::Int1Ty)
       GEN_ERROR("Select condition must be of boolean type");
@@ -3713,8 +3726,8 @@
     CHECK_FOR_ERROR
   ;
     break;}
-case 189:
-#line 1914 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 190:
+#line 1910 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     if (yyvsp[-3].ConstVal->getType() != yyvsp[-1].ConstVal->getType())
       GEN_ERROR("Binary operator types must match");
@@ -3722,8 +3735,8 @@
     yyval.ConstVal = ConstantExpr::get(yyvsp[-5].BinaryOpVal, yyvsp[-3].ConstVal, yyvsp[-1].ConstVal);
   ;
     break;}
-case 190:
-#line 1920 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 191:
+#line 1916 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     if (yyvsp[-3].ConstVal->getType() != yyvsp[-1].ConstVal->getType())
       GEN_ERROR("Logical operator types must match");
@@ -3736,24 +3749,24 @@
     CHECK_FOR_ERROR
   ;
     break;}
-case 191:
-#line 1931 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 192:
+#line 1927 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     if (yyvsp[-3].ConstVal->getType() != yyvsp[-1].ConstVal->getType())
       GEN_ERROR("icmp operand types must match");
     yyval.ConstVal = ConstantExpr::getICmp(yyvsp[-5].IPredicate, yyvsp[-3].ConstVal, yyvsp[-1].ConstVal);
   ;
     break;}
-case 192:
-#line 1936 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 193:
+#line 1932 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     if (yyvsp[-3].ConstVal->getType() != yyvsp[-1].ConstVal->getType())
       GEN_ERROR("fcmp operand types must match");
     yyval.ConstVal = ConstantExpr::getFCmp(yyvsp[-5].FPredicate, yyvsp[-3].ConstVal, yyvsp[-1].ConstVal);
   ;
     break;}
-case 193:
-#line 1941 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 194:
+#line 1937 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     if (!ExtractElementInst::isValidOperands(yyvsp[-3].ConstVal, yyvsp[-1].ConstVal))
       GEN_ERROR("Invalid extractelement operands");
@@ -3761,8 +3774,8 @@
     CHECK_FOR_ERROR
   ;
     break;}
-case 194:
-#line 1947 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 195:
+#line 1943 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     if (!InsertElementInst::isValidOperands(yyvsp[-5].ConstVal, yyvsp[-3].ConstVal, yyvsp[-1].ConstVal))
       GEN_ERROR("Invalid insertelement operands");
@@ -3770,8 +3783,8 @@
     CHECK_FOR_ERROR
   ;
     break;}
-case 195:
-#line 1953 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 196:
+#line 1949 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     if (!ShuffleVectorInst::isValidOperands(yyvsp[-5].ConstVal, yyvsp[-3].ConstVal, yyvsp[-1].ConstVal))
       GEN_ERROR("Invalid shufflevector operands");
@@ -3779,39 +3792,39 @@
     CHECK_FOR_ERROR
   ;
     break;}
-case 196:
-#line 1962 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 197:
+#line 1958 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     (yyval.ConstVector = yyvsp[-2].ConstVector)->push_back(yyvsp[0].ConstVal);
     CHECK_FOR_ERROR
   ;
     break;}
-case 197:
-#line 1966 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 198:
+#line 1962 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     yyval.ConstVector = new std::vector<Constant*>();
     yyval.ConstVector->push_back(yyvsp[0].ConstVal);
     CHECK_FOR_ERROR
   ;
     break;}
-case 198:
-#line 1974 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
-{ yyval.BoolVal = false; ;
-    break;}
 case 199:
-#line 1974 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
-{ yyval.BoolVal = true; ;
+#line 1970 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+{ yyval.BoolVal = false; ;
     break;}
 case 200:
-#line 1977 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1970 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 { yyval.BoolVal = true; ;
     break;}
 case 201:
-#line 1977 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
-{ yyval.BoolVal = false; ;
+#line 1973 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+{ yyval.BoolVal = true; ;
     break;}
 case 202:
-#line 1980 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1973 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+{ yyval.BoolVal = false; ;
+    break;}
+case 203:
+#line 1976 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     const Type* VTy = yyvsp[-1].TypeVal->get();
     Value *V = getVal(VTy, yyvsp[0].ValIDVal);
@@ -3825,8 +3838,8 @@
     delete yyvsp[-1].TypeVal;
    ;
     break;}
-case 203:
-#line 1992 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 204:
+#line 1988 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     Constant *Val = yyvsp[-3].ConstVal;
     const Type *DestTy = yyvsp[-1].TypeVal->get();
@@ -3840,51 +3853,51 @@
     delete yyvsp[-1].TypeVal;
    ;
     break;}
-case 204:
-#line 2013 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 205:
+#line 2009 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     yyval.ModuleVal = ParserResult = CurModule.CurrentModule;
     CurModule.ModuleDone();
     CHECK_FOR_ERROR;
   ;
     break;}
-case 205:
-#line 2018 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 206:
+#line 2014 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     yyval.ModuleVal = ParserResult = CurModule.CurrentModule;
     CurModule.ModuleDone();
     CHECK_FOR_ERROR;
   ;
     break;}
-case 208:
-#line 2031 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 209:
+#line 2027 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 { CurFun.isDeclare = false; ;
     break;}
-case 209:
-#line 2031 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 210:
+#line 2027 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     CurFun.FunctionDone();
     CHECK_FOR_ERROR
   ;
     break;}
-case 210:
-#line 2035 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 211:
+#line 2031 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 { CurFun.isDeclare = true; ;
     break;}
-case 211:
-#line 2035 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 212:
+#line 2031 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     CHECK_FOR_ERROR
   ;
     break;}
-case 212:
-#line 2038 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 213:
+#line 2034 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     CHECK_FOR_ERROR
   ;
     break;}
-case 213:
-#line 2041 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 214:
+#line 2037 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*yyvsp[0].TypeVal)->getDescription());
@@ -3910,8 +3923,8 @@
     CHECK_FOR_ERROR
   ;
     break;}
-case 214:
-#line 2065 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 215:
+#line 2061 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     ResolveTypeTo(yyvsp[-2].StrVal, yyvsp[0].PrimType);
 
@@ -3924,74 +3937,57 @@
     CHECK_FOR_ERROR
   ;
     break;}
-case 215:
-#line 2076 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 216:
+#line 2073 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 { 
     /* "Externally Visible" Linkage */
-    if (yyvsp[0].ConstVal == 0) 
+    if (yyvsp[-1].ConstVal == 0) 
       GEN_ERROR("Global value initializer is not a constant");
-    CurGV = ParseGlobalVariable(yyvsp[-4].StrVal, GlobalValue::ExternalLinkage,
-                                yyvsp[-3].Visibility, yyvsp[-1].BoolVal, yyvsp[0].ConstVal->getType(), yyvsp[0].ConstVal, yyvsp[-2].BoolVal);
+    CurGV = ParseGlobalVariable(yyvsp[-5].StrVal, GlobalValue::ExternalLinkage,
+                                yyvsp[-4].Visibility, yyvsp[-2].BoolVal, yyvsp[-1].ConstVal->getType(), yyvsp[-1].ConstVal, yyvsp[-3].BoolVal, yyvsp[0].UIntVal);
     CHECK_FOR_ERROR
   ;
     break;}
-case 216:
-#line 2083 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
-{
-    CurGV = 0;
-  ;
-    break;}
 case 217:
-#line 2087 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
-{ 
-    /* "Externally Visible" Linkage with address space qualifier */
-    if (yyvsp[-4].ConstVal == 0) 
-      GEN_ERROR("Global value initializer is not a constant");
-    CurGV = ParseGlobalVariable(yyvsp[-8].StrVal, GlobalValue::ExternalLinkage,
-                                yyvsp[-7].Visibility, yyvsp[-5].BoolVal, yyvsp[-4].ConstVal->getType(), yyvsp[-4].ConstVal, yyvsp[-6].BoolVal, yyvsp[-1].UInt64Val);
-    CHECK_FOR_ERROR
-  ;
-    break;}
-case 218:
-#line 2094 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2080 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     CurGV = 0;
   ;
     break;}
-case 219:
-#line 2098 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 218:
+#line 2084 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 {
-    if (yyvsp[0].ConstVal == 0) 
+    if (yyvsp[-1].ConstVal == 0) 
       GEN_ERROR("Global value initializer is not a constant");
-    CurGV = ParseGlobalVariable(yyvsp[-5].StrVal, yyvsp[-4].Linkage, yyvsp[-3].Visibility, yyvsp[-1].BoolVal, yyvsp[0].ConstVal->getType(), yyvsp[0].ConstVal, yyvsp[-2].BoolVal);
+    CurGV = ParseGlobalVariable(yyvsp[-6].StrVal, yyvsp[-5].Linkage, yyvsp[-4].Visibility, yyvsp[-2].BoolVal, yyvsp[-1].ConstVal->getType(), yyvsp[-1].ConstVal, yyvsp[-3].BoolVal, yyvsp[0].UIntVal);
     CHECK_FOR_ERROR
   ;
     break;}
-case 220:
-#line 2103 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 219:
+#line 2089 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     CurGV = 0;
   ;
     break;}
-case 221:
-#line 2107 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 220:
+#line 2093 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     if (!UpRefs.empty())
-      GEN_ERROR("Invalid upreference in type: " + (*yyvsp[0].TypeVal)->getDescription());
-    CurGV = ParseGlobalVariable(yyvsp[-5].StrVal, yyvsp[-4].Linkage, yyvsp[-3].Visibility, yyvsp[-1].BoolVal, *yyvsp[0].TypeVal, 0, yyvsp[-2].BoolVal);
+      GEN_ERROR("Invalid upreference in type: " + (*yyvsp[-1].TypeVal)->getDescription());
+    CurGV = ParseGlobalVariable(yyvsp[-6].StrVal, yyvsp[-5].Linkage, yyvsp[-4].Visibility, yyvsp[-2].BoolVal, *yyvsp[-1].TypeVal, 0, yyvsp[-3].BoolVal, yyvsp[0].UIntVal);
     CHECK_FOR_ERROR
-    delete yyvsp[0].TypeVal;
+    delete yyvsp[-1].TypeVal;
   ;
     break;}
-case 222:
-#line 2113 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 221:
+#line 2099 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     CurGV = 0;
     CHECK_FOR_ERROR
   ;
     break;}
-case 223:
-#line 2117 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 222:
+#line 2103 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     std::string Name;
     if (yyvsp[-4].StrVal) {
@@ -4033,20 +4029,20 @@
     CHECK_FOR_ERROR
   ;
     break;}
-case 224:
-#line 2157 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 223:
+#line 2143 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 { 
     CHECK_FOR_ERROR
   ;
     break;}
-case 225:
-#line 2160 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 224:
+#line 2146 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     CHECK_FOR_ERROR
   ;
     break;}
-case 226:
-#line 2166 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 225:
+#line 2152 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 {
   const std::string &AsmSoFar = CurModule.CurrentModule->getModuleInlineAsm();
   if (AsmSoFar.empty())
@@ -4057,44 +4053,44 @@
   CHECK_FOR_ERROR
 ;
     break;}
-case 227:
-#line 2176 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 226:
+#line 2162 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     CurModule.CurrentModule->setTargetTriple(*yyvsp[0].StrVal);
     delete yyvsp[0].StrVal;
   ;
     break;}
-case 228:
-#line 2180 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 227:
+#line 2166 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     CurModule.CurrentModule->setDataLayout(*yyvsp[0].StrVal);
     delete yyvsp[0].StrVal;
   ;
     break;}
-case 230:
-#line 2187 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 229:
+#line 2173 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 {
           CurModule.CurrentModule->addLibrary(*yyvsp[0].StrVal);
           delete yyvsp[0].StrVal;
           CHECK_FOR_ERROR
         ;
     break;}
-case 231:
-#line 2192 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 230:
+#line 2178 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 {
           CurModule.CurrentModule->addLibrary(*yyvsp[0].StrVal);
           delete yyvsp[0].StrVal;
           CHECK_FOR_ERROR
         ;
     break;}
-case 232:
-#line 2197 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 231:
+#line 2183 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 {
           CHECK_FOR_ERROR
         ;
     break;}
-case 233:
-#line 2206 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 232:
+#line 2192 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*yyvsp[-2].TypeVal)->getDescription());
@@ -4106,8 +4102,8 @@
     CHECK_FOR_ERROR
   ;
     break;}
-case 234:
-#line 2216 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 233:
+#line 2202 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*yyvsp[-2].TypeVal)->getDescription());
@@ -4119,15 +4115,15 @@
     CHECK_FOR_ERROR
   ;
     break;}
-case 235:
-#line 2227 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 234:
+#line 2213 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     yyval.ArgList = yyvsp[0].ArgList;
     CHECK_FOR_ERROR
   ;
     break;}
-case 236:
-#line 2231 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 235:
+#line 2217 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     yyval.ArgList = yyvsp[-2].ArgList;
     struct ArgListEntry E;
@@ -4138,8 +4134,8 @@
     CHECK_FOR_ERROR
   ;
     break;}
-case 237:
-#line 2240 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 236:
+#line 2226 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     yyval.ArgList = new ArgListType;
     struct ArgListEntry E;
@@ -4150,15 +4146,15 @@
     CHECK_FOR_ERROR
   ;
     break;}
-case 238:
-#line 2249 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 237:
+#line 2235 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     yyval.ArgList = 0;
     CHECK_FOR_ERROR
   ;
     break;}
-case 239:
-#line 2255 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 238:
+#line 2241 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 {
   std::string FunctionName(*yyvsp[-7].StrVal);
   delete yyvsp[-7].StrVal;  // Free strdup'd memory!
@@ -4292,8 +4288,8 @@
   CHECK_FOR_ERROR
 ;
     break;}
-case 242:
-#line 2390 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 241:
+#line 2376 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 {
   yyval.FunctionVal = CurFun.CurrentFunction;
 
@@ -4303,15 +4299,15 @@
   yyval.FunctionVal->setVisibility(yyvsp[-2].Visibility);
 ;
     break;}
-case 245:
-#line 2401 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 244:
+#line 2387 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 {
   yyval.FunctionVal = yyvsp[-1].FunctionVal;
   CHECK_FOR_ERROR
 ;
     break;}
-case 246:
-#line 2406 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 245:
+#line 2392 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     CurFun.CurrentFunction->setLinkage(yyvsp[-2].Linkage);
     CurFun.CurrentFunction->setVisibility(yyvsp[-1].Visibility);
@@ -4320,78 +4316,78 @@
     CHECK_FOR_ERROR
   ;
     break;}
-case 247:
-#line 2418 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 246:
+#line 2404 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     yyval.BoolVal = false;
     CHECK_FOR_ERROR
   ;
     break;}
-case 248:
-#line 2422 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 247:
+#line 2408 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     yyval.BoolVal = true;
     CHECK_FOR_ERROR
   ;
     break;}
-case 249:
-#line 2427 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 248:
+#line 2413 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 {    // A reference to a direct constant
     yyval.ValIDVal = ValID::create(yyvsp[0].SInt64Val);
     CHECK_FOR_ERROR
   ;
     break;}
-case 250:
-#line 2431 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 249:
+#line 2417 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     yyval.ValIDVal = ValID::create(yyvsp[0].UInt64Val);
     CHECK_FOR_ERROR
   ;
     break;}
-case 251:
-#line 2435 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 250:
+#line 2421 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 {                     // Perhaps it's an FP constant?
     yyval.ValIDVal = ValID::create(yyvsp[0].FPVal);
     CHECK_FOR_ERROR
   ;
     break;}
-case 252:
-#line 2439 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 251:
+#line 2425 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     yyval.ValIDVal = ValID::create(ConstantInt::getTrue());
     CHECK_FOR_ERROR
   ;
     break;}
-case 253:
-#line 2443 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 252:
+#line 2429 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     yyval.ValIDVal = ValID::create(ConstantInt::getFalse());
     CHECK_FOR_ERROR
   ;
     break;}
-case 254:
-#line 2447 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 253:
+#line 2433 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     yyval.ValIDVal = ValID::createNull();
     CHECK_FOR_ERROR
   ;
     break;}
-case 255:
-#line 2451 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 254:
+#line 2437 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     yyval.ValIDVal = ValID::createUndef();
     CHECK_FOR_ERROR
   ;
     break;}
-case 256:
-#line 2455 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 255:
+#line 2441 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 {     // A vector zero constant.
     yyval.ValIDVal = ValID::createZeroInit();
     CHECK_FOR_ERROR
   ;
     break;}
-case 257:
-#line 2459 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 256:
+#line 2445 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 { // Nonempty unsized packed vector
     const Type *ETy = (*yyvsp[-1].ConstVector)[0]->getType();
     int NumElements = yyvsp[-1].ConstVector->size(); 
@@ -4418,15 +4414,15 @@
     CHECK_FOR_ERROR
   ;
     break;}
-case 258:
-#line 2484 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 257:
+#line 2470 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     yyval.ValIDVal = ValID::create(yyvsp[0].ConstVal);
     CHECK_FOR_ERROR
   ;
     break;}
-case 259:
-#line 2488 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 258:
+#line 2474 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     yyval.ValIDVal = ValID::createInlineAsm(*yyvsp[-2].StrVal, *yyvsp[0].StrVal, yyvsp[-3].BoolVal);
     delete yyvsp[-2].StrVal;
@@ -4434,38 +4430,38 @@
     CHECK_FOR_ERROR
   ;
     break;}
-case 260:
-#line 2498 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 259:
+#line 2484 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 {  // Is it an integer reference...?
     yyval.ValIDVal = ValID::createLocalID(yyvsp[0].UIntVal);
     CHECK_FOR_ERROR
   ;
     break;}
-case 261:
-#line 2502 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 260:
+#line 2488 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     yyval.ValIDVal = ValID::createGlobalID(yyvsp[0].UIntVal);
     CHECK_FOR_ERROR
   ;
     break;}
-case 262:
-#line 2506 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 261:
+#line 2492 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 {                   // Is it a named reference...?
     yyval.ValIDVal = ValID::createLocalName(*yyvsp[0].StrVal);
     delete yyvsp[0].StrVal;
     CHECK_FOR_ERROR
   ;
     break;}
-case 263:
-#line 2511 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 262:
+#line 2497 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 {                   // Is it a named reference...?
     yyval.ValIDVal = ValID::createGlobalName(*yyvsp[0].StrVal);
     delete yyvsp[0].StrVal;
     CHECK_FOR_ERROR
   ;
     break;}
-case 266:
-#line 2524 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 265:
+#line 2510 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*yyvsp[-1].TypeVal)->getDescription());
@@ -4474,22 +4470,22 @@
     CHECK_FOR_ERROR
   ;
     break;}
-case 267:
-#line 2533 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 266:
+#line 2519 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     yyval.FunctionVal = yyvsp[-1].FunctionVal;
     CHECK_FOR_ERROR
   ;
     break;}
-case 268:
-#line 2537 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 267:
+#line 2523 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 { // Do not allow functions with 0 basic blocks   
     yyval.FunctionVal = yyvsp[-1].FunctionVal;
     CHECK_FOR_ERROR
   ;
     break;}
-case 269:
-#line 2546 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 268:
+#line 2532 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     setValueName(yyvsp[0].TermInstVal, yyvsp[-1].StrVal);
     CHECK_FOR_ERROR
@@ -4499,8 +4495,8 @@
     CHECK_FOR_ERROR
   ;
     break;}
-case 270:
-#line 2555 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 269:
+#line 2541 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     if (CastInst *CI1 = dyn_cast<CastInst>(yyvsp[0].InstVal))
       if (CastInst *CI2 = dyn_cast<CastInst>(CI1->getOperand(0)))
@@ -4511,15 +4507,15 @@
     CHECK_FOR_ERROR
   ;
     break;}
-case 271:
-#line 2564 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 270:
+#line 2550 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 {          // Empty space between instruction lists
     yyval.BasicBlockVal = defineBBVal(ValID::createLocalID(CurFun.NextValNum));
     CHECK_FOR_ERROR
   ;
     break;}
-case 272:
-#line 2568 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 271:
+#line 2554 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 {             // Labelled (named) basic block
     yyval.BasicBlockVal = defineBBVal(ValID::createLocalName(*yyvsp[0].StrVal));
     delete yyvsp[0].StrVal;
@@ -4527,30 +4523,30 @@
 
   ;
     break;}
-case 273:
-#line 2575 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 272:
+#line 2561 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 {              // Return with a result...
     yyval.TermInstVal = new ReturnInst(yyvsp[0].ValueVal);
     CHECK_FOR_ERROR
   ;
     break;}
-case 274:
-#line 2579 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 273:
+#line 2565 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 {                                    // Return with no result...
     yyval.TermInstVal = new ReturnInst();
     CHECK_FOR_ERROR
   ;
     break;}
-case 275:
-#line 2583 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 274:
+#line 2569 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 {                           // Unconditional Branch...
     BasicBlock* tmpBB = getBBVal(yyvsp[0].ValIDVal);
     CHECK_FOR_ERROR
     yyval.TermInstVal = new BranchInst(tmpBB);
   ;
     break;}
-case 276:
-#line 2588 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 275:
+#line 2574 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 {  
     assert(cast<IntegerType>(yyvsp[-7].PrimType)->getBitWidth() == 1 && "Not Bool?");
     BasicBlock* tmpBBA = getBBVal(yyvsp[-3].ValIDVal);
@@ -4562,8 +4558,8 @@
     yyval.TermInstVal = new BranchInst(tmpBBA, tmpBBB, tmpVal);
   ;
     break;}
-case 277:
-#line 2598 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 276:
+#line 2584 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     Value* tmpVal = getVal(yyvsp[-7].PrimType, yyvsp[-6].ValIDVal);
     CHECK_FOR_ERROR
@@ -4584,8 +4580,8 @@
     CHECK_FOR_ERROR
   ;
     break;}
-case 278:
-#line 2617 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 277:
+#line 2603 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     Value* tmpVal = getVal(yyvsp[-6].PrimType, yyvsp[-5].ValIDVal);
     CHECK_FOR_ERROR
@@ -4596,8 +4592,8 @@
     CHECK_FOR_ERROR
   ;
     break;}
-case 279:
-#line 2627 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 278:
+#line 2613 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 {
 
     // Handle the short syntax
@@ -4682,22 +4678,22 @@
     CHECK_FOR_ERROR
   ;
     break;}
-case 280:
-#line 2710 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 279:
+#line 2696 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     yyval.TermInstVal = new UnwindInst();
     CHECK_FOR_ERROR
   ;
     break;}
-case 281:
-#line 2714 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 280:
+#line 2700 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     yyval.TermInstVal = new UnreachableInst();
     CHECK_FOR_ERROR
   ;
     break;}
-case 282:
-#line 2721 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 281:
+#line 2707 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     yyval.JumpTable = yyvsp[-5].JumpTable;
     Constant *V = cast<Constant>(getExistingVal(yyvsp[-4].PrimType, yyvsp[-3].ValIDVal));
@@ -4710,8 +4706,8 @@
     yyval.JumpTable->push_back(std::make_pair(V, tmpBB));
   ;
     break;}
-case 283:
-#line 2732 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 282:
+#line 2718 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     yyval.JumpTable = new std::vector<std::pair<Constant*, BasicBlock*> >();
     Constant *V = cast<Constant>(getExistingVal(yyvsp[-4].PrimType, yyvsp[-3].ValIDVal));
@@ -4725,8 +4721,8 @@
     yyval.JumpTable->push_back(std::make_pair(V, tmpBB)); 
   ;
     break;}
-case 284:
-#line 2745 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 283:
+#line 2731 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     // Is this definition named?? if so, assign the name...
     setValueName(yyvsp[0].InstVal, yyvsp[-1].StrVal);
@@ -4736,8 +4732,8 @@
     CHECK_FOR_ERROR
   ;
     break;}
-case 285:
-#line 2755 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 284:
+#line 2741 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 {    // Used for PHI nodes
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*yyvsp[-5].TypeVal)->getDescription());
@@ -4750,8 +4746,8 @@
     delete yyvsp[-5].TypeVal;
   ;
     break;}
-case 286:
-#line 2766 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 285:
+#line 2752 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     yyval.PHIList = yyvsp[-6].PHIList;
     Value* tmpVal = getVal(yyvsp[-6].PHIList->front().first->getType(), yyvsp[-3].ValIDVal);
@@ -4761,8 +4757,8 @@
     yyvsp[-6].PHIList->push_back(std::make_pair(tmpVal, tmpBB));
   ;
     break;}
-case 287:
-#line 2776 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 286:
+#line 2762 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     // FIXME: Remove trailing OptParamAttrs in LLVM 3.0, it was a mistake in 2.0
     if (!UpRefs.empty())
@@ -4775,8 +4771,8 @@
     CHECK_FOR_ERROR
   ;
     break;}
-case 288:
-#line 2787 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 287:
+#line 2773 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     // FIXME: Remove trailing OptParamAttrs in LLVM 3.0, it was a mistake in 2.0
     // Labels are only valid in ASMs
@@ -4786,8 +4782,8 @@
     CHECK_FOR_ERROR
   ;
     break;}
-case 289:
-#line 2795 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 288:
+#line 2781 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     // FIXME: Remove trailing OptParamAttrs in LLVM 3.0, it was a mistake in 2.0
     if (!UpRefs.empty())
@@ -4799,8 +4795,8 @@
     CHECK_FOR_ERROR
   ;
     break;}
-case 290:
-#line 2805 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 289:
+#line 2791 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     // FIXME: Remove trailing OptParamAttrs in LLVM 3.0, it was a mistake in 2.0
     yyval.ParamList = yyvsp[-5].ParamList;
@@ -4809,38 +4805,38 @@
     CHECK_FOR_ERROR
   ;
     break;}
-case 291:
-#line 2812 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 290:
+#line 2798 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 { yyval.ParamList = new ParamList(); ;
     break;}
-case 292:
-#line 2815 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 291:
+#line 2801 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 { yyval.ValueList = new std::vector<Value*>(); ;
     break;}
-case 293:
-#line 2816 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 292:
+#line 2802 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     yyval.ValueList = yyvsp[-2].ValueList;
     yyval.ValueList->push_back(yyvsp[0].ValueVal);
     CHECK_FOR_ERROR
   ;
     break;}
-case 294:
-#line 2823 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 293:
+#line 2809 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     yyval.BoolVal = true;
     CHECK_FOR_ERROR
   ;
     break;}
-case 295:
-#line 2827 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 294:
+#line 2813 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     yyval.BoolVal = false;
     CHECK_FOR_ERROR
   ;
     break;}
-case 296:
-#line 2832 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 295:
+#line 2818 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*yyvsp[-3].TypeVal)->getDescription());
@@ -4858,8 +4854,8 @@
     delete yyvsp[-3].TypeVal;
   ;
     break;}
-case 297:
-#line 2848 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 296:
+#line 2834 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*yyvsp[-3].TypeVal)->getDescription());
@@ -4878,8 +4874,8 @@
     delete yyvsp[-3].TypeVal;
   ;
     break;}
-case 298:
-#line 2865 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 297:
+#line 2851 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*yyvsp[-3].TypeVal)->getDescription());
@@ -4895,8 +4891,8 @@
     delete yyvsp[-3].TypeVal;
   ;
     break;}
-case 299:
-#line 2879 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 298:
+#line 2865 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*yyvsp[-3].TypeVal)->getDescription());
@@ -4912,8 +4908,8 @@
     delete yyvsp[-3].TypeVal;
   ;
     break;}
-case 300:
-#line 2893 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 299:
+#line 2879 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*yyvsp[0].TypeVal)->getDescription());
@@ -4927,8 +4923,8 @@
     delete yyvsp[0].TypeVal;
   ;
     break;}
-case 301:
-#line 2905 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 300:
+#line 2891 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     if (yyvsp[-4].ValueVal->getType() != Type::Int1Ty)
       GEN_ERROR("select condition must be boolean");
@@ -4938,8 +4934,8 @@
     CHECK_FOR_ERROR
   ;
     break;}
-case 302:
-#line 2913 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 301:
+#line 2899 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*yyvsp[0].TypeVal)->getDescription());
@@ -4948,8 +4944,8 @@
     CHECK_FOR_ERROR
   ;
     break;}
-case 303:
-#line 2920 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 302:
+#line 2906 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     if (!ExtractElementInst::isValidOperands(yyvsp[-2].ValueVal, yyvsp[0].ValueVal))
       GEN_ERROR("Invalid extractelement operands");
@@ -4957,8 +4953,8 @@
     CHECK_FOR_ERROR
   ;
     break;}
-case 304:
-#line 2926 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 303:
+#line 2912 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     if (!InsertElementInst::isValidOperands(yyvsp[-4].ValueVal, yyvsp[-2].ValueVal, yyvsp[0].ValueVal))
       GEN_ERROR("Invalid insertelement operands");
@@ -4966,8 +4962,8 @@
     CHECK_FOR_ERROR
   ;
     break;}
-case 305:
-#line 2932 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 304:
+#line 2918 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     if (!ShuffleVectorInst::isValidOperands(yyvsp[-4].ValueVal, yyvsp[-2].ValueVal, yyvsp[0].ValueVal))
       GEN_ERROR("Invalid shufflevector operands");
@@ -4975,8 +4971,8 @@
     CHECK_FOR_ERROR
   ;
     break;}
-case 306:
-#line 2938 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 305:
+#line 2924 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     const Type *Ty = yyvsp[0].PHIList->front().first->getType();
     if (!Ty->isFirstClassType())
@@ -4993,8 +4989,8 @@
     CHECK_FOR_ERROR
   ;
     break;}
-case 307:
-#line 2954 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 306:
+#line 2940 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 {
 
     // Handle the short syntax
@@ -5086,29 +5082,29 @@
     CHECK_FOR_ERROR
   ;
     break;}
-case 308:
-#line 3044 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 307:
+#line 3030 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     yyval.InstVal = yyvsp[0].InstVal;
     CHECK_FOR_ERROR
   ;
     break;}
-case 309:
-#line 3049 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 308:
+#line 3035 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     yyval.BoolVal = true;
     CHECK_FOR_ERROR
   ;
     break;}
-case 310:
-#line 3053 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 309:
+#line 3039 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     yyval.BoolVal = false;
     CHECK_FOR_ERROR
   ;
     break;}
-case 311:
-#line 3060 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 310:
+#line 3046 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*yyvsp[-1].TypeVal)->getDescription());
@@ -5117,8 +5113,8 @@
     CHECK_FOR_ERROR
   ;
     break;}
-case 312:
-#line 3067 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 311:
+#line 3053 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*yyvsp[-4].TypeVal)->getDescription());
@@ -5128,8 +5124,8 @@
     delete yyvsp[-4].TypeVal;
   ;
     break;}
-case 313:
-#line 3075 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 312:
+#line 3061 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*yyvsp[-1].TypeVal)->getDescription());
@@ -5138,8 +5134,8 @@
     CHECK_FOR_ERROR
   ;
     break;}
-case 314:
-#line 3082 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 313:
+#line 3068 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*yyvsp[-4].TypeVal)->getDescription());
@@ -5149,8 +5145,8 @@
     delete yyvsp[-4].TypeVal;
   ;
     break;}
-case 315:
-#line 3090 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 314:
+#line 3076 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     if (!isa<PointerType>(yyvsp[0].ValueVal->getType()))
       GEN_ERROR("Trying to free nonpointer type " + 
@@ -5159,8 +5155,8 @@
     CHECK_FOR_ERROR
   ;
     break;}
-case 316:
-#line 3098 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 315:
+#line 3084 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*yyvsp[-2].TypeVal)->getDescription());
@@ -5176,8 +5172,8 @@
     delete yyvsp[-2].TypeVal;
   ;
     break;}
-case 317:
-#line 3112 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 316:
+#line 3098 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*yyvsp[-2].TypeVal)->getDescription());
@@ -5196,8 +5192,8 @@
     delete yyvsp[-2].TypeVal;
   ;
     break;}
-case 318:
-#line 3129 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+case 317:
+#line 3115 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*yyvsp[-2].TypeVal)->getDescription());
@@ -5436,7 +5432,7 @@
     }
   return 1;
 }
-#line 3146 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 3132 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
 
 
 // common code from the two 'RunVMAsmParser' functions

Modified: llvm/trunk/lib/AsmParser/llvmAsmParser.y.cvs
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/AsmParser/llvmAsmParser.y.cvs?rev=44934&r1=44933&r2=44934&view=diff

==============================================================================
--- llvm/trunk/lib/AsmParser/llvmAsmParser.y.cvs (original)
+++ llvm/trunk/lib/AsmParser/llvmAsmParser.y.cvs Wed Dec 12 02:45:45 2007
@@ -1050,7 +1050,7 @@
 %type <StrVal> GlobalName OptGlobalAssign GlobalAssign
 %type <StrVal> OptSection SectionString OptGC
 
-%type <UIntVal> OptAlign OptCAlign
+%type <UIntVal> OptAlign OptCAlign OptAddrSpace
 
 %token ZEROINITIALIZER TRUETOK FALSETOK BEGINTOK ENDTOK
 %token DECLARE DEFINE GLOBAL CONSTANT SECTION ALIAS VOLATILE THREAD_LOCAL
@@ -1137,6 +1137,9 @@
 LocalName : LOCALVAR | STRINGCONSTANT | PCTSTRINGCONSTANT ;
 OptLocalName : LocalName | /*empty*/ { $$ = 0; };
 
+OptAddrSpace : ADDRSPACE '(' EUINT64VAL ')' { $$=$3; }
+             | /*empty*/                    { $$=0; };
+
 /// OptLocalAssign - Value producing statements have an optional assignment
 /// component.
 OptLocalAssign : LocalName '=' {
@@ -1316,17 +1319,10 @@
     $$ = new PATypeHolder($1);
     CHECK_FOR_ERROR
   }
-  | Types '*' {                             // Pointer type?
+  | Types OptAddrSpace '*' {                             // Pointer type?
     if (*$1 == Type::LabelTy)
       GEN_ERROR("Cannot form a pointer to a basic block");
-    $$ = new PATypeHolder(HandleUpRefs(PointerType::get(*$1)));
-    delete $1;
-    CHECK_FOR_ERROR
-  }
-  | Types ADDRSPACE '(' EUINT64VAL ')' '*' {             // Pointer type?
-    if (*$1 == Type::LabelTy)
-      GEN_ERROR("Cannot form a pointer to a basic block");
-    $$ = new PATypeHolder(HandleUpRefs(PointerType::get(*$1, $4)));
+    $$ = new PATypeHolder(HandleUpRefs(PointerType::get(*$1, $2)));
     delete $1;
     CHECK_FOR_ERROR
   }
@@ -2073,41 +2069,31 @@
     }
     CHECK_FOR_ERROR
   }
-  | OptGlobalAssign GVVisibilityStyle ThreadLocal GlobalType ConstVal { 
+  | OptGlobalAssign GVVisibilityStyle ThreadLocal GlobalType ConstVal 
+    OptAddrSpace { 
     /* "Externally Visible" Linkage */
     if ($5 == 0) 
       GEN_ERROR("Global value initializer is not a constant");
     CurGV = ParseGlobalVariable($1, GlobalValue::ExternalLinkage,
-                                $2, $4, $5->getType(), $5, $3);
-    CHECK_FOR_ERROR
-  } GlobalVarAttributes {
-    CurGV = 0;
-  }
-  | OptGlobalAssign GVVisibilityStyle ThreadLocal GlobalType ConstVal
-    ADDRSPACE '(' EUINT64VAL ')' { 
-    /* "Externally Visible" Linkage with address space qualifier */
-    if ($5 == 0) 
-      GEN_ERROR("Global value initializer is not a constant");
-    CurGV = ParseGlobalVariable($1, GlobalValue::ExternalLinkage,
-                                $2, $4, $5->getType(), $5, $3, $8);
+                                $2, $4, $5->getType(), $5, $3, $6);
     CHECK_FOR_ERROR
   } GlobalVarAttributes {
     CurGV = 0;
   }
   | OptGlobalAssign GVInternalLinkage GVVisibilityStyle ThreadLocal GlobalType
-    ConstVal {
+    ConstVal OptAddrSpace {
     if ($6 == 0) 
       GEN_ERROR("Global value initializer is not a constant");
-    CurGV = ParseGlobalVariable($1, $2, $3, $5, $6->getType(), $6, $4);
+    CurGV = ParseGlobalVariable($1, $2, $3, $5, $6->getType(), $6, $4, $7);
     CHECK_FOR_ERROR
   } GlobalVarAttributes {
     CurGV = 0;
   }
   | OptGlobalAssign GVExternalLinkage GVVisibilityStyle ThreadLocal GlobalType
-    Types {
+    Types OptAddrSpace {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*$6)->getDescription());
-    CurGV = ParseGlobalVariable($1, $2, $3, $5, *$6, 0, $4);
+    CurGV = ParseGlobalVariable($1, $2, $3, $5, *$6, 0, $4, $7);
     CHECK_FOR_ERROR
     delete $6;
   } GlobalVarAttributes {





More information about the llvm-commits mailing list