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

Jeff Cohen jeffc at jolt-lang.org
Sun Jan 21 11:19:46 PST 2007



Changes in directory llvm/lib/AsmParser:

llvmAsmParser.cpp.cvs updated: 1.56 -> 1.57
llvmAsmParser.h.cvs updated: 1.44 -> 1.45
llvmAsmParser.y updated: 1.311 -> 1.312
llvmAsmParser.y.cvs updated: 1.57 -> 1.58
---
Log message:

Fix this error:

llvm[2]: Compiling llvmAsmParser.cpp for Debug build 
/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y: In function 'int llvmAsmparse()':
/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y:1846: error: expected `;' before '}' token



---
Diffs of the changes:  (+1359 -1582)

 llvmAsmParser.cpp.cvs | 2908 +++++++++++++++++++++++---------------------------
 llvmAsmParser.h.cvs   |   29 
 llvmAsmParser.y       |    2 
 llvmAsmParser.y.cvs   |    2 
 4 files changed, 1359 insertions(+), 1582 deletions(-)


Index: llvm/lib/AsmParser/llvmAsmParser.cpp.cvs
diff -u llvm/lib/AsmParser/llvmAsmParser.cpp.cvs:1.56 llvm/lib/AsmParser/llvmAsmParser.cpp.cvs:1.57
--- llvm/lib/AsmParser/llvmAsmParser.cpp.cvs:1.56	Tue Jan 16 20:48:45 2007
+++ llvm/lib/AsmParser/llvmAsmParser.cpp.cvs	Sun Jan 21 13:19:31 2007
@@ -1,7 +1,7 @@
-/* A Bison parser, made by GNU Bison 2.1.  */
+/* A Bison parser, made from /usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y, by GNU bison 1.75.  */
 
 /* Skeleton parser for Yacc-like parsing with Bison,
-   Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
+   Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -15,8 +15,8 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor,
-   Boston, MA 02110-1301, USA.  */
+   Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
 
 /* As a special exception, when this file is copied by Bison into a
    Bison output file, you may use that output file without restriction.
@@ -34,21 +34,16 @@
    USER NAME SPACE" below.  */
 
 /* Identify Bison output.  */
-#define YYBISON 1
-
-/* Bison version.  */
-#define YYBISON_VERSION "2.1"
-
-/* Skeleton name.  */
-#define YYSKELETON_NAME "yacc.c"
+#define YYBISON	1
 
 /* Pure parsers.  */
-#define YYPURE 0
+#define YYPURE	0
 
 /* Using locations.  */
 #define YYLSP_NEEDED 0
 
-/* Substitute the variable and function names.  */
+/* If NAME_PREFIX is specified substitute the variables and functions
+   names.  */
 #define yyparse llvmAsmparse
 #define yylex   llvmAsmlex
 #define yyerror llvmAsmerror
@@ -196,7 +191,6 @@
      HIDDEN = 387
    };
 #endif
-/* Tokens.  */
 #define ESINT64VAL 258
 #define EUINT64VAL 259
 #define SINTVAL 260
@@ -332,7 +326,7 @@
 
 
 /* Copy the first part of user declarations.  */
-#line 14 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 14 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
 
 #include "ParserInternals.h"
 #include "llvm/CallingConv.h"
@@ -1215,14 +1209,9 @@
 # define YYERROR_VERBOSE 0
 #endif
 
-/* Enabling the token table.  */
-#ifndef YYTOKEN_TABLE
-# define YYTOKEN_TABLE 0
-#endif
-
-#if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED)
-#line 883 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
-typedef union YYSTYPE {
+#ifndef YYSTYPE
+#line 883 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
+typedef union {
   llvm::Module                           *ModuleVal;
   llvm::Function                         *FunctionVal;
   llvm::BasicBlock                       *BasicBlockVal;
@@ -1267,61 +1256,44 @@
   llvm::Module::Endianness          Endianness;
   llvm::ICmpInst::Predicate         IPredicate;
   llvm::FCmpInst::Predicate         FPredicate;
-} YYSTYPE;
-/* Line 196 of yacc.c.  */
-#line 1273 "llvmAsmParser.tab.c"
-# define yystype YYSTYPE /* obsolescent; will be withdrawn */
-# define YYSTYPE_IS_DECLARED 1
+} yystype;
+/* Line 188 of /usr/local/share/bison/yacc.c.  */
+#line 1262 "llvmAsmParser.tab.c"
+# define YYSTYPE yystype
 # define YYSTYPE_IS_TRIVIAL 1
 #endif
 
-
+#ifndef YYLTYPE
+typedef struct yyltype
+{
+  int first_line;
+  int first_column;
+  int last_line;
+  int last_column;
+} yyltype;
+# define YYLTYPE yyltype
+# define YYLTYPE_IS_TRIVIAL 1
+#endif
 
 /* Copy the second part of user declarations.  */
 
 
-/* Line 219 of yacc.c.  */
-#line 1285 "llvmAsmParser.tab.c"
-
-#if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__)
-# define YYSIZE_T __SIZE_TYPE__
-#endif
-#if ! defined (YYSIZE_T) && defined (size_t)
-# define YYSIZE_T size_t
-#endif
-#if ! defined (YYSIZE_T) && (defined (__STDC__) || defined (__cplusplus))
-# include <stddef.h> /* INFRINGES ON USER NAME SPACE */
-# define YYSIZE_T size_t
-#endif
-#if ! defined (YYSIZE_T)
-# define YYSIZE_T unsigned int
-#endif
-
-#ifndef YY_
-# if YYENABLE_NLS
-#  if ENABLE_NLS
-#   include <libintl.h> /* INFRINGES ON USER NAME SPACE */
-#   define YY_(msgid) dgettext ("bison-runtime", msgid)
-#  endif
-# endif
-# ifndef YY_
-#  define YY_(msgid) msgid
-# endif
-#endif
+/* Line 213 of /usr/local/share/bison/yacc.c.  */
+#line 1283 "llvmAsmParser.tab.c"
 
 #if ! defined (yyoverflow) || YYERROR_VERBOSE
 
 /* The parser invokes alloca or malloc; define the necessary symbols.  */
 
-# ifdef YYSTACK_USE_ALLOCA
-#  if YYSTACK_USE_ALLOCA
-#   ifdef __GNUC__
-#    define YYSTACK_ALLOC __builtin_alloca
-#   else
+# if YYSTACK_USE_ALLOCA
+#  define YYSTACK_ALLOC alloca
+# else
+#  ifndef YYSTACK_USE_ALLOCA
+#   if defined (alloca) || defined (_ALLOCA_H)
 #    define YYSTACK_ALLOC alloca
-#    if defined (__STDC__) || defined (__cplusplus)
-#     include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
-#     define YYINCLUDED_STDLIB_H
+#   else
+#    ifdef __GNUC__
+#     define YYSTACK_ALLOC __builtin_alloca
 #    endif
 #   endif
 #  endif
@@ -1330,76 +1302,50 @@
 # ifdef YYSTACK_ALLOC
    /* Pacify GCC's `empty if-body' warning. */
 #  define YYSTACK_FREE(Ptr) do { /* empty */; } while (0)
-#  ifndef YYSTACK_ALLOC_MAXIMUM
-    /* The OS might guarantee only one guard page at the bottom of the stack,
-       and a page size can be as small as 4096 bytes.  So we cannot safely
-       invoke alloca (N) if N exceeds 4096.  Use a slightly smaller number
-       to allow for a few compiler-allocated temporary stack slots.  */
-#   define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2005 */
-#  endif
 # else
-#  define YYSTACK_ALLOC YYMALLOC
-#  define YYSTACK_FREE YYFREE
-#  ifndef YYSTACK_ALLOC_MAXIMUM
-#   define YYSTACK_ALLOC_MAXIMUM ((YYSIZE_T) -1)
-#  endif
-#  ifdef __cplusplus
-extern "C" {
-#  endif
-#  ifndef YYMALLOC
-#   define YYMALLOC malloc
-#   if (! defined (malloc) && ! defined (YYINCLUDED_STDLIB_H) \
-	&& (defined (__STDC__) || defined (__cplusplus)))
-void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
-#   endif
-#  endif
-#  ifndef YYFREE
-#   define YYFREE free
-#   if (! defined (free) && ! defined (YYINCLUDED_STDLIB_H) \
-	&& (defined (__STDC__) || defined (__cplusplus)))
-void free (void *); /* INFRINGES ON USER NAME SPACE */
-#   endif
-#  endif
-#  ifdef __cplusplus
-}
+#  if defined (__STDC__) || defined (__cplusplus)
+#   include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
+#   define YYSIZE_T size_t
 #  endif
+#  define YYSTACK_ALLOC malloc
+#  define YYSTACK_FREE free
 # endif
 #endif /* ! defined (yyoverflow) || YYERROR_VERBOSE */
 
 
 #if (! defined (yyoverflow) \
      && (! defined (__cplusplus) \
-	 || (defined (YYSTYPE_IS_TRIVIAL) && YYSTYPE_IS_TRIVIAL)))
+	 || (YYLTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
 
 /* A type that is properly aligned for any stack member.  */
 union yyalloc
 {
-  short int yyss;
+  short yyss;
   YYSTYPE yyvs;
   };
 
 /* The size of the maximum gap between one aligned stack and the next.  */
-# define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
+# define YYSTACK_GAP_MAX (sizeof (union yyalloc) - 1)
 
 /* The size of an array large to enough to hold all stacks, each with
    N elements.  */
 # define YYSTACK_BYTES(N) \
-     ((N) * (sizeof (short int) + sizeof (YYSTYPE))			\
-      + YYSTACK_GAP_MAXIMUM)
+     ((N) * (sizeof (short) + sizeof (YYSTYPE))				\
+      + YYSTACK_GAP_MAX)
 
 /* Copy COUNT objects from FROM to TO.  The source and destination do
    not overlap.  */
 # ifndef YYCOPY
-#  if defined (__GNUC__) && 1 < __GNUC__
+#  if 1 < __GNUC__
 #   define YYCOPY(To, From, Count) \
       __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
 #  else
 #   define YYCOPY(To, From, Count)		\
       do					\
 	{					\
-	  YYSIZE_T yyi;				\
+	  register YYSIZE_T yyi;		\
 	  for (yyi = 0; yyi < (Count); yyi++)	\
-	    (To)[yyi] = (From)[yyi];		\
+	    (To)[yyi] = (From)[yyi];	\
 	}					\
       while (0)
 #  endif
@@ -1416,7 +1362,7 @@
 	YYSIZE_T yynewbytes;						\
 	YYCOPY (&yyptr->Stack, Stack, yysize);				\
 	Stack = &yyptr->Stack;						\
-	yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
+	yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAX;	\
 	yyptr += yynewbytes / sizeof (*yyptr);				\
       }									\
     while (0)
@@ -1426,12 +1372,11 @@
 #if defined (__STDC__) || defined (__cplusplus)
    typedef signed char yysigned_char;
 #else
-   typedef short int yysigned_char;
+   typedef short yysigned_char;
 #endif
 
 /* YYFINAL -- State number of the termination state. */
 #define YYFINAL  36
-/* YYLAST -- Last index in YYTABLE.  */
 #define YYLAST   1357
 
 /* YYNTOKENS -- Number of terminals. */
@@ -1447,8 +1392,8 @@
 #define YYUNDEFTOK  2
 #define YYMAXUTOK   387
 
-#define YYTRANSLATE(YYX)						\
-  ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
+#define YYTRANSLATE(X) \
+  ((unsigned)(X) <= YYMAXUTOK ? yytranslate[X] : YYUNDEFTOK)
 
 /* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX.  */
 static const unsigned char yytranslate[] =
@@ -1497,7 +1442,7 @@
 #if YYDEBUG
 /* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
    YYRHS.  */
-static const unsigned short int yyprhs[] =
+static const unsigned short yyprhs[] =
 {
        0,     0,     3,     5,     7,     9,    11,    13,    15,    17,
       19,    21,    23,    25,    27,    29,    31,    33,    35,    37,
@@ -1531,7 +1476,7 @@
 };
 
 /* YYRHS -- A `-1'-separated list of the rules' RHS. */
-static const short int yyrhs[] =
+static const short yyrhs[] =
 {
      185,     0,    -1,     5,    -1,     6,    -1,    69,    -1,    70,
       -1,    71,    -1,    72,    -1,    73,    -1,    74,    -1,    75,
@@ -1628,19 +1573,19 @@
 };
 
 /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
-static const unsigned short int yyrline[] =
+static const unsigned short yyrline[] =
 {
        0,  1031,  1031,  1032,  1042,  1042,  1042,  1042,  1042,  1042,
     1042,  1042,  1042,  1043,  1043,  1043,  1044,  1044,  1044,  1044,
-    1044,  1044,  1045,  1045,  1045,  1045,  1045,  1045,  1046,  1046,
+    1044,  1044,  1044,  1045,  1045,  1045,  1045,  1045,  1046,  1046,
     1046,  1048,  1048,  1049,  1049,  1050,  1050,  1051,  1051,  1052,
     1052,  1056,  1056,  1057,  1057,  1058,  1058,  1059,  1059,  1060,
     1060,  1061,  1061,  1062,  1062,  1063,  1064,  1069,  1070,  1070,
     1073,  1077,  1083,  1084,  1085,  1086,  1087,  1091,  1092,  1093,
     1097,  1098,  1102,  1103,  1104,  1108,  1109,  1110,  1111,  1112,
-    1115,  1116,  1117,  1118,  1119,  1120,  1121,  1122,  1129,  1130,
-    1133,  1134,  1139,  1140,  1143,  1144,  1151,  1152,  1158,  1159,
-    1167,  1175,  1176,  1181,  1182,  1183,  1188,  1201,  1201,  1201,
+    1115,  1115,  1116,  1117,  1118,  1119,  1120,  1121,  1129,  1130,
+    1133,  1134,  1139,  1140,  1143,  1144,  1151,  1151,  1158,  1158,
+    1167,  1175,  1175,  1181,  1181,  1183,  1188,  1201,  1201,  1201,
     1201,  1204,  1208,  1212,  1219,  1224,  1232,  1250,  1268,  1273,
     1285,  1295,  1299,  1309,  1316,  1323,  1330,  1335,  1340,  1347,
     1348,  1355,  1362,  1370,  1375,  1386,  1414,  1430,  1459,  1487,
@@ -1662,56 +1607,56 @@
 };
 #endif
 
-#if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE
-/* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
+#if YYDEBUG || YYERROR_VERBOSE
+/* YYTNME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
    First, the terminals, then, starting at YYNTOKENS, nonterminals. */
 static const char *const yytname[] =
 {
-  "$end", "error", "$undefined", "ESINT64VAL", "EUINT64VAL", "SINTVAL",
-  "UINTVAL", "FPVAL", "VOID", "INTTYPE", "FLOAT", "DOUBLE", "LABEL",
-  "TYPE", "VAR_ID", "LABELSTR", "STRINGCONSTANT", "IMPLEMENTATION",
-  "ZEROINITIALIZER", "TRUETOK", "FALSETOK", "BEGINTOK", "ENDTOK",
-  "DECLARE", "DEFINE", "GLOBAL", "CONSTANT", "SECTION", "VOLATILE", "TO",
-  "DOTDOTDOT", "NULL_TOK", "UNDEF", "INTERNAL", "LINKONCE", "WEAK",
-  "APPENDING", "DLLIMPORT", "DLLEXPORT", "EXTERN_WEAK", "OPAQUE",
-  "EXTERNAL", "TARGET", "TRIPLE", "ENDIAN", "POINTERSIZE", "LITTLE", "BIG",
-  "ALIGN", "DEPLIBS", "CALL", "TAIL", "ASM_TOK", "MODULE", "SIDEEFFECT",
-  "CC_TOK", "CCC_TOK", "CSRETCC_TOK", "FASTCC_TOK", "COLDCC_TOK",
-  "X86_STDCALLCC_TOK", "X86_FASTCALLCC_TOK", "DATALAYOUT", "RET", "BR",
-  "SWITCH", "INVOKE", "UNWIND", "UNREACHABLE", "ADD", "SUB", "MUL", "UDIV",
-  "SDIV", "FDIV", "UREM", "SREM", "FREM", "AND", "OR", "XOR", "ICMP",
-  "FCMP", "EQ", "NE", "SLT", "SGT", "SLE", "SGE", "ULT", "UGT", "ULE",
-  "UGE", "OEQ", "ONE", "OLT", "OGT", "OLE", "OGE", "ORD", "UNO", "UEQ",
-  "UNE", "MALLOC", "ALLOCA", "FREE", "LOAD", "STORE", "GETELEMENTPTR",
-  "TRUNC", "ZEXT", "SEXT", "FPTRUNC", "FPEXT", "BITCAST", "UITOFP",
-  "SITOFP", "FPTOUI", "FPTOSI", "INTTOPTR", "PTRTOINT", "PHI_TOK",
-  "SELECT", "SHL", "LSHR", "ASHR", "VAARG", "EXTRACTELEMENT",
-  "INSERTELEMENT", "SHUFFLEVECTOR", "NORETURN", "DEFAULT", "HIDDEN", "'='",
-  "','", "'*'", "'\\\\'", "'('", "')'", "'['", "'x'", "']'", "'<'", "'>'",
-  "'{'", "'}'", "'c'", "$accept", "INTVAL", "ArithmeticOps", "LogicalOps",
-  "CastOps", "ShiftOps", "IPredicates", "FPredicates", "IntType", "FPType",
-  "OptAssign", "GVInternalLinkage", "GVExternalLinkage",
-  "GVVisibilityStyle", "FunctionDeclareLinkage", "FunctionDefineLinkage",
-  "OptCallingConv", "ParamAttr", "OptParamAttrs", "FuncAttr",
-  "OptFuncAttrs", "OptAlign", "OptCAlign", "SectionString", "OptSection",
-  "GlobalVarAttributes", "GlobalVarAttribute", "PrimType", "Types",
-  "ArgType", "ResultTypes", "ArgTypeList", "ArgTypeListI", "TypeListI",
-  "ConstVal", "ConstExpr", "ConstVector", "GlobalType", "Module",
-  "DefinitionList", "Definition", "@1", "@2", "@3", "@4", "@5", "AsmBlock",
-  "BigOrLittle", "TargetDefinition", "LibrariesDefinition", "LibList",
-  "Name", "OptName", "ArgListH", "ArgList", "FunctionHeaderH", "BEGIN",
-  "FunctionHeader", "END", "Function", "FunctionProto", "OptSideEffect",
-  "ConstValueRef", "SymbolicValueRef", "ValueRef", "ResolvedVal",
-  "BasicBlockList", "BasicBlock", "InstructionList", "BBTerminatorInst",
-  "JumpTable", "Inst", "PHIList", "ValueRefList", "IndexList",
-  "OptTailCall", "InstVal", "OptVolatile", "MemoryInst", 0
+  "$end", "error", "$undefined", "ESINT64VAL", "EUINT64VAL", "SINTVAL", 
+  "UINTVAL", "FPVAL", "VOID", "INTTYPE", "FLOAT", "DOUBLE", "LABEL", 
+  "TYPE", "VAR_ID", "LABELSTR", "STRINGCONSTANT", "IMPLEMENTATION", 
+  "ZEROINITIALIZER", "TRUETOK", "FALSETOK", "BEGINTOK", "ENDTOK", 
+  "DECLARE", "DEFINE", "GLOBAL", "CONSTANT", "SECTION", "VOLATILE", "TO", 
+  "DOTDOTDOT", "NULL_TOK", "UNDEF", "INTERNAL", "LINKONCE", "WEAK", 
+  "APPENDING", "DLLIMPORT", "DLLEXPORT", "EXTERN_WEAK", "OPAQUE", 
+  "EXTERNAL", "TARGET", "TRIPLE", "ENDIAN", "POINTERSIZE", "LITTLE", 
+  "BIG", "ALIGN", "DEPLIBS", "CALL", "TAIL", "ASM_TOK", "MODULE", 
+  "SIDEEFFECT", "CC_TOK", "CCC_TOK", "CSRETCC_TOK", "FASTCC_TOK", 
+  "COLDCC_TOK", "X86_STDCALLCC_TOK", "X86_FASTCALLCC_TOK", "DATALAYOUT", 
+  "RET", "BR", "SWITCH", "INVOKE", "UNWIND", "UNREACHABLE", "ADD", "SUB", 
+  "MUL", "UDIV", "SDIV", "FDIV", "UREM", "SREM", "FREM", "AND", "OR", 
+  "XOR", "ICMP", "FCMP", "EQ", "NE", "SLT", "SGT", "SLE", "SGE", "ULT", 
+  "UGT", "ULE", "UGE", "OEQ", "ONE", "OLT", "OGT", "OLE", "OGE", "ORD", 
+  "UNO", "UEQ", "UNE", "MALLOC", "ALLOCA", "FREE", "LOAD", "STORE", 
+  "GETELEMENTPTR", "TRUNC", "ZEXT", "SEXT", "FPTRUNC", "FPEXT", "BITCAST", 
+  "UITOFP", "SITOFP", "FPTOUI", "FPTOSI", "INTTOPTR", "PTRTOINT", 
+  "PHI_TOK", "SELECT", "SHL", "LSHR", "ASHR", "VAARG", "EXTRACTELEMENT", 
+  "INSERTELEMENT", "SHUFFLEVECTOR", "NORETURN", "DEFAULT", "HIDDEN", 
+  "'='", "','", "'*'", "'\\\\'", "'('", "')'", "'['", "'x'", "']'", "'<'", 
+  "'>'", "'{'", "'}'", "'c'", "$accept", "INTVAL", "ArithmeticOps", 
+  "LogicalOps", "CastOps", "ShiftOps", "IPredicates", "FPredicates", 
+  "IntType", "FPType", "OptAssign", "GVInternalLinkage", 
+  "GVExternalLinkage", "GVVisibilityStyle", "FunctionDeclareLinkage", 
+  "FunctionDefineLinkage", "OptCallingConv", "ParamAttr", "OptParamAttrs", 
+  "FuncAttr", "OptFuncAttrs", "OptAlign", "OptCAlign", "SectionString", 
+  "OptSection", "GlobalVarAttributes", "GlobalVarAttribute", "PrimType", 
+  "Types", "ArgType", "ResultTypes", "ArgTypeList", "ArgTypeListI", 
+  "TypeListI", "ConstVal", "ConstExpr", "ConstVector", "GlobalType", 
+  "Module", "DefinitionList", "Definition", "@1", "@2", "@3", "@4", "@5", 
+  "AsmBlock", "BigOrLittle", "TargetDefinition", "LibrariesDefinition", 
+  "LibList", "Name", "OptName", "ArgListH", "ArgList", "FunctionHeaderH", 
+  "BEGIN", "FunctionHeader", "END", "Function", "FunctionProto", 
+  "OptSideEffect", "ConstValueRef", "SymbolicValueRef", "ValueRef", 
+  "ResolvedVal", "BasicBlockList", "BasicBlock", "InstructionList", 
+  "BBTerminatorInst", "JumpTable", "Inst", "PHIList", "ValueRefList", 
+  "IndexList", "OptTailCall", "InstVal", "OptVolatile", "MemoryInst", 0
 };
 #endif
 
 # ifdef YYPRINT
 /* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
    token YYLEX-NUM.  */
