For PR786:
authorReid Spencer <rspencer@reidspencer.com>
Thu, 2 Nov 2006 20:25:50 +0000 (20:25 +0000)
committerReid Spencer <rspencer@reidspencer.com>
Thu, 2 Nov 2006 20:25:50 +0000 (20:25 +0000)
Turn on -Wunused and -Wno-unused-parameter. Clean up most of the resulting
fall out by removing unused variables. Remaining warnings have to do with
unused functions (I didn't want to delete code without review) and unused
variables in generated code. Maintainers should clean up the remaining
issues when they see them. All changes pass DejaGnu tests and Olden.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31380 91177308-0d34-0410-b5e6-96231b3b80d8

80 files changed:
Makefile.rules
lib/Analysis/BasicAliasAnalysis.cpp
lib/Analysis/DataStructure/DataStructure.cpp
lib/Analysis/DataStructure/EquivClassGraphs.cpp
lib/Analysis/DataStructure/Local.cpp
lib/Analysis/IPA/Andersens.cpp
lib/AsmParser/Lexer.cpp.cvs
lib/AsmParser/Lexer.l.cvs
lib/AsmParser/llvmAsmParser.cpp.cvs
lib/AsmParser/llvmAsmParser.h.cvs
lib/AsmParser/llvmAsmParser.y.cvs
lib/Bytecode/Reader/Reader.cpp
lib/Bytecode/Writer/Writer.cpp
lib/CodeGen/BranchFolding.cpp
lib/CodeGen/DwarfWriter.cpp
lib/CodeGen/ELFWriter.cpp
lib/CodeGen/LiveInterval.cpp
lib/CodeGen/LiveIntervalAnalysis.cpp
lib/CodeGen/LiveVariables.cpp
lib/CodeGen/SelectionDAG/DAGCombiner.cpp
lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
lib/CodeGen/SelectionDAG/ScheduleDAGRRList.cpp
lib/CodeGen/SelectionDAG/ScheduleDAGSimple.cpp
lib/CodeGen/SelectionDAG/SelectionDAG.cpp
lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
lib/CodeGen/SelectionDAG/TargetLowering.cpp
lib/Debugger/ProgramInfo.cpp
lib/ExecutionEngine/JIT/JITEmitter.cpp
lib/Linker/LinkArchives.cpp
lib/Target/Alpha/AlphaAsmPrinter.cpp
lib/Target/Alpha/AlphaCodeEmitter.cpp
lib/Target/Alpha/AlphaISelDAGToDAG.cpp
lib/Target/Alpha/AlphaISelLowering.cpp
lib/Target/CBackend/CBackend.cpp
lib/Target/CBackend/Writer.cpp
lib/Target/IA64/IA64ISelDAGToDAG.cpp
lib/Target/PowerPC/PPCAsmPrinter.cpp
lib/Target/PowerPC/PPCCodeEmitter.cpp
lib/Target/PowerPC/PPCISelDAGToDAG.cpp
lib/Target/PowerPC/PPCISelLowering.cpp
lib/Target/PowerPC/PPCMachOWriter.cpp
lib/Target/PowerPC/PPCRegisterInfo.cpp
lib/Target/Sparc/SparcAsmPrinter.cpp
lib/Target/X86/X86FloatingPoint.cpp
lib/Target/X86/X86ISelLowering.cpp
lib/Target/X86/X86IntelAsmPrinter.cpp
lib/Transforms/ExprTypeConvert.cpp
lib/Transforms/IPO/ArgumentPromotion.cpp
lib/Transforms/IPO/GlobalOpt.cpp
lib/Transforms/IPO/IndMemRemoval.cpp
lib/Transforms/IPO/InlineSimple.cpp
lib/Transforms/IPO/Inliner.cpp
lib/Transforms/IPO/LowerSetJmp.cpp
lib/Transforms/IPO/SimplifyLibCalls.cpp
lib/Transforms/Instrumentation/RSProfiling.cpp
lib/Transforms/Instrumentation/TraceBasicBlocks.cpp
lib/Transforms/Scalar/CorrelatedExprs.cpp
lib/Transforms/Scalar/InstructionCombining.cpp
lib/Transforms/Scalar/LoopStrengthReduce.cpp
lib/Transforms/Scalar/LoopUnroll.cpp
lib/Transforms/Scalar/LoopUnswitch.cpp
lib/Transforms/Scalar/SCCP.cpp
lib/Transforms/Scalar/ScalarReplAggregates.cpp
lib/Transforms/Scalar/TailRecursionElimination.cpp
lib/Transforms/Utils/CloneFunction.cpp
lib/Transforms/Utils/LoopSimplify.cpp
lib/Transforms/Utils/LowerInvoke.cpp
lib/Transforms/Utils/SimplifyCFG.cpp
lib/VMCore/AsmWriter.cpp
projects/Stacker/lib/compiler/StackerCompiler.cpp
runtime/GCCLibraries/crtend/Makefile
runtime/GCCLibraries/libm/Makefile
tools/bugpoint/CrashDebugger.cpp
tools/bugpoint/Miscompilation.cpp
tools/llvm-ar/llvm-ar.cpp
tools/llvm-bcanalyzer/llvm-bcanalyzer.cpp
tools/llvm2cpp/CppWriter.cpp
tools/llvmc/CompilerDriver.cpp
tools/opt/opt.cpp
utils/PerfectShuffle/PerfectShuffle.cpp

index f9b1f3d22c06decde23cadf348d52cfc49924eca..5af82a82efeff13722768d01c664c91f0ed5a406 100644 (file)
@@ -382,8 +382,8 @@ endif
 # Options To Invoke Tools
 #----------------------------------------------------------
 
-CompileCommonOpts := -Wall -W -Wwrite-strings -Wno-unused -Wno-long-long \
-                     -pedantic $(EXTRA_OPTIONS)
+CompileCommonOpts := -pedantic -Wall -W -Wwrite-strings -Wno-long-long \
+                     -Wunused -Wno-unused-parameter $(EXTRA_OPTIONS)
 
 ifeq ($(OS),HP-UX)
   CompileCommonOpts := -D_REENTRANT -D_HPUX_SOURCE
index 8d4cbdb93d72ae912fe6d52bb12c9f1722743bdb..d97472928973d10d78c6932eb1b318a1a509bdcb 100644 (file)
@@ -399,7 +399,7 @@ BasicAliasAnalysis::alias(const Value *V1, unsigned V1Size,
   }
 
   if (V1Size != ~0U && V2Size != ~0U)
-    if (const User *GEP = isGEP(V1)) {
+    if (isGEP(V1)) {
       std::vector<Value*> GEPOperands;
       const Value *BasePtr = GetGEPOperands(V1, GEPOperands);
 
index 8acbe8e26b86ee2dba8f3b6765b3d0d1cf7214d7..169cd659e5dc9c98768398d2699254bdda58733a 100644 (file)
@@ -512,7 +512,6 @@ bool DSNode::mergeTypeInfo(const Type *NewTy, unsigned Offset,
       // try merge with NewTy: struct {t1, t2, stuff...} if offset lands exactly on a field in Ty
       if (isa<StructType>(NewTy) && isa<StructType>(Ty)) {
         DEBUG(std::cerr << "Ty: " << *Ty << "\nNewTy: " << *NewTy << "@" << Offset << "\n");
-        unsigned O = 0;
         const StructType *STy = cast<StructType>(Ty);
         const StructLayout &SL = *TD.getStructLayout(STy);
         unsigned i = SL.getElementContainingOffset(Offset);
@@ -537,7 +536,6 @@ bool DSNode::mergeTypeInfo(const Type *NewTy, unsigned Offset,
       //try merge with NewTy: struct : {t1, t2, T} if offset lands on a field in Ty
       if (isa<StructType>(Ty)) {
         DEBUG(std::cerr << "Ty: " << *Ty << "\nNewTy: " << *NewTy << "@" << Offset << "\n");
-        unsigned O = 0;
         const StructType *STy = cast<StructType>(Ty);
         const StructLayout &SL = *TD.getStructLayout(STy);
         unsigned i = SL.getElementContainingOffset(Offset);
@@ -1280,9 +1278,9 @@ DSNode *DSGraph::addObjectToGraph(Value *Ptr, bool UseDeclaredType) {
 
   if (GlobalValue *GV = dyn_cast<GlobalValue>(Ptr)) {
     N->addGlobal(GV);
-  } else if (MallocInst *MI = dyn_cast<MallocInst>(Ptr)) {
+  } else if (isa<MallocInst>(Ptr)) {
     N->setHeapNodeMarker();
-  } else if (AllocaInst *AI = dyn_cast<AllocaInst>(Ptr)) {
+  } else if (isa<AllocaInst>(Ptr)) {
     N->setAllocaNodeMarker();
   } else {
     assert(0 && "Illegal memory object input!");
@@ -1777,8 +1775,10 @@ static void removeIdenticalCalls(std::list<DSCallSite> &Calls) {
 
   // Scan the call list cleaning it up as necessary...
   DSNodeHandle LastCalleeNode;
+#if 0
   Function *LastCalleeFunc = 0;
   unsigned NumDuplicateCalls = 0;
+#endif
   bool LastCalleeContainsExternalFunction = false;
 
   unsigned NumDeleted = 0;
@@ -2187,7 +2187,6 @@ void DSGraph::removeDeadNodes(unsigned Flags) {
   } while (Iterate);
 
   // Move dead aux function calls to the end of the list
-  unsigned CurIdx = 0;
   for (std::list<DSCallSite>::iterator CI = AuxFunctionCalls.begin(),
          E = AuxFunctionCalls.end(); CI != E; )
     if (AuxFCallsAlive.count(&*CI))
index 9126ef9814653c6d16e3433ef29266422e1a26fe..e28f4210b0d71017a8cfdb3b4b43fdd7cfbf5bfd 100644 (file)
@@ -256,8 +256,6 @@ void EquivClassGraphs::buildIndirectFunctionSets(Module &M) {
 
     for (++SI; SI != FuncECs.member_end(); ++SI) {
       Function *F = *SI;
-      DSGraph *&FG = DSInfo[F];
-
       DSGraph &CBUGraph = CBU->getDSGraph(*F);
       if (GraphsMerged.insert(&CBUGraph).second) {
         // Record the "folded" graph for the function.
index f0bb22c3bc9687225cf813adf62f9a3548151e12..d9e171bea41dc11eb74cc7a1ac1b83ab8c386f7b 100644 (file)
@@ -409,7 +409,7 @@ void GraphBuilder::visitGetElementPtrInst(User &GEP) {
       unsigned FieldNo =
            (unsigned)cast<ConstantInt>(I.getOperand())->getZExtValue();
       Offset += (unsigned)TD.getStructLayout(STy)->MemberOffsets[FieldNo];
-    } else if (const PointerType *PTy = dyn_cast<PointerType>(*I)) {
+    } else if (isa<PointerType>(*I)) {
       if (!isa<Constant>(I.getOperand()) ||
           !cast<Constant>(I.getOperand())->isNullValue())
         Value.getNode()->setArrayMarker();
index bb3f25427c8f2567e1bc9a6ddf87c840a3ba1807..de6cb5a6b214048e76c4244c8453d7166e86007d 100644 (file)
@@ -374,7 +374,6 @@ Andersens::getModRefInfo(CallSite CS, Value *P, unsigned Size) {
   if (Function *F = CS.getCalledFunction())
     if (F->isExternal()) {
       Node *N1 = getNode(P);
-      bool PointsToUniversalSet = false;
 
       if (N1->begin() == N1->end())
         return NoModRef;  // P doesn't point to anything.
index 5791e2b1eab506040845a7fdf21e54b8f9642e29..d11bfa03b38cb99526144a4d367894b0c83c4b6d 100644 (file)
@@ -17,7 +17,7 @@
 #define yylineno llvmAsmlineno
 
 #line 20 "Lexer.cpp"
-/* A lexical scanner generated by flex */
+/* A lexical scanner generated by flex*/
 
 /* Scanner skeleton version:
  * $Header$
@@ -28,6 +28,7 @@
 #define YY_FLEX_MINOR_VERSION 5
 
 #include <stdio.h>
+#include <unistd.h>
 
 
 /* cfront 1.2 defines "c_plusplus" instead of "__cplusplus" */
@@ -41,7 +42,6 @@
 #ifdef __cplusplus
 
 #include <stdlib.h>
-#include <unistd.h>
 
 /* Use prototypes in function declarations. */
 #define YY_USE_PROTOS
@@ -153,6 +153,15 @@ extern FILE *yyin, *yyout;
 
 #define unput(c) yyunput( c, yytext_ptr )
 
+/* Some routines like yy_flex_realloc() are emitted as static but are
+   not called by all lexers. This generates warnings in some compilers,
+   notably GCC. Arrange to suppress these. */
+#ifdef __GNUC__
+#define YY_MAY_BE_UNUSED __attribute__((unused))
+#else
+#define YY_MAY_BE_UNUSED
+#endif
+
 /* The following is because we cannot portably get our hands on size_t
  * (without autoconf's help, which isn't available because we want
  * flex-generated scanners to compile on their own).
@@ -259,7 +268,7 @@ YY_BUFFER_STATE yy_scan_string YY_PROTO(( yyconst char *yy_str ));
 YY_BUFFER_STATE yy_scan_bytes YY_PROTO(( yyconst char *bytes, int len ));
 
 static void *yy_flex_alloc YY_PROTO(( yy_size_t ));
-static inline void *yy_flex_realloc YY_PROTO(( void *, yy_size_t ));
+static inline void *yy_flex_realloc YY_PROTO(( void *, yy_size_t )) YY_MAY_BE_UNUSED;
 static void yy_flex_free YY_PROTO(( void * ));
 
 #define yy_new_buffer yy_create_buffer
@@ -308,35 +317,35 @@ static void yy_fatal_error YY_PROTO(( yyconst char msg[] ));
        *yy_cp = '\0'; \
        yy_c_buf_p = yy_cp;
 
-#define YY_NUM_RULES 114
-#define YY_END_OF_BUFFER 115
-static yyconst short int yy_acclist[192] =
+#define YY_NUM_RULES 120
+#define YY_END_OF_BUFFER 121
+static yyconst short int yy_acclist[198] =
     {   0,
-      115,  113,  114,  112,  113,  114,  112,  114,  113,  114,
-      113,  114,  113,  114,  113,  114,  113,  114,  113,  114,
-      105,  113,  114,  105,  113,  114,    1,  113,  114,  113,
-      114,  113,  114,  113,  114,  113,  114,  113,  114,  113,
-      114,  113,  114,  113,  114,  113,  114,  113,  114,  113,
-      114,  113,  114,  113,  114,  113,  114,  113,  114,  113,
-      114,  113,  114,  113,  114,  113,  114,  113,  114,  113,
-      114,  104,  102,  101,  101,  108,  106,  110,  105,    1,
-       87,   41,   69,   23,  104,  101,  101,  109,  110,   20,
-      110,  111,   63,   68,   39,   34,   42,   66,    3,   54,
-
-       65,   25,   77,   67,   86,   81,   82,   64,   70,  103,
-      110,  110,   49,   78,   79,   94,   95,   56,   22,  107,
-       26,    4,   61,   55,   48,   11,  110,   36,    2,    5,
-       58,   60,   50,   72,   76,   74,   75,   73,   71,   52,
-       96,   51,   57,   21,   84,   93,   45,   59,   30,   24,
-       44,    7,   89,   33,   92,   38,   62,   80,   88,   27,
-       28,   90,   53,   85,   83,   43,    6,   29,   37,    8,
-       17,    9,   10,   35,   12,   14,   13,   32,   40,   15,
-       31,   91,   97,   99,  100,   16,   46,   98,   18,   47,
-       19
+      121,  119,  120,  118,  119,  120,  118,  120,  119,  120,
+      119,  120,  119,  120,  119,  120,  119,  120,  119,  120,
+      111,  119,  120,  111,  119,  120,    1,  119,  120,  119,
+      120,  119,  120,  119,  120,  119,  120,  119,  120,  119,
+      120,  119,  120,  119,  120,  119,  120,  119,  120,  119,
+      120,  119,  120,  119,  120,  119,  120,  119,  120,  119,
+      120,  119,  120,  119,  120,  119,  120,  119,  120,  119,
+      120,  110,  108,  107,  107,  114,  112,  116,  111,    1,
+       93,   41,   75,   23,  110,  107,  107,  115,  116,   20,
+      116,  117,   63,   74,   39,   34,   42,   66,    3,   54,
+
+       65,   25,   83,   70,   92,   87,   88,   64,   76,  109,
+      116,  116,   49,   84,   85,   69,  100,   73,  101,   56,
+       22,  113,   68,   72,   26,    4,   61,   67,   55,   71,
+       48,   11,  116,   36,    2,    5,   58,   60,   50,   78,
+       82,   80,   81,   79,   77,   52,  102,   51,   57,   21,
+       90,   99,   45,   59,   30,   24,   44,    7,   95,   33,
+       98,   38,   62,   86,   94,   27,   28,   96,   53,   91,
+       89,   43,    6,   29,   37,    8,   17,    9,   10,   35,
+       12,   14,   13,   32,   40,   15,   31,   97,  103,  105,
+      106,   16,   46,  104,   18,   47,   19
 
     } ;
 
-static yyconst short int yy_accept[511] =
+static yyconst short int yy_accept[527] =
     {   0,
         1,    1,    1,    2,    4,    7,    9,   11,   13,   15,
        17,   19,   21,   24,   27,   30,   32,   34,   36,   38,
@@ -346,54 +355,56 @@ static yyconst short int yy_accept[511] =
        81,   81,   81,   81,   81,   81,   81,   81,   81,   82,
        82,   83,   83,   83,   83,   83,   83,   83,   83,   83,
        83,   83,   83,   83,   83,   83,   83,   83,   83,   83,
-       83,   83,   83,   83,   83,   83,   83,   84,   84,   84,
+       83,   83,   83,   83,   83,   83,   83,   83,   84,   84,
        84,   84,   84,   84,   84,   84,   84,   84,   84,   84,
 
-       85,   85,   85,   85,   85,   85,   85,   85,   85,   85,
-       85,   85,   85,   85,   86,   87,   89,   90,   91,   92,
-       92,   93,   94,   94,   94,   95,   95,   96,   96,   97,
-       97,   97,   97,   98,   98,   98,   98,   98,   98,   98,
-       99,   99,   99,  100,  100,  100,  100,  100,  100,  100,
-      100,  100,  100,  100,  101,  101,  101,  101,  101,  101,
-      101,  101,  101,  102,  103,  103,  103,  104,  104,  105,
-      106,  106,  106,  106,  106,  106,  107,  107,  108,  108,
-      108,  108,  109,  109,  109,  109,  109,  109,  109,  109,
+       84,   84,   84,   85,   85,   85,   85,   85,   85,   85,
+       85,   85,   85,   85,   85,   85,   85,   85,   85,   86,
+       87,   89,   90,   91,   92,   92,   93,   94,   94,   94,
+       95,   95,   96,   96,   97,   97,   97,   97,   98,   98,
+       98,   98,   98,   98,   98,   99,   99,   99,  100,  100,
+      100,  100,  100,  100,  100,  100,  100,  100,  100,  100,
+      101,  101,  101,  101,  101,  101,  101,  101,  101,  102,
+      103,  103,  103,  104,  104,  105,  106,  106,  106,  106,
+      106,  106,  106,  107,  107,  108,  108,  108,  108,  108,
       109,  109,  109,  109,  109,  109,  109,  109,  109,  109,
 
+      109,  109,  109,  109,  109,  109,  109,  109,  109,  109,
       109,  109,  109,  109,  110,  110,  111,  112,  112,  112,
       112,  113,  113,  113,  113,  113,  114,  115,  116,  116,
       116,  116,  116,  116,  116,  116,  116,  116,  116,  116,
-      116,  116,  116,  116,  116,  117,  117,  117,  117,  117,
-      117,  117,  117,  117,  117,  118,  119,  119,  119,  120,
-      120,  120,  121,  121,  121,  121,  121,  121,  121,  121,
-      121,  121,  121,  121,  121,  122,  122,  122,  123,  124,
-      124,  125,  125,  125,  125,  125,  125,  125,  125,  125,
-      125,  126,  126,  127,  127,  127,  128,  129,  129,  129,
-      130,  130,  130,  130,  130,  130,  130,  130,  130,  130,
-
-      130,  130,  130,  130,  131,  131,  132,  132,  132,  132,
-      132,  132,  132,  133,  133,  133,  133,  133,  133,  133,
-      134,  134,  134,  135,  136,  137,  138,  139,  140,  141,
-      141,  141,  142,  142,  142,  142,  143,  144,  145,  145,
-      145,  145,  145,  145,  146,  146,  146,  146,  146,  146,
-      147,  147,  148,  148,  148,  148,  148,  148,  148,  148,
-      149,  150,  151,  151,  151,  152,  152,  153,  153,  153,
-      153,  154,  154,  155,  156,  157,  158,  158,  158,  159,
-      159,  159,  160,  161,  162,  162,  162,  163,  164,  165,
-      166,  166,  166,  166,  166,  166,  166,  167,  167,  168,
-
-      169,  169,  169,  169,  169,  169,  169,  169,  169,  169,
-      169,  169,  170,  170,  170,  170,  170,  170,  170,  170,
-      170,  170,  171,  171,  171,  171,  171,  172,  172,  172,
-      172,  172,  173,  174,  174,  174,  174,  174,  174,  175,
-      175,  175,  175,  176,  176,  177,  178,  178,  178,  178,
-      178,  178,  178,  178,  178,  178,  178,  178,  178,  178,
-      179,  179,  179,  179,  179,  179,  179,  179,  180,  180,
-      180,  180,  180,  180,  181,  181,  181,  181,  181,  182,
-      182,  182,  183,  183,  183,  183,  183,  183,  183,  183,
-      183,  183,  183,  183,  183,  183,  184,  184,  185,  186,
-
-      187,  187,  188,  188,  189,  190,  191,  191,  192,  192
+      116,  116,  116,  116,  117,  117,  118,  119,  119,  119,
+      119,  119,  119,  119,  119,  119,  119,  120,  121,  121,
+      121,  122,  122,  122,  123,  123,  124,  124,  124,  124,
+      124,  124,  124,  124,  124,  124,  125,  125,  125,  126,
+      126,  126,  127,  128,  128,  129,  130,  130,  130,  130,
+      130,  130,  131,  131,  131,  131,  131,  132,  132,  133,
+
+      133,  133,  134,  135,  135,  135,  136,  136,  136,  136,
+      136,  136,  136,  136,  136,  136,  136,  136,  136,  136,
+      137,  137,  138,  138,  138,  138,  138,  138,  138,  139,
+      139,  139,  139,  139,  139,  139,  140,  140,  140,  141,
+      142,  143,  144,  145,  146,  147,  147,  147,  148,  148,
+      148,  148,  149,  150,  151,  151,  151,  151,  151,  151,
+      152,  152,  152,  152,  152,  152,  153,  153,  154,  154,
+      154,  154,  154,  154,  154,  154,  155,  156,  157,  157,
+      157,  158,  158,  159,  159,  159,  159,  160,  160,  161,
+      162,  163,  164,  164,  164,  165,  165,  165,  166,  167,
+
+      168,  168,  168,  169,  170,  171,  172,  172,  172,  172,
+      172,  172,  172,  173,  173,  174,  175,  175,  175,  175,
+      175,  175,  175,  175,  175,  175,  175,  175,  176,  176,
+      176,  176,  176,  176,  176,  176,  176,  176,  177,  177,
+      177,  177,  177,  178,  178,  178,  178,  178,  179,  180,
+      180,  180,  180,  180,  180,  181,  181,  181,  181,  182,
+      182,  183,  184,  184,  184,  184,  184,  184,  184,  184,
+      184,  184,  184,  184,  184,  184,  185,  185,  185,  185,
+      185,  185,  185,  185,  186,  186,  186,  186,  186,  186,
+      187,  187,  187,  187,  187,  188,  188,  188,  189,  189,
+
+      189,  189,  189,  189,  189,  189,  189,  189,  189,  189,
+      189,  189,  190,  190,  191,  192,  193,  193,  194,  194,
+      195,  196,  197,  197,  198,  198
     } ;
 
 static yyconst int yy_ec[256] =
@@ -437,260 +448,265 @@ static yyconst int yy_meta[44] =
         3,    3,    3
     } ;
 
-static yyconst short int yy_base[515] =
+static yyconst short int yy_base[531] =
     {   0,
-        0,    0, 1108, 1109, 1109, 1109, 1103, 1092,   36,   40,
+        0,    0, 1140, 1141, 1141, 1141, 1135, 1124,   36,   40,
        44,   50,   56,   62,    0,   63,   66,   81,   89,   47,
-       90,   91,   76,   96,  108,   49,   97,  110,   68,  137,
-      120,  168,  112,  115,  135,  127, 1101, 1109, 1090, 1109,
-        0,  158,  173,  180,  196,   70,  201,  216,  221,    0,
-      121,  152,  123,  139,  166,  140,  162,  184, 1089,  222,
-      180,   31,  186,  119,  232,  208,  144,  225,  234,  236,
-      235,  188,  238,  240,  246,  241,  245,  203,  248,  256,
-      254,  258,  262,  252,  272,  274, 1088,  276,  278,  280,
-      255,  253,  283,  284,  285,  286,  288,  297,  300, 1087,
-
-      301,  292,  295,  307,  309,  318,  316,  315,  322,  312,
-      147,  329,  330, 1086,    0,  344,  349, 1085,  363,  380,
-        0, 1084,  338,  336, 1083,  355, 1082,  356, 1081,  353,
-      367,  334, 1080,  375,  365,  381,  384,  370,  371, 1079,
-      388,  392,  391,  393,  394,  395,  396,  400,  399,  407,
-      406,  409,  411,  413,  410,  414,  418,  421,  425,  426,
-      427,  429, 1078, 1077,  430,  431, 1076,  435, 1075, 1074,
-      458,  436,  439,  434,  469, 1073,  449, 1072,  438,  441,
-      458, 1071,  471,  472,  474,  473,  481,  482,  475,  476,
-      483,  488,  489,  493,  495,  496,  504,  501,  503,  505,
-
-      510,  507,  516, 1070,  511, 1109,  527,  541,  545,  549,
-      554,  555,  440,  556,  557, 1069, 1068, 1067,  558,  559,
-      560,  517,  528,  518,  561,  189,  562,  563,  566,  569,
-      570,  567,  564,  578, 1066,  579,  581,  580,  584,  587,
-      592,  595,  591,  596, 1065, 1064,  597,  598, 1063,  593,
-      599,    0,  603,  607,  614,  604,  616,  618,  619,  600,
-      626,  629,  631,  630, 1062,  633,  632, 1061, 1060,  634,
-     1059,  635,  644,  645,  648,  649,  650,  651,  652,  655,
-     1058,  656, 1057,  659,  657,  677, 1056,  660,  519, 1055,
-      661,  662,  677,  678,  664,  680,  687,  688,  689,  691,
-
-      690,  692,  693, 1054,  694, 1053,  695,  696,  699,  697,
-      702,  703, 1052,  705,  714,  710,  716,  718,  721, 1051,
-      724,  726, 1050, 1049, 1048, 1047, 1046, 1045, 1044,  728,
-      729, 1043,  732,  731,  736, 1042, 1041, 1040,  733,  734,
-      738,  735,  737, 1039,  740,  747,  750,  751,  752, 1038,
-      753, 1037,  759,  757,  761,  762,  765,  767,  768, 1036,
-     1035, 1034,  773,  770, 1033,  772, 1032,  775,  781,  791,
-     1031,  792, 1030, 1029, 1028, 1027,  779,  780, 1026,  794,
-      795, 1025, 1024, 1023,  798,  801, 1022, 1021, 1020, 1019,
-      802,  782,  806,  807,  808,  809, 1018,  810, 1017, 1016,
-
-      812,  815,  816,  819,  818,  821,  822,  823,  826,  831,
-      824, 1015,  829,  835,  843,  845,  847,  837,  851,  849,
-      852, 1014,  853,  855,  857,  859, 1013,  861,  862,  864,
-      865, 1012, 1011,  869,  866,  881,  870,  867, 1010,  883,
-      884,  886, 1007,  871,  998,  997,  891,  892,  893,  895,
-      897,  898,  902,  903,  904,  905,  906,  907,  910,  995,
-      914,  908,  912,  918,  921,  923,  919,  994,  925,  929,
-      933,  934,  935,  992,  936,  937,  939,  940,  990,  943,
-      944,  989,  947,  951,  946,  955,  956,  963,  964,  965,
-      966,  968,  969,  967,  970,  985,  971,  984,  983,  979,
-
-      973,  783,  982,  602,  477,  446,  978,  333, 1109, 1013,
-     1015,   83, 1019,   80
+      100,   97,   76,   96,  111,   49,  113,  110,   68,  140,
+      126,  171,  119,  118,  139,  133, 1133, 1141, 1122, 1141,
+        0,  176,  184,  199,  204,   70,  209,  224,  229,    0,
+      117,  130,  150,   72,  160,  151,  159,  123, 1121,  230,
+      178,   31,   69,  168,  240,   95,  233,  165,  241,  243,
+      242,  156,  244,  246,  187,  251,  253,  254,  211,  258,
+      256,  263,  260,  265,  190,  267,  283, 1120,  271,  274,
+      270,  285,  289,  290,  291,  292,  294,  295,  297,  299,
+
+      296,  308, 1119,  311,  300,  318,  320,  322,  323,  330,
+      325,  328,  327,  337,  342,  216,  336,  345, 1118,    0,
+      362,  366, 1117,  380,  397,    0, 1116,  370,  349, 1115,
+      373, 1114,  355, 1113,  371,  372,  384, 1112,  392,  326,
+      399,  398,  401,  402, 1111,  405,  404,  406,  411,  412,
+      409,  413,  415,  422,  423,  425,  424,  426,  428,  429,
+      435,  442,  374,  443,  444,  445,  446,  447, 1110, 1109,
+      448,  449, 1108,  450, 1107, 1106,  476,  454,  455,  464,
+      459,  488, 1105,  470, 1104,  490,  489,  460,  492, 1103,
+      493,  494,  495,  496,  501,  502,  504,  507,  508,  512,
+
+      514,  517,  519,  520,  521,  518,  457,  522,  526,  530,
+      539,  540,  541, 1102,  524, 1141,  550,  564,  568,  572,
+      577,  578,  458,  579,  580, 1101, 1100, 1099,  581,  582,
+      583,  584,  550,  585,  525,  586,  589,  551,  590,  587,
+      607,  591,  594, 1098,  592, 1097, 1096,  603,  611,  610,
+      593,  613,  617,  620,  621,  622, 1095, 1094,  623,  625,
+     1093,  624,  626,    0,  627, 1092,  629,  638,  630,  643,
+      644,  646,  628,  647,  654, 1091,  656,  661, 1090,  660,
+      658, 1089, 1088,  662, 1087, 1086,  659,  664,  672,  675,
+      676, 1085,  677,  678,  679,  681, 1084,  682, 1083,  684,
+
+      683,  690, 1082,  692,  695, 1081,  700,  704,  710,  711,
+      691,  713,  701,  702,  714,  715,  718,  722,  724, 1080,
+      726, 1079,  725,  727,  728,  729,  730,  736, 1078,  737,
+      740,  743,  746,  748,  751, 1077,  735,  738, 1076, 1075,
+     1074, 1073, 1072, 1071, 1070,  756,  758, 1069,  762,  759,
+      763, 1068, 1067, 1066,  764,  766,  767,  765,  769, 1065,
+      770,  776,  778,  777,  779, 1064,  781, 1063,  784,  785,
+      786,  790,  791,  797,  798, 1062, 1061, 1060,  802,  795,
+     1059,  803, 1058,  808,  811,  804, 1057,  805, 1056, 1055,
+     1054, 1053,  810,  821, 1052,  823,  824, 1051, 1050, 1049,
+
+      822,  825, 1048, 1047, 1046, 1045,  826,  827,  828,  829,
+      830,  833, 1044,  839, 1043, 1042,  840,  843,  844,  845,
+      846,  850,  848,  851,  852,  853,  854, 1041,  858,  863,
+      868,  869,  871,  875,  877,  878,  879, 1040,  881,  885,
+      886,  882, 1037,  887,  889,  888,  894, 1028, 1026,  897,
+      895,  892,  900,  907, 1025,  912,  916,  914, 1024,  917,
+     1023, 1021,  918,  920,  922,  925,  926,  924,  928,  931,
+      933,  932,  934,  936,  938, 1020,  941,  944,  937,  948,
+      949,  950,  952, 1019,  957,  961,  962,  963,  964, 1018,
+      965,  966,  967,  968, 1013,  969,  972, 1010,  973,  976,
+
+      982,  984,  990,  991,  992,  993,  994,  996,  997,  998,
+      999, 1006, 1000,  896,  893,  633, 1005,  632, 1007,  385,
+      354,  353, 1008,  301, 1141, 1043, 1045,  226, 1049,  166
     } ;
 
-static yyconst short int yy_def[515] =
+static yyconst short int yy_def[531] =
     {   0,
-      509,    1,  509,  509,  509,  509,  510,  511,  512,  509,
-      511,  511,  511,  511,  513,  511,  511,  511,  511,  511,
-      511,  511,  511,  511,  511,  511,  511,  511,  511,  511,
-      511,  511,  511,  511,  511,  511,  510,  509,  511,  509,
-      514,  514,  509,  509,  511,  511,  511,  511,  511,  513,
-      511,  511,  511,  511,  511,  511,  511,  511,  511,  511,
-      511,  511,  511,  511,  511,  511,  511,  511,  511,  511,
-      511,  511,  511,  511,  511,  511,  511,  511,  511,  511,
-      511,  511,  511,  511,  511,  511,  511,  511,  511,  511,
-      511,  511,  511,  511,  511,  511,  511,  511,  511,  511,
-
-      511,  511,  511,  511,  511,  511,  511,  511,  511,  511,
-      511,  511,  511,  509,  514,  514,  509,  511,  511,  511,
-       49,  511,  511,  511,  511,  511,  511,  511,  511,  511,
-      511,  511,  511,  511,  511,  511,  511,  511,  511,  511,
-      511,  511,  511,  511,  511,  511,  511,  511,  511,  511,
-      511,  511,  511,  511,  511,  511,  511,  511,  511,  511,
-      511,  511,  511,  511,  511,  511,  511,  511,  511,  511,
-       49,  511,  511,  511,  511,  511,  511,  511,  511,  511,
-      511,  511,  511,  511,  511,  511,  511,  511,  511,  511,
-      511,  511,  511,  511,  511,  511,  511,  511,  511,  511,
-
-      511,  511,  511,  511,  511,  509,  509,  509,  509,  511,
-      511,  511,  511,  511,  511,  511,  511,  511,  511,  511,
-      511,  511,  511,  511,  511,  511,  511,  511,  511,  511,
-      511,  511,  511,  511,  511,  511,  511,  511,  511,  511,
-      511,  511,  511,  511,  511,  511,  511,  511,  511,  511,
-      511,  171,  511,  511,  511,  511,  511,  511,  511,  511,
-      511,  511,  511,  511,  511,  511,  511,  511,  511,  511,
-      511,  511,  511,  511,  511,  511,  511,  511,  511,  511,
-      511,  511,  511,  511,  511,  509,  511,  511,  511,  511,
-      511,  511,  511,  511,  511,  511,  511,  511,  511,  511,
-
-      511,  511,  511,  511,  511,  511,  511,  511,  511,  511,
-      511,  511,  511,  511,  511,  511,  511,  511,  511,  511,
-      511,  511,  511,  511,  511,  511,  511,  511,  511,  511,
-      511,  511,  511,  511,  511,  511,  511,  511,  511,  511,
-      511,  511,  511,  511,  511,  511,  511,  511,  511,  511,
-      511,  511,  511,  511,  511,  511,  511,  511,  511,  511,
-      511,  511,  511,  511,  511,  511,  511,  511,  511,  511,
-      511,  511,  511,  511,  511,  511,  511,  511,  511,  511,
-      511,  511,  511,  511,  511,  511,  511,  511,  511,  511,
-      511,  511,  511,  511,  511,  511,  511,  511,  511,  511,
-
-      511,  511,  511,  511,  511,  511,  511,  511,  511,  511,
-      511,  511,  511,  511,  511,  511,  511,  511,  511,  511,
-      511,  511,  511,  511,  511,  511,  511,  511,  511,  511,
-      511,  511,  511,  511,  511,  511,  511,  511,  511,  511,
-      511,  511,  511,  511,  511,  511,  511,  511,  511,  511,
-      511,  511,  511,  511,  511,  511,  511,  511,  511,  511,
-      511,  511,  511,  511,  511,  511,  511,  511,  511,  511,
-      511,  511,  511,  511,  511,  511,  511,  511,  511,  511,
-      511,  511,  511,  511,  511,  511,  511,  511,  511,  511,
-      511,  511,  511,  511,  511,  511,  511,  511,  511,  511,
-
-      511,  511,  511,  511,  511,  511,  511,  511,    0,  509,
-      509,  509,  509,  509
+      525,    1,  525,  525,  525,  525,  526,  527,  528,  525,
+      527,  527,  527,  527,  529,  527,  527,  527,  527,  527,
+      527,  527,  527,  527,  527,  527,  527,  527,  527,  527,
+      527,  527,  527,  527,  527,  527,  526,  525,  527,  525,
+      530,  530,  525,  525,  527,  527,  527,  527,  527,  529,
+      527,  527,  527,  527,  527,  527,  527,  527,  527,  527,
+      527,  527,  527,  527,  527,  527,  527,  527,  527,  527,
+      527,  527,  527,  527,  527,  527,  527,  527,  527,  527,
+      527,  527,  527,  527,  527,  527,  527,  527,  527,  527,
+      527,  527,  527,  527,  527,  527,  527,  527,  527,  527,
+
+      527,  527,  527,  527,  527,  527,  527,  527,  527,  527,
+      527,  527,  527,  527,  527,  527,  527,  527,  525,  530,
+      530,  525,  527,  527,  527,   49,  527,  527,  527,  527,
+      527,  527,  527,  527,  527,  527,  527,  527,  527,  527,
+      527,  527,  527,  527,  527,  527,  527,  527,  527,  527,
+      527,  527,  527,  527,  527,  527,  527,  527,  527,  527,
+      527,  527,  527,  527,  527,  527,  527,  527,  527,  527,
+      527,  527,  527,  527,  527,  527,   49,  527,  527,  527,
+      527,  527,  527,  527,  527,  527,  527,  527,  527,  527,
+      527,  527,  527,  527,  527,  527,  527,  527,  527,  527,
+
+      527,  527,  527,  527,  527,  527,  527,  527,  527,  527,
+      527,  527,  527,  527,  527,  525,  525,  525,  525,  527,
+      527,  527,  527,  527,  527,  527,  527,  527,  527,  527,
+      527,  527,  527,  527,  527,  527,  527,  527,  527,  527,
+      527,  527,  527,  527,  527,  527,  527,  527,  527,  527,
+      527,  527,  527,  527,  527,  527,  527,  527,  527,  527,
+      527,  527,  527,  177,  527,  527,  527,  527,  527,  527,
+      527,  527,  527,  527,  527,  527,  527,  527,  527,  527,
+      527,  527,  527,  527,  527,  527,  527,  527,  527,  527,
+      527,  527,  527,  527,  527,  527,  527,  527,  527,  527,
+
+      527,  525,  527,  527,  527,  527,  527,  527,  527,  527,
+      527,  527,  527,  527,  527,  527,  527,  527,  527,  527,
+      527,  527,  527,  527,  527,  527,  527,  527,  527,  527,
+      527,  527,  527,  527,  527,  527,  527,  527,  527,  527,
+      527,  527,  527,  527,  527,  527,  527,  527,  527,  527,
+      527,  527,  527,  527,  527,  527,  527,  527,  527,  527,
+      527,  527,  527,  527,  527,  527,  527,  527,  527,  527,
+      527,  527,  527,  527,  527,  527,  527,  527,  527,  527,
+      527,  527,  527,  527,  527,  527,  527,  527,  527,  527,
+      527,  527,  527,  527,  527,  527,  527,  527,  527,  527,
+
+      527,  527,  527,  527,  527,  527,  527,  527,  527,  527,
+      527,  527,  527,  527,  527,  527,  527,  527,  527,  527,
+      527,  527,  527,  527,  527,  527,  527,  527,  527,  527,
+      527,  527,  527,  527,  527,  527,  527,  527,  527,  527,
+      527,  527,  527,  527,  527,  527,  527,  527,  527,  527,
+      527,  527,  527,  527,  527,  527,  527,  527,  527,  527,
+      527,  527,  527,  527,  527,  527,  527,  527,  527,  527,
+      527,  527,  527,  527,  527,  527,  527,  527,  527,  527,
+      527,  527,  527,  527,  527,  527,  527,  527,  527,  527,
+      527,  527,  527,  527,  527,  527,  527,  527,  527,  527,
+
+      527,  527,  527,  527,  527,  527,  527,  527,  527,  527,
+      527,  527,  527,  527,  527,  527,  527,  527,  527,  527,
+      527,  527,  527,  527,    0,  525,  525,  525,  525,  525
     } ;
 
-static yyconst short int yy_nxt[1153] =
+static yyconst short int yy_nxt[1185] =
     {   0,
         4,    5,    6,    7,    8,    9,   10,   11,   12,   13,
        14,   14,   14,    4,   15,    8,    8,    8,   16,   17,
        18,   19,   20,   21,   22,    8,   23,    8,   24,   25,
        26,   27,   28,    8,   29,   30,   31,   32,   33,   34,
        35,    8,   36,   42,   40,   43,   43,   43,   43,   44,
-       44,   44,   44,   45,   45,   45,   45,   40,   46,  134,
-       40,  135,   40,   40,   47,   48,   48,   48,   48,   40,
-       47,   48,   48,   48,   48,   40,   40,   69,  118,   40,
-       84,   40,  115,   40,   51,   41,   85,   70,   56,   40,
-       90,   52,   57,   53,   40,   54,   49,   58,   55,   60,
-
-       59,   61,   40,   40,   40,   76,   77,   64,   71,   40,
-       40,   65,   62,   74,   78,   66,   63,   67,   72,   75,
-       68,   40,   79,   40,   73,   40,   81,   80,   40,   86,
-      108,   87,   40,   40,   40,   88,   40,  110,   99,   82,
-       40,   89,  122,  109,  125,   83,   91,  111,   40,  113,
-       40,  100,   40,   40,  101,  137,   92,   40,  203,   93,
-       40,  102,   94,   95,  128,   40,  112,  116,  116,  116,
-      116,  126,  141,   96,   97,   40,   98,   91,  123,   40,
-      124,   40,   43,   43,   43,   43,  129,  103,  117,   44,
-       44,   44,   44,   40,  104,  127,  105,   40,  106,   40,
-
-      133,   40,   40,  107,   47,   45,   45,   45,   45,   40,
-      119,  119,  119,  119,   40,  130,   40,  120,  298,  148,
-      136,   40,  156,  120,   47,   48,   48,   48,   48,   40,
-      121,  121,  121,  121,   40,   40,  121,  121,   40,  121,
-      121,  121,  121,  121,  121,   40,  140,   40,   40,   40,
-      131,   40,  138,   40,   40,  143,  144,  132,   40,   40,
-      149,   40,  142,  146,  139,   40,   40,   40,   40,   40,
-      147,   40,  145,  152,  159,   40,  150,  151,  157,  162,
-      153,  154,  161,  155,  158,   40,  160,   40,  164,   40,
-      163,   40,  166,   40,  172,  171,   40,   40,   40,   40,
-
-      165,   40,  167,  173,  168,   40,  180,  182,   40,  169,
-       40,  174,  176,   40,   40,  177,  170,  181,  178,  175,
-       40,  179,   40,  183,  188,   40,  184,  186,   40,   40,
-      202,   40,  197,  198,  185,   40,  189,  190,  187,  192,
-      191,  196,   40,   40,  193,  199,   40,   40,  200,   40,
-      201,   40,  194,  116,  116,  116,  116,  195,  207,  207,
-      207,  207,  212,  204,  205,  208,   40,  213,   40,   40,
-      218,  208,  119,  119,  119,  119,   40,  214,   40,  120,
-       40,  216,  215,   40,   40,  120,  209,  210,   40,  211,
-      211,  211,  211,   40,   40,  217,  219,   40,  223,  224,
-
-      220,   40,  222,  221,   40,   40,   40,   40,   40,   40,
-      225,  227,   40,   40,  226,  229,  230,  228,  234,   40,
-       40,  235,   40,   40,   40,  237,   40,   40,  231,  236,
-      232,   40,  233,  239,   40,  240,  242,  238,   40,   40,
-       40,  241,   40,   40,   40,  243,  245,   40,   40,   40,
-      246,   40,   40,   40,   40,  247,  255,  244,  249,   40,
-      288,  261,   40,  262,  250,  251,  248,  252,  252,  252,
-      252,   40,  253,  252,  252,  254,  252,  252,  252,  252,
-      252,  252,   40,  260,   40,   40,   40,   40,   40,   40,
-       40,  256,  263,  257,   40,   40,   40,  258,  266,  259,
-
-      265,   40,   40,  268,  269,  267,   40,  264,   40,   40,
-      273,  270,  271,  272,   40,  275,   40,   40,   40,  274,
-       40,  276,  278,   40,   40,  280,  281,  277,  282,   40,
-       40,   40,   40,  284,  283,  279,  207,  207,  207,  207,
-      351,   40,  285,  208,  296,  294,  295,  209,  209,  208,
-      286,  286,  286,  286,  286,  286,  286,  286,  211,  211,
-      211,  211,   40,  211,  211,  211,  211,   40,   40,   40,
-       40,   40,   40,   40,   40,   40,   40,   40,  291,   40,
-       40,  300,   40,   40,  305,  287,  289,  290,  303,  304,
-      299,   40,   40,   40,   40,  292,  293,   40,  301,  308,
-
-       40,  297,  309,  302,   40,   40,   40,  307,   40,   40,
-       40,   40,   40,   40,  306,   40,   40,   40,  310,  312,
-       40,  311,  314,  313,  315,  320,  317,   40,  316,   40,
-      318,   40,   40,  321,  322,  319,  329,  323,  324,   40,
-      326,  328,   40,   40,   40,   40,   40,   40,   40,  330,
-      333,  331,  325,  332,  327,  334,  336,   40,   40,  337,
-      335,   40,   40,   40,   40,   40,  340,  338,   40,   40,
-       40,  339,   40,   40,   40,   40,  344,   40,  350,  341,
-      353,  352,  347,  349,  342,  343,  286,  286,  286,  286,
-       40,   40,  346,   40,  348,  345,  355,  354,  356,  357,
-
+       44,   44,   44,   45,   45,   45,   45,   40,   46,  139,
+       40,  140,   40,   40,   47,   48,   48,   48,   48,   40,
+       47,   48,   48,   48,   48,   40,   40,   69,  123,   40,
+       85,   40,   40,   40,   51,   40,   86,   70,   56,   40,
+       91,   52,   57,   53,   40,   54,   49,   58,   55,   60,
+
+       59,   61,   40,  141,  131,   77,   78,   64,   40,   40,
+       40,   65,   62,   40,   79,   66,   63,   67,   71,   75,
+       68,   72,   80,   40,   40,   76,   40,   81,   73,   82,
+       40,   40,   40,  145,   74,   89,   40,  113,  127,   40,
+      115,   90,   83,   40,  102,   87,   40,   88,   84,   92,
+      114,  116,   40,   40,  135,  118,  128,  103,  129,   93,
+      104,   94,   95,   40,   40,   96,   97,  105,  120,   40,
+      117,  130,   40,   40,   98,  133,   99,  100,   40,  101,
+       92,   40,  153,  134,   40,  121,  121,  121,  121,  132,
+      106,   40,  107,   43,   43,   43,   43,  108,  138,  109,
+
+       40,  110,  147,   40,  142,  111,  112,  122,   44,   44,
+       44,   44,   47,   45,   45,   45,   45,   40,  124,  124,
+      124,  124,   40,  156,   40,  125,  170,  213,   41,   40,
+      162,  125,   47,   48,   48,   48,   48,   40,  126,  126,
+      126,  126,   40,   40,  126,  126,   40,  126,  126,  126,
+      126,  126,  126,   40,   40,   40,   40,   40,  136,   40,
+      143,  146,  148,  149,   40,  137,   40,   40,  155,   40,
+      151,   40,  144,   40,  165,  154,   40,  152,   40,  150,
+       40,  168,  157,   40,   40,  158,  166,   40,  163,  159,
+      160,  167,  161,  169,  164,  171,   40,  173,   40,  175,
+
+      174,  172,   40,   40,   40,   40,  176,   40,   40,   40,
+       40,  180,   40,   40,   40,  187,  179,  188,  190,  181,
+      183,   40,  191,  184,   40,  177,  185,  182,  189,  186,
+      178,   40,  196,   40,  192,   40,   40,  194,   40,   40,
+       40,   40,  193,   40,  207,  208,  198,  205,  195,   40,
+       40,  201,  199,  206,  200,   40,  202,  209,   40,  197,
+      212,  230,   40,  210,  203,  211,   40,   40,   40,  204,
+      214,  121,  121,  121,  121,  217,  217,  217,  217,  215,
+      223,  225,  218,   40,   40,   40,   40,   40,  218,  124,
+      124,  124,  124,   40,  222,  224,  125,   40,   40,  226,
+
+      227,  255,  125,  219,  220,   40,  221,  221,  221,  221,
+       40,   40,   40,  229,   40,   40,  232,   40,   40,   40,
+      228,  231,   40,  237,   40,   40,   40,  235,   40,  233,
+      234,  236,  238,  239,  240,   40,   40,   40,   40,   40,
+      245,   40,   40,  249,  242,  246,  241,  248,   40,  243,
+      251,  252,  247,  244,  250,   40,   40,   40,   40,   40,
+       40,   40,   40,   40,  254,  257,  253,   40,   40,  258,
+       40,   40,   40,   40,  259,  294,  261,   40,  304,  256,
+      263,  268,  262,   40,  260,  264,  264,  264,  264,  276,
+      265,  264,  264,  266,  264,  264,  264,  264,  264,  264,
+
+      267,   40,   40,   40,  273,   40,   40,   40,   40,   40,
+      269,  275,  270,  274,   40,   40,  271,   40,  272,  280,
+       40,   40,  279,  282,  283,   40,  277,   40,  281,  278,
+       40,   40,   40,   40,   40,   40,  288,   40,   40,   40,
+      284,  290,  287,   40,  286,  285,  291,  289,  296,  293,
+      292,  297,   40,   40,   40,  301,  295,  298,  300,  217,
+      217,  217,  217,   40,   40,  313,  218,  299,  311,  316,
+      219,  219,  218,  302,  302,  302,  302,  302,  302,  302,
+      302,  221,  221,  221,  221,   40,  221,  221,  221,  221,
        40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
-       40,  360,   40,  364,  365,   40,   40,  366,   40,  358,
-      359,  361,  363,   40,  367,  371,  362,   40,  368,   40,
-      374,   40,  370,  369,   40,  372,  373,   40,  375,   40,
-      376,   40,   40,  377,   40,   40,   40,   40,   40,   40,
-       40,   40,  381,   40,  386,  378,  380,  382,  384,  387,
-       40,  389,  379,   40,   40,   40,   40,  383,  392,  385,
-       40,  388,   40,  391,   40,   40,  390,  397,   40,  395,
-       40,   40,  394,   40,  399,   40,   40,  393,   40,  396,
-      403,  404,   40,   40,   40,   40,   40,  407,  401,  402,
-
-      400,  406,  398,  408,   40,   40,  405,   40,   40,  409,
-      412,   40,  410,  411,   40,   40,  413,  418,  414,   40,
-       40,   40,   40,   40,  415,   40,  416,  419,   40,   40,
-      417,   40,   40,  420,   40,   40,   40,   40,  421,   40,
-      428,  423,   40,  429,   40,  422,  424,  427,   40,  425,
-       40,  431,  430,  433,  432,  426,   40,  436,   40,  434,
-       40,  437,   40,  438,   40,   40,   40,  435,   40,  439,
-       40,  441,   40,  440,   40,   40,  443,   40,   40,   40,
-       40,  447,   40,   40,   40,  442,  456,  451,  453,  448,
-      444,  445,  449,  446,   40,  452,   40,   40,  455,   40,
-
-      450,  454,  458,  457,   40,   40,   40,  460,   40,  461,
-       40,   40,  459,  464,  462,   40,   40,   40,   40,   40,
-       40,   40,  467,   40,  471,   40,  465,   40,  473,  463,
-      469,   40,   40,  470,   40,  472,   40,  475,   40,  468,
-      466,  474,   40,  478,  476,  479,   40,   40,   40,   40,
-       40,  482,   40,   40,  477,  480,   40,   40,  486,   40,
-       40,  483,  484,  485,   40,  488,  491,  481,   40,   40,
-      489,  493,  494,  487,  490,  492,   40,   40,   40,   40,
-       40,   40,   40,   40,   40,  495,   40,  500,  501,  502,
-      496,   40,   40,  506,  497,   40,   40,   40,   40,  499,
-
-      498,  505,   40,   40,  507,   40,  504,   40,   40,  503,
-       40,   40,  508,   37,   37,   37,   37,   39,   39,   50,
+
+       40,  307,   40,   40,   40,   40,   40,   40,  303,  305,
+      306,  312,  310,  320,  321,  314,   40,  315,  308,  309,
+       40,  318,  317,   40,   40,  319,   40,  326,  322,  324,
+       40,  323,  325,   40,   40,   40,   40,   40,   40,   40,
+       40,   40,   40,   40,  328,   40,   40,  327,  329,  336,
+      331,   40,  330,  333,  332,  337,   40,   40,  338,   40,
+       40,  334,  335,  339,  345,  340,  342,   40,  344,   40,
+      346,   40,   40,   40,   40,   40,  347,   40,  348,  341,
+      343,  349,  350,  353,  352,   40,  351,  354,   40,   40,
+       40,   40,   40,  356,   40,   40,   40,   40,  355,  302,
+
+      302,  302,  302,  360,   40,   40,  357,  363,   40,  365,
+      366,  358,  359,   40,   40,   40,  367,   40,  362,  364,
+      368,  361,  369,   40,   40,  372,   40,   40,   40,  371,
+      370,   40,  373,  374,  375,   40,  376,   40,   40,   40,
+       40,   40,   40,   40,  380,  377,  381,  382,   40,   40,
+       40,   40,  379,   40,  378,  383,   40,  384,  387,   40,
+      386,   40,  389,  390,   40,  385,  394,  388,  391,   40,
+      392,   40,   40,  393,  395,   40,   40,   40,   40,   40,
+       40,  397,   40,   40,  396,  400,  402,  398,  403,   40,
+       40,   40,   40,  405,   40,  399,  408,   40,   40,   40,
+
+      401,  404,  407,   40,   40,  413,  406,  411,   40,  410,
+       40,   40,  415,  409,  412,   40,   40,   40,   40,  419,
+      420,   40,  425,   40,   40,  426,  416,  414,  417,  418,
+      423,  421,  422,  424,   40,   40,   40,   40,   40,   40,
+       40,   40,   40,   40,  427,  429,   40,  430,  431,  435,
+      432,  428,   40,   40,  433,  436,   40,   40,   40,   40,
+      437,   40,  434,   40,   40,   40,   40,   40,  444,  438,
+      439,   40,  445,  443,  440,  449,   40,  441,  446,  447,
+      448,   40,   40,  442,   40,  452,  453,  454,   40,  450,
+       40,   40,   40,  455,   40,   40,  451,  457,   40,   40,
+
+       40,   40,   40,  459,  463,   40,   40,   40,   40,   40,
+       40,  456,  470,   40,  458,  464,  467,  469,  460,  465,
+       40,  461,  462,  468,  466,   40,  472,   40,  471,   40,
+       40,   40,  473,   40,  474,   40,  477,   40,   40,   40,
+      475,   40,  478,  480,   40,   40,   40,   40,  483,   40,
+       40,   40,  487,  476,   40,  481,  489,   40,  479,  485,
+      486,   40,   40,   40,  488,   40,  482,  484,  490,  492,
+       40,  494,  495,  491,   40,   40,   40,   40,   40,   40,
+       40,   40,   40,  498,  493,   40,   40,  502,  496,   40,
+      499,  500,  501,  504,  507,   40,  509,   40,  505,  497,
+
+      506,  508,  503,   40,   40,   40,   40,   40,  510,   40,
+       40,   40,   40,   40,  511,  516,  517,  518,   40,   40,
+       40,   40,  513,   40,  512,  522,   40,  515,  514,  523,
+      521,   40,   40,   40,   40,  520,   40,   40,   40,   40,
+      519,   40,  524,   37,   37,   37,   37,   39,   39,   50,
        40,   50,   50,   40,   40,   40,   40,   40,   40,   40,
        40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
        40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
        40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
+       40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
+
        40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
        40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
        40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
-       40,   40,   40,   40,   40,   40,   40,   40,   40,  206,
-
-       40,   40,   40,   40,  114,   40,   38,  509,    3,  509,
-      509,  509,  509,  509,  509,  509,  509,  509,  509,  509,
-      509,  509,  509,  509,  509,  509,  509,  509,  509,  509,
-      509,  509,  509,  509,  509,  509,  509,  509,  509,  509,
-      509,  509,  509,  509,  509,  509,  509,  509,  509,  509,
-      509,  509
+       40,  216,   40,   40,   40,   40,  119,   40,   38,  525,
+        3,  525,  525,  525,  525,  525,  525,  525,  525,  525,
+      525,  525,  525,  525,  525,  525,  525,  525,  525,  525,
+      525,  525,  525,  525,  525,  525,  525,  525,  525,  525,
+      525,  525,  525,  525,  525,  525,  525,  525,  525,  525,
+      525,  525,  525,  525
     } ;
 
-static yyconst short int yy_chk[1153] =
+static yyconst short int yy_chk[1185] =
     {   0,
         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
@@ -700,125 +716,128 @@ static yyconst short int yy_chk[1153] =
        10,   10,   10,   11,   11,   11,   11,   11,   12,   62,
        20,   62,   26,   12,   13,   13,   13,   13,   13,   13,
        14,   14,   14,   14,   14,   14,   16,   20,   46,   17,
-       26,   29,  514,   46,   16,  512,   26,   20,   17,   23,
+       26,   29,   63,   46,   16,   54,   26,   20,   17,   23,
        29,   16,   17,   16,   18,   16,   13,   17,   16,   18,
 
-       17,   18,   19,   21,   22,   23,   23,   19,   21,   24,
-       27,   19,   18,   22,   24,   19,   18,   19,   21,   22,
-       19,   25,   24,   28,   21,   33,   25,   24,   34,   27,
-       33,   27,   64,   31,   51,   28,   53,   34,   31,   25,
-       36,   28,   51,   33,   53,   25,   30,   35,   35,   36,
-       30,   31,   54,   56,   31,   64,   30,   67,  111,   30,
-      111,   31,   30,   30,   56,   52,   35,   42,   42,   42,
-       42,   54,   67,   30,   30,   57,   30,   32,   52,   55,
-       52,   32,   43,   43,   43,   43,   57,   32,   44,   44,
-       44,   44,   44,   61,   32,   55,   32,   58,   32,   63,
-
-       61,   72,  226,   32,   45,   45,   45,   45,   45,   45,
-       47,   47,   47,   47,   47,   58,   78,   47,  226,   72,
-       63,   66,   78,   47,   48,   48,   48,   48,   48,   48,
-       49,   49,   49,   49,   49,   60,   49,   49,   68,   49,
-       49,   49,   49,   49,   49,   65,   66,   69,   71,   70,
-       60,   73,   65,   74,   76,   69,   70,   60,   77,   75,
-       73,   79,   68,   71,   65,   84,   92,   81,   91,   80,
-       71,   82,   70,   76,   80,   83,   74,   75,   79,   82,
-       77,   77,   81,   77,   79,   85,   80,   86,   84,   88,
-       83,   89,   86,   90,   92,   91,   93,   94,   95,   96,
-
-       85,   97,   88,   93,   89,  102,   95,   97,  103,   90,
-       98,   93,   94,   99,  101,   94,   90,   96,   94,   93,
-      104,   94,  105,   98,  102,  110,   99,  101,  108,  107,
-      110,  106,  108,  108,   99,  109,  103,  104,  101,  106,
-      105,  107,  112,  113,  106,  108,  508,  132,  109,  124,
-      109,  123,  106,  116,  116,  116,  116,  106,  117,  117,
-      117,  117,  123,  112,  113,  117,  130,  124,  126,  128,
-      132,  117,  119,  119,  119,  119,  119,  126,  135,  119,
-      131,  130,  128,  138,  139,  119,  120,  120,  134,  120,
-      120,  120,  120,  120,  136,  131,  134,  137,  138,  139,
-
-      135,  141,  137,  136,  143,  142,  144,  145,  146,  147,
-      141,  142,  149,  148,  141,  144,  145,  143,  148,  151,
-      150,  149,  152,  155,  153,  151,  154,  156,  145,  150,
-      146,  157,  147,  153,  158,  154,  156,  152,  159,  160,
-      161,  155,  162,  165,  166,  157,  159,  174,  168,  172,
-      160,  179,  173,  213,  180,  161,  174,  158,  165,  506,
-      213,  179,  177,  180,  166,  168,  162,  171,  171,  171,
-      171,  181,  172,  171,  171,  173,  171,  171,  171,  171,
-      171,  171,  175,  177,  183,  184,  186,  185,  189,  190,
-      505,  175,  181,  175,  187,  188,  191,  175,  185,  175,
-
-      184,  192,  193,  187,  188,  186,  194,  183,  195,  196,
-      192,  189,  190,  191,  198,  194,  199,  197,  200,  193,
-      202,  195,  197,  201,  205,  199,  200,  196,  201,  203,
-      222,  224,  289,  203,  202,  198,  207,  207,  207,  207,
-      289,  223,  205,  207,  224,  222,  223,  208,  208,  207,
-      208,  208,  208,  208,  209,  209,  209,  209,  210,  210,
-      210,  210,  210,  211,  211,  211,  211,  211,  212,  214,
-      215,  219,  220,  221,  225,  227,  228,  233,  219,  229,
-      232,  228,  230,  231,  233,  212,  214,  215,  231,  232,
-      227,  234,  236,  238,  237,  220,  221,  239,  229,  237,
-
-      240,  225,  238,  230,  243,  241,  250,  236,  242,  244,
-      247,  248,  251,  260,  234,  504,  253,  256,  239,  241,
-      254,  240,  243,  242,  244,  253,  248,  255,  247,  257,
-      250,  258,  259,  254,  255,  251,  260,  256,  257,  261,
-      258,  259,  262,  264,  263,  267,  266,  270,  272,  261,
-      264,  262,  257,  263,  258,  266,  270,  273,  274,  272,
-      267,  275,  276,  277,  278,  279,  275,  273,  280,  282,
-      285,  274,  284,  288,  291,  292,  279,  295,  288,  276,
-      292,  291,  284,  285,  277,  278,  286,  286,  286,  286,
-      293,  294,  282,  296,  284,  280,  294,  293,  295,  296,
-
-      297,  298,  299,  301,  300,  302,  303,  305,  307,  308,
-      310,  299,  309,  303,  305,  311,  312,  307,  314,  297,
-      298,  300,  302,  316,  308,  312,  301,  315,  309,  317,
-      316,  318,  311,  310,  319,  314,  315,  321,  317,  322,
-      318,  330,  331,  319,  334,  333,  339,  340,  342,  335,
-      343,  341,  331,  345,  340,  321,  330,  333,  335,  341,
-      346,  343,  322,  347,  348,  349,  351,  334,  347,  339,
-      354,  342,  353,  346,  355,  356,  345,  354,  357,  351,
-      358,  359,  349,  364,  356,  366,  363,  348,  368,  353,
-      363,  363,  377,  378,  369,  392,  502,  368,  358,  359,
-
-      357,  366,  355,  369,  370,  372,  364,  380,  381,  370,
-      378,  385,  372,  377,  386,  391,  380,  392,  381,  393,
-      394,  395,  396,  398,  385,  401,  386,  393,  402,  403,
-      391,  405,  404,  394,  406,  407,  408,  411,  395,  409,
-      405,  398,  413,  406,  410,  396,  401,  404,  414,  402,
-      418,  408,  407,  410,  409,  403,  415,  414,  416,  411,
-      417,  415,  420,  416,  419,  421,  423,  413,  424,  417,
-      425,  419,  426,  418,  428,  429,  421,  430,  431,  435,
-      438,  426,  434,  437,  444,  420,  438,  431,  435,  428,
-      423,  424,  429,  425,  436,  434,  440,  441,  437,  442,
-
-      430,  436,  441,  440,  447,  448,  449,  444,  450,  447,
-      451,  452,  442,  450,  448,  453,  454,  455,  456,  457,
-      458,  462,  453,  459,  457,  463,  451,  461,  459,  449,
-      455,  464,  467,  456,  465,  458,  466,  462,  469,  454,
-      452,  461,  470,  465,  463,  466,  471,  472,  473,  475,
-      476,  470,  477,  478,  464,  467,  480,  481,  475,  485,
-      483,  471,  472,  473,  484,  477,  481,  469,  486,  487,
-      478,  484,  485,  476,  480,  483,  488,  489,  490,  491,
-      494,  492,  493,  495,  497,  486,  501,  491,  492,  493,
-      487,  507,  500,  501,  488,  503,  499,  498,  496,  490,
-
-      489,  497,  482,  479,  503,  474,  495,  468,  460,  494,
-      446,  445,  507,  510,  510,  510,  510,  511,  511,  513,
-      443,  513,  513,  439,  433,  432,  427,  422,  412,  400,
-      399,  397,  390,  389,  388,  387,  384,  383,  382,  379,
-      376,  375,  374,  373,  371,  367,  365,  362,  361,  360,
-      352,  350,  344,  338,  337,  336,  332,  329,  328,  327,
-      326,  325,  324,  323,  320,  313,  306,  304,  290,  287,
-      283,  281,  271,  269,  268,  265,  249,  246,  245,  235,
-      218,  217,  216,  204,  182,  178,  176,  170,  169,  167,
-      164,  163,  140,  133,  129,  127,  125,  122,  118,  114,
-
-      100,   87,   59,   39,   37,    8,    7,    3,  509,  509,
-      509,  509,  509,  509,  509,  509,  509,  509,  509,  509,
-      509,  509,  509,  509,  509,  509,  509,  509,  509,  509,
-      509,  509,  509,  509,  509,  509,  509,  509,  509,  509,
-      509,  509,  509,  509,  509,  509,  509,  509,  509,  509,
-      509,  509
+       17,   18,   19,   63,   54,   23,   23,   19,   66,   24,
+       22,   19,   18,   21,   24,   19,   18,   19,   21,   22,
+       19,   21,   24,   28,   25,   22,   27,   24,   21,   25,
+       51,   34,   33,   66,   21,   28,   58,   33,   51,   31,
+       34,   28,   25,   52,   31,   27,   36,   27,   25,   30,
+       33,   35,   35,   30,   58,   36,   52,   31,   52,   30,
+       31,   30,   30,   53,   56,   30,   30,   31,  530,   72,
+       35,   53,   57,   55,   30,   56,   30,   30,   68,   30,
+       32,   64,   72,   57,   32,   42,   42,   42,   42,   55,
+       32,   61,   32,   43,   43,   43,   43,   32,   61,   32,
+
+       75,   32,   68,   85,   64,   32,   32,   44,   44,   44,
+       44,   44,   45,   45,   45,   45,   45,   45,   47,   47,
+       47,   47,   47,   75,   79,   47,   85,  116,  528,  116,
+       79,   47,   48,   48,   48,   48,   48,   48,   49,   49,
+       49,   49,   49,   60,   49,   49,   67,   49,   49,   49,
+       49,   49,   49,   65,   69,   71,   70,   73,   60,   74,
+       65,   67,   69,   70,   76,   60,   77,   78,   74,   81,
+       71,   80,   65,   83,   81,   73,   82,   71,   84,   70,
+       86,   83,   76,   91,   89,   77,   81,   90,   80,   78,
+       78,   82,   78,   84,   80,   86,   87,   89,   92,   91,
+
+       90,   87,   93,   94,   95,   96,   91,   97,   98,  101,
+       99,   95,  100,  105,  524,   97,   94,   98,  100,   95,
+       96,  102,  101,   96,  104,   92,   96,   95,   99,   96,
+       93,  106,  105,  107,  102,  108,  109,  104,  111,  140,
+      113,  112,  102,  110,  113,  113,  107,  111,  104,  117,
+      114,  110,  108,  112,  109,  115,  110,  113,  118,  106,
+      115,  140,  129,  114,  110,  114,  522,  521,  133,  110,
+      117,  121,  121,  121,  121,  122,  122,  122,  122,  118,
+      129,  133,  122,  128,  135,  136,  131,  163,  122,  124,
+      124,  124,  124,  124,  128,  131,  124,  137,  520,  135,
+
+      136,  163,  124,  125,  125,  139,  125,  125,  125,  125,
+      125,  142,  141,  139,  143,  144,  142,  147,  146,  148,
+      137,  141,  151,  147,  149,  150,  152,  146,  153,  143,
+      144,  146,  148,  149,  150,  154,  155,  157,  156,  158,
+      154,  159,  160,  157,  151,  155,  150,  156,  161,  152,
+      159,  160,  155,  153,  158,  162,  164,  165,  166,  167,
+      168,  171,  172,  174,  162,  165,  161,  178,  179,  166,
+      207,  223,  181,  188,  167,  207,  171,  180,  223,  164,
+      174,  181,  172,  184,  168,  177,  177,  177,  177,  188,
+      178,  177,  177,  179,  177,  177,  177,  177,  177,  177,
+
+      180,  182,  187,  186,  184,  189,  191,  192,  193,  194,
+      182,  187,  182,  186,  195,  196,  182,  197,  182,  193,
+      198,  199,  192,  195,  196,  200,  189,  201,  194,  191,
+      202,  206,  203,  204,  205,  208,  201,  215,  235,  209,
+      197,  203,  200,  210,  199,  198,  204,  202,  209,  206,
+      205,  210,  211,  212,  213,  215,  208,  211,  213,  217,
+      217,  217,  217,  233,  238,  235,  217,  212,  233,  238,
+      218,  218,  217,  218,  218,  218,  218,  219,  219,  219,
+      219,  220,  220,  220,  220,  220,  221,  221,  221,  221,
+      221,  222,  224,  225,  229,  230,  231,  232,  234,  236,
+
+      240,  229,  237,  239,  242,  245,  251,  243,  222,  224,
+      225,  234,  232,  242,  243,  236,  248,  237,  230,  231,
+      241,  240,  239,  250,  249,  241,  252,  251,  245,  249,
+      253,  248,  250,  254,  255,  256,  259,  262,  260,  263,
+      265,  273,  267,  269,  253,  518,  516,  252,  254,  265,
+      256,  268,  255,  260,  259,  267,  270,  271,  268,  272,
+      274,  262,  263,  269,  273,  270,  271,  275,  272,  277,
+      274,  281,  287,  280,  278,  284,  275,  288,  277,  270,
+      271,  278,  280,  287,  284,  289,  281,  288,  290,  291,
+      293,  294,  295,  290,  296,  298,  301,  300,  289,  302,
+
+      302,  302,  302,  295,  311,  304,  291,  300,  305,  301,
+      304,  293,  294,  307,  313,  314,  305,  308,  298,  300,
+      307,  296,  308,  309,  310,  311,  312,  315,  316,  310,
+      309,  317,  312,  313,  314,  318,  315,  319,  323,  321,
+      324,  325,  326,  327,  319,  316,  321,  323,  337,  328,
+      330,  338,  318,  331,  317,  324,  332,  325,  328,  333,
+      327,  334,  331,  332,  335,  326,  337,  330,  333,  346,
+      334,  347,  350,  335,  338,  349,  351,  355,  358,  356,
+      357,  347,  359,  361,  346,  351,  356,  349,  357,  362,
+      364,  363,  365,  359,  367,  350,  363,  369,  370,  371,
+
+      355,  358,  362,  372,  373,  370,  361,  367,  380,  365,
+      374,  375,  372,  364,  369,  379,  382,  386,  388,  379,
+      379,  384,  386,  393,  385,  388,  373,  371,  374,  375,
+      384,  380,  382,  385,  394,  401,  396,  397,  402,  407,
+      408,  409,  410,  411,  393,  396,  412,  397,  401,  409,
+      402,  394,  414,  417,  407,  410,  418,  419,  420,  421,
+      411,  423,  408,  422,  424,  425,  426,  427,  421,  412,
+      414,  429,  422,  420,  417,  426,  430,  418,  423,  424,
+      425,  431,  432,  419,  433,  430,  431,  432,  434,  427,
+      435,  436,  437,  433,  439,  442,  429,  435,  440,  441,
+
+      444,  446,  445,  437,  442,  452,  515,  447,  451,  514,
+      450,  434,  452,  453,  436,  444,  447,  451,  439,  445,
+      454,  440,  441,  450,  446,  456,  454,  458,  453,  457,
+      460,  463,  456,  464,  457,  465,  463,  468,  466,  467,
+      458,  469,  464,  466,  470,  472,  471,  473,  469,  474,
+      479,  475,  473,  460,  477,  467,  475,  478,  465,  471,
+      472,  480,  481,  482,  474,  483,  468,  470,  477,  479,
+      485,  481,  482,  478,  486,  487,  488,  489,  491,  492,
+      493,  494,  496,  486,  480,  497,  499,  491,  483,  500,
+      487,  488,  489,  493,  497,  501,  500,  502,  494,  485,
+
+      496,  499,  492,  503,  504,  505,  506,  507,  501,  508,
+      509,  510,  511,  513,  502,  507,  508,  509,  517,  512,
+      519,  523,  504,  498,  503,  517,  495,  506,  505,  519,
+      513,  490,  484,  476,  462,  511,  461,  459,  455,  449,
+      510,  448,  523,  526,  526,  526,  526,  527,  527,  529,
+      443,  529,  529,  438,  428,  416,  415,  413,  406,  405,
+      404,  403,  400,  399,  398,  395,  392,  391,  390,  389,
+      387,  383,  381,  378,  377,  376,  368,  366,  360,  354,
+      353,  352,  348,  345,  344,  343,  342,  341,  340,  339,
+      336,  329,  322,  320,  306,  303,  299,  297,  292,  286,
+
+      285,  283,  282,  279,  276,  266,  261,  258,  257,  247,
+      246,  244,  228,  227,  226,  214,  190,  185,  183,  176,
+      175,  173,  170,  169,  145,  138,  134,  132,  130,  127,
+      123,  119,  103,   88,   59,   39,   37,    8,    7,    3,
+      525,  525,  525,  525,  525,  525,  525,  525,  525,  525,
+      525,  525,  525,  525,  525,  525,  525,  525,  525,  525,
+      525,  525,  525,  525,  525,  525,  525,  525,  525,  525,
+      525,  525,  525,  525,  525,  525,  525,  525,  525,  525,
+      525,  525,  525,  525
     } ;
 
 static yy_state_type yy_state_buf[YY_BUF_SIZE + 2], *yy_state_ptr;
@@ -835,7 +854,7 @@ goto find_rule; \
 #define YY_MORE_ADJ 0
 #define YY_RESTORE_YY_MORE_OFFSET
 char *yytext;
-#line 1 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
+#line 1 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 #define INITIAL 0
 /*===-- Lexer.l - Scanner for llvm assembly files --------------*- C++ -*--===//
 //
@@ -850,7 +869,7 @@ char *yytext;
 //
 //===----------------------------------------------------------------------===*/
 #define YY_NEVER_INTERACTIVE 1
-#line 28 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
+#line 28 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 #include "ParserInternals.h"
 #include "llvm/Module.h"
 #include <list>
@@ -865,8 +884,18 @@ void set_scan_string (const char * str) {
   yy_scan_string (str);
 }
 
+// Construct a token value for a non-obsolete token
 #define RET_TOK(type, Enum, sym) \
-  llvmAsmlval.type = Instruction::Enum; return sym
+  llvmAsmlval.type.opcode = Instruction::Enum; \
+  llvmAsmlval.type.obsolete = false; \
+  return sym
+
+// Construct a token value for an obsolete token
+#define RET_TOK_OBSOLETE(type, Enum, sym) \
+  llvmAsmlval.type.opcode = Instruction::Enum; \
+  llvmAsmlval.type.obsolete = true; \
+  return sym
+
 
 namespace llvm {
 
@@ -976,7 +1005,7 @@ using namespace llvm;
 /* HexIntConstant - Hexadecimal constant generated by the CFE to avoid forcing
  * it to deal with 64 bit numbers.
  */
-#line 980 "Lexer.cpp"
+#line 1009 "Lexer.cpp"
 
 /* Macros after this point can all be overridden by user definitions in
  * section 1.
@@ -1124,13 +1153,13 @@ YY_MALLOC_DECL
 YY_DECL
        {
        register yy_state_type yy_current_state;
-       register char *yy_cp, *yy_bp;
+       register char *yy_cp = NULL, *yy_bp = NULL;
        register int yy_act;
 
-#line 179 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
+#line 189 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 
 
-#line 1134 "Lexer.cpp"
+#line 1163 "Lexer.cpp"
 
        if ( yy_init )
                {
@@ -1178,14 +1207,14 @@ yy_match:
                        while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
                                {
                                yy_current_state = (int) yy_def[yy_current_state];
-                               if ( yy_current_state >= 510 )
+                               if ( yy_current_state >= 526 )
                                        yy_c = yy_meta[(unsigned int) yy_c];
                                }
                        yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
                        *yy_state_ptr++ = yy_current_state;
                        ++yy_cp;
                        }
-               while ( yy_current_state != 509 );
+               while ( yy_current_state != 525 );
 
 yy_find_action:
                yy_current_state = *--yy_state_ptr;
@@ -1223,516 +1252,546 @@ do_action:    /* This label is used only to access EOF actions. */
        { /* beginning of action switch */
 case 1:
 YY_RULE_SETUP
-#line 181 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
+#line 191 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { /* Ignore comments for now */ }
        YY_BREAK
 case 2:
 YY_RULE_SETUP
-#line 183 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
+#line 193 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return BEGINTOK; }
        YY_BREAK
 case 3:
 YY_RULE_SETUP
-#line 184 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
+#line 194 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return ENDTOK; }
        YY_BREAK
 case 4:
 YY_RULE_SETUP
-#line 185 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
+#line 195 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return TRUETOK;  }
        YY_BREAK
 case 5:
 YY_RULE_SETUP
-#line 186 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
+#line 196 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return FALSETOK; }
        YY_BREAK
 case 6:
 YY_RULE_SETUP
-#line 187 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
+#line 197 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return DECLARE; }
        YY_BREAK
 case 7:
 YY_RULE_SETUP
-#line 188 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
+#line 198 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return GLOBAL; }
        YY_BREAK
 case 8:
 YY_RULE_SETUP
-#line 189 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
+#line 199 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return CONSTANT; }
        YY_BREAK
 case 9:
 YY_RULE_SETUP
-#line 190 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
+#line 200 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return INTERNAL; }
        YY_BREAK
 case 10:
 YY_RULE_SETUP
-#line 191 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
+#line 201 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return LINKONCE; }
        YY_BREAK
 case 11:
 YY_RULE_SETUP
-#line 192 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
+#line 202 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return WEAK; }
        YY_BREAK
 case 12:
 YY_RULE_SETUP
-#line 193 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
+#line 203 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return APPENDING; }
        YY_BREAK
 case 13:
 YY_RULE_SETUP
-#line 194 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
+#line 204 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return DLLIMPORT; }
        YY_BREAK
 case 14:
 YY_RULE_SETUP
-#line 195 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
+#line 205 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return DLLEXPORT; }
        YY_BREAK
 case 15:
 YY_RULE_SETUP
-#line 196 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
+#line 206 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return EXTERN_WEAK; }
        YY_BREAK
 case 16:
 YY_RULE_SETUP
-#line 197 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
+#line 207 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return EXTERNAL; }    /* Deprecated, turn into external */
        YY_BREAK
 case 17:
 YY_RULE_SETUP
-#line 198 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
+#line 208 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return EXTERNAL; }
        YY_BREAK
 case 18:
 YY_RULE_SETUP
-#line 199 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
+#line 209 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return IMPLEMENTATION; }
        YY_BREAK
 case 19:
 YY_RULE_SETUP
-#line 200 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
+#line 210 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return ZEROINITIALIZER; }
        YY_BREAK
 case 20:
 YY_RULE_SETUP
-#line 201 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
+#line 211 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return DOTDOTDOT; }
        YY_BREAK
 case 21:
 YY_RULE_SETUP
-#line 202 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
+#line 212 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return UNDEF; }
        YY_BREAK
 case 22:
 YY_RULE_SETUP
-#line 203 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
+#line 213 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return NULL_TOK; }
        YY_BREAK
 case 23:
 YY_RULE_SETUP
-#line 204 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
+#line 214 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return TO; }
        YY_BREAK
 case 24:
 YY_RULE_SETUP
-#line 205 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
+#line 215 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { RET_TOK(TermOpVal, Unwind, UNWIND); }
        YY_BREAK
 case 25:
 YY_RULE_SETUP
-#line 206 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
+#line 216 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return NOT; }  /* Deprecated, turned into XOR */
        YY_BREAK
 case 26:
 YY_RULE_SETUP
-#line 207 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
+#line 217 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return TAIL; }
        YY_BREAK
 case 27:
 YY_RULE_SETUP
-#line 208 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
+#line 218 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return TARGET; }
        YY_BREAK
 case 28:
 YY_RULE_SETUP
-#line 209 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
+#line 219 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return TRIPLE; }
        YY_BREAK
 case 29:
 YY_RULE_SETUP
-#line 210 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
+#line 220 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return DEPLIBS; }
        YY_BREAK
 case 30:
 YY_RULE_SETUP
-#line 211 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
+#line 221 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return ENDIAN; }
        YY_BREAK
 case 31:
 YY_RULE_SETUP
-#line 212 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
+#line 222 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return POINTERSIZE; }
        YY_BREAK
 case 32:
 YY_RULE_SETUP
-#line 213 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
+#line 223 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return DATALAYOUT; }
        YY_BREAK
 case 33:
 YY_RULE_SETUP
-#line 214 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
+#line 224 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return LITTLE; }
        YY_BREAK
 case 34:
 YY_RULE_SETUP
-#line 215 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
+#line 225 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return BIG; }
        YY_BREAK
 case 35:
 YY_RULE_SETUP
-#line 216 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
+#line 226 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return VOLATILE; }
        YY_BREAK
 case 36:
 YY_RULE_SETUP
-#line 217 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
+#line 227 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return ALIGN;  }
        YY_BREAK
 case 37:
 YY_RULE_SETUP
-#line 218 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
+#line 228 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return SECTION; }
        YY_BREAK
 case 38:
 YY_RULE_SETUP
-#line 219 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
+#line 229 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return MODULE; }
        YY_BREAK
 case 39:
 YY_RULE_SETUP
-#line 220 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
+#line 230 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return ASM_TOK; }
        YY_BREAK
 case 40:
 YY_RULE_SETUP
-#line 221 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
+#line 231 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return SIDEEFFECT; }
        YY_BREAK
 case 41:
 YY_RULE_SETUP
-#line 223 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
+#line 233 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return CC_TOK; }
        YY_BREAK
 case 42:
 YY_RULE_SETUP
-#line 224 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
+#line 234 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return CCC_TOK; }
        YY_BREAK
 case 43:
 YY_RULE_SETUP
-#line 225 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
+#line 235 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return CSRETCC_TOK; }
        YY_BREAK
 case 44:
 YY_RULE_SETUP
-#line 226 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
+#line 236 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return FASTCC_TOK; }
        YY_BREAK
 case 45:
 YY_RULE_SETUP
-#line 227 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
+#line 237 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return COLDCC_TOK; }
        YY_BREAK
 case 46:
 YY_RULE_SETUP
-#line 228 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
+#line 238 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return X86_STDCALLCC_TOK; }
        YY_BREAK
 case 47:
 YY_RULE_SETUP
-#line 229 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
+#line 239 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return X86_FASTCALLCC_TOK; }
        YY_BREAK
 case 48:
 YY_RULE_SETUP
-#line 231 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
+#line 241 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { llvmAsmlval.PrimType = Type::VoidTy  ; return VOID;   }
        YY_BREAK
 case 49:
 YY_RULE_SETUP
-#line 232 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
+#line 242 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { llvmAsmlval.PrimType = Type::BoolTy  ; return BOOL;   }
        YY_BREAK
 case 50:
 YY_RULE_SETUP
-#line 233 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
+#line 243 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { llvmAsmlval.PrimType = Type::SByteTy ; return SBYTE;  }
        YY_BREAK
 case 51:
 YY_RULE_SETUP
-#line 234 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
+#line 244 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { llvmAsmlval.PrimType = Type::UByteTy ; return UBYTE;  }
        YY_BREAK
 case 52:
 YY_RULE_SETUP
-#line 235 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
+#line 245 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { llvmAsmlval.PrimType = Type::ShortTy ; return SHORT;  }
        YY_BREAK
 case 53:
 YY_RULE_SETUP
-#line 236 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
+#line 246 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { llvmAsmlval.PrimType = Type::UShortTy; return USHORT; }
        YY_BREAK
 case 54:
 YY_RULE_SETUP
-#line 237 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
+#line 247 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { llvmAsmlval.PrimType = Type::IntTy   ; return INT;    }
        YY_BREAK
 case 55:
 YY_RULE_SETUP
-#line 238 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
+#line 248 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { llvmAsmlval.PrimType = Type::UIntTy  ; return UINT;   }
        YY_BREAK
 case 56:
 YY_RULE_SETUP
-#line 239 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
+#line 249 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { llvmAsmlval.PrimType = Type::LongTy  ; return LONG;   }
        YY_BREAK
 case 57:
 YY_RULE_SETUP
-#line 240 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
+#line 250 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { llvmAsmlval.PrimType = Type::ULongTy ; return ULONG;  }
        YY_BREAK
 case 58:
 YY_RULE_SETUP
-#line 241 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
+#line 251 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { llvmAsmlval.PrimType = Type::FloatTy ; return FLOAT;  }
        YY_BREAK
 case 59:
 YY_RULE_SETUP
-#line 242 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
+#line 252 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { llvmAsmlval.PrimType = Type::DoubleTy; return DOUBLE; }
        YY_BREAK
 case 60:
 YY_RULE_SETUP
-#line 243 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
+#line 253 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { llvmAsmlval.PrimType = Type::LabelTy ; return LABEL;  }
        YY_BREAK
 case 61:
 YY_RULE_SETUP
-#line 244 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
+#line 254 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return TYPE;   }
        YY_BREAK
 case 62:
 YY_RULE_SETUP
-#line 245 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
+#line 255 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return OPAQUE; }
        YY_BREAK
 case 63:
 YY_RULE_SETUP
-#line 247 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
+#line 257 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { RET_TOK(BinaryOpVal, Add, ADD); }
        YY_BREAK
 case 64:
 YY_RULE_SETUP
-#line 248 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
+#line 258 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { RET_TOK(BinaryOpVal, Sub, SUB); }
        YY_BREAK
 case 65:
 YY_RULE_SETUP
-#line 249 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
+#line 259 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { RET_TOK(BinaryOpVal, Mul, MUL); }
        YY_BREAK
 case 66:
 YY_RULE_SETUP
-#line 250 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
-{ RET_TOK(BinaryOpVal, Div, DIV); }
+#line 260 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{ RET_TOK_OBSOLETE(BinaryOpVal, UDiv, UDIV); }
        YY_BREAK
 case 67:
 YY_RULE_SETUP
-#line 251 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
-{ RET_TOK(BinaryOpVal, Rem, REM); }
+#line 261 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{ RET_TOK(BinaryOpVal, UDiv, UDIV); }
        YY_BREAK
 case 68:
 YY_RULE_SETUP
-#line 252 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
-{ RET_TOK(BinaryOpVal, And, AND); }
+#line 262 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{ RET_TOK(BinaryOpVal, SDiv, SDIV); }
        YY_BREAK
 case 69:
 YY_RULE_SETUP
-#line 253 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
-{ RET_TOK(BinaryOpVal, Or , OR ); }
+#line 263 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{ RET_TOK(BinaryOpVal, FDiv, FDIV); }
        YY_BREAK
 case 70:
 YY_RULE_SETUP
-#line 254 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
-{ RET_TOK(BinaryOpVal, Xor, XOR); }
+#line 264 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{ RET_TOK_OBSOLETE(BinaryOpVal, URem, UREM); }
        YY_BREAK
 case 71:
 YY_RULE_SETUP
-#line 255 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
-{ RET_TOK(BinaryOpVal, SetNE, SETNE); }
+#line 265 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{ RET_TOK(BinaryOpVal, URem, UREM); }
        YY_BREAK
 case 72:
 YY_RULE_SETUP
-#line 256 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
-{ RET_TOK(BinaryOpVal, SetEQ, SETEQ); }
+#line 266 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{ RET_TOK(BinaryOpVal, SRem, SREM); }
        YY_BREAK
 case 73:
 YY_RULE_SETUP
-#line 257 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
-{ RET_TOK(BinaryOpVal, SetLT, SETLT); }
+#line 267 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{ RET_TOK(BinaryOpVal, FRem, FREM); }
        YY_BREAK
 case 74:
 YY_RULE_SETUP
-#line 258 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
-{ RET_TOK(BinaryOpVal, SetGT, SETGT); }
+#line 268 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{ RET_TOK(BinaryOpVal, And, AND); }
        YY_BREAK
 case 75:
 YY_RULE_SETUP
-#line 259 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
-{ RET_TOK(BinaryOpVal, SetLE, SETLE); }
+#line 269 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{ RET_TOK(BinaryOpVal, Or , OR ); }
        YY_BREAK
 case 76:
 YY_RULE_SETUP
-#line 260 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
-{ RET_TOK(BinaryOpVal, SetGE, SETGE); }
+#line 270 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{ RET_TOK(BinaryOpVal, Xor, XOR); }
        YY_BREAK
 case 77:
 YY_RULE_SETUP
-#line 262 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
-{ RET_TOK(OtherOpVal, PHI, PHI_TOK); }
+#line 271 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{ RET_TOK(BinaryOpVal, SetNE, SETNE); }
        YY_BREAK
 case 78:
 YY_RULE_SETUP
-#line 263 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
-{ RET_TOK(OtherOpVal, Call, CALL); }
+#line 272 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{ RET_TOK(BinaryOpVal, SetEQ, SETEQ); }
        YY_BREAK
 case 79:
 YY_RULE_SETUP
-#line 264 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
-{ RET_TOK(OtherOpVal, Cast, CAST); }
+#line 273 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{ RET_TOK(BinaryOpVal, SetLT, SETLT); }
        YY_BREAK
 case 80:
 YY_RULE_SETUP
-#line 265 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
-{ RET_TOK(OtherOpVal, Select, SELECT); }
+#line 274 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{ RET_TOK(BinaryOpVal, SetGT, SETGT); }
        YY_BREAK
 case 81:
 YY_RULE_SETUP
-#line 266 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
-{ RET_TOK(OtherOpVal, Shl, SHL); }
+#line 275 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{ RET_TOK(BinaryOpVal, SetLE, SETLE); }
        YY_BREAK
 case 82:
 YY_RULE_SETUP
-#line 267 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
-{ RET_TOK(OtherOpVal, Shr, SHR); }
+#line 276 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{ RET_TOK(BinaryOpVal, SetGE, SETGE); }
        YY_BREAK
 case 83:
 YY_RULE_SETUP
-#line 268 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
-{ return VANEXT_old; }
+#line 278 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{ RET_TOK(OtherOpVal, PHI, PHI_TOK); }
        YY_BREAK
 case 84:
 YY_RULE_SETUP
-#line 269 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
-{ return VAARG_old; }
+#line 279 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{ RET_TOK(OtherOpVal, Call, CALL); }
        YY_BREAK
 case 85:
 YY_RULE_SETUP
-#line 270 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
-{ RET_TOK(OtherOpVal, VAArg , VAARG); }
+#line 280 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{ RET_TOK(OtherOpVal, Cast, CAST); }
        YY_BREAK
 case 86:
 YY_RULE_SETUP
-#line 271 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
-{ RET_TOK(TermOpVal, Ret, RET); }
+#line 281 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{ RET_TOK(OtherOpVal, Select, SELECT); }
        YY_BREAK
 case 87:
 YY_RULE_SETUP
-#line 272 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
-{ RET_TOK(TermOpVal, Br, BR); }
+#line 282 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{ RET_TOK(OtherOpVal, Shl, SHL); }
        YY_BREAK
 case 88:
 YY_RULE_SETUP
-#line 273 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
-{ RET_TOK(TermOpVal, Switch, SWITCH); }
+#line 283 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{ RET_TOK(OtherOpVal, Shr, SHR); }
        YY_BREAK
 case 89:
 YY_RULE_SETUP
-#line 274 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
-{ RET_TOK(TermOpVal, Invoke, INVOKE); }
+#line 284 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{ return VANEXT_old; }
        YY_BREAK
 case 90:
 YY_RULE_SETUP
-#line 275 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
-{ RET_TOK(TermOpVal, Unwind, UNWIND); }
+#line 285 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{ return VAARG_old; }
        YY_BREAK
 case 91:
 YY_RULE_SETUP
-#line 276 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
-{ RET_TOK(TermOpVal, Unreachable, UNREACHABLE); }
+#line 286 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{ RET_TOK(OtherOpVal, VAArg , VAARG); }
        YY_BREAK
 case 92:
 YY_RULE_SETUP
-#line 278 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
-{ RET_TOK(MemOpVal, Malloc, MALLOC); }
+#line 287 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{ RET_TOK(TermOpVal, Ret, RET); }
        YY_BREAK
 case 93:
 YY_RULE_SETUP
-#line 279 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
-{ RET_TOK(MemOpVal, Alloca, ALLOCA); }
+#line 288 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{ RET_TOK(TermOpVal, Br, BR); }
        YY_BREAK
 case 94:
 YY_RULE_SETUP
-#line 280 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
-{ RET_TOK(MemOpVal, Free, FREE); }
+#line 289 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{ RET_TOK(TermOpVal, Switch, SWITCH); }
        YY_BREAK
 case 95:
 YY_RULE_SETUP
-#line 281 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
-{ RET_TOK(MemOpVal, Load, LOAD); }
+#line 290 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{ RET_TOK(TermOpVal, Invoke, INVOKE); }
        YY_BREAK
 case 96:
 YY_RULE_SETUP
-#line 282 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
-{ RET_TOK(MemOpVal, Store, STORE); }
+#line 291 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{ RET_TOK(TermOpVal, Unwind, UNWIND); }
        YY_BREAK
 case 97:
 YY_RULE_SETUP
-#line 283 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
-{ RET_TOK(MemOpVal, GetElementPtr, GETELEMENTPTR); }
+#line 292 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{ RET_TOK(TermOpVal, Unreachable, UNREACHABLE); }
        YY_BREAK
 case 98:
 YY_RULE_SETUP
-#line 285 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
-{ RET_TOK(OtherOpVal, ExtractElement, EXTRACTELEMENT); }
+#line 294 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{ RET_TOK(MemOpVal, Malloc, MALLOC); }
        YY_BREAK
 case 99:
 YY_RULE_SETUP
-#line 286 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
-{ RET_TOK(OtherOpVal, InsertElement, INSERTELEMENT); }
+#line 295 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{ RET_TOK(MemOpVal, Alloca, ALLOCA); }
        YY_BREAK
 case 100:
 YY_RULE_SETUP
-#line 287 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
-{ RET_TOK(OtherOpVal, ShuffleVector, SHUFFLEVECTOR); }
+#line 296 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{ RET_TOK(MemOpVal, Free, FREE); }
        YY_BREAK
 case 101:
 YY_RULE_SETUP
-#line 290 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
+#line 297 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{ RET_TOK(MemOpVal, Load, LOAD); }
+       YY_BREAK
+case 102:
+YY_RULE_SETUP
+#line 298 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{ RET_TOK(MemOpVal, Store, STORE); }
+       YY_BREAK
+case 103:
+YY_RULE_SETUP
+#line 299 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{ RET_TOK(MemOpVal, GetElementPtr, GETELEMENTPTR); }
+       YY_BREAK
+case 104:
+YY_RULE_SETUP
+#line 301 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{ RET_TOK(OtherOpVal, ExtractElement, EXTRACTELEMENT); }
+       YY_BREAK
+case 105:
+YY_RULE_SETUP
+#line 302 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{ RET_TOK(OtherOpVal, InsertElement, INSERTELEMENT); }
+       YY_BREAK
+case 106:
+YY_RULE_SETUP
+#line 303 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+{ RET_TOK(OtherOpVal, ShuffleVector, SHUFFLEVECTOR); }
+       YY_BREAK
+case 107:
+YY_RULE_SETUP
+#line 306 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 {
                   UnEscapeLexed(yytext+1);
                   llvmAsmlval.StrVal = strdup(yytext+1);             // Skip %
                   return VAR_ID;
                 }
        YY_BREAK
-case 102:
+case 108:
 YY_RULE_SETUP
-#line 295 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
+#line 311 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 {
                   yytext[strlen(yytext)-1] = 0;  // nuke colon
                   UnEscapeLexed(yytext);
@@ -1740,9 +1799,9 @@ YY_RULE_SETUP
                   return LABELSTR;
                 }
        YY_BREAK
-case 103:
+case 109:
 YY_RULE_SETUP
-#line 301 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
+#line 317 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 {
                   yytext[strlen(yytext)-2] = 0;  // nuke colon, end quote
                   UnEscapeLexed(yytext+1);
@@ -1750,9 +1809,9 @@ YY_RULE_SETUP
                   return LABELSTR;
                 }
        YY_BREAK
-case 104:
+case 110:
 YY_RULE_SETUP
-#line 308 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
+#line 324 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { // Note that we cannot unescape a string constant here!  The
                    // string constant might contain a \00 which would not be
                    // understood by the string stuff.  It is valid to make a
@@ -1763,14 +1822,14 @@ YY_RULE_SETUP
                    return STRINGCONSTANT;
                  }
        YY_BREAK
-case 105:
+case 111:
 YY_RULE_SETUP
-#line 319 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
+#line 335 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { llvmAsmlval.UInt64Val = atoull(yytext); return EUINT64VAL; }
        YY_BREAK
-case 106:
+case 112:
 YY_RULE_SETUP
-#line 320 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
+#line 336 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 {
                   uint64_t Val = atoull(yytext+1);
                   // +1:  we have bigger negative range
@@ -1780,17 +1839,17 @@ YY_RULE_SETUP
                   return ESINT64VAL;
                 }
        YY_BREAK
-case 107:
+case 113:
 YY_RULE_SETUP
-#line 328 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
+#line 344 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 {
                    llvmAsmlval.UInt64Val = HexIntToVal(yytext+3);
                    return yytext[0] == 's' ? ESINT64VAL : EUINT64VAL;
                  }
        YY_BREAK
-case 108:
+case 114:
 YY_RULE_SETUP
-#line 333 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
+#line 349 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 {
                   uint64_t Val = atoull(yytext+1);
                   if ((unsigned)Val != Val)
@@ -1799,9 +1858,9 @@ YY_RULE_SETUP
                   return UINTVAL;
                 }
        YY_BREAK
-case 109:
+case 115:
 YY_RULE_SETUP
-#line 340 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
+#line 356 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 {
                   uint64_t Val = atoull(yytext+2);
                   // +1:  we have bigger negative range
@@ -1811,18 +1870,18 @@ YY_RULE_SETUP
                   return SINTVAL;
                 }
        YY_BREAK
-case 110:
+case 116:
 YY_RULE_SETUP
-#line 349 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
+#line 365 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { llvmAsmlval.FPVal = atof(yytext); return FPVAL; }
        YY_BREAK
-case 111:
+case 117:
 YY_RULE_SETUP
-#line 350 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
+#line 366 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { llvmAsmlval.FPVal = HexToFP(yytext); return FPVAL; }
        YY_BREAK
 case YY_STATE_EOF(INITIAL):
-#line 352 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
+#line 368 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 {
                   /* Make sure to free the internal buffers for flex when we are
                    * done reading our input!
@@ -1831,22 +1890,22 @@ case YY_STATE_EOF(INITIAL):
                   return EOF;
                 }
        YY_BREAK
-case 112:
+case 118:
 YY_RULE_SETUP
-#line 360 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
+#line 376 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { /* Ignore whitespace */ }
        YY_BREAK
-case 113:
+case 119:
 YY_RULE_SETUP
-#line 361 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
+#line 377 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 { return yytext[0]; }
        YY_BREAK
-case 114:
+case 120:
 YY_RULE_SETUP
-#line 363 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
+#line 379 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 YY_FATAL_ERROR( "flex scanner jammed" );
        YY_BREAK
-#line 1850 "Lexer.cpp"
+#line 1909 "Lexer.cpp"
 
        case YY_END_OF_BUFFER:
                {
@@ -2133,7 +2192,7 @@ static yy_state_type yy_get_previous_state()
                while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
                        {
                        yy_current_state = (int) yy_def[yy_current_state];
-                       if ( yy_current_state >= 510 )
+                       if ( yy_current_state >= 526 )
                                yy_c = yy_meta[(unsigned int) yy_c];
                        }
                yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
@@ -2163,11 +2222,11 @@ yy_state_type yy_current_state;
        while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
                {
                yy_current_state = (int) yy_def[yy_current_state];
-               if ( yy_current_state >= 510 )
+               if ( yy_current_state >= 526 )
                        yy_c = yy_meta[(unsigned int) yy_c];
                }
        yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
-       yy_is_jam = (yy_current_state == 509);
+       yy_is_jam = (yy_current_state == 525);
        if ( ! yy_is_jam )
                *yy_state_ptr++ = yy_current_state;
 
@@ -2222,6 +2281,7 @@ register char *yy_bp;
 #endif /* ifndef YY_NO_UNPUT */
 
 
+#ifndef YY_NO_INPUT
 #ifdef __cplusplus
 static int yyinput()
 #else
@@ -2295,7 +2355,7 @@ static int input()
 
        return c;
        }
-
+#endif /* YY_NO_INPUT */
 
 #ifdef YY_USE_PROTOS
 void yyrestart( FILE *input_file )
@@ -2406,11 +2466,6 @@ YY_BUFFER_STATE b;
        }
 
 
-#ifndef YY_ALWAYS_INTERACTIVE
-#ifndef YY_NEVER_INTERACTIVE
-extern int isatty YY_PROTO(( int ));
-#endif
-#endif
 
 #ifdef YY_USE_PROTOS
 void yy_init_buffer( YY_BUFFER_STATE b, FILE *file )
@@ -2728,5 +2783,5 @@ int main()
        return 0;
        }
 #endif
-#line 363 "/Users/sabre/cvs/llvm/lib/AsmParser/Lexer.l"
+#line 379 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
 
index 08a70e04d85854c3a66693111e5cc5c7368cdc04..4df84f685e64e34bbc2b025a239266d40c6edaa6 100644 (file)
@@ -39,8 +39,18 @@ void set_scan_string (const char * str) {
   yy_scan_string (str);
 }
 
+// Construct a token value for a non-obsolete token
 #define RET_TOK(type, Enum, sym) \
-  llvmAsmlval.type = Instruction::Enum; return sym
+  llvmAsmlval.type.opcode = Instruction::Enum; \
+  llvmAsmlval.type.obsolete = false; \
+  return sym
+
+// Construct a token value for an obsolete token
+#define RET_TOK_OBSOLETE(type, Enum, sym) \
+  llvmAsmlval.type.opcode = Instruction::Enum; \
+  llvmAsmlval.type.obsolete = true; \
+  return sym
+
 
 namespace llvm {
 
@@ -247,8 +257,14 @@ opaque          { return OPAQUE; }
 add             { RET_TOK(BinaryOpVal, Add, ADD); }
 sub             { RET_TOK(BinaryOpVal, Sub, SUB); }
 mul             { RET_TOK(BinaryOpVal, Mul, MUL); }
-div             { RET_TOK(BinaryOpVal, Div, DIV); }
-rem             { RET_TOK(BinaryOpVal, Rem, REM); }
+div             { RET_TOK_OBSOLETE(BinaryOpVal, UDiv, UDIV); }
+udiv            { RET_TOK(BinaryOpVal, UDiv, UDIV); }
+sdiv            { RET_TOK(BinaryOpVal, SDiv, SDIV); }
+fdiv            { RET_TOK(BinaryOpVal, FDiv, FDIV); }
+rem             { RET_TOK_OBSOLETE(BinaryOpVal, URem, UREM); }
+urem            { RET_TOK(BinaryOpVal, URem, UREM); }
+srem            { RET_TOK(BinaryOpVal, SRem, SREM); }
+frem            { RET_TOK(BinaryOpVal, FRem, FREM); }
 and             { RET_TOK(BinaryOpVal, And, AND); }
 or              { RET_TOK(BinaryOpVal, Or , OR ); }
 xor             { RET_TOK(BinaryOpVal, Xor, XOR); }
index 6837528d6c7de43f4f211cc845014f194c91b048..f8dba72ec0e9edd766a5e333411c1c61481dc44d 100644 (file)
      UDIV = 336,
      SDIV = 337,
      FDIV = 338,
-     REM = 339,
-     AND = 340,
-     OR = 341,
-     XOR = 342,
-     SETLE = 343,
-     SETGE = 344,
-     SETLT = 345,
-     SETGT = 346,
-     SETEQ = 347,
-     SETNE = 348,
-     MALLOC = 349,
-     ALLOCA = 350,
-     FREE = 351,
-     LOAD = 352,
-     STORE = 353,
-     GETELEMENTPTR = 354,
-     PHI_TOK = 355,
-     CAST = 356,
-     SELECT = 357,
-     SHL = 358,
-     SHR = 359,
-     VAARG = 360,
-     EXTRACTELEMENT = 361,
-     INSERTELEMENT = 362,
-     SHUFFLEVECTOR = 363,
-     VAARG_old = 364,
-     VANEXT_old = 365
+     UREM = 339,
+     SREM = 340,
+     FREM = 341,
+     AND = 342,
+     OR = 343,
+     XOR = 344,
+     SETLE = 345,
+     SETGE = 346,
+     SETLT = 347,
+     SETGT = 348,
+     SETEQ = 349,
+     SETNE = 350,
+     MALLOC = 351,
+     ALLOCA = 352,
+     FREE = 353,
+     LOAD = 354,
+     STORE = 355,
+     GETELEMENTPTR = 356,
+     PHI_TOK = 357,
+     CAST = 358,
+     SELECT = 359,
+     SHL = 360,
+     SHR = 361,
+     VAARG = 362,
+     EXTRACTELEMENT = 363,
+     INSERTELEMENT = 364,
+     SHUFFLEVECTOR = 365,
+     VAARG_old = 366,
+     VANEXT_old = 367
    };
 #endif
 /* Tokens.  */
 #define UDIV 336
 #define SDIV 337
 #define FDIV 338
-#define REM 339
-#define AND 340
-#define OR 341
-#define XOR 342
-#define SETLE 343
-#define SETGE 344
-#define SETLT 345
-#define SETGT 346
-#define SETEQ 347
-#define SETNE 348
-#define MALLOC 349
-#define ALLOCA 350
-#define FREE 351
-#define LOAD 352
-#define STORE 353
-#define GETELEMENTPTR 354
-#define PHI_TOK 355
-#define CAST 356
-#define SELECT 357
-#define SHL 358
-#define SHR 359
-#define VAARG 360
-#define EXTRACTELEMENT 361
-#define INSERTELEMENT 362
-#define SHUFFLEVECTOR 363
-#define VAARG_old 364
-#define VANEXT_old 365
+#define UREM 339
+#define SREM 340
+#define FREM 341
+#define AND 342
+#define OR 343
+#define XOR 344
+#define SETLE 345
+#define SETGE 346
+#define SETLT 347
+#define SETGT 348
+#define SETEQ 349
+#define SETNE 350
+#define MALLOC 351
+#define ALLOCA 352
+#define FREE 353
+#define LOAD 354
+#define STORE 355
+#define GETELEMENTPTR 356
+#define PHI_TOK 357
+#define CAST 358
+#define SELECT 359
+#define SHL 360
+#define SHR 361
+#define VAARG 362
+#define EXTRACTELEMENT 363
+#define INSERTELEMENT 364
+#define SHUFFLEVECTOR 365
+#define VAARG_old 366
+#define VANEXT_old 367
 
 
 
 
 /* Copy the first part of user declarations.  */
-#line 14 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 14 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
 
 #include "ParserInternals.h"
 #include "llvm/CallingConv.h"
@@ -1114,7 +1118,7 @@ sanitizeOpCode(OpcodeInfo<Instruction::BinaryOps> &OI, const PATypeHolder& PATy)
   // Depending on the opcode ..
   switch (OI.opcode) {
     default:
-      GenerateError("Invalid Obsolete OpCode");
+      GenerateError("Invalid obsolete opCode (check Lexer.l)");
       break;
     case Instruction::UDiv:
       // Handle cases where the opcode needs to change
@@ -1123,12 +1127,17 @@ sanitizeOpCode(OpcodeInfo<Instruction::BinaryOps> &OI, const PATypeHolder& PATy)
       else if (Ty->isSigned())
         OI.opcode = Instruction::SDiv;
       break;
+    case Instruction::URem:
+      if (Ty->isFloatingPoint()) 
+        OI.opcode = Instruction::FRem;
+      else if (Ty->isSigned())
+        OI.opcode = Instruction::SRem;
+      break;
   }
   // Its not obsolete any more, we fixed it.
   OI.obsolete = false;
 }
-
-
+  
 // common code from the two 'RunVMAsmParser' functions
 static Module* RunParser(Module * M) {
 
@@ -1305,7 +1314,7 @@ Module *llvm::RunVMAsmParser(const char * AsmString, Module * M) {
 #endif
 
 #if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED)
-#line 1011 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1016 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
 typedef union YYSTYPE {
   llvm::Module                           *ModuleVal;
   llvm::Function                         *FunctionVal;
@@ -1346,7 +1355,7 @@ typedef union YYSTYPE {
   llvm::Module::Endianness          Endianness;
 } YYSTYPE;
 /* Line 196 of yacc.c.  */
-#line 1350 "llvmAsmParser.tab.c"
+#line 1359 "llvmAsmParser.tab.c"
 # define yystype YYSTYPE /* obsolescent; will be withdrawn */
 # define YYSTYPE_IS_DECLARED 1
 # define YYSTYPE_IS_TRIVIAL 1
@@ -1358,7 +1367,7 @@ typedef union YYSTYPE {
 
 
 /* Line 219 of yacc.c.  */
-#line 1362 "llvmAsmParser.tab.c"
+#line 1371 "llvmAsmParser.tab.c"
 
 #if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__)
 # define YYSIZE_T __SIZE_TYPE__
@@ -1509,20 +1518,20 @@ union yyalloc
 /* YYFINAL -- State number of the termination state. */
 #define YYFINAL  4
 /* YYLAST -- Last index in YYTABLE.  */
-#define YYLAST   1288
+#define YYLAST   1357
 
 /* YYNTOKENS -- Number of terminals. */
-#define YYNTOKENS  125
+#define YYNTOKENS  127
 /* YYNNTS -- Number of nonterminals. */
 #define YYNNTS  75
 /* YYNRULES -- Number of rules. */
-#define YYNRULES  254
+#define YYNRULES  256
 /* YYNRULES -- Number of states. */
-#define YYNSTATES  519
+#define YYNSTATES  521
 
 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
 #define YYUNDEFTOK  2
-#define YYMAXUTOK   365
+#define YYMAXUTOK   367
 
 #define YYTRANSLATE(YYX)                                               \
   ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
@@ -1534,15 +1543,15 @@ static const unsigned char yytranslate[] =
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     114,   115,   123,     2,   112,     2,     2,     2,     2,     2,
+     116,   117,   125,     2,   114,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     119,   111,   120,     2,     2,     2,     2,     2,     2,     2,
+     121,   113,   122,     2,     2,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,   116,   113,   118,     2,     2,     2,     2,     2,   124,
+       2,   118,   115,   120,     2,     2,     2,     2,     2,   126,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     117,     2,     2,   121,     2,   122,     2,     2,     2,     2,
+     119,     2,     2,   123,     2,   124,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
@@ -1566,7 +1575,7 @@ static const unsigned char yytranslate[] =
       75,    76,    77,    78,    79,    80,    81,    82,    83,    84,
       85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
       95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
-     105,   106,   107,   108,   109,   110
+     105,   106,   107,   108,   109,   110,   111,   112
 };
 
 #if YYDEBUG
@@ -1577,148 +1586,148 @@ static const unsigned short int yyprhs[] =
        0,     0,     3,     5,     7,     9,    11,    13,    15,    17,
       19,    21,    23,    25,    27,    29,    31,    33,    35,    37,
       39,    41,    43,    45,    47,    49,    51,    53,    55,    57,
-      59,    61,    63,    65,    67,    69,    71,    74,    75,    77,
-      79,    81,    83,    85,    87,    89,    90,    91,    93,    95,
-      97,    99,   101,   103,   106,   107,   110,   111,   115,   118,
-     119,   121,   122,   126,   128,   131,   133,   135,   137,   139,
+      59,    61,    63,    65,    67,    69,    71,    73,    75,    78,
+      79,    81,    83,    85,    87,    89,    91,    93,    94,    95,
+      97,    99,   101,   103,   105,   107,   110,   111,   114,   115,
+     119,   122,   123,   125,   126,   130,   132,   135,   137,   139,
      141,   143,   145,   147,   149,   151,   153,   155,   157,   159,
-     161,   163,   165,   167,   169,   171,   173,   176,   181,   187,
-     193,   197,   200,   203,   205,   209,   211,   215,   217,   218,
-     223,   227,   231,   236,   241,   245,   248,   251,   254,   257,
-     260,   263,   266,   269,   272,   275,   282,   288,   297,   304,
-     311,   318,   325,   332,   341,   350,   354,   356,   358,   360,
-     362,   365,   368,   373,   376,   378,   383,   386,   391,   392,
-     400,   401,   409,   410,   418,   419,   427,   431,   436,   437,
-     439,   441,   443,   447,   451,   455,   459,   463,   467,   469,
-     470,   472,   474,   476,   477,   480,   484,   486,   488,   492,
-     494,   495,   504,   506,   508,   512,   514,   516,   519,   520,
-     522,   524,   525,   530,   531,   533,   535,   537,   539,   541,
-     543,   545,   547,   549,   553,   555,   561,   563,   565,   567,
-     569,   572,   575,   578,   582,   585,   586,   588,   591,   594,
-     598,   608,   618,   627,   641,   643,   645,   652,   658,   661,
-     668,   676,   678,   682,   684,   685,   688,   690,   696,   702,
-     708,   711,   716,   721,   728,   733,   738,   743,   748,   755,
-     762,   765,   773,   775,   778,   779,   781,   782,   786,   793,
-     797,   804,   807,   812,   819
+     161,   163,   165,   167,   169,   171,   173,   175,   177,   180,
+     185,   191,   197,   201,   204,   207,   209,   213,   215,   219,
+     221,   222,   227,   231,   235,   240,   245,   249,   252,   255,
+     258,   261,   264,   267,   270,   273,   276,   279,   286,   292,
+     301,   308,   315,   322,   329,   336,   345,   354,   358,   360,
+     362,   364,   366,   369,   372,   377,   380,   382,   387,   390,
+     395,   396,   404,   405,   413,   414,   422,   423,   431,   435,
+     440,   441,   443,   445,   447,   451,   455,   459,   463,   467,
+     471,   473,   474,   476,   478,   480,   481,   484,   488,   490,
+     492,   496,   498,   499,   508,   510,   512,   516,   518,   520,
+     523,   524,   526,   528,   529,   534,   535,   537,   539,   541,
+     543,   545,   547,   549,   551,   553,   557,   559,   565,   567,
+     569,   571,   573,   576,   579,   582,   586,   589,   590,   592,
+     595,   598,   602,   612,   622,   631,   645,   647,   649,   656,
+     662,   665,   672,   680,   682,   686,   688,   689,   692,   694,
+     700,   706,   712,   715,   720,   725,   732,   737,   742,   747,
+     752,   759,   766,   769,   777,   779,   782,   783,   785,   786,
+     790,   797,   801,   808,   811,   816,   823
 };
 
 /* YYRHS -- A `-1'-separated list of the rules' RHS. */
 static const short int yyrhs[] =
 {
-     156,     0,    -1,     5,    -1,     6,    -1,     3,    -1,     4,
+     158,     0,    -1,     5,    -1,     6,    -1,     3,    -1,     4,
       -1,    78,    -1,    79,    -1,    80,    -1,    81,    -1,    82,
       -1,    83,    -1,    84,    -1,    85,    -1,    86,    -1,    87,
       -1,    88,    -1,    89,    -1,    90,    -1,    91,    -1,    92,
-      -1,    93,    -1,   103,    -1,   104,    -1,    16,    -1,    14,
-      -1,    12,    -1,    10,    -1,    17,    -1,    15,    -1,    13,
-      -1,    11,    -1,   132,    -1,   133,    -1,    18,    -1,    19,
-      -1,   168,   111,    -1,    -1,    41,    -1,    42,    -1,    43,
-      -1,    44,    -1,    45,    -1,    46,    -1,    47,    -1,    -1,
-      -1,    65,    -1,    66,    -1,    67,    -1,    68,    -1,    69,
-      -1,    70,    -1,    64,     4,    -1,    -1,    57,     4,    -1,
-      -1,   112,    57,     4,    -1,    34,    24,    -1,    -1,   141,
-      -1,    -1,   112,   144,   143,    -1,   141,    -1,    57,     4,
-      -1,   147,    -1,     8,    -1,   149,    -1,     8,    -1,   149,
-      -1,     9,    -1,    10,    -1,    11,    -1,    12,    -1,    13,
-      -1,    14,    -1,    15,    -1,    16,    -1,    17,    -1,    18,
-      -1,    19,    -1,    20,    -1,    21,    -1,    48,    -1,   148,
-      -1,   183,    -1,   113,     4,    -1,   146,   114,   151,   115,
-      -1,   116,     4,   117,   149,   118,    -1,   119,     4,   117,
-     149,   120,    -1,   121,   150,   122,    -1,   121,   122,    -1,
-     149,   123,    -1,   149,    -1,   150,   112,   149,    -1,   150,
-      -1,   150,   112,    37,    -1,    37,    -1,    -1,   147,   116,
-     154,   118,    -1,   147,   116,   118,    -1,   147,   124,    24,
-      -1,   147,   119,   154,   120,    -1,   147,   121,   154,   122,
-      -1,   147,   121,   122,    -1,   147,    38,    -1,   147,    39,
-      -1,   147,   183,    -1,   147,   153,    -1,   147,    26,    -1,
-     132,   127,    -1,   133,     4,    -1,     9,    27,    -1,     9,
-      28,    -1,   135,     7,    -1,   101,   114,   152,    36,   147,
-     115,    -1,    99,   114,   152,   197,   115,    -1,   102,   114,
-     152,   112,   152,   112,   152,   115,    -1,   128,   114,   152,
-     112,   152,   115,    -1,   129,   114,   152,   112,   152,   115,
-      -1,   130,   114,   152,   112,   152,   115,    -1,   131,   114,
-     152,   112,   152,   115,    -1,   106,   114,   152,   112,   152,
-     115,    -1,   107,   114,   152,   112,   152,   112,   152,   115,
-      -1,   108,   114,   152,   112,   152,   112,   152,   115,    -1,
-     154,   112,   152,    -1,   152,    -1,    32,    -1,    33,    -1,
-     157,    -1,   157,   177,    -1,   157,   179,    -1,   157,    62,
-      61,   163,    -1,   157,    25,    -1,   158,    -1,   158,   136,
-      20,   145,    -1,   158,   179,    -1,   158,    62,    61,   163,
-      -1,    -1,   158,   136,   137,   155,   152,   159,   143,    -1,
-      -1,   158,   136,    50,   155,   147,   160,   143,    -1,    -1,
-     158,   136,    45,   155,   147,   161,   143,    -1,    -1,   158,
-     136,    47,   155,   147,   162,   143,    -1,   158,    51,   165,
-      -1,   158,    58,   111,   166,    -1,    -1,    24,    -1,    56,
-      -1,    55,    -1,    53,   111,   164,    -1,    54,   111,     4,
-      -1,    52,   111,    24,    -1,    71,   111,    24,    -1,   116,
-     167,   118,    -1,   167,   112,    24,    -1,    24,    -1,    -1,
-      22,    -1,    24,    -1,   168,    -1,    -1,   147,   169,    -1,
-     171,   112,   170,    -1,   170,    -1,   171,    -1,   171,   112,
-      37,    -1,    37,    -1,    -1,   138,   145,   168,   114,   172,
-     115,   142,   139,    -1,    29,    -1,   121,    -1,   137,   173,
-     174,    -1,    30,    -1,   122,    -1,   186,   176,    -1,    -1,
-      45,    -1,    47,    -1,    -1,    31,   180,   178,   173,    -1,
-      -1,    63,    -1,     3,    -1,     4,    -1,     7,    -1,    27,
-      -1,    28,    -1,    38,    -1,    39,    -1,    26,    -1,   119,
-     154,   120,    -1,   153,    -1,    61,   181,    24,   112,    24,
-      -1,   126,    -1,   168,    -1,   183,    -1,   182,    -1,   147,
-     184,    -1,   186,   187,    -1,   175,   187,    -1,   188,   136,
-     189,    -1,   188,   191,    -1,    -1,    23,    -1,    72,   185,
-      -1,    72,     8,    -1,    73,    21,   184,    -1,    73,     9,
-     184,   112,    21,   184,   112,    21,   184,    -1,    74,   134,
-     184,   112,    21,   184,   116,   190,   118,    -1,    74,   134,
-     184,   112,    21,   184,   116,   118,    -1,    75,   138,   145,
-     184,   114,   194,   115,    36,    21,   184,    76,    21,   184,
-      -1,    76,    -1,    77,    -1,   190,   134,   182,   112,    21,
-     184,    -1,   134,   182,   112,    21,   184,    -1,   136,   196,
-      -1,   147,   116,   184,   112,   184,   118,    -1,   192,   112,
-     116,   184,   112,   184,   118,    -1,   185,    -1,   193,   112,
-     185,    -1,   193,    -1,    -1,    60,    59,    -1,    59,    -1,
-     128,   147,   184,   112,   184,    -1,   129,   147,   184,   112,
-     184,    -1,   130,   147,   184,   112,   184,    -1,    49,   185,
-      -1,   131,   185,   112,   185,    -1,   101,   185,    36,   147,
-      -1,   102,   185,   112,   185,   112,   185,    -1,   105,   185,
-     112,   147,    -1,   109,   185,   112,   147,    -1,   110,   185,
-     112,   147,    -1,   106,   185,   112,   185,    -1,   107,   185,
-     112,   185,   112,   185,    -1,   108,   185,   112,   185,   112,
-     185,    -1,   100,   192,    -1,   195,   138,   145,   184,   114,
-     194,   115,    -1,   199,    -1,   112,   193,    -1,    -1,    35,
-      -1,    -1,    94,   147,   140,    -1,    94,   147,   112,    15,
-     184,   140,    -1,    95,   147,   140,    -1,    95,   147,   112,
-      15,   184,   140,    -1,    96,   185,    -1,   198,    97,   147,
-     184,    -1,   198,    98,   185,   112,   147,   184,    -1,    99,
-     147,   184,   197,    -1
+      -1,    93,    -1,    94,    -1,    95,    -1,   105,    -1,   106,
+      -1,    16,    -1,    14,    -1,    12,    -1,    10,    -1,    17,
+      -1,    15,    -1,    13,    -1,    11,    -1,   134,    -1,   135,
+      -1,    18,    -1,    19,    -1,   170,   113,    -1,    -1,    41,
+      -1,    42,    -1,    43,    -1,    44,    -1,    45,    -1,    46,
+      -1,    47,    -1,    -1,    -1,    65,    -1,    66,    -1,    67,
+      -1,    68,    -1,    69,    -1,    70,    -1,    64,     4,    -1,
+      -1,    57,     4,    -1,    -1,   114,    57,     4,    -1,    34,
+      24,    -1,    -1,   143,    -1,    -1,   114,   146,   145,    -1,
+     143,    -1,    57,     4,    -1,   149,    -1,     8,    -1,   151,
+      -1,     8,    -1,   151,    -1,     9,    -1,    10,    -1,    11,
+      -1,    12,    -1,    13,    -1,    14,    -1,    15,    -1,    16,
+      -1,    17,    -1,    18,    -1,    19,    -1,    20,    -1,    21,
+      -1,    48,    -1,   150,    -1,   185,    -1,   115,     4,    -1,
+     148,   116,   153,   117,    -1,   118,     4,   119,   151,   120,
+      -1,   121,     4,   119,   151,   122,    -1,   123,   152,   124,
+      -1,   123,   124,    -1,   151,   125,    -1,   151,    -1,   152,
+     114,   151,    -1,   152,    -1,   152,   114,    37,    -1,    37,
+      -1,    -1,   149,   118,   156,   120,    -1,   149,   118,   120,
+      -1,   149,   126,    24,    -1,   149,   121,   156,   122,    -1,
+     149,   123,   156,   124,    -1,   149,   123,   124,    -1,   149,
+      38,    -1,   149,    39,    -1,   149,   185,    -1,   149,   155,
+      -1,   149,    26,    -1,   134,   129,    -1,   135,     4,    -1,
+       9,    27,    -1,     9,    28,    -1,   137,     7,    -1,   103,
+     116,   154,    36,   149,   117,    -1,   101,   116,   154,   199,
+     117,    -1,   104,   116,   154,   114,   154,   114,   154,   117,
+      -1,   130,   116,   154,   114,   154,   117,    -1,   131,   116,
+     154,   114,   154,   117,    -1,   132,   116,   154,   114,   154,
+     117,    -1,   133,   116,   154,   114,   154,   117,    -1,   108,
+     116,   154,   114,   154,   117,    -1,   109,   116,   154,   114,
+     154,   114,   154,   117,    -1,   110,   116,   154,   114,   154,
+     114,   154,   117,    -1,   156,   114,   154,    -1,   154,    -1,
+      32,    -1,    33,    -1,   159,    -1,   159,   179,    -1,   159,
+     181,    -1,   159,    62,    61,   165,    -1,   159,    25,    -1,
+     160,    -1,   160,   138,    20,   147,    -1,   160,   181,    -1,
+     160,    62,    61,   165,    -1,    -1,   160,   138,   139,   157,
+     154,   161,   145,    -1,    -1,   160,   138,    50,   157,   149,
+     162,   145,    -1,    -1,   160,   138,    45,   157,   149,   163,
+     145,    -1,    -1,   160,   138,    47,   157,   149,   164,   145,
+      -1,   160,    51,   167,    -1,   160,    58,   113,   168,    -1,
+      -1,    24,    -1,    56,    -1,    55,    -1,    53,   113,   166,
+      -1,    54,   113,     4,    -1,    52,   113,    24,    -1,    71,
+     113,    24,    -1,   118,   169,   120,    -1,   169,   114,    24,
+      -1,    24,    -1,    -1,    22,    -1,    24,    -1,   170,    -1,
+      -1,   149,   171,    -1,   173,   114,   172,    -1,   172,    -1,
+     173,    -1,   173,   114,    37,    -1,    37,    -1,    -1,   140,
+     147,   170,   116,   174,   117,   144,   141,    -1,    29,    -1,
+     123,    -1,   139,   175,   176,    -1,    30,    -1,   124,    -1,
+     188,   178,    -1,    -1,    45,    -1,    47,    -1,    -1,    31,
+     182,   180,   175,    -1,    -1,    63,    -1,     3,    -1,     4,
+      -1,     7,    -1,    27,    -1,    28,    -1,    38,    -1,    39,
+      -1,    26,    -1,   121,   156,   122,    -1,   155,    -1,    61,
+     183,    24,   114,    24,    -1,   128,    -1,   170,    -1,   185,
+      -1,   184,    -1,   149,   186,    -1,   188,   189,    -1,   177,
+     189,    -1,   190,   138,   191,    -1,   190,   193,    -1,    -1,
+      23,    -1,    72,   187,    -1,    72,     8,    -1,    73,    21,
+     186,    -1,    73,     9,   186,   114,    21,   186,   114,    21,
+     186,    -1,    74,   136,   186,   114,    21,   186,   118,   192,
+     120,    -1,    74,   136,   186,   114,    21,   186,   118,   120,
+      -1,    75,   140,   147,   186,   116,   196,   117,    36,    21,
+     186,    76,    21,   186,    -1,    76,    -1,    77,    -1,   192,
+     136,   184,   114,    21,   186,    -1,   136,   184,   114,    21,
+     186,    -1,   138,   198,    -1,   149,   118,   186,   114,   186,
+     120,    -1,   194,   114,   118,   186,   114,   186,   120,    -1,
+     187,    -1,   195,   114,   187,    -1,   195,    -1,    -1,    60,
+      59,    -1,    59,    -1,   130,   149,   186,   114,   186,    -1,
+     131,   149,   186,   114,   186,    -1,   132,   149,   186,   114,
+     186,    -1,    49,   187,    -1,   133,   187,   114,   187,    -1,
+     103,   187,    36,   149,    -1,   104,   187,   114,   187,   114,
+     187,    -1,   107,   187,   114,   149,    -1,   111,   187,   114,
+     149,    -1,   112,   187,   114,   149,    -1,   108,   187,   114,
+     187,    -1,   109,   187,   114,   187,   114,   187,    -1,   110,
+     187,   114,   187,   114,   187,    -1,   102,   194,    -1,   197,
+     140,   147,   186,   116,   196,   117,    -1,   201,    -1,   114,
+     195,    -1,    -1,    35,    -1,    -1,    96,   149,   142,    -1,
+      96,   149,   114,    15,   186,   142,    -1,    97,   149,   142,
+      -1,    97,   149,   114,    15,   186,   142,    -1,    98,   187,
+      -1,   200,    99,   149,   186,    -1,   200,   100,   187,   114,
+     149,   186,    -1,   101,   149,   186,   199,    -1
 };
 
 /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
 static const unsigned short int yyrline[] =
 {
-       0,  1134,  1134,  1135,  1143,  1144,  1154,  1154,  1154,  1154,
-    1154,  1154,  1154,  1155,  1155,  1155,  1156,  1156,  1156,  1156,
-    1156,  1156,  1158,  1158,  1162,  1162,  1162,  1162,  1163,  1163,
-    1163,  1163,  1164,  1164,  1165,  1165,  1168,  1172,  1177,  1178,
-    1179,  1180,  1181,  1182,  1183,  1184,  1186,  1187,  1188,  1189,
-    1190,  1191,  1192,  1193,  1202,  1203,  1209,  1210,  1218,  1226,
-    1227,  1232,  1233,  1234,  1239,  1253,  1253,  1254,  1254,  1256,
-    1266,  1266,  1266,  1266,  1266,  1266,  1266,  1267,  1267,  1267,
-    1267,  1267,  1267,  1268,  1272,  1276,  1284,  1292,  1305,  1310,
-    1322,  1332,  1336,  1347,  1352,  1358,  1359,  1363,  1367,  1378,
-    1404,  1418,  1448,  1474,  1495,  1508,  1518,  1523,  1584,  1591,
-    1600,  1606,  1612,  1616,  1620,  1628,  1639,  1671,  1679,  1706,
-    1717,  1723,  1731,  1737,  1743,  1752,  1756,  1764,  1764,  1774,
-    1782,  1787,  1791,  1795,  1799,  1814,  1836,  1839,  1842,  1842,
-    1850,  1850,  1858,  1858,  1866,  1866,  1875,  1878,  1881,  1885,
-    1898,  1899,  1901,  1905,  1914,  1918,  1923,  1925,  1930,  1935,
-    1944,  1944,  1945,  1945,  1947,  1954,  1960,  1967,  1971,  1977,
-    1982,  1987,  2082,  2082,  2084,  2092,  2092,  2094,  2099,  2100,
-    2101,  2103,  2103,  2113,  2117,  2122,  2126,  2130,  2134,  2138,
-    2142,  2146,  2150,  2154,  2179,  2183,  2197,  2201,  2207,  2207,
-    2213,  2218,  2222,  2231,  2242,  2247,  2259,  2272,  2276,  2280,
-    2285,  2294,  2313,  2322,  2378,  2382,  2389,  2400,  2413,  2422,
-    2431,  2441,  2445,  2452,  2452,  2454,  2458,  2463,  2482,  2497,
-    2511,  2524,  2532,  2540,  2548,  2554,  2574,  2597,  2603,  2609,
-    2615,  2630,  2689,  2696,  2699,  2704,  2708,  2715,  2720,  2726,
-    2731,  2737,  2745,  2757,  2772
+       0,  1139,  1139,  1140,  1148,  1149,  1159,  1159,  1159,  1159,
+    1159,  1159,  1159,  1159,  1159,  1160,  1160,  1160,  1161,  1161,
+    1161,  1161,  1161,  1161,  1163,  1163,  1167,  1167,  1167,  1167,
+    1168,  1168,  1168,  1168,  1169,  1169,  1170,  1170,  1173,  1177,
+    1182,  1183,  1184,  1185,  1186,  1187,  1188,  1189,  1191,  1192,
+    1193,  1194,  1195,  1196,  1197,  1198,  1207,  1208,  1214,  1215,
+    1223,  1231,  1232,  1237,  1238,  1239,  1244,  1258,  1258,  1259,
+    1259,  1261,  1271,  1271,  1271,  1271,  1271,  1271,  1271,  1272,
+    1272,  1272,  1272,  1272,  1272,  1273,  1277,  1281,  1289,  1297,
+    1310,  1315,  1327,  1337,  1341,  1352,  1357,  1363,  1364,  1368,
+    1372,  1383,  1409,  1423,  1453,  1479,  1500,  1513,  1523,  1528,
+    1589,  1596,  1605,  1611,  1617,  1621,  1625,  1633,  1644,  1676,
+    1684,  1711,  1722,  1728,  1736,  1742,  1748,  1757,  1761,  1769,
+    1769,  1779,  1787,  1792,  1796,  1800,  1804,  1819,  1841,  1844,
+    1847,  1847,  1855,  1855,  1863,  1863,  1871,  1871,  1880,  1883,
+    1886,  1890,  1903,  1904,  1906,  1910,  1919,  1923,  1928,  1930,
+    1935,  1940,  1949,  1949,  1950,  1950,  1952,  1959,  1965,  1972,
+    1976,  1982,  1987,  1992,  2087,  2087,  2089,  2097,  2097,  2099,
+    2104,  2105,  2106,  2108,  2108,  2118,  2122,  2127,  2131,  2135,
+    2139,  2143,  2147,  2151,  2155,  2159,  2184,  2188,  2202,  2206,
+    2212,  2212,  2218,  2223,  2227,  2236,  2247,  2252,  2264,  2277,
+    2281,  2285,  2290,  2299,  2318,  2327,  2383,  2387,  2394,  2405,
+    2418,  2427,  2436,  2446,  2450,  2457,  2457,  2459,  2463,  2468,
+    2490,  2505,  2519,  2532,  2540,  2548,  2556,  2562,  2582,  2605,
+    2611,  2617,  2623,  2638,  2697,  2704,  2707,  2712,  2716,  2723,
+    2728,  2734,  2739,  2745,  2753,  2765,  2780
 };
 #endif
 
@@ -1740,27 +1749,28 @@ static const char *const yytname[] =
   "SIDEEFFECT", "CC_TOK", "CCC_TOK", "CSRETCC_TOK", "FASTCC_TOK",
   "COLDCC_TOK", "X86_STDCALLCC_TOK", "X86_FASTCALLCC_TOK", "DATALAYOUT",
   "RET", "BR", "SWITCH", "INVOKE", "UNWIND", "UNREACHABLE", "ADD", "SUB",
-  "MUL", "UDIV", "SDIV", "FDIV", "REM", "AND", "OR", "XOR", "SETLE",
-  "SETGE", "SETLT", "SETGT", "SETEQ", "SETNE", "MALLOC", "ALLOCA", "FREE",
-  "LOAD", "STORE", "GETELEMENTPTR", "PHI_TOK", "CAST", "SELECT", "SHL",
-  "SHR", "VAARG", "EXTRACTELEMENT", "INSERTELEMENT", "SHUFFLEVECTOR",
-  "VAARG_old", "VANEXT_old", "'='", "','", "'\\\\'", "'('", "')'", "'['",
-  "'x'", "']'", "'<'", "'>'", "'{'", "'}'", "'*'", "'c'", "$accept",
-  "INTVAL", "EINT64VAL", "ArithmeticOps", "LogicalOps", "SetCondOps",
-  "ShiftOps", "SIntType", "UIntType", "IntType", "FPType", "OptAssign",
-  "OptLinkage", "OptCallingConv", "OptAlign", "OptCAlign", "SectionString",
-  "OptSection", "GlobalVarAttributes", "GlobalVarAttribute", "TypesV",
-  "UpRTypesV", "Types", "PrimType", "UpRTypes", "TypeListI",
-  "ArgTypeListI", "ConstVal", "ConstExpr", "ConstVector", "GlobalType",
-  "Module", "FunctionList", "ConstPool", "@1", "@2", "@3", "@4",
-  "AsmBlock", "BigOrLittle", "TargetDefinition", "LibrariesDefinition",
-  "LibList", "Name", "OptName", "ArgVal", "ArgListH", "ArgList",
-  "FunctionHeaderH", "BEGIN", "FunctionHeader", "END", "Function",
-  "FnDeclareLinkage", "FunctionProto", "@5", "OptSideEffect",
-  "ConstValueRef", "SymbolicValueRef", "ValueRef", "ResolvedVal",
-  "BasicBlockList", "BasicBlock", "InstructionList", "BBTerminatorInst",
-  "JumpTable", "Inst", "PHIList", "ValueRefList", "ValueRefListE",
-  "OptTailCall", "InstVal", "IndexList", "OptVolatile", "MemoryInst", 0
+  "MUL", "UDIV", "SDIV", "FDIV", "UREM", "SREM", "FREM", "AND", "OR",
+  "XOR", "SETLE", "SETGE", "SETLT", "SETGT", "SETEQ", "SETNE", "MALLOC",
+  "ALLOCA", "FREE", "LOAD", "STORE", "GETELEMENTPTR", "PHI_TOK", "CAST",
+  "SELECT", "SHL", "SHR", "VAARG", "EXTRACTELEMENT", "INSERTELEMENT",
+  "SHUFFLEVECTOR", "VAARG_old", "VANEXT_old", "'='", "','", "'\\\\'",
+  "'('", "')'", "'['", "'x'", "']'", "'<'", "'>'", "'{'", "'}'", "'*'",
+  "'c'", "$accept", "INTVAL", "EINT64VAL", "ArithmeticOps", "LogicalOps",
+  "SetCondOps", "ShiftOps", "SIntType", "UIntType", "IntType", "FPType",
+  "OptAssign", "OptLinkage", "OptCallingConv", "OptAlign", "OptCAlign",
+  "SectionString", "OptSection", "GlobalVarAttributes",
+  "GlobalVarAttribute", "TypesV", "UpRTypesV", "Types", "PrimType",
+  "UpRTypes", "TypeListI", "ArgTypeListI", "ConstVal", "ConstExpr",
+  "ConstVector", "GlobalType", "Module", "FunctionList", "ConstPool", "@1",
+  "@2", "@3", "@4", "AsmBlock", "BigOrLittle", "TargetDefinition",
+  "LibrariesDefinition", "LibList", "Name", "OptName", "ArgVal",
+  "ArgListH", "ArgList", "FunctionHeaderH", "BEGIN", "FunctionHeader",
+  "END", "Function", "FnDeclareLinkage", "FunctionProto", "@5",
+  "OptSideEffect", "ConstValueRef", "SymbolicValueRef", "ValueRef",
+  "ResolvedVal", "BasicBlockList", "BasicBlock", "InstructionList",
+  "BBTerminatorInst", "JumpTable", "Inst", "PHIList", "ValueRefList",
+  "ValueRefListE", "OptTailCall", "InstVal", "IndexList", "OptVolatile",
+  "MemoryInst", 0
 };
 #endif
 
@@ -1780,40 +1790,40 @@ static const unsigned short int yytoknum[] =
      335,   336,   337,   338,   339,   340,   341,   342,   343,   344,
      345,   346,   347,   348,   349,   350,   351,   352,   353,   354,
      355,   356,   357,   358,   359,   360,   361,   362,   363,   364,
-     365,    61,    44,    92,    40,    41,    91,   120,    93,    60,
-      62,   123,   125,    42,    99
+     365,   366,   367,    61,    44,    92,    40,    41,    91,   120,
+      93,    60,    62,   123,   125,    42,    99
 };
 # endif
 
 /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
 static const unsigned char yyr1[] =
 {
-       0,   125,   126,   126,   127,   127,   128,   128,   128,   128,
-     128,   128,   128,   129,   129,   129,   130,   130,   130,   130,
-     130,   130,   131,   131,   132,   132,   132,   132,   133,   133,
-     133,   133,   134,   134,   135,   135,   136,   136,   137,   137,
-     137,   137,   137,   137,   137,   137,   138,   138,   138,   138,
-     138,   138,   138,   138,   139,   139,   140,   140,   141,   142,
-     142,   143,   143,   144,   144,   145,   145,   146,   146,   147,
-     148,   148,   148,   148,   148,   148,   148,   148,   148,   148,
-     148,   148,   148,   149,   149,   149,   149,   149,   149,   149,
-     149,   149,   149,   150,   150,   151,   151,   151,   151,   152,
-     152,   152,   152,   152,   152,   152,   152,   152,   152,   152,
-     152,   152,   152,   152,   152,   153,   153,   153,   153,   153,
-     153,   153,   153,   153,   153,   154,   154,   155,   155,   156,
-     157,   157,   157,   157,   157,   158,   158,   158,   159,   158,
-     160,   158,   161,   158,   162,   158,   158,   158,   158,   163,
-     164,   164,   165,   165,   165,   165,   166,   167,   167,   167,
-     168,   168,   169,   169,   170,   171,   171,   172,   172,   172,
-     172,   173,   174,   174,   175,   176,   176,   177,   178,   178,
-     178,   180,   179,   181,   181,   182,   182,   182,   182,   182,
-     182,   182,   182,   182,   182,   182,   183,   183,   184,   184,
-     185,   186,   186,   187,   188,   188,   188,   189,   189,   189,
-     189,   189,   189,   189,   189,   189,   190,   190,   191,   192,
-     192,   193,   193,   194,   194,   195,   195,   196,   196,   196,
-     196,   196,   196,   196,   196,   196,   196,   196,   196,   196,
-     196,   196,   196,   197,   197,   198,   198,   199,   199,   199,
-     199,   199,   199,   199,   199
+       0,   127,   128,   128,   129,   129,   130,   130,   130,   130,
+     130,   130,   130,   130,   130,   131,   131,   131,   132,   132,
+     132,   132,   132,   132,   133,   133,   134,   134,   134,   134,
+     135,   135,   135,   135,   136,   136,   137,   137,   138,   138,
+     139,   139,   139,   139,   139,   139,   139,   139,   140,   140,
+     140,   140,   140,   140,   140,   140,   141,   141,   142,   142,
+     143,   144,   144,   145,   145,   146,   146,   147,   147,   148,
+     148,   149,   150,   150,   150,   150,   150,   150,   150,   150,
+     150,   150,   150,   150,   150,   151,   151,   151,   151,   151,
+     151,   151,   151,   151,   151,   152,   152,   153,   153,   153,
+     153,   154,   154,   154,   154,   154,   154,   154,   154,   154,
+     154,   154,   154,   154,   154,   154,   154,   155,   155,   155,
+     155,   155,   155,   155,   155,   155,   155,   156,   156,   157,
+     157,   158,   159,   159,   159,   159,   159,   160,   160,   160,
+     161,   160,   162,   160,   163,   160,   164,   160,   160,   160,
+     160,   165,   166,   166,   167,   167,   167,   167,   168,   169,
+     169,   169,   170,   170,   171,   171,   172,   173,   173,   174,
+     174,   174,   174,   175,   176,   176,   177,   178,   178,   179,
+     180,   180,   180,   182,   181,   183,   183,   184,   184,   184,
+     184,   184,   184,   184,   184,   184,   184,   184,   185,   185,
+     186,   186,   187,   188,   188,   189,   190,   190,   190,   191,
+     191,   191,   191,   191,   191,   191,   191,   191,   192,   192,
+     193,   194,   194,   195,   195,   196,   196,   197,   197,   198,
+     198,   198,   198,   198,   198,   198,   198,   198,   198,   198,
+     198,   198,   198,   198,   198,   199,   199,   200,   200,   201,
+     201,   201,   201,   201,   201,   201,   201
 };
 
 /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */
@@ -1822,502 +1832,519 @@ static const unsigned char yyr2[] =
        0,     2,     1,     1,     1,     1,     1,     1,     1,     1,
        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-       1,     1,     1,     1,     1,     1,     2,     0,     1,     1,
-       1,     1,     1,     1,     1,     0,     0,     1,     1,     1,
-       1,     1,     1,     2,     0,     2,     0,     3,     2,     0,
-       1,     0,     3,     1,     2,     1,     1,     1,     1,     1,
+       1,     1,     1,     1,     1,     1,     1,     1,     2,     0,
+       1,     1,     1,     1,     1,     1,     1,     0,     0,     1,
+       1,     1,     1,     1,     1,     2,     0,     2,     0,     3,
+       2,     0,     1,     0,     3,     1,     2,     1,     1,     1,
        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-       1,     1,     1,     1,     1,     1,     2,     4,     5,     5,
-       3,     2,     2,     1,     3,     1,     3,     1,     0,     4,
-       3,     3,     4,     4,     3,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     6,     5,     8,     6,     6,
-       6,     6,     6,     8,     8,     3,     1,     1,     1,     1,
-       2,     2,     4,     2,     1,     4,     2,     4,     0,     7,
-       0,     7,     0,     7,     0,     7,     3,     4,     0,     1,
-       1,     1,     3,     3,     3,     3,     3,     3,     1,     0,
-       1,     1,     1,     0,     2,     3,     1,     1,     3,     1,
-       0,     8,     1,     1,     3,     1,     1,     2,     0,     1,
-       1,     0,     4,     0,     1,     1,     1,     1,     1,     1,
-       1,     1,     1,     3,     1,     5,     1,     1,     1,     1,
-       2,     2,     2,     3,     2,     0,     1,     2,     2,     3,
-       9,     9,     8,    13,     1,     1,     6,     5,     2,     6,
-       7,     1,     3,     1,     0,     2,     1,     5,     5,     5,
-       2,     4,     4,     6,     4,     4,     4,     4,     6,     6,
-       2,     7,     1,     2,     0,     1,     0,     3,     6,     3,
-       6,     2,     4,     6,     4
+       1,     1,     1,     1,     1,     1,     1,     1,     2,     4,
+       5,     5,     3,     2,     2,     1,     3,     1,     3,     1,
+       0,     4,     3,     3,     4,     4,     3,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     6,     5,     8,
+       6,     6,     6,     6,     6,     8,     8,     3,     1,     1,
+       1,     1,     2,     2,     4,     2,     1,     4,     2,     4,
+       0,     7,     0,     7,     0,     7,     0,     7,     3,     4,
+       0,     1,     1,     1,     3,     3,     3,     3,     3,     3,
+       1,     0,     1,     1,     1,     0,     2,     3,     1,     1,
+       3,     1,     0,     8,     1,     1,     3,     1,     1,     2,
+       0,     1,     1,     0,     4,     0,     1,     1,     1,     1,
+       1,     1,     1,     1,     1,     3,     1,     5,     1,     1,
+       1,     1,     2,     2,     2,     3,     2,     0,     1,     2,
+       2,     3,     9,     9,     8,    13,     1,     1,     6,     5,
+       2,     6,     7,     1,     3,     1,     0,     2,     1,     5,
+       5,     5,     2,     4,     4,     6,     4,     4,     4,     4,
+       6,     6,     2,     7,     1,     2,     0,     1,     0,     3,
+       6,     3,     6,     2,     4,     6,     4
 };
 
 /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
    STATE-NUM when YYTABLE doesn't specify something else to do.  Zero
    means the default is an error.  */
-static const unsigned char yydefact[] =
+static const unsigned short int yydefact[] =
 {
-     148,     0,    45,   134,     1,   133,   181,    38,    39,    40,
-      41,    42,    43,    44,     0,    46,   205,   130,   131,   205,
-     160,   161,     0,     0,     0,    45,     0,   136,   178,     0,
-       0,    47,    48,    49,    50,    51,    52,     0,     0,   206,
-     202,    37,   175,   176,   177,   201,     0,     0,     0,     0,
-     146,     0,     0,     0,     0,     0,     0,     0,    36,   179,
-     180,    46,   149,   132,    53,     2,     3,    66,    70,    71,
-      72,    73,    74,    75,    76,    77,    78,    79,    80,    81,
-      82,    83,     0,     0,     0,     0,   196,     0,     0,    65,
-      84,    69,   197,    85,   172,   173,   174,   246,   204,     0,
-       0,     0,     0,   159,   147,   137,   135,   127,   128,     0,
-       0,     0,     0,   182,    86,     0,     0,    68,    91,    93,
-       0,     0,    98,    92,   245,     0,   226,     0,     0,     0,
-       0,    46,   214,   215,     6,     7,     8,     9,    10,    11,
+     150,     0,    47,   136,     1,   135,   183,    40,    41,    42,
+      43,    44,    45,    46,     0,    48,   207,   132,   133,   207,
+     162,   163,     0,     0,     0,    47,     0,   138,   180,     0,
+       0,    49,    50,    51,    52,    53,    54,     0,     0,   208,
+     204,    39,   177,   178,   179,   203,     0,     0,     0,     0,
+     148,     0,     0,     0,     0,     0,     0,     0,    38,   181,
+     182,    48,   151,   134,    55,     2,     3,    68,    72,    73,
+      74,    75,    76,    77,    78,    79,    80,    81,    82,    83,
+      84,    85,     0,     0,     0,     0,   198,     0,     0,    67,
+      86,    71,   199,    87,   174,   175,   176,   248,   206,     0,
+       0,     0,     0,   161,   149,   139,   137,   129,   130,     0,
+       0,     0,     0,   184,    88,     0,     0,    70,    93,    95,
+       0,     0,   100,    94,   247,     0,   228,     0,     0,     0,
+       0,    48,   216,   217,     6,     7,     8,     9,    10,    11,
       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
-       0,     0,     0,     0,     0,     0,     0,    22,    23,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,   203,
-      46,   218,     0,   242,   154,   151,   150,   152,   153,   155,
-     158,     0,   142,   144,   140,    70,    71,    72,    73,    74,
-      75,    76,    77,    78,    79,    80,     0,     0,     0,     0,
-     138,     0,     0,     0,    90,   170,    97,    95,     0,     0,
-     230,   225,   208,   207,     0,     0,    27,    31,    26,    30,
-      25,    29,    24,    28,    32,    33,     0,     0,    56,    56,
-     251,     0,     0,   240,     0,     0,     0,     0,     0,     0,
+      22,    23,     0,     0,     0,     0,     0,     0,     0,    24,
+      25,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,   205,    48,   220,     0,   244,   156,   153,   152,   154,
+     155,   157,   160,     0,   144,   146,   142,    72,    73,    74,
+      75,    76,    77,    78,    79,    80,    81,    82,     0,     0,
+       0,     0,   140,     0,     0,     0,    92,   172,    99,    97,
+       0,     0,   232,   227,   210,   209,     0,     0,    29,    33,
+      28,    32,    27,    31,    26,    30,    34,    35,     0,     0,
+      58,    58,   253,     0,     0,   242,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-     156,    61,    61,    61,   112,   113,     4,     5,   110,   111,
-     114,   109,   105,   106,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,   108,   107,
-      61,    67,    67,    94,   169,   163,   166,   167,     0,     0,
-      87,   185,   186,   187,   192,   188,   189,   190,   191,   183,
-       0,   194,   199,   198,   200,     0,   209,     0,     0,     0,
-     247,     0,   249,   244,     0,     0,     0,     0,     0,     0,
+       0,     0,   158,    63,    63,    63,   114,   115,     4,     5,
+     112,   113,   116,   111,   107,   108,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,   157,     0,   143,   145,   141,     0,     0,     0,     0,
-       0,     0,   100,   126,     0,     0,   104,     0,   101,     0,
-       0,     0,     0,   139,    88,    89,   162,   164,     0,    59,
-      96,   184,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,   254,     0,     0,   232,     0,   234,   237,     0,     0,
-     235,   236,     0,     0,     0,   231,     0,   252,     0,     0,
-       0,    63,    61,   244,     0,     0,     0,     0,     0,     0,
-      99,   102,   103,     0,     0,     0,     0,   168,   165,    60,
-      54,     0,   193,     0,     0,   224,    56,    57,    56,   221,
-     243,     0,     0,     0,     0,     0,   227,   228,   229,   224,
-       0,    58,    64,    62,     0,     0,     0,     0,     0,     0,
-     125,     0,     0,     0,     0,     0,   171,     0,     0,     0,
-     223,     0,     0,   248,   250,     0,     0,     0,   233,   238,
-     239,     0,   253,   116,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,    55,   195,     0,     0,     0,   222,   219,
-       0,   241,   115,     0,   122,     0,     0,   118,   119,   120,
-     121,     0,   212,     0,     0,     0,   220,     0,     0,     0,
-     210,     0,   211,     0,     0,   117,   123,   124,     0,     0,
-       0,     0,     0,     0,   217,     0,     0,   216,   213
+     110,   109,    63,    69,    69,    96,   171,   165,   168,   169,
+       0,     0,    89,   187,   188,   189,   194,   190,   191,   192,
+     193,   185,     0,   196,   201,   200,   202,     0,   211,     0,
+       0,     0,   249,     0,   251,   246,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,   159,     0,   145,   147,   143,     0,     0,
+       0,     0,     0,     0,   102,   128,     0,     0,   106,     0,
+     103,     0,     0,     0,     0,   141,    90,    91,   164,   166,
+       0,    61,    98,   186,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,   256,     0,     0,   234,     0,   236,   239,
+       0,     0,   237,   238,     0,     0,     0,   233,     0,   254,
+       0,     0,     0,    65,    63,   246,     0,     0,     0,     0,
+       0,     0,   101,   104,   105,     0,     0,     0,     0,   170,
+     167,    62,    56,     0,   195,     0,     0,   226,    58,    59,
+      58,   223,   245,     0,     0,     0,     0,     0,   229,   230,
+     231,   226,     0,    60,    66,    64,     0,     0,     0,     0,
+       0,     0,   127,     0,     0,     0,     0,     0,   173,     0,
+       0,     0,   225,     0,     0,   250,   252,     0,     0,     0,
+     235,   240,   241,     0,   255,   118,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,    57,   197,     0,     0,     0,
+     224,   221,     0,   243,   117,     0,   124,     0,     0,   120,
+     121,   122,   123,     0,   214,     0,     0,     0,   222,     0,
+       0,     0,   212,     0,   213,     0,     0,   119,   125,   126,
+       0,     0,     0,     0,     0,     0,   219,     0,     0,   218,
+     215
 };
 
 /* YYDEFGOTO[NTERM-NUM]. */
 static const short int yydefgoto[] =
 {
-      -1,    86,   258,   274,   275,   276,   277,   196,   197,   226,
-     198,    25,    15,    37,   446,   310,   391,   410,   333,   392,
-      87,    88,   199,    90,    91,   120,   208,   343,   301,   344,
-     109,     1,     2,     3,   280,   253,   251,   252,    63,   177,
-      50,   104,   181,    92,   357,   286,   287,   288,    38,    96,
-      16,    44,    17,    61,    18,    28,   362,   302,    93,   304,
-     419,    19,    40,    41,   169,   494,    98,   233,   450,   451,
-     170,   171,   371,   172,   173
+      -1,    86,   260,   276,   277,   278,   279,   198,   199,   228,
+     200,    25,    15,    37,   448,   312,   393,   412,   335,   394,
+      87,    88,   201,    90,    91,   120,   210,   345,   303,   346,
+     109,     1,     2,     3,   282,   255,   253,   254,    63,   179,
+      50,   104,   183,    92,   359,   288,   289,   290,    38,    96,
+      16,    44,    17,    61,    18,    28,   364,   304,    93,   306,
+     421,    19,    40,    41,   171,   496,    98,   235,   452,   453,
+     172,   173,   373,   174,   175
 };
 
 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
    STATE-NUM.  */
-#define YYPACT_NINF -463
+#define YYPACT_NINF -447
 static const short int yypact[] =
 {
-    -463,    42,   182,   621,  -463,  -463,  -463,  -463,  -463,  -463,
-    -463,  -463,  -463,  -463,   -15,   347,    64,  -463,  -463,   -12,
-    -463,  -463,    15,     1,    33,   360,    10,  -463,    89,   114,
-     140,  -463,  -463,  -463,  -463,  -463,  -463,  1005,    -1,  -463,
-    -463,   115,  -463,  -463,  -463,  -463,    40,    56,    67,    68,
-    -463,    59,   114,  1005,    51,    51,    51,    51,  -463,  -463,
-    -463,   347,  -463,  -463,  -463,  -463,  -463,    66,  -463,  -463,
-    -463,  -463,  -463,  -463,  -463,  -463,  -463,  -463,  -463,  -463,
-    -463,  -463,   172,   177,   180,   489,  -463,   115,    74,  -463,
-    -463,   -97,  -463,  -463,  -463,  -463,  -463,  1178,  -463,   165,
-     -17,   188,   170,   171,  -463,  -463,  -463,  -463,  -463,  1046,
-    1046,  1046,  1087,  -463,  -463,    80,    81,  -463,  -463,   -97,
-     -91,    85,   838,  -463,  -463,  1046,  -463,   142,  1128,     6,
-     248,   347,  -463,  -463,  -463,  -463,  -463,  -463,  -463,  -463,
-    -463,  -463,  -463,  -463,  -463,  -463,  -463,  -463,  -463,  -463,
-    1046,  1046,  1046,  1046,  1046,  1046,  1046,  -463,  -463,  1046,
-    1046,  1046,  1046,  1046,  1046,  1046,  1046,  1046,  1046,  -463,
-     347,  -463,    35,  -463,  -463,  -463,  -463,  -463,  -463,  -463,
-    -463,   -48,  -463,  -463,  -463,   113,   146,   198,   150,   200,
-     152,   213,   167,   214,   212,   223,   169,   216,   224,   443,
-    -463,  1046,  1046,  1046,  -463,   879,  -463,   109,   117,   620,
-    -463,  -463,    66,  -463,   620,   620,  -463,  -463,  -463,  -463,
-    -463,  -463,  -463,  -463,  -463,  -463,   620,  1005,   128,   129,
-    -463,   620,   126,   131,   209,   134,   141,   143,   144,   154,
-     156,   157,   620,   620,   620,   158,  1005,  1046,  1046,   228,
-    -463,   161,   161,   161,  -463,  -463,  -463,  -463,  -463,  -463,
-    -463,  -463,  -463,  -463,   160,   164,   175,   178,   181,   184,
-      87,  1087,   574,   230,   185,   186,   187,   189,  -463,  -463,
-     161,   -33,  -101,   -97,  -463,   115,  -463,   163,   176,   923,
-    -463,  -463,  -463,  -463,  -463,  -463,  -463,  -463,  -463,   231,
-    1087,  -463,  -463,  -463,  -463,   190,  -463,   195,   620,    -9,
-    -463,    -8,  -463,   196,   620,   193,  1046,  1046,  1046,  1046,
-    1046,  1046,  1046,  1046,   199,   201,   202,  1046,   620,   620,
-     203,  -463,   -22,  -463,  -463,  -463,  1087,  1087,  1087,  1087,
-    1087,  1087,  -463,  -463,   -47,   -79,  -463,   -82,  -463,  1087,
-    1087,  1087,  1087,  -463,  -463,  -463,  -463,  -463,   964,   262,
-    -463,  -463,   293,   -75,   301,   302,   210,   620,   324,   620,
-    1046,  -463,   217,   620,  -463,   218,  -463,  -463,   219,   220,
-    -463,  -463,   620,   620,   620,  -463,   229,  -463,  1046,   314,
-     340,  -463,   161,   196,   309,   234,   237,   240,   241,  1087,
-    -463,  -463,  -463,   242,   243,   246,   247,  -463,  -463,  -463,
-     303,   249,  -463,   620,   620,  1046,   250,  -463,   250,  -463,
-     251,   620,   255,  1046,  1046,  1046,  -463,  -463,  -463,  1046,
-     620,  -463,  -463,  -463,   253,  1046,  1087,  1087,  1087,  1087,
-    -463,  1087,  1087,  1087,  1087,   365,  -463,   348,   259,   258,
-     251,   260,   320,  -463,  -463,  1046,   261,   620,  -463,  -463,
-    -463,   267,  -463,  -463,   270,   277,   278,   282,   283,   281,
-     284,   294,   304,  -463,  -463,   376,    65,   372,  -463,  -463,
-     305,  -463,  -463,  1087,  -463,  1087,  1087,  -463,  -463,  -463,
-    -463,   620,  -463,   726,   149,   399,  -463,   306,   307,   310,
-    -463,   312,  -463,   726,   620,  -463,  -463,  -463,   405,   315,
-     352,   620,   409,   411,  -463,   620,   620,  -463,  -463
+    -447,    33,   122,   610,  -447,  -447,  -447,  -447,  -447,  -447,
+    -447,  -447,  -447,  -447,   -13,   161,    47,  -447,  -447,   -15,
+    -447,  -447,    15,    10,    91,    -6,    48,  -447,    19,   138,
+     168,  -447,  -447,  -447,  -447,  -447,  -447,  1070,   -20,  -447,
+    -447,    70,  -447,  -447,  -447,  -447,    60,    61,    64,    67,
+    -447,    63,   138,  1070,   106,   106,   106,   106,  -447,  -447,
+    -447,   161,  -447,  -447,  -447,  -447,  -447,    59,  -447,  -447,
+    -447,  -447,  -447,  -447,  -447,  -447,  -447,  -447,  -447,  -447,
+    -447,  -447,   174,   178,   179,   576,  -447,    70,    74,  -447,
+    -447,   -54,  -447,  -447,  -447,  -447,  -447,  1245,  -447,   162,
+     -44,   190,   171,   172,  -447,  -447,  -447,  -447,  -447,  1111,
+    1111,  1111,  1152,  -447,  -447,    78,    88,  -447,  -447,   -54,
+     -29,    92,   865,  -447,  -447,  1111,  -447,   150,  1193,    75,
+     189,   161,  -447,  -447,  -447,  -447,  -447,  -447,  -447,  -447,
+    -447,  -447,  -447,  -447,  -447,  -447,  -447,  -447,  -447,  -447,
+    -447,  -447,  1111,  1111,  1111,  1111,  1111,  1111,  1111,  -447,
+    -447,  1111,  1111,  1111,  1111,  1111,  1111,  1111,  1111,  1111,
+    1111,  -447,   161,  -447,     8,  -447,  -447,  -447,  -447,  -447,
+    -447,  -447,  -447,   -10,  -447,  -447,  -447,   113,   139,   206,
+     145,   211,   147,   215,   152,   216,   214,   225,   154,   218,
+     226,   419,  -447,  1111,  1111,  1111,  -447,   906,  -447,   120,
+     118,   643,  -447,  -447,    59,  -447,   643,   643,  -447,  -447,
+    -447,  -447,  -447,  -447,  -447,  -447,  -447,  -447,   643,  1070,
+     128,   129,  -447,   643,   126,   131,   210,   133,   134,   140,
+     141,   142,   143,   144,   643,   643,   643,   146,  1070,  1111,
+    1111,   237,  -447,   148,   148,   148,  -447,  -447,  -447,  -447,
+    -447,  -447,  -447,  -447,  -447,  -447,   149,   151,   153,   155,
+     156,   159,   947,  1152,   596,   239,   160,   164,   175,   177,
+    -447,  -447,   148,   -74,   -23,   -54,  -447,    70,  -447,   163,
+     180,   988,  -447,  -447,  -447,  -447,  -447,  -447,  -447,  -447,
+    -447,   201,  1152,  -447,  -447,  -447,  -447,   182,  -447,   184,
+     643,    -2,  -447,     6,  -447,   186,   643,   176,  1111,  1111,
+    1111,  1111,  1111,  1111,  1111,  1111,   187,   188,   191,  1111,
+     643,   643,   195,  -447,   -12,  -447,  -447,  -447,  1152,  1152,
+    1152,  1152,  1152,  1152,  -447,  -447,    -9,   -21,  -447,   -27,
+    -447,  1152,  1152,  1152,  1152,  -447,  -447,  -447,  -447,  -447,
+    1029,   232,  -447,  -447,   244,   -16,   249,   282,   194,   643,
+     300,   643,  1111,  -447,   197,   643,  -447,   199,  -447,  -447,
+     202,   203,  -447,  -447,   643,   643,   643,  -447,   208,  -447,
+    1111,   291,   315,  -447,   148,   186,   289,   212,   217,   219,
+     220,  1152,  -447,  -447,  -447,   231,   233,   234,   240,  -447,
+    -447,  -447,   273,   241,  -447,   643,   643,  1111,   242,  -447,
+     242,  -447,   243,   643,   246,  1111,  1111,  1111,  -447,  -447,
+    -447,  1111,   643,  -447,  -447,  -447,   223,  1111,  1152,  1152,
+    1152,  1152,  -447,  1152,  1152,  1152,  1152,   328,  -447,   322,
+     247,   245,   243,   248,   294,  -447,  -447,  1111,   250,   643,
+    -447,  -447,  -447,   252,  -447,  -447,   254,   259,   257,   262,
+     263,   264,   265,   267,   270,  -447,  -447,   341,    14,   343,
+    -447,  -447,   271,  -447,  -447,  1152,  -447,  1152,  1152,  -447,
+    -447,  -447,  -447,   643,  -447,   751,    65,   374,  -447,   279,
+     280,   281,  -447,   285,  -447,   751,   643,  -447,  -447,  -447,
+     380,   290,   288,   643,   382,   384,  -447,   643,   643,  -447,
+    -447
 };
 
 /* YYPGOTO[NTERM-NUM].  */
 static const short int yypgoto[] =
 {
-    -463,  -463,  -463,   336,   339,   341,   342,  -129,  -128,  -462,
-    -463,   396,   415,  -118,  -463,  -225,    82,  -463,  -244,  -463,
-     -50,  -463,   -37,  -463,   -56,   321,  -463,  -102,   252,  -247,
-       5,  -463,  -463,  -463,  -463,  -463,  -463,  -463,   390,  -463,
-    -463,  -463,  -463,     2,  -463,    92,  -463,  -463,   391,  -463,
-    -463,  -463,  -463,  -463,   450,  -463,  -463,  -459,   -57,    62,
-    -105,  -463,   436,  -463,  -463,  -463,  -463,  -463,    86,    28,
-    -463,  -463,    69,  -463,  -463
+    -447,  -447,  -447,   309,   310,   311,   312,  -129,  -128,  -446,
+    -447,   369,   386,   -89,  -447,  -227,    51,  -447,  -248,  -447,
+     -50,  -447,   -37,  -447,   -68,   292,  -447,  -102,   221,  -255,
+      57,  -447,  -447,  -447,  -447,  -447,  -447,  -447,   361,  -447,
+    -447,  -447,  -447,     2,  -447,    55,  -447,  -447,   355,  -447,
+    -447,  -447,  -447,  -447,   414,  -447,  -447,  -405,   -57,    62,
+    -105,  -447,   399,  -447,  -447,  -447,  -447,  -447,    49,    -8,
+    -447,  -447,    24,  -447,  -447
 };
 
 /* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If
    positive, shift that token.  If negative, reduce the rule which
    number is the opposite.  If zero, do what YYDEFACT says.
    If YYTABLE_NINF, syntax error.  */
-#define YYTABLE_NINF -130
+#define YYTABLE_NINF -132
 static const short int yytable[] =
 {
-      89,   224,   225,   106,   312,    26,   367,   369,   334,   335,
-     200,    39,   389,   227,   493,   214,    89,   -67,    42,   355,
-     210,   203,   123,   213,   345,   347,   123,   215,    94,   119,
-     399,   204,   503,   399,   501,   390,   353,   399,   175,   176,
-     402,   401,     4,    26,   509,   412,    29,   230,   368,   368,
-     234,   235,   246,   363,   236,   237,   238,   239,   240,   241,
-     110,   111,   112,   245,   249,   399,   119,    46,    47,    48,
-     250,   400,   182,   183,   184,   216,   217,   218,   219,   220,
-     221,   222,   223,   107,   108,   354,    49,    39,   209,   121,
-     123,   209,    65,    66,    52,   117,   185,   186,   187,   188,
-     189,   190,   191,   192,   193,   194,   195,    79,    80,    20,
-      43,    21,    51,   228,   229,   209,   231,   232,   209,   209,
-      95,    58,   209,   209,   209,   209,   209,   209,   242,   243,
-     244,   209,   247,   248,    59,    81,    60,    20,    62,    21,
-     254,   255,   279,   330,    64,   281,   282,   283,   433,   -27,
-     -27,    99,   303,   -26,   -26,   -25,   -25,   303,   303,   216,
-     217,   218,   219,   220,   221,   222,   223,   100,   285,   303,
-     -24,   -24,   256,   257,   303,   103,   114,   308,   101,   102,
-     -68,   115,  -129,   492,   116,   303,   303,   303,   122,   174,
-      89,   453,   178,   454,   179,   180,   328,   201,   202,   205,
-      82,   211,   -31,    83,   -30,   342,    84,     5,    85,    89,
-     329,   209,   375,     6,   377,   378,   379,   -29,   -28,   -34,
-     259,   289,   385,     7,     8,     9,    10,    11,    12,    13,
-     -35,   260,   290,   283,   393,   394,   395,   396,   397,   398,
-     309,   311,   314,   315,    14,   316,   317,   403,   404,   405,
-     406,   303,   331,   318,   348,   319,   320,   303,   216,   217,
-     218,   219,   220,   221,   222,   223,   321,   502,   322,   323,
-     327,   303,   303,   332,   336,   358,   305,   306,   337,   374,
-     209,   376,   209,   209,   209,   380,   381,   356,   307,   338,
-     209,   359,   339,   313,   361,   340,   389,   440,   341,   349,
-     350,   351,   364,   352,   324,   325,   326,   365,   370,   373,
-     303,   382,   303,   383,   384,   388,   303,   411,   458,   459,
-     460,   285,   413,   414,   415,   303,   303,   303,   417,   421,
-     423,   424,   425,   209,   465,   466,   467,   468,   431,   469,
-     470,   471,   472,   429,   432,   435,   436,   224,   225,   437,
-     478,   430,   438,   439,   441,   442,   303,   303,   443,   444,
-     445,   447,   452,   455,   303,   224,   225,   457,   463,   473,
-     366,   475,   474,   303,   476,   477,   372,   368,   209,   479,
-      53,   497,   481,   498,   499,   482,   209,   209,   209,   483,
-     386,   387,   209,   484,   485,   486,   487,   491,   464,   488,
-     303,     7,     8,     9,    10,    54,    12,    55,   495,   489,
-      56,    30,    31,    32,    33,    34,    35,    36,   209,   490,
-     504,   505,   506,   496,   508,   507,   511,   512,   513,   416,
-     515,   418,   516,   165,   303,   422,   166,    97,   167,   168,
-      57,   409,   105,   207,   426,   427,   428,   303,    65,    66,
-     408,   278,   113,    27,   303,    45,   420,   461,   303,   303,
-       0,     0,   434,     0,     0,    20,     0,    21,     0,   261,
-       0,     0,     0,     0,     0,   448,   449,     0,     0,     0,
-       0,   262,   263,   456,     0,     0,     0,     0,     0,     0,
-       0,     0,   462,     0,    65,    66,     0,   117,    68,    69,
-      70,    71,    72,    73,    74,    75,    76,    77,    78,    79,
-      80,    20,     0,    21,     0,     0,     0,     0,     0,   480,
-       0,   134,   135,   136,   137,   138,   139,   140,   141,   142,
-     143,   144,   145,   146,   147,   148,   149,    81,     0,     0,
-       0,     0,   264,     0,   265,   266,   157,   158,     0,   267,
-     268,   269,     0,   500,     0,     0,     0,     0,     0,   270,
-       0,     0,   271,     0,   272,     0,   510,   273,     0,     0,
-       0,     0,     0,   514,     0,     0,     0,   517,   518,    65,
-      66,     0,   117,   185,   186,   187,   188,   189,   190,   191,
-     192,   193,   194,   195,    79,    80,    20,     0,    21,     0,
-       0,     0,    82,     0,     0,    83,     0,     0,    84,     0,
-      85,   118,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,    81,   291,   292,    65,    66,   293,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,   -37,    20,    20,    21,    21,   294,   295,   296,     0,
-       0,     0,     6,   -37,   -37,     0,     0,     0,   297,   298,
-       0,     0,   -37,   -37,   -37,   -37,   -37,   -37,   -37,     0,
-       0,   -37,    22,     0,     0,     0,     0,     0,     0,    23,
-       0,   299,     0,    24,     0,     0,     0,    82,     0,     0,
-      83,     0,     0,    84,     0,    85,   346,     0,   134,   135,
-     136,   137,   138,   139,   140,   141,   142,   143,   144,   145,
-     146,   147,   148,   149,     0,     0,     0,     0,     0,   264,
-       0,   265,   266,   157,   158,     0,   267,   268,   269,   291,
-     292,     0,     0,   293,     0,     0,     0,     0,     0,   300,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,   294,   295,   296,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,   297,   298,     0,     0,     0,     0,
+      89,   226,   227,   106,   314,    26,   336,   337,    39,    94,
+     202,   177,   178,   369,    53,    42,    89,   119,   347,   349,
+     212,   371,   391,   215,   218,   219,   220,   221,   222,   223,
+     224,   225,   495,     4,   355,     7,     8,     9,    10,    54,
+      12,    55,   229,    26,    56,   392,   356,   365,    29,   232,
+     505,   123,   236,   237,   119,   370,   238,   239,   240,   241,
+     242,   243,   -69,   370,    59,   247,    60,    46,    47,    48,
+      39,   123,   184,   185,   186,   218,   219,   220,   221,   222,
+     223,   224,   225,   248,   216,   205,    49,   401,   211,   121,
+     503,   211,    20,   401,    21,   206,   217,   404,   401,   357,
+     511,   403,   123,    95,   251,   401,   414,   249,   250,    43,
+     252,   402,   110,   111,   112,   230,   231,   211,   233,   234,
+     211,   211,  -131,    51,   211,   211,   211,   211,   211,   211,
+     244,   245,   246,   211,   494,   283,   284,   285,   107,   108,
+     256,   257,   -29,   -29,   281,   332,   435,     5,   -28,   -28,
+     -27,   -27,    52,     6,   305,   -26,   -26,   258,   259,   305,
+     305,    58,    62,     7,     8,     9,    10,    11,    12,    13,
+     287,   305,    64,    99,   100,   -70,   305,   101,   114,   310,
+     102,   103,   115,   116,    14,   504,   176,   305,   305,   305,
+     122,   455,    89,   456,   180,   181,   182,   203,   330,   218,
+     219,   220,   221,   222,   223,   224,   225,   204,   207,   213,
+     -33,    89,   331,   211,   377,   -32,   379,   380,   381,   -31,
+     -30,   -36,   261,   285,   387,    30,    31,    32,    33,    34,
+      35,    36,   -37,   262,   291,   292,   395,   396,   397,   398,
+     399,   400,   311,   313,   316,   317,   318,   319,   320,   405,
+     406,   407,   408,   305,   321,   322,   323,   324,   325,   305,
+     329,   333,   334,   350,   363,   338,   391,   339,   413,   340,
+     415,   341,   342,   305,   305,   343,   351,   360,   307,   308,
+     352,   376,   211,   378,   211,   211,   211,   382,   383,   358,
+     309,   353,   211,   354,   375,   315,   366,   361,   367,   442,
+     372,   384,   385,   416,   419,   386,   326,   327,   328,   390,
+     417,   423,   305,   425,   305,   433,   426,   427,   305,   434,
+     460,   461,   462,   287,   431,   437,   438,   305,   305,   305,
+     447,   439,   475,   440,   441,   211,   467,   468,   469,   470,
+     465,   471,   472,   473,   474,   443,   476,   444,   445,   226,
+     227,   370,   480,   432,   446,   449,   454,   457,   305,   305,
+     459,   477,   493,   478,   515,   479,   305,   226,   227,   483,
+     481,   484,   368,   485,   486,   305,   487,   488,   374,   497,
+     211,   489,   490,   499,   491,   500,   501,   492,   211,   211,
+     211,   498,   388,   389,   211,   506,   507,   508,   509,   510,
+     466,   513,   305,   517,   514,   518,   167,   168,   169,   170,
+      97,    57,   411,   105,   209,   410,   113,    27,    45,   436,
+     211,   422,   280,   463,    65,    66,     0,     0,     0,     0,
+       0,   418,     0,   420,     0,     0,   305,   424,     0,     0,
+       0,    20,     0,    21,     0,   263,   428,   429,   430,   305,
+       0,     0,     0,     0,     0,     0,   305,   264,   265,     0,
+     305,   305,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,   450,   451,     0,
+       0,     0,     0,     0,     0,   458,     0,     0,     0,     0,
+       0,     0,     0,     0,   464,     0,     0,   134,   135,   136,
+     137,   138,   139,   140,   141,   142,   143,   144,   145,   146,
+     147,   148,   149,   150,   151,     0,     0,     0,     0,     0,
+     266,   482,   267,   268,   159,   160,     0,   269,   270,   271,
+       0,     0,     0,     0,     0,     0,     0,   272,     0,     0,
+     273,     0,   274,     0,     0,   275,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,   502,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,   512,     0,
+       0,     0,     0,     0,     0,   516,     0,     0,     0,   519,
+     520,    65,    66,     0,   117,    68,    69,    70,    71,    72,
+      73,    74,    75,    76,    77,    78,    79,    80,    20,     0,
+      21,    65,    66,     0,   117,   187,   188,   189,   190,   191,
+     192,   193,   194,   195,   196,   197,    79,    80,    20,     0,
+      21,     0,     0,     0,    81,     0,     0,     0,     0,     0,
+     -39,     0,    20,     0,    21,     0,     0,     0,     0,     0,
+       0,     6,   -39,   -39,    81,     0,   293,   294,    65,    66,
+     295,   -39,   -39,   -39,   -39,   -39,   -39,   -39,     0,     0,
+     -39,    22,     0,     0,     0,    20,     0,    21,    23,   296,
+     297,   298,    24,     0,     0,     0,     0,     0,     0,     0,
+       0,   299,   300,     0,     0,     0,     0,     0,     0,     0,
+       0,    82,     0,     0,    83,     0,     0,    84,     0,    85,
+     118,     0,     0,     0,   301,     0,     0,     0,     0,     0,
+       0,    82,     0,     0,    83,     0,     0,    84,     0,    85,
+     348,   134,   135,   136,   137,   138,   139,   140,   141,   142,
+     143,   144,   145,   146,   147,   148,   149,   150,   151,     0,
+       0,     0,     0,     0,   266,     0,   267,   268,   159,   160,
+       0,   269,   270,   271,   293,   294,     0,     0,   295,     0,
+       0,     0,     0,     0,   302,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,   296,   297,   298,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,   299,
+     300,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,   299,     0,     0,
+       0,     0,   301,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,   134,
+     135,   136,   137,   138,   139,   140,   141,   142,   143,   144,
+     145,   146,   147,   148,   149,   150,   151,     0,     0,     0,
+       0,     0,   266,     0,   267,   268,   159,   160,     0,   269,
+     270,   271,     0,     0,     0,     0,     0,     0,     0,     0,
+      65,    66,   302,   117,    68,    69,    70,    71,    72,    73,
+      74,    75,    76,    77,    78,    79,    80,    20,     0,    21,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,   134,   135,   136,   137,   138,   139,
-     140,   141,   142,   143,   144,   145,   146,   147,   148,   149,
-       0,     0,     0,     0,     0,   264,     0,   265,   266,   157,
-     158,     0,   267,   268,   269,     0,     0,     0,     0,     0,
-       0,     0,     0,    65,    66,   300,   117,    68,    69,    70,
+       0,     0,   208,     0,     0,     0,     0,     0,     0,     0,
+       0,    65,    66,    81,   117,    68,    69,    70,    71,    72,
+      73,    74,    75,    76,    77,    78,    79,    80,    20,     0,
+      21,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,   286,     0,     0,     0,     0,     0,     0,
+       0,     0,    65,    66,    81,   117,   187,   188,   189,   190,
+     191,   192,   193,   194,   195,   196,   197,    79,    80,    20,
+       0,    21,     0,     0,     0,     0,     0,     0,     0,     0,
+      82,     0,     0,    83,     0,     0,    84,     0,    85,     0,
+       0,     0,     0,    65,    66,    81,   117,    68,    69,    70,
       71,    72,    73,    74,    75,    76,    77,    78,    79,    80,
       20,     0,    21,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,   206,     0,     0,     0,     0,
+       0,    82,     0,     0,    83,   362,     0,    84,     0,    85,
        0,     0,     0,     0,    65,    66,    81,   117,    68,    69,
       70,    71,    72,    73,    74,    75,    76,    77,    78,    79,
       80,    20,     0,    21,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,   284,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,    81,    65,    66,
-       0,   117,    68,    69,    70,    71,    72,    73,    74,    75,
+       0,     0,    82,     0,     0,    83,   409,   344,    84,     0,
+      85,     0,     0,     0,     0,    65,    66,    81,    67,    68,
+      69,    70,    71,    72,    73,    74,    75,    76,    77,    78,
+      79,    80,    20,     0,    21,     0,     0,     0,     0,     0,
+       0,     0,     0,    82,     0,     0,    83,     0,     0,    84,
+       0,    85,     0,     0,     0,     0,    65,    66,    81,   117,
+      68,    69,    70,    71,    72,    73,    74,    75,    76,    77,
+      78,    79,    80,    20,     0,    21,     0,     0,     0,     0,
+       0,     0,     0,     0,    82,     0,     0,    83,     0,     0,
+      84,     0,    85,     0,     0,     0,     0,    65,    66,    81,
+     117,   187,   188,   189,   190,   191,   192,   193,   194,   195,
+     196,   197,    79,    80,    20,     0,    21,     0,     0,     0,
+       0,     0,     0,     0,     0,    82,     0,     0,    83,     0,
+       0,    84,     0,    85,     0,     0,     0,     0,    65,    66,
+      81,   214,    68,    69,    70,    71,    72,    73,    74,    75,
       76,    77,    78,    79,    80,    20,     0,    21,     0,     0,
-       0,    82,     0,     0,    83,     0,     0,    84,     0,    85,
-     360,     0,     0,     0,     0,     0,     0,     0,     0,    65,
-      66,    81,   117,    68,    69,    70,    71,    72,    73,    74,
-      75,    76,    77,    78,    79,    80,    20,     0,    21,     0,
-       0,     0,    82,     0,     0,    83,     0,     0,    84,     0,
-      85,   407,     0,     0,     0,     0,     0,     0,     0,     0,
-      65,    66,    81,    67,    68,    69,    70,    71,    72,    73,
-      74,    75,    76,    77,    78,    79,    80,    20,     0,    21,
        0,     0,     0,     0,     0,     0,    82,     0,     0,    83,
        0,     0,    84,     0,    85,     0,     0,     0,     0,     0,
-       0,    65,    66,    81,   117,    68,    69,    70,    71,    72,
-      73,    74,    75,    76,    77,    78,    79,    80,    20,     0,
-      21,     0,     0,     0,     0,     0,     0,    82,     0,     0,
-      83,     0,     0,    84,     0,    85,     0,     0,     0,     0,
-       0,     0,    65,    66,    81,   117,   185,   186,   187,   188,
-     189,   190,   191,   192,   193,   194,   195,    79,    80,    20,
-       0,    21,     0,     0,     0,     0,     0,     0,    82,     0,
-       0,    83,     0,     0,    84,     0,    85,     0,     0,     0,
-       0,     0,     0,    65,    66,    81,   212,    68,    69,    70,
-      71,    72,    73,    74,    75,    76,    77,    78,    79,    80,
-      20,     0,    21,     0,     0,     0,     0,     0,     0,    82,
-       0,     0,    83,     0,     0,    84,     0,    85,     0,     0,
-       0,     0,     0,     0,     0,     0,    81,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,    81,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-      82,     0,     0,    83,     0,     0,    84,     0,    85,     0,
-       0,     0,     0,   124,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,   125,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,   126,   127,     0,
-       0,    82,     0,     0,    83,     0,     0,    84,     0,    85,
-     128,   129,   130,   131,   132,   133,   134,   135,   136,   137,
-     138,   139,   140,   141,   142,   143,   144,   145,   146,   147,
-     148,   149,   150,   151,   152,     0,     0,   153,   154,   155,
-     156,   157,   158,   159,   160,   161,   162,   163,   164
+       0,     0,     0,     0,     0,     0,     0,    82,     0,     0,
+      83,     0,     0,    84,     0,    85,     0,     0,     0,     0,
+     124,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,   125,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,   126,   127,     0,     0,    82,     0,
+       0,    83,     0,     0,    84,     0,    85,   128,   129,   130,
+     131,   132,   133,   134,   135,   136,   137,   138,   139,   140,
+     141,   142,   143,   144,   145,   146,   147,   148,   149,   150,
+     151,   152,   153,   154,     0,     0,   155,   156,   157,   158,
+     159,   160,   161,   162,   163,   164,   165,   166
 };
 
 static const short int yycheck[] =
 {
-      37,   130,   130,    53,   229,     3,    15,    15,   252,   253,
-     112,    23,    34,   131,   476,     9,    53,   114,    30,   120,
-     125,   112,   123,   128,   271,   272,   123,    21,    29,    85,
-     112,   122,   494,   112,   493,    57,   280,   112,    55,    56,
-     122,   120,     0,    41,   503,   120,    61,   152,    57,    57,
-     155,   156,   170,   300,   159,   160,   161,   162,   163,   164,
-      55,    56,    57,   168,   112,   112,   122,    52,    53,    54,
-     118,   118,   109,   110,   111,    10,    11,    12,    13,    14,
-      15,    16,    17,    32,    33,   118,    71,    23,   125,    87,
-     123,   128,     5,     6,    61,     8,     9,    10,    11,    12,
-      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
-     122,    24,   111,   150,   151,   152,   153,   154,   155,   156,
-     121,   111,   159,   160,   161,   162,   163,   164,   165,   166,
-     167,   168,    97,    98,    45,    48,    47,    22,    24,    24,
-      27,    28,   199,   248,     4,   201,   202,   203,   392,     3,
-       4,   111,   209,     3,     4,     3,     4,   214,   215,    10,
-      11,    12,    13,    14,    15,    16,    17,   111,   205,   226,
-       3,     4,     3,     4,   231,   116,     4,   227,   111,   111,
-     114,     4,     0,   118,     4,   242,   243,   244,   114,    24,
-     227,   416,     4,   418,    24,    24,   246,   117,   117,   114,
-     113,    59,     4,   116,     4,   118,   119,    25,   121,   246,
-     247,   248,   317,    31,   319,   320,   321,     4,     4,     7,
-       4,   112,   327,    41,    42,    43,    44,    45,    46,    47,
-       7,     7,   115,   289,   336,   337,   338,   339,   340,   341,
-     112,   112,   116,   112,    62,    36,   112,   349,   350,   351,
-     352,   308,    24,   112,    24,   112,   112,   314,    10,    11,
-      12,    13,    14,    15,    16,    17,   112,   118,   112,   112,
-     112,   328,   329,   112,   114,   112,   214,   215,   114,   316,
-     317,   318,   319,   320,   321,   322,   323,   285,   226,   114,
-     327,   115,   114,   231,    63,   114,    34,   399,   114,   114,
-     114,   114,   112,   114,   242,   243,   244,   112,   112,   116,
-     367,   112,   369,   112,   112,   112,   373,    24,   423,   424,
-     425,   358,    21,    21,   114,   382,   383,   384,     4,   112,
-     112,   112,   112,   370,   436,   437,   438,   439,    24,   441,
-     442,   443,   444,   114,     4,    36,   112,   476,   476,   112,
-     455,   388,   112,   112,   112,   112,   413,   414,   112,   112,
-      57,   112,   112,   112,   421,   494,   494,   112,   115,     4,
-     308,   112,    24,   430,   116,   115,   314,    57,   415,   118,
-      20,   483,   115,   485,   486,   115,   423,   424,   425,   112,
-     328,   329,   429,   115,   112,   112,   115,    21,   435,   115,
-     457,    41,    42,    43,    44,    45,    46,    47,    36,   115,
-      50,    64,    65,    66,    67,    68,    69,    70,   455,   115,
-      21,   115,   115,   118,   112,   115,    21,   112,    76,   367,
-      21,   369,    21,    97,   491,   373,    97,    41,    97,    97,
-      25,   359,    52,   122,   382,   383,   384,   504,     5,     6,
-     358,   199,    61,     3,   511,    19,   370,   429,   515,   516,
-      -1,    -1,   393,    -1,    -1,    22,    -1,    24,    -1,    26,
-      -1,    -1,    -1,    -1,    -1,   413,   414,    -1,    -1,    -1,
-      -1,    38,    39,   421,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,   430,    -1,     5,     6,    -1,     8,     9,    10,
-      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
-      21,    22,    -1,    24,    -1,    -1,    -1,    -1,    -1,   457,
-      -1,    78,    79,    80,    81,    82,    83,    84,    85,    86,
-      87,    88,    89,    90,    91,    92,    93,    48,    -1,    -1,
-      -1,    -1,    99,    -1,   101,   102,   103,   104,    -1,   106,
-     107,   108,    -1,   491,    -1,    -1,    -1,    -1,    -1,   116,
-      -1,    -1,   119,    -1,   121,    -1,   504,   124,    -1,    -1,
-      -1,    -1,    -1,   511,    -1,    -1,    -1,   515,   516,     5,
-       6,    -1,     8,     9,    10,    11,    12,    13,    14,    15,
-      16,    17,    18,    19,    20,    21,    22,    -1,    24,    -1,
-      -1,    -1,   113,    -1,    -1,   116,    -1,    -1,   119,    -1,
-     121,   122,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    48,     3,     4,     5,     6,     7,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    20,    22,    22,    24,    24,    26,    27,    28,    -1,
-      -1,    -1,    31,    32,    33,    -1,    -1,    -1,    38,    39,
-      -1,    -1,    41,    42,    43,    44,    45,    46,    47,    -1,
-      -1,    50,    51,    -1,    -1,    -1,    -1,    -1,    -1,    58,
-      -1,    61,    -1,    62,    -1,    -1,    -1,   113,    -1,    -1,
-     116,    -1,    -1,   119,    -1,   121,   122,    -1,    78,    79,
-      80,    81,    82,    83,    84,    85,    86,    87,    88,    89,
-      90,    91,    92,    93,    -1,    -1,    -1,    -1,    -1,    99,
-      -1,   101,   102,   103,   104,    -1,   106,   107,   108,     3,
-       4,    -1,    -1,     7,    -1,    -1,    -1,    -1,    -1,   119,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    26,    27,    28,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    38,    39,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    61,    -1,    -1,
+      37,   130,   130,    53,   231,     3,   254,   255,    23,    29,
+     112,    55,    56,    15,    20,    30,    53,    85,   273,   274,
+     125,    15,    34,   128,    10,    11,    12,    13,    14,    15,
+      16,    17,   478,     0,   282,    41,    42,    43,    44,    45,
+      46,    47,   131,    41,    50,    57,   120,   302,    61,   154,
+     496,   125,   157,   158,   122,    57,   161,   162,   163,   164,
+     165,   166,   116,    57,    45,   170,    47,    52,    53,    54,
+      23,   125,   109,   110,   111,    10,    11,    12,    13,    14,
+      15,    16,    17,   172,     9,   114,    71,   114,   125,    87,
+     495,   128,    22,   114,    24,   124,    21,   124,   114,   122,
+     505,   122,   125,   123,   114,   114,   122,    99,   100,   124,
+     120,   120,    55,    56,    57,   152,   153,   154,   155,   156,
+     157,   158,     0,   113,   161,   162,   163,   164,   165,   166,
+     167,   168,   169,   170,   120,   203,   204,   205,    32,    33,
+      27,    28,     3,     4,   201,   250,   394,    25,     3,     4,
+       3,     4,    61,    31,   211,     3,     4,     3,     4,   216,
+     217,   113,    24,    41,    42,    43,    44,    45,    46,    47,
+     207,   228,     4,   113,   113,   116,   233,   113,     4,   229,
+     113,   118,     4,     4,    62,   120,    24,   244,   245,   246,
+     116,   418,   229,   420,     4,    24,    24,   119,   248,    10,
+      11,    12,    13,    14,    15,    16,    17,   119,   116,    59,
+       4,   248,   249,   250,   319,     4,   321,   322,   323,     4,
+       4,     7,     4,   291,   329,    64,    65,    66,    67,    68,
+      69,    70,     7,     7,   114,   117,   338,   339,   340,   341,
+     342,   343,   114,   114,   118,   114,    36,   114,   114,   351,
+     352,   353,   354,   310,   114,   114,   114,   114,   114,   316,
+     114,    24,   114,    24,    63,   116,    34,   116,    24,   116,
+      21,   116,   116,   330,   331,   116,   116,   114,   216,   217,
+     116,   318,   319,   320,   321,   322,   323,   324,   325,   287,
+     228,   116,   329,   116,   118,   233,   114,   117,   114,   401,
+     114,   114,   114,    21,     4,   114,   244,   245,   246,   114,
+     116,   114,   369,   114,   371,    24,   114,   114,   375,     4,
+     425,   426,   427,   360,   116,    36,   114,   384,   385,   386,
+      57,   114,     4,   114,   114,   372,   438,   439,   440,   441,
+     117,   443,   444,   445,   446,   114,    24,   114,   114,   478,
+     478,    57,   457,   390,   114,   114,   114,   114,   415,   416,
+     114,   114,    21,   118,    76,   117,   423,   496,   496,   117,
+     120,   117,   310,   114,   117,   432,   114,   114,   316,    36,
+     417,   117,   117,   485,   117,   487,   488,   117,   425,   426,
+     427,   120,   330,   331,   431,    21,   117,   117,   117,   114,
+     437,    21,   459,    21,   114,    21,    97,    97,    97,    97,
+      41,    25,   361,    52,   122,   360,    61,     3,    19,   395,
+     457,   372,   201,   431,     5,     6,    -1,    -1,    -1,    -1,
+      -1,   369,    -1,   371,    -1,    -1,   493,   375,    -1,    -1,
+      -1,    22,    -1,    24,    -1,    26,   384,   385,   386,   506,
+      -1,    -1,    -1,    -1,    -1,    -1,   513,    38,    39,    -1,
+     517,   518,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,   415,   416,    -1,
+      -1,    -1,    -1,    -1,    -1,   423,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,   432,    -1,    -1,    78,    79,    80,
+      81,    82,    83,    84,    85,    86,    87,    88,    89,    90,
+      91,    92,    93,    94,    95,    -1,    -1,    -1,    -1,    -1,
+     101,   459,   103,   104,   105,   106,    -1,   108,   109,   110,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,   118,    -1,    -1,
+     121,    -1,   123,    -1,    -1,   126,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,   493,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   506,    -1,
+      -1,    -1,    -1,    -1,    -1,   513,    -1,    -1,    -1,   517,
+     518,     5,     6,    -1,     8,     9,    10,    11,    12,    13,
+      14,    15,    16,    17,    18,    19,    20,    21,    22,    -1,
+      24,     5,     6,    -1,     8,     9,    10,    11,    12,    13,
+      14,    15,    16,    17,    18,    19,    20,    21,    22,    -1,
+      24,    -1,    -1,    -1,    48,    -1,    -1,    -1,    -1,    -1,
+      20,    -1,    22,    -1,    24,    -1,    -1,    -1,    -1,    -1,
+      -1,    31,    32,    33,    48,    -1,     3,     4,     5,     6,
+       7,    41,    42,    43,    44,    45,    46,    47,    -1,    -1,
+      50,    51,    -1,    -1,    -1,    22,    -1,    24,    58,    26,
+      27,    28,    62,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    38,    39,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,   115,    -1,    -1,   118,    -1,    -1,   121,    -1,   123,
+     124,    -1,    -1,    -1,    61,    -1,    -1,    -1,    -1,    -1,
+      -1,   115,    -1,    -1,   118,    -1,    -1,   121,    -1,   123,
+     124,    78,    79,    80,    81,    82,    83,    84,    85,    86,
+      87,    88,    89,    90,    91,    92,    93,    94,    95,    -1,
+      -1,    -1,    -1,    -1,   101,    -1,   103,   104,   105,   106,
+      -1,   108,   109,   110,     3,     4,    -1,    -1,     7,    -1,
+      -1,    -1,    -1,    -1,   121,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    26,    27,    28,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    38,
+      39,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    78,    79,    80,    81,    82,    83,
-      84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
-      -1,    -1,    -1,    -1,    -1,    99,    -1,   101,   102,   103,
-     104,    -1,   106,   107,   108,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,     5,     6,   119,     8,     9,    10,    11,
-      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
-      22,    -1,    24,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    37,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,     5,     6,    48,     8,     9,    10,
-      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
-      21,    22,    -1,    24,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    37,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    48,     5,     6,
-      -1,     8,     9,    10,    11,    12,    13,    14,    15,    16,
-      17,    18,    19,    20,    21,    22,    -1,    24,    -1,    -1,
-      -1,   113,    -1,    -1,   116,    -1,    -1,   119,    -1,   121,
-      37,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     5,
-       6,    48,     8,     9,    10,    11,    12,    13,    14,    15,
-      16,    17,    18,    19,    20,    21,    22,    -1,    24,    -1,
-      -1,    -1,   113,    -1,    -1,   116,    -1,    -1,   119,    -1,
-     121,    37,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-       5,     6,    48,     8,     9,    10,    11,    12,    13,    14,
+      -1,    -1,    61,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    78,
+      79,    80,    81,    82,    83,    84,    85,    86,    87,    88,
+      89,    90,    91,    92,    93,    94,    95,    -1,    -1,    -1,
+      -1,    -1,   101,    -1,   103,   104,   105,   106,    -1,   108,
+     109,   110,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       5,     6,   121,     8,     9,    10,    11,    12,    13,    14,
       15,    16,    17,    18,    19,    20,    21,    22,    -1,    24,
-      -1,    -1,    -1,    -1,    -1,    -1,   113,    -1,    -1,   116,
-      -1,    -1,   119,    -1,   121,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    37,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
       -1,     5,     6,    48,     8,     9,    10,    11,    12,    13,
       14,    15,    16,    17,    18,    19,    20,    21,    22,    -1,
-      24,    -1,    -1,    -1,    -1,    -1,    -1,   113,    -1,    -1,
-     116,    -1,    -1,   119,    -1,   121,    -1,    -1,    -1,    -1,
+      24,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    37,    -1,    -1,    -1,    -1,    -1,    -1,
       -1,    -1,     5,     6,    48,     8,     9,    10,    11,    12,
       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
-      -1,    24,    -1,    -1,    -1,    -1,    -1,    -1,   113,    -1,
-      -1,   116,    -1,    -1,   119,    -1,   121,    -1,    -1,    -1,
+      -1,    24,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+     115,    -1,    -1,   118,    -1,    -1,   121,    -1,   123,    -1,
       -1,    -1,    -1,     5,     6,    48,     8,     9,    10,    11,
       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
-      22,    -1,    24,    -1,    -1,    -1,    -1,    -1,    -1,   113,
-      -1,    -1,   116,    -1,    -1,   119,    -1,   121,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    48,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      22,    -1,    24,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,   115,    -1,    -1,   118,    37,    -1,   121,    -1,   123,
+      -1,    -1,    -1,    -1,     5,     6,    48,     8,     9,    10,
+      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
+      21,    22,    -1,    24,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,   115,    -1,    -1,   118,    37,   120,   121,    -1,
+     123,    -1,    -1,    -1,    -1,     5,     6,    48,     8,     9,
+      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
+      20,    21,    22,    -1,    24,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,   115,    -1,    -1,   118,    -1,    -1,   121,
+      -1,   123,    -1,    -1,    -1,    -1,     5,     6,    48,     8,
+       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
+      19,    20,    21,    22,    -1,    24,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,   115,    -1,    -1,   118,    -1,    -1,
+     121,    -1,   123,    -1,    -1,    -1,    -1,     5,     6,    48,
+       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
+      18,    19,    20,    21,    22,    -1,    24,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,   115,    -1,    -1,   118,    -1,
+      -1,   121,    -1,   123,    -1,    -1,    -1,    -1,     5,     6,
+      48,     8,     9,    10,    11,    12,    13,    14,    15,    16,
+      17,    18,    19,    20,    21,    22,    -1,    24,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,   115,    -1,    -1,   118,
+      -1,    -1,   121,    -1,   123,    -1,    -1,    -1,    -1,    -1,
+      -1,    48,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-     113,    -1,    -1,   116,    -1,    -1,   119,    -1,   121,    -1,
-      -1,    -1,    -1,    35,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    49,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    59,    60,    -1,
-      -1,   113,    -1,    -1,   116,    -1,    -1,   119,    -1,   121,
-      72,    73,    74,    75,    76,    77,    78,    79,    80,    81,
-      82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
-      92,    93,    94,    95,    96,    -1,    -1,    99,   100,   101,
-     102,   103,   104,   105,   106,   107,   108,   109,   110
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,   115,    -1,    -1,
+     118,    -1,    -1,   121,    -1,   123,    -1,    -1,    -1,    -1,
+      35,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    49,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    59,    60,    -1,    -1,   115,    -1,
+      -1,   118,    -1,    -1,   121,    -1,   123,    72,    73,    74,
+      75,    76,    77,    78,    79,    80,    81,    82,    83,    84,
+      85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
+      95,    96,    97,    98,    -1,    -1,   101,   102,   103,   104,
+     105,   106,   107,   108,   109,   110,   111,   112
 };
 
 /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
    symbol of state STATE-NUM.  */
 static const unsigned char yystos[] =
 {
-       0,   156,   157,   158,     0,    25,    31,    41,    42,    43,
-      44,    45,    46,    47,    62,   137,   175,   177,   179,   186,
-      22,    24,    51,    58,    62,   136,   168,   179,   180,    61,
-      64,    65,    66,    67,    68,    69,    70,   138,   173,    23,
-     187,   188,    30,   122,   176,   187,    52,    53,    54,    71,
-     165,   111,    61,    20,    45,    47,    50,   137,   111,    45,
-      47,   178,    24,   163,     4,     5,     6,     8,     9,    10,
+       0,   158,   159,   160,     0,    25,    31,    41,    42,    43,
+      44,    45,    46,    47,    62,   139,   177,   179,   181,   188,
+      22,    24,    51,    58,    62,   138,   170,   181,   182,    61,
+      64,    65,    66,    67,    68,    69,    70,   140,   175,    23,
+     189,   190,    30,   124,   178,   189,    52,    53,    54,    71,
+     167,   113,    61,    20,    45,    47,    50,   139,   113,    45,
+      47,   180,    24,   165,     4,     5,     6,     8,     9,    10,
       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
-      21,    48,   113,   116,   119,   121,   126,   145,   146,   147,
-     148,   149,   168,   183,    29,   121,   174,   136,   191,   111,
-     111,   111,   111,   116,   166,   163,   145,    32,    33,   155,
-     155,   155,   155,   173,     4,     4,     4,     8,   122,   149,
-     150,   168,   114,   123,    35,    49,    59,    60,    72,    73,
+      21,    48,   115,   118,   121,   123,   128,   147,   148,   149,
+     150,   151,   170,   185,    29,   123,   176,   138,   193,   113,
+     113,   113,   113,   118,   168,   165,   147,    32,    33,   157,
+     157,   157,   157,   175,     4,     4,     4,     8,   124,   151,
+     152,   170,   116,   125,    35,    49,    59,    60,    72,    73,
       74,    75,    76,    77,    78,    79,    80,    81,    82,    83,
       84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
-      94,    95,    96,    99,   100,   101,   102,   103,   104,   105,
-     106,   107,   108,   109,   110,   128,   129,   130,   131,   189,
-     195,   196,   198,   199,    24,    55,    56,   164,     4,    24,
-      24,   167,   147,   147,   147,     9,    10,    11,    12,    13,
-      14,    15,    16,    17,    18,    19,   132,   133,   135,   147,
-     152,   117,   117,   112,   122,   114,    37,   150,   151,   147,
-     185,    59,     8,   185,     9,    21,    10,    11,    12,    13,
-      14,    15,    16,    17,   132,   133,   134,   138,   147,   147,
-     185,   147,   147,   192,   185,   185,   185,   185,   185,   185,
-     185,   185,   147,   147,   147,   185,   138,    97,    98,   112,
-     118,   161,   162,   160,    27,    28,     3,     4,   127,     4,
-       7,    26,    38,    39,    99,   101,   102,   106,   107,   108,
-     116,   119,   121,   124,   128,   129,   130,   131,   153,   183,
-     159,   149,   149,   149,    37,   147,   170,   171,   172,   112,
-     115,     3,     4,     7,    26,    27,    28,    38,    39,    61,
-     119,   153,   182,   183,   184,   184,   184,   184,   145,   112,
-     140,   112,   140,   184,   116,   112,    36,   112,   112,   112,
-     112,   112,   112,   112,   184,   184,   184,   112,   145,   147,
-     185,    24,   112,   143,   143,   143,   114,   114,   114,   114,
-     114,   114,   118,   152,   154,   154,   122,   154,    24,   114,
-     114,   114,   114,   143,   118,   120,   168,   169,   112,   115,
-      37,    63,   181,   154,   112,   112,   184,    15,    57,    15,
-     112,   197,   184,   116,   147,   185,   147,   185,   185,   185,
-     147,   147,   112,   112,   112,   185,   184,   184,   112,    34,
-      57,   141,   144,   152,   152,   152,   152,   152,   152,   112,
-     118,   120,   122,   152,   152,   152,   152,    37,   170,   141,
-     142,    24,   120,    21,    21,   114,   184,     4,   184,   185,
-     193,   112,   184,   112,   112,   112,   184,   184,   184,   114,
-     147,    24,     4,   143,   197,    36,   112,   112,   112,   112,
-     152,   112,   112,   112,   112,    57,   139,   112,   184,   184,
-     193,   194,   112,   140,   140,   112,   184,   112,   185,   185,
-     185,   194,   184,   115,   147,   152,   152,   152,   152,   152,
-     152,   152,   152,     4,    24,   112,   116,   115,   185,   118,
-     184,   115,   115,   112,   115,   112,   112,   115,   115,   115,
-     115,    21,   118,   134,   190,    36,   118,   152,   152,   152,
-     184,   182,   118,   134,    21,   115,   115,   115,   112,   182,
-     184,    21,   112,    76,   184,    21,    21,   184,   184
+      94,    95,    96,    97,    98,   101,   102,   103,   104,   105,
+     106,   107,   108,   109,   110,   111,   112,   130,   131,   132,
+     133,   191,   197,   198,   200,   201,    24,    55,    56,   166,
+       4,    24,    24,   169,   149,   149,   149,     9,    10,    11,
+      12,    13,    14,    15,    16,    17,    18,    19,   134,   135,
+     137,   149,   154,   119,   119,   114,   124,   116,    37,   152,
+     153,   149,   187,    59,     8,   187,     9,    21,    10,    11,
+      12,    13,    14,    15,    16,    17,   134,   135,   136,   140,
+     149,   149,   187,   149,   149,   194,   187,   187,   187,   187,
+     187,   187,   187,   187,   149,   149,   149,   187,   140,    99,
+     100,   114,   120,   163,   164,   162,    27,    28,     3,     4,
+     129,     4,     7,    26,    38,    39,   101,   103,   104,   108,
+     109,   110,   118,   121,   123,   126,   130,   131,   132,   133,
+     155,   185,   161,   151,   151,   151,    37,   149,   172,   173,
+     174,   114,   117,     3,     4,     7,    26,    27,    28,    38,
+      39,    61,   121,   155,   184,   185,   186,   186,   186,   186,
+     147,   114,   142,   114,   142,   186,   118,   114,    36,   114,
+     114,   114,   114,   114,   114,   114,   186,   186,   186,   114,
+     147,   149,   187,    24,   114,   145,   145,   145,   116,   116,
+     116,   116,   116,   116,   120,   154,   156,   156,   124,   156,
+      24,   116,   116,   116,   116,   145,   120,   122,   170,   171,
+     114,   117,    37,    63,   183,   156,   114,   114,   186,    15,
+      57,    15,   114,   199,   186,   118,   149,   187,   149,   187,
+     187,   187,   149,   149,   114,   114,   114,   187,   186,   186,
+     114,    34,    57,   143,   146,   154,   154,   154,   154,   154,
+     154,   114,   120,   122,   124,   154,   154,   154,   154,    37,
+     172,   143,   144,    24,   122,    21,    21,   116,   186,     4,
+     186,   187,   195,   114,   186,   114,   114,   114,   186,   186,
+     186,   116,   149,    24,     4,   145,   199,    36,   114,   114,
+     114,   114,   154,   114,   114,   114,   114,    57,   141,   114,
+     186,   186,   195,   196,   114,   142,   142,   114,   186,   114,
+     187,   187,   187,   196,   186,   117,   149,   154,   154,   154,
+     154,   154,   154,   154,   154,     4,    24,   114,   118,   117,
+     187,   120,   186,   117,   117,   114,   117,   114,   114,   117,
+     117,   117,   117,    21,   120,   136,   192,    36,   120,   154,
+     154,   154,   186,   184,   120,   136,    21,   117,   117,   117,
+     114,   184,   186,    21,   114,    76,   186,    21,    21,   186,
+     186
 };
 
 #define yyerrok                (yyerrstatus = 0)
@@ -2987,7 +3014,7 @@ yyreduce:
   switch (yyn)
     {
         case 3:
-#line 1135 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1140 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
   if ((yyvsp[0].UIntVal) > (uint32_t)INT32_MAX)     // Outside of my range!
     GEN_ERROR("Value too large for type!");
@@ -2997,7 +3024,7 @@ yyreduce:
     break;
 
   case 5:
-#line 1144 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1149 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
   if ((yyvsp[0].UInt64Val) > (uint64_t)INT64_MAX)     // Outside of my range!
     GEN_ERROR("Value too large for type!");
@@ -3006,99 +3033,99 @@ yyreduce:
 ;}
     break;
 
-  case 36:
-#line 1168 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 38:
+#line 1173 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.StrVal) = (yyvsp[-1].StrVal);
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 37:
-#line 1172 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 39:
+#line 1177 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.StrVal) = 0;
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 38:
-#line 1177 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 40:
+#line 1182 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.Linkage) = GlobalValue::InternalLinkage; ;}
     break;
 
-  case 39:
-#line 1178 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 41:
+#line 1183 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.Linkage) = GlobalValue::LinkOnceLinkage; ;}
     break;
 
-  case 40:
-#line 1179 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 42:
+#line 1184 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.Linkage) = GlobalValue::WeakLinkage; ;}
     break;
 
-  case 41:
-#line 1180 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 43:
+#line 1185 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.Linkage) = GlobalValue::AppendingLinkage; ;}
     break;
 
-  case 42:
-#line 1181 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 44:
+#line 1186 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.Linkage) = GlobalValue::DLLImportLinkage; ;}
     break;
 
-  case 43:
-#line 1182 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 45:
+#line 1187 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.Linkage) = GlobalValue::DLLExportLinkage; ;}
     break;
 
-  case 44:
-#line 1183 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 46:
+#line 1188 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.Linkage) = GlobalValue::ExternalWeakLinkage; ;}
     break;
 
-  case 45:
-#line 1184 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 47:
+#line 1189 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.Linkage) = GlobalValue::ExternalLinkage; ;}
     break;
 
-  case 46:
-#line 1186 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 48:
+#line 1191 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.UIntVal) = CallingConv::C; ;}
     break;
 
-  case 47:
-#line 1187 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 49:
+#line 1192 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.UIntVal) = CallingConv::C; ;}
     break;
 
-  case 48:
-#line 1188 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 50:
+#line 1193 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.UIntVal) = CallingConv::CSRet; ;}
     break;
 
-  case 49:
-#line 1189 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 51:
+#line 1194 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.UIntVal) = CallingConv::Fast; ;}
     break;
 
-  case 50:
-#line 1190 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 52:
+#line 1195 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.UIntVal) = CallingConv::Cold; ;}
     break;
 
-  case 51:
-#line 1191 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 53:
+#line 1196 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.UIntVal) = CallingConv::X86_StdCall; ;}
     break;
 
-  case 52:
-#line 1192 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 54:
+#line 1197 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.UIntVal) = CallingConv::X86_FastCall; ;}
     break;
 
-  case 53:
-#line 1193 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 55:
+#line 1198 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
                    if ((unsigned)(yyvsp[0].UInt64Val) != (yyvsp[0].UInt64Val))
                      GEN_ERROR("Calling conv too large!");
@@ -3107,13 +3134,13 @@ yyreduce:
                  ;}
     break;
 
-  case 54:
-#line 1202 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 56:
+#line 1207 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.UIntVal) = 0; ;}
     break;
 
-  case 55:
-#line 1203 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 57:
+#line 1208 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
   (yyval.UIntVal) = (yyvsp[0].UInt64Val);
   if ((yyval.UIntVal) != 0 && !isPowerOf2_32((yyval.UIntVal)))
@@ -3122,13 +3149,13 @@ yyreduce:
 ;}
     break;
 
-  case 56:
-#line 1209 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 58:
+#line 1214 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.UIntVal) = 0; ;}
     break;
 
-  case 57:
-#line 1210 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 59:
+#line 1215 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
   (yyval.UIntVal) = (yyvsp[0].UInt64Val);
   if ((yyval.UIntVal) != 0 && !isPowerOf2_32((yyval.UIntVal)))
@@ -3137,8 +3164,8 @@ yyreduce:
 ;}
     break;
 
-  case 58:
-#line 1218 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 60:
+#line 1223 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
   for (unsigned i = 0, e = strlen((yyvsp[0].StrVal)); i != e; ++i)
     if ((yyvsp[0].StrVal)[i] == '"' || (yyvsp[0].StrVal)[i] == '\\')
@@ -3148,28 +3175,28 @@ yyreduce:
 ;}
     break;
 
-  case 59:
-#line 1226 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 61:
+#line 1231 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.StrVal) = 0; ;}
     break;
 
-  case 60:
-#line 1227 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 62:
+#line 1232 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.StrVal) = (yyvsp[0].StrVal); ;}
     break;
 
-  case 61:
-#line 1232 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 63:
+#line 1237 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {;}
     break;
 
-  case 62:
-#line 1233 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 64:
+#line 1238 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {;}
     break;
 
-  case 63:
-#line 1234 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 65:
+#line 1239 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     CurGV->setSection((yyvsp[0].StrVal));
     free((yyvsp[0].StrVal));
@@ -3177,8 +3204,8 @@ yyreduce:
   ;}
     break;
 
-  case 64:
-#line 1239 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 66:
+#line 1244 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     if ((yyvsp[0].UInt64Val) != 0 && !isPowerOf2_32((yyvsp[0].UInt64Val)))
       GEN_ERROR("Alignment must be a power of two!");
@@ -3187,18 +3214,18 @@ yyreduce:
   ;}
     break;
 
-  case 66:
-#line 1253 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 68:
+#line 1258 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.TypeVal) = new PATypeHolder((yyvsp[0].PrimType)); ;}
     break;
 
-  case 68:
-#line 1254 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 70:
+#line 1259 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.TypeVal) = new PATypeHolder((yyvsp[0].PrimType)); ;}
     break;
 
-  case 69:
-#line 1256 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 71:
+#line 1261 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     if (!UpRefs.empty())
       GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[0].TypeVal))->getDescription());
@@ -3207,24 +3234,24 @@ yyreduce:
   ;}
     break;
 
-  case 83:
-#line 1268 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 85:
+#line 1273 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.TypeVal) = new PATypeHolder(OpaqueType::get());
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 84:
-#line 1272 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 86:
+#line 1277 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.TypeVal) = new PATypeHolder((yyvsp[0].PrimType));
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 85:
-#line 1276 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 87:
+#line 1281 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {            // Named types are also simple types...
   const Type* tmp = getTypeVal((yyvsp[0].ValIDVal));
   CHECK_FOR_ERROR
@@ -3232,8 +3259,8 @@ yyreduce:
 ;}
     break;
 
-  case 86:
-#line 1284 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 88:
+#line 1289 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {                   // Type UpReference
     if ((yyvsp[0].UInt64Val) > (uint64_t)~0U) GEN_ERROR("Value out of range!");
     OpaqueType *OT = OpaqueType::get();        // Use temporary placeholder
@@ -3244,8 +3271,8 @@ yyreduce:
   ;}
     break;
 
-  case 87:
-#line 1292 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 89:
+#line 1297 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {           // Function derived type?
     std::vector<const Type*> Params;
     for (std::list<llvm::PATypeHolder>::iterator I = (yyvsp[-1].TypeList)->begin(),
@@ -3261,8 +3288,8 @@ yyreduce:
   ;}
     break;
 
-  case 88:
-#line 1305 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 90:
+#line 1310 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {          // Sized array type?
     (yyval.TypeVal) = new PATypeHolder(HandleUpRefs(ArrayType::get(*(yyvsp[-1].TypeVal), (unsigned)(yyvsp[-3].UInt64Val))));
     delete (yyvsp[-1].TypeVal);
@@ -3270,8 +3297,8 @@ yyreduce:
   ;}
     break;
 
-  case 89:
-#line 1310 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 91:
+#line 1315 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {          // Packed array type?
      const llvm::Type* ElemTy = (yyvsp[-1].TypeVal)->get();
      if ((unsigned)(yyvsp[-3].UInt64Val) != (yyvsp[-3].UInt64Val))
@@ -3286,8 +3313,8 @@ yyreduce:
   ;}
     break;
 
-  case 90:
-#line 1322 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 92:
+#line 1327 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {                        // Structure type?
     std::vector<const Type*> Elements;
     for (std::list<llvm::PATypeHolder>::iterator I = (yyvsp[-1].TypeList)->begin(),
@@ -3300,16 +3327,16 @@ yyreduce:
   ;}
     break;
 
-  case 91:
-#line 1332 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 93:
+#line 1337 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {                                  // Empty structure type?
     (yyval.TypeVal) = new PATypeHolder(StructType::get(std::vector<const Type*>()));
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 92:
-#line 1336 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 94:
+#line 1341 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {                             // Pointer type?
     if (*(yyvsp[-1].TypeVal) == Type::LabelTy)
       GEN_ERROR("Cannot form a pointer to a basic block");
@@ -3319,8 +3346,8 @@ yyreduce:
   ;}
     break;
 
-  case 93:
-#line 1347 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 95:
+#line 1352 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.TypeList) = new std::list<PATypeHolder>();
     (yyval.TypeList)->push_back(*(yyvsp[0].TypeVal)); delete (yyvsp[0].TypeVal);
@@ -3328,40 +3355,40 @@ yyreduce:
   ;}
     break;
 
-  case 94:
-#line 1352 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 96:
+#line 1357 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     ((yyval.TypeList)=(yyvsp[-2].TypeList))->push_back(*(yyvsp[0].TypeVal)); delete (yyvsp[0].TypeVal);
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 96:
-#line 1359 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 98:
+#line 1364 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     ((yyval.TypeList)=(yyvsp[-2].TypeList))->push_back(Type::VoidTy);
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 97:
-#line 1363 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 99:
+#line 1368 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     ((yyval.TypeList) = new std::list<PATypeHolder>())->push_back(Type::VoidTy);
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 98:
-#line 1367 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 100:
+#line 1372 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.TypeList) = new std::list<PATypeHolder>();
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 99:
-#line 1378 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 101:
+#line 1383 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { // Nonempty unsized arr
     const ArrayType *ATy = dyn_cast<ArrayType>((yyvsp[-3].TypeVal)->get());
     if (ATy == 0)
@@ -3390,8 +3417,8 @@ yyreduce:
   ;}
     break;
 
-  case 100:
-#line 1404 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 102:
+#line 1409 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     const ArrayType *ATy = dyn_cast<ArrayType>((yyvsp[-2].TypeVal)->get());
     if (ATy == 0)
@@ -3408,8 +3435,8 @@ yyreduce:
   ;}
     break;
 
-  case 101:
-#line 1418 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 103:
+#line 1423 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     const ArrayType *ATy = dyn_cast<ArrayType>((yyvsp[-2].TypeVal)->get());
     if (ATy == 0)
@@ -3442,8 +3469,8 @@ yyreduce:
   ;}
     break;
 
-  case 102:
-#line 1448 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 104:
+#line 1453 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { // Nonempty unsized arr
     const PackedType *PTy = dyn_cast<PackedType>((yyvsp[-3].TypeVal)->get());
     if (PTy == 0)
@@ -3472,8 +3499,8 @@ yyreduce:
   ;}
     break;
 
-  case 103:
-#line 1474 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 105:
+#line 1479 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     const StructType *STy = dyn_cast<StructType>((yyvsp[-3].TypeVal)->get());
     if (STy == 0)
@@ -3497,8 +3524,8 @@ yyreduce:
   ;}
     break;
 
-  case 104:
-#line 1495 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 106:
+#line 1500 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     const StructType *STy = dyn_cast<StructType>((yyvsp[-2].TypeVal)->get());
     if (STy == 0)
@@ -3514,8 +3541,8 @@ yyreduce:
   ;}
     break;
 
-  case 105:
-#line 1508 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 107:
+#line 1513 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     const PointerType *PTy = dyn_cast<PointerType>((yyvsp[-1].TypeVal)->get());
     if (PTy == 0)
@@ -3528,8 +3555,8 @@ yyreduce:
   ;}
     break;
 
-  case 106:
-#line 1518 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 108:
+#line 1523 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ConstVal) = UndefValue::get((yyvsp[-1].TypeVal)->get());
     delete (yyvsp[-1].TypeVal);
@@ -3537,8 +3564,8 @@ yyreduce:
   ;}
     break;
 
-  case 107:
-#line 1523 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 109:
+#line 1528 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     const PointerType *Ty = dyn_cast<PointerType>((yyvsp[-1].TypeVal)->get());
     if (Ty == 0)
@@ -3602,8 +3629,8 @@ yyreduce:
   ;}
     break;
 
-  case 108:
-#line 1584 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 110:
+#line 1589 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     if ((yyvsp[-1].TypeVal)->get() != (yyvsp[0].ConstVal)->getType())
       GEN_ERROR("Mismatched types for constant expression!");
@@ -3613,8 +3640,8 @@ yyreduce:
   ;}
     break;
 
-  case 109:
-#line 1591 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 111:
+#line 1596 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     const Type *Ty = (yyvsp[-1].TypeVal)->get();
     if (isa<FunctionType>(Ty) || Ty == Type::LabelTy || isa<OpaqueType>(Ty))
@@ -3625,8 +3652,8 @@ yyreduce:
   ;}
     break;
 
-  case 110:
-#line 1600 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 112:
+#line 1605 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {      // integral constants
     if (!ConstantInt::isValueValidForType((yyvsp[-1].PrimType), (yyvsp[0].SInt64Val)))
       GEN_ERROR("Constant value doesn't fit in type!");
@@ -3635,8 +3662,8 @@ yyreduce:
   ;}
     break;
 
-  case 111:
-#line 1606 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 113:
+#line 1611 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {            // integral constants
     if (!ConstantInt::isValueValidForType((yyvsp[-1].PrimType), (yyvsp[0].UInt64Val)))
       GEN_ERROR("Constant value doesn't fit in type!");
@@ -3645,24 +3672,24 @@ yyreduce:
   ;}
     break;
 
-  case 112:
-#line 1612 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 114:
+#line 1617 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {                      // Boolean constants
     (yyval.ConstVal) = ConstantBool::getTrue();
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 113:
-#line 1616 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 115:
+#line 1621 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {                     // Boolean constants
     (yyval.ConstVal) = ConstantBool::getFalse();
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 114:
-#line 1620 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 116:
+#line 1625 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {                   // Float & Double constants
     if (!ConstantFP::isValueValidForType((yyvsp[-1].PrimType), (yyvsp[0].FPVal)))
       GEN_ERROR("Floating point constant invalid for type!!");
@@ -3671,8 +3698,8 @@ yyreduce:
   ;}
     break;
 
-  case 115:
-#line 1628 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 117:
+#line 1633 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     if (!(yyvsp[-3].ConstVal)->getType()->isFirstClassType())
       GEN_ERROR("cast constant expression from a non-primitive type: '" +
@@ -3686,8 +3713,8 @@ yyreduce:
   ;}
     break;
 
-  case 116:
-#line 1639 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 118:
+#line 1644 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     if (!isa<PointerType>((yyvsp[-2].ConstVal)->getType()))
       GEN_ERROR("GetElementPtr requires a pointer operand!");
@@ -3722,8 +3749,8 @@ yyreduce:
   ;}
     break;
 
-  case 117:
-#line 1671 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 119:
+#line 1676 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     if ((yyvsp[-5].ConstVal)->getType() != Type::BoolTy)
       GEN_ERROR("Select condition must be of boolean type!");
@@ -3734,8 +3761,8 @@ yyreduce:
   ;}
     break;
 
-  case 118:
-#line 1679 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 120:
+#line 1684 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     if ((yyvsp[-3].ConstVal)->getType() != (yyvsp[-1].ConstVal)->getType())
       GEN_ERROR("Binary operator types must match!");
@@ -3765,8 +3792,8 @@ yyreduce:
   ;}
     break;
 
-  case 119:
-#line 1706 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 121:
+#line 1711 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     if ((yyvsp[-3].ConstVal)->getType() != (yyvsp[-1].ConstVal)->getType())
       GEN_ERROR("Logical operator types must match!");
@@ -3780,8 +3807,8 @@ yyreduce:
   ;}
     break;
 
-  case 120:
-#line 1717 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 122:
+#line 1722 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     if ((yyvsp[-3].ConstVal)->getType() != (yyvsp[-1].ConstVal)->getType())
       GEN_ERROR("setcc operand types must match!");
@@ -3790,8 +3817,8 @@ yyreduce:
   ;}
     break;
 
-  case 121:
-#line 1723 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 123:
+#line 1728 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     if ((yyvsp[-1].ConstVal)->getType() != Type::UByteTy)
       GEN_ERROR("Shift count for shift constant must be unsigned byte!");
@@ -3802,8 +3829,8 @@ yyreduce:
   ;}
     break;
 
-  case 122:
-#line 1731 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 124:
+#line 1736 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     if (!ExtractElementInst::isValidOperands((yyvsp[-3].ConstVal), (yyvsp[-1].ConstVal)))
       GEN_ERROR("Invalid extractelement operands!");
@@ -3812,8 +3839,8 @@ yyreduce:
   ;}
     break;
 
-  case 123:
-#line 1737 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 125:
+#line 1742 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     if (!InsertElementInst::isValidOperands((yyvsp[-5].ConstVal), (yyvsp[-3].ConstVal), (yyvsp[-1].ConstVal)))
       GEN_ERROR("Invalid insertelement operands!");
@@ -3822,8 +3849,8 @@ yyreduce:
   ;}
     break;
 
-  case 124:
-#line 1743 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 126:
+#line 1748 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     if (!ShuffleVectorInst::isValidOperands((yyvsp[-5].ConstVal), (yyvsp[-3].ConstVal), (yyvsp[-1].ConstVal)))
       GEN_ERROR("Invalid shufflevector operands!");
@@ -3832,16 +3859,16 @@ yyreduce:
   ;}
     break;
 
-  case 125:
-#line 1752 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 127:
+#line 1757 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     ((yyval.ConstVector) = (yyvsp[-2].ConstVector))->push_back((yyvsp[0].ConstVal));
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 126:
-#line 1756 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 128:
+#line 1761 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ConstVector) = new std::vector<Constant*>();
     (yyval.ConstVector)->push_back((yyvsp[0].ConstVal));
@@ -3849,18 +3876,18 @@ yyreduce:
   ;}
     break;
 
-  case 127:
-#line 1764 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 129:
+#line 1769 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.BoolVal) = false; ;}
     break;
 
-  case 128:
-#line 1764 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 130:
+#line 1769 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.BoolVal) = true; ;}
     break;
 
-  case 129:
-#line 1774 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 131:
+#line 1779 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
   (yyval.ModuleVal) = ParserResult = (yyvsp[0].ModuleVal);
   CurModule.ModuleDone();
@@ -3868,8 +3895,8 @@ yyreduce:
 ;}
     break;
 
-  case 130:
-#line 1782 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 132:
+#line 1787 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ModuleVal) = (yyvsp[-1].ModuleVal);
     CurFun.FunctionDone();
@@ -3877,32 +3904,32 @@ yyreduce:
   ;}
     break;
 
-  case 131:
-#line 1787 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 133:
+#line 1792 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ModuleVal) = (yyvsp[-1].ModuleVal);
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 132:
-#line 1791 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 134:
+#line 1796 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ModuleVal) = (yyvsp[-3].ModuleVal);
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 133:
-#line 1795 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 135:
+#line 1800 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ModuleVal) = (yyvsp[-1].ModuleVal);
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 134:
-#line 1799 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 136:
+#line 1804 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ModuleVal) = CurModule.CurrentModule;
     // Emit an error if there are any unresolved types left.
@@ -3918,8 +3945,8 @@ yyreduce:
   ;}
     break;
 
-  case 135:
-#line 1814 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 137:
+#line 1819 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     // Eagerly resolve types.  This is not an optimization, this is a
     // requirement that is due to the fact that we could have this:
@@ -3944,22 +3971,22 @@ yyreduce:
   ;}
     break;
 
-  case 136:
-#line 1836 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 138:
+#line 1841 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {       // Function prototypes can be in const pool
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 137:
-#line 1839 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 139:
+#line 1844 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {  // Asm blocks can be in the const pool
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 138:
-#line 1842 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 140:
+#line 1847 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     if ((yyvsp[0].ConstVal) == 0) 
       GEN_ERROR("Global value initializer is not a constant!");
@@ -3968,15 +3995,15 @@ yyreduce:
   ;}
     break;
 
-  case 139:
-#line 1847 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 141:
+#line 1852 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     CurGV = 0;
   ;}
     break;
 
-  case 140:
-#line 1850 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 142:
+#line 1855 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     CurGV = ParseGlobalVariable((yyvsp[-3].StrVal), GlobalValue::ExternalLinkage, (yyvsp[-1].BoolVal), *(yyvsp[0].TypeVal), 0);
     CHECK_FOR_ERROR
@@ -3984,16 +4011,16 @@ yyreduce:
   ;}
     break;
 
-  case 141:
-#line 1854 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 143:
+#line 1859 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     CurGV = 0;
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 142:
-#line 1858 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 144:
+#line 1863 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     CurGV = ParseGlobalVariable((yyvsp[-3].StrVal), GlobalValue::DLLImportLinkage, (yyvsp[-1].BoolVal), *(yyvsp[0].TypeVal), 0);
     CHECK_FOR_ERROR
@@ -4001,16 +4028,16 @@ yyreduce:
   ;}
     break;
 
-  case 143:
-#line 1862 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 145:
+#line 1867 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     CurGV = 0;
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 144:
-#line 1866 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 146:
+#line 1871 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     CurGV = 
       ParseGlobalVariable((yyvsp[-3].StrVal), GlobalValue::ExternalWeakLinkage, (yyvsp[-1].BoolVal), *(yyvsp[0].TypeVal), 0);
@@ -4019,36 +4046,36 @@ yyreduce:
   ;}
     break;
 
-  case 145:
-#line 1871 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 147:
+#line 1876 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     CurGV = 0;
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 146:
-#line 1875 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 148:
+#line 1880 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { 
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 147:
-#line 1878 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 149:
+#line 1883 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 148:
-#line 1881 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 150:
+#line 1886 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { 
   ;}
     break;
 
-  case 149:
-#line 1885 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 151:
+#line 1890 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
   const std::string &AsmSoFar = CurModule.CurrentModule->getModuleInlineAsm();
   char *EndStr = UnEscapeLexed((yyvsp[0].StrVal), true);
@@ -4063,26 +4090,26 @@ yyreduce:
 ;}
     break;
 
-  case 150:
-#line 1898 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 152:
+#line 1903 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.Endianness) = Module::BigEndian; ;}
     break;
 
-  case 151:
-#line 1899 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 153:
+#line 1904 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.Endianness) = Module::LittleEndian; ;}
     break;
 
-  case 152:
-#line 1901 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 154:
+#line 1906 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     CurModule.CurrentModule->setEndianness((yyvsp[0].Endianness));
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 153:
-#line 1905 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 155:
+#line 1910 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     if ((yyvsp[0].UInt64Val) == 32)
       CurModule.CurrentModule->setPointerSize(Module::Pointer32);
@@ -4094,24 +4121,24 @@ yyreduce:
   ;}
     break;
 
-  case 154:
-#line 1914 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 156:
+#line 1919 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     CurModule.CurrentModule->setTargetTriple((yyvsp[0].StrVal));
     free((yyvsp[0].StrVal));
   ;}
     break;
 
-  case 155:
-#line 1918 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 157:
+#line 1923 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     CurModule.CurrentModule->setDataLayout((yyvsp[0].StrVal));
     free((yyvsp[0].StrVal));
   ;}
     break;
 
-  case 157:
-#line 1925 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 159:
+#line 1930 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
           CurModule.CurrentModule->addLibrary((yyvsp[0].StrVal));
           free((yyvsp[0].StrVal));
@@ -4119,8 +4146,8 @@ yyreduce:
         ;}
     break;
 
-  case 158:
-#line 1930 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 160:
+#line 1935 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
           CurModule.CurrentModule->addLibrary((yyvsp[0].StrVal));
           free((yyvsp[0].StrVal));
@@ -4128,20 +4155,20 @@ yyreduce:
         ;}
     break;
 
-  case 159:
-#line 1935 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 161:
+#line 1940 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
           CHECK_FOR_ERROR
         ;}
     break;
 
-  case 163:
-#line 1945 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 165:
+#line 1950 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.StrVal) = 0; ;}
     break;
 
-  case 164:
-#line 1947 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 166:
+#line 1952 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
   if (*(yyvsp[-1].TypeVal) == Type::VoidTy)
     GEN_ERROR("void typed arguments are invalid!");
@@ -4150,8 +4177,8 @@ yyreduce:
 ;}
     break;
 
-  case 165:
-#line 1954 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 167:
+#line 1959 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ArgList) = (yyvsp[-2].ArgList);
     (yyvsp[-2].ArgList)->push_back(*(yyvsp[0].ArgVal));
@@ -4160,8 +4187,8 @@ yyreduce:
   ;}
     break;
 
-  case 166:
-#line 1960 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 168:
+#line 1965 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ArgList) = new std::vector<std::pair<PATypeHolder*,char*> >();
     (yyval.ArgList)->push_back(*(yyvsp[0].ArgVal));
@@ -4170,16 +4197,16 @@ yyreduce:
   ;}
     break;
 
-  case 167:
-#line 1967 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 169:
+#line 1972 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ArgList) = (yyvsp[0].ArgList);
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 168:
-#line 1971 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 170:
+#line 1976 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ArgList) = (yyvsp[-2].ArgList);
     (yyval.ArgList)->push_back(std::pair<PATypeHolder*,
@@ -4188,8 +4215,8 @@ yyreduce:
   ;}
     break;
 
-  case 169:
-#line 1977 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 171:
+#line 1982 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ArgList) = new std::vector<std::pair<PATypeHolder*,char*> >();
     (yyval.ArgList)->push_back(std::make_pair(new PATypeHolder(Type::VoidTy), (char*)0));
@@ -4197,16 +4224,16 @@ yyreduce:
   ;}
     break;
 
-  case 170:
-#line 1982 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 172:
+#line 1987 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ArgList) = 0;
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 171:
-#line 1988 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 173:
+#line 1993 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
   UnEscapeLexed((yyvsp[-5].StrVal));
   std::string FunctionName((yyvsp[-5].StrVal));
@@ -4302,8 +4329,8 @@ yyreduce:
 ;}
     break;
 
-  case 174:
-#line 2084 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 176:
+#line 2089 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
   (yyval.FunctionVal) = CurFun.CurrentFunction;
 
@@ -4313,31 +4340,31 @@ yyreduce:
 ;}
     break;
 
-  case 177:
-#line 2094 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 179:
+#line 2099 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
   (yyval.FunctionVal) = (yyvsp[-1].FunctionVal);
   CHECK_FOR_ERROR
 ;}
     break;
 
-  case 179:
-#line 2100 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 181:
+#line 2105 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { CurFun.Linkage = GlobalValue::DLLImportLinkage ;}
     break;
 
-  case 180:
-#line 2101 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 182:
+#line 2106 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { CurFun.Linkage = GlobalValue::DLLImportLinkage ;}
     break;
 
-  case 181:
-#line 2103 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 183:
+#line 2108 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { CurFun.isDeclare = true; ;}
     break;
 
-  case 182:
-#line 2103 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 184:
+#line 2108 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.FunctionVal) = CurFun.CurrentFunction;
     CurFun.FunctionDone();
@@ -4345,88 +4372,88 @@ yyreduce:
   ;}
     break;
 
-  case 183:
-#line 2113 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 185:
+#line 2118 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.BoolVal) = false;
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 184:
-#line 2117 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 186:
+#line 2122 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.BoolVal) = true;
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 185:
-#line 2122 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 187:
+#line 2127 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {    // A reference to a direct constant
     (yyval.ValIDVal) = ValID::create((yyvsp[0].SInt64Val));
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 186:
-#line 2126 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 188:
+#line 2131 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ValIDVal) = ValID::create((yyvsp[0].UInt64Val));
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 187:
-#line 2130 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 189:
+#line 2135 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {                     // Perhaps it's an FP constant?
     (yyval.ValIDVal) = ValID::create((yyvsp[0].FPVal));
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 188:
-#line 2134 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 190:
+#line 2139 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ValIDVal) = ValID::create(ConstantBool::getTrue());
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 189:
-#line 2138 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 191:
+#line 2143 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ValIDVal) = ValID::create(ConstantBool::getFalse());
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 190:
-#line 2142 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 192:
+#line 2147 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ValIDVal) = ValID::createNull();
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 191:
-#line 2146 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 193:
+#line 2151 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ValIDVal) = ValID::createUndef();
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 192:
-#line 2150 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 194:
+#line 2155 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {     // A vector zero constant.
     (yyval.ValIDVal) = ValID::createZeroInit();
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 193:
-#line 2154 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 195:
+#line 2159 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { // Nonempty unsized packed vector
     const Type *ETy = (*(yyvsp[-1].ConstVector))[0]->getType();
     int NumElements = (yyvsp[-1].ConstVector)->size(); 
@@ -4454,16 +4481,16 @@ yyreduce:
   ;}
     break;
 
-  case 194:
-#line 2179 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 196:
+#line 2184 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ValIDVal) = ValID::create((yyvsp[0].ConstVal));
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 195:
-#line 2183 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 197:
+#line 2188 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     char *End = UnEscapeLexed((yyvsp[-2].StrVal), true);
     std::string AsmStr = std::string((yyvsp[-2].StrVal), End);
@@ -4476,48 +4503,48 @@ yyreduce:
   ;}
     break;
 
-  case 196:
-#line 2197 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 198:
+#line 2202 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {  // Is it an integer reference...?
     (yyval.ValIDVal) = ValID::create((yyvsp[0].SIntVal));
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 197:
-#line 2201 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 199:
+#line 2206 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {                   // Is it a named reference...?
     (yyval.ValIDVal) = ValID::create((yyvsp[0].StrVal));
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 200:
-#line 2213 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 202:
+#line 2218 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ValueVal) = getVal(*(yyvsp[-1].TypeVal), (yyvsp[0].ValIDVal)); delete (yyvsp[-1].TypeVal);
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 201:
-#line 2218 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 203:
+#line 2223 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.FunctionVal) = (yyvsp[-1].FunctionVal);
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 202:
-#line 2222 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 204:
+#line 2227 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { // Do not allow functions with 0 basic blocks   
     (yyval.FunctionVal) = (yyvsp[-1].FunctionVal);
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 203:
-#line 2231 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 205:
+#line 2236 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     setValueName((yyvsp[0].TermInstVal), (yyvsp[-1].StrVal));
     CHECK_FOR_ERROR
@@ -4530,8 +4557,8 @@ yyreduce:
   ;}
     break;
 
-  case 204:
-#line 2242 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 206:
+#line 2247 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyvsp[-1].BasicBlockVal)->getInstList().push_back((yyvsp[0].InstVal));
     (yyval.BasicBlockVal) = (yyvsp[-1].BasicBlockVal);
@@ -4539,8 +4566,8 @@ yyreduce:
   ;}
     break;
 
-  case 205:
-#line 2247 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 207:
+#line 2252 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.BasicBlockVal) = CurBB = getBBVal(ValID::create((int)CurFun.NextBBNum++), true);
     CHECK_FOR_ERROR
@@ -4555,8 +4582,8 @@ yyreduce:
   ;}
     break;
 
-  case 206:
-#line 2259 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 208:
+#line 2264 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.BasicBlockVal) = CurBB = getBBVal(ValID::create((yyvsp[0].StrVal)), true);
     CHECK_FOR_ERROR
@@ -4571,24 +4598,24 @@ yyreduce:
   ;}
     break;
 
-  case 207:
-#line 2272 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 209:
+#line 2277 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {              // Return with a result...
     (yyval.TermInstVal) = new ReturnInst((yyvsp[0].ValueVal));
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 208:
-#line 2276 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 210:
+#line 2281 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {                                       // Return with no result...
     (yyval.TermInstVal) = new ReturnInst();
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 209:
-#line 2280 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 211:
+#line 2285 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {                         // Unconditional Branch...
     BasicBlock* tmpBB = getBBVal((yyvsp[0].ValIDVal));
     CHECK_FOR_ERROR
@@ -4596,8 +4623,8 @@ yyreduce:
   ;}
     break;
 
-  case 210:
-#line 2285 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 212:
+#line 2290 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {  
     BasicBlock* tmpBBA = getBBVal((yyvsp[-3].ValIDVal));
     CHECK_FOR_ERROR
@@ -4609,8 +4636,8 @@ yyreduce:
   ;}
     break;
 
-  case 211:
-#line 2294 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 213:
+#line 2299 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     Value* tmpVal = getVal((yyvsp[-7].PrimType), (yyvsp[-6].ValIDVal));
     CHECK_FOR_ERROR
@@ -4632,8 +4659,8 @@ yyreduce:
   ;}
     break;
 
-  case 212:
-#line 2313 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 214:
+#line 2318 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     Value* tmpVal = getVal((yyvsp[-6].PrimType), (yyvsp[-5].ValIDVal));
     CHECK_FOR_ERROR
@@ -4645,8 +4672,8 @@ yyreduce:
   ;}
     break;
 
-  case 213:
-#line 2323 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 215:
+#line 2328 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     const PointerType *PFTy;
     const FunctionType *Ty;
@@ -4704,24 +4731,24 @@ yyreduce:
   ;}
     break;
 
-  case 214:
-#line 2378 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 216:
+#line 2383 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.TermInstVal) = new UnwindInst();
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 215:
-#line 2382 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 217:
+#line 2387 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.TermInstVal) = new UnreachableInst();
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 216:
-#line 2389 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 218:
+#line 2394 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.JumpTable) = (yyvsp[-5].JumpTable);
     Constant *V = cast<Constant>(getValNonImprovising((yyvsp[-4].PrimType), (yyvsp[-3].ValIDVal)));
@@ -4735,8 +4762,8 @@ yyreduce:
   ;}
     break;
 
-  case 217:
-#line 2400 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 219:
+#line 2405 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.JumpTable) = new std::vector<std::pair<Constant*, BasicBlock*> >();
     Constant *V = cast<Constant>(getValNonImprovising((yyvsp[-4].PrimType), (yyvsp[-3].ValIDVal)));
@@ -4751,8 +4778,8 @@ yyreduce:
   ;}
     break;
 
-  case 218:
-#line 2413 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 220:
+#line 2418 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
   // Is this definition named?? if so, assign the name...
   setValueName((yyvsp[0].InstVal), (yyvsp[-1].StrVal));
@@ -4763,8 +4790,8 @@ yyreduce:
 ;}
     break;
 
-  case 219:
-#line 2422 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 221:
+#line 2427 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {    // Used for PHI nodes
     (yyval.PHIList) = new std::list<std::pair<Value*, BasicBlock*> >();
     Value* tmpVal = getVal(*(yyvsp[-5].TypeVal), (yyvsp[-3].ValIDVal));
@@ -4776,8 +4803,8 @@ yyreduce:
   ;}
     break;
 
-  case 220:
-#line 2431 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 222:
+#line 2436 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.PHIList) = (yyvsp[-6].PHIList);
     Value* tmpVal = getVal((yyvsp[-6].PHIList)->front().first->getType(), (yyvsp[-3].ValIDVal));
@@ -4788,16 +4815,16 @@ yyreduce:
   ;}
     break;
 
-  case 221:
-#line 2441 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 223:
+#line 2446 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {    // Used for call statements, and memory insts...
     (yyval.ValueList) = new std::vector<Value*>();
     (yyval.ValueList)->push_back((yyvsp[0].ValueVal));
   ;}
     break;
 
-  case 222:
-#line 2445 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 224:
+#line 2450 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.ValueList) = (yyvsp[-2].ValueList);
     (yyvsp[-2].ValueList)->push_back((yyvsp[0].ValueVal));
@@ -4805,36 +4832,39 @@ yyreduce:
   ;}
     break;
 
-  case 224:
-#line 2452 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 226:
+#line 2457 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { (yyval.ValueList) = 0; ;}
     break;
 
-  case 225:
-#line 2454 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 227:
+#line 2459 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.BoolVal) = true;
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 226:
-#line 2458 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 228:
+#line 2463 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.BoolVal) = false;
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 227:
-#line 2463 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 229:
+#line 2468 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     if (!(*(yyvsp[-3].TypeVal))->isInteger() && !(*(yyvsp[-3].TypeVal))->isFloatingPoint() && 
         !isa<PackedType>((*(yyvsp[-3].TypeVal)).get()))
       GEN_ERROR(
         "Arithmetic operator requires integer, FP, or packed operands!");
-    if (isa<PackedType>((*(yyvsp[-3].TypeVal)).get()) && (yyvsp[-4].BinaryOpVal).opcode == Instruction::Rem)
-      GEN_ERROR("Rem not supported on packed types!");
+    if (isa<PackedType>((*(yyvsp[-3].TypeVal)).get()) && 
+        ((yyvsp[-4].BinaryOpVal).opcode == Instruction::URem || 
+         (yyvsp[-4].BinaryOpVal).opcode == Instruction::SRem ||
+         (yyvsp[-4].BinaryOpVal).opcode == Instruction::FRem))
+      GEN_ERROR("U/S/FRem not supported on packed types!");
     // Upgrade the opcode from obsolete versions before we do anything with it.
     sanitizeOpCode((yyvsp[-4].BinaryOpVal),*(yyvsp[-3].TypeVal));
     CHECK_FOR_ERROR;
@@ -4849,8 +4879,8 @@ yyreduce:
   ;}
     break;
 
-  case 228:
-#line 2482 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 230:
+#line 2490 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     if (!(*(yyvsp[-3].TypeVal))->isIntegral()) {
       if (!isa<PackedType>((yyvsp[-3].TypeVal)->get()) ||
@@ -4868,8 +4898,8 @@ yyreduce:
   ;}
     break;
 
-  case 229:
-#line 2497 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 231:
+#line 2505 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     if(isa<PackedType>((*(yyvsp[-3].TypeVal)).get())) {
       GEN_ERROR(
@@ -4886,8 +4916,8 @@ yyreduce:
   ;}
     break;
 
-  case 230:
-#line 2511 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 232:
+#line 2519 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     std::cerr << "WARNING: Use of eliminated 'not' instruction:"
               << " Replacing with 'xor'.\n";
@@ -4903,8 +4933,8 @@ yyreduce:
   ;}
     break;
 
-  case 231:
-#line 2524 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 233:
+#line 2532 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     if ((yyvsp[0].ValueVal)->getType() != Type::UByteTy)
       GEN_ERROR("Shift amount must be ubyte!");
@@ -4915,8 +4945,8 @@ yyreduce:
   ;}
     break;
 
-  case 232:
-#line 2532 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 234:
+#line 2540 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     if (!(yyvsp[0].TypeVal)->get()->isFirstClassType())
       GEN_ERROR("cast instruction to a non-primitive type: '" +
@@ -4927,8 +4957,8 @@ yyreduce:
   ;}
     break;
 
-  case 233:
-#line 2540 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 235:
+#line 2548 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     if ((yyvsp[-4].ValueVal)->getType() != Type::BoolTy)
       GEN_ERROR("select condition must be boolean!");
@@ -4939,8 +4969,8 @@ yyreduce:
   ;}
     break;
 
-  case 234:
-#line 2548 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 236:
+#line 2556 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     NewVarArgs = true;
     (yyval.InstVal) = new VAArgInst((yyvsp[-2].ValueVal), *(yyvsp[0].TypeVal));
@@ -4949,8 +4979,8 @@ yyreduce:
   ;}
     break;
 
-  case 235:
-#line 2554 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 237:
+#line 2562 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     ObsoleteVarArgs = true;
     const Type* ArgTy = (yyvsp[-2].ValueVal)->getType();
@@ -4973,8 +5003,8 @@ yyreduce:
   ;}
     break;
 
-  case 236:
-#line 2574 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 238:
+#line 2582 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     ObsoleteVarArgs = true;
     const Type* ArgTy = (yyvsp[-2].ValueVal)->getType();
@@ -5000,8 +5030,8 @@ yyreduce:
   ;}
     break;
 
-  case 237:
-#line 2597 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 239:
+#line 2605 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     if (!ExtractElementInst::isValidOperands((yyvsp[-2].ValueVal), (yyvsp[0].ValueVal)))
       GEN_ERROR("Invalid extractelement operands!");
@@ -5010,8 +5040,8 @@ yyreduce:
   ;}
     break;
 
-  case 238:
-#line 2603 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 240:
+#line 2611 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     if (!InsertElementInst::isValidOperands((yyvsp[-4].ValueVal), (yyvsp[-2].ValueVal), (yyvsp[0].ValueVal)))
       GEN_ERROR("Invalid insertelement operands!");
@@ -5020,8 +5050,8 @@ yyreduce:
   ;}
     break;
 
-  case 239:
-#line 2609 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 241:
+#line 2617 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     if (!ShuffleVectorInst::isValidOperands((yyvsp[-4].ValueVal), (yyvsp[-2].ValueVal), (yyvsp[0].ValueVal)))
       GEN_ERROR("Invalid shufflevector operands!");
@@ -5030,8 +5060,8 @@ yyreduce:
   ;}
     break;
 
-  case 240:
-#line 2615 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 242:
+#line 2623 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     const Type *Ty = (yyvsp[0].PHIList)->front().first->getType();
     if (!Ty->isFirstClassType())
@@ -5049,8 +5079,8 @@ yyreduce:
   ;}
     break;
 
-  case 241:
-#line 2630 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 243:
+#line 2638 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     const PointerType *PFTy;
     const FunctionType *Ty;
@@ -5112,48 +5142,48 @@ yyreduce:
   ;}
     break;
 
-  case 242:
-#line 2689 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 244:
+#line 2697 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.InstVal) = (yyvsp[0].InstVal);
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 243:
-#line 2696 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 245:
+#line 2704 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { 
     (yyval.ValueList) = (yyvsp[0].ValueList); 
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 244:
-#line 2699 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 246:
+#line 2707 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     { 
     (yyval.ValueList) = new std::vector<Value*>(); 
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 245:
-#line 2704 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 247:
+#line 2712 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.BoolVal) = true;
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 246:
-#line 2708 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 248:
+#line 2716 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.BoolVal) = false;
     CHECK_FOR_ERROR
   ;}
     break;
 
-  case 247:
-#line 2715 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 249:
+#line 2723 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.InstVal) = new MallocInst(*(yyvsp[-1].TypeVal), 0, (yyvsp[0].UIntVal));
     delete (yyvsp[-1].TypeVal);
@@ -5161,8 +5191,8 @@ yyreduce:
   ;}
     break;
 
-  case 248:
-#line 2720 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 250:
+#line 2728 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     Value* tmpVal = getVal((yyvsp[-2].PrimType), (yyvsp[-1].ValIDVal));
     CHECK_FOR_ERROR
@@ -5171,8 +5201,8 @@ yyreduce:
   ;}
     break;
 
-  case 249:
-#line 2726 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 251:
+#line 2734 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     (yyval.InstVal) = new AllocaInst(*(yyvsp[-1].TypeVal), 0, (yyvsp[0].UIntVal));
     delete (yyvsp[-1].TypeVal);
@@ -5180,8 +5210,8 @@ yyreduce:
   ;}
     break;
 
-  case 250:
-#line 2731 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 252:
+#line 2739 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     Value* tmpVal = getVal((yyvsp[-2].PrimType), (yyvsp[-1].ValIDVal));
     CHECK_FOR_ERROR
@@ -5190,8 +5220,8 @@ yyreduce:
   ;}
     break;
 
-  case 251:
-#line 2737 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 253:
+#line 2745 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     if (!isa<PointerType>((yyvsp[0].ValueVal)->getType()))
       GEN_ERROR("Trying to free nonpointer type " + 
@@ -5201,8 +5231,8 @@ yyreduce:
   ;}
     break;
 
-  case 252:
-#line 2745 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 254:
+#line 2753 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     if (!isa<PointerType>((yyvsp[-1].TypeVal)->get()))
       GEN_ERROR("Can't load from nonpointer type: " +
@@ -5217,8 +5247,8 @@ yyreduce:
   ;}
     break;
 
-  case 253:
-#line 2757 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 255:
+#line 2765 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     const PointerType *PT = dyn_cast<PointerType>((yyvsp[-1].TypeVal)->get());
     if (!PT)
@@ -5236,8 +5266,8 @@ yyreduce:
   ;}
     break;
 
-  case 254:
-#line 2772 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+  case 256:
+#line 2780 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
     {
     if (!isa<PointerType>((yyvsp[-2].TypeVal)->get()))
       GEN_ERROR("getelementptr insn requires pointer operand!");
@@ -5269,7 +5299,7 @@ yyreduce:
     }
 
 /* Line 1126 of yacc.c.  */
-#line 5273 "llvmAsmParser.tab.c"
+#line 5303 "llvmAsmParser.tab.c"
 \f
   yyvsp -= yylen;
   yyssp -= yylen;
@@ -5537,7 +5567,7 @@ yyreturn:
 }
 
 
-#line 2798 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2806 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
 
 
 void llvm::GenerateError(const std::string &message, int LineNo) {
index d0c8572e079e375d8be6772d8de6744e74c77566..a70c2605ae2b8d1a9cfe8efb50b649bd25abbb41 100644 (file)
      UDIV = 336,
      SDIV = 337,
      FDIV = 338,
-     REM = 339,
-     AND = 340,
-     OR = 341,
-     XOR = 342,
-     SETLE = 343,
-     SETGE = 344,
-     SETLT = 345,
-     SETGT = 346,
-     SETEQ = 347,
-     SETNE = 348,
-     MALLOC = 349,
-     ALLOCA = 350,
-     FREE = 351,
-     LOAD = 352,
-     STORE = 353,
-     GETELEMENTPTR = 354,
-     PHI_TOK = 355,
-     CAST = 356,
-     SELECT = 357,
-     SHL = 358,
-     SHR = 359,
-     VAARG = 360,
-     EXTRACTELEMENT = 361,
-     INSERTELEMENT = 362,
-     SHUFFLEVECTOR = 363,
-     VAARG_old = 364,
-     VANEXT_old = 365
+     UREM = 339,
+     SREM = 340,
+     FREM = 341,
+     AND = 342,
+     OR = 343,
+     XOR = 344,
+     SETLE = 345,
+     SETGE = 346,
+     SETLT = 347,
+     SETGT = 348,
+     SETEQ = 349,
+     SETNE = 350,
+     MALLOC = 351,
+     ALLOCA = 352,
+     FREE = 353,
+     LOAD = 354,
+     STORE = 355,
+     GETELEMENTPTR = 356,
+     PHI_TOK = 357,
+     CAST = 358,
+     SELECT = 359,
+     SHL = 360,
+     SHR = 361,
+     VAARG = 362,
+     EXTRACTELEMENT = 363,
+     INSERTELEMENT = 364,
+     SHUFFLEVECTOR = 365,
+     VAARG_old = 366,
+     VANEXT_old = 367
    };
 #endif
 /* Tokens.  */
 #define UDIV 336
 #define SDIV 337
 #define FDIV 338
-#define REM 339
-#define AND 340
-#define OR 341
-#define XOR 342
-#define SETLE 343
-#define SETGE 344
-#define SETLT 345
-#define SETGT 346
-#define SETEQ 347
-#define SETNE 348
-#define MALLOC 349
-#define ALLOCA 350
-#define FREE 351
-#define LOAD 352
-#define STORE 353
-#define GETELEMENTPTR 354
-#define PHI_TOK 355
-#define CAST 356
-#define SELECT 357
-#define SHL 358
-#define SHR 359
-#define VAARG 360
-#define EXTRACTELEMENT 361
-#define INSERTELEMENT 362
-#define SHUFFLEVECTOR 363
-#define VAARG_old 364
-#define VANEXT_old 365
+#define UREM 339
+#define SREM 340
+#define FREM 341
+#define AND 342
+#define OR 343
+#define XOR 344
+#define SETLE 345
+#define SETGE 346
+#define SETLT 347
+#define SETGT 348
+#define SETEQ 349
+#define SETNE 350
+#define MALLOC 351
+#define ALLOCA 352
+#define FREE 353
+#define LOAD 354
+#define STORE 355
+#define GETELEMENTPTR 356
+#define PHI_TOK 357
+#define CAST 358
+#define SELECT 359
+#define SHL 360
+#define SHR 361
+#define VAARG 362
+#define EXTRACTELEMENT 363
+#define INSERTELEMENT 364
+#define SHUFFLEVECTOR 365
+#define VAARG_old 366
+#define VANEXT_old 367
 
 
 
 
 #if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED)
-#line 1011 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1016 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
 typedef union YYSTYPE {
   llvm::Module                           *ModuleVal;
   llvm::Function                         *FunctionVal;
@@ -294,7 +298,7 @@ typedef union YYSTYPE {
   llvm::Module::Endianness          Endianness;
 } YYSTYPE;
 /* Line 1447 of yacc.c.  */
-#line 298 "llvmAsmParser.tab.h"
+#line 302 "llvmAsmParser.tab.h"
 # define yystype YYSTYPE /* obsolescent; will be withdrawn */
 # define YYSTYPE_IS_DECLARED 1
 # define YYSTYPE_IS_TRIVIAL 1
index 684b643bbacae738c3cce84787d2ea5124e5d3a4..d40b653afda56f7cc83fdae9b93fa25804fb2f33 100644 (file)
@@ -836,7 +836,7 @@ sanitizeOpCode(OpcodeInfo<Instruction::BinaryOps> &OI, const PATypeHolder& PATy)
   // Depending on the opcode ..
   switch (OI.opcode) {
     default:
-      GenerateError("Invalid Obsolete OpCode");
+      GenerateError("Invalid obsolete opCode (check Lexer.l)");
       break;
     case Instruction::UDiv:
       // Handle cases where the opcode needs to change
@@ -845,12 +845,17 @@ sanitizeOpCode(OpcodeInfo<Instruction::BinaryOps> &OI, const PATypeHolder& PATy)
       else if (Ty->isSigned())
         OI.opcode = Instruction::SDiv;
       break;
+    case Instruction::URem:
+      if (Ty->isFloatingPoint()) 
+        OI.opcode = Instruction::FRem;
+      else if (Ty->isSigned())
+        OI.opcode = Instruction::SRem;
+      break;
   }
   // Its not obsolete any more, we fixed it.
   OI.obsolete = false;
 }
-
-
+  
 // common code from the two 'RunVMAsmParser' functions
 static Module* RunParser(Module * M) {
 
@@ -1113,7 +1118,7 @@ Module *llvm::RunVMAsmParser(const char * AsmString, Module * M) {
 
 // Binary Operators
 %type  <BinaryOpVal> ArithmeticOps LogicalOps SetCondOps // Binops Subcatagories
-%token <BinaryOpVal> ADD SUB MUL UDIV SDIV FDIV REM AND OR XOR
+%token <BinaryOpVal> ADD SUB MUL UDIV SDIV FDIV UREM SREM FREM AND OR XOR
 %token <BinaryOpVal> SETLE SETGE SETLT SETGT SETEQ SETNE  // Binary Comparators
 
 // Memory Instructions
@@ -1151,7 +1156,7 @@ EINT64VAL : EUINT64VAL {
 // Operations that are notably excluded from this list include:
 // RET, BR, & SWITCH because they end basic blocks and are treated specially.
 //
-ArithmeticOps: ADD | SUB | MUL | UDIV | SDIV | FDIV | REM ;
+ArithmeticOps: ADD | SUB | MUL | UDIV | SDIV | FDIV | UREM | SREM | FREM;
 LogicalOps   : AND | OR | XOR;
 SetCondOps   : SETLE | SETGE | SETLT | SETGT | SETEQ | SETNE;
 
@@ -2465,8 +2470,11 @@ InstVal : ArithmeticOps Types ValueRef ',' ValueRef {
         !isa<PackedType>((*$2).get()))
       GEN_ERROR(
         "Arithmetic operator requires integer, FP, or packed operands!");
-    if (isa<PackedType>((*$2).get()) && $1.opcode == Instruction::Rem)
-      GEN_ERROR("Rem not supported on packed types!");
+    if (isa<PackedType>((*$2).get()) && 
+        ($1.opcode == Instruction::URem || 
+         $1.opcode == Instruction::SRem ||
+         $1.opcode == Instruction::FRem))
+      GEN_ERROR("U/S/FRem not supported on packed types!");
     // Upgrade the opcode from obsolete versions before we do anything with it.
     sanitizeOpCode($1,*$2);
     CHECK_FOR_ERROR;
index b1ec74e2d6c0dfb736576c8bfb018a7bd906d999..c20eeddcbf081c1fbc77974daca61354f76c5e50 100644 (file)
@@ -1383,7 +1383,6 @@ void BytecodeReader::ParseSymbolTable(Function *CurrentFunction,
     unsigned NumEntries = read_vbr_uint();
     unsigned Typ = 0;
     bool isTypeType = read_typeid(Typ);
-    const Type *Ty = getType(Typ);
 
     for (unsigned i = 0; i != NumEntries; ++i) {
       // Symtab entry: [def slot #][name]
index 61af8e41031116863cabf434ad34d6a7fd2242f7..199869ce06209ff4f4ae79ef119b5ca796bbcf25 100644 (file)
@@ -1273,7 +1273,7 @@ void llvm::WriteBytecodeToFile(const Module *M, std::ostream &Out,
     Out.write(compressed_magic,4);
 
     // Compress everything after the magic number (which we altered)
-    uint64_t zipSize = Compressor::compressToStream(
+    Compressor::compressToStream(
       (char*)(FirstByte+4),        // Skip the magic number
       Buffer.size()-4,             // Skip the magic number
       Out                          // Where to write compressed data
index 0ee7ee2f4b94cfced47386739ba405e3a8f8573e..97587d50122c64c88cf89942de87f42cff39bb59 100644 (file)
@@ -766,7 +766,6 @@ void BranchFolder::OptimizeBlock(MachineBasicBlock *MBB) {
         // Analyze the branch at the end of the pred.
         MachineBasicBlock *PredBB = *PI;
         MachineFunction::iterator PredFallthrough = PredBB; ++PredFallthrough;
-        MachineBasicBlock *PredTBB = 0, *PredFBB = 0;
         std::vector<MachineOperand> PredCond;
         if (PredBB != MBB && !CanFallThrough(PredBB)) {
           MBB->moveAfter(PredBB);
@@ -781,7 +780,6 @@ void BranchFolder::OptimizeBlock(MachineBasicBlock *MBB) {
         // Analyze the branch at the end of the block before the succ.
         MachineBasicBlock *SuccBB = *SI;
         MachineFunction::iterator SuccPrev = SuccBB; --SuccPrev;
-        MachineBasicBlock *SuccPrevTBB = 0, *SuccPrevFBB = 0;
         std::vector<MachineOperand> SuccPrevCond;
         if (SuccBB != MBB && !CanFallThrough(SuccPrev)) {
           MBB->moveBefore(SuccBB);
index 43ea483a36342e9bac44d952b788e7207629f931..be51d9ff57735789c99f3aaf5334c0a84d003a1b 100644 (file)
@@ -2132,7 +2132,6 @@ private:
           } else {
             EmitInt8(DW_CFA_def_cfa);
             EOL("DW_CFA_def_cfa");
-            
             EmitULEB128Bytes(RI->getDwarfRegNum(Src.getRegister()));
             EOL("Register");
           }
index 4f041c27375866b7f43b9f65962da84db9cc3f89..5c58dd4fd7a16ad7cc2ef404faa40d9ac295d064 100644 (file)
@@ -113,7 +113,6 @@ void ELFCodeEmitter::startFunction(MachineFunction &F) {
 
   // Add padding zeros to the end of the buffer to make sure that the
   // function will start on the correct byte alignment within the section.
-  size_t SectionOff = OutBuffer->size();
   ELFWriter::align(*OutBuffer, Align);
 
   FnStart = OutBuffer->size();
index 1834d6c01502f597a2b83ed202c1b19d82b89f79..8e3f888d00ed74a5a46d24d6f9bf52f0bec66320 100644 (file)
@@ -289,7 +289,6 @@ void LiveInterval::join(LiveInterval &Other, int *LHSValNoAssignments,
   //
   // Also, if one range is a physreg and one is a vreg, we always merge from the
   // vreg into the physreg, which leaves the vreg intervals pristine.
-  unsigned OtherOffs = 1, ThisOffs = 0;
   if ((Other.ranges.size() > ranges.size() &&
       MRegisterInfo::isVirtualRegister(reg)) ||
       MRegisterInfo::isPhysicalRegister(Other.reg)) {
index aee2b1f4e09500d5409a408c4b7152d2418b61b8..99f7e4d285c15b200f0685607f92aaf44643270a 100644 (file)
@@ -184,7 +184,7 @@ bool LiveIntervals::runOnMachineFunction(MachineFunction &fn) {
       if (tii_->isMoveInstr(*mii, srcReg, dstReg) &&
           (RegRep = rep(srcReg)) == rep(dstReg)) {
         // remove from def list
-        LiveInterval &interval = getOrCreateInterval(RegRep);
+        getOrCreateInterval(RegRep);
         RemoveMachineInstrFromMaps(mii);
         mii = mbbi->erase(mii);
         ++numPeep;
index 5a73131b3e472f47ff7ff46f9309638ea86d3af2..29686558adc1395a020d6d168bebe7c9f4ef70ac 100644 (file)
@@ -223,7 +223,6 @@ bool LiveVariables::runOnMachineFunction(MachineFunction &MF) {
   for (df_ext_iterator<MachineBasicBlock*> DFI = df_ext_begin(Entry, Visited),
          E = df_ext_end(Entry, Visited); DFI != E; ++DFI) {
     MachineBasicBlock *MBB = *DFI;
-    unsigned BBNum = MBB->getNumber();
 
     // Loop over all of the instructions, processing them.
     for (MachineBasicBlock::iterator I = MBB->begin(), E = MBB->end();
index a4d3c54e1c3b05b8c07ced7a213d856cdbcba9f7..39090edea218e4f6b8d0595474bc2ca05975489d 100644 (file)
@@ -1041,7 +1041,6 @@ SDOperand DAGCombiner::visitAND(SDNode *N) {
   ConstantSDNode *N0C = dyn_cast<ConstantSDNode>(N0);
   ConstantSDNode *N1C = dyn_cast<ConstantSDNode>(N1);
   MVT::ValueType VT = N1.getValueType();
-  unsigned OpSizeInBits = MVT::getSizeInBits(VT);
   
   // fold (and c1, c2) -> c1&c2
   if (N0C && N1C)
@@ -1319,7 +1318,7 @@ SDOperand DAGCombiner::visitOR(SDNode *N) {
 /// MatchRotateHalf - Match "(X shl/srl V1) & V2" where V2 may not be present.
 static bool MatchRotateHalf(SDOperand Op, SDOperand &Shift, SDOperand &Mask) {
   if (Op.getOpcode() == ISD::AND) {
-    if (ConstantSDNode *RHSC = dyn_cast<ConstantSDNode>(Op.getOperand(1))) {
+    if (isa<ConstantSDNode>(Op.getOperand(1))) {
       Mask = Op.getOperand(1);
       Op = Op.getOperand(0);
     } else {
@@ -1856,9 +1855,6 @@ SDOperand DAGCombiner::visitSELECT_CC(SDNode *N) {
   SDOperand N2 = N->getOperand(2);
   SDOperand N3 = N->getOperand(3);
   SDOperand N4 = N->getOperand(4);
-  ConstantSDNode *N0C = dyn_cast<ConstantSDNode>(N0);
-  ConstantSDNode *N1C = dyn_cast<ConstantSDNode>(N1);
-  ConstantSDNode *N2C = dyn_cast<ConstantSDNode>(N2);
   ISD::CondCode CC = cast<CondCodeSDNode>(N4)->get();
   
   // fold select_cc lhs, rhs, x, x, cc -> x
@@ -1900,7 +1896,7 @@ SDOperand DAGCombiner::visitSIGN_EXTEND(SDNode *N) {
   MVT::ValueType VT = N->getValueType(0);
 
   // fold (sext c1) -> c1
-  if (ConstantSDNode *N0C = dyn_cast<ConstantSDNode>(N0))
+  if (isa<ConstantSDNode>(N0))
     return DAG.getNode(ISD::SIGN_EXTEND, VT, N0);
   
   // fold (sext (sext x)) -> (sext x)
@@ -1958,7 +1954,7 @@ SDOperand DAGCombiner::visitZERO_EXTEND(SDNode *N) {
   MVT::ValueType VT = N->getValueType(0);
 
   // fold (zext c1) -> c1
-  if (ConstantSDNode *N0C = dyn_cast<ConstantSDNode>(N0))
+  if (isa<ConstantSDNode>(N0))
     return DAG.getNode(ISD::ZERO_EXTEND, VT, N0);
   // fold (zext (zext x)) -> (zext x)
   // fold (zext (aext x)) -> (zext x)
@@ -3578,7 +3574,7 @@ SDOperand DAGCombiner::SimplifySetCC(MVT::ValueType VT, SDOperand N0,
 
   if (ConstantSDNode *N1C = dyn_cast<ConstantSDNode>(N1.Val)) {
     uint64_t C1 = N1C->getValue();
-    if (ConstantSDNode *N0C = dyn_cast<ConstantSDNode>(N0.Val)) {
+    if (isa<ConstantSDNode>(N0.Val)) {
       return DAG.FoldSetCC(VT, N0, N1, Cond);
     } else {
       // If the LHS is '(srl (ctlz x), 5)', the RHS is 0/1, and this is an
@@ -3806,7 +3802,7 @@ SDOperand DAGCombiner::SimplifySetCC(MVT::ValueType VT, SDOperand N0,
     return DAG.getSetCC(VT, N1, N0, ISD::getSetCCSwappedOperands(Cond));
   }
 
-  if (ConstantFPSDNode *N0C = dyn_cast<ConstantFPSDNode>(N0.Val)) {
+  if (isa<ConstantFPSDNode>(N0.Val)) {
     // Constant fold or commute setcc.
     SDOperand O = DAG.FoldSetCC(VT, N0, N1, Cond);    
     if (O.Val) return O;
index cbb582478d7cfbc7b6fe5d9f21d42f4d90bd65f8..b1dfc90205ad2359c42a8d9acfc40cd0b5dad506 100644 (file)
@@ -3690,7 +3690,6 @@ SDOperand SelectionDAGLegalize::ExpandBUILD_VECTOR(SDNode *Node) {
   SmallVector<SDOperand, 8> Stores;
   unsigned TypeByteSize = 
     MVT::getSizeInBits(Node->getOperand(0).getValueType())/8;
-  unsigned VectorSize = MVT::getSizeInBits(VT)/8;
   // Store (in the right endianness) the elements to memory.
   for (unsigned i = 0, e = Node->getNumOperands(); i != e; ++i) {
     // Ignore undef elements.
@@ -4802,7 +4801,6 @@ void SelectionDAGLegalize::ExpandOp(SDOperand Op, SDOperand &Lo, SDOperand &Hi){
     
     bool HasMULHS = TLI.isOperationLegal(ISD::MULHS, NVT);
     bool HasMULHU = TLI.isOperationLegal(ISD::MULHU, NVT);
-    bool UseLibCall = true;
     if (HasMULHS || HasMULHU) {
       SDOperand LL, LH, RL, RH;
       ExpandOp(Node->getOperand(0), LL, LH);
index 7704a531affef3daf09a7fcb258e1d5fbe15cb55..7befa9c4ca5ecfbbf607c8b87876940876f78fcc 100644 (file)
@@ -257,7 +257,6 @@ void ScheduleDAGRRList::ListScheduleBottomUp() {
   // While Available queue is not empty, grab the node with the highest
   // priority. If it is not ready put it back. Schedule the node.
   std::vector<SUnit*> NotReady;
-  SUnit *CurNode = NULL;
   while (!AvailableQueue->empty()) {
     SUnit *CurNode = AvailableQueue->pop();
     while (CurNode && !isReady(CurNode, CurCycle)) {
@@ -373,7 +372,6 @@ void ScheduleDAGRRList::ListScheduleTopDown() {
   // While Available queue is not empty, grab the node with the highest
   // priority. If it is not ready put it back. Schedule the node.
   std::vector<SUnit*> NotReady;
-  SUnit *CurNode = NULL;
   while (!AvailableQueue->empty()) {
     SUnit *CurNode = AvailableQueue->pop();
     while (CurNode && !isReady(CurNode, CurCycle)) {
index efc828bd52ff9a98596c7a9ea829551350b1de21..f48f4447ba6210aee7aa66562d85faed6bdce10c 100644 (file)
@@ -505,7 +505,6 @@ enum {
   RSLoadStore = 0x0C000000,  // Two load store units
   RSBranch    = 0x02000000   // One branch unit
 };
-static InstrStage CallStage  = { CallLatency, RSBranch };
 static InstrStage LoadStage  = { 5, RSLoadStore };
 static InstrStage StoreStage = { 2, RSLoadStore };
 static InstrStage IntStage   = { 2, RSInteger };
index 16c0718c7d3848261443060b16da45cf7bda7922..bfd9a806c3a27ca52dc0bcea809743188fd7528c 100644 (file)
@@ -1956,7 +1956,6 @@ UpdateNodeOperands(SDOperand InN, SDOperand Op1, SDOperand Op2) {
   assert(N->getNumOperands() == 2 && "Update with wrong number of operands");
   
   // Check to see if there is no change.
-  bool AnyChange = false;
   if (Op1 == N->getOperand(0) && Op2 == N->getOperand(1))
     return InN;   // No operands changed, just return the input node.
   
index 99306050c1361a9308404d9372a70f8d4945f548..d00b9966ede27d1455c22c0e0dc21129eaca052b 100644 (file)
@@ -2343,11 +2343,6 @@ void SelectionDAGLowering::visitInlineAsm(CallInst &I) {
   SDOperand AsmStr = DAG.getTargetExternalSymbol(IA->getAsmString().c_str(),
                                                  MVT::Other);
 
-  // Note, we treat inline asms both with and without side-effects as the same.
-  // If an inline asm doesn't have side effects and doesn't access memory, we
-  // could not choose to not chain it.
-  bool hasSideEffects = IA->hasSideEffects();
-
   std::vector<InlineAsm::ConstraintInfo> Constraints = IA->ParseConstraints();
   std::vector<MVT::ValueType> ConstraintVTs;
   
@@ -3124,7 +3119,6 @@ static SDOperand getMemsetValue(SDOperand Value, MVT::ValueType VT,
 static SDOperand getMemsetStringVal(MVT::ValueType VT,
                                     SelectionDAG &DAG, TargetLowering &TLI,
                                     std::string &Str, unsigned Offset) {
-  MVT::ValueType CurVT = VT;
   uint64_t Val = 0;
   unsigned MSB = getSizeInBits(VT) / 8;
   if (TLI.isLittleEndian())
index 129bcd9525916be65c4b46851ceebc6fbf2e271d..05abe96a59c36be5e4e509202f9df50306e69107 100644 (file)
@@ -504,7 +504,6 @@ bool TargetLowering::SimplifyDemandedBits(SDOperand Op, uint64_t DemandedMask,
     }
     break;
   case ISD::SIGN_EXTEND_INREG: {
-    MVT::ValueType  VT = Op.getValueType();
     MVT::ValueType EVT = cast<VTSDNode>(Op.getOperand(1))->getVT();
 
     // Sign extension.  Compute the demanded bits in the result that are not 
@@ -852,7 +851,6 @@ void TargetLowering::ComputeMaskedBits(SDOperand Op, uint64_t Mask,
     }
     return;
   case ISD::SIGN_EXTEND_INREG: {
-    MVT::ValueType  VT = Op.getValueType();
     MVT::ValueType EVT = cast<VTSDNode>(Op.getOperand(1))->getVT();
     
     // Sign extension.  Compute the demanded bits in the result that are not 
index 7e12cf80d6d7cb60cadffa64678ecaee2a724c4f..05ad4f7a8ba0d3b1cb34d4a8598445c057247bab 100644 (file)
@@ -61,7 +61,7 @@ static const GlobalVariable *getNextStopPoint(const Value *V, unsigned &LineNo,
       
       // If we found a stop point, check to see if it is earlier than what we
       // already have.  If so, remember it.
-      if (const Function *F = CI->getCalledFunction())
+      if (CI->getCalledFunction())
         if (const DbgStopPointInst *SPI = dyn_cast<DbgStopPointInst>(CI)) {
           unsigned CurLineNo = SPI->getLine();
           unsigned CurColNo = SPI->getColumn();
index 4e556320ae9c66ae36dd09377af9bda79f8da224..911aa8c20563c487ce13a5bd2f802a3ed7c7907f 100644 (file)
@@ -906,7 +906,6 @@ void JITEmitter::emitJumpTableInfo(MachineJumpTableInfo *MJTI) {
   const std::vector<MachineJumpTableEntry> &JT = MJTI->getJumpTables();
   if (JT.empty() || JumpTableBase == 0) return;
 
-  unsigned Offset = 0;
   assert(MJTI->getEntrySize() == sizeof(void*) && "Cross JIT'ing?");
   
   // For each jump table, map each target in the jump table to the address of 
index 15d261e25bd8df77c9b138fcf10e229344a02bf6..63e263abb28214a3c81a730f4025f8bc693c35d0 100644 (file)
 #include <set>
 using namespace llvm;
 
-/// GetAllDefinedSymbols - Modifies its parameter DefinedSymbols to contain the
-/// name of each externally-visible symbol defined in M.
-///
-static void
-GetAllDefinedSymbols(Module *M, std::set<std::string> &DefinedSymbols) {
-  for (Module::iterator I = M->begin(), E = M->end(); I != E; ++I)
-    if (I->hasName() && !I->isExternal() && !I->hasInternalLinkage())
-      DefinedSymbols.insert(I->getName());
-  for (Module::global_iterator I = M->global_begin(), E = M->global_end();
-       I != E; ++I)
-    if (I->hasName() && !I->isExternal() && !I->hasInternalLinkage())
-      DefinedSymbols.insert(I->getName());
-}
-
 /// GetAllUndefinedSymbols - calculates the set of undefined symbols that still
 /// exist in an LLVM module. This is a bit tricky because there may be two
 /// symbols with the same name but different LLVM types that will be resolved to
index f94f5537bc5cf982ba4ec8d80de5a484df113ee6..821d4324560b221b7fa0e9828f56a7ee079702c0 100644 (file)
@@ -97,7 +97,6 @@ void AlphaAsmPrinter::printOperand(const MachineInstr *MI, int opNum)
 
 void AlphaAsmPrinter::printOp(const MachineOperand &MO, bool IsCallOp) {
   const MRegisterInfo &RI = *TM.getRegisterInfo();
-  int new_symbol;
 
   switch (MO.getType()) {
   case MachineOperand::MO_Register:
index 82f31da00783dd86686d2ee4a12228374d51dfe2..15de348ee4e31124fbb98056a86f9d45ef8a8727 100644 (file)
@@ -92,7 +92,6 @@ void AlphaCodeEmitter::emitBasicBlock(MachineBasicBlock &MBB) {
   for (MachineBasicBlock::iterator I = MBB.begin(), E = MBB.end();
        I != E; ++I) {
     MachineInstr &MI = *I;
-    unsigned Opcode = MI.getOpcode();
     switch(MI.getOpcode()) {
     default:
       MCE.emitWordLE(getBinaryCodeForInstr(*I));
@@ -160,10 +159,6 @@ int AlphaCodeEmitter::getMachineOpValue(MachineInstr &MI, MachineOperand &MO) {
   } else if (MO.isGlobalAddress() || MO.isExternalSymbol()
              || MO.isConstantPoolIndex()) {
     DEBUG(std::cerr << MO << " is a relocated op for " << MI << "\n";);
-    bool isExternal = MO.isExternalSymbol() ||
-      (MO.isGlobalAddress() &&
-       ( MO.getGlobal()->hasWeakLinkage() ||
-         MO.getGlobal()->isExternal()) );
     unsigned Reloc = 0;
     int Offset = 0;
     bool useGOT = false;
index 8f09b2ef86eaa0046bfb7df608c5ae7b79a8c5e9..521e661dc0fec88f8ebc8319caffe2e425a637eb 100644 (file)
@@ -324,7 +324,6 @@ SDNode *AlphaDAGToDAGISel::Select(SDOperand Op) {
       //       val32 >= IMM_LOW  + IMM_LOW  * IMM_MULT) //always true
       break; //(zext (LDAH (LDA)))
     //Else use the constant pool
-    MachineConstantPool *CP = BB->getParent()->getConstantPool();
     ConstantInt *C = ConstantInt::get(Type::ULongTy, uval);
     SDOperand CPI = CurDAG->getTargetConstantPool(C, MVT::i64);
     SDNode *Tmp = CurDAG->getTargetNode(Alpha::LDAHr, MVT::i64, CPI,
index 0b8961ed14d80e92b00dfc339df396140ef2e647..9728d88a387ecacc71cbd193e4c3fab3825f7493 100644 (file)
@@ -175,8 +175,6 @@ static SDOperand LowerJumpTable(SDOperand Op, SelectionDAG &DAG) {
   SDOperand JTI = DAG.getTargetJumpTable(JT->getIndex(), PtrVT);
   SDOperand Zero = DAG.getConstant(0, PtrVT);
   
-  const TargetMachine &TM = DAG.getTarget();
-
   SDOperand Hi = DAG.getNode(AlphaISD::GPRelHi,  MVT::i64, JTI,
                             DAG.getNode(ISD::GLOBAL_OFFSET_TABLE, MVT::i64));
   SDOperand Lo = DAG.getNode(AlphaISD::GPRelLo, MVT::i64, JTI, Hi);
@@ -207,7 +205,6 @@ static SDOperand LowerFORMAL_ARGUMENTS(SDOperand Op, SelectionDAG &DAG,
                                       int &VarArgsOffset) {
   MachineFunction &MF = DAG.getMachineFunction();
   MachineFrameInfo *MFI = MF.getFrameInfo();
-  SSARegMap *RegMap = MF.getSSARegMap();
   std::vector<SDOperand> ArgValues;
   SDOperand Root = Op.getOperand(0);
 
@@ -225,7 +222,6 @@ static SDOperand LowerFORMAL_ARGUMENTS(SDOperand Op, SelectionDAG &DAG,
     SDOperand ArgVal;
 
     if (ArgNo  < 6) {
-      unsigned Vreg;
       switch (ObjectVT) {
       default:
         std::cerr << "Unknown Type " << ObjectVT << "\n";
@@ -480,7 +476,6 @@ SDOperand AlphaTargetLowering::LowerOperation(SDOperand Op, SelectionDAG &DAG) {
     //Expand only on constant case
     if (Op.getOperand(1).getOpcode() == ISD::Constant) {
       MVT::ValueType VT = Op.Val->getValueType(0);
-      unsigned Opc = Op.Val->getOpcode() == ISD::UREM ? ISD::UDIV : ISD::SDIV;
       SDOperand Tmp1 = Op.Val->getOpcode() == ISD::UREM ?
        BuildUDIV(Op.Val, DAG, NULL) :
        BuildSDIV(Op.Val, DAG, NULL);
index 4a04e023eacc34e622c4562d83b7b5d066d9a17b..15bf06a6e2a955160db968251963f6cb75384a47 100644 (file)
@@ -702,7 +702,7 @@ void CWriter::printConstant(Constant *CPV) {
         // The prefix for a quiet NaN is 0x7FF8. For a signalling NaN,
         // it's 0x7ff4.
         const unsigned long QuietNaN = 0x7ff8UL;
-        const unsigned long SignalNaN = 0x7ff4UL;
+        //const unsigned long SignalNaN = 0x7ff4UL;
 
         // We need to grab the first part of the FP #
         char Buffer[100];
@@ -2140,7 +2140,7 @@ void CWriter::printIndexingExpression(Value *Ptr, gep_type_iterator I,
                                       gep_type_iterator E) {
   bool HasImplicitAddress = false;
   // If accessing a global value with no indexing, avoid *(&GV) syndrome
-  if (GlobalValue *V = dyn_cast<GlobalValue>(Ptr)) {
+  if (isa<GlobalValue>(Ptr)) {
     HasImplicitAddress = true;
   } else if (isDirectAlloca(Ptr)) {
     HasImplicitAddress = true;
index 4a04e023eacc34e622c4562d83b7b5d066d9a17b..15bf06a6e2a955160db968251963f6cb75384a47 100644 (file)
@@ -702,7 +702,7 @@ void CWriter::printConstant(Constant *CPV) {
         // The prefix for a quiet NaN is 0x7FF8. For a signalling NaN,
         // it's 0x7ff4.
         const unsigned long QuietNaN = 0x7ff8UL;
-        const unsigned long SignalNaN = 0x7ff4UL;
+        //const unsigned long SignalNaN = 0x7ff4UL;
 
         // We need to grab the first part of the FP #
         char Buffer[100];
@@ -2140,7 +2140,7 @@ void CWriter::printIndexingExpression(Value *Ptr, gep_type_iterator I,
                                       gep_type_iterator E) {
   bool HasImplicitAddress = false;
   // If accessing a global value with no indexing, avoid *(&GV) syndrome
-  if (GlobalValue *V = dyn_cast<GlobalValue>(Ptr)) {
+  if (isa<GlobalValue>(Ptr)) {
     HasImplicitAddress = true;
   } else if (isDirectAlloca(Ptr)) {
     HasImplicitAddress = true;
index a79cf2ce320018529531c4e19d34fb5801fbd280..fe60ee7e5d705fc701242eb4ffa4993ef4470ec5 100644 (file)
@@ -337,11 +337,9 @@ SDNode *IA64DAGToDAGISel::Select(SDOperand Op) {
       dyn_cast<GlobalAddressSDNode>(N->getOperand(1))) {
       CallOpcode = IA64::BRCALL_IPREL_GA;
       CallOperand = CurDAG->getTargetGlobalAddress(GASD->getGlobal(), MVT::i64);
-    } else if (ExternalSymbolSDNode *ESSDN = // FIXME: we currently NEED this
-                                        // case for correctness, to avoid
-                                        // "non-pic code with imm reloc.n
-                                        // against dynamic symbol" errors
-             dyn_cast<ExternalSymbolSDNode>(N->getOperand(1))) {
+    } else if (isa<ExternalSymbolSDNode>(N->getOperand(1))) {
+      // FIXME: we currently NEED this case for correctness, to avoid
+      // "non-pic code with imm reloc.n against dynamic symbol" errors
     CallOpcode = IA64::BRCALL_IPREL_ES;
     CallOperand = N->getOperand(1);
   } else {
index aafc7825f4489a4171e20d57458b301371de3379..ee57cbaaba8405b01f2b06e1a69734b43977c0c9 100644 (file)
@@ -249,7 +249,6 @@ namespace {
     DarwinAsmPrinter(std::ostream &O, PPCTargetMachine &TM,
                      const TargetAsmInfo *T)
       : PPCAsmPrinter(O, TM, T), DW(O, this, T) {
-      bool isPPC64 = Subtarget.isPPC64();
     }
 
     virtual const char *getPassName() const {
@@ -308,7 +307,6 @@ void PPCAsmPrinter::printOp(const MachineOperand &MO) {
     // Computing the address of a global symbol, not calling it.
     GlobalValue *GV = MO.getGlobal();
     std::string Name = Mang->getValueName(GV);
-    int offset = MO.getOffset();
 
     // External or weakly linked global variables need non-lazily-resolved stubs
     if (TM.getRelocationModel() != Reloc::Static) {
index 464044aa529b2c051e282279cbeb874fdea7a0cc..c321cbcdee6d526fdb2c118bf0821e6b9affd6a5 100644 (file)
@@ -91,7 +91,6 @@ void PPCCodeEmitter::emitBasicBlock(MachineBasicBlock &MBB) {
   
   for (MachineBasicBlock::iterator I = MBB.begin(), E = MBB.end(); I != E; ++I){
     MachineInstr &MI = *I;
-    unsigned Opcode = MI.getOpcode();
     switch (MI.getOpcode()) {
     default:
       MCE.emitWordBE(getBinaryCodeForInstr(*I));
index 2bfaa2d72ebbfca78545fbc87900ebb33811a3b2..aee156c444004da0bedb87ba1fd9642ea80ce8e4 100644 (file)
@@ -1134,7 +1134,6 @@ SDNode *PPCDAGToDAGISel::Select(SDOperand Op) {
     SDOperand CCReg = SelectCC(N->getOperand(0), N->getOperand(1), CC);
     unsigned BROpc = getBCCForSetCC(CC);
 
-    bool isFP = MVT::isFloatingPoint(N->getValueType(0));
     unsigned SelectCCOp;
     if (N->getValueType(0) == MVT::i32)
       SelectCCOp = PPC::SELECT_CC_I4;
@@ -1218,7 +1217,6 @@ SDNode *PPCDAGToDAGISel::MySelect_PPCcall(SDOperand N) {
   SDOperand Chain(0, 0);
   SDOperand N1(0, 0);
   SDOperand Tmp0(0, 0);
-  SDNode *ResNode;
   Chain = N.getOperand(0);
   N1 = N.getOperand(1);
   
index 26a1f21275bde5ae316272aa2463d724eb4a0dbc..184b4bfffbdd27ecd1eea069ace9ce4d3ea81dc9 100644 (file)
@@ -942,9 +942,7 @@ static SDNode *isBLACompatibleAddress(SDOperand Op, SelectionDAG &DAG) {
 
 static SDOperand LowerCALL(SDOperand Op, SelectionDAG &DAG) {
   SDOperand Chain = Op.getOperand(0);
-  unsigned CallingConv= cast<ConstantSDNode>(Op.getOperand(1))->getValue();
   bool isVarArg       = cast<ConstantSDNode>(Op.getOperand(2))->getValue() != 0;
-  bool isTailCall     = cast<ConstantSDNode>(Op.getOperand(3))->getValue() != 0;
   SDOperand Callee    = Op.getOperand(4);
   unsigned NumOps     = (Op.getNumOperands() - 5) / 2;
 
index 8d6de73372f68f1b3e31b47b8b27c5a43d5f5092..59068e1cbb8e5750c376418536f695306033e681 100644 (file)
@@ -99,7 +99,7 @@ void PPCMachOWriter::GetTargetRelocation(MachineRelocation &MR,
   case PPC::reloc_pcrel_bx:
     Addr -= MR.getMachineCodeOffset();
     Addr >>= 2;
-    Addr & 0xFFFFFF;
+    // ??? Addr & 0xFFFFFF;  Possibly this was supposed to be Addr &= 0xFFFFFF ?
     Addr <<= 2;
     Addr |= (MOS.SectionData[MR.getMachineCodeOffset()] << 24);
     fixword(MOS.SectionData, Addr, MR.getMachineCodeOffset());
index 34c23bd1faaf497bffaecdc54d7e1f36f8072bdf..98ada71eb0f9a97fe3aca550b3ca06bdd34e81b5 100644 (file)
@@ -370,7 +370,6 @@ MachineInstr *PPCRegisterInfo::foldMemoryOperand(MachineInstr *MI,
 //
 static bool hasFP(const MachineFunction &MF) {
   const MachineFrameInfo *MFI = MF.getFrameInfo();
-  unsigned TargetAlign = MF.getTarget().getFrameInfo()->getStackAlignment();
 
   // If frame pointers are forced, or if there are variable sized stack objects,
   // use a frame pointer.
index 1c251e1beab0333f5bf8b3bed0e4bea2fa1d13bd..2e6a470af8e93922e1ce827ec825a548f2a6b9c4 100644 (file)
@@ -185,8 +185,6 @@ void SparcAsmPrinter::printMemOperand(const MachineInstr *MI, int opNum,
     return;
   }
   
-  MachineOperand::MachineOperandType OpTy = MI->getOperand(opNum+1).getType();
-  
   if (MI->getOperand(opNum+1).isRegister() &&
       MI->getOperand(opNum+1).getReg() == SP::G0)
     return;   // don't print "+%g0"
index 832e09a53c91842becda950a3524eb7c4513b81a..5a10d97103733bc11a0b1e26960f5a9788283411 100644 (file)
@@ -106,7 +106,6 @@ namespace {
     bool isAtTop(unsigned RegNo) const { return getSlot(RegNo) == StackTop-1; }
     void moveToTop(unsigned RegNo, MachineBasicBlock::iterator &I) {
       if (!isAtTop(RegNo)) {
-        unsigned Slot = getSlot(RegNo);
         unsigned STReg = getSTReg(RegNo);
         unsigned RegOnTop = getStackEntry(0);
 
index 92bec9174e1af7ce589660aa20779c33bc63ed93..ac7327f9e9531433058b6dc24d2c4f62c1906d84 100644 (file)
@@ -532,7 +532,6 @@ SDOperand X86TargetLowering::LowerCCCArguments(SDOperand Op, SelectionDAG &DAG)
 SDOperand X86TargetLowering::LowerCCCCallTo(SDOperand Op, SelectionDAG &DAG) {
   SDOperand Chain     = Op.getOperand(0);
   unsigned CallingConv= cast<ConstantSDNode>(Op.getOperand(1))->getValue();
-  bool isVarArg       = cast<ConstantSDNode>(Op.getOperand(2))->getValue() != 0;
   bool isTailCall     = cast<ConstantSDNode>(Op.getOperand(3))->getValue() != 0;
   SDOperand Callee    = Op.getOperand(4);
   MVT::ValueType RetVT= Op.Val->getValueType(0);
@@ -1031,7 +1030,6 @@ X86TargetLowering::LowerX86_64CCCArguments(SDOperand Op, SelectionDAG &DAG) {
 SDOperand
 X86TargetLowering::LowerX86_64CCCCallTo(SDOperand Op, SelectionDAG &DAG) {
   SDOperand Chain     = Op.getOperand(0);
-  unsigned CallingConv= cast<ConstantSDNode>(Op.getOperand(1))->getValue();
   bool isVarArg       = cast<ConstantSDNode>(Op.getOperand(2))->getValue() != 0;
   bool isTailCall     = cast<ConstantSDNode>(Op.getOperand(3))->getValue() != 0;
   SDOperand Callee    = Op.getOperand(4);
@@ -1528,8 +1526,6 @@ X86TargetLowering::LowerFastCCArguments(SDOperand Op, SelectionDAG &DAG) {
 SDOperand X86TargetLowering::LowerFastCCCallTo(SDOperand Op, SelectionDAG &DAG,
                                                bool isFastCall) {
   SDOperand Chain     = Op.getOperand(0);
-  unsigned CallingConv= cast<ConstantSDNode>(Op.getOperand(1))->getValue();
-  bool isVarArg       = cast<ConstantSDNode>(Op.getOperand(2))->getValue() != 0;
   bool isTailCall     = cast<ConstantSDNode>(Op.getOperand(3))->getValue() != 0;
   SDOperand Callee    = Op.getOperand(4);
   MVT::ValueType RetVT= Op.Val->getValueType(0);
@@ -1549,11 +1545,13 @@ SDOperand X86TargetLowering::LowerFastCCCallTo(SDOperand Op, SelectionDAG &DAG,
     { X86::AX,  X86::DX },
     { X86::EAX, X86::EDX }
   };
+#if 0
   static const unsigned FastCallGPRArgRegs[][2] = {
     { X86::CL,  X86::DL },
     { X86::CX,  X86::DX },
     { X86::ECX, X86::EDX }
   };  
+#endif
   static const unsigned XMMArgRegs[] = {
     X86::XMM0, X86::XMM1, X86::XMM2, X86::XMM3
   };
@@ -1906,7 +1904,6 @@ SDOperand X86TargetLowering::LowerStdCallCCArguments(SDOperand Op,
 SDOperand X86TargetLowering::LowerStdCallCCCallTo(SDOperand Op,
                                                   SelectionDAG &DAG) {
   SDOperand Chain     = Op.getOperand(0);
-  unsigned CallingConv= cast<ConstantSDNode>(Op.getOperand(1))->getValue();
   bool isVarArg       = cast<ConstantSDNode>(Op.getOperand(2))->getValue() != 0;
   bool isTailCall     = cast<ConstantSDNode>(Op.getOperand(3))->getValue() != 0;
   SDOperand Callee    = Op.getOperand(4);
@@ -2841,7 +2838,7 @@ static bool isSplatMask(SDNode *N) {
   unsigned i = 0;
   for (; i != NumElems; ++i) {
     SDOperand Elt = N->getOperand(i);
-    if (ConstantSDNode *EltV = dyn_cast<ConstantSDNode>(Elt)) {
+    if (isa<ConstantSDNode>(Elt)) {
       ElementBase = Elt;
       break;
     }
@@ -5431,7 +5428,6 @@ static SDOperand PerformSELECTCombine(SDNode *N, SelectionDAG &DAG,
 
 SDOperand X86TargetLowering::PerformDAGCombine(SDNode *N, 
                                                DAGCombinerInfo &DCI) const {
-  TargetMachine &TM = getTargetMachine();
   SelectionDAG &DAG = DCI.DAG;
   switch (N->getOpcode()) {
   default: break;
index 7b2396345c86fb5c4516a6d24b6b2137dfbd2607..91e14782115001e0d94bf6e348ee4c11916c0d68 100755 (executable)
@@ -386,7 +386,6 @@ bool X86IntelAsmPrinter::doFinalization(Module &M) {
     
     std::string name = Mang->getValueName(I);
     Constant *C = I->getInitializer();
-    unsigned Size = TD->getTypeSize(C->getType());
     unsigned Align = TD->getPreferredAlignmentLog(I);
     bool bCustomSegment = false;
 
index 3cbbc768248c8feda08b20f09829e3c14eea9d7e..91450218c056d80ead08bb6b2917e4dcfba5ddb7 100644 (file)
@@ -537,7 +537,7 @@ static bool OperandConvertibleToType(User *U, Value *V, const Type *Ty,
         // a whole structure at a time), so the level raiser must be trying to
         // store into the first field.  Check for this and allow it now:
         //
-        if (const StructType *SElTy = dyn_cast<StructType>(ElTy)) {
+        if (isa<StructType>(ElTy)) {
           unsigned Offset = 0;
           std::vector<Value*> Indices;
           ElTy = getStructOffsetType(ElTy, Offset, Indices, TD, false);
@@ -799,9 +799,6 @@ static void ConvertOperandToType(User *U, Value *OldVal, Value *NewVal,
         Value *SrcPtr = VMCI->second;
 
         if (ElTy != NewTy) {
-          // We check that this is a struct in the initial scan...
-          const StructType *SElTy = cast<StructType>(ElTy);
-
           std::vector<Value*> Indices;
           Indices.push_back(Constant::getNullValue(Type::UIntTy));
 
index 79f21b5c02b50c3a22ae7c2dd803db6297d4c37b..646f5b8e08edc0469317b13c0990ad2a91797287 100644 (file)
@@ -259,7 +259,6 @@ bool ArgPromotion::isSafeToPromoteArgument(Argument *Arg) const {
   // it is safe to unconditionally load the pointer.  Use alias analysis to
   // check to see if the pointer is guaranteed to not be modified from entry of
   // the function to each of the load instructions.
-  Function &F = *Arg->getParent();
 
   // Because there could be several/many load instructions, remember which
   // blocks we know to be transparent to the load.
@@ -508,7 +507,6 @@ Function *ArgPromotion::DoPromotion(Function *F,
           GetElementPtrInst *GEP = cast<GetElementPtrInst>(I->use_back());
           std::vector<Value*> Operands(GEP->op_begin()+1, GEP->op_end());
 
-          unsigned ArgNo = 0;
           Function::arg_iterator TheArg = I2;
           for (ScalarizeTable::iterator It = ArgIndices.begin();
                *It != Operands; ++It, ++TheArg) {
index bc5aecd76a1e712a5ff4d09bf2412be348222bc8..6cdd530a11d4e93644e0e6d089e0fbec0e9c8eb8 100644 (file)
@@ -1770,7 +1770,7 @@ static bool EvaluateFunction(Function *F, Constant *&RetVal,
           return false;
         InstResult = RetVal;
       }
-    } else if (TerminatorInst *TI = dyn_cast<TerminatorInst>(CurInst)) {
+    } else if (isa<TerminatorInst>(CurInst)) {
       BasicBlock *NewBB = 0;
       if (BranchInst *BI = dyn_cast<BranchInst>(CurInst)) {
         if (BI->isUnconditional()) {
index 78b6ea53e3039840d59ceef5112f3768020597ab..ef27cd61a9a1408b1acbc93d03352e8d0c849511 100644 (file)
@@ -77,7 +77,7 @@ bool IndMemRemPass::runOnModule(Module &M) {
       BasicBlock* bb = new BasicBlock("entry",FN);
       Instruction* c = new CastInst(FN->arg_begin(), Type::UIntTy, "c", bb);
       Instruction* a = new MallocInst(Type::SByteTy, c, "m", bb);
-      Instruction* R = new ReturnInst(a, bb);
+      new ReturnInst(a, bb);
       ++NumBounce;
       NumBounceSites += F->getNumUses();
       F->replaceAllUsesWith(FN);
index c2aa4cb3809b7fe89600ffc487655aa260bdfcbe..c4b033c8c1f569ec1b61949ebffe2292f523d05d 100644 (file)
@@ -245,7 +245,7 @@ int SimpleInliner::getInlineCost(CallSite CS) {
     // significant future optimization possibilities (like scalar promotion, and
     // scalarization), so encourage the inlining of the function.
     //
-    else if (AllocaInst *AI = dyn_cast<AllocaInst>(I)) {
+    else if (isa<AllocaInst>(I)) {
       if (ArgNo < CalleeFI.ArgumentWeights.size())
         InlineCost -= CalleeFI.ArgumentWeights[ArgNo].AllocaWeight;
 
index ae4032bbfb30b0fa405cfacf061f98cb9eb9eebb..edb34be203fc0c662d7f10f9dbb03f349ce79e65 100644 (file)
@@ -129,8 +129,6 @@ bool Inliner::runOnSCC(const std::vector<CallGraphNode*> &SCC) {
           DEBUG(std::cerr << "    Inlining: cost=" << InlineCost
                 << ", Call: " << *CS.getInstruction());
 
-          Function *Caller = CS.getInstruction()->getParent()->getParent();
-
           // Attempt to inline the function...
           if (InlineCallIfPossible(CS, CG, SCCFunctions)) {
             // Remove this call site from the list.
index cd46718ba6c1227a2924a570d9c571f4141c1e9f..e6ff5c977afa65acd079eb779fd7524503c0e4d5 100644 (file)
@@ -496,7 +496,6 @@ void LowerSetJmp::visitInvokeInst(InvokeInst& II)
   // If not reachable from a setjmp call, don't transform.
   if (!DFSBlocks.count(BB)) return;
 
-  BasicBlock* NormalBB = II.getNormalDest();
   BasicBlock* ExceptBB = II.getUnwindDest();
 
   Function* Func = BB->getParent();
index 157ea384b787b9c9ddf5fce12de898b50815adb5..af117094d6320fbfe36a5ec6c3604a1af3c73a34 100644 (file)
@@ -1106,7 +1106,7 @@ struct LLVMMemCpyMoveOptzn : public LibCallOptimization {
     CastInst* DestCast =
       new CastInst(dest,PointerType::get(castType),dest->getName()+".cast",ci);
     LoadInst* LI = new LoadInst(SrcCast,SrcCast->getName()+".val",ci);
-    StoreInst* SI = new StoreInst(LI, DestCast, ci);
+    new StoreInst(LI, DestCast, ci);
     ci->eraseFromParent();
     return true;
   }
@@ -2063,7 +2063,7 @@ bool getConstantStringLength(Value *V, uint64_t &len, ConstantArray **CA) {
   Constant* INTLZR = GV->getInitializer();
 
   // Handle the ConstantAggregateZero case
-  if (ConstantAggregateZero *CAZ = dyn_cast<ConstantAggregateZero>(INTLZR)) {
+  if (isa<ConstantAggregateZero>(INTLZR)) {
     // This is a degenerate case. The initializer is constant zero so the
     // length of the string must be zero.
     len = 0;
index 5d6654d504ae84238fdf25d3a188ce47d52c8f95..671b3bcf2277ad02ef3973fe0a63a7eb7993055d 100644 (file)
@@ -580,7 +580,6 @@ static void CollapsePhi(BasicBlock* btarget, BasicBlock* bsrc) {
   for(BasicBlock::iterator ib = btarget->begin(), ie = btarget->end();
       ib != ie; ++ib)
     if (PHINode* phi = dyn_cast<PHINode>(&*ib)) {
-      unsigned total = phi->getNumIncomingValues();
       std::map<BasicBlock*, Value*> counter;
       for(unsigned i = 0; i < phi->getNumIncomingValues(); ) {
         if (counter[phi->getIncomingBlock(i)]) {
index 8bf60010539c0353e06cc57dde7b617b5c6c861f..003ea0d26ae3c071708b57f74a6f11479e54bc1b 100644 (file)
@@ -56,7 +56,7 @@ static void InsertInstrumentationCall (BasicBlock *BB,
   while (isa<AllocaInst>(InsertPos) || isa<PHINode>(InsertPos))
     ++InsertPos;
 
-  Instruction *InstrCall = new CallInst (InstrFn, Args, "", InsertPos);
+  new CallInst (InstrFn, Args, "", InsertPos);
 }
 
 bool TraceBasicBlocks::runOnModule(Module &M) {
index 35e6a971f1518866c0d0535a7766b6593ab998b1..3ea67955fd5d74f59927c6be55e02ad761f566c8 100644 (file)
@@ -726,7 +726,6 @@ void CEE::InsertRegionExitMerges(PHINode *BBVal, Instruction *OldVal,
                              const std::vector<BasicBlock*> &RegionExitBlocks) {
   assert(BBVal->getType() == OldVal->getType() && "Should be derived values!");
   BasicBlock *BB = BBVal->getParent();
-  BasicBlock *OldSucc = OldVal->getParent();
 
   // Loop over all of the blocks we have to place PHIs in, doing it.
   for (unsigned i = 0, e = RegionExitBlocks.size(); i != e; ++i) {
index d3a625b8bc113cd2f527b56f9cd5eb13ede0b7f2..98c35ddb0cdfe16b1b7975d33c39924512feb7d6 100644 (file)
@@ -2579,8 +2579,6 @@ Instruction *InstCombiner::visitSRem(BinaryOperator &I) {
 }
 
 Instruction *InstCombiner::visitFRem(BinaryOperator &I) {
-  Value *Op0 = I.getOperand(0), *Op1 = I.getOperand(1);
-
   return commonRemTransforms(I);
 }
 
@@ -3109,7 +3107,6 @@ Instruction *InstCombiner::visitAnd(BinaryOperator &I) {
   
   {
     Value *A = 0, *B = 0;
-    ConstantInt *C1 = 0, *C2 = 0;
     if (match(Op0, m_Or(m_Value(A), m_Value(B))))
       if (A == Op1 || B == Op1)    // (A | ?) & A  --> A
         return ReplaceInstUsesWith(I, Op1);
@@ -5510,7 +5507,7 @@ static bool CanEvaluateInDifferentType(Value *V, const Type *Ty,
       // If the first operand is itself a cast, and is eliminable, do not count
       // this as an eliminable cast.  We would prefer to eliminate those two
       // casts first.
-      if (CastInst *OpCast = dyn_cast<CastInst>(I->getOperand(0)))
+      if (isa<CastInst>(I->getOperand(0)))
         return true;
       
       ++NumCastsRemoved;
@@ -6192,7 +6189,6 @@ Instruction *InstCombiner::visitSelectInst(SelectInst &SI) {
   if (Instruction *TI = dyn_cast<Instruction>(TrueVal))
     if (Instruction *FI = dyn_cast<Instruction>(FalseVal))
       if (TI->hasOneUse() && FI->hasOneUse()) {
-        bool isInverse = false;
         Instruction *AddOp = 0, *SubOp = 0;
 
         // Turn (select C, (op X, Y), (op X, Z)) -> (op X, (select C, Y, Z))
@@ -6971,7 +6967,7 @@ Instruction *InstCombiner::FoldPHIArgOpIntoPHI(PHINode &PN) {
   // Insert and return the new operation.
   if (isa<CastInst>(FirstInst))
     return new CastInst(PhiVal, PN.getType());
-  else if (LoadInst *LI = dyn_cast<LoadInst>(FirstInst))
+  else if (isa<LoadInst>(FirstInst))
     return new LoadInst(PhiVal, "", isVolatile);
   else if (BinaryOperator *BinOp = dyn_cast<BinaryOperator>(FirstInst))
     return BinaryOperator::create(BinOp->getOpcode(), PhiVal, ConstantOp);
@@ -7327,7 +7323,7 @@ Instruction *InstCombiner::visitGetElementPtrInst(GetElementPtrInst &GEP) {
         // If the index will be to exactly the right offset with the scale taken
         // out, perform the transformation.
         if (Scale && Scale->getZExtValue() % ArrayEltSize == 0) {
-          if (ConstantInt *C = dyn_cast<ConstantInt>(Scale))
+          if (isa<ConstantInt>(Scale))
             Scale = ConstantInt::get(Scale->getType(),
                                       Scale->getZExtValue() / ArrayEltSize);
           if (Scale->getZExtValue() != 1) {
@@ -7501,7 +7497,7 @@ Instruction *InstCombiner::visitLoadInst(LoadInst &LI) {
   Value *Op = LI.getOperand(0);
 
   // load (cast X) --> cast (load X) iff safe
-  if (CastInst *CI = dyn_cast<CastInst>(Op))
+  if (isa<CastInst>(Op))
     if (Instruction *Res = InstCombineLoadCast(*this, LI))
       return Res;
 
@@ -7728,7 +7724,7 @@ Instruction *InstCombiner::visitStoreInst(StoreInst &SI) {
 
   // If the pointer destination is a cast, see if we can fold the cast into the
   // source instead.
-  if (CastInst *CI = dyn_cast<CastInst>(Ptr))
+  if (isa<CastInst>(Ptr))
     if (Instruction *Res = InstCombineStoreToCast(*this, SI))
       return Res;
   if (ConstantExpr *CE = dyn_cast<ConstantExpr>(Ptr))
@@ -8015,7 +8011,7 @@ Instruction *InstCombiner::visitExtractElementInst(ExtractElementInst &EI) {
           InsertNewInstBefore(newEI1, EI);
           return BinaryOperator::create(BO->getOpcode(), newEI0, newEI1);
         }
-      } else if (LoadInst *LI = dyn_cast<LoadInst>(I)) {
+      } else if (isa<LoadInst>(I)) {
         Value *Ptr = InsertCastBefore(I->getOperand(0),
                                       PointerType::get(EI.getType()), EI);
         GetElementPtrInst *GEP = 
index 5b64e54f1f23e373f3b3246e44915a0971eec430..dc6b986a5cc010d921595e6b0ec329bf02586be4 100644 (file)
@@ -307,7 +307,7 @@ static bool getSCEVStartAndStride(const SCEVHandle &SH, Loop *L,
         Start = SCEVAddExpr::get(Start, AE->getOperand(i));
       }
         
-  } else if (SCEVAddRecExpr *AddRec = dyn_cast<SCEVAddRecExpr>(SH)) {
+  } else if (isa<SCEVAddRecExpr>(SH)) {
     TheAddRec = SH;
   } else {
     return false;  // not analyzable.
index 9c59dd3de07c9ae91c587ca6d2abc0bd3624e1b2..2fa3fcd7f3c27e7c72527c16aed118de926559d2 100644 (file)
@@ -92,7 +92,7 @@ static unsigned ApproximateLoopSize(const Loop *L) {
         // Ignore PHI nodes in the header.
       } else if (I->hasOneUse() && I->use_back() == Term) {
         // Ignore instructions only used by the loop terminator.
-      } else if (DbgInfoIntrinsic *DbgI = dyn_cast<DbgInfoIntrinsic>(I)) {
+      } else if (isa<DbgInfoIntrinsic>(I)) {
         // Ignore debug instructions
       } else {
         ++Size;
@@ -135,7 +135,6 @@ BasicBlock* LoopUnroll::FoldBlockIntoPredecessor(BasicBlock* BB) {
     return 0;
 
   DEBUG(std::cerr << "Merging: " << *BB << "into: " << *OnlyPred);
-  TerminatorInst *Term = OnlyPred->getTerminator();
 
   // Resolve any PHI nodes at the start of the block.  They are all
   // guaranteed to have exactly one entry if they exist, unless there are
index 95217254bd434e57356491ce8ae6ac78173e4ec1..a91d2955405e7ede896435cbdc4fda0ce59f4e3c 100644 (file)
@@ -576,8 +576,6 @@ void LoopUnswitch::UnswitchNontrivialCondition(Value *LIC, Constant *Val,
 
   // Split all of the edges from inside the loop to their exit blocks.  Update
   // the appropriate Phi nodes as we do so.
-  unsigned NumBlocks = L->getBlocks().size();
-  
   for (unsigned i = 0, e = ExitBlocks.size(); i != e; ++i) {
     BasicBlock *ExitBlock = ExitBlocks[i];
     std::vector<BasicBlock*> Preds(pred_begin(ExitBlock), pred_end(ExitBlock));
@@ -966,9 +964,8 @@ void LoopUnswitch::RewriteLoopBodyWithConditionConstant(Loop *L, Value *LIC,
               BasicBlock* Split = SplitBlock(Old, SI);
               
               Instruction* OldTerm = Old->getTerminator();
-              BranchInst* Branch = new BranchInst(Split, SI->getSuccessor(i),
-                                                  ConstantBool::getTrue(),
-                                                  OldTerm);
+              new BranchInst(Split, SI->getSuccessor(i),
+                             ConstantBool::getTrue(), OldTerm);
               
               Old->getTerminator()->eraseFromParent();
               
index 44634cd7c3b5873b50da1089767ae027798ca03b..8e585c2ab1a1e2f4e38fd9893a345eb0213bfd31 100644 (file)
@@ -377,7 +377,7 @@ void SCCPSolver::getFeasibleSuccessors(TerminatorInst &TI,
         Succs[BCValue.getConstant() == ConstantBool::getFalse()] = true;
       }
     }
-  } else if (InvokeInst *II = dyn_cast<InvokeInst>(&TI)) {
+  } else if (isa<InvokeInst>(&TI)) {
     // Invoke instructions successors are always executable.
     Succs[0] = Succs[1] = true;
   } else if (SwitchInst *SI = dyn_cast<SwitchInst>(&TI)) {
@@ -436,7 +436,7 @@ bool SCCPSolver::isEdgeFeasible(BasicBlock *From, BasicBlock *To) {
       }
       return false;
     }
-  } else if (InvokeInst *II = dyn_cast<InvokeInst>(TI)) {
+  } else if (isa<InvokeInst>(TI)) {
     // Invoke instructions successors are always executable.
     return true;
   } else if (SwitchInst *SI = dyn_cast<SwitchInst>(TI)) {
index ffb095a0481ccb5bc3614489a56005720cf8b398..3eba5282968f01b61ea237abde321b4f97eec524 100644 (file)
@@ -302,7 +302,7 @@ int SROA::isSafeUseOfAllocation(Instruction *User) {
   if (const ArrayType *AT = dyn_cast<ArrayType>(*I)) {
     uint64_t NumElements = AT->getNumElements();
 
-    if (ConstantInt *CI = dyn_cast<ConstantInt>(I.getOperand())) {
+    if (isa<ConstantInt>(I.getOperand())) {
       // Check to make sure that index falls within the array.  If not,
       // something funny is going on, so we won't do the optimization.
       //
index 14c4d8bdc7478593473ee3ec092cd30d6e9d48bd..e732392f40072743b41ab0f27554b0fecbcca3bf 100644 (file)
@@ -161,7 +161,6 @@ bool TailCallElim::runOnFunction(Function &F) {
   // occurs when a function passes an argument straight through to its tail
   // call.
   if (!ArgumentPHIs.empty()) {
-    unsigned NumIncoming = ArgumentPHIs[0]->getNumIncomingValues();
     for (unsigned i = 0, e = ArgumentPHIs.size(); i != e; ++i) {
       PHINode *PN = ArgumentPHIs[i];
 
index f80b1530f89795b629ee09cf7a49d643583d53c9..30a7add79ba6f3e92e629c6d0496d3438f368fc1 100644 (file)
@@ -361,10 +361,7 @@ void llvm::CloneAndPruneFunctionInto(Function *NewFunc, const Function *OldFunc,
   // requires the CFG to be up-to-date.
   for (unsigned phino = 0, e = PHIToResolve.size(); phino != e; ) {
     const PHINode *OPN = PHIToResolve[phino];
-    
     unsigned NumPreds = OPN->getNumIncomingValues();
-    
-    unsigned BBPHIStart = phino;
     const BasicBlock *OldBB = OPN->getParent();
     BasicBlock *NewBB = cast<BasicBlock>(ValueMap[OldBB]);
 
index 620a581c8a35cf58358dae7568496961c99e80b5..19293f47fb054df39c8f844f4f6447c11dd02fbb 100644 (file)
@@ -763,7 +763,6 @@ void LoopSimplify::UpdateDomInfoForRevectoredPreds(BasicBlock *NewBB,
   // If NewBB dominates some blocks, then it will dominate all blocks that
   // NewBBSucc does.
   if (NewBBDominatesNewBBSucc) {
-    BasicBlock *PredBlock = PredBlocks[0];
     Function *F = NewBB->getParent();
     for (Function::iterator I = F->begin(), E = F->end(); I != E; ++I)
       if (DS.dominates(NewBBSucc, I))
index 1816144fffab7462eebbcef3d34dcef3e204496a..3385ba1c64fd548c5ce76fe310ce204b07234071 100644 (file)
@@ -370,7 +370,6 @@ splitLiveRangesLiveAcrossInvokes(std::vector<InvokeInst*> &Invokes) {
       // Scan all of the uses and see if the live range is live across an unwind
       // edge.  If we find a use live across an invoke edge, create an alloca
       // and spill the value.
-      AllocaInst *SpillLoc = 0;
       std::set<InvokeInst*> InvokesWithStoreInserted;
 
       // Find all of the blocks that this value is live in.
index 9794ed6fbb74b69a66a7379986ff5ed17f406e65..de9f8ecfa1a4d5aaa1d03a9e2ca746707ac74ca4 100644 (file)
@@ -1340,7 +1340,7 @@ bool llvm::SimplifyCFG(BasicBlock *BB) {
         }
       }
     }
-  } else if (UnwindInst *UI = dyn_cast<UnwindInst>(BB->begin())) {
+  } else if (isa<UnwindInst>(BB->begin())) {
     // Check to see if the first instruction in this block is just an unwind.
     // If so, replace any invoke instructions which use this as an exception
     // destination with call instructions, and any unconditional branch
@@ -1409,7 +1409,7 @@ bool llvm::SimplifyCFG(BasicBlock *BB) {
           return 1;
       
     } else {  // Conditional branch
-      if (Value *CompVal = isValueEqualityComparison(BI)) {
+      if (isValueEqualityComparison(BI)) {
         // If we only have one predecessor, and if it is a branch on this value,
         // see if that predecessor totally determines the outcome of this
         // switch.
@@ -1764,7 +1764,6 @@ bool llvm::SimplifyCFG(BasicBlock *BB) {
 
   if (OnlySucc) {
     DEBUG(std::cerr << "Merging: " << *BB << "into: " << *OnlyPred);
-    TerminatorInst *Term = OnlyPred->getTerminator();
 
     // Resolve any PHI nodes at the start of the block.  They are all
     // guaranteed to have exactly one entry if they exist, unless there are
index 25a84f14b5b98e06e55ecc9af8c217e3a8cbae8c..4f2cbc42fc3a36f163fa015005e270a6a45e496d 100644 (file)
@@ -753,7 +753,7 @@ std::ostream &AssemblyWriter::printTypeAtLeastOneLevel(const Type *Ty) {
     Out << '<' << PTy->getNumElements() << " x ";
     printType(PTy->getElementType()) << '>';
   }
-  else if (const OpaqueType *OTy = dyn_cast<OpaqueType>(Ty)) {
+  else if (isa<OpaqueType>(Ty)) {
     Out << "opaque";
   } else {
     if (!Ty->isPrimitiveType())
index 649c4a4d6a19304d70964e8f5bc192b65b82696f..a85922339b4c95364f16efdc822dcdac474b050f 100644 (file)
@@ -116,7 +116,6 @@ StackerCompiler::compile(
         }
     }
 
-    Module *Result;
     try
     {
         // Create the module we'll return
index 04e414fad67731841a541d3daf073e72ded47d17..1fd316724692e2664ba614bb895f7f3110710c39 100644 (file)
@@ -81,5 +81,3 @@ $(DestBytecodeLib): $(BytecodeDestDir) $(LibName.BCA)
 uninstall-local::
        $(Echo) Uninstalling $(BuildMode) Bytecode Archive $(DestBytecodeLib)
        -$(Verb) $(RM) -f $(DestBytecodeLib)
-
-
index c7e566dee14e69ce91c7a3a85b582031b9ee40d9..74ec12ef7f9b7165a103bb9a202edb240f03ec87 100644 (file)
@@ -14,4 +14,3 @@ LIBRARYNAME = m
 BYTECODE_DESTINATION = $(CFERuntimeLibDir)
 
 include $(LEVEL)/Makefile.common
-
index 233462fc1a7bd1b47158940148f1cd88920854d4..73b49be212c9b4964964b655dd62298fadd0dd06 100644 (file)
@@ -525,7 +525,6 @@ bool BugDriver::debugOptimizerCrash(const std::string &ID) {
   std::cout << "\n*** Debugging optimizer crash!\n";
 
   // Reduce the list of passes which causes the optimizer to crash...
-  unsigned OldSize = PassesToRun.size();
   if (!BugpointIsInterrupted)
     ReducePassList(*this).reduceList(PassesToRun);
 
index 3503f7b2c79e8da5adf557839977545631f5cb03..850fb83f848b15c2ca2253f3f0215ecec92dda5e 100644 (file)
@@ -747,7 +747,7 @@ static void CleanupAndPrepareModules(BugDriver &BD, Module *&Test,
 
           // Pass on the arguments to the real function, return its result
           if (F->getReturnType() == Type::VoidTy) {
-            CallInst *Call = new CallInst(FuncPtr, Args, "", DoCallBB);
+            new CallInst(FuncPtr, Args, "", DoCallBB);
             new ReturnInst(DoCallBB);
           } else {
             CallInst *Call = new CallInst(FuncPtr, Args, "retval", DoCallBB);
index 7f13bf26775ccd8f6541d5b2b8208537d46394ab..1e8bcec463a545dfcfa173f1720f823cf13092fd 100644 (file)
@@ -445,7 +445,6 @@ bool
 doExtract(std::string* ErrMsg) {
   if (buildPaths(false, ErrMsg))
     return true;
-  unsigned countDown = Count;
   for (Archive::iterator I = TheArchive->begin(), E = TheArchive->end();
        I != E; ++I ) {
     if (Paths.empty() ||
index 2ac78344c69bbd05a0b2bcdfbc2210c37e5cc9f3..01fa5130abd17b9081ce8616e6ab4065a6b4e3fa 100644 (file)
@@ -57,7 +57,6 @@ main(int argc, char **argv) {
     sys::PrintStackTraceOnErrorSignal();
 
     std::ostream* Out = &std::cout;  // Default to printing to stdout...
-    std::istream* In  = &std::cin;   // Default to reading stdin
     std::string ErrorMessage;
     BytecodeAnalysis bca;
 
index f74294fb3f2d7b04dbdcb63f101eafe6ac083a89..1512af66e8deafb3bd8eaecd63cdfdf615d35950 100644 (file)
@@ -383,7 +383,7 @@ CppWriter::getCppName(const Value* val) {
   if (const GlobalVariable* GV = dyn_cast<GlobalVariable>(val)) {
     name = std::string("gvar_") + 
            getTypePrefix(GV->getType()->getElementType());
-  } else if (const Function* F = dyn_cast<Function>(val)) {
+  } else if (isa<Function>(val)) {
     name = std::string("func_");
   } else if (const Constant* C = dyn_cast<Constant>(val)) {
     name = std::string("const_") + getTypePrefix(C->getType());
@@ -536,7 +536,6 @@ CppWriter::printTypeInternal(const Type* Ty) {
       break;
     }
     case Type::OpaqueTyID: {
-      const OpaqueType* OT = cast<OpaqueType>(Ty);
       Out << "OpaqueType* " << typeName << " = OpaqueType::get();";
       nl(Out);
       break;
index 46dbd89fc95cb00f2c9c51af90d15ba53f51a475..18aab21604b553d27145a48b014b060af963229f 100644 (file)
@@ -62,13 +62,6 @@ void DumpConfigData(CompilerDriver::ConfigData* cd, const std::string& type ){
   DumpAction(&cd->Linker);
 }
 
-/// This specifies the passes to run for OPT_FAST_COMPILE (-O1)
-/// which should reduce the volume of code and make compilation
-/// faster. This is also safe on any llvm module.
-static const char* DefaultFastCompileOptimizations[] = {
-  "-simplifycfg", "-mem2reg", "-instcombine"
-};
-
 class CompilerDriverImpl : public CompilerDriver {
 /// @name Constructors
 /// @{
index 0602289aa679774c76b424fc34aaae5f96f5cea0..5a6adcd9abcd84076daf79974d076308ac4f2de7 100644 (file)
@@ -163,7 +163,6 @@ int main(int argc, char **argv) {
     // FIXME: The choice of target should be controllable on the command line.
     std::auto_ptr<TargetMachine> target;
 
-    TargetMachine* TM = NULL;
     std::string ErrorMessage;
 
     // Load the input module...
@@ -233,9 +232,9 @@ int main(int argc, char **argv) {
         Passes.add(P);
         
         if (AnalyzeOnly) {
-          if (BasicBlockPass *BBP = dynamic_cast<BasicBlockPass*>(P))
+          if (dynamic_cast<BasicBlockPass*>(P))
             Passes.add(new BasicBlockPassPrinter(PassInf));
-          else if (FunctionPass *FP = dynamic_cast<FunctionPass*>(P))
+          else if (dynamic_cast<FunctionPass*>(P))
             Passes.add(new FunctionPassPrinter(PassInf));
           else
             Passes.add(new ModulePassPrinter(PassInf));
index 803aecea9659b090b657d07696fa807f06f026f9..e8bbc0ebdcaafeb153622bd18e4cd50129bc616a 100644 (file)
@@ -296,7 +296,6 @@ int main() {
         
       for (unsigned opnum = 0, e = TheOperators.size(); opnum != e; ++opnum) {
         Operator *Op = TheOperators[opnum];
-        unsigned short Mask = Op->ShuffleMask;
 
         // Evaluate op(LHS,LHS)
         unsigned ResultMask = Op->getTransformedMask(LHS, LHS);