-static const unsigned short int yytoknum[] =
+static const unsigned short yytoknum[] =
 {
        0,   256,   257,   258,   259,   260,   261,   262,   263,   264,
      265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
@@ -1802,7 +1747,7 @@
 /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
    STATE-NUM when YYTABLE doesn't specify something else to do.  Zero
    means the default is an error.  */
-static const unsigned short int yydefact[] =
+static const unsigned short yydefact[] =
 {
       61,   199,   200,   177,   174,   172,     0,     0,     0,    70,
        0,    61,   170,     0,    72,    75,     0,     0,     0,     0,
@@ -1864,7 +1809,7 @@
 };
 
 /* YYDEFGOTO[NTERM-NUM]. */
-static const short int yydefgoto[] =
+static const short yydefgoto[] =
 {
       -1,    71,   192,   193,   194,   195,   258,   275,   114,   115,
        9,    33,    34,    35,    41,    47,   125,   327,   237,   401,
@@ -1879,7 +1824,7 @@
 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
    STATE-NUM.  */
 #define YYPACT_NINF -413
-static const short int yypact[] =
+static const short yypact[] =
 {
      401,  -413,  -413,  -413,  -413,  -413,   110,  -107,    30,    67,
       77,   527,  -413,   -43,     2,   238,   -16,     8,    47,    84,
@@ -1941,7 +1886,7 @@
 };
 
 /* YYPGOTO[NTERM-NUM].  */
-static const short int yypgoto[] =
+static const short yypgoto[] =
 {
     -413,  -413,   379,   385,   389,   390,   304,   307,  -210,  -413,
      439,  -413,  -413,   145,  -413,  -413,  -192,  -305,  -412,  -413,
@@ -1956,9 +1901,9 @@
 /* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If
    positive, shift that token.  If negative, reduce the rule which
    number is the opposite.  If zero, do what YYDEFACT says.
-   If YYTABLE_NINF, syntax error.  */
+   If YYTABLE_NINF, parse error.  */
 #define YYTABLE_NINF -170
-static const short int yytable[] =
+static const short yytable[] =
 {
       13,   303,   285,   287,   196,   383,   302,   101,   462,    73,
      334,    13,    59,    60,   203,   103,    62,    63,    64,    65,
@@ -2098,7 +2043,7 @@
      222,   182,   183,   184,   223,   224,   225,   226
 };
 
-static const short int yycheck[] =
+static const short yycheck[] =
 {
        0,   211,   189,   190,   116,   308,     9,     4,   420,    23,
      245,    11,     5,     6,    21,     8,     9,    10,    11,    12,
@@ -2301,15 +2246,30 @@
       12,   134,   211,   211,    12,    67,   211,    12,   211
 };
 
+#if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__)
+# define YYSIZE_T __SIZE_TYPE__
+#endif
+#if ! defined (YYSIZE_T) && defined (size_t)
+# define YYSIZE_T size_t
+#endif
+#if ! defined (YYSIZE_T)
+# if defined (__STDC__) || defined (__cplusplus)
+#  include <stddef.h> /* INFRINGES ON USER NAME SPACE */
+#  define YYSIZE_T size_t
+# endif
+#endif
+#if ! defined (YYSIZE_T)
+# define YYSIZE_T unsigned int
+#endif
+
 #define yyerrok		(yyerrstatus = 0)
 #define yyclearin	(yychar = YYEMPTY)
-#define YYEMPTY		(-2)
+#define YYEMPTY		-2
 #define YYEOF		0
 
 #define YYACCEPT	goto yyacceptlab
 #define YYABORT		goto yyabortlab
-#define YYERROR		goto yyerrorlab
-
+#define YYERROR		goto yyerrlab1
 
 /* Like YYERROR except do call yyerror.  This remains here temporarily
    to ease the transition to the new meaning of YYERROR, for GCC.
@@ -2325,71 +2285,34 @@
     {								\
       yychar = (Token);						\
       yylval = (Value);						\
-      yytoken = YYTRANSLATE (yychar);				\
+      yychar1 = YYTRANSLATE (yychar);				\
       YYPOPSTACK;						\
       goto yybackup;						\
     }								\
   else								\
-    {								\
-      yyerror (YY_("syntax error: cannot back up")); \
+    { 								\
+      yyerror ("syntax error: cannot back up");			\
       YYERROR;							\
     }								\
 while (0)
 
-
 #define YYTERROR	1
 #define YYERRCODE	256
 
+/* YYLLOC_DEFAULT -- Compute the default location (before the actions
+   are run).  */
 
-/* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
-   If N is 0, then set CURRENT to the empty location which ends
-   the previous symbol: RHS[0] (always defined).  */
-
-#define YYRHSLOC(Rhs, K) ((Rhs)[K])
 #ifndef YYLLOC_DEFAULT
-# define YYLLOC_DEFAULT(Current, Rhs, N)				\
-    do									\
-      if (N)								\
-	{								\
-	  (Current).first_line   = YYRHSLOC (Rhs, 1).first_line;	\
-	  (Current).first_column = YYRHSLOC (Rhs, 1).first_column;	\
-	  (Current).last_line    = YYRHSLOC (Rhs, N).last_line;		\
-	  (Current).last_column  = YYRHSLOC (Rhs, N).last_column;	\
-	}								\
-      else								\
-	{								\
-	  (Current).first_line   = (Current).last_line   =		\
-	    YYRHSLOC (Rhs, 0).last_line;				\
-	  (Current).first_column = (Current).last_column =		\
-	    YYRHSLOC (Rhs, 0).last_column;				\
-	}								\
-    while (0)
-#endif
-
-
-/* YY_LOCATION_PRINT -- Print the location on the stream.
-   This macro was not mandated originally: define only if we know
-   we won't break user code: when these are the locations we know.  */
-
-#ifndef YY_LOCATION_PRINT
-# if YYLTYPE_IS_TRIVIAL
-#  define YY_LOCATION_PRINT(File, Loc)			\
-     fprintf (File, "%d.%d-%d.%d",			\
-              (Loc).first_line, (Loc).first_column,	\
-              (Loc).last_line,  (Loc).last_column)
-# else
-#  define YY_LOCATION_PRINT(File, Loc) ((void) 0)
-# endif
+# define YYLLOC_DEFAULT(Current, Rhs, N)           \
+  Current.first_line   = Rhs[1].first_line;      \
+  Current.first_column = Rhs[1].first_column;    \
+  Current.last_line    = Rhs[N].last_line;       \
+  Current.last_column  = Rhs[N].last_column;
 #endif
 
-
 /* YYLEX -- calling `yylex' with the right arguments.  */
 
-#ifdef YYLEX_PARAM
-# define YYLEX yylex (YYLEX_PARAM)
-#else
-# define YYLEX yylex ()
-#endif
+#define YYLEX	yylex ()
 
 /* Enable debugging if requested.  */
 #if YYDEBUG
@@ -2404,86 +2327,19 @@
   if (yydebug)					\
     YYFPRINTF Args;				\
 } while (0)
-
-# define YY_SYMBOL_PRINT(Title, Type, Value, Location)		\
-do {								\
-  if (yydebug)							\
-    {								\
-      YYFPRINTF (stderr, "%s ", Title);				\
-      yysymprint (stderr,					\
-                  Type, Value);	\
-      YYFPRINTF (stderr, "\n");					\
-    }								\
-} while (0)
-
-/*------------------------------------------------------------------.
-| yy_stack_print -- Print the state stack from its BOTTOM up to its |
-| TOP (included).                                                   |
-`------------------------------------------------------------------*/
-
-#if defined (__STDC__) || defined (__cplusplus)
-static void
-yy_stack_print (short int *bottom, short int *top)
-#else
-static void
-yy_stack_print (bottom, top)
-    short int *bottom;
-    short int *top;
-#endif
-{
-  YYFPRINTF (stderr, "Stack now");
-  for (/* Nothing. */; bottom <= top; ++bottom)
-    YYFPRINTF (stderr, " %d", *bottom);
-  YYFPRINTF (stderr, "\n");
-}
-
-# define YY_STACK_PRINT(Bottom, Top)				\
-do {								\
-  if (yydebug)							\
-    yy_stack_print ((Bottom), (Top));				\
-} while (0)
-
-
-/*------------------------------------------------.
-| Report that the YYRULE is going to be reduced.  |
-`------------------------------------------------*/
-
-#if defined (__STDC__) || defined (__cplusplus)
-static void
-yy_reduce_print (int yyrule)
-#else
-static void
-yy_reduce_print (yyrule)
-    int yyrule;
-#endif
-{
-  int yyi;
-  unsigned long int yylno = yyrline[yyrule];
-  YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu), ",
-             yyrule - 1, yylno);
-  /* Print the symbols being reduced, and their result.  */
-  for (yyi = yyprhs[yyrule]; 0 <= yyrhs[yyi]; yyi++)
-    YYFPRINTF (stderr, "%s ", yytname[yyrhs[yyi]]);
-  YYFPRINTF (stderr, "-> %s\n", yytname[yyr1[yyrule]]);
-}
-
-# define YY_REDUCE_PRINT(Rule)		\
-do {					\
-  if (yydebug)				\
-    yy_reduce_print (Rule);		\
+# define YYDSYMPRINT(Args)			\
+do {						\
+  if (yydebug)					\
+    yysymprint Args;				\
 } while (0)
-
 /* Nonzero means print parse trace.  It is left uninitialized so that
    multiple parsers can coexist.  */
 int yydebug;
 #else /* !YYDEBUG */
 # define YYDPRINTF(Args)
-# define YY_SYMBOL_PRINT(Title, Type, Value, Location)
-# define YY_STACK_PRINT(Bottom, Top)
-# define YY_REDUCE_PRINT(Rule)
+# define YYDSYMPRINT(Args)
 #endif /* !YYDEBUG */
 
-
 /* YYINITDEPTH -- initial size of the parser's stacks.  */
 #ifndef	YYINITDEPTH
 # define YYINITDEPTH 200
@@ -2493,9 +2349,13 @@
    if the built-in stack extension method is used).
 
    Do not make this value too large; the results are undefined if
-   YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH)
+   SIZE_MAX < YYSTACK_BYTES (YYMAXDEPTH)
    evaluated with infinite-precision integer arithmetic.  */
 
+#if YYMAXDEPTH == 0
+# undef YYMAXDEPTH
+#endif
+
 #ifndef YYMAXDEPTH
 # define YYMAXDEPTH 10000
 #endif
@@ -2517,7 +2377,7 @@
      const char *yystr;
 #   endif
 {
-  const char *yys = yystr;
+  register const char *yys = yystr;
 
   while (*yys++ != '\0')
     continue;
@@ -2542,8 +2402,8 @@
      const char *yysrc;
 #   endif
 {
-  char *yyd = yydest;
-  const char *yys = yysrc;
+  register char *yyd = yydest;
+  register const char *yys = yysrc;
 
   while ((*yyd++ = *yys++) != '\0')
     continue;
@@ -2553,186 +2413,124 @@
 #  endif
 # endif
 
-# ifndef yytnamerr
-/* Copy to YYRES the contents of YYSTR after stripping away unnecessary
-   quotes and backslashes, so that it's suitable for yyerror.  The
-   heuristic is that double-quoting is unnecessary unless the string
-   contains an apostrophe, a comma, or backslash (other than
-   backslash-backslash).  YYSTR is taken from yytname.  If YYRES is
-   null, do not copy; instead, return the length of what the result
-   would have been.  */
-static YYSIZE_T
-yytnamerr (char *yyres, const char *yystr)
-{
-  if (*yystr == '"')
-    {
-      size_t yyn = 0;
-      char const *yyp = yystr;
-
-      for (;;)
-	switch (*++yyp)
-	  {
-	  case '\'':
-	  case ',':
-	    goto do_not_strip_quotes;
-
-	  case '\\':
-	    if (*++yyp != '\\')
-	      goto do_not_strip_quotes;
-	    /* Fall through.  */
-	  default:
-	    if (yyres)
-	      yyres[yyn] = *yyp;
-	    yyn++;
-	    break;
-
-	  case '"':
-	    if (yyres)
-	      yyres[yyn] = '\0';
-	    return yyn;
-	  }
-    do_not_strip_quotes: ;
-    }
-
-  if (! yyres)
-    return yystrlen (yystr);
-
-  return yystpcpy (yyres, yystr) - yyres;
-}
-# endif
-
-#endif /* YYERROR_VERBOSE */
+#endif /* !YYERROR_VERBOSE */
 
 
 
 #if YYDEBUG
-/*--------------------------------.
-| Print this symbol on YYOUTPUT.  |
-`--------------------------------*/
+/*-----------------------------.
+| Print this symbol on YYOUT.  |
+`-----------------------------*/
 
-#if defined (__STDC__) || defined (__cplusplus)
 static void
-yysymprint (FILE *yyoutput, int yytype, YYSTYPE *yyvaluep)
+#if defined (__STDC__) || defined (__cplusplus)
+yysymprint (FILE* yyout, int yytype, YYSTYPE yyvalue)
 #else
-static void
-yysymprint (yyoutput, yytype, yyvaluep)
-    FILE *yyoutput;
+yysymprint (yyout, yytype, yyvalue)
+    FILE* yyout;
     int yytype;
-    YYSTYPE *yyvaluep;
+    YYSTYPE yyvalue;
 #endif
 {
   /* Pacify ``unused variable'' warnings.  */
-  (void) yyvaluep;
+  (void) yyvalue;
 
   if (yytype < YYNTOKENS)
-    YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);
-  else
-    YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);
-
-
+    {
+      YYFPRINTF (yyout, "token %s (", yytname[yytype]);
 # ifdef YYPRINT
-  if (yytype < YYNTOKENS)
-    YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
+      YYPRINT (yyout, yytoknum[yytype], yyvalue);
 # endif
+    }
+  else
+    YYFPRINTF (yyout, "nterm %s (", yytname[yytype]);
+
   switch (yytype)
     {
       default:
         break;
     }
-  YYFPRINTF (yyoutput, ")");
+  YYFPRINTF (yyout, ")");
 }
+#endif /* YYDEBUG. */
+
 
-#endif /* ! YYDEBUG */
 /*-----------------------------------------------.
 | Release the memory associated to this symbol.  |
 `-----------------------------------------------*/
 
-#if defined (__STDC__) || defined (__cplusplus)
 static void
-yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep)
+#if defined (__STDC__) || defined (__cplusplus)
+yydestruct (int yytype, YYSTYPE yyvalue)
 #else
-static void
-yydestruct (yymsg, yytype, yyvaluep)
-    const char *yymsg;
+yydestruct (yytype, yyvalue)
     int yytype;
-    YYSTYPE *yyvaluep;
+    YYSTYPE yyvalue;
 #endif
 {
   /* Pacify ``unused variable'' warnings.  */
-  (void) yyvaluep;
-
-  if (!yymsg)
-    yymsg = "Deleting";
-  YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
+  (void) yyvalue;
 
   switch (yytype)
     {
-
       default:
         break;
     }
 }
+
 
 
-/* Prevent warnings from -Wmissing-prototypes.  */
+/* The user can define YYPARSE_PARAM as the name of an argument to be passed
+   into yyparse.  The argument should have type void *.
+   It should actually point to an object.
+   Grammar actions can access the variable by casting it
+   to the proper pointer type.  */
 
 #ifdef YYPARSE_PARAM
 # if defined (__STDC__) || defined (__cplusplus)
-int yyparse (void *YYPARSE_PARAM);
+#  define YYPARSE_PARAM_ARG void *YYPARSE_PARAM
+#  define YYPARSE_PARAM_DECL
 # else
-int yyparse ();
+#  define YYPARSE_PARAM_ARG YYPARSE_PARAM
+#  define YYPARSE_PARAM_DECL void *YYPARSE_PARAM;
 # endif
-#else /* ! YYPARSE_PARAM */
-#if defined (__STDC__) || defined (__cplusplus)
+#else /* !YYPARSE_PARAM */
+# define YYPARSE_PARAM_ARG
+# define YYPARSE_PARAM_DECL
+#endif /* !YYPARSE_PARAM */
+
+/* Prevent warning if -Wstrict-prototypes.  */
+#ifdef __GNUC__
+# ifdef YYPARSE_PARAM
+int yyparse (void *);
+# else
 int yyparse (void);
-#else
-int yyparse ();
+# endif
 #endif
-#endif /* ! YYPARSE_PARAM */
-
 
 
-/* The look-ahead symbol.  */
+/* The lookahead symbol.  */
 int yychar;
 
-/* The semantic value of the look-ahead symbol.  */
+/* The semantic value of the lookahead symbol.  */
 YYSTYPE yylval;
 
-/* Number of syntax errors so far.  */
+/* Number of parse errors so far.  */
 int yynerrs;
 
 
-
-/*----------.
-| yyparse.  |
-`----------*/
-
-#ifdef YYPARSE_PARAM
-# if defined (__STDC__) || defined (__cplusplus)
-int yyparse (void *YYPARSE_PARAM)
-# else
-int yyparse (YYPARSE_PARAM)
-  void *YYPARSE_PARAM;
-# endif
-#else /* ! YYPARSE_PARAM */
-#if defined (__STDC__) || defined (__cplusplus)
-int
-yyparse (void)
-#else
 int
-yyparse ()
-
-#endif
-#endif
+yyparse (YYPARSE_PARAM_ARG)
+     YYPARSE_PARAM_DECL
 {
   
-  int yystate;
-  int yyn;
+  register int yystate;
+  register int yyn;
   int yyresult;
   /* Number of tokens to shift before error messages enabled.  */
   int yyerrstatus;
-  /* Look-ahead token as an internal (translated) token number.  */
-  int yytoken = 0;
+  /* Lookahead token as an internal (translated) token number.  */
+  int yychar1 = 0;
 
   /* Three stacks and their tools:
      `yyss': related to states,
@@ -2743,14 +2541,14 @@
      to reallocate them elsewhere.  */
 
   /* The state stack.  */
-  short int yyssa[YYINITDEPTH];
-  short int *yyss = yyssa;
-  short int *yyssp;
+  short	yyssa[YYINITDEPTH];
+  short *yyss = yyssa;
+  register short *yyssp;
 
   /* The semantic value stack.  */
   YYSTYPE yyvsa[YYINITDEPTH];
   YYSTYPE *yyvs = yyvsa;
-  YYSTYPE *yyvsp;
+  register YYSTYPE *yyvsp;
 
 
 
@@ -2796,7 +2594,7 @@
  yysetstate:
   *yyssp = yystate;
 
-  if (yyss + yystacksize - 1 <= yyssp)
+  if (yyssp >= yyss + yystacksize - 1)
     {
       /* Get the current used size of the three stacks, in elements.  */
       YYSIZE_T yysize = yyssp - yyss + 1;
@@ -2807,14 +2605,14 @@
 	   these so that the &'s don't force the real ones into
 	   memory.  */
 	YYSTYPE *yyvs1 = yyvs;
-	short int *yyss1 = yyss;
+	short *yyss1 = yyss;
 
 
 	/* Each stack pointer address is followed by the size of the
 	   data in use in that stack, in bytes.  This used to be a
 	   conditional around just the two extra args, but that might
 	   be undefined if yyoverflow is a macro.  */
-	yyoverflow (YY_("memory exhausted"),
+	yyoverflow ("parser stack overflow",
 		    &yyss1, yysize * sizeof (*yyssp),
 		    &yyvs1, yysize * sizeof (*yyvsp),
 
@@ -2825,21 +2623,21 @@
       }
 #else /* no yyoverflow */
 # ifndef YYSTACK_RELOCATE
-      goto yyexhaustedlab;
+      goto yyoverflowlab;
 # else
       /* Extend the stack our own way.  */
-      if (YYMAXDEPTH <= yystacksize)
-	goto yyexhaustedlab;
+      if (yystacksize >= YYMAXDEPTH)
+	goto yyoverflowlab;
       yystacksize *= 2;
-      if (YYMAXDEPTH < yystacksize)
+      if (yystacksize > YYMAXDEPTH)
 	yystacksize = YYMAXDEPTH;
 
       {
-	short int *yyss1 = yyss;
+	short *yyss1 = yyss;
 	union yyalloc *yyptr =
 	  (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
 	if (! yyptr)
-	  goto yyexhaustedlab;
+	  goto yyoverflowlab;
 	YYSTACK_RELOCATE (yyss);
 	YYSTACK_RELOCATE (yyvs);
 
@@ -2857,7 +2655,7 @@
       YYDPRINTF ((stderr, "Stack size increased to %lu\n",
 		  (unsigned long int) yystacksize));
 
-      if (yyss + yystacksize - 1 <= yyssp)
+      if (yyssp >= yyss + yystacksize - 1)
 	YYABORT;
     }
 
@@ -2871,39 +2669,50 @@
 yybackup:
 
 /* Do appropriate processing given the current state.  */
-/* Read a look-ahead token if we need one and don't already have one.  */
+/* Read a lookahead token if we need one and don't already have one.  */
 /* yyresume: */
 
-  /* First try to decide what to do without reference to look-ahead token.  */
+  /* First try to decide what to do without reference to lookahead token.  */
 
   yyn = yypact[yystate];
   if (yyn == YYPACT_NINF)
     goto yydefault;
 
-  /* Not known => get a look-ahead token if don't already have one.  */
+  /* Not known => get a lookahead token if don't already have one.  */
+
+  /* yychar is either YYEMPTY or YYEOF
+     or a valid token in external form.  */
 
-  /* YYCHAR is either YYEMPTY or YYEOF or a valid look-ahead symbol.  */
   if (yychar == YYEMPTY)
     {
       YYDPRINTF ((stderr, "Reading a token: "));
       yychar = YYLEX;
     }
 
-  if (yychar <= YYEOF)
+  /* Convert token to internal form (in yychar1) for indexing tables with.  */
+
+  if (yychar <= 0)		/* This means end of input.  */
     {
-      yychar = yytoken = YYEOF;
+      yychar1 = 0;
+      yychar = YYEOF;		/* Don't call YYLEX any more.  */
+
       YYDPRINTF ((stderr, "Now at end of input.\n"));
     }
   else
     {
-      yytoken = YYTRANSLATE (yychar);
-      YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
+      yychar1 = YYTRANSLATE (yychar);
+
+      /* We have to keep this `#if YYDEBUG', since we use variables
+	 which are defined only if `YYDEBUG' is set.  */
+      YYDPRINTF ((stderr, "Next token is "));
+      YYDSYMPRINT ((stderr, yychar1, yylval));
+      YYDPRINTF ((stderr, "\n"));
     }
 
-  /* If the proper action on seeing token YYTOKEN is to reduce or to
+  /* If the proper action on seeing token YYCHAR1 is to reduce or to
      detect an error, take that action.  */
-  yyn += yytoken;
-  if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
+  yyn += yychar1;
+  if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yychar1)
     goto yydefault;
   yyn = yytable[yyn];
   if (yyn <= 0)
@@ -2917,8 +2726,9 @@
   if (yyn == YYFINAL)
     YYACCEPT;
 
-  /* Shift the look-ahead token.  */
-  YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
+  /* Shift the lookahead token.  */
+  YYDPRINTF ((stderr, "Shifting token %d (%s), ",
+	      yychar, yytname[yychar1]));
 
   /* Discard the token being shifted unless it is eof.  */
   if (yychar != YYEOF)
@@ -2964,474 +2774,490 @@
   yyval = yyvsp[1-yylen];
 
 
-  YY_REDUCE_PRINT (yyn);
+
+#if YYDEBUG
+  /* We have to keep this `#if YYDEBUG', since we use variables which
+     are defined only if `YYDEBUG' is set.  */
+  if (yydebug)
+    {
+      int yyi;
+
+      YYFPRINTF (stderr, "Reducing via rule %d (line %d), ",
+		 yyn - 1, yyrline[yyn]);
+
+      /* Print the symbols being reduced, and their result.  */
+      for (yyi = yyprhs[yyn]; yyrhs[yyi] >= 0; yyi++)
+	YYFPRINTF (stderr, "%s ", yytname[yyrhs[yyi]]);
+      YYFPRINTF (stderr, " -> %s\n", yytname[yyr1[yyn]]);
+    }
+#endif
   switch (yyn)
     {
         case 3:
-#line 1032 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1032 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
     {
-  if ((yyvsp[0].UIntVal) > (uint32_t)INT32_MAX)     // Outside of my range!
+  if (yyvsp[0].UIntVal > (uint32_t)INT32_MAX)     // Outside of my range!
     GEN_ERROR("Value too large for type!");
-  (yyval.SIntVal) = (int32_t)(yyvsp[0].UIntVal);
+  yyval.SIntVal = (int32_t)yyvsp[0].UIntVal;
   CHECK_FOR_ERROR
-;}
+}
     break;
 
   case 31:
-#line 1048 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
-    { (yyval.IPredicate) = ICmpInst::ICMP_EQ; ;}
+#line 1048 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
+    { yyval.IPredicate = ICmpInst::ICMP_EQ; }
     break;
 
   case 32:
-#line 1048 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
-    { (yyval.IPredicate) = ICmpInst::ICMP_NE; ;}
+#line 1048 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
+    { yyval.IPredicate = ICmpInst::ICMP_NE; }
     break;
 
   case 33:
-#line 1049 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
-    { (yyval.IPredicate) = ICmpInst::ICMP_SLT; ;}
+#line 1049 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
+    { yyval.IPredicate = ICmpInst::ICMP_SLT; }
     break;
 
   case 34:
-#line 1049 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
-    { (yyval.IPredicate) = ICmpInst::ICMP_SGT; ;}
+#line 1049 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
+    { yyval.IPredicate = ICmpInst::ICMP_SGT; }
     break;
 
   case 35:
-#line 1050 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
-    { (yyval.IPredicate) = ICmpInst::ICMP_SLE; ;}
+#line 1050 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
+    { yyval.IPredicate = ICmpInst::ICMP_SLE; }
     break;
 
   case 36:
-#line 1050 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
-    { (yyval.IPredicate) = ICmpInst::ICMP_SGE; ;}
+#line 1050 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
+    { yyval.IPredicate = ICmpInst::ICMP_SGE; }
     break;
 
   case 37:
-#line 1051 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
-    { (yyval.IPredicate) = ICmpInst::ICMP_ULT; ;}
+#line 1051 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
+    { yyval.IPredicate = ICmpInst::ICMP_ULT; }
     break;
 
   case 38:
-#line 1051 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
-    { (yyval.IPredicate) = ICmpInst::ICMP_UGT; ;}
+#line 1051 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
+    { yyval.IPredicate = ICmpInst::ICMP_UGT; }
     break;
 
   case 39:
-#line 1052 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
-    { (yyval.IPredicate) = ICmpInst::ICMP_ULE; ;}
+#line 1052 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
+    { yyval.IPredicate = ICmpInst::ICMP_ULE; }
     break;
 
   case 40:
-#line 1052 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
-    { (yyval.IPredicate) = ICmpInst::ICMP_UGE; ;}
+#line 1052 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
+    { yyval.IPredicate = ICmpInst::ICMP_UGE; }
     break;
 
   case 41:
-#line 1056 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
-    { (yyval.FPredicate) = FCmpInst::FCMP_OEQ; ;}
+#line 1056 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
+    { yyval.FPredicate = FCmpInst::FCMP_OEQ; }
     break;
 
   case 42:
-#line 1056 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
-    { (yyval.FPredicate) = FCmpInst::FCMP_ONE; ;}
+#line 1056 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
+    { yyval.FPredicate = FCmpInst::FCMP_ONE; }
     break;
 
   case 43:
-#line 1057 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
-    { (yyval.FPredicate) = FCmpInst::FCMP_OLT; ;}
+#line 1057 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
+    { yyval.FPredicate = FCmpInst::FCMP_OLT; }
     break;
 
   case 44:
-#line 1057 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
-    { (yyval.FPredicate) = FCmpInst::FCMP_OGT; ;}
+#line 1057 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
+    { yyval.FPredicate = FCmpInst::FCMP_OGT; }
     break;
 
   case 45:
-#line 1058 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
-    { (yyval.FPredicate) = FCmpInst::FCMP_OLE; ;}
+#line 1058 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
+    { yyval.FPredicate = FCmpInst::FCMP_OLE; }
     break;
 
   case 46:
-#line 1058 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
-    { (yyval.FPredicate) = FCmpInst::FCMP_OGE; ;}
+#line 1058 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
+    { yyval.FPredicate = FCmpInst::FCMP_OGE; }
     break;
 
   case 47:
-#line 1059 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
-    { (yyval.FPredicate) = FCmpInst::FCMP_ORD; ;}
+#line 1059 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
+    { yyval.FPredicate = FCmpInst::FCMP_ORD; }
     break;
 
   case 48:
-#line 1059 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
-    { (yyval.FPredicate) = FCmpInst::FCMP_UNO; ;}
+#line 1059 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
+    { yyval.FPredicate = FCmpInst::FCMP_UNO; }
     break;
 
   case 49:
-#line 1060 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
-    { (yyval.FPredicate) = FCmpInst::FCMP_UEQ; ;}
+#line 1060 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
+    { yyval.FPredicate = FCmpInst::FCMP_UEQ; }
     break;
 
   case 50:
-#line 1060 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
-    { (yyval.FPredicate) = FCmpInst::FCMP_UNE; ;}
+#line 1060 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
+    { yyval.FPredicate = FCmpInst::FCMP_UNE; }
     break;
 
   case 51:
-#line 1061 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
-    { (yyval.FPredicate) = FCmpInst::FCMP_ULT; ;}
+#line 1061 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
+    { yyval.FPredicate = FCmpInst::FCMP_ULT; }
     break;
 
   case 52:
-#line 1061 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
-    { (yyval.FPredicate) = FCmpInst::FCMP_UGT; ;}
+#line 1061 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
+    { yyval.FPredicate = FCmpInst::FCMP_UGT; }
     break;
 
   case 53:
-#line 1062 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
-    { (yyval.FPredicate) = FCmpInst::FCMP_ULE; ;}
+#line 1062 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
+    { yyval.FPredicate = FCmpInst::FCMP_ULE; }
     break;
 
   case 54:
-#line 1062 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
-    { (yyval.FPredicate) = FCmpInst::FCMP_UGE; ;}
+#line 1062 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
+    { yyval.FPredicate = FCmpInst::FCMP_UGE; }
     break;
 
   case 55:
-#line 1063 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
-    { (yyval.FPredicate) = FCmpInst::FCMP_TRUE; ;}
+#line 1063 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
+    { yyval.FPredicate = FCmpInst::FCMP_TRUE; }
     break;
 
   case 56:
-#line 1064 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
-    { (yyval.FPredicate) = FCmpInst::FCMP_FALSE; ;}
+#line 1064 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
+    { yyval.FPredicate = FCmpInst::FCMP_FALSE; }
     break;
 
   case 60:
-#line 1073 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1073 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
     {
-    (yyval.StrVal) = (yyvsp[-1].StrVal);
+    yyval.StrVal = yyvsp[-1].StrVal;
     CHECK_FOR_ERROR
-  ;}
+  }
     break;
 
   case 61:
-#line 1077 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1077 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
     {
-    (yyval.StrVal) = 0;
+    yyval.StrVal = 0;
     CHECK_FOR_ERROR
-  ;}
+  }
     break;
 
   case 62:
-#line 1083 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
-    { (yyval.Linkage) = GlobalValue::InternalLinkage; ;}
+#line 1083 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
+    { yyval.Linkage = GlobalValue::InternalLinkage; }
     break;
 
   case 63:
-#line 1084 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
-    { (yyval.Linkage) = GlobalValue::WeakLinkage; ;}
+#line 1084 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
+    { yyval.Linkage = GlobalValue::WeakLinkage; }
     break;
 
   case 64:
-#line 1085 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
-    { (yyval.Linkage) = GlobalValue::LinkOnceLinkage; ;}
+#line 1085 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
+    { yyval.Linkage = GlobalValue::LinkOnceLinkage; }
     break;
 
   case 65:
-#line 1086 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
-    { (yyval.Linkage) = GlobalValue::AppendingLinkage; ;}
+#line 1086 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
+    { yyval.Linkage = GlobalValue::AppendingLinkage; }
     break;
 
   case 66:
-#line 1087 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
-    { (yyval.Linkage) = GlobalValue::DLLExportLinkage; ;}
+#line 1087 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
+    { yyval.Linkage = GlobalValue::DLLExportLinkage; }
     break;
 
   case 67:
-#line 1091 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
-    { (yyval.Linkage) = GlobalValue::DLLImportLinkage; ;}
+#line 1091 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
+    { yyval.Linkage = GlobalValue::DLLImportLinkage; }
     break;
 
   case 68:
-#line 1092 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
-    { (yyval.Linkage) = GlobalValue::ExternalWeakLinkage; ;}
+#line 1092 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
+    { yyval.Linkage = GlobalValue::ExternalWeakLinkage; }
     break;
 
   case 69:
-#line 1093 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
-    { (yyval.Linkage) = GlobalValue::ExternalLinkage; ;}
+#line 1093 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
+    { yyval.Linkage = GlobalValue::ExternalLinkage; }
     break;
 
   case 70:
-#line 1097 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
-    { (yyval.Visibility) = GlobalValue::DefaultVisibility; ;}
+#line 1097 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
+    { yyval.Visibility = GlobalValue::DefaultVisibility; }
     break;
 
   case 71:
-#line 1098 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
-    { (yyval.Visibility) = GlobalValue::HiddenVisibility;  ;}
+#line 1098 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
+    { yyval.Visibility = GlobalValue::HiddenVisibility;  }
     break;
 
   case 72:
-#line 1102 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
-    { (yyval.Linkage) = GlobalValue::ExternalLinkage; ;}
+#line 1102 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
+    { yyval.Linkage = GlobalValue::ExternalLinkage; }
     break;
 
   case 73:
-#line 1103 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
-    { (yyval.Linkage) = GlobalValue::DLLImportLinkage; ;}
+#line 1103 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
+    { yyval.Linkage = GlobalValue::DLLImportLinkage; }
     break;
 
   case 74:
-#line 1104 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
-    { (yyval.Linkage) = GlobalValue::ExternalWeakLinkage; ;}
+#line 1104 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
+    { yyval.Linkage = GlobalValue::ExternalWeakLinkage; }
     break;
 
   case 75:
-#line 1108 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
-    { (yyval.Linkage) = GlobalValue::ExternalLinkage; ;}
+#line 1108 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
+    { yyval.Linkage = GlobalValue::ExternalLinkage; }
     break;
 
   case 76:
-#line 1109 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
-    { (yyval.Linkage) = GlobalValue::InternalLinkage; ;}
+#line 1109 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
+    { yyval.Linkage = GlobalValue::InternalLinkage; }
     break;
 
   case 77:
-#line 1110 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
-    { (yyval.Linkage) = GlobalValue::LinkOnceLinkage; ;}
+#line 1110 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
+    { yyval.Linkage = GlobalValue::LinkOnceLinkage; }
     break;
 
   case 78:
-#line 1111 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
-    { (yyval.Linkage) = GlobalValue::WeakLinkage; ;}
+#line 1111 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
+    { yyval.Linkage = GlobalValue::WeakLinkage; }
     break;
 
   case 79:
-#line 1112 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
-    { (yyval.Linkage) = GlobalValue::DLLExportLinkage; ;}
+#line 1112 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
+    { yyval.Linkage = GlobalValue::DLLExportLinkage; }
     break;
 
   case 80:
-#line 1115 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
-    { (yyval.UIntVal) = CallingConv::C; ;}
+#line 1115 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
+    { yyval.UIntVal = CallingConv::C; }
     break;
 
   case 81:
-#line 1116 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
-    { (yyval.UIntVal) = CallingConv::C; ;}
+#line 1116 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
+    { yyval.UIntVal = CallingConv::C; }
     break;
 
   case 82:
-#line 1117 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
-    { (yyval.UIntVal) = CallingConv::CSRet; ;}
+#line 1117 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
+    { yyval.UIntVal = CallingConv::CSRet; }
     break;
 
   case 83:
-#line 1118 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
-    { (yyval.UIntVal) = CallingConv::Fast; ;}
+#line 1118 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
+    { yyval.UIntVal = CallingConv::Fast; }
     break;
 
   case 84:
-#line 1119 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
-    { (yyval.UIntVal) = CallingConv::Cold; ;}
+#line 1119 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
+    { yyval.UIntVal = CallingConv::Cold; }
     break;
 
   case 85:
-#line 1120 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
-    { (yyval.UIntVal) = CallingConv::X86_StdCall; ;}
+#line 1120 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
+    { yyval.UIntVal = CallingConv::X86_StdCall; }
     break;
 
   case 86:
-#line 1121 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
-    { (yyval.UIntVal) = CallingConv::X86_FastCall; ;}
+#line 1121 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
+    { yyval.UIntVal = CallingConv::X86_FastCall; }
     break;
 
   case 87:
-#line 1122 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1122 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
     {
-                   if ((unsigned)(yyvsp[0].UInt64Val) != (yyvsp[0].UInt64Val))
+                   if ((unsigned)yyvsp[0].UInt64Val != yyvsp[0].UInt64Val)
                      GEN_ERROR("Calling conv too large!");
-                   (yyval.UIntVal) = (yyvsp[0].UInt64Val);
+                   yyval.UIntVal = yyvsp[0].UInt64Val;
                   CHECK_FOR_ERROR
-                 ;}
+                 }
     break;
 
   case 88:
-#line 1129 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
-    { (yyval.ParamAttrs) = FunctionType::ZExtAttribute; ;}
+#line 1129 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
+    { yyval.ParamAttrs = FunctionType::ZExtAttribute; }
     break;
 
   case 89:
-#line 1130 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
-    { (yyval.ParamAttrs) = FunctionType::SExtAttribute; ;}
+#line 1130 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
+    { yyval.ParamAttrs = FunctionType::SExtAttribute; }
     break;
 
   case 90:
-#line 1133 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
-    { (yyval.ParamAttrs) = FunctionType::NoAttributeSet; ;}
+#line 1133 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
+    { yyval.ParamAttrs = FunctionType::NoAttributeSet; }
     break;
 
   case 91:
-#line 1134 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1134 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
     {
-                (yyval.ParamAttrs) = FunctionType::ParameterAttributes((yyvsp[-1].ParamAttrs) | (yyvsp[0].ParamAttrs));
-              ;}
+                yyval.ParamAttrs = FunctionType::ParameterAttributes(yyvsp[-1].ParamAttrs | yyvsp[0].ParamAttrs);
+              }
     break;
 
   case 92:
-#line 1139 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
-    { (yyval.ParamAttrs) = FunctionType::NoReturnAttribute; ;}
+#line 1139 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
+    { yyval.ParamAttrs = FunctionType::NoReturnAttribute; }
     break;
 
   case 94:
-#line 1143 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
-    { (yyval.ParamAttrs) = FunctionType::NoAttributeSet; ;}
+#line 1143 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
+    { yyval.ParamAttrs = FunctionType::NoAttributeSet; }
     break;
 
   case 95:
-#line 1144 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1144 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
     {
-                (yyval.ParamAttrs) = FunctionType::ParameterAttributes((yyvsp[-1].ParamAttrs) | (yyvsp[0].ParamAttrs));
-              ;}
+                yyval.ParamAttrs = FunctionType::ParameterAttributes(yyvsp[-1].ParamAttrs | yyvsp[0].ParamAttrs);
+              }
     break;
 
   case 96:
-#line 1151 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
-    { (yyval.UIntVal) = 0; ;}
+#line 1151 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
+    { yyval.UIntVal = 0; }
     break;
 
   case 97:
-#line 1152 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1152 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
     {
-  (yyval.UIntVal) = (yyvsp[0].UInt64Val);
-  if ((yyval.UIntVal) != 0 && !isPowerOf2_32((yyval.UIntVal)))
+  yyval.UIntVal = yyvsp[0].UInt64Val;
+  if (yyval.UIntVal != 0 && !isPowerOf2_32(yyval.UIntVal))
     GEN_ERROR("Alignment must be a power of two!");
   CHECK_FOR_ERROR
-;}
+}
     break;
 
   case 98:
-#line 1158 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
-    { (yyval.UIntVal) = 0; ;}
+#line 1158 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
+    { yyval.UIntVal = 0; }
     break;
 
   case 99:
-#line 1159 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1159 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
     {
-  (yyval.UIntVal) = (yyvsp[0].UInt64Val);
-  if ((yyval.UIntVal) != 0 && !isPowerOf2_32((yyval.UIntVal)))
+  yyval.UIntVal = yyvsp[0].UInt64Val;
+  if (yyval.UIntVal != 0 && !isPowerOf2_32(yyval.UIntVal))
     GEN_ERROR("Alignment must be a power of two!");
   CHECK_FOR_ERROR
-;}
+}
     break;
 
   case 100:
-#line 1167 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1167 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
     {
-  for (unsigned i = 0, e = strlen((yyvsp[0].StrVal)); i != e; ++i)
-    if ((yyvsp[0].StrVal)[i] == '"' || (yyvsp[0].StrVal)[i] == '\\')
+  for (unsigned i = 0, e = strlen(yyvsp[0].StrVal); i != e; ++i)
+    if (yyvsp[0].StrVal[i] == '"' || yyvsp[0].StrVal[i] == '\\')
       GEN_ERROR("Invalid character in section name!");
-  (yyval.StrVal) = (yyvsp[0].StrVal);
+  yyval.StrVal = yyvsp[0].StrVal;
   CHECK_FOR_ERROR
-;}
+}
     break;
 
   case 101:
-#line 1175 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
-    { (yyval.StrVal) = 0; ;}
+#line 1175 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
+    { yyval.StrVal = 0; }
     break;
 
   case 102:
-#line 1176 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
-    { (yyval.StrVal) = (yyvsp[0].StrVal); ;}
+#line 1176 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
+    { yyval.StrVal = yyvsp[0].StrVal; }
     break;
 
   case 103:
-#line 1181 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
-    {;}
+#line 1181 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
+    {}
     break;
 
   case 104:
-#line 1182 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
-    {;}
+#line 1182 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
+    {}
     break;
 
   case 105:
-#line 1183 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1183 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
     {
-    CurGV->setSection((yyvsp[0].StrVal));
-    free((yyvsp[0].StrVal));
+    CurGV->setSection(yyvsp[0].StrVal);
+    free(yyvsp[0].StrVal);
     CHECK_FOR_ERROR
-  ;}
+  }
     break;
 
   case 106:
-#line 1188 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1188 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
     {
-    if ((yyvsp[0].UInt64Val) != 0 && !isPowerOf2_32((yyvsp[0].UInt64Val)))
+    if (yyvsp[0].UInt64Val != 0 && !isPowerOf2_32(yyvsp[0].UInt64Val))
       GEN_ERROR("Alignment must be a power of two!");
-    CurGV->setAlignment((yyvsp[0].UInt64Val));
+    CurGV->setAlignment(yyvsp[0].UInt64Val);
     CHECK_FOR_ERROR
-  ;}
+  }
     break;
 
   case 111:
-#line 1204 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1204 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
     {
-    (yyval.TypeVal) = new PATypeHolder(OpaqueType::get());
+    yyval.TypeVal = new PATypeHolder(OpaqueType::get());
     CHECK_FOR_ERROR
-  ;}
+  }
     break;
 
   case 112:
-#line 1208 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1208 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
     {
-    (yyval.TypeVal) = new PATypeHolder((yyvsp[0].PrimType));
+    yyval.TypeVal = new PATypeHolder(yyvsp[0].PrimType);
     CHECK_FOR_ERROR
-  ;}
+  }
     break;
 
   case 113:
-#line 1212 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1212 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
     {                             // Pointer type?
-    if (*(yyvsp[-1].TypeVal) == Type::LabelTy)
+    if (*yyvsp[-1].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);
+    yyval.TypeVal = new PATypeHolder(HandleUpRefs(PointerType::get(*yyvsp[-1].TypeVal)));
+    delete yyvsp[-1].TypeVal;
     CHECK_FOR_ERROR
-  ;}
+  }
     break;
 
   case 114:
-#line 1219 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1219 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
     {            // Named types are also simple types...
-    const Type* tmp = getTypeVal((yyvsp[0].ValIDVal));
+    const Type* tmp = getTypeVal(yyvsp[0].ValIDVal);
     CHECK_FOR_ERROR
-    (yyval.TypeVal) = new PATypeHolder(tmp);
-  ;}
+    yyval.TypeVal = new PATypeHolder(tmp);
+  }
     break;
 
   case 115:
-#line 1224 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1224 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
     {                   // Type UpReference
-    if ((yyvsp[0].UInt64Val) > (uint64_t)~0U) GEN_ERROR("Value out of range!");
+    if (yyvsp[0].UInt64Val > (uint64_t)~0U) GEN_ERROR("Value out of range!");
     OpaqueType *OT = OpaqueType::get();        // Use temporary placeholder
-    UpRefs.push_back(UpRefRecord((unsigned)(yyvsp[0].UInt64Val), OT));  // Add to vector...
-    (yyval.TypeVal) = new PATypeHolder(OT);
+    UpRefs.push_back(UpRefRecord((unsigned)yyvsp[0].UInt64Val, OT));  // Add to vector...
+    yyval.TypeVal = new PATypeHolder(OT);
     UR_OUT("New Upreference!\n");
     CHECK_FOR_ERROR
-  ;}
+  }
     break;
 
   case 116:
-#line 1232 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1232 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
     {
     std::vector<const Type*> Params;
     std::vector<FunctionType::ParameterAttributes> Attrs;
-    Attrs.push_back((yyvsp[0].ParamAttrs));
-    for (TypeWithAttrsList::iterator I=(yyvsp[-2].TypeWithAttrsList)->begin(), E=(yyvsp[-2].TypeWithAttrsList)->end(); I != E; ++I) {
+    Attrs.push_back(yyvsp[0].ParamAttrs);
+    for (TypeWithAttrsList::iterator I=yyvsp[-2].TypeWithAttrsList->begin(), E=yyvsp[-2].TypeWithAttrsList->end(); I != E; ++I) {
       Params.push_back(I->Ty->get());
       if (I->Ty->get() != Type::VoidTy)
         Attrs.push_back(I->Attrs);
@@ -3439,21 +3265,21 @@
     bool isVarArg = Params.size() && Params.back() == Type::VoidTy;
     if (isVarArg) Params.pop_back();
 
-    FunctionType *FT = FunctionType::get(*(yyvsp[-4].TypeVal), Params, isVarArg, Attrs);
-    delete (yyvsp[-2].TypeWithAttrsList);   // Delete the argument list
-    delete (yyvsp[-4].TypeVal);   // Delete the return type handle
-    (yyval.TypeVal) = new PATypeHolder(HandleUpRefs(FT)); 
+    FunctionType *FT = FunctionType::get(*yyvsp[-4].TypeVal, Params, isVarArg, Attrs);
+    delete yyvsp[-2].TypeWithAttrsList;   // Delete the argument list
+    delete yyvsp[-4].TypeVal;   // Delete the return type handle
+    yyval.TypeVal = new PATypeHolder(HandleUpRefs(FT)); 
     CHECK_FOR_ERROR
-  ;}
+  }
     break;
 
   case 117:
-#line 1250 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1250 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
     {
     std::vector<const Type*> Params;
     std::vector<FunctionType::ParameterAttributes> Attrs;
-    Attrs.push_back((yyvsp[0].ParamAttrs));
-    for (TypeWithAttrsList::iterator I=(yyvsp[-2].TypeWithAttrsList)->begin(), E=(yyvsp[-2].TypeWithAttrsList)->end(); I != E; ++I) {
+    Attrs.push_back(yyvsp[0].ParamAttrs);
+    for (TypeWithAttrsList::iterator I=yyvsp[-2].TypeWithAttrsList->begin(), E=yyvsp[-2].TypeWithAttrsList->end(); I != E; ++I) {
       Params.push_back(I->Ty->get());
       if (I->Ty->get() != Type::VoidTy)
         Attrs.push_back(I->Attrs);
@@ -3461,303 +3287,303 @@
     bool isVarArg = Params.size() && Params.back() == Type::VoidTy;
     if (isVarArg) Params.pop_back();
 
-    FunctionType *FT = FunctionType::get((yyvsp[-4].PrimType), Params, isVarArg, Attrs);
-    delete (yyvsp[-2].TypeWithAttrsList);      // Delete the argument list
-    (yyval.TypeVal) = new PATypeHolder(HandleUpRefs(FT)); 
+    FunctionType *FT = FunctionType::get(yyvsp[-4].PrimType, Params, isVarArg, Attrs);
+    delete yyvsp[-2].TypeWithAttrsList;      // Delete the argument list
+    yyval.TypeVal = new PATypeHolder(HandleUpRefs(FT)); 
     CHECK_FOR_ERROR
-  ;}
+  }
     break;
 
   case 118:
-#line 1268 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1268 "/usr/home/jeffc/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);
+    yyval.TypeVal = new PATypeHolder(HandleUpRefs(ArrayType::get(*yyvsp[-1].TypeVal, (unsigned)yyvsp[-3].UInt64Val)));
+    delete yyvsp[-1].TypeVal;
     CHECK_FOR_ERROR
-  ;}
+  }
     break;
 
   case 119:
-#line 1273 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1273 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
     {          // Packed array type?
-     const llvm::Type* ElemTy = (yyvsp[-1].TypeVal)->get();
-     if ((unsigned)(yyvsp[-3].UInt64Val) != (yyvsp[-3].UInt64Val))
+     const llvm::Type* ElemTy = yyvsp[-1].TypeVal->get();
+     if ((unsigned)yyvsp[-3].UInt64Val != yyvsp[-3].UInt64Val)
         GEN_ERROR("Unsigned result not equal to signed result");
      if (!ElemTy->isFloatingPoint() && !ElemTy->isInteger())
         GEN_ERROR("Element type of a PackedType must be primitive");
-     if (!isPowerOf2_32((yyvsp[-3].UInt64Val)))
+     if (!isPowerOf2_32(yyvsp[-3].UInt64Val))
        GEN_ERROR("Vector length should be a power of 2!");
-     (yyval.TypeVal) = new PATypeHolder(HandleUpRefs(PackedType::get(*(yyvsp[-1].TypeVal), (unsigned)(yyvsp[-3].UInt64Val))));
-     delete (yyvsp[-1].TypeVal);
+     yyval.TypeVal = new PATypeHolder(HandleUpRefs(PackedType::get(*yyvsp[-1].TypeVal, (unsigned)yyvsp[-3].UInt64Val)));
+     delete yyvsp[-1].TypeVal;
      CHECK_FOR_ERROR
-  ;}
+  }
     break;
 
   case 120:
-#line 1285 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1285 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
     {                        // Structure type?
     std::vector<const Type*> Elements;
-    for (std::list<llvm::PATypeHolder>::iterator I = (yyvsp[-1].TypeList)->begin(),
-           E = (yyvsp[-1].TypeList)->end(); I != E; ++I)
+    for (std::list<llvm::PATypeHolder>::iterator I = yyvsp[-1].TypeList->begin(),
+           E = yyvsp[-1].TypeList->end(); I != E; ++I)
       Elements.push_back(*I);
 
-    (yyval.TypeVal) = new PATypeHolder(HandleUpRefs(StructType::get(Elements)));
-    delete (yyvsp[-1].TypeList);
+    yyval.TypeVal = new PATypeHolder(HandleUpRefs(StructType::get(Elements)));
+    delete yyvsp[-1].TypeList;
     CHECK_FOR_ERROR
-  ;}
+  }
     break;
 
   case 121:
-#line 1295 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1295 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
     {                                  // Empty structure type?
-    (yyval.TypeVal) = new PATypeHolder(StructType::get(std::vector<const Type*>()));
+    yyval.TypeVal = new PATypeHolder(StructType::get(std::vector<const Type*>()));
     CHECK_FOR_ERROR
-  ;}
+  }
     break;
 
   case 122:
-#line 1299 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1299 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
     {
     std::vector<const Type*> Elements;
-    for (std::list<llvm::PATypeHolder>::iterator I = (yyvsp[-2].TypeList)->begin(),
-           E = (yyvsp[-2].TypeList)->end(); I != E; ++I)
+    for (std::list<llvm::PATypeHolder>::iterator I = yyvsp[-2].TypeList->begin(),
+           E = yyvsp[-2].TypeList->end(); I != E; ++I)
       Elements.push_back(*I);
 
-    (yyval.TypeVal) = new PATypeHolder(HandleUpRefs(StructType::get(Elements, true)));
-    delete (yyvsp[-2].TypeList);
+    yyval.TypeVal = new PATypeHolder(HandleUpRefs(StructType::get(Elements, true)));
+    delete yyvsp[-2].TypeList;
     CHECK_FOR_ERROR
-  ;}
+  }
     break;
 
   case 123:
-#line 1309 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1309 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
     {                         // Empty structure type?
-    (yyval.TypeVal) = new PATypeHolder(StructType::get(std::vector<const Type*>(), true));
+    yyval.TypeVal = new PATypeHolder(StructType::get(std::vector<const Type*>(), true));
     CHECK_FOR_ERROR
-  ;}
+  }
     break;
 
   case 124:
-#line 1316 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1316 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
     { 
-    (yyval.TypeWithAttrs).Ty = (yyvsp[-1].TypeVal); 
-    (yyval.TypeWithAttrs).Attrs = (yyvsp[0].ParamAttrs); 
-  ;}
+    yyval.TypeWithAttrs.Ty = yyvsp[-1].TypeVal; 
+    yyval.TypeWithAttrs.Attrs = yyvsp[0].ParamAttrs; 
+  }
     break;
 
   case 125:
-#line 1323 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1323 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
-      GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[0].TypeVal))->getDescription());
-    if (!(*(yyvsp[0].TypeVal))->isFirstClassType())
+      GEN_ERROR("Invalid upreference in type: " + (*yyvsp[0].TypeVal)->getDescription());
+    if (!(*yyvsp[0].TypeVal)->isFirstClassType())
       GEN_ERROR("LLVM functions cannot return aggregate types!");
-    (yyval.TypeVal) = (yyvsp[0].TypeVal);
-  ;}
+    yyval.TypeVal = yyvsp[0].TypeVal;
+  }
     break;
 
   case 126:
-#line 1330 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1330 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
     {
-    (yyval.TypeVal) = new PATypeHolder(Type::VoidTy);
-  ;}
+    yyval.TypeVal = new PATypeHolder(Type::VoidTy);
+  }
     break;
 
   case 127:
-#line 1335 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1335 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
     {
-    (yyval.TypeWithAttrsList) = new TypeWithAttrsList();
-    (yyval.TypeWithAttrsList)->push_back((yyvsp[0].TypeWithAttrs));
+    yyval.TypeWithAttrsList = new TypeWithAttrsList();
+    yyval.TypeWithAttrsList->push_back(yyvsp[0].TypeWithAttrs);
     CHECK_FOR_ERROR
-  ;}
+  }
     break;
 
   case 128:
-#line 1340 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1340 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
     {
-    ((yyval.TypeWithAttrsList)=(yyvsp[-2].TypeWithAttrsList))->push_back((yyvsp[0].TypeWithAttrs));
+    (yyval.TypeWithAttrsList=yyvsp[-2].TypeWithAttrsList)->push_back(yyvsp[0].TypeWithAttrs);
     CHECK_FOR_ERROR
-  ;}
+  }
     break;
 
   case 130:
-#line 1348 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1348 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
     {
-    (yyval.TypeWithAttrsList)=(yyvsp[-2].TypeWithAttrsList);
+    yyval.TypeWithAttrsList=yyvsp[-2].TypeWithAttrsList;
     TypeWithAttrs TWA; TWA.Attrs = FunctionType::NoAttributeSet;
     TWA.Ty = new PATypeHolder(Type::VoidTy);
-    (yyval.TypeWithAttrsList)->push_back(TWA);
+    yyval.TypeWithAttrsList->push_back(TWA);
     CHECK_FOR_ERROR
-  ;}
+  }
     break;
 
   case 131:
-#line 1355 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1355 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
     {
-    (yyval.TypeWithAttrsList) = new TypeWithAttrsList;
+    yyval.TypeWithAttrsList = new TypeWithAttrsList;
     TypeWithAttrs TWA; TWA.Attrs = FunctionType::NoAttributeSet;
     TWA.Ty = new PATypeHolder(Type::VoidTy);
-    (yyval.TypeWithAttrsList)->push_back(TWA);
+    yyval.TypeWithAttrsList->push_back(TWA);
     CHECK_FOR_ERROR
-  ;}
+  }
     break;
 
   case 132:
-#line 1362 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1362 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
     {
-    (yyval.TypeWithAttrsList) = new TypeWithAttrsList();
+    yyval.TypeWithAttrsList = new TypeWithAttrsList();
     CHECK_FOR_ERROR
-  ;}
+  }
     break;
 
   case 133:
-#line 1370 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1370 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
     {
-    (yyval.TypeList) = new std::list<PATypeHolder>();
-    (yyval.TypeList)->push_back(*(yyvsp[0].TypeVal)); delete (yyvsp[0].TypeVal);
+    yyval.TypeList = new std::list<PATypeHolder>();
+    yyval.TypeList->push_back(*yyvsp[0].TypeVal); delete yyvsp[0].TypeVal;
     CHECK_FOR_ERROR
-  ;}
+  }
     break;
 
   case 134:
-#line 1375 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1375 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
     {
-    ((yyval.TypeList)=(yyvsp[-2].TypeList))->push_back(*(yyvsp[0].TypeVal)); delete (yyvsp[0].TypeVal);
+    (yyval.TypeList=yyvsp[-2].TypeList)->push_back(*yyvsp[0].TypeVal); delete yyvsp[0].TypeVal;
     CHECK_FOR_ERROR
-  ;}
+  }
     break;
 
   case 135:
-#line 1386 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1386 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
     { // Nonempty unsized arr
     if (!UpRefs.empty())
-      GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-3].TypeVal))->getDescription());
-    const ArrayType *ATy = dyn_cast<ArrayType>((yyvsp[-3].TypeVal)->get());
+      GEN_ERROR("Invalid upreference in type: " + (*yyvsp[-3].TypeVal)->getDescription());
+    const ArrayType *ATy = dyn_cast<ArrayType>(yyvsp[-3].TypeVal->get());
     if (ATy == 0)
       GEN_ERROR("Cannot make array constant with type: '" + 
-                     (*(yyvsp[-3].TypeVal))->getDescription() + "'!");
+                     (*yyvsp[-3].TypeVal)->getDescription() + "'!");
     const Type *ETy = ATy->getElementType();
     int NumElements = ATy->getNumElements();
 
     // Verify that we have the correct size...
-    if (NumElements != -1 && NumElements != (int)(yyvsp[-1].ConstVector)->size())
+    if (NumElements != -1 && NumElements != (int)yyvsp[-1].ConstVector->size())
       GEN_ERROR("Type mismatch: constant sized array initialized with " +
-                     utostr((yyvsp[-1].ConstVector)->size()) +  " arguments, but has size of " + 
+                     utostr(yyvsp[-1].ConstVector->size()) +  " arguments, but has size of " + 
                      itostr(NumElements) + "!");
 
     // Verify all elements are correct type!
-    for (unsigned i = 0; i < (yyvsp[-1].ConstVector)->size(); i++) {
-      if (ETy != (*(yyvsp[-1].ConstVector))[i]->getType())
+    for (unsigned i = 0; i < yyvsp[-1].ConstVector->size(); i++) {
+      if (ETy != (*yyvsp[-1].ConstVector)[i]->getType())
         GEN_ERROR("Element #" + utostr(i) + " is not of type '" + 
                        ETy->getDescription() +"' as required!\nIt is of type '"+
-                       (*(yyvsp[-1].ConstVector))[i]->getType()->getDescription() + "'.");
+                       (*yyvsp[-1].ConstVector)[i]->getType()->getDescription() + "'.");
     }
 
-    (yyval.ConstVal) = ConstantArray::get(ATy, *(yyvsp[-1].ConstVector));
-    delete (yyvsp[-3].TypeVal); delete (yyvsp[-1].ConstVector);
+    yyval.ConstVal = ConstantArray::get(ATy, *yyvsp[-1].ConstVector);
+    delete yyvsp[-3].TypeVal; delete yyvsp[-1].ConstVector;
     CHECK_FOR_ERROR
-  ;}
+  }
     break;
 
   case 136:
-#line 1414 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1414 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
-      GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-2].TypeVal))->getDescription());
-    const ArrayType *ATy = dyn_cast<ArrayType>((yyvsp[-2].TypeVal)->get());
+      GEN_ERROR("Invalid upreference in type: " + (*yyvsp[-2].TypeVal)->getDescription());
+    const ArrayType *ATy = dyn_cast<ArrayType>(yyvsp[-2].TypeVal->get());
     if (ATy == 0)
       GEN_ERROR("Cannot make array constant with type: '" + 
-                     (*(yyvsp[-2].TypeVal))->getDescription() + "'!");
+                     (*yyvsp[-2].TypeVal)->getDescription() + "'!");
 
     int NumElements = ATy->getNumElements();
     if (NumElements != -1 && NumElements != 0) 
       GEN_ERROR("Type mismatch: constant sized array initialized with 0"
                      " arguments, but has size of " + itostr(NumElements) +"!");
-    (yyval.ConstVal) = ConstantArray::get(ATy, std::vector<Constant*>());
-    delete (yyvsp[-2].TypeVal);
+    yyval.ConstVal = ConstantArray::get(ATy, std::vector<Constant*>());
+    delete yyvsp[-2].TypeVal;
     CHECK_FOR_ERROR
-  ;}
+  }
     break;
 
   case 137:
-#line 1430 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1430 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
-      GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-2].TypeVal))->getDescription());
-    const ArrayType *ATy = dyn_cast<ArrayType>((yyvsp[-2].TypeVal)->get());
+      GEN_ERROR("Invalid upreference in type: " + (*yyvsp[-2].TypeVal)->getDescription());
+    const ArrayType *ATy = dyn_cast<ArrayType>(yyvsp[-2].TypeVal->get());
     if (ATy == 0)
       GEN_ERROR("Cannot make array constant with type: '" + 
-                     (*(yyvsp[-2].TypeVal))->getDescription() + "'!");
+                     (*yyvsp[-2].TypeVal)->getDescription() + "'!");
 
     int NumElements = ATy->getNumElements();
     const Type *ETy = ATy->getElementType();
-    char *EndStr = UnEscapeLexed((yyvsp[0].StrVal), true);
-    if (NumElements != -1 && NumElements != (EndStr-(yyvsp[0].StrVal)))
+    char *EndStr = UnEscapeLexed(yyvsp[0].StrVal, true);
+    if (NumElements != -1 && NumElements != (EndStr-yyvsp[0].StrVal))
       GEN_ERROR("Can't build string constant of size " + 
-                     itostr((int)(EndStr-(yyvsp[0].StrVal))) +
+                     itostr((int)(EndStr-yyvsp[0].StrVal)) +
                      " when array has size " + itostr(NumElements) + "!");
     std::vector<Constant*> Vals;
     if (ETy == Type::Int8Ty) {
-      for (unsigned char *C = (unsigned char *)(yyvsp[0].StrVal); 
+      for (unsigned char *C = (unsigned char *)yyvsp[0].StrVal; 
         C != (unsigned char*)EndStr; ++C)
       Vals.push_back(ConstantInt::get(ETy, *C));
     } else {
-      free((yyvsp[0].StrVal));
+      free(yyvsp[0].StrVal);
       GEN_ERROR("Cannot build string arrays of non byte sized elements!");
     }
-    free((yyvsp[0].StrVal));
-    (yyval.ConstVal) = ConstantArray::get(ATy, Vals);
-    delete (yyvsp[-2].TypeVal);
+    free(yyvsp[0].StrVal);
+    yyval.ConstVal = ConstantArray::get(ATy, Vals);
+    delete yyvsp[-2].TypeVal;
     CHECK_FOR_ERROR
-  ;}
+  }
     break;
 
   case 138:
-#line 1459 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1459 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
     { // Nonempty unsized arr
     if (!UpRefs.empty())
-      GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-3].TypeVal))->getDescription());
-    const PackedType *PTy = dyn_cast<PackedType>((yyvsp[-3].TypeVal)->get());
+      GEN_ERROR("Invalid upreference in type: " + (*yyvsp[-3].TypeVal)->getDescription());
+    const PackedType *PTy = dyn_cast<PackedType>(yyvsp[-3].TypeVal->get());
     if (PTy == 0)
       GEN_ERROR("Cannot make packed constant with type: '" + 
-                     (*(yyvsp[-3].TypeVal))->getDescription() + "'!");
+                     (*yyvsp[-3].TypeVal)->getDescription() + "'!");
     const Type *ETy = PTy->getElementType();
     int NumElements = PTy->getNumElements();
 
     // Verify that we have the correct size...
-    if (NumElements != -1 && NumElements != (int)(yyvsp[-1].ConstVector)->size())
+    if (NumElements != -1 && NumElements != (int)yyvsp[-1].ConstVector->size())
       GEN_ERROR("Type mismatch: constant sized packed initialized with " +
-                     utostr((yyvsp[-1].ConstVector)->size()) +  " arguments, but has size of " + 
+                     utostr(yyvsp[-1].ConstVector->size()) +  " arguments, but has size of " + 
                      itostr(NumElements) + "!");
 
     // Verify all elements are correct type!
-    for (unsigned i = 0; i < (yyvsp[-1].ConstVector)->size(); i++) {
-      if (ETy != (*(yyvsp[-1].ConstVector))[i]->getType())
+    for (unsigned i = 0; i < yyvsp[-1].ConstVector->size(); i++) {
+      if (ETy != (*yyvsp[-1].ConstVector)[i]->getType())
         GEN_ERROR("Element #" + utostr(i) + " is not of type '" + 
            ETy->getDescription() +"' as required!\nIt is of type '"+
-           (*(yyvsp[-1].ConstVector))[i]->getType()->getDescription() + "'.");
+           (*yyvsp[-1].ConstVector)[i]->getType()->getDescription() + "'.");
     }
 
-    (yyval.ConstVal) = ConstantPacked::get(PTy, *(yyvsp[-1].ConstVector));
-    delete (yyvsp[-3].TypeVal); delete (yyvsp[-1].ConstVector);
+    yyval.ConstVal = ConstantPacked::get(PTy, *yyvsp[-1].ConstVector);
+    delete yyvsp[-3].TypeVal; delete yyvsp[-1].ConstVector;
     CHECK_FOR_ERROR
-  ;}
+  }
     break;
 
   case 139:
-#line 1487 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1487 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
     {
-    const StructType *STy = dyn_cast<StructType>((yyvsp[-3].TypeVal)->get());
+    const StructType *STy = dyn_cast<StructType>(yyvsp[-3].TypeVal->get());
     if (STy == 0)
       GEN_ERROR("Cannot make struct constant with type: '" + 
-                     (*(yyvsp[-3].TypeVal))->getDescription() + "'!");
+                     (*yyvsp[-3].TypeVal)->getDescription() + "'!");
 
-    if ((yyvsp[-1].ConstVector)->size() != STy->getNumContainedTypes())
+    if (yyvsp[-1].ConstVector->size() != STy->getNumContainedTypes())
       GEN_ERROR("Illegal number of initializers for structure type!");
 
     // Check to ensure that constants are compatible with the type initializer!
-    for (unsigned i = 0, e = (yyvsp[-1].ConstVector)->size(); i != e; ++i)
-      if ((*(yyvsp[-1].ConstVector))[i]->getType() != STy->getElementType(i))
+    for (unsigned i = 0, e = yyvsp[-1].ConstVector->size(); i != e; ++i)
+      if ((*yyvsp[-1].ConstVector)[i]->getType() != STy->getElementType(i))
         GEN_ERROR("Expected type '" +
                        STy->getElementType(i)->getDescription() +
                        "' for element #" + utostr(i) +
@@ -3767,21 +3593,21 @@
     if (STy->isPacked())
       GEN_ERROR("Unpacked Initializer to packed type '" + STy->getDescription() + "'");
 
-    (yyval.ConstVal) = ConstantStruct::get(STy, *(yyvsp[-1].ConstVector));
-    delete (yyvsp[-3].TypeVal); delete (yyvsp[-1].ConstVector);
+    yyval.ConstVal = ConstantStruct::get(STy, *yyvsp[-1].ConstVector);
+    delete yyvsp[-3].TypeVal; delete yyvsp[-1].ConstVector;
     CHECK_FOR_ERROR
-  ;}
+  }
     break;
 
   case 140:
-#line 1512 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1512 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
-      GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-2].TypeVal))->getDescription());
-    const StructType *STy = dyn_cast<StructType>((yyvsp[-2].TypeVal)->get());
+      GEN_ERROR("Invalid upreference in type: " + (*yyvsp[-2].TypeVal)->getDescription());
+    const StructType *STy = dyn_cast<StructType>(yyvsp[-2].TypeVal->get());
     if (STy == 0)
       GEN_ERROR("Cannot make struct constant with type: '" + 
-                     (*(yyvsp[-2].TypeVal))->getDescription() + "'!");
+                     (*yyvsp[-2].TypeVal)->getDescription() + "'!");
 
     if (STy->getNumContainedTypes() != 0)
       GEN_ERROR("Illegal number of initializers for structure type!");
@@ -3790,26 +3616,26 @@
     if (STy->isPacked())
       GEN_ERROR("Unpacked Initializer to packed type '" + STy->getDescription() + "'");
 
-    (yyval.ConstVal) = ConstantStruct::get(STy, std::vector<Constant*>());
-    delete (yyvsp[-2].TypeVal);
+    yyval.ConstVal = ConstantStruct::get(STy, std::vector<Constant*>());
+    delete yyvsp[-2].TypeVal;
     CHECK_FOR_ERROR
-  ;}
+  }
     break;
 
   case 141:
-#line 1531 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1531 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
     {
-    const StructType *STy = dyn_cast<StructType>((yyvsp[-5].TypeVal)->get());
+    const StructType *STy = dyn_cast<StructType>(yyvsp[-5].TypeVal->get());
     if (STy == 0)
       GEN_ERROR("Cannot make struct constant with type: '" + 
-                     (*(yyvsp[-5].TypeVal))->getDescription() + "'!");
+                     (*yyvsp[-5].TypeVal)->getDescription() + "'!");
 
-    if ((yyvsp[-2].ConstVector)->size() != STy->getNumContainedTypes())
+    if (yyvsp[-2].ConstVector->size() != STy->getNumContainedTypes())
       GEN_ERROR("Illegal number of initializers for structure type!");
 
     // Check to ensure that constants are compatible with the type initializer!
-    for (unsigned i = 0, e = (yyvsp[-2].ConstVector)->size(); i != e; ++i)
-      if ((*(yyvsp[-2].ConstVector))[i]->getType() != STy->getElementType(i))
+    for (unsigned i = 0, e = yyvsp[-2].ConstVector->size(); i != e; ++i)
+      if ((*yyvsp[-2].ConstVector)[i]->getType() != STy->getElementType(i))
         GEN_ERROR("Expected type '" +
                        STy->getElementType(i)->getDescription() +
                        "' for element #" + utostr(i) +
@@ -3819,21 +3645,21 @@
     if (!STy->isPacked())
       GEN_ERROR("Packed Initializer to unpacked type '" + STy->getDescription() + "'");
 
-    (yyval.ConstVal) = ConstantStruct::get(STy, *(yyvsp[-2].ConstVector));
-    delete (yyvsp[-5].TypeVal); delete (yyvsp[-2].ConstVector);
+    yyval.ConstVal = ConstantStruct::get(STy, *yyvsp[-2].ConstVector);
+    delete yyvsp[-5].TypeVal; delete yyvsp[-2].ConstVector;
     CHECK_FOR_ERROR
-  ;}
+  }
     break;
 
   case 142:
-#line 1556 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1556 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
-      GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-4].TypeVal))->getDescription());
-    const StructType *STy = dyn_cast<StructType>((yyvsp[-4].TypeVal)->get());
+      GEN_ERROR("Invalid upreference in type: " + (*yyvsp[-4].TypeVal)->getDescription());
+    const StructType *STy = dyn_cast<StructType>(yyvsp[-4].TypeVal->get());
     if (STy == 0)
       GEN_ERROR("Cannot make struct constant with type: '" + 
-                     (*(yyvsp[-4].TypeVal))->getDescription() + "'!");
+                     (*yyvsp[-4].TypeVal)->getDescription() + "'!");
 
     if (STy->getNumContainedTypes() != 0)
       GEN_ERROR("Illegal number of initializers for structure type!");
@@ -3842,45 +3668,45 @@
     if (!STy->isPacked())
       GEN_ERROR("Packed Initializer to unpacked type '" + STy->getDescription() + "'");
 
-    (yyval.ConstVal) = ConstantStruct::get(STy, std::vector<Constant*>());
-    delete (yyvsp[-4].TypeVal);
+    yyval.ConstVal = ConstantStruct::get(STy, std::vector<Constant*>());
+    delete yyvsp[-4].TypeVal;
     CHECK_FOR_ERROR
-  ;}
+  }
     break;
 
   case 143:
-#line 1575 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1575 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
-      GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-1].TypeVal))->getDescription());
-    const PointerType *PTy = dyn_cast<PointerType>((yyvsp[-1].TypeVal)->get());
+      GEN_ERROR("Invalid upreference in type: " + (*yyvsp[-1].TypeVal)->getDescription());
+    const PointerType *PTy = dyn_cast<PointerType>(yyvsp[-1].TypeVal->get());
     if (PTy == 0)
       GEN_ERROR("Cannot make null pointer constant with type: '" + 
-                     (*(yyvsp[-1].TypeVal))->getDescription() + "'!");
+                     (*yyvsp[-1].TypeVal)->getDescription() + "'!");
 
-    (yyval.ConstVal) = ConstantPointerNull::get(PTy);
-    delete (yyvsp[-1].TypeVal);
+    yyval.ConstVal = ConstantPointerNull::get(PTy);
+    delete yyvsp[-1].TypeVal;
     CHECK_FOR_ERROR
-  ;}
+  }
     break;
 
   case 144:
-#line 1587 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1587 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
-      GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-1].TypeVal))->getDescription());
-    (yyval.ConstVal) = UndefValue::get((yyvsp[-1].TypeVal)->get());
-    delete (yyvsp[-1].TypeVal);
+      GEN_ERROR("Invalid upreference in type: " + (*yyvsp[-1].TypeVal)->getDescription());
+    yyval.ConstVal = UndefValue::get(yyvsp[-1].TypeVal->get());
+    delete yyvsp[-1].TypeVal;
     CHECK_FOR_ERROR
-  ;}
+  }
     break;
 
   case 145:
-#line 1594 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1594 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
-      GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-1].TypeVal))->getDescription());
-    const PointerType *Ty = dyn_cast<PointerType>((yyvsp[-1].TypeVal)->get());
+      GEN_ERROR("Invalid upreference in type: " + (*yyvsp[-1].TypeVal)->getDescription());
+    const PointerType *Ty = dyn_cast<PointerType>(yyvsp[-1].TypeVal->get());
     if (Ty == 0)
       GEN_ERROR("Global const reference must be a pointer type!");
 
@@ -3894,7 +3720,7 @@
     Function *SavedCurFn = CurFun.CurrentFunction;
     CurFun.CurrentFunction = 0;
 
-    Value *V = getValNonImprovising(Ty, (yyvsp[0].ValIDVal));
+    Value *V = getValNonImprovising(Ty, yyvsp[0].ValIDVal);
     CHECK_FOR_ERROR
 
     CurFun.CurrentFunction = SavedCurFn;
@@ -3909,14 +3735,14 @@
 
       // First check to see if the forward references value is already created!
       PerModuleInfo::GlobalRefsType::iterator I =
-        CurModule.GlobalRefs.find(std::make_pair(PT, (yyvsp[0].ValIDVal)));
+        CurModule.GlobalRefs.find(std::make_pair(PT, yyvsp[0].ValIDVal));
     
       if (I != CurModule.GlobalRefs.end()) {
         V = I->second;             // Placeholder already exists, use it...
-        (yyvsp[0].ValIDVal).destroy();
+        yyvsp[0].ValIDVal.destroy();
       } else {
         std::string Name;
-        if ((yyvsp[0].ValIDVal).Type == ValID::NameVal) Name = (yyvsp[0].ValIDVal).Name;
+        if (yyvsp[0].ValIDVal.Type == ValID::NameVal) Name = yyvsp[0].ValIDVal.Name;
 
         // Create the forward referenced global.
         GlobalValue *GV;
@@ -3931,311 +3757,311 @@
         }
 
         // Keep track of the fact that we have a forward ref to recycle it
-        CurModule.GlobalRefs.insert(std::make_pair(std::make_pair(PT, (yyvsp[0].ValIDVal)), GV));
+        CurModule.GlobalRefs.insert(std::make_pair(std::make_pair(PT, yyvsp[0].ValIDVal), GV));
         V = GV;
       }
     }
 
-    (yyval.ConstVal) = cast<GlobalValue>(V);
-    delete (yyvsp[-1].TypeVal);            // Free the type handle
+    yyval.ConstVal = cast<GlobalValue>(V);
+    delete yyvsp[-1].TypeVal;            // Free the type handle
     CHECK_FOR_ERROR
-  ;}
+  }
     break;
 
   case 146:
-#line 1657 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1657 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
-      GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-1].TypeVal))->getDescription());
-    if ((yyvsp[-1].TypeVal)->get() != (yyvsp[0].ConstVal)->getType())
+      GEN_ERROR("Invalid upreference in type: " + (*yyvsp[-1].TypeVal)->getDescription());
+    if (yyvsp[-1].TypeVal->get() != yyvsp[0].ConstVal->getType())
       GEN_ERROR("Mismatched types for constant expression: " + 
-        (*(yyvsp[-1].TypeVal))->getDescription() + " and " + (yyvsp[0].ConstVal)->getType()->getDescription());
-    (yyval.ConstVal) = (yyvsp[0].ConstVal);
-    delete (yyvsp[-1].TypeVal);
+        (*yyvsp[-1].TypeVal)->getDescription() + " and " + yyvsp[0].ConstVal->getType()->getDescription());
+    yyval.ConstVal = yyvsp[0].ConstVal;
+    delete yyvsp[-1].TypeVal;
     CHECK_FOR_ERROR
-  ;}
+  }
     break;
 
   case 147:
-#line 1667 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1667 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
-      GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-1].TypeVal))->getDescription());
-    const Type *Ty = (yyvsp[-1].TypeVal)->get();
+      GEN_ERROR("Invalid upreference in type: " + (*yyvsp[-1].TypeVal)->getDescription());
+    const Type *Ty = yyvsp[-1].TypeVal->get();
     if (isa<FunctionType>(Ty) || Ty == Type::LabelTy || isa<OpaqueType>(Ty))
       GEN_ERROR("Cannot create a null initialized value of this type!");
-    (yyval.ConstVal) = Constant::getNullValue(Ty);
-    delete (yyvsp[-1].TypeVal);
+    yyval.ConstVal = Constant::getNullValue(Ty);
+    delete yyvsp[-1].TypeVal;
     CHECK_FOR_ERROR
-  ;}
+  }
     break;
 
   case 148:
-#line 1677 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1677 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
     {      // integral constants
-    if (!ConstantInt::isValueValidForType((yyvsp[-1].PrimType), (yyvsp[0].SInt64Val)))
+    if (!ConstantInt::isValueValidForType(yyvsp[-1].PrimType, yyvsp[0].SInt64Val))
       GEN_ERROR("Constant value doesn't fit in type!");
-    (yyval.ConstVal) = ConstantInt::get((yyvsp[-1].PrimType), (yyvsp[0].SInt64Val));
+    yyval.ConstVal = ConstantInt::get(yyvsp[-1].PrimType, yyvsp[0].SInt64Val);
     CHECK_FOR_ERROR
-  ;}
+  }
     break;
 
   case 149:
-#line 1683 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1683 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
     {      // integral constants
-    if (!ConstantInt::isValueValidForType((yyvsp[-1].PrimType), (yyvsp[0].UInt64Val)))
+    if (!ConstantInt::isValueValidForType(yyvsp[-1].PrimType, yyvsp[0].UInt64Val))
       GEN_ERROR("Constant value doesn't fit in type!");
-    (yyval.ConstVal) = ConstantInt::get((yyvsp[-1].PrimType), (yyvsp[0].UInt64Val));
+    yyval.ConstVal = ConstantInt::get(yyvsp[-1].PrimType, yyvsp[0].UInt64Val);
     CHECK_FOR_ERROR
-  ;}
+  }
     break;
 
   case 150:
-#line 1689 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1689 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
     {                      // Boolean constants
-    assert(cast<IntegerType>((yyvsp[-1].PrimType))->getBitWidth() == 1 && "Not Bool?");
-    (yyval.ConstVal) = ConstantInt::getTrue();
+    assert(cast<IntegerType>(yyvsp[-1].PrimType)->getBitWidth() == 1 && "Not Bool?");
+    yyval.ConstVal = ConstantInt::getTrue();
     CHECK_FOR_ERROR
-  ;}
+  }
     break;
 
   case 151:
-#line 1694 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1694 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
     {                     // Boolean constants
-    assert(cast<IntegerType>((yyvsp[-1].PrimType))->getBitWidth() == 1 && "Not Bool?");
-    (yyval.ConstVal) = ConstantInt::getFalse();
+    assert(cast<IntegerType>(yyvsp[-1].PrimType)->getBitWidth() == 1 && "Not Bool?");
+    yyval.ConstVal = ConstantInt::getFalse();
     CHECK_FOR_ERROR
-  ;}
+  }
     break;
 
   case 152:
-#line 1699 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1699 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
     {                   // Float & Double constants
-    if (!ConstantFP::isValueValidForType((yyvsp[-1].PrimType), (yyvsp[0].FPVal)))
+    if (!ConstantFP::isValueValidForType(yyvsp[-1].PrimType, yyvsp[0].FPVal))
       GEN_ERROR("Floating point constant invalid for type!!");
-    (yyval.ConstVal) = ConstantFP::get((yyvsp[-1].PrimType), (yyvsp[0].FPVal));
+    yyval.ConstVal = ConstantFP::get(yyvsp[-1].PrimType, yyvsp[0].FPVal);
     CHECK_FOR_ERROR
-  ;}
+  }
     break;
 
   case 153:
-#line 1707 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1707 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
-      GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-1].TypeVal))->getDescription());
-    Constant *Val = (yyvsp[-3].ConstVal);
-    const Type *DestTy = (yyvsp[-1].TypeVal)->get();
-    if (!CastInst::castIsValid((yyvsp[-5].CastOpVal), (yyvsp[-3].ConstVal), DestTy))
+      GEN_ERROR("Invalid upreference in type: " + (*yyvsp[-1].TypeVal)->getDescription());
+    Constant *Val = yyvsp[-3].ConstVal;
+    const Type *DestTy = yyvsp[-1].TypeVal->get();
+    if (!CastInst::castIsValid(yyvsp[-5].CastOpVal, yyvsp[-3].ConstVal, DestTy))
       GEN_ERROR("invalid cast opcode for cast from '" +
                 Val->getType()->getDescription() + "' to '" +
                 DestTy->getDescription() + "'!"); 
-    (yyval.ConstVal) = ConstantExpr::getCast((yyvsp[-5].CastOpVal), (yyvsp[-3].ConstVal), DestTy);
-    delete (yyvsp[-1].TypeVal);
-  ;}
+    yyval.ConstVal = ConstantExpr::getCast(yyvsp[-5].CastOpVal, yyvsp[-3].ConstVal, DestTy);
+    delete yyvsp[-1].TypeVal;
+  }
     break;
 
   case 154:
-#line 1719 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1719 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
     {
-    if (!isa<PointerType>((yyvsp[-2].ConstVal)->getType()))
+    if (!isa<PointerType>(yyvsp[-2].ConstVal->getType()))
       GEN_ERROR("GetElementPtr requires a pointer operand!");
 
     const Type *IdxTy =
-      GetElementPtrInst::getIndexedType((yyvsp[-2].ConstVal)->getType(), *(yyvsp[-1].ValueList), true);
+      GetElementPtrInst::getIndexedType(yyvsp[-2].ConstVal->getType(), *yyvsp[-1].ValueList, true);
     if (!IdxTy)
       GEN_ERROR("Index list invalid for constant getelementptr!");
 
     std::vector<Constant*> IdxVec;
-    for (unsigned i = 0, e = (yyvsp[-1].ValueList)->size(); i != e; ++i)
-      if (Constant *C = dyn_cast<Constant>((*(yyvsp[-1].ValueList))[i]))
+    for (unsigned i = 0, e = yyvsp[-1].ValueList->size(); i != e; ++i)
+      if (Constant *C = dyn_cast<Constant>((*yyvsp[-1].ValueList)[i]))
         IdxVec.push_back(C);
       else
         GEN_ERROR("Indices to constant getelementptr must be constants!");
 
-    delete (yyvsp[-1].ValueList);
+    delete yyvsp[-1].ValueList;
 
-    (yyval.ConstVal) = ConstantExpr::getGetElementPtr((yyvsp[-2].ConstVal), IdxVec);
+    yyval.ConstVal = ConstantExpr::getGetElementPtr(yyvsp[-2].ConstVal, IdxVec);
     CHECK_FOR_ERROR
-  ;}
+  }
     break;
 
   case 155:
-#line 1740 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1740 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
     {
-    if ((yyvsp[-5].ConstVal)->getType() != Type::Int1Ty)
+    if (yyvsp[-5].ConstVal->getType() != Type::Int1Ty)
       GEN_ERROR("Select condition must be of boolean type!");
-    if ((yyvsp[-3].ConstVal)->getType() != (yyvsp[-1].ConstVal)->getType())
+    if (yyvsp[-3].ConstVal->getType() != yyvsp[-1].ConstVal->getType())
       GEN_ERROR("Select operand types must match!");
-    (yyval.ConstVal) = ConstantExpr::getSelect((yyvsp[-5].ConstVal), (yyvsp[-3].ConstVal), (yyvsp[-1].ConstVal));
+    yyval.ConstVal = ConstantExpr::getSelect(yyvsp[-5].ConstVal, yyvsp[-3].ConstVal, yyvsp[-1].ConstVal);
     CHECK_FOR_ERROR
-  ;}
+  }
     break;
 
   case 156:
-#line 1748 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1748 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
     {
-    if ((yyvsp[-3].ConstVal)->getType() != (yyvsp[-1].ConstVal)->getType())
+    if (yyvsp[-3].ConstVal->getType() != yyvsp[-1].ConstVal->getType())
       GEN_ERROR("Binary operator types must match!");
     CHECK_FOR_ERROR;
-    (yyval.ConstVal) = ConstantExpr::get((yyvsp[-5].BinaryOpVal), (yyvsp[-3].ConstVal), (yyvsp[-1].ConstVal));
-  ;}
+    yyval.ConstVal = ConstantExpr::get(yyvsp[-5].BinaryOpVal, yyvsp[-3].ConstVal, yyvsp[-1].ConstVal);
+  }
     break;
 
   case 157:
-#line 1754 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1754 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
     {
-    if ((yyvsp[-3].ConstVal)->getType() != (yyvsp[-1].ConstVal)->getType())
+    if (yyvsp[-3].ConstVal->getType() != yyvsp[-1].ConstVal->getType())
       GEN_ERROR("Logical operator types must match!");
-    if (!(yyvsp[-3].ConstVal)->getType()->isInteger()) {
-      if (!isa<PackedType>((yyvsp[-3].ConstVal)->getType()) || 
-          !cast<PackedType>((yyvsp[-3].ConstVal)->getType())->getElementType()->isInteger())
+    if (!yyvsp[-3].ConstVal->getType()->isInteger()) {
+      if (!isa<PackedType>(yyvsp[-3].ConstVal->getType()) || 
+          !cast<PackedType>(yyvsp[-3].ConstVal->getType())->getElementType()->isInteger())
         GEN_ERROR("Logical operator requires integral operands!");
     }
-    (yyval.ConstVal) = ConstantExpr::get((yyvsp[-5].BinaryOpVal), (yyvsp[-3].ConstVal), (yyvsp[-1].ConstVal));
+    yyval.ConstVal = ConstantExpr::get(yyvsp[-5].BinaryOpVal, yyvsp[-3].ConstVal, yyvsp[-1].ConstVal);
     CHECK_FOR_ERROR
-  ;}
+  }
     break;
 
   case 158:
-#line 1765 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1765 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
     {
-    if ((yyvsp[-3].ConstVal)->getType() != (yyvsp[-1].ConstVal)->getType())
+    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));
-  ;}
+    yyval.ConstVal = ConstantExpr::getICmp(yyvsp[-5].IPredicate, yyvsp[-3].ConstVal, yyvsp[-1].ConstVal);
+  }
     break;
 
   case 159:
-#line 1770 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1770 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
     {
-    if ((yyvsp[-3].ConstVal)->getType() != (yyvsp[-1].ConstVal)->getType())
+    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));
-  ;}
+    yyval.ConstVal = ConstantExpr::getFCmp(yyvsp[-5].FPredicate, yyvsp[-3].ConstVal, yyvsp[-1].ConstVal);
+  }
     break;
 
   case 160:
-#line 1775 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1775 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
     {
-    if ((yyvsp[-1].ConstVal)->getType() != Type::Int8Ty)
+    if (yyvsp[-1].ConstVal->getType() != Type::Int8Ty)
       GEN_ERROR("Shift count for shift constant must be i8 type!");
-    if (!(yyvsp[-3].ConstVal)->getType()->isInteger())
+    if (!yyvsp[-3].ConstVal->getType()->isInteger())
       GEN_ERROR("Shift constant expression requires integer operand!");
     CHECK_FOR_ERROR;
-    (yyval.ConstVal) = ConstantExpr::get((yyvsp[-5].OtherOpVal), (yyvsp[-3].ConstVal), (yyvsp[-1].ConstVal));
+    yyval.ConstVal = ConstantExpr::get(yyvsp[-5].OtherOpVal, yyvsp[-3].ConstVal, yyvsp[-1].ConstVal);
     CHECK_FOR_ERROR
-  ;}
+  }
     break;
 
   case 161:
-#line 1784 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1784 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
     {
-    if (!ExtractElementInst::isValidOperands((yyvsp[-3].ConstVal), (yyvsp[-1].ConstVal)))
+    if (!ExtractElementInst::isValidOperands(yyvsp[-3].ConstVal, yyvsp[-1].ConstVal))
       GEN_ERROR("Invalid extractelement operands!");
-    (yyval.ConstVal) = ConstantExpr::getExtractElement((yyvsp[-3].ConstVal), (yyvsp[-1].ConstVal));
+    yyval.ConstVal = ConstantExpr::getExtractElement(yyvsp[-3].ConstVal, yyvsp[-1].ConstVal);
     CHECK_FOR_ERROR
-  ;}
+  }
     break;
 
   case 162:
-#line 1790 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1790 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
     {
-    if (!InsertElementInst::isValidOperands((yyvsp[-5].ConstVal), (yyvsp[-3].ConstVal), (yyvsp[-1].ConstVal)))
+    if (!InsertElementInst::isValidOperands(yyvsp[-5].ConstVal, yyvsp[-3].ConstVal, yyvsp[-1].ConstVal))
       GEN_ERROR("Invalid insertelement operands!");
-    (yyval.ConstVal) = ConstantExpr::getInsertElement((yyvsp[-5].ConstVal), (yyvsp[-3].ConstVal), (yyvsp[-1].ConstVal));
+    yyval.ConstVal = ConstantExpr::getInsertElement(yyvsp[-5].ConstVal, yyvsp[-3].ConstVal, yyvsp[-1].ConstVal);
     CHECK_FOR_ERROR
-  ;}
+  }
     break;
 
   case 163:
-#line 1796 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1796 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
     {
-    if (!ShuffleVectorInst::isValidOperands((yyvsp[-5].ConstVal), (yyvsp[-3].ConstVal), (yyvsp[-1].ConstVal)))
+    if (!ShuffleVectorInst::isValidOperands(yyvsp[-5].ConstVal, yyvsp[-3].ConstVal, yyvsp[-1].ConstVal))
       GEN_ERROR("Invalid shufflevector operands!");
-    (yyval.ConstVal) = ConstantExpr::getShuffleVector((yyvsp[-5].ConstVal), (yyvsp[-3].ConstVal), (yyvsp[-1].ConstVal));
+    yyval.ConstVal = ConstantExpr::getShuffleVector(yyvsp[-5].ConstVal, yyvsp[-3].ConstVal, yyvsp[-1].ConstVal);
     CHECK_FOR_ERROR
-  ;}
+  }
     break;
 
   case 164:
-#line 1805 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1805 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
     {
-    ((yyval.ConstVector) = (yyvsp[-2].ConstVector))->push_back((yyvsp[0].ConstVal));
+    (yyval.ConstVector = yyvsp[-2].ConstVector)->push_back(yyvsp[0].ConstVal);
     CHECK_FOR_ERROR
-  ;}
+  }
     break;
 
   case 165:
-#line 1809 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1809 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
     {
-    (yyval.ConstVector) = new std::vector<Constant*>();
-    (yyval.ConstVector)->push_back((yyvsp[0].ConstVal));
+    yyval.ConstVector = new std::vector<Constant*>();
+    yyval.ConstVector->push_back(yyvsp[0].ConstVal);
     CHECK_FOR_ERROR
-  ;}
+  }
     break;
 
   case 166:
-#line 1817 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
-    { (yyval.BoolVal) = false; ;}
+#line 1817 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
+    { yyval.BoolVal = false; }
     break;
 
   case 167:
-#line 1817 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
-    { (yyval.BoolVal) = true; ;}
+#line 1817 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
+    { yyval.BoolVal = true; }
     break;
 
   case 168:
-#line 1828 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1828 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
     {
-    (yyval.ModuleVal) = ParserResult = CurModule.CurrentModule;
+    yyval.ModuleVal = ParserResult = CurModule.CurrentModule;
     CurModule.ModuleDone();
     CHECK_FOR_ERROR;
-  ;}
+  }
     break;
 
   case 169:
-#line 1833 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1833 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
     {
-    (yyval.ModuleVal) = ParserResult = CurModule.CurrentModule;
+    yyval.ModuleVal = ParserResult = CurModule.CurrentModule;
     CurModule.ModuleDone();
     CHECK_FOR_ERROR;
-  ;}
+  }
     break;
 
   case 172:
-#line 1846 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
-    { CurFun.isDeclare = false ;}
+#line 1846 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
+    { CurFun.isDeclare = false; }
     break;
 
   case 173:
-#line 1846 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1846 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
     {
     CurFun.FunctionDone();
     CHECK_FOR_ERROR
-  ;}
+  }
     break;
 
   case 174:
-#line 1850 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
-    { CurFun.isDeclare = true; ;}
+#line 1850 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
+    { CurFun.isDeclare = true; }
     break;
 
   case 175:
-#line 1850 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1850 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
     {
     CHECK_FOR_ERROR
-  ;}
+  }
     break;
 
   case 176:
-#line 1853 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1853 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
     {
     CHECK_FOR_ERROR
-  ;}
+  }
     break;
 
   case 177:
-#line 1856 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1856 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
     {
     // Emit an error if there are any unresolved types left.
     if (!CurModule.LateResolveTypes.empty()) {
@@ -4247,14 +4073,14 @@
       }
     }
     CHECK_FOR_ERROR
-  ;}
+  }
     break;
 
   case 178:
-#line 1868 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1868 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
-      GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[0].TypeVal))->getDescription());
+      GEN_ERROR("Invalid upreference in type: " + (*yyvsp[0].TypeVal)->getDescription());
     // Eagerly resolve types.  This is not an optimization, this is a
     // requirement that is due to the fact that we could have this:
     //
@@ -4264,283 +4090,283 @@
     // If types are not resolved eagerly, then the two types will not be
     // determined to be the same type!
     //
-    ResolveTypeTo((yyvsp[-2].StrVal), *(yyvsp[0].TypeVal));
+    ResolveTypeTo(yyvsp[-2].StrVal, *yyvsp[0].TypeVal);
 
-    if (!setTypeName(*(yyvsp[0].TypeVal), (yyvsp[-2].StrVal)) && !(yyvsp[-2].StrVal)) {
+    if (!setTypeName(*yyvsp[0].TypeVal, yyvsp[-2].StrVal) && !yyvsp[-2].StrVal) {
       CHECK_FOR_ERROR
       // If this is a named type that is not a redefinition, add it to the slot
       // table.
-      CurModule.Types.push_back(*(yyvsp[0].TypeVal));
+      CurModule.Types.push_back(*yyvsp[0].TypeVal);
     }
 
-    delete (yyvsp[0].TypeVal);
+    delete yyvsp[0].TypeVal;
     CHECK_FOR_ERROR
-  ;}
+  }
     break;
 
   case 179:
-#line 1892 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1892 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
     {
-    ResolveTypeTo((yyvsp[-2].StrVal), (yyvsp[0].PrimType));
+    ResolveTypeTo(yyvsp[-2].StrVal, yyvsp[0].PrimType);
 
-    if (!setTypeName((yyvsp[0].PrimType), (yyvsp[-2].StrVal)) && !(yyvsp[-2].StrVal)) {
+    if (!setTypeName(yyvsp[0].PrimType, yyvsp[-2].StrVal) && !yyvsp[-2].StrVal) {
       CHECK_FOR_ERROR
       // If this is a named type that is not a redefinition, add it to the slot
       // table.
-      CurModule.Types.push_back((yyvsp[0].PrimType));
+      CurModule.Types.push_back(yyvsp[0].PrimType);
     }
     CHECK_FOR_ERROR
-  ;}
+  }
     break;
 
   case 180:
-#line 1903 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1903 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
     { /* "Externally Visible" Linkage */
-    if ((yyvsp[0].ConstVal) == 0) 
+    if (yyvsp[0].ConstVal == 0) 
       GEN_ERROR("Global value initializer is not a constant!");
-    CurGV = ParseGlobalVariable((yyvsp[-3].StrVal), GlobalValue::ExternalLinkage,
-                                (yyvsp[-2].Visibility), (yyvsp[-1].BoolVal), (yyvsp[0].ConstVal)->getType(), (yyvsp[0].ConstVal));
+    CurGV = ParseGlobalVariable(yyvsp[-3].StrVal, GlobalValue::ExternalLinkage,
+                                yyvsp[-2].Visibility, yyvsp[-1].BoolVal, yyvsp[0].ConstVal->getType(), yyvsp[0].ConstVal);
     CHECK_FOR_ERROR
-  ;}
+  }
     break;
 
   case 181:
-#line 1909 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1909 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
     {
     CurGV = 0;
-  ;}
+  }
     break;
 
   case 182:
-#line 1912 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1912 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
     {
-    if ((yyvsp[0].ConstVal) == 0) 
+    if (yyvsp[0].ConstVal == 0) 
       GEN_ERROR("Global value initializer is not a constant!");
-    CurGV = ParseGlobalVariable((yyvsp[-4].StrVal), (yyvsp[-3].Linkage), (yyvsp[-2].Visibility), (yyvsp[-1].BoolVal), (yyvsp[0].ConstVal)->getType(), (yyvsp[0].ConstVal));
+    CurGV = ParseGlobalVariable(yyvsp[-4].StrVal, yyvsp[-3].Linkage, yyvsp[-2].Visibility, yyvsp[-1].BoolVal, yyvsp[0].ConstVal->getType(), yyvsp[0].ConstVal);
     CHECK_FOR_ERROR
-  ;}
+  }
     break;
 
   case 183:
-#line 1917 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1917 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
     {
     CurGV = 0;
-  ;}
+  }
     break;
 
   case 184:
-#line 1920 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1920 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
-      GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[0].TypeVal))->getDescription());
-    CurGV = ParseGlobalVariable((yyvsp[-4].StrVal), (yyvsp[-3].Linkage), (yyvsp[-2].Visibility), (yyvsp[-1].BoolVal), *(yyvsp[0].TypeVal), 0);
+      GEN_ERROR("Invalid upreference in type: " + (*yyvsp[0].TypeVal)->getDescription());
+    CurGV = ParseGlobalVariable(yyvsp[-4].StrVal, yyvsp[-3].Linkage, yyvsp[-2].Visibility, yyvsp[-1].BoolVal, *yyvsp[0].TypeVal, 0);
     CHECK_FOR_ERROR
-    delete (yyvsp[0].TypeVal);
-  ;}
+    delete yyvsp[0].TypeVal;
+  }
     break;
 
   case 185:
-#line 1926 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1926 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
     {
     CurGV = 0;
     CHECK_FOR_ERROR
-  ;}
+  }
     break;
 
   case 186:
-#line 1930 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1930 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
     { 
     CHECK_FOR_ERROR
-  ;}
+  }
     break;
 
   case 187:
-#line 1933 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1933 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
     {
     CHECK_FOR_ERROR
-  ;}
+  }
     break;
 
   case 188:
-#line 1939 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1939 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
     {
   const std::string &AsmSoFar = CurModule.CurrentModule->getModuleInlineAsm();
-  char *EndStr = UnEscapeLexed((yyvsp[0].StrVal), true);
-  std::string NewAsm((yyvsp[0].StrVal), EndStr);
-  free((yyvsp[0].StrVal));
+  char *EndStr = UnEscapeLexed(yyvsp[0].StrVal, true);
+  std::string NewAsm(yyvsp[0].StrVal, EndStr);
+  free(yyvsp[0].StrVal);
 
   if (AsmSoFar.empty())
     CurModule.CurrentModule->setModuleInlineAsm(NewAsm);
   else
     CurModule.CurrentModule->setModuleInlineAsm(AsmSoFar+"\n"+NewAsm);
   CHECK_FOR_ERROR
-;}
+}
     break;
 
   case 189:
-#line 1952 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
-    { (yyval.Endianness) = Module::BigEndian; ;}
+#line 1952 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
+    { yyval.Endianness = Module::BigEndian; }
     break;
 
   case 190:
-#line 1953 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
-    { (yyval.Endianness) = Module::LittleEndian; ;}
+#line 1953 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
+    { yyval.Endianness = Module::LittleEndian; }
     break;
 
   case 191:
-#line 1955 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1955 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
     {
-    CurModule.CurrentModule->setEndianness((yyvsp[0].Endianness));
+    CurModule.CurrentModule->setEndianness(yyvsp[0].Endianness);
     CHECK_FOR_ERROR
-  ;}
+  }
     break;
 
   case 192:
-#line 1959 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1959 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
     {
-    if ((yyvsp[0].UInt64Val) == 32)
+    if (yyvsp[0].UInt64Val == 32)
       CurModule.CurrentModule->setPointerSize(Module::Pointer32);
-    else if ((yyvsp[0].UInt64Val) == 64)
+    else if (yyvsp[0].UInt64Val == 64)
       CurModule.CurrentModule->setPointerSize(Module::Pointer64);
     else
-      GEN_ERROR("Invalid pointer size: '" + utostr((yyvsp[0].UInt64Val)) + "'!");
+      GEN_ERROR("Invalid pointer size: '" + utostr(yyvsp[0].UInt64Val) + "'!");
     CHECK_FOR_ERROR
-  ;}
+  }
     break;
 
   case 193:
-#line 1968 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1968 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
     {
-    CurModule.CurrentModule->setTargetTriple((yyvsp[0].StrVal));
-    free((yyvsp[0].StrVal));
-  ;}
+    CurModule.CurrentModule->setTargetTriple(yyvsp[0].StrVal);
+    free(yyvsp[0].StrVal);
+  }
     break;
 
   case 194:
-#line 1972 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1972 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
     {
-    CurModule.CurrentModule->setDataLayout((yyvsp[0].StrVal));
-    free((yyvsp[0].StrVal));
-  ;}
+    CurModule.CurrentModule->setDataLayout(yyvsp[0].StrVal);
+    free(yyvsp[0].StrVal);
+  }
     break;
 
   case 196:
-#line 1979 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1979 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
     {
-          CurModule.CurrentModule->addLibrary((yyvsp[0].StrVal));
-          free((yyvsp[0].StrVal));
+          CurModule.CurrentModule->addLibrary(yyvsp[0].StrVal);
+          free(yyvsp[0].StrVal);
           CHECK_FOR_ERROR
-        ;}
+        }
     break;
 
   case 197:
-#line 1984 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1984 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
     {
-          CurModule.CurrentModule->addLibrary((yyvsp[0].StrVal));
-          free((yyvsp[0].StrVal));
+          CurModule.CurrentModule->addLibrary(yyvsp[0].StrVal);
+          free(yyvsp[0].StrVal);
           CHECK_FOR_ERROR
-        ;}
+        }
     break;
 
   case 198:
-#line 1989 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1989 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
     {
           CHECK_FOR_ERROR
-        ;}
+        }
     break;
 
   case 202:
-#line 1999 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
-    { (yyval.StrVal) = 0; ;}
+#line 1999 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
+    { yyval.StrVal = 0; }
     break;
 
   case 203:
-#line 2001 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 2001 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
-      GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-2].TypeVal))->getDescription());
-    if (*(yyvsp[-2].TypeVal) == Type::VoidTy)
+      GEN_ERROR("Invalid upreference in type: " + (*yyvsp[-2].TypeVal)->getDescription());
+    if (*yyvsp[-2].TypeVal == Type::VoidTy)
       GEN_ERROR("void typed arguments are invalid!");
-    ArgListEntry E; E.Attrs = (yyvsp[-1].ParamAttrs); E.Ty = (yyvsp[-2].TypeVal); E.Name = (yyvsp[0].StrVal);
-    (yyval.ArgList) = (yyvsp[-4].ArgList);
-    (yyvsp[-4].ArgList)->push_back(E);
+    ArgListEntry E; E.Attrs = yyvsp[-1].ParamAttrs; E.Ty = yyvsp[-2].TypeVal; E.Name = yyvsp[0].StrVal;
+    yyval.ArgList = yyvsp[-4].ArgList;
+    yyvsp[-4].ArgList->push_back(E);
     CHECK_FOR_ERROR
-  ;}
+  }
     break;
 
   case 204:
-#line 2011 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 2011 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
-      GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-2].TypeVal))->getDescription());
-    if (*(yyvsp[-2].TypeVal) == Type::VoidTy)
+      GEN_ERROR("Invalid upreference in type: " + (*yyvsp[-2].TypeVal)->getDescription());
+    if (*yyvsp[-2].TypeVal == Type::VoidTy)
       GEN_ERROR("void typed arguments are invalid!");
-    ArgListEntry E; E.Attrs = (yyvsp[-1].ParamAttrs); E.Ty = (yyvsp[-2].TypeVal); E.Name = (yyvsp[0].StrVal);
-    (yyval.ArgList) = new ArgListType;
-    (yyval.ArgList)->push_back(E);
+    ArgListEntry E; E.Attrs = yyvsp[-1].ParamAttrs; E.Ty = yyvsp[-2].TypeVal; E.Name = yyvsp[0].StrVal;
+    yyval.ArgList = new ArgListType;
+    yyval.ArgList->push_back(E);
     CHECK_FOR_ERROR
-  ;}
+  }
     break;
 
   case 205:
-#line 2022 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 2022 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
     {
-    (yyval.ArgList) = (yyvsp[0].ArgList);
+    yyval.ArgList = yyvsp[0].ArgList;
     CHECK_FOR_ERROR
-  ;}
+  }
     break;
 
   case 206:
-#line 2026 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 2026 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
     {
-    (yyval.ArgList) = (yyvsp[-2].ArgList);
+    yyval.ArgList = yyvsp[-2].ArgList;
     struct ArgListEntry E;
     E.Ty = new PATypeHolder(Type::VoidTy);
     E.Name = 0;
     E.Attrs = FunctionType::NoAttributeSet;
-    (yyval.ArgList)->push_back(E);
+    yyval.ArgList->push_back(E);
     CHECK_FOR_ERROR
-  ;}
+  }
     break;
 
   case 207:
-#line 2035 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 2035 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
     {
-    (yyval.ArgList) = new ArgListType;
+    yyval.ArgList = new ArgListType;
     struct ArgListEntry E;
     E.Ty = new PATypeHolder(Type::VoidTy);
     E.Name = 0;
     E.Attrs = FunctionType::NoAttributeSet;
-    (yyval.ArgList)->push_back(E);
+    yyval.ArgList->push_back(E);
     CHECK_FOR_ERROR
-  ;}
+  }
     break;
 
   case 208:
-#line 2044 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 2044 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
     {
-    (yyval.ArgList) = 0;
+    yyval.ArgList = 0;
     CHECK_FOR_ERROR
-  ;}
+  }
     break;
 
   case 209:
-#line 2050 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 2050 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
     {
-  UnEscapeLexed((yyvsp[-6].StrVal));
-  std::string FunctionName((yyvsp[-6].StrVal));
-  free((yyvsp[-6].StrVal));  // Free strdup'd memory!
+  UnEscapeLexed(yyvsp[-6].StrVal);
+  std::string FunctionName(yyvsp[-6].StrVal);
+  free(yyvsp[-6].StrVal);  // Free strdup'd memory!
   
   // Check the function result for abstractness if this is a define. We should
   // have no abstract types at this point
-  if (!CurFun.isDeclare && CurModule.TypeIsUnresolved((yyvsp[-7].TypeVal)))
-    GEN_ERROR("Reference to abstract result: "+ (yyvsp[-7].TypeVal)->get()->getDescription());
+  if (!CurFun.isDeclare && CurModule.TypeIsUnresolved(yyvsp[-7].TypeVal))
+    GEN_ERROR("Reference to abstract result: "+ yyvsp[-7].TypeVal->get()->getDescription());
 
   std::vector<const Type*> ParamTypeList;
   std::vector<FunctionType::ParameterAttributes> ParamAttrs;
-  ParamAttrs.push_back((yyvsp[-2].ParamAttrs));
-  if ((yyvsp[-4].ArgList)) {   // If there are arguments...
-    for (ArgListType::iterator I = (yyvsp[-4].ArgList)->begin(); I != (yyvsp[-4].ArgList)->end(); ++I) {
+  ParamAttrs.push_back(yyvsp[-2].ParamAttrs);
+  if (yyvsp[-4].ArgList) {   // If there are arguments...
+    for (ArgListType::iterator I = yyvsp[-4].ArgList->begin(); I != yyvsp[-4].ArgList->end(); ++I) {
       const Type* Ty = I->Ty->get();
       if (!CurFun.isDeclare && CurModule.TypeIsUnresolved(I->Ty))
         GEN_ERROR("Reference to abstract argument: " + Ty->getDescription());
@@ -4553,10 +4379,10 @@
   bool isVarArg = ParamTypeList.size() && ParamTypeList.back() == Type::VoidTy;
   if (isVarArg) ParamTypeList.pop_back();
 
-  FunctionType *FT = FunctionType::get(*(yyvsp[-7].TypeVal), ParamTypeList, isVarArg,
+  FunctionType *FT = FunctionType::get(*yyvsp[-7].TypeVal, ParamTypeList, isVarArg,
                                        ParamAttrs);
   const PointerType *PFT = PointerType::get(FT);
-  delete (yyvsp[-7].TypeVal);
+  delete yyvsp[-7].TypeVal;
 
   ValID ID;
   if (!FunctionName.empty()) {
@@ -4601,24 +4427,24 @@
     Fn->setLinkage(CurFun.Linkage);
     Fn->setVisibility(CurFun.Visibility);
   }
-  Fn->setCallingConv((yyvsp[-8].UIntVal));
-  Fn->setAlignment((yyvsp[0].UIntVal));
-  if ((yyvsp[-1].StrVal)) {
-    Fn->setSection((yyvsp[-1].StrVal));
-    free((yyvsp[-1].StrVal));
+  Fn->setCallingConv(yyvsp[-8].UIntVal);
+  Fn->setAlignment(yyvsp[0].UIntVal);
+  if (yyvsp[-1].StrVal) {
+    Fn->setSection(yyvsp[-1].StrVal);
+    free(yyvsp[-1].StrVal);
   }
 
   // Add all of the arguments we parsed to the function...
-  if ((yyvsp[-4].ArgList)) {                     // Is null if empty...
+  if (yyvsp[-4].ArgList) {                     // Is null if empty...
     if (isVarArg) {  // Nuke the last entry
-      assert((yyvsp[-4].ArgList)->back().Ty->get() == Type::VoidTy && (yyvsp[-4].ArgList)->back().Name == 0&&
+      assert(yyvsp[-4].ArgList->back().Ty->get() == Type::VoidTy && yyvsp[-4].ArgList->back().Name == 0&&
              "Not a varargs marker!");
-      delete (yyvsp[-4].ArgList)->back().Ty;
-      (yyvsp[-4].ArgList)->pop_back();  // Delete the last entry
+      delete yyvsp[-4].ArgList->back().Ty;
+      yyvsp[-4].ArgList->pop_back();  // Delete the last entry
     }
     Function::arg_iterator ArgIt = Fn->arg_begin();
     unsigned Idx = 1;
-    for (ArgListType::iterator I = (yyvsp[-4].ArgList)->begin(); I != (yyvsp[-4].ArgList)->end(); ++I, ++ArgIt) {
+    for (ArgListType::iterator I = yyvsp[-4].ArgList->begin(); I != yyvsp[-4].ArgList->end(); ++I, ++ArgIt) {
       delete I->Ty;                          // Delete the typeholder...
       setValueName(ArgIt, I->Name);           // Insert arg into symtab...
       CHECK_FOR_ERROR
@@ -4626,128 +4452,128 @@
       Idx++;
     }
 
-    delete (yyvsp[-4].ArgList);                     // We're now done with the argument list
+    delete yyvsp[-4].ArgList;                     // We're now done with the argument list
   }
   CHECK_FOR_ERROR
-;}
+}
     break;
 
   case 212:
-#line 2157 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 2157 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
     {
-  (yyval.FunctionVal) = CurFun.CurrentFunction;
+  yyval.FunctionVal = CurFun.CurrentFunction;
 
   // Make sure that we keep track of the linkage type even if there was a
   // previous "declare".
-  (yyval.FunctionVal)->setLinkage((yyvsp[-3].Linkage));
-  (yyval.FunctionVal)->setVisibility((yyvsp[-2].Visibility));
-;}
+  yyval.FunctionVal->setLinkage(yyvsp[-3].Linkage);
+  yyval.FunctionVal->setVisibility(yyvsp[-2].Visibility);
+}
     break;
 
   case 215:
-#line 2168 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 2168 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
     {
-  (yyval.FunctionVal) = (yyvsp[-1].FunctionVal);
+  yyval.FunctionVal = yyvsp[-1].FunctionVal;
   CHECK_FOR_ERROR
-;}
+}
     break;
 
   case 216:
-#line 2173 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 2173 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
     {
-    CurFun.CurrentFunction->setLinkage((yyvsp[-2].Linkage));
-    CurFun.CurrentFunction->setVisibility((yyvsp[-1].Visibility));
-    (yyval.FunctionVal) = CurFun.CurrentFunction;
+    CurFun.CurrentFunction->setLinkage(yyvsp[-2].Linkage);
+    CurFun.CurrentFunction->setVisibility(yyvsp[-1].Visibility);
+    yyval.FunctionVal = CurFun.CurrentFunction;
     CurFun.FunctionDone();
     CHECK_FOR_ERROR
-  ;}
+  }
     break;
 
   case 217:
-#line 2185 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 2185 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
     {
-    (yyval.BoolVal) = false;
+    yyval.BoolVal = false;
     CHECK_FOR_ERROR
-  ;}
+  }
     break;
 
   case 218:
-#line 2189 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 2189 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
     {
-    (yyval.BoolVal) = true;
+    yyval.BoolVal = true;
     CHECK_FOR_ERROR
-  ;}
+  }
     break;
 
   case 219:
-#line 2194 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 2194 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
     {    // A reference to a direct constant
-    (yyval.ValIDVal) = ValID::create((yyvsp[0].SInt64Val));
+    yyval.ValIDVal = ValID::create(yyvsp[0].SInt64Val);
     CHECK_FOR_ERROR
-  ;}
+  }
     break;
 
   case 220:
-#line 2198 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 2198 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
     {
-    (yyval.ValIDVal) = ValID::create((yyvsp[0].UInt64Val));
+    yyval.ValIDVal = ValID::create(yyvsp[0].UInt64Val);
     CHECK_FOR_ERROR
-  ;}
+  }
     break;
 
   case 221:
-#line 2202 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 2202 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
     {                     // Perhaps it's an FP constant?
-    (yyval.ValIDVal) = ValID::create((yyvsp[0].FPVal));
+    yyval.ValIDVal = ValID::create(yyvsp[0].FPVal);
     CHECK_FOR_ERROR
-  ;}
+  }
     break;
 
   case 222:
-#line 2206 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 2206 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
     {
-    (yyval.ValIDVal) = ValID::create(ConstantInt::getTrue());
+    yyval.ValIDVal = ValID::create(ConstantInt::getTrue());
     CHECK_FOR_ERROR
-  ;}
+  }
     break;
 
   case 223:
-#line 2210 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 2210 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
     {
-    (yyval.ValIDVal) = ValID::create(ConstantInt::getFalse());
+    yyval.ValIDVal = ValID::create(ConstantInt::getFalse());
     CHECK_FOR_ERROR
-  ;}
+  }
     break;
 
   case 224:
-#line 2214 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 2214 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
     {
-    (yyval.ValIDVal) = ValID::createNull();
+    yyval.ValIDVal = ValID::createNull();
     CHECK_FOR_ERROR
-  ;}
+  }
     break;
 
   case 225:
-#line 2218 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 2218 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
     {
-    (yyval.ValIDVal) = ValID::createUndef();
+    yyval.ValIDVal = ValID::createUndef();
     CHECK_FOR_ERROR
-  ;}
+  }
     break;
 
   case 226:
-#line 2222 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 2222 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
     {     // A vector zero constant.
-    (yyval.ValIDVal) = ValID::createZeroInit();
+    yyval.ValIDVal = ValID::createZeroInit();
     CHECK_FOR_ERROR
-  ;}
+  }
     break;
 
   case 227:
-#line 2226 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 2226 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
     { // Nonempty unsized packed vector
-    const Type *ETy = (*(yyvsp[-1].ConstVector))[0]->getType();
-    int NumElements = (yyvsp[-1].ConstVector)->size(); 
+    const Type *ETy = (*yyvsp[-1].ConstVector)[0]->getType();
+    int NumElements = yyvsp[-1].ConstVector->size(); 
     
     PackedType* pt = PackedType::get(ETy, NumElements);
     PATypeHolder* PTy = new PATypeHolder(
@@ -4759,115 +4585,115 @@
                                          );
     
     // Verify all elements are correct type!
-    for (unsigned i = 0; i < (yyvsp[-1].ConstVector)->size(); i++) {
-      if (ETy != (*(yyvsp[-1].ConstVector))[i]->getType())
+    for (unsigned i = 0; i < yyvsp[-1].ConstVector->size(); i++) {
+      if (ETy != (*yyvsp[-1].ConstVector)[i]->getType())
         GEN_ERROR("Element #" + utostr(i) + " is not of type '" + 
                      ETy->getDescription() +"' as required!\nIt is of type '" +
-                     (*(yyvsp[-1].ConstVector))[i]->getType()->getDescription() + "'.");
+                     (*yyvsp[-1].ConstVector)[i]->getType()->getDescription() + "'.");
     }
 
-    (yyval.ValIDVal) = ValID::create(ConstantPacked::get(pt, *(yyvsp[-1].ConstVector)));
-    delete PTy; delete (yyvsp[-1].ConstVector);
+    yyval.ValIDVal = ValID::create(ConstantPacked::get(pt, *yyvsp[-1].ConstVector));
+    delete PTy; delete yyvsp[-1].ConstVector;
     CHECK_FOR_ERROR
-  ;}
+  }
     break;
 
   case 228:
-#line 2251 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 2251 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
     {
-    (yyval.ValIDVal) = ValID::create((yyvsp[0].ConstVal));
+    yyval.ValIDVal = ValID::create(yyvsp[0].ConstVal);
     CHECK_FOR_ERROR
-  ;}
+  }
     break;
 
   case 229:
-#line 2255 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 2255 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
     {
-    char *End = UnEscapeLexed((yyvsp[-2].StrVal), true);
-    std::string AsmStr = std::string((yyvsp[-2].StrVal), End);
-    End = UnEscapeLexed((yyvsp[0].StrVal), true);
-    std::string Constraints = std::string((yyvsp[0].StrVal), End);
-    (yyval.ValIDVal) = ValID::createInlineAsm(AsmStr, Constraints, (yyvsp[-3].BoolVal));
-    free((yyvsp[-2].StrVal));
-    free((yyvsp[0].StrVal));
+    char *End = UnEscapeLexed(yyvsp[-2].StrVal, true);
+    std::string AsmStr = std::string(yyvsp[-2].StrVal, End);
+    End = UnEscapeLexed(yyvsp[0].StrVal, true);
+    std::string Constraints = std::string(yyvsp[0].StrVal, End);
+    yyval.ValIDVal = ValID::createInlineAsm(AsmStr, Constraints, yyvsp[-3].BoolVal);
+    free(yyvsp[-2].StrVal);
+    free(yyvsp[0].StrVal);
     CHECK_FOR_ERROR
-  ;}
+  }
     break;
 
   case 230:
-#line 2269 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 2269 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
     {  // Is it an integer reference...?
-    (yyval.ValIDVal) = ValID::create((yyvsp[0].SIntVal));
+    yyval.ValIDVal = ValID::create(yyvsp[0].SIntVal);
     CHECK_FOR_ERROR
-  ;}
+  }
     break;
 
   case 231:
-#line 2273 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 2273 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
     {                   // Is it a named reference...?
-    (yyval.ValIDVal) = ValID::create((yyvsp[0].StrVal));
+    yyval.ValIDVal = ValID::create(yyvsp[0].StrVal);
     CHECK_FOR_ERROR
-  ;}
+  }
     break;
 
   case 234:
-#line 2285 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 2285 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
-      GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-1].TypeVal))->getDescription());
-    (yyval.ValueVal) = getVal(*(yyvsp[-1].TypeVal), (yyvsp[0].ValIDVal)); 
-    delete (yyvsp[-1].TypeVal);
+      GEN_ERROR("Invalid upreference in type: " + (*yyvsp[-1].TypeVal)->getDescription());
+    yyval.ValueVal = getVal(*yyvsp[-1].TypeVal, yyvsp[0].ValIDVal); 
+    delete yyvsp[-1].TypeVal;
     CHECK_FOR_ERROR
-  ;}
+  }
     break;
 
   case 235:
-#line 2294 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 2294 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
     {
-    (yyval.FunctionVal) = (yyvsp[-1].FunctionVal);
+    yyval.FunctionVal = yyvsp[-1].FunctionVal;
     CHECK_FOR_ERROR
-  ;}
+  }
     break;
 
   case 236:
-#line 2298 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 2298 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
     { // Do not allow functions with 0 basic blocks   
-    (yyval.FunctionVal) = (yyvsp[-1].FunctionVal);
+    yyval.FunctionVal = yyvsp[-1].FunctionVal;
     CHECK_FOR_ERROR
-  ;}
+  }
     break;
 
   case 237:
-#line 2307 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 2307 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
     {
-    setValueName((yyvsp[0].TermInstVal), (yyvsp[-1].StrVal));
+    setValueName(yyvsp[0].TermInstVal, yyvsp[-1].StrVal);
     CHECK_FOR_ERROR
-    InsertValue((yyvsp[0].TermInstVal));
+    InsertValue(yyvsp[0].TermInstVal);
 
-    (yyvsp[-2].BasicBlockVal)->getInstList().push_back((yyvsp[0].TermInstVal));
-    InsertValue((yyvsp[-2].BasicBlockVal));
-    (yyval.BasicBlockVal) = (yyvsp[-2].BasicBlockVal);
+    yyvsp[-2].BasicBlockVal->getInstList().push_back(yyvsp[0].TermInstVal);
+    InsertValue(yyvsp[-2].BasicBlockVal);
+    yyval.BasicBlockVal = yyvsp[-2].BasicBlockVal;
     CHECK_FOR_ERROR
-  ;}
+  }
     break;
 
   case 238:
-#line 2318 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 2318 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
     {
-    if (CastInst *CI1 = dyn_cast<CastInst>((yyvsp[0].InstVal)))
+    if (CastInst *CI1 = dyn_cast<CastInst>(yyvsp[0].InstVal))
       if (CastInst *CI2 = dyn_cast<CastInst>(CI1->getOperand(0)))
         if (CI2->getParent() == 0)
-          (yyvsp[-1].BasicBlockVal)->getInstList().push_back(CI2);
-    (yyvsp[-1].BasicBlockVal)->getInstList().push_back((yyvsp[0].InstVal));
-    (yyval.BasicBlockVal) = (yyvsp[-1].BasicBlockVal);
+          yyvsp[-1].BasicBlockVal->getInstList().push_back(CI2);
+    yyvsp[-1].BasicBlockVal->getInstList().push_back(yyvsp[0].InstVal);
+    yyval.BasicBlockVal = yyvsp[-1].BasicBlockVal;
     CHECK_FOR_ERROR
-  ;}
+  }
     break;
 
   case 239:
-#line 2327 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 2327 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
     {
-    (yyval.BasicBlockVal) = getBBVal(ValID::create((int)CurFun.NextBBNum++), true);
+    yyval.BasicBlockVal = getBBVal(ValID::create((int)CurFun.NextBBNum++), true);
     CHECK_FOR_ERROR
 
     // Make sure to move the basic block to the correct location in the
@@ -4875,15 +4701,15 @@
     // referenced.
     Function::BasicBlockListType &BBL = 
       CurFun.CurrentFunction->getBasicBlockList();
-    BBL.splice(BBL.end(), BBL, (yyval.BasicBlockVal));
+    BBL.splice(BBL.end(), BBL, yyval.BasicBlockVal);
     CHECK_FOR_ERROR
-  ;}
+  }
     break;
 
   case 240:
-#line 2339 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 2339 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
     {
-    (yyval.BasicBlockVal) = getBBVal(ValID::create((yyvsp[0].StrVal)), true);
+    yyval.BasicBlockVal = getBBVal(ValID::create(yyvsp[0].StrVal), true);
     CHECK_FOR_ERROR
 
     // Make sure to move the basic block to the correct location in the
@@ -4891,100 +4717,100 @@
     // referenced.
     Function::BasicBlockListType &BBL = 
       CurFun.CurrentFunction->getBasicBlockList();
-    BBL.splice(BBL.end(), BBL, (yyval.BasicBlockVal));
+    BBL.splice(BBL.end(), BBL, yyval.BasicBlockVal);
     CHECK_FOR_ERROR
-  ;}
+  }
     break;
 
   case 241:
-#line 2352 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 2352 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
     {              // Return with a result...
-    (yyval.TermInstVal) = new ReturnInst((yyvsp[0].ValueVal));
+    yyval.TermInstVal = new ReturnInst(yyvsp[0].ValueVal);
     CHECK_FOR_ERROR
-  ;}
+  }
     break;
 
   case 242:
-#line 2356 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 2356 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
     {                                       // Return with no result...
-    (yyval.TermInstVal) = new ReturnInst();
+    yyval.TermInstVal = new ReturnInst();
     CHECK_FOR_ERROR
-  ;}
+  }
     break;
 
   case 243:
-#line 2360 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 2360 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
     {                         // Unconditional Branch...
-    BasicBlock* tmpBB = getBBVal((yyvsp[0].ValIDVal));
+    BasicBlock* tmpBB = getBBVal(yyvsp[0].ValIDVal);
     CHECK_FOR_ERROR
-    (yyval.TermInstVal) = new BranchInst(tmpBB);
-  ;}
+    yyval.TermInstVal = new BranchInst(tmpBB);
+  }
     break;
 
   case 244:
-#line 2365 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 2365 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
     {  
-    assert(cast<IntegerType>((yyvsp[-7].PrimType))->getBitWidth() == 1 && "Not Bool?");
-    BasicBlock* tmpBBA = getBBVal((yyvsp[-3].ValIDVal));
+    assert(cast<IntegerType>(yyvsp[-7].PrimType)->getBitWidth() == 1 && "Not Bool?");
+    BasicBlock* tmpBBA = getBBVal(yyvsp[-3].ValIDVal);
     CHECK_FOR_ERROR
-    BasicBlock* tmpBBB = getBBVal((yyvsp[0].ValIDVal));
+    BasicBlock* tmpBBB = getBBVal(yyvsp[0].ValIDVal);
     CHECK_FOR_ERROR
-    Value* tmpVal = getVal(Type::Int1Ty, (yyvsp[-6].ValIDVal));
+    Value* tmpVal = getVal(Type::Int1Ty, yyvsp[-6].ValIDVal);
     CHECK_FOR_ERROR
-    (yyval.TermInstVal) = new BranchInst(tmpBBA, tmpBBB, tmpVal);
-  ;}
+    yyval.TermInstVal = new BranchInst(tmpBBA, tmpBBB, tmpVal);
+  }
     break;
 
   case 245:
-#line 2375 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 2375 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
     {
-    Value* tmpVal = getVal((yyvsp[-7].PrimType), (yyvsp[-6].ValIDVal));
+    Value* tmpVal = getVal(yyvsp[-7].PrimType, yyvsp[-6].ValIDVal);
     CHECK_FOR_ERROR
-    BasicBlock* tmpBB = getBBVal((yyvsp[-3].ValIDVal));
+    BasicBlock* tmpBB = getBBVal(yyvsp[-3].ValIDVal);
     CHECK_FOR_ERROR
-    SwitchInst *S = new SwitchInst(tmpVal, tmpBB, (yyvsp[-1].JumpTable)->size());
-    (yyval.TermInstVal) = S;
+    SwitchInst *S = new SwitchInst(tmpVal, tmpBB, yyvsp[-1].JumpTable->size());
+    yyval.TermInstVal = S;
 
-    std::vector<std::pair<Constant*,BasicBlock*> >::iterator I = (yyvsp[-1].JumpTable)->begin(),
-      E = (yyvsp[-1].JumpTable)->end();
+    std::vector<std::pair<Constant*,BasicBlock*> >::iterator I = yyvsp[-1].JumpTable->begin(),
+      E = yyvsp[-1].JumpTable->end();
     for (; I != E; ++I) {
       if (ConstantInt *CI = dyn_cast<ConstantInt>(I->first))
           S->addCase(CI, I->second);
       else
         GEN_ERROR("Switch case is constant, but not a simple integer!");
     }
-    delete (yyvsp[-1].JumpTable);
+    delete yyvsp[-1].JumpTable;
     CHECK_FOR_ERROR
-  ;}
+  }
     break;
 
   case 246:
-#line 2394 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 2394 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
     {
-    Value* tmpVal = getVal((yyvsp[-6].PrimType), (yyvsp[-5].ValIDVal));
+    Value* tmpVal = getVal(yyvsp[-6].PrimType, yyvsp[-5].ValIDVal);
     CHECK_FOR_ERROR
-    BasicBlock* tmpBB = getBBVal((yyvsp[-2].ValIDVal));
+    BasicBlock* tmpBB = getBBVal(yyvsp[-2].ValIDVal);
     CHECK_FOR_ERROR
     SwitchInst *S = new SwitchInst(tmpVal, tmpBB, 0);
-    (yyval.TermInstVal) = S;
+    yyval.TermInstVal = S;
     CHECK_FOR_ERROR
-  ;}
+  }
     break;
 
   case 247:
-#line 2404 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 2404 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
     {
 
     // Handle the short syntax
     const PointerType *PFTy = 0;
     const FunctionType *Ty = 0;
-    if (!(PFTy = dyn_cast<PointerType>((yyvsp[-11].TypeVal)->get())) ||
+    if (!(PFTy = dyn_cast<PointerType>(yyvsp[-11].TypeVal->get())) ||
         !(Ty = dyn_cast<FunctionType>(PFTy->getElementType()))) {
       // Pull out the types of all of the arguments...
       std::vector<const Type*> ParamTypes;
       FunctionType::ParamAttrsList ParamAttrs;
-      ParamAttrs.push_back((yyvsp[-6].ParamAttrs));
-      for (ValueRefList::iterator I = (yyvsp[-8].ValueRefList)->begin(), E = (yyvsp[-8].ValueRefList)->end(); I != E; ++I) {
+      ParamAttrs.push_back(yyvsp[-6].ParamAttrs);
+      for (ValueRefList::iterator I = yyvsp[-8].ValueRefList->begin(), E = yyvsp[-8].ValueRefList->end(); I != E; ++I) {
         const Type *Ty = I->Val->getType();
         if (Ty == Type::VoidTy)
           GEN_ERROR("Short call syntax cannot be used with varargs");
@@ -4992,20 +4818,20 @@
         ParamAttrs.push_back(I->Attrs);
       }
 
-      Ty = FunctionType::get((yyvsp[-11].TypeVal)->get(), ParamTypes, false, ParamAttrs);
+      Ty = FunctionType::get(yyvsp[-11].TypeVal->get(), ParamTypes, false, ParamAttrs);
       PFTy = PointerType::get(Ty);
     }
 
-    Value *V = getVal(PFTy, (yyvsp[-10].ValIDVal));   // Get the function we're calling...
+    Value *V = getVal(PFTy, yyvsp[-10].ValIDVal);   // Get the function we're calling...
     CHECK_FOR_ERROR
-    BasicBlock *Normal = getBBVal((yyvsp[-3].ValIDVal));
+    BasicBlock *Normal = getBBVal(yyvsp[-3].ValIDVal);
     CHECK_FOR_ERROR
-    BasicBlock *Except = getBBVal((yyvsp[0].ValIDVal));
+    BasicBlock *Except = getBBVal(yyvsp[0].ValIDVal);
     CHECK_FOR_ERROR
 
     // Check the arguments
     ValueList Args;
-    if ((yyvsp[-8].ValueRefList)->empty()) {                                   // Has no arguments?
+    if (yyvsp[-8].ValueRefList->empty()) {                                   // Has no arguments?
       // Make sure no arguments is a good thing!
       if (Ty->getNumParams() != 0)
         GEN_ERROR("No arguments passed to a function that "
@@ -5015,7 +4841,7 @@
       // correctly!
       FunctionType::param_iterator I = Ty->param_begin();
       FunctionType::param_iterator E = Ty->param_end();
-      ValueRefList::iterator ArgI = (yyvsp[-8].ValueRefList)->begin(), ArgE = (yyvsp[-8].ValueRefList)->end();
+      ValueRefList::iterator ArgI = yyvsp[-8].ValueRefList->begin(), ArgE = yyvsp[-8].ValueRefList->end();
 
       for (; ArgI != ArgE && I != E; ++ArgI, ++I) {
         if (ArgI->Val->getType() != *I)
@@ -5034,353 +4860,353 @@
 
     // Create the InvokeInst
     InvokeInst *II = new InvokeInst(V, Normal, Except, Args);
-    II->setCallingConv((yyvsp[-12].UIntVal));
-    (yyval.TermInstVal) = II;
-    delete (yyvsp[-8].ValueRefList);
+    II->setCallingConv(yyvsp[-12].UIntVal);
+    yyval.TermInstVal = II;
+    delete yyvsp[-8].ValueRefList;
     CHECK_FOR_ERROR
-  ;}
+  }
     break;
 
   case 248:
-#line 2470 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 2470 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
     {
-    (yyval.TermInstVal) = new UnwindInst();
+    yyval.TermInstVal = new UnwindInst();
     CHECK_FOR_ERROR
-  ;}
+  }
     break;
 
   case 249:
-#line 2474 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 2474 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
     {
-    (yyval.TermInstVal) = new UnreachableInst();
+    yyval.TermInstVal = new UnreachableInst();
     CHECK_FOR_ERROR
-  ;}
+  }
     break;
 
   case 250:
-#line 2481 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 2481 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
     {
-    (yyval.JumpTable) = (yyvsp[-5].JumpTable);
-    Constant *V = cast<Constant>(getValNonImprovising((yyvsp[-4].PrimType), (yyvsp[-3].ValIDVal)));
+    yyval.JumpTable = yyvsp[-5].JumpTable;
+    Constant *V = cast<Constant>(getValNonImprovising(yyvsp[-4].PrimType, yyvsp[-3].ValIDVal));
     CHECK_FOR_ERROR
     if (V == 0)
       GEN_ERROR("May only switch on a constant pool value!");
 
-    BasicBlock* tmpBB = getBBVal((yyvsp[0].ValIDVal));
+    BasicBlock* tmpBB = getBBVal(yyvsp[0].ValIDVal);
     CHECK_FOR_ERROR
-    (yyval.JumpTable)->push_back(std::make_pair(V, tmpBB));
-  ;}
+    yyval.JumpTable->push_back(std::make_pair(V, tmpBB));
+  }
     break;
 
   case 251:
-#line 2492 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 2492 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
     {
-    (yyval.JumpTable) = new std::vector<std::pair<Constant*, BasicBlock*> >();
-    Constant *V = cast<Constant>(getValNonImprovising((yyvsp[-4].PrimType), (yyvsp[-3].ValIDVal)));
+    yyval.JumpTable = new std::vector<std::pair<Constant*, BasicBlock*> >();
+    Constant *V = cast<Constant>(getValNonImprovising(yyvsp[-4].PrimType, yyvsp[-3].ValIDVal));
     CHECK_FOR_ERROR
 
     if (V == 0)
       GEN_ERROR("May only switch on a constant pool value!");
 
-    BasicBlock* tmpBB = getBBVal((yyvsp[0].ValIDVal));
+    BasicBlock* tmpBB = getBBVal(yyvsp[0].ValIDVal);
     CHECK_FOR_ERROR
-    (yyval.JumpTable)->push_back(std::make_pair(V, tmpBB)); 
-  ;}
+    yyval.JumpTable->push_back(std::make_pair(V, tmpBB)); 
+  }
     break;
 
   case 252:
-#line 2505 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 2505 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
     {
   // Is this definition named?? if so, assign the name...
-  setValueName((yyvsp[0].InstVal), (yyvsp[-1].StrVal));
+  setValueName(yyvsp[0].InstVal, yyvsp[-1].StrVal);
   CHECK_FOR_ERROR
-  InsertValue((yyvsp[0].InstVal));
-  (yyval.InstVal) = (yyvsp[0].InstVal);
+  InsertValue(yyvsp[0].InstVal);
+  yyval.InstVal = yyvsp[0].InstVal;
   CHECK_FOR_ERROR
-;}
+}
     break;
 
   case 253:
-#line 2514 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 2514 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
     {    // Used for PHI nodes
     if (!UpRefs.empty())
-      GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-5].TypeVal))->getDescription());
-    (yyval.PHIList) = new std::list<std::pair<Value*, BasicBlock*> >();
-    Value* tmpVal = getVal(*(yyvsp[-5].TypeVal), (yyvsp[-3].ValIDVal));
-    CHECK_FOR_ERROR
-    BasicBlock* tmpBB = getBBVal((yyvsp[-1].ValIDVal));
-    CHECK_FOR_ERROR
-    (yyval.PHIList)->push_back(std::make_pair(tmpVal, tmpBB));
-    delete (yyvsp[-5].TypeVal);
-  ;}
+      GEN_ERROR("Invalid upreference in type: " + (*yyvsp[-5].TypeVal)->getDescription());
+    yyval.PHIList = new std::list<std::pair<Value*, BasicBlock*> >();
+    Value* tmpVal = getVal(*yyvsp[-5].TypeVal, yyvsp[-3].ValIDVal);
+    CHECK_FOR_ERROR
+    BasicBlock* tmpBB = getBBVal(yyvsp[-1].ValIDVal);
+    CHECK_FOR_ERROR
+    yyval.PHIList->push_back(std::make_pair(tmpVal, tmpBB));
+    delete yyvsp[-5].TypeVal;
+  }
     break;
 
   case 254:
-#line 2525 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 2525 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
     {
-    (yyval.PHIList) = (yyvsp[-6].PHIList);
-    Value* tmpVal = getVal((yyvsp[-6].PHIList)->front().first->getType(), (yyvsp[-3].ValIDVal));
+    yyval.PHIList = yyvsp[-6].PHIList;
+    Value* tmpVal = getVal(yyvsp[-6].PHIList->front().first->getType(), yyvsp[-3].ValIDVal);
     CHECK_FOR_ERROR
-    BasicBlock* tmpBB = getBBVal((yyvsp[-1].ValIDVal));
+    BasicBlock* tmpBB = getBBVal(yyvsp[-1].ValIDVal);
     CHECK_FOR_ERROR
-    (yyvsp[-6].PHIList)->push_back(std::make_pair(tmpVal, tmpBB));
-  ;}
+    yyvsp[-6].PHIList->push_back(std::make_pair(tmpVal, tmpBB));
+  }
     break;
 
   case 255:
-#line 2535 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 2535 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
     {    
     if (!UpRefs.empty())
-      GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-2].TypeVal))->getDescription());
+      GEN_ERROR("Invalid upreference in type: " + (*yyvsp[-2].TypeVal)->getDescription());
     // Used for call and invoke instructions
-    (yyval.ValueRefList) = new ValueRefList();
-    ValueRefListEntry E; E.Attrs = (yyvsp[0].ParamAttrs); E.Val = getVal((yyvsp[-2].TypeVal)->get(), (yyvsp[-1].ValIDVal));
-    (yyval.ValueRefList)->push_back(E);
-  ;}
+    yyval.ValueRefList = new ValueRefList();
+    ValueRefListEntry E; E.Attrs = yyvsp[0].ParamAttrs; E.Val = getVal(yyvsp[-2].TypeVal->get(), yyvsp[-1].ValIDVal);
+    yyval.ValueRefList->push_back(E);
+  }
     break;
 
   case 256:
-#line 2543 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 2543 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
-      GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-2].TypeVal))->getDescription());
-    (yyval.ValueRefList) = (yyvsp[-4].ValueRefList);
-    ValueRefListEntry E; E.Attrs = (yyvsp[0].ParamAttrs); E.Val = getVal((yyvsp[-2].TypeVal)->get(), (yyvsp[-1].ValIDVal));
-    (yyval.ValueRefList)->push_back(E);
+      GEN_ERROR("Invalid upreference in type: " + (*yyvsp[-2].TypeVal)->getDescription());
+    yyval.ValueRefList = yyvsp[-4].ValueRefList;
+    ValueRefListEntry E; E.Attrs = yyvsp[0].ParamAttrs; E.Val = getVal(yyvsp[-2].TypeVal->get(), yyvsp[-1].ValIDVal);
+    yyval.ValueRefList->push_back(E);
     CHECK_FOR_ERROR
-  ;}
+  }
     break;
 
   case 257:
-#line 2551 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
-    { (yyval.ValueRefList) = new ValueRefList(); ;}
+#line 2551 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
+    { yyval.ValueRefList = new ValueRefList(); }
     break;
 
   case 258:
-#line 2554 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
-    { (yyval.ValueList) = new std::vector<Value*>(); ;}
+#line 2554 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
+    { yyval.ValueList = new std::vector<Value*>(); }
     break;
 
   case 259:
-#line 2555 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 2555 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
     {
-    (yyval.ValueList) = (yyvsp[-2].ValueList);
-    (yyval.ValueList)->push_back((yyvsp[0].ValueVal));
+    yyval.ValueList = yyvsp[-2].ValueList;
+    yyval.ValueList->push_back(yyvsp[0].ValueVal);
     CHECK_FOR_ERROR
-  ;}
+  }
     break;
 
   case 260:
-#line 2562 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 2562 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
     {
-    (yyval.BoolVal) = true;
+    yyval.BoolVal = true;
     CHECK_FOR_ERROR
-  ;}
+  }
     break;
 
   case 261:
-#line 2566 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 2566 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
     {
-    (yyval.BoolVal) = false;
+    yyval.BoolVal = false;
     CHECK_FOR_ERROR
-  ;}
+  }
     break;
 
   case 262:
-#line 2571 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 2571 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
-      GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-3].TypeVal))->getDescription());
-    if (!(*(yyvsp[-3].TypeVal))->isInteger() && !(*(yyvsp[-3].TypeVal))->isFloatingPoint() && 
-        !isa<PackedType>((*(yyvsp[-3].TypeVal)).get()))
+      GEN_ERROR("Invalid upreference in type: " + (*yyvsp[-3].TypeVal)->getDescription());
+    if (!(*yyvsp[-3].TypeVal)->isInteger() && !(*yyvsp[-3].TypeVal)->isFloatingPoint() && 
+        !isa<PackedType>((*yyvsp[-3].TypeVal).get()))
       GEN_ERROR(
         "Arithmetic operator requires integer, FP, or packed operands!");
-    if (isa<PackedType>((*(yyvsp[-3].TypeVal)).get()) && 
-        ((yyvsp[-4].BinaryOpVal) == Instruction::URem || 
-         (yyvsp[-4].BinaryOpVal) == Instruction::SRem ||
-         (yyvsp[-4].BinaryOpVal) == Instruction::FRem))
+    if (isa<PackedType>((*yyvsp[-3].TypeVal).get()) && 
+        (yyvsp[-4].BinaryOpVal == Instruction::URem || 
+         yyvsp[-4].BinaryOpVal == Instruction::SRem ||
+         yyvsp[-4].BinaryOpVal == Instruction::FRem))
       GEN_ERROR("U/S/FRem not supported on packed types!");
-    Value* val1 = getVal(*(yyvsp[-3].TypeVal), (yyvsp[-2].ValIDVal)); 
+    Value* val1 = getVal(*yyvsp[-3].TypeVal, yyvsp[-2].ValIDVal); 
     CHECK_FOR_ERROR
-    Value* val2 = getVal(*(yyvsp[-3].TypeVal), (yyvsp[0].ValIDVal));
+    Value* val2 = getVal(*yyvsp[-3].TypeVal, yyvsp[0].ValIDVal);
     CHECK_FOR_ERROR
-    (yyval.InstVal) = BinaryOperator::create((yyvsp[-4].BinaryOpVal), val1, val2);
-    if ((yyval.InstVal) == 0)
+    yyval.InstVal = BinaryOperator::create(yyvsp[-4].BinaryOpVal, val1, val2);
+    if (yyval.InstVal == 0)
       GEN_ERROR("binary operator returned null!");
-    delete (yyvsp[-3].TypeVal);
-  ;}
+    delete yyvsp[-3].TypeVal;
+  }
     break;
 
   case 263:
-#line 2592 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 2592 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
-      GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-3].TypeVal))->getDescription());
-    if (!(*(yyvsp[-3].TypeVal))->isInteger()) {
-      if (!isa<PackedType>((yyvsp[-3].TypeVal)->get()) ||
-          !cast<PackedType>((yyvsp[-3].TypeVal)->get())->getElementType()->isInteger())
+      GEN_ERROR("Invalid upreference in type: " + (*yyvsp[-3].TypeVal)->getDescription());
+    if (!(*yyvsp[-3].TypeVal)->isInteger()) {
+      if (!isa<PackedType>(yyvsp[-3].TypeVal->get()) ||
+          !cast<PackedType>(yyvsp[-3].TypeVal->get())->getElementType()->isInteger())
         GEN_ERROR("Logical operator requires integral operands!");
     }
-    Value* tmpVal1 = getVal(*(yyvsp[-3].TypeVal), (yyvsp[-2].ValIDVal));
+    Value* tmpVal1 = getVal(*yyvsp[-3].TypeVal, yyvsp[-2].ValIDVal);
     CHECK_FOR_ERROR
-    Value* tmpVal2 = getVal(*(yyvsp[-3].TypeVal), (yyvsp[0].ValIDVal));
+    Value* tmpVal2 = getVal(*yyvsp[-3].TypeVal, yyvsp[0].ValIDVal);
     CHECK_FOR_ERROR
-    (yyval.InstVal) = BinaryOperator::create((yyvsp[-4].BinaryOpVal), tmpVal1, tmpVal2);
-    if ((yyval.InstVal) == 0)
+    yyval.InstVal = BinaryOperator::create(yyvsp[-4].BinaryOpVal, tmpVal1, tmpVal2);
+    if (yyval.InstVal == 0)
       GEN_ERROR("binary operator returned null!");
-    delete (yyvsp[-3].TypeVal);
-  ;}
+    delete yyvsp[-3].TypeVal;
+  }
     break;
 
   case 264:
-#line 2609 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 2609 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
-      GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-3].TypeVal))->getDescription());
-    if (isa<PackedType>((*(yyvsp[-3].TypeVal)).get()))
+      GEN_ERROR("Invalid upreference in type: " + (*yyvsp[-3].TypeVal)->getDescription());
+    if (isa<PackedType>((*yyvsp[-3].TypeVal).get()))
       GEN_ERROR("Packed types not supported by icmp instruction");
-    Value* tmpVal1 = getVal(*(yyvsp[-3].TypeVal), (yyvsp[-2].ValIDVal));
+    Value* tmpVal1 = getVal(*yyvsp[-3].TypeVal, yyvsp[-2].ValIDVal);
     CHECK_FOR_ERROR
-    Value* tmpVal2 = getVal(*(yyvsp[-3].TypeVal), (yyvsp[0].ValIDVal));
+    Value* tmpVal2 = getVal(*yyvsp[-3].TypeVal, yyvsp[0].ValIDVal);
     CHECK_FOR_ERROR
-    (yyval.InstVal) = CmpInst::create((yyvsp[-5].OtherOpVal), (yyvsp[-4].IPredicate), tmpVal1, tmpVal2);
-    if ((yyval.InstVal) == 0)
+    yyval.InstVal = CmpInst::create(yyvsp[-5].OtherOpVal, yyvsp[-4].IPredicate, tmpVal1, tmpVal2);
+    if (yyval.InstVal == 0)
       GEN_ERROR("icmp operator returned null!");
-  ;}
+  }
     break;
 
   case 265:
-#line 2622 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 2622 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
-      GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-3].TypeVal))->getDescription());
-    if (isa<PackedType>((*(yyvsp[-3].TypeVal)).get()))
+      GEN_ERROR("Invalid upreference in type: " + (*yyvsp[-3].TypeVal)->getDescription());
+    if (isa<PackedType>((*yyvsp[-3].TypeVal).get()))
       GEN_ERROR("Packed types not supported by fcmp instruction");
-    Value* tmpVal1 = getVal(*(yyvsp[-3].TypeVal), (yyvsp[-2].ValIDVal));
+    Value* tmpVal1 = getVal(*yyvsp[-3].TypeVal, yyvsp[-2].ValIDVal);
     CHECK_FOR_ERROR
-    Value* tmpVal2 = getVal(*(yyvsp[-3].TypeVal), (yyvsp[0].ValIDVal));
+    Value* tmpVal2 = getVal(*yyvsp[-3].TypeVal, yyvsp[0].ValIDVal);
     CHECK_FOR_ERROR
-    (yyval.InstVal) = CmpInst::create((yyvsp[-5].OtherOpVal), (yyvsp[-4].FPredicate), tmpVal1, tmpVal2);
-    if ((yyval.InstVal) == 0)
+    yyval.InstVal = CmpInst::create(yyvsp[-5].OtherOpVal, yyvsp[-4].FPredicate, tmpVal1, tmpVal2);
+    if (yyval.InstVal == 0)
       GEN_ERROR("fcmp operator returned null!");
-  ;}
+  }
     break;
 
   case 266:
-#line 2635 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 2635 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
     {
-    if ((yyvsp[0].ValueVal)->getType() != Type::Int8Ty)
+    if (yyvsp[0].ValueVal->getType() != Type::Int8Ty)
       GEN_ERROR("Shift amount must be i8 type!");
-    if (!(yyvsp[-2].ValueVal)->getType()->isInteger())
+    if (!yyvsp[-2].ValueVal->getType()->isInteger())
       GEN_ERROR("Shift constant expression requires integer operand!");
     CHECK_FOR_ERROR;
-    (yyval.InstVal) = new ShiftInst((yyvsp[-3].OtherOpVal), (yyvsp[-2].ValueVal), (yyvsp[0].ValueVal));
+    yyval.InstVal = new ShiftInst(yyvsp[-3].OtherOpVal, yyvsp[-2].ValueVal, yyvsp[0].ValueVal);
     CHECK_FOR_ERROR
-  ;}
+  }
     break;
 
   case 267:
-#line 2644 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 2644 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
-      GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[0].TypeVal))->getDescription());
-    Value* Val = (yyvsp[-2].ValueVal);
-    const Type* DestTy = (yyvsp[0].TypeVal)->get();
-    if (!CastInst::castIsValid((yyvsp[-3].CastOpVal), Val, DestTy))
+      GEN_ERROR("Invalid upreference in type: " + (*yyvsp[0].TypeVal)->getDescription());
+    Value* Val = yyvsp[-2].ValueVal;
+    const Type* DestTy = yyvsp[0].TypeVal->get();
+    if (!CastInst::castIsValid(yyvsp[-3].CastOpVal, Val, DestTy))
       GEN_ERROR("invalid cast opcode for cast from '" +
                 Val->getType()->getDescription() + "' to '" +
                 DestTy->getDescription() + "'!"); 
-    (yyval.InstVal) = CastInst::create((yyvsp[-3].CastOpVal), Val, DestTy);
-    delete (yyvsp[0].TypeVal);
-  ;}
+    yyval.InstVal = CastInst::create(yyvsp[-3].CastOpVal, Val, DestTy);
+    delete yyvsp[0].TypeVal;
+  }
     break;
 
   case 268:
-#line 2656 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 2656 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
     {
-    if ((yyvsp[-4].ValueVal)->getType() != Type::Int1Ty)
+    if (yyvsp[-4].ValueVal->getType() != Type::Int1Ty)
       GEN_ERROR("select condition must be boolean!");
-    if ((yyvsp[-2].ValueVal)->getType() != (yyvsp[0].ValueVal)->getType())
+    if (yyvsp[-2].ValueVal->getType() != yyvsp[0].ValueVal->getType())
       GEN_ERROR("select value types should match!");
-    (yyval.InstVal) = new SelectInst((yyvsp[-4].ValueVal), (yyvsp[-2].ValueVal), (yyvsp[0].ValueVal));
+    yyval.InstVal = new SelectInst(yyvsp[-4].ValueVal, yyvsp[-2].ValueVal, yyvsp[0].ValueVal);
     CHECK_FOR_ERROR
-  ;}
+  }
     break;
 
   case 269:
-#line 2664 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 2664 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
-      GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[0].TypeVal))->getDescription());
-    (yyval.InstVal) = new VAArgInst((yyvsp[-2].ValueVal), *(yyvsp[0].TypeVal));
-    delete (yyvsp[0].TypeVal);
+      GEN_ERROR("Invalid upreference in type: " + (*yyvsp[0].TypeVal)->getDescription());
+    yyval.InstVal = new VAArgInst(yyvsp[-2].ValueVal, *yyvsp[0].TypeVal);
+    delete yyvsp[0].TypeVal;
     CHECK_FOR_ERROR
-  ;}
+  }
     break;
 
   case 270:
-#line 2671 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 2671 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
     {
-    if (!ExtractElementInst::isValidOperands((yyvsp[-2].ValueVal), (yyvsp[0].ValueVal)))
+    if (!ExtractElementInst::isValidOperands(yyvsp[-2].ValueVal, yyvsp[0].ValueVal))
       GEN_ERROR("Invalid extractelement operands!");
-    (yyval.InstVal) = new ExtractElementInst((yyvsp[-2].ValueVal), (yyvsp[0].ValueVal));
+    yyval.InstVal = new ExtractElementInst(yyvsp[-2].ValueVal, yyvsp[0].ValueVal);
     CHECK_FOR_ERROR
-  ;}
+  }
     break;
 
   case 271:
-#line 2677 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 2677 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
     {
-    if (!InsertElementInst::isValidOperands((yyvsp[-4].ValueVal), (yyvsp[-2].ValueVal), (yyvsp[0].ValueVal)))
+    if (!InsertElementInst::isValidOperands(yyvsp[-4].ValueVal, yyvsp[-2].ValueVal, yyvsp[0].ValueVal))
       GEN_ERROR("Invalid insertelement operands!");
-    (yyval.InstVal) = new InsertElementInst((yyvsp[-4].ValueVal), (yyvsp[-2].ValueVal), (yyvsp[0].ValueVal));
+    yyval.InstVal = new InsertElementInst(yyvsp[-4].ValueVal, yyvsp[-2].ValueVal, yyvsp[0].ValueVal);
     CHECK_FOR_ERROR
-  ;}
+  }
     break;
 
   case 272:
-#line 2683 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 2683 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
     {
-    if (!ShuffleVectorInst::isValidOperands((yyvsp[-4].ValueVal), (yyvsp[-2].ValueVal), (yyvsp[0].ValueVal)))
+    if (!ShuffleVectorInst::isValidOperands(yyvsp[-4].ValueVal, yyvsp[-2].ValueVal, yyvsp[0].ValueVal))
       GEN_ERROR("Invalid shufflevector operands!");
-    (yyval.InstVal) = new ShuffleVectorInst((yyvsp[-4].ValueVal), (yyvsp[-2].ValueVal), (yyvsp[0].ValueVal));
+    yyval.InstVal = new ShuffleVectorInst(yyvsp[-4].ValueVal, yyvsp[-2].ValueVal, yyvsp[0].ValueVal);
     CHECK_FOR_ERROR
-  ;}
+  }
     break;
 
   case 273:
-#line 2689 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 2689 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
     {
-    const Type *Ty = (yyvsp[0].PHIList)->front().first->getType();
+    const Type *Ty = yyvsp[0].PHIList->front().first->getType();
     if (!Ty->isFirstClassType())
       GEN_ERROR("PHI node operands must be of first class type!");
-    (yyval.InstVal) = new PHINode(Ty);
-    ((PHINode*)(yyval.InstVal))->reserveOperandSpace((yyvsp[0].PHIList)->size());
-    while ((yyvsp[0].PHIList)->begin() != (yyvsp[0].PHIList)->end()) {
-      if ((yyvsp[0].PHIList)->front().first->getType() != Ty) 
+    yyval.InstVal = new PHINode(Ty);
+    ((PHINode*)yyval.InstVal)->reserveOperandSpace(yyvsp[0].PHIList->size());
+    while (yyvsp[0].PHIList->begin() != yyvsp[0].PHIList->end()) {
+      if (yyvsp[0].PHIList->front().first->getType() != Ty) 
         GEN_ERROR("All elements of a PHI node must be of the same type!");
-      cast<PHINode>((yyval.InstVal))->addIncoming((yyvsp[0].PHIList)->front().first, (yyvsp[0].PHIList)->front().second);
-      (yyvsp[0].PHIList)->pop_front();
+      cast<PHINode>(yyval.InstVal)->addIncoming(yyvsp[0].PHIList->front().first, yyvsp[0].PHIList->front().second);
+      yyvsp[0].PHIList->pop_front();
     }
-    delete (yyvsp[0].PHIList);  // Free the list...
+    delete yyvsp[0].PHIList;  // Free the list...
     CHECK_FOR_ERROR
-  ;}
+  }
     break;
 
   case 274:
-#line 2705 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 2705 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
     {
 
     // Handle the short syntax
     const PointerType *PFTy = 0;
     const FunctionType *Ty = 0;
-    if (!(PFTy = dyn_cast<PointerType>((yyvsp[-5].TypeVal)->get())) ||
+    if (!(PFTy = dyn_cast<PointerType>(yyvsp[-5].TypeVal->get())) ||
         !(Ty = dyn_cast<FunctionType>(PFTy->getElementType()))) {
       // Pull out the types of all of the arguments...
       std::vector<const Type*> ParamTypes;
       FunctionType::ParamAttrsList ParamAttrs;
-      ParamAttrs.push_back((yyvsp[0].ParamAttrs));
-      for (ValueRefList::iterator I = (yyvsp[-2].ValueRefList)->begin(), E = (yyvsp[-2].ValueRefList)->end(); I != E; ++I) {
+      ParamAttrs.push_back(yyvsp[0].ParamAttrs);
+      for (ValueRefList::iterator I = yyvsp[-2].ValueRefList->begin(), E = yyvsp[-2].ValueRefList->end(); I != E; ++I) {
         const Type *Ty = I->Val->getType();
         if (Ty == Type::VoidTy)
           GEN_ERROR("Short call syntax cannot be used with varargs");
@@ -5388,16 +5214,16 @@
         ParamAttrs.push_back(I->Attrs);
       }
 
-      Ty = FunctionType::get((yyvsp[-5].TypeVal)->get(), ParamTypes, false, ParamAttrs);
+      Ty = FunctionType::get(yyvsp[-5].TypeVal->get(), ParamTypes, false, ParamAttrs);
       PFTy = PointerType::get(Ty);
     }
 
-    Value *V = getVal(PFTy, (yyvsp[-4].ValIDVal));   // Get the function we're calling...
+    Value *V = getVal(PFTy, yyvsp[-4].ValIDVal);   // Get the function we're calling...
     CHECK_FOR_ERROR
 
     // Check the arguments 
     ValueList Args;
-    if ((yyvsp[-2].ValueRefList)->empty()) {                                   // Has no arguments?
+    if (yyvsp[-2].ValueRefList->empty()) {                                   // Has no arguments?
       // Make sure no arguments is a good thing!
       if (Ty->getNumParams() != 0)
         GEN_ERROR("No arguments passed to a function that "
@@ -5408,7 +5234,7 @@
       //
       FunctionType::param_iterator I = Ty->param_begin();
       FunctionType::param_iterator E = Ty->param_end();
-      ValueRefList::iterator ArgI = (yyvsp[-2].ValueRefList)->begin(), ArgE = (yyvsp[-2].ValueRefList)->end();
+      ValueRefList::iterator ArgI = yyvsp[-2].ValueRefList->begin(), ArgE = yyvsp[-2].ValueRefList->end();
 
       for (; ArgI != ArgE && I != E; ++ArgI, ++I) {
         if (ArgI->Val->getType() != *I)
@@ -5425,165 +5251,173 @@
     }
     // Create the call node
     CallInst *CI = new CallInst(V, Args);
-    CI->setTailCall((yyvsp[-7].BoolVal));
-    CI->setCallingConv((yyvsp[-6].UIntVal));
-    (yyval.InstVal) = CI;
-    delete (yyvsp[-2].ValueRefList);
+    CI->setTailCall(yyvsp[-7].BoolVal);
+    CI->setCallingConv(yyvsp[-6].UIntVal);
+    yyval.InstVal = CI;
+    delete yyvsp[-2].ValueRefList;
     CHECK_FOR_ERROR
-  ;}
+  }
     break;
 
   case 275:
-#line 2767 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 2767 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
     {
-    (yyval.InstVal) = (yyvsp[0].InstVal);
+    yyval.InstVal = yyvsp[0].InstVal;
     CHECK_FOR_ERROR
-  ;}
+  }
     break;
 
   case 276:
-#line 2772 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 2772 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
     {
-    (yyval.BoolVal) = true;
+    yyval.BoolVal = true;
     CHECK_FOR_ERROR
-  ;}
+  }
     break;
 
   case 277:
-#line 2776 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 2776 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
     {
-    (yyval.BoolVal) = false;
+    yyval.BoolVal = false;
     CHECK_FOR_ERROR
-  ;}
+  }
     break;
 
   case 278:
-#line 2783 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 2783 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
-      GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-1].TypeVal))->getDescription());
-    (yyval.InstVal) = new MallocInst(*(yyvsp[-1].TypeVal), 0, (yyvsp[0].UIntVal));
-    delete (yyvsp[-1].TypeVal);
+      GEN_ERROR("Invalid upreference in type: " + (*yyvsp[-1].TypeVal)->getDescription());
+    yyval.InstVal = new MallocInst(*yyvsp[-1].TypeVal, 0, yyvsp[0].UIntVal);
+    delete yyvsp[-1].TypeVal;
     CHECK_FOR_ERROR
-  ;}
+  }
     break;
 
   case 279:
-#line 2790 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 2790 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
-      GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-4].TypeVal))->getDescription());
-    Value* tmpVal = getVal((yyvsp[-2].PrimType), (yyvsp[-1].ValIDVal));
+      GEN_ERROR("Invalid upreference in type: " + (*yyvsp[-4].TypeVal)->getDescription());
+    Value* tmpVal = getVal(yyvsp[-2].PrimType, yyvsp[-1].ValIDVal);
     CHECK_FOR_ERROR
-    (yyval.InstVal) = new MallocInst(*(yyvsp[-4].TypeVal), tmpVal, (yyvsp[0].UIntVal));
-    delete (yyvsp[-4].TypeVal);
-  ;}
+    yyval.InstVal = new MallocInst(*yyvsp[-4].TypeVal, tmpVal, yyvsp[0].UIntVal);
+    delete yyvsp[-4].TypeVal;
+  }
     break;
 
   case 280:
-#line 2798 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 2798 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
-      GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-1].TypeVal))->getDescription());
-    (yyval.InstVal) = new AllocaInst(*(yyvsp[-1].TypeVal), 0, (yyvsp[0].UIntVal));
-    delete (yyvsp[-1].TypeVal);
+      GEN_ERROR("Invalid upreference in type: " + (*yyvsp[-1].TypeVal)->getDescription());
+    yyval.InstVal = new AllocaInst(*yyvsp[-1].TypeVal, 0, yyvsp[0].UIntVal);
+    delete yyvsp[-1].TypeVal;
     CHECK_FOR_ERROR
-  ;}
+  }
     break;
 
   case 281:
-#line 2805 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 2805 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
-      GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-4].TypeVal))->getDescription());
-    Value* tmpVal = getVal((yyvsp[-2].PrimType), (yyvsp[-1].ValIDVal));
+      GEN_ERROR("Invalid upreference in type: " + (*yyvsp[-4].TypeVal)->getDescription());
+    Value* tmpVal = getVal(yyvsp[-2].PrimType, yyvsp[-1].ValIDVal);
     CHECK_FOR_ERROR
-    (yyval.InstVal) = new AllocaInst(*(yyvsp[-4].TypeVal), tmpVal, (yyvsp[0].UIntVal));
-    delete (yyvsp[-4].TypeVal);
-  ;}
+    yyval.InstVal = new AllocaInst(*yyvsp[-4].TypeVal, tmpVal, yyvsp[0].UIntVal);
+    delete yyvsp[-4].TypeVal;
+  }
     break;
 
   case 282:
-#line 2813 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 2813 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
     {
-    if (!isa<PointerType>((yyvsp[0].ValueVal)->getType()))
+    if (!isa<PointerType>(yyvsp[0].ValueVal->getType()))
       GEN_ERROR("Trying to free nonpointer type " + 
-                     (yyvsp[0].ValueVal)->getType()->getDescription() + "!");
-    (yyval.InstVal) = new FreeInst((yyvsp[0].ValueVal));
+                     yyvsp[0].ValueVal->getType()->getDescription() + "!");
+    yyval.InstVal = new FreeInst(yyvsp[0].ValueVal);
     CHECK_FOR_ERROR
-  ;}
+  }
     break;
 
   case 283:
-#line 2821 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 2821 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
-      GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-1].TypeVal))->getDescription());
-    if (!isa<PointerType>((yyvsp[-1].TypeVal)->get()))
+      GEN_ERROR("Invalid upreference in type: " + (*yyvsp[-1].TypeVal)->getDescription());
+    if (!isa<PointerType>(yyvsp[-1].TypeVal->get()))
       GEN_ERROR("Can't load from nonpointer type: " +
-                     (*(yyvsp[-1].TypeVal))->getDescription());
-    if (!cast<PointerType>((yyvsp[-1].TypeVal)->get())->getElementType()->isFirstClassType())
+                     (*yyvsp[-1].TypeVal)->getDescription());
+    if (!cast<PointerType>(yyvsp[-1].TypeVal->get())->getElementType()->isFirstClassType())
       GEN_ERROR("Can't load from pointer of non-first-class type: " +
-                     (*(yyvsp[-1].TypeVal))->getDescription());
-    Value* tmpVal = getVal(*(yyvsp[-1].TypeVal), (yyvsp[0].ValIDVal));
+                     (*yyvsp[-1].TypeVal)->getDescription());
+    Value* tmpVal = getVal(*yyvsp[-1].TypeVal, yyvsp[0].ValIDVal);
     CHECK_FOR_ERROR
-    (yyval.InstVal) = new LoadInst(tmpVal, "", (yyvsp[-3].BoolVal));
-    delete (yyvsp[-1].TypeVal);
-  ;}
+    yyval.InstVal = new LoadInst(tmpVal, "", yyvsp[-3].BoolVal);
+    delete yyvsp[-1].TypeVal;
+  }
     break;
 
   case 284:
-#line 2835 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 2835 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
-      GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-1].TypeVal))->getDescription());
-    const PointerType *PT = dyn_cast<PointerType>((yyvsp[-1].TypeVal)->get());
+      GEN_ERROR("Invalid upreference in type: " + (*yyvsp[-1].TypeVal)->getDescription());
+    const PointerType *PT = dyn_cast<PointerType>(yyvsp[-1].TypeVal->get());
     if (!PT)
       GEN_ERROR("Can't store to a nonpointer type: " +
-                     (*(yyvsp[-1].TypeVal))->getDescription());
+                     (*yyvsp[-1].TypeVal)->getDescription());
     const Type *ElTy = PT->getElementType();
-    if (ElTy != (yyvsp[-3].ValueVal)->getType())
-      GEN_ERROR("Can't store '" + (yyvsp[-3].ValueVal)->getType()->getDescription() +
+    if (ElTy != yyvsp[-3].ValueVal->getType())
+      GEN_ERROR("Can't store '" + yyvsp[-3].ValueVal->getType()->getDescription() +
                      "' into space of type '" + ElTy->getDescription() + "'!");
 
-    Value* tmpVal = getVal(*(yyvsp[-1].TypeVal), (yyvsp[0].ValIDVal));
+    Value* tmpVal = getVal(*yyvsp[-1].TypeVal, yyvsp[0].ValIDVal);
     CHECK_FOR_ERROR
-    (yyval.InstVal) = new StoreInst((yyvsp[-3].ValueVal), tmpVal, (yyvsp[-5].BoolVal));
-    delete (yyvsp[-1].TypeVal);
-  ;}
+    yyval.InstVal = new StoreInst(yyvsp[-3].ValueVal, tmpVal, yyvsp[-5].BoolVal);
+    delete yyvsp[-1].TypeVal;
+  }
     break;
 
   case 285:
-#line 2852 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 2852 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
-      GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-2].TypeVal))->getDescription());
-    if (!isa<PointerType>((yyvsp[-2].TypeVal)->get()))
+      GEN_ERROR("Invalid upreference in type: " + (*yyvsp[-2].TypeVal)->getDescription());
+    if (!isa<PointerType>(yyvsp[-2].TypeVal->get()))
       GEN_ERROR("getelementptr insn requires pointer operand!");
 
-    if (!GetElementPtrInst::getIndexedType(*(yyvsp[-2].TypeVal), *(yyvsp[0].ValueList), true))
+    if (!GetElementPtrInst::getIndexedType(*yyvsp[-2].TypeVal, *yyvsp[0].ValueList, true))
       GEN_ERROR("Invalid getelementptr indices for type '" +
-                     (*(yyvsp[-2].TypeVal))->getDescription()+ "'!");
-    Value* tmpVal = getVal(*(yyvsp[-2].TypeVal), (yyvsp[-1].ValIDVal));
+                     (*yyvsp[-2].TypeVal)->getDescription()+ "'!");
+    Value* tmpVal = getVal(*yyvsp[-2].TypeVal, yyvsp[-1].ValIDVal);
     CHECK_FOR_ERROR
-    (yyval.InstVal) = new GetElementPtrInst(tmpVal, *(yyvsp[0].ValueList));
-    delete (yyvsp[-2].TypeVal); 
-    delete (yyvsp[0].ValueList);
-  ;}
+    yyval.InstVal = new GetElementPtrInst(tmpVal, *yyvsp[0].ValueList);
+    delete yyvsp[-2].TypeVal; 
+    delete yyvsp[0].ValueList;
+  }
     break;
 
 
-      default: break;
     }
 
-/* Line 1126 of yacc.c.  */
-#line 5581 "llvmAsmParser.tab.c"
+/* Line 1016 of /usr/local/share/bison/yacc.c.  */
+#line 5406 "llvmAsmParser.tab.c"
 
   yyvsp -= yylen;
   yyssp -= yylen;
 
 
-  YY_STACK_PRINT (yyss, yyssp);
+#if YYDEBUG
+  if (yydebug)
+    {
+      short *yyssp1 = yyss - 1;
+      YYFPRINTF (stderr, "state stack now");
+      while (yyssp1 != yyssp)
+	YYFPRINTF (stderr, " %d", *++yyssp1);
+      YYFPRINTF (stderr, "\n");
+    }
+#endif
 
   *++yyvsp = yyval;
 
@@ -5616,153 +5450,90 @@
 
       if (YYPACT_NINF < yyn && yyn < YYLAST)
 	{
+	  YYSIZE_T yysize = 0;
 	  int yytype = YYTRANSLATE (yychar);
-	  YYSIZE_T yysize0 = yytnamerr (0, yytname[yytype]);
-	  YYSIZE_T yysize = yysize0;
-	  YYSIZE_T yysize1;
-	  int yysize_overflow = 0;
-	  char *yymsg = 0;
-#	  define YYERROR_VERBOSE_ARGS_MAXIMUM 5
-	  char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
-	  int yyx;
-
-#if 0
-	  /* This is so xgettext sees the translatable formats that are
-	     constructed on the fly.  */
-	  YY_("syntax error, unexpected %s");
-	  YY_("syntax error, unexpected %s, expecting %s");
-	  YY_("syntax error, unexpected %s, expecting %s or %s");
-	  YY_("syntax error, unexpected %s, expecting %s or %s or %s");
-	  YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s");
-#endif
-	  char *yyfmt;
-	  char const *yyf;
-	  static char const yyunexpected[] = "syntax error, unexpected %s";
-	  static char const yyexpecting[] = ", expecting %s";
-	  static char const yyor[] = " or %s";
-	  char yyformat[sizeof yyunexpected
-			+ sizeof yyexpecting - 1
-			+ ((YYERROR_VERBOSE_ARGS_MAXIMUM - 2)
-			   * (sizeof yyor - 1))];
-	  char const *yyprefix = yyexpecting;
+	  char *yymsg;
+	  int yyx, yycount;
 
+	  yycount = 0;
 	  /* Start YYX at -YYN if negative to avoid negative indexes in
 	     YYCHECK.  */
-	  int yyxbegin = yyn < 0 ? -yyn : 0;
-
-	  /* Stay within bounds of both yycheck and yytname.  */
-	  int yychecklim = YYLAST - yyn;
-	  int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
-	  int yycount = 1;
-
-	  yyarg[0] = yytname[yytype];
-	  yyfmt = yystpcpy (yyformat, yyunexpected);
-
-	  for (yyx = yyxbegin; yyx < yyxend; ++yyx)
+	  for (yyx = yyn < 0 ? -yyn : 0;
+	       yyx < (int) (sizeof (yytname) / sizeof (char *)); yyx++)
 	    if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
-	      {
-		if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
-		  {
-		    yycount = 1;
-		    yysize = yysize0;
-		    yyformat[sizeof yyunexpected - 1] = '\0';
-		    break;
-		  }
-		yyarg[yycount++] = yytname[yyx];
-		yysize1 = yysize + yytnamerr (0, yytname[yyx]);
-		yysize_overflow |= yysize1 < yysize;
-		yysize = yysize1;
-		yyfmt = yystpcpy (yyfmt, yyprefix);
-		yyprefix = yyor;
-	      }
-
-	  yyf = YY_(yyformat);
-	  yysize1 = yysize + yystrlen (yyf);
-	  yysize_overflow |= yysize1 < yysize;
-	  yysize = yysize1;
-
-	  if (!yysize_overflow && yysize <= YYSTACK_ALLOC_MAXIMUM)
-	    yymsg = (char *) YYSTACK_ALLOC (yysize);
-	  if (yymsg)
+	      yysize += yystrlen (yytname[yyx]) + 15, yycount++;
+	  yysize += yystrlen ("parse error, unexpected ") + 1;
+	  yysize += yystrlen (yytname[yytype]);
+	  yymsg = (char *) YYSTACK_ALLOC (yysize);
+	  if (yymsg != 0)
 	    {
-	      /* Avoid sprintf, as that infringes on the user's name space.
-		 Don't have undefined behavior even if the translation
-		 produced a string with the wrong number of "%s"s.  */
-	      char *yyp = yymsg;
-	      int yyi = 0;
-	      while ((*yyp = *yyf))
+	      char *yyp = yystpcpy (yymsg, "parse error, unexpected ");
+	      yyp = yystpcpy (yyp, yytname[yytype]);
+
+	      if (yycount < 5)
 		{
-		  if (*yyp == '%' && yyf[1] == 's' && yyi < yycount)
-		    {
-		      yyp += yytnamerr (yyp, yyarg[yyi++]);
-		      yyf += 2;
-		    }
-		  else
-		    {
-		      yyp++;
-		      yyf++;
-		    }
+		  yycount = 0;
+		  for (yyx = yyn < 0 ? -yyn : 0;
+		       yyx < (int) (sizeof (yytname) / sizeof (char *));
+		       yyx++)
+		    if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
+		      {
+			const char *yyq = ! yycount ? ", expecting " : " or ";
+			yyp = yystpcpy (yyp, yyq);
+			yyp = yystpcpy (yyp, yytname[yyx]);
+			yycount++;
+		      }
 		}
 	      yyerror (yymsg);
 	      YYSTACK_FREE (yymsg);
 	    }
 	  else
-	    {
-	      yyerror (YY_("syntax error"));
-	      goto yyexhaustedlab;
-	    }
+	    yyerror ("parse error; also virtual memory exhausted");
 	}
       else
 #endif /* YYERROR_VERBOSE */
-	yyerror (YY_("syntax error"));
+	yyerror ("parse error");
     }
+  goto yyerrlab1;
 
 
-
+/*----------------------------------------------------.
+| yyerrlab1 -- error raised explicitly by an action.  |
+`----------------------------------------------------*/
+yyerrlab1:
   if (yyerrstatus == 3)
     {
-      /* If just tried and failed to reuse look-ahead token after an
+      /* If just tried and failed to reuse lookahead token after an
 	 error, discard it.  */
 
-      if (yychar <= YYEOF)
+      /* Return failure if at end of input.  */
+      if (yychar == YYEOF)
         {
-	  /* Return failure if at end of input.  */
-	  if (yychar == YYEOF)
-	    YYABORT;
+	  /* Pop the error token.  */
+          YYPOPSTACK;
+	  /* Pop the rest of the stack.  */
+	  while (yyssp > yyss)
+	    {
+	      YYDPRINTF ((stderr, "Error: popping "));
+	      YYDSYMPRINT ((stderr,
+			    yystos[*yyssp],
+			    *yyvsp));
+	      YYDPRINTF ((stderr, "\n"));
+	      yydestruct (yystos[*yyssp], *yyvsp);
+	      YYPOPSTACK;
+	    }
+	  YYABORT;
         }
-      else
-	{
-	  yydestruct ("Error: discarding", yytoken, &yylval);
-	  yychar = YYEMPTY;
-	}
+
+      YYDPRINTF ((stderr, "Discarding token %d (%s).\n",
+		  yychar, yytname[yychar1]));
+      yydestruct (yychar1, yylval);
+      yychar = YYEMPTY;
     }
 
-  /* Else will try to reuse look-ahead token after shifting the error
+  /* Else will try to reuse lookahead token after shifting the error
      token.  */
-  goto yyerrlab1;
-
-
-/*---------------------------------------------------.
-| yyerrorlab -- error raised explicitly by YYERROR.  |
-`---------------------------------------------------*/
-yyerrorlab:
-
-  /* Pacify compilers like GCC when the user code never invokes
-     YYERROR and the label yyerrorlab therefore never appears in user
-     code.  */
-  if (0)
-     goto yyerrorlab;
-
-yyvsp -= yylen;
-  yyssp -= yylen;
-  yystate = *yyssp;
-  goto yyerrlab1;
 
-
-/*-------------------------------------------------------------.
-| yyerrlab1 -- common code for both syntax error and YYERROR.  |
-`-------------------------------------------------------------*/
-yyerrlab1:
   yyerrstatus = 3;	/* Each real token shifted decrements this.  */
 
   for (;;)
@@ -5783,21 +5554,35 @@
       if (yyssp == yyss)
 	YYABORT;
 
+      YYDPRINTF ((stderr, "Error: popping "));
+      YYDSYMPRINT ((stderr,
+		    yystos[*yyssp], *yyvsp));
+      YYDPRINTF ((stderr, "\n"));
+
+      yydestruct (yystos[yystate], *yyvsp);
+      yyvsp--;
+      yystate = *--yyssp;
+
 
-      yydestruct ("Error: popping", yystos[yystate], yyvsp);
-      YYPOPSTACK;
-      yystate = *yyssp;
-      YY_STACK_PRINT (yyss, yyssp);
+#if YYDEBUG
+      if (yydebug)
+	{
+	  short *yyssp1 = yyss - 1;
+	  YYFPRINTF (stderr, "Error: state stack now");
+	  while (yyssp1 != yyssp)
+	    YYFPRINTF (stderr, " %d", *++yyssp1);
+	  YYFPRINTF (stderr, "\n");
+	}
+#endif
     }
 
   if (yyn == YYFINAL)
     YYACCEPT;
 
-  *++yyvsp = yylval;
+  YYDPRINTF ((stderr, "Shifting error token, "));
 
+  *++yyvsp = yylval;
 
-  /* Shift the error token. */
-  YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp);
 
   yystate = yyn;
   goto yynewstate;
@@ -5818,25 +5603,16 @@
   goto yyreturn;
 
 #ifndef yyoverflow
-/*-------------------------------------------------.
-| yyexhaustedlab -- memory exhaustion comes here.  |
-`-------------------------------------------------*/
-yyexhaustedlab:
-  yyerror (YY_("memory exhausted"));
+/*----------------------------------------------.
+| yyoverflowlab -- parser overflow comes here.  |
+`----------------------------------------------*/
+yyoverflowlab:
+  yyerror ("parser stack overflow");
   yyresult = 2;
   /* Fall through.  */
 #endif
 
 yyreturn:
-  if (yychar != YYEOF && yychar != YYEMPTY)
-     yydestruct ("Cleanup: discarding lookahead",
-		 yytoken, &yylval);
-  while (yyssp != yyss)
-    {
-      yydestruct ("Cleanup: popping",
-		  yystos[*yyssp], yyvsp);
-      YYPOPSTACK;
-    }
 #ifndef yyoverflow
   if (yyss != yyssa)
     YYSTACK_FREE (yyss);
@@ -5845,7 +5621,7 @@
 }
 
 
-#line 2869 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 2869 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
 
 
 // common code from the two 'RunVMAsmParser' functions


Index: llvm/lib/AsmParser/llvmAsmParser.h.cvs
diff -u llvm/lib/AsmParser/llvmAsmParser.h.cvs:1.44 llvm/lib/AsmParser/llvmAsmParser.h.cvs:1.45
--- llvm/lib/AsmParser/llvmAsmParser.h.cvs:1.44	Tue Jan 16 20:48:45 2007
+++ llvm/lib/AsmParser/llvmAsmParser.h.cvs	Sun Jan 21 13:19:31 2007
@@ -1,7 +1,7 @@
-/* A Bison parser, made by GNU Bison 2.1.  */
+/* A Bison parser, made from /usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y, by GNU bison 1.75.  */
 
 /* Skeleton parser for Yacc-like parsing with Bison,
-   Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
+   Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -15,14 +15,17 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor,
-   Boston, MA 02110-1301, USA.  */
+   Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
 
 /* As a special exception, when this file is copied by Bison into a
    Bison output file, you may use that output file without restriction.
    This special exception was added by the Free Software Foundation
    in version 1.24 of Bison.  */
 
+#ifndef BISON_LLVMASMPARSER_TAB_H
+# define BISON_LLVMASMPARSER_TAB_H
+
 /* Tokens.  */
 #ifndef YYTOKENTYPE
 # define YYTOKENTYPE
@@ -161,7 +164,6 @@
      HIDDEN = 387
    };
 #endif
-/* Tokens.  */
 #define ESINT64VAL 258
 #define EUINT64VAL 259
 #define SINTVAL 260
@@ -296,9 +298,9 @@
 
 
 
-#if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED)
-#line 883 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
-typedef union YYSTYPE {
+#ifndef YYSTYPE
+#line 883 "/usr/home/jeffc/llvm/lib/AsmParser/llvmAsmParser.y"
+typedef union {
   llvm::Module                           *ModuleVal;
   llvm::Function                         *FunctionVal;
   llvm::BasicBlock                       *BasicBlockVal;
@@ -343,15 +345,14 @@
   llvm::Module::Endianness          Endianness;
   llvm::ICmpInst::Predicate         IPredicate;
   llvm::FCmpInst::Predicate         FPredicate;
-} YYSTYPE;
-/* Line 1447 of yacc.c.  */
-#line 349 "llvmAsmParser.tab.h"
-# define yystype YYSTYPE /* obsolescent; will be withdrawn */
-# define YYSTYPE_IS_DECLARED 1
-# define YYSTYPE_IS_TRIVIAL 1
+} yystype;
+/* Line 1237 of /usr/local/share/bison/yacc.c.  */
+#line 351 "llvmAsmParser.tab.h"
+# define YYSTYPE yystype
 #endif
 
 extern YYSTYPE llvmAsmlval;
 
 
+#endif /* not BISON_LLVMASMPARSER_TAB_H */
 


Index: llvm/lib/AsmParser/llvmAsmParser.y
diff -u llvm/lib/AsmParser/llvmAsmParser.y:1.311 llvm/lib/AsmParser/llvmAsmParser.y:1.312
--- llvm/lib/AsmParser/llvmAsmParser.y:1.311	Tue Jan 16 20:47:33 2007
+++ llvm/lib/AsmParser/llvmAsmParser.y	Sun Jan 21 13:19:31 2007
@@ -1843,7 +1843,7 @@
   ;
 
 Definition 
-  : DEFINE { CurFun.isDeclare = false } Function {
+  : DEFINE { CurFun.isDeclare = false; } Function {
     CurFun.FunctionDone();
     CHECK_FOR_ERROR
   }


Index: llvm/lib/AsmParser/llvmAsmParser.y.cvs
diff -u llvm/lib/AsmParser/llvmAsmParser.y.cvs:1.57 llvm/lib/AsmParser/llvmAsmParser.y.cvs:1.58
--- llvm/lib/AsmParser/llvmAsmParser.y.cvs:1.57	Tue Jan 16 20:48:45 2007
+++ llvm/lib/AsmParser/llvmAsmParser.y.cvs	Sun Jan 21 13:19:31 2007
@@ -1843,7 +1843,7 @@
   ;
 
 Definition 
-  : DEFINE { CurFun.isDeclare = false } Function {
+  : DEFINE { CurFun.isDeclare = false; } Function {
     CurFun.FunctionDone();
     CHECK_FOR_ERROR
   }






More information about the llvm-commits mailing list