llvm.org GIT mirror llvm / 1628cec
For PR950: Make necessary changes to support DIV -> [SUF]Div. This changes llvm to have three division instructions: signed, unsigned, floating point. The bytecode and assembler are bacwards compatible, however. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31195 91177308-0d34-0410-b5e6-96231b3b80d8 Reid Spencer 12 years ago
32 changed file(s) with 3075 addition(s) and 1933 deletion(s). Raw diff Collapse all Expand all
7676
  • 'add' Instruction
  • 7777
  • 'sub' Instruction
  • 7878
  • 'mul' Instruction
  • 79
  • 'div' Instruction
  • 79
  • 'udiv' Instruction
  • 80
  • 'sdiv' Instruction
  • 81
  • 'fdiv' Instruction
  • 8082
  • 'rem' Instruction
  • 8183
  • 'setcc' Instructions
  • 8284
    16291631
    16301632
    16311633
    1632
    1634
    1635
    1636
    1637
    Syntax:
    1638
      <result> = udiv <ty> <var1>, <var2>   ; yields {ty}:result
    
                      
                    
    1639
    1640
    Overview:
    1641

    The 'udiv' instruction returns the quotient of its two

    1642 operands.

    1643
    Arguments:
    1644

    The two arguments to the 'udiv' instruction must be

    1645 integer values. Both arguments must have identical
    1646 types. This instruction can also take packed versions
    1647 of the values in which case the elements must be integers.

    1648
    Semantics:
    1649

    The value produced is the unsigned integer quotient of the two operands. This

    1650 instruction always performs an unsigned division operation, regardless of
    1651 whether the arguments are unsigned or not.

    1652
    Example:
    1653
      <result> = udiv uint 4, %var          ; yields {uint}:result = 4 / %var
    
                      
                    
    1654
    1655
    1656
    1657
    1658
    1659
    1660
    Syntax:
    1661
      <result> = sdiv <ty> <var1>, <var2>   ; yields {ty}:result
    
                      
                    
    1662
    1663
    Overview:
    1664

    The 'sdiv' instruction returns the quotient of its two

    1665 operands.

    1666
    Arguments:
    1667

    The two arguments to the 'sdiv' instruction must be

    1668 integer values. Both arguments must have identical
    1669 types. This instruction can also take packed versions
    1670 of the values in which case the elements must be integers.

    1671
    Semantics:
    1672

    The value produced is the signed integer quotient of the two operands. This

    1673 instruction always performs a signed division operation, regardless of whether
    1674 the arguments are signed or not.

    1675
    Example:
    1676
      <result> = sdiv int 4, %var          ; yields {int}:result = 4 / %var
    
                      
                    
    1677
    1678
    1679
    1680
    16331681 Instruction
    16341682
    16351683
    Syntax:
    1636
      <result> = div <ty> <var1>, <var2>   ; yields {ty}:result
    
                      
                    
    1637
    1638
    Overview:
    1639 >The 'div' instruction returns the quotient of its two
    1684 re> <result> = fdiv <ty> <var1>, <var2> ; yields {ty}:result
    1685
    1686
    Overview:
    1687

    The 'fdiv' instruction returns the quotient of its two

    16401688 operands.

    16411689
    Arguments:
    1642

    The two arguments to the 'div' instruction must be either

    1643 href="#t_integer">integer or floating point
    1644 values.
    1645 This instruction can also take packed versions of the values.
    1646 Both arguments must have identical types.

    1647
    Semantics:
    1648

    The value produced is the integer or floating point quotient of the

    1649 two operands.

    1690

    The two arguments to the 'div' instruction must be

    1691 floating point values. Both arguments must have
    1692 identical types. This instruction can also take packed
    1693 versions of the values in which case the elements must be floating point.

    1694
    Semantics:
    1695

    The value produced is the floating point quotient of the two operands.

    16501696
    Example:
    1651
      <result> = div int 4, %var          ; yields {int}:result = 4 / %var
                      
                    
    1697
      <result> = fdiv float 4.0, %var          ; yields {float}:result = 4.0 / %var
                      
                    
    16521698
    16531699
    16541700
    139139 const Type *Ty = S->getType();
    140140 Value *LHS = expandInTy(S->getLHS(), Ty);
    141141 Value *RHS = expandInTy(S->getRHS(), Ty);
    142 return BinaryOperator::createDiv(LHS, RHS, "tmp.", InsertPt);
    142 return BinaryOperator::createSDiv(LHS, RHS, "tmp.", InsertPt);
    143143 }
    144144
    145145 Value *visitAddRecExpr(SCEVAddRecExpr *S);
    292292
    293293
    294294 //===--------------------------------------------------------------------===//
    295 /// SCEVSDivExpr - This class represents a binary unsigned division operation.
    295 /// SCEVSDivExpr - This class represents a binary signed division operation.
    296296 ///
    297297 class SCEVSDivExpr : public SCEV {
    298298 SCEVHandle LHS, RHS;
    542542 static Constant *getAdd(Constant *C1, Constant *C2);
    543543 static Constant *getSub(Constant *C1, Constant *C2);
    544544 static Constant *getMul(Constant *C1, Constant *C2);
    545 static Constant *getDiv(Constant *C1, Constant *C2);
    545 static Constant *getUDiv(Constant *C1, Constant *C2);
    546 static Constant *getSDiv(Constant *C1, Constant *C2);
    547 static Constant *getFDiv(Constant *C1, Constant *C2);
    546548 static Constant *getRem(Constant *C1, Constant *C2);
    547549 static Constant *getAnd(Constant *C1, Constant *C2);
    548550 static Constant *getOr(Constant *C1, Constant *C2);
    9292 HANDLE_BINARY_INST( 7, Add , BinaryOperator)
    9393 HANDLE_BINARY_INST( 8, Sub , BinaryOperator)
    9494 HANDLE_BINARY_INST( 9, Mul , BinaryOperator)
    95 HANDLE_BINARY_INST(10, Div , BinaryOperator)
    96 HANDLE_BINARY_INST(11, Rem , BinaryOperator)
    95 HANDLE_BINARY_INST(10, UDiv , BinaryOperator)
    96 HANDLE_BINARY_INST(11, SDiv , BinaryOperator)
    97 HANDLE_BINARY_INST(12, FDiv , BinaryOperator)
    98 HANDLE_BINARY_INST(13, Rem , BinaryOperator)
    9799
    98100 // Logical operators...
    99 HANDLE_BINARY_INST(12, And , BinaryOperator)
    100 HANDLE_BINARY_INST(13, Or , BinaryOperator)
    101 HANDLE_BINARY_INST(14, Xor , BinaryOperator)
    101 HANDLE_BINARY_INST(14, And , BinaryOperator)
    102 HANDLE_BINARY_INST(15, Or , BinaryOperator)
    103 HANDLE_BINARY_INST(16, Xor , BinaryOperator)
    102104
    103105 // Binary comparison operators...
    104 HANDLE_BINARY_INST(15, SetEQ , SetCondInst)
    105 HANDLE_BINARY_INST(16, SetNE , SetCondInst)
    106 HANDLE_BINARY_INST(17, SetLE , SetCondInst)
    107 HANDLE_BINARY_INST(18, SetGE , SetCondInst)
    108 HANDLE_BINARY_INST(19, SetLT , SetCondInst)
    109 HANDLE_BINARY_INST(20, SetGT , SetCondInst)
    110 LAST_BINARY_INST(20)
    106 HANDLE_BINARY_INST(17, SetEQ , SetCondInst)
    107 HANDLE_BINARY_INST(18, SetNE , SetCondInst)
    108 HANDLE_BINARY_INST(19, SetLE , SetCondInst)
    109 HANDLE_BINARY_INST(20, SetGE , SetCondInst)
    110 HANDLE_BINARY_INST(21, SetLT , SetCondInst)
    111 HANDLE_BINARY_INST(22, SetGT , SetCondInst)
    112 LAST_BINARY_INST(22)
    111113
    112114 // Memory operators...
    113 FIRST_MEMORY_INST(21)
    114 HANDLE_MEMORY_INST(21, Malloc, MallocInst) // Heap management instructions
    115 HANDLE_MEMORY_INST(22, Free , FreeInst )
    116 HANDLE_MEMORY_INST(23, Alloca, AllocaInst) // Stack management
    117 HANDLE_MEMORY_INST(24, Load , LoadInst ) // Memory manipulation instrs
    118 HANDLE_MEMORY_INST(25, Store , StoreInst )
    119 HANDLE_MEMORY_INST(26, GetElementPtr, GetElementPtrInst)
    120 LAST_MEMORY_INST(26)
    115 FIRST_MEMORY_INST(23)
    116 HANDLE_MEMORY_INST(23, Malloc, MallocInst) // Heap management instructions
    117 HANDLE_MEMORY_INST(24, Free , FreeInst )
    118 HANDLE_MEMORY_INST(25, Alloca, AllocaInst) // Stack management
    119 HANDLE_MEMORY_INST(26, Load , LoadInst ) // Memory manipulation instrs
    120 HANDLE_MEMORY_INST(27, Store , StoreInst )
    121 HANDLE_MEMORY_INST(28, GetElementPtr, GetElementPtrInst)
    122 LAST_MEMORY_INST(28)
    121123
    122124 // Other operators...
    123 FIRST_OTHER_INST(27)
    124 HANDLE_OTHER_INST(27, PHI , PHINode ) // PHI node instruction
    125 HANDLE_OTHER_INST(28, Cast , CastInst ) // Type cast
    126 HANDLE_OTHER_INST(29, Call , CallInst ) // Call a function
    127
    128 HANDLE_OTHER_INST(30, Shl , ShiftInst ) // Shift operations
    129 HANDLE_OTHER_INST(31, Shr , ShiftInst )
    130 // 32 -> Empty slot used to be used for vanext in llvm 1.5 and before.
    131 // 33 -> Empty slot used to be used for vaarg in llvm 1.5 and before.
    125 FIRST_OTHER_INST(29)
    126 HANDLE_OTHER_INST(29, PHI , PHINode ) // PHI node instruction
    127 HANDLE_OTHER_INST(30, Cast , CastInst ) // Type cast
    128 HANDLE_OTHER_INST(31, Call , CallInst ) // Call a function
    129 HANDLE_OTHER_INST(32, Shl , ShiftInst ) // Shift operations
    130 HANDLE_OTHER_INST(33, Shr , ShiftInst )
    132131 HANDLE_OTHER_INST(34, Select , SelectInst ) // select instruction
    133
    134132 HANDLE_OTHER_INST(35, UserOp1, Instruction) // May be used internally in a pass
    135133 HANDLE_OTHER_INST(36, UserOp2, Instruction)
    136134 HANDLE_OTHER_INST(37, VAArg , VAArgInst ) // vaarg instruction
    111111 }
    112112
    113113 template
    114 inline BinaryOp_match m_Div(const LHS &L,
    115 const RHS &R) {
    116 return BinaryOp_match(L, R);
    114 inline BinaryOp_match m_UDiv(const LHS &L,
    115 const RHS &R) {
    116 return BinaryOp_match(L, R);
    117 }
    118
    119 template
    120 inline BinaryOp_match m_SDiv(const LHS &L,
    121 const RHS &R) {
    122 return BinaryOp_match(L, R);
    123 }
    124
    125 template
    126 inline BinaryOp_match m_FDiv(const LHS &L,
    127 const RHS &R) {
    128 return BinaryOp_match(L, R);
    117129 }
    118130
    119131 template
    988988 SCEVHandle SCEVSDivExpr::get(const SCEVHandle &LHS, const SCEVHandle &RHS) {
    989989 if (SCEVConstant *RHSC = dyn_cast(RHS)) {
    990990 if (RHSC->getValue()->equalsInt(1))
    991 return LHS; // X /s 1 --> x
    991 return LHS; // X sdiv 1 --> x
    992992 if (RHSC->getValue()->isAllOnesValue())
    993 return SCEV::getNegativeSCEV(LHS); // X /s -1 --> -x
    993 return SCEV::getNegativeSCEV(LHS); // X sdiv -1 --> -x
    994994
    995995 if (SCEVConstant *LHSC = dyn_cast(LHS)) {
    996996 Constant *LHSCV = LHSC->getValue();
    10001000 LHSCV->getType()->getSignedVersion());
    10011001 if (RHSCV->getType()->isUnsigned())
    10021002 RHSCV = ConstantExpr::getCast(RHSCV, LHSCV->getType());
    1003 return SCEVUnknown::get(ConstantExpr::getDiv(LHSCV, RHSCV));
    1003 return SCEVUnknown::get(ConstantExpr::getSDiv(LHSCV, RHSCV));
    10041004 }
    10051005 }
    10061006
    13831383 case Instruction::Mul:
    13841384 return SCEVMulExpr::get(getSCEV(I->getOperand(0)),
    13851385 getSCEV(I->getOperand(1)));
    1386 case Instruction::Div:
    1387 if (V->getType()->isInteger() && V->getType()->isSigned())
    1388 return SCEVSDivExpr::get(getSCEV(I->getOperand(0)),
    1389 getSCEV(I->getOperand(1)));
    1386 case Instruction::SDiv:
    1387 return SCEVSDivExpr::get(getSCEV(I->getOperand(0)),
    1388 getSCEV(I->getOperand(1)));
    13901389 break;
    13911390
    13921391 case Instruction::Sub:
    20572056 return std::make_pair(CNC, CNC);
    20582057 }
    20592058
    2060 Constant *Two = ConstantInt::get(L->getValue()->getType(), 2);
    2059 Constant *C = L->getValue();
    2060 Constant *Two = ConstantInt::get(C->getType(), 2);
    20612061
    20622062 // Convert from chrec coefficients to polynomial coefficients AX^2+BX+C
    2063 Constant *C = L->getValue();
    20642063 // The B coefficient is M-N/2
    20652064 Constant *B = ConstantExpr::getSub(M->getValue(),
    2066 ConstantExpr::getDiv(N->getValue(),
    2065 ConstantExpr::getSDiv(N->getValue(),
    20672066 Two));
    20682067 // The A coefficient is N/2
    2069 Constant *A = ConstantExpr::getDiv(N->getValue(), Two);
    2068 Constant *A = ConstantExpr::getSDiv(N->getValue(), Two);
    20702069
    20712070 // Compute the B^2-4ac term.
    20722071 Constant *SqrtTerm =
    21012100 SqrtTerm = ConstantExpr::getCast(SqrtTerm, SignedTy);
    21022101
    21032102 Constant *Solution1 =
    2104 ConstantExpr::getDiv(ConstantExpr::getAdd(NegB, SqrtTerm), TwoA);
    2103 ConstantExpr::getSDiv(ConstantExpr::getAdd(NegB, SqrtTerm), TwoA);
    21052104 Constant *Solution2 =
    2106 ConstantExpr::getDiv(ConstantExpr::getSub(NegB, SqrtTerm), TwoA);
    2105 ConstantExpr::getSDiv(ConstantExpr::getSub(NegB, SqrtTerm), TwoA);
    21072106 return std::make_pair(SCEVUnknown::get(Solution1),
    21082107 SCEVUnknown::get(Solution2));
    21092108 }
    21492148 Constant *StartNegC = ConstantExpr::getNeg(StartCC);
    21502149 Constant *Rem = ConstantExpr::getRem(StartNegC, StepC->getValue());
    21512150 if (Rem->isNullValue()) {
    2152 Constant *Result =ConstantExpr::getDiv(StartNegC,StepC->getValue());
    2151 Constant *Result =ConstantExpr::getSDiv(StartNegC,StepC->getValue());
    21532152 return SCEVUnknown::get(Result);
    21542153 }
    21552154 }
    23512350 Constant *ExitValue = Upper;
    23522351 if (A != One) {
    23532352 ExitValue = ConstantExpr::getSub(ConstantExpr::getAdd(Upper, A), One);
    2354 ExitValue = ConstantExpr::getDiv(ExitValue, A);
    2353 ExitValue = ConstantExpr::getSDiv(ExitValue, A);
    23552354 }
    23562355 assert(isa(ExitValue) &&
    23572356 "Constant folding of integers not implemented?");
    3838 yy_scan_string (str);
    3939 }
    4040
    41 // Construct a token value for a non-obsolete token
    4142 #define RET_TOK(type, Enum, sym) \
    42 llvmAsmlval.type = Instruction::Enum; return sym
    43 llvmAsmlval.type.opcode = Instruction::Enum; \
    44 llvmAsmlval.type.obsolete = false; \
    45 return sym
    46
    47 // Construct a token value for an obsolete token
    48 #define RET_TOK_OBSOLETE(type, Enum, sym) \
    49 llvmAsmlval.type.opcode = Instruction::Enum; \
    50 llvmAsmlval.type.obsolete = true; \
    51 return sym
    52
    4353
    4454 namespace llvm {
    4555
    246256 add { RET_TOK(BinaryOpVal, Add, ADD); }
    247257 sub { RET_TOK(BinaryOpVal, Sub, SUB); }
    248258 mul { RET_TOK(BinaryOpVal, Mul, MUL); }
    249 div { RET_TOK(BinaryOpVal, Div, DIV); }
    259 div { RET_TOK_OBSOLETE(BinaryOpVal, UDiv, UDIV); }
    260 udiv { RET_TOK(BinaryOpVal, UDiv, UDIV); }
    261 sdiv { RET_TOK(BinaryOpVal, SDiv, SDIV); }
    262 fdiv { RET_TOK(BinaryOpVal, FDiv, FDIV); }
    250263 rem { RET_TOK(BinaryOpVal, Rem, REM); }
    251264 and { RET_TOK(BinaryOpVal, And, AND); }
    252265 or { RET_TOK(BinaryOpVal, Or , OR ); }
    200200
    201201 } // End llvm namespace
    202202
    203 // This structure is used to keep track of obsolete opcodes. The lexer will
    204 // retain the ability to parse obsolete opcode mnemonics. In this case it will
    205 // set "obsolete" to true and the opcode will be the replacement opcode. For
    206 // example if "rem" is encountered then opcode will be set to "urem" and the
    207 // "obsolete" flag will be true. If the opcode is not obsolete then "obsolete"
    208 // will be false.
    209 template
    210 struct OpcodeInfo {
    211 Enum opcode;
    212 bool obsolete;
    213 };
    214 typedef OpcodeInfo BinaryOpInfo;
    215 typedef OpcodeInfo TermOpInfo;
    216 typedef OpcodeInfo MemOpInfo;
    217 typedef OpcodeInfo OtherOpInfo;
    218
    203219 #endif
    141141 ADD = 333,
    142142 SUB = 334,
    143143 MUL = 335,
    144 DIV = 336,
    145 REM = 337,
    146 AND = 338,
    147 OR = 339,
    148 XOR = 340,
    149 SETLE = 341,
    150 SETGE = 342,
    151 SETLT = 343,
    152 SETGT = 344,
    153 SETEQ = 345,
    154 SETNE = 346,
    155 MALLOC = 347,
    156 ALLOCA = 348,
    157 FREE = 349,
    158 LOAD = 350,
    159 STORE = 351,
    160 GETELEMENTPTR = 352,
    161 PHI_TOK = 353,
    162 CAST = 354,
    163 SELECT = 355,
    164 SHL = 356,
    165 SHR = 357,
    166 VAARG = 358,
    167 EXTRACTELEMENT = 359,
    168 INSERTELEMENT = 360,
    169 SHUFFLEVECTOR = 361,
    170 VAARG_old = 362,
    171 VANEXT_old = 363
    144 UDIV = 336,
    145 SDIV = 337,
    146 FDIV = 338,
    147 REM = 339,
    148 AND = 340,
    149 OR = 341,
    150 XOR = 342,
    151 SETLE = 343,
    152 SETGE = 344,
    153 SETLT = 345,
    154 SETGT = 346,
    155 SETEQ = 347,
    156 SETNE = 348,
    157 MALLOC = 349,
    158 ALLOCA = 350,
    159 FREE = 351,
    160 LOAD = 352,
    161 STORE = 353,
    162 GETELEMENTPTR = 354,
    163 PHI_TOK = 355,
    164 CAST = 356,
    165 SELECT = 357,
    166 SHL = 358,
    167 SHR = 359,
    168 VAARG = 360,
    169 EXTRACTELEMENT = 361,
    170 INSERTELEMENT = 362,
    171 SHUFFLEVECTOR = 363,
    172 VAARG_old = 364,
    173 VANEXT_old = 365
    172174 };
    173175 #endif
    174176 /* Tokens. */
    250252 #define ADD 333
    251253 #define SUB 334
    252254 #define MUL 335
    253 #define DIV 336
    254 #define REM 337
    255 #define AND 338
    256 #define OR 339
    257 #define XOR 340
    258 #define SETLE 341
    259 #define SETGE 342
    260 #define SETLT 343
    261 #define SETGT 344
    262 #define SETEQ 345
    263 #define SETNE 346
    264 #define MALLOC 347
    265 #define ALLOCA 348
    266 #define FREE 349
    267 #define LOAD 350
    268 #define STORE 351
    269 #define GETELEMENTPTR 352
    270 #define PHI_TOK 353
    271 #define CAST 354
    272 #define SELECT 355
    273 #define SHL 356
    274 #define SHR 357
    275 #define VAARG 358
    276 #define EXTRACTELEMENT 359
    277 #define INSERTELEMENT 360
    278 #define SHUFFLEVECTOR 361
    279 #define VAARG_old 362
    280 #define VANEXT_old 363
    255 #define UDIV 336
    256 #define SDIV 337
    257 #define FDIV 338
    258 #define REM 339
    259 #define AND 340
    260 #define OR 341
    261 #define XOR 342
    262 #define SETLE 343
    263 #define SETGE 344
    264 #define SETLT 345
    265 #define SETGT 346
    266 #define SETEQ 347
    267 #define SETNE 348
    268 #define MALLOC 349
    269 #define ALLOCA 350
    270 #define FREE 351
    271 #define LOAD 352
    272 #define STORE 353
    273 #define GETELEMENTPTR 354
    274 #define PHI_TOK 355
    275 #define CAST 356
    276 #define SELECT 357
    277 #define SHL 358
    278 #define SHR 359
    279 #define VAARG 360
    280 #define EXTRACTELEMENT 361
    281 #define INSERTELEMENT 362
    282 #define SHUFFLEVECTOR 363
    283 #define VAARG_old 364
    284 #define VANEXT_old 365
    281285
    282286
    283287
    284288
    285289 /* Copy the first part of user declarations. */
    286 #line 14 "/proj/llvm/llvm_nc/lib/AsmParser/llvmAsmParser.y"
    290 #line 14 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
    287291
    288292 #include "ParserInternals.h"
    289293 #include "llvm/CallingConv.h"
    10861090 return Ty;
    10871091 }
    10881092
    1093 /// This function is used to obtain the correct opcode for an instruction when
    1094 /// an obsolete opcode is encountered. The OI parameter (OpcodeInfo) has both
    1095 /// an opcode and an "obsolete" flag. These are generated by the lexer and
    1096 /// the "obsolete" member will be true when the lexer encounters the token for
    1097 /// an obsolete opcode. For example, "div" was replaced by [usf]div but we need
    1098 /// to maintain backwards compatibility for asm files that still have the "div"
    1099 /// instruction. This function handles converting div -> [usf]div appropriately.
    1100 /// @brief Convert obsolete opcodes to new values
    1101 static void
    1102 sanitizeOpCode(OpcodeInfo &OI, const PATypeHolder& PATy)
    1103 {
    1104 // If its not obsolete, don't do anything
    1105 if (!OI.obsolete)
    1106 return;
    1107
    1108 // If its a packed type we want to use the element type
    1109 const Type* Ty = PATy;
    1110 if (const PackedType* PTy = dyn_cast(Ty))
    1111 Ty = PTy->getElementType();
    1112
    1113 // Depending on the opcode ..
    1114 switch (OI.opcode) {
    1115 default:
    1116 GenerateError("Invalid Obsolete OpCode");
    1117 break;
    1118 case Instruction::UDiv:
    1119 // Handle cases where the opcode needs to change
    1120 if (Ty->isFloatingPoint())
    1121 OI.opcode = Instruction::FDiv;
    1122 else if (Ty->isSigned())
    1123 OI.opcode = Instruction::SDiv;
    1124 break;
    1125 }
    1126 // Its not obsolete any more, we fixed it.
    1127 OI.obsolete = false;
    1128 }
    1129
    10891130
    10901131 // common code from the two 'RunVMAsmParser' functions
    10911132 static Module* RunParser(Module * M) {
    12631304 #endif
    12641305
    12651306 #if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED)
    1266 #line 974 "/proj/llvm/llvm_nc/lib/AsmParser/llvmAsmParser.y"
    1307 #line 1011 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
    12671308 typedef union YYSTYPE {
    12681309 llvm::Module *ModuleVal;
    12691310 llvm::Function *FunctionVal;
    12951336 bool BoolVal;
    12961337
    12971338 char *StrVal; // This memory is strdup'd!
    1298 llvm::ValID ValIDVal; // strdup'd memory maybe!
    1299
    1300 llvm::Instruction::BinaryOps BinaryOpVal;
    1301 llvm::Instruction::TermOps TermOpVal;
    1302 llvm::Instruction::MemoryOps MemOpVal;
    1303 llvm::Instruction::OtherOps OtherOpVal;
    1304 llvm::Module::Endianness Endianness;
    1339 llvm::ValID ValIDVal; // strdup'd memory maybe!
    1340
    1341 BinaryOpInfo BinaryOpVal;
    1342 TermOpInfo TermOpVal;
    1343 MemOpInfo MemOpVal;
    1344 OtherOpInfo OtherOpVal;
    1345 llvm::Module::Endianness Endianness;
    13051346 } YYSTYPE;
    13061347 /* Line 196 of yacc.c. */
    1307 #line 1309 "llvmAsmParser.tab.c"
    1348 #line 1350 "llvmAsmParser.tab.c"
    13081349 # define yystype YYSTYPE /* obsolescent; will be withdrawn */
    13091350 # define YYSTYPE_IS_DECLARED 1
    13101351 # define YYSTYPE_IS_TRIVIAL 1
    13161357
    13171358
    13181359 /* Line 219 of yacc.c. */
    1319 #line 1321 "llvmAsmParser.tab.c"
    1360 #line 1362 "llvmAsmParser.tab.c"
    13201361
    13211362 #if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__)
    13221363 # define YYSIZE_T __SIZE_TYPE__
    14671508 /* YYFINAL -- State number of the termination state. */
    14681509 #define YYFINAL 4
    14691510 /* YYLAST -- Last index in YYTABLE. */
    1470 #define YYLAST 1339
    1511 #define YYLAST 1288
    14711512
    14721513 /* YYNTOKENS -- Number of terminals. */
    1473 #define YYNTOKENS 123
    1514 #define YYNTOKENS 125
    14741515 /* YYNNTS -- Number of nonterminals. */
    14751516 #define YYNNTS 75
    14761517 /* YYNRULES -- Number of rules. */
    1477 #define YYNRULES 252
    1518 #define YYNRULES 254
    14781519 /* YYNRULES -- Number of states. */
    1479 #define YYNSTATES 517
    1520 #define YYNSTATES 519
    14801521
    14811522 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
    14821523 #define YYUNDEFTOK 2
    1483 #define YYMAXUTOK 363
    1524 #define YYMAXUTOK 365
    14841525
    14851526 #define YYTRANSLATE(YYX) \
    14861527 ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
    14921533 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
    14931534 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
    14941535 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
    1495 112, 113, 121, 2, 110, 2, 2, 2, 2, 2,
    1536 114, 115, 123, 2, 112, 2, 2, 2, 2, 2,
    14961537 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
    1497 117, 109, 118, 2, 2, 2, 2, 2, 2, 2,
    1538 119, 111, 120, 2, 2, 2, 2, 2, 2, 2,
    14981539 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
    14991540 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
    1500 2, 114, 111, 116, 2, 2, 2, 2, 2, 122,
    1541 2, 116, 113, 118, 2, 2, 2, 2, 2, 124,
    15011542 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
    15021543 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
    1503 115, 2, 2, 119, 2, 120, 2, 2, 2, 2,
    1544 117, 2, 2, 121, 2, 122, 2, 2, 2, 2,
    15041545 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
    15051546 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
    15061547 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
    15241565 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
    15251566 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
    15261567 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
    1527 105, 106, 107, 108
    1568 105, 106, 107, 108, 109, 110
    15281569 };
    15291570
    15301571 #if YYDEBUG
    15351576 0, 0, 3, 5, 7, 9, 11, 13, 15, 17,
    15361577 19, 21, 23, 25, 27, 29, 31, 33, 35, 37,
    15371578 39, 41, 43, 45, 47, 49, 51, 53, 55, 57,
    1538 59, 61, 63, 65, 67, 70, 71, 73, 75, 77,
    1539 79, 81, 83, 85, 86, 87, 89, 91, 93, 95,
    1540 97, 99, 102, 103, 106, 107, 111, 114, 115, 117,
    1541 118, 122, 124, 127, 129, 131, 133, 135, 137, 139,
    1579 59, 61, 63, 65, 67, 69, 71, 74, 75, 77,
    1580 79, 81, 83, 85, 87, 89, 90, 91, 93, 95,
    1581 97, 99, 101, 103, 106, 107, 110, 111, 115, 118,
    1582 119, 121, 122, 126, 128, 131, 133, 135, 137, 139,
    15421583 141, 143, 145, 147, 149, 151, 153, 155, 157, 159,
    1543 161, 163, 165, 167, 169, 172, 177, 183, 189, 193,
    1544 196, 199, 201, 205, 207, 211, 213, 214, 219, 223,
    1545 227, 232, 237, 241, 244, 247, 250, 253, 256, 259,
    1546 262, 265, 268, 271, 278, 284, 293, 300, 307, 314,
    1547 321, 328, 337, 346, 350, 352, 354, 356, 358, 361,
    1548 364, 369, 372, 374, 379, 382, 387, 388, 396, 397,
    1549 405, 406, 414, 415, 423, 427, 432, 433, 435, 437,
    1550 439, 443, 447, 451, 455, 459, 463, 465, 466, 468,
    1551 470, 472, 473, 476, 480, 482, 484, 488, 490, 491,
    1552 500, 502, 504, 508, 510, 512, 515, 516, 518, 520,
    1553 521, 526, 527, 529, 531, 533, 535, 537, 539, 541,
    1554 543, 545, 549, 551, 557, 559, 561, 563, 565, 568,
    1555 571, 574, 578, 581, 582, 584, 587, 590, 594, 604,
    1556 614, 623, 637, 639, 641, 648, 654, 657, 664, 672,
    1557 674, 678, 680, 681, 684, 686, 692, 698, 704, 707,
    1558 712, 717, 724, 729, 734, 739, 744, 751, 758, 761,
    1559 769, 771, 774, 775, 777, 778, 782, 789, 793, 800,
    1560 803, 808, 815
    1584 161, 163, 165, 167, 169, 171, 173, 176, 181, 187,
    1585 193, 197, 200, 203, 205, 209, 211, 215, 217, 218,
    1586 223, 227, 231, 236, 241, 245, 248, 251, 254, 257,
    1587 260, 263, 266, 269, 272, 275, 282, 288, 297, 304,
    1588 311, 318, 325, 332, 341, 350, 354, 356, 358, 360,
    1589 362, 365, 368, 373, 376, 378, 383, 386, 391, 392,
    1590 400, 401, 409, 410, 418, 419, 427, 431, 436, 437,
    1591 439, 441, 443, 447, 451, 455, 459, 463, 467, 469,
    1592 470, 472, 474, 476, 477, 480, 484, 486, 488, 492,
    1593 494, 495, 504, 506, 508, 512, 514, 516, 519, 520,
    1594 522, 524, 525, 530, 531, 533, 535, 537, 539, 541,
    1595 543, 545, 547, 549, 553, 555, 561, 563, 565, 567,
    1596 569, 572, 575, 578, 582, 585, 586, 588, 591, 594,
    1597 598, 608, 618, 627, 641, 643, 645, 652, 658, 661,
    1598 668, 676, 678, 682, 684, 685, 688, 690, 696, 702,
    1599 708, 711, 716, 721, 728, 733, 738, 743, 748, 755,
    1600 762, 765, 773, 775, 778, 779, 781, 782, 786, 793,
    1601 797, 804, 807, 812, 819
    15611602 };
    15621603
    15631604 /* YYRHS -- A `-1'-separated list of the rules' RHS. */
    15641605 static const short int yyrhs[] =
    15651606 {
    1566 154, 0, -1, 5, -1, 6, -1, 3, -1, 4,
    1607 156, 0, -1, 5, -1, 6, -1, 3, -1, 4,
    15671608 -1, 78, -1, 79, -1, 80, -1, 81, -1, 82,
    15681609 -1, 83, -1, 84, -1, 85, -1, 86, -1, 87,
    1569 -1, 88, -1, 89, -1, 90, -1, 91, -1, 101,
    1570 -1, 102, -1, 16, -1, 14, -1, 12, -1, 10,
    1571 -1, 17, -1, 15, -1, 13, -1, 11, -1, 130,
    1572 -1, 131, -1, 18, -1, 19, -1, 166, 109, -1,
    1573 -1, 41, -1, 42, -1, 43, -1, 44, -1, 45,
    1574 -1, 46, -1, 47, -1, -1, -1, 65, -1, 66,
    1575 -1, 67, -1, 68, -1, 69, -1, 70, -1, 64,
    1576 4, -1, -1, 57, 4, -1, -1, 110, 57, 4,
    1577 -1, 34, 24, -1, -1, 139, -1, -1, 110, 142,
    1578 141, -1, 139, -1, 57, 4, -1, 145, -1, 8,
    1579 -1, 147, -1, 8, -1, 147, -1, 9, -1, 10,
    1580 -1, 11, -1, 12, -1, 13, -1, 14, -1, 15,
    1581 -1, 16, -1, 17, -1, 18, -1, 19, -1, 20,
    1582 -1, 21, -1, 48, -1, 146, -1, 181, -1, 111,
    1583 4, -1, 144, 112, 149, 113, -1, 114, 4, 115,
    1584 147, 116, -1, 117, 4, 115, 147, 118, -1, 119,
    1585 148, 120, -1, 119, 120, -1, 147, 121, -1, 147,
    1586 -1, 148, 110, 147, -1, 148, -1, 148, 110, 37,
    1587 -1, 37, -1, -1, 145, 114, 152, 116, -1, 145,
    1588 114, 116, -1, 145, 122, 24, -1, 145, 117, 152,
    1589 118, -1, 145, 119, 152, 120, -1, 145, 119, 120,
    1590 -1, 145, 38, -1, 145, 39, -1, 145, 181, -1,
    1591 145, 151, -1, 145, 26, -1, 130, 125, -1, 131,
    1592 4, -1, 9, 27, -1, 9, 28, -1, 133, 7,
    1593 -1, 99, 112, 150, 36, 145, 113, -1, 97, 112,
    1594 150, 195, 113, -1, 100, 112, 150, 110, 150, 110,
    1595 150, 113, -1, 126, 112, 150, 110, 150, 113, -1,
    1596 127, 112, 150, 110, 150, 113, -1, 128, 112, 150,
    1597 110, 150, 113, -1, 129, 112, 150, 110, 150, 113,
    1598 -1, 104, 112, 150, 110, 150, 113, -1, 105, 112,
    1599 150, 110, 150, 110, 150, 113, -1, 106, 112, 150,
    1600 110, 150, 110, 150, 113, -1, 152, 110, 150, -1,
    1601 150, -1, 32, -1, 33, -1, 155, -1, 155, 175,
    1602 -1, 155, 177, -1, 155, 62, 61, 161, -1, 155,
    1603 25, -1, 156, -1, 156, 134, 20, 143, -1, 156,
    1604 177, -1, 156, 62, 61, 161, -1, -1, 156, 134,
    1605 135, 153, 150, 157, 141, -1, -1, 156, 134, 50,
    1606 153, 145, 158, 141, -1, -1, 156, 134, 45, 153,
    1607 145, 159, 141, -1, -1, 156, 134, 47, 153, 145,
    1608 160, 141, -1, 156, 51, 163, -1, 156, 58, 109,
    1609 164, -1, -1, 24, -1, 56, -1, 55, -1, 53,
    1610 109, 162, -1, 54, 109, 4, -1, 52, 109, 24,
    1611 -1, 71, 109, 24, -1, 114, 165, 116, -1, 165,
    1612 110, 24, -1, 24, -1, -1, 22, -1, 24, -1,
    1613 166, -1, -1, 145, 167, -1, 169, 110, 168, -1,
    1614 168, -1, 169, -1, 169, 110, 37, -1, 37, -1,
    1615 -1, 136, 143, 166, 112, 170, 113, 140, 137, -1,
    1616 29, -1, 119, -1, 135, 171, 172, -1, 30, -1,
    1617 120, -1, 184, 174, -1, -1, 45, -1, 47, -1,
    1618 -1, 31, 178, 176, 171, -1, -1, 63, -1, 3,
    1619 -1, 4, -1, 7, -1, 27, -1, 28, -1, 38,
    1620 -1, 39, -1, 26, -1, 117, 152, 118, -1, 151,
    1621 -1, 61, 179, 24, 110, 24, -1, 124, -1, 166,
    1622 -1, 181, -1, 180, -1, 145, 182, -1, 184, 185,
    1623 -1, 173, 185, -1, 186, 134, 187, -1, 186, 189,
    1624 -1, -1, 23, -1, 72, 183, -1, 72, 8, -1,
    1625 73, 21, 182, -1, 73, 9, 182, 110, 21, 182,
    1626 110, 21, 182, -1, 74, 132, 182, 110, 21, 182,
    1627 114, 188, 116, -1, 74, 132, 182, 110, 21, 182,
    1628 114, 116, -1, 75, 136, 143, 182, 112, 192, 113,
    1629 36, 21, 182, 76, 21, 182, -1, 76, -1, 77,
    1630 -1, 188, 132, 180, 110, 21, 182, -1, 132, 180,
    1631 110, 21, 182, -1, 134, 194, -1, 145, 114, 182,
    1632 110, 182, 116, -1, 190, 110, 114, 182, 110, 182,
    1633 116, -1, 183, -1, 191, 110, 183, -1, 191, -1,
    1634 -1, 60, 59, -1, 59, -1, 126, 145, 182, 110,
    1635 182, -1, 127, 145, 182, 110, 182, -1, 128, 145,
    1636 182, 110, 182, -1, 49, 183, -1, 129, 183, 110,
    1637 183, -1, 99, 183, 36, 145, -1, 100, 183, 110,
    1638 183, 110, 183, -1, 103, 183, 110, 145, -1, 107,
    1639 183, 110, 145, -1, 108, 183, 110, 145, -1, 104,
    1640 183, 110, 183, -1, 105, 183, 110, 183, 110, 183,
    1641 -1, 106, 183, 110, 183, 110, 183, -1, 98, 190,
    1642 -1, 193, 136, 143, 182, 112, 192, 113, -1, 197,
    1643 -1, 110, 191, -1, -1, 35, -1, -1, 92, 145,
    1644 138, -1, 92, 145, 110, 15, 182, 138, -1, 93,
    1645 145, 138, -1, 93, 145, 110, 15, 182, 138, -1,
    1646 94, 183, -1, 196, 95, 145, 182, -1, 196, 96,
    1647 183, 110, 145, 182, -1, 97, 145, 182, 195, -1
    1610 -1, 88, -1, 89, -1, 90, -1, 91, -1, 92,
    1611 -1, 93, -1, 103, -1, 104, -1, 16, -1, 14,
    1612 -1, 12, -1, 10, -1, 17, -1, 15, -1, 13,
    1613 -1, 11, -1, 132, -1, 133, -1, 18, -1, 19,
    1614 -1, 168, 111, -1, -1, 41, -1, 42, -1, 43,
    1615 -1, 44, -1, 45, -1, 46, -1, 47, -1, -1,
    1616 -1, 65, -1, 66, -1, 67, -1, 68, -1, 69,
    1617 -1, 70, -1, 64, 4, -1, -1, 57, 4, -1,
    1618 -1, 112, 57, 4, -1, 34, 24, -1, -1, 141,
    1619 -1, -1, 112, 144, 143, -1, 141, -1, 57, 4,
    1620 -1, 147, -1, 8, -1, 149, -1, 8, -1, 149,
    1621 -1, 9, -1, 10, -1, 11, -1, 12, -1, 13,
    1622 -1, 14, -1, 15, -1, 16, -1, 17, -1, 18,
    1623 -1, 19, -1, 20, -1, 21, -1, 48, -1, 148,
    1624 -1, 183, -1, 113, 4, -1, 146, 114, 151, 115,
    1625 -1, 116, 4, 117, 149, 118, -1, 119, 4, 117,
    1626 149, 120, -1, 121, 150, 122, -1, 121, 122, -1,
    1627 149, 123, -1, 149, -1, 150, 112, 149, -1, 150,
    1628 -1, 150, 112, 37, -1, 37, -1, -1, 147, 116,
    1629 154, 118, -1, 147, 116, 118, -1, 147, 124, 24,
    1630 -1, 147, 119, 154, 120, -1, 147, 121, 154, 122,
    1631 -1, 147, 121, 122, -1, 147, 38, -1, 147, 39,
    1632 -1, 147, 183, -1, 147, 153, -1, 147, 26, -1,
    1633 132, 127, -1, 133, 4, -1, 9, 27, -1, 9,
    1634 28, -1, 135, 7, -1, 101, 114, 152, 36, 147,
    1635 115, -1, 99, 114, 152, 197, 115, -1, 102, 114,
    1636 152, 112, 152, 112, 152, 115, -1, 128, 114, 152,
    1637 112, 152, 115, -1, 129, 114, 152, 112, 152, 115,
    1638 -1, 130, 114, 152, 112, 152, 115, -1, 131, 114,
    1639 152, 112, 152, 115, -1, 106, 114, 152, 112, 152,
    1640 115, -1, 107, 114, 152, 112, 152, 112, 152, 115,
    1641 -1, 108, 114, 152, 112, 152, 112, 152, 115, -1,
    1642 154, 112, 152, -1, 152, -1, 32, -1, 33, -1,
    1643 157, -1, 157, 177, -1, 157, 179, -1, 157, 62,
    1644 61, 163, -1, 157, 25, -1, 158, -1, 158, 136,
    1645 20, 145, -1, 158, 179, -1, 158, 62, 61, 163,
    1646 -1, -1, 158, 136, 137, 155, 152, 159, 143, -1,
    1647 -1, 158, 136, 50, 155, 147, 160, 143, -1, -1,
    1648 158, 136, 45, 155, 147, 161, 143, -1, -1, 158,
    1649 136, 47, 155, 147, 162, 143, -1, 158, 51, 165,
    1650 -1, 158, 58, 111, 166, -1, -1, 24, -1, 56,
    1651 -1, 55, -1, 53, 111, 164, -1, 54, 111, 4,
    1652 -1, 52, 111, 24, -1, 71, 111, 24, -1, 116,
    1653 167, 118, -1, 167, 112, 24, -1, 24, -1, -1,
    1654 22, -1, 24, -1, 168, -1, -1, 147, 169, -1,
    1655 171, 112, 170, -1, 170, -1, 171, -1, 171, 112,
    1656 37, -1, 37, -1, -1, 138, 145, 168, 114, 172,
    1657 115, 142, 139, -1, 29, -1, 121, -1, 137, 173,
    1658 174, -1, 30, -1, 122, -1, 186, 176, -1, -1,
    1659 45, -1, 47, -1, -1, 31, 180, 178, 173, -1,
    1660 -1, 63, -1, 3, -1, 4, -1, 7, -1, 27,
    1661 -1, 28, -1, 38, -1, 39, -1, 26, -1, 119,
    1662 154, 120, -1, 153, -1, 61, 181, 24, 112, 24,
    1663 -1, 126, -1, 168, -1, 183, -1, 182, -1, 147,
    1664 184, -1, 186, 187, -1, 175, 187, -1, 188, 136,
    1665 189, -1, 188, 191, -1, -1, 23, -1, 72, 185,
    1666 -1, 72, 8, -1, 73, 21, 184, -1, 73, 9,
    1667 184, 112, 21, 184, 112, 21, 184, -1, 74, 134,
    1668 184, 112, 21, 184, 116, 190, 118, -1, 74, 134,
    1669 184, 112, 21, 184, 116, 118, -1, 75, 138, 145,
    1670 184, 114, 194, 115, 36, 21, 184, 76, 21, 184,
    1671 -1, 76, -1, 77, -1, 190, 134, 182, 112, 21,
    1672 184, -1, 134, 182, 112, 21, 184, -1, 136, 196,
    1673 -1, 147, 116, 184, 112, 184, 118, -1, 192, 112,
    1674 116, 184, 112, 184, 118, -1, 185, -1, 193, 112,
    1675 185, -1, 193, -1, -1, 60, 59, -1, 59, -1,
    1676 128, 147, 184, 112, 184, -1, 129, 147, 184, 112,
    1677 184, -1, 130, 147, 184, 112, 184, -1, 49, 185,
    1678 -1, 131, 185, 112, 185, -1, 101, 185, 36, 147,
    1679 -1, 102, 185, 112, 185, 112, 185, -1, 105, 185,
    1680 112, 147, -1, 109, 185, 112, 147, -1, 110, 185,
    1681 112, 147, -1, 106, 185, 112, 185, -1, 107, 185,
    1682 112, 185, 112, 185, -1, 108, 185, 112, 185, 112,
    1683 185, -1, 100, 192, -1, 195, 138, 145, 184, 114,
    1684 194, 115, -1, 199, -1, 112, 193, -1, -1, 35,
    1685 -1, -1, 94, 147, 140, -1, 94, 147, 112, 15,
    1686 184, 140, -1, 95, 147, 140, -1, 95, 147, 112,
    1687 15, 184, 140, -1, 96, 185, -1, 198, 97, 147,
    1688 184, -1, 198, 98, 185, 112, 147, 184, -1, 99,
    1689 147, 184, 197, -1
    16481690 };
    16491691
    16501692 /* YYRLINE[YYN] -- source line where rule number YYN was defined. */
    16511693 static const unsigned short int yyrline[] =
    16521694 {
    1653 0, 1097, 1097, 1098, 1106, 1107, 1117, 1117, 1117, 1117,
    1654 1117, 1118, 1118, 1118, 1119, 1119, 1119, 1119, 1119, 1119,
    1655 1121, 1121, 1125, 1125, 1125, 1125, 1126, 1126, 1126, 1126,
    1656 1127, 1127, 1128, 1128, 1131, 1135, 1140, 1141, 1142, 1143,
    1657 1144, 1145, 1146, 1147, 1149, 1150, 1151, 1152, 1153, 1154,
    1658 1155, 1156, 1165, 1166, 1172, 1173, 1181, 1189, 1190, 1195,
    1659 1196, 1197, 1202, 1216, 1216, 1217, 1217, 1219, 1229, 1229,
    1660 1229, 1229, 1229, 1229, 1229, 1230, 1230, 1230, 1230, 1230,
    1661 1230, 1231, 1235, 1239, 1247, 1255, 1268, 1273, 1285, 1295,
    1662 1299, 1310, 1315, 1321, 1322, 1326, 1330, 1341, 1367, 1381,
    1663 1411, 1437, 1458, 1471, 1481, 1486, 1547, 1554, 1563, 1569,
    1664 1575, 1579, 1583, 1591, 1602, 1634, 1642, 1664, 1675, 1681,
    1665 1689, 1695, 1701, 1710, 1714, 1722, 1722, 1732, 1740, 1745,
    1666 1749, 1753, 1757, 1772, 1794, 1797, 1800, 1800, 1808, 1808,
    1667 1816, 1816, 1824, 1824, 1833, 1836, 1839, 1843, 1856, 1857,
    1668 1859, 1863, 1872, 1876, 1881, 1883, 1888, 1893, 1902, 1902,
    1669 1903, 1903, 1905, 1912, 1918, 1925, 1929, 1935, 1940, 1945,
    1670 2040, 2040, 2042, 2050, 2050, 2052, 2057, 2058, 2059, 2061,
    1671 2061, 2071, 2075, 2080, 2084, 2088, 2092, 2096, 2100, 2104,
    1672 2108, 2112, 2137, 2141, 2155, 2159, 2165, 2165, 2171, 2176,
    1673 2180, 2189, 2200, 2205, 2217, 2230, 2234, 2238, 2243, 2252,
    1674 2271, 2280, 2336, 2340, 2347, 2358, 2371, 2380, 2389, 2399,
    1675 2403, 2410, 2410, 2412, 2416, 2421, 2437, 2452, 2466, 2479,
    1676 2487, 2495, 2503, 2509, 2529, 2552, 2558, 2564, 2570, 2585,
    1677 2644, 2651, 2654, 2659, 2663, 2670, 2675, 2681, 2686, 2692,
    1678 2700, 2712, 2727
    1695 0, 1134, 1134, 1135, 1143, 1144, 1154, 1154, 1154, 1154,
    1696 1154, 1154, 1154, 1155, 1155, 1155, 1156, 1156, 1156, 1156,
    1697 1156, 1156, 1158, 1158, 1162, 1162, 1162, 1162, 1163, 1163,
    1698 1163, 1163, 1164, 1164, 1165, 1165, 1168, 1172, 1177, 1178,
    1699 1179, 1180, 1181, 1182, 1183, 1184, 1186, 1187, 1188, 1189,
    1700 1190, 1191, 1192, 1193, 1202, 1203, 1209, 1210, 1218, 1226,
    1701 1227, 1232, 1233, 1234, 1239, 1253, 1253, 1254, 1254, 1256,
    1702 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1267, 1267, 1267,
    1703 1267, 1267, 1267, 1268, 1272, 1276, 1284, 1292, 1305, 1310,
    1704 1322, 1332, 1336, 1347, 1352, 1358, 1359, 1363, 1367, 1378,
    1705 1404, 1418, 1448, 1474, 1495, 1508, 1518, 1523, 1584, 1591,
    1706 1600, 1606, 1612, 1616, 1620, 1628, 1639, 1671, 1679, 1706,
    1707 1717, 1723, 1731, 1737, 1743, 1752, 1756, 1764, 1764, 1774,
    1708 1782, 1787, 1791, 1795, 1799, 1814, 1836, 1839, 1842, 1842,
    1709 1850, 1850, 1858, 1858, 1866, 1866, 1875, 1878, 1881, 1885,
    1710 1898, 1899, 1901, 1905, 1914, 1918, 1923, 1925, 1930, 1935,
    1711 1944, 1944, 1945, 1945, 1947, 1954, 1960, 1967, 1971, 1977,
    1712 1982, 1987, 2082, 2082, 2084, 2092, 2092, 2094, 2099, 2100,
    1713 2101, 2103, 2103, 2113, 2117, 2122, 2126, 2130, 2134, 2138,
    1714 2142, 2146, 2150, 2154, 2179, 2183, 2197, 2201, 2207, 2207,
    1715 2213, 2218, 2222, 2231, 2242, 2247, 2259, 2272, 2276, 2280,
    1716 2285, 2294, 2313, 2322, 2378, 2382, 2389, 2400, 2413, 2422,
    1717 2431, 2441, 2445, 2452, 2452, 2454, 2458, 2463, 2482, 2497,
    1718 2511, 2524, 2532, 2540, 2548, 2554, 2574, 2597, 2603, 2609,
    1719 2615, 2630, 2689, 2696, 2699, 2704, 2708, 2715, 2720, 2726,
    1720 2731, 2737, 2745, 2757, 2772
    16791721 };
    16801722 #endif
    16811723
    16971739 "SIDEEFFECT", "CC_TOK", "CCC_TOK", "CSRETCC_TOK", "FASTCC_TOK",
    16981740 "COLDCC_TOK", "X86_STDCALLCC_TOK", "X86_FASTCALLCC_TOK", "DATALAYOUT",
    16991741 "RET", "BR", "SWITCH", "INVOKE", "UNWIND", "UNREACHABLE", "ADD", "SUB",
    1700 "MUL", "DIV", "REM", "AND", "OR", "XOR", "SETLE", "SETGE", "SETLT",
    1701 "SETGT", "SETEQ", "SETNE", "MALLOC", "ALLOCA", "FREE", "LOAD", "STORE",
    1702 "GETELEMENTPTR", "PHI_TOK", "CAST", "SELECT", "SHL", "SHR", "VAARG",
    1703 "EXTRACTELEMENT", "INSERTELEMENT", "SHUFFLEVECTOR", "VAARG_old",
    1704 "VANEXT_old", "'='", "','", "'\\\\'", "'('", "')'", "'['", "'x'", "']'",
    1705 "'<'", "'>'", "'{'", "'}'", "'*'", "'c'", "$accept", "INTVAL",
    1706 "EINT64VAL", "ArithmeticOps", "LogicalOps", "SetCondOps", "ShiftOps",
    1707 "SIntType", "UIntType", "IntType", "FPType", "OptAssign", "OptLinkage",
    1708 "OptCallingConv", "OptAlign", "OptCAlign", "SectionString", "OptSection",
    1709 "GlobalVarAttributes", "GlobalVarAttribute", "TypesV", "UpRTypesV",
    1710 "Types", "PrimType", "UpRTypes", "TypeListI", "ArgTypeListI", "ConstVal",
    1711 "ConstExpr", "ConstVector", "GlobalType", "Module", "FunctionList",
    1712 "ConstPool", "@1", "@2", "@3", "@4", "AsmBlock", "BigOrLittle",
    1713 "TargetDefinition", "LibrariesDefinition", "LibList", "Name", "OptName",
    1714 "ArgVal", "ArgListH", "ArgList", "FunctionHeaderH", "BEGIN",
    1715 "FunctionHeader", "END", "Function", "FnDeclareLinkage", "FunctionProto",
    1716 "@5", "OptSideEffect", "ConstValueRef", "SymbolicValueRef", "ValueRef",
    1717 "ResolvedVal", "BasicBlockList", "BasicBlock", "InstructionList",
    1718 "BBTerminatorInst", "JumpTable", "Inst", "PHIList", "ValueRefList",
    1719 "ValueRefListE", "OptTailCall", "InstVal", "IndexList", "OptVolatile",
    1720 "MemoryInst", 0
    1742 "MUL", "UDIV", "SDIV", "FDIV", "REM", "AND", "OR", "XOR", "SETLE",
    1743 "SETGE", "SETLT", "SETGT", "SETEQ", "SETNE", "MALLOC", "ALLOCA", "FREE",
    1744 "LOAD", "STORE", "GETELEMENTPTR", "PHI_TOK", "CAST", "SELECT", "SHL",
    1745 "SHR", "VAARG", "EXTRACTELEMENT", "INSERTELEMENT", "SHUFFLEVECTOR",
    1746 "VAARG_old", "VANEXT_old", "'='", "','", "'\\\\'", "'('", "')'", "'['",
    1747 "'x'", "']'", "'<'", "'>'", "'{'", "'}'", "'*'", "'c'", "$accept",
    1748 "INTVAL", "EINT64VAL", "ArithmeticOps", "LogicalOps", "SetCondOps",
    1749 "ShiftOps", "SIntType", "UIntType", "IntType", "FPType", "OptAssign",
    1750 "OptLinkage", "OptCallingConv", "OptAlign", "OptCAlign", "SectionString",
    1751 "OptSection", "GlobalVarAttributes", "GlobalVarAttribute", "TypesV",
    1752 "UpRTypesV", "Types", "PrimType", "UpRTypes", "TypeListI",
    1753 "ArgTypeListI", "ConstVal", "ConstExpr", "ConstVector", "GlobalType",
    1754 "Module", "FunctionList", "ConstPool", "@1", "@2", "@3", "@4",
    1755 "AsmBlock", "BigOrLittle", "TargetDefinition", "LibrariesDefinition",
    1756 "LibList", "Name", "OptName", "ArgVal", "ArgListH", "ArgList",
    1757 "FunctionHeaderH", "BEGIN", "FunctionHeader", "END", "Function",
    1758 "FnDeclareLinkage", "FunctionProto", "@5", "OptSideEffect",
    1759 "ConstValueRef", "SymbolicValueRef", "ValueRef", "ResolvedVal",
    1760 "BasicBlockList", "BasicBlock", "InstructionList", "BBTerminatorInst",
    1761 "JumpTable", "Inst", "PHIList", "ValueRefList", "ValueRefListE",
    1762 "OptTailCall", "InstVal", "IndexList", "OptVolatile", "MemoryInst", 0
    17211763 };
    17221764 #endif
    17231765
    17361778 325, 326, 327, 328, 329, 330, 331, 332, 333, 334,
    17371779 335, 336, 337, 338, 339, 340, 341, 342, 343, 344,
    17381780 345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
    1739 355, 356, 357, 358, 359, 360, 361, 362, 363, 61,
    1740 44, 92, 40, 41, 91, 120, 93, 60, 62, 123,
    1741 125, 42, 99
    1781 355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
    1782 365, 61, 44, 92, 40, 41, 91, 120, 93, 60,
    1783 62, 123, 125, 42, 99
    17421784 };
    17431785 # endif
    17441786
    17451787 /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
    17461788 static const unsigned char yyr1[] =
    17471789 {
    1748 0, 123, 124, 124, 125, 125, 126, 126, 126, 126,
    1749 126, 127, 127, 127, 128, 128, 128, 128, 128, 128,
    1750 129, 129, 130, 130, 130, 130, 131, 131, 131, 131,
    1751 132, 132, 133, 133, 134, 134, 135, 135, 135, 135,
    1752 135, 135, 135, 135, 136, 136, 136, 136, 136, 136,
    1753 136, 136, 137, 137, 138, 138, 139, 140, 140, 141,
    1754 141, 142, 142, 143, 143, 144, 144, 145, 146, 146,
    1755 146, 146, 146, 146, 146, 146, 146, 146, 146, 146,
    1756 146, 147, 147, 147, 147, 147, 147, 147, 147, 147,
    1757 147, 148, 148, 149, 149, 149, 149, 150, 150, 150,
    1758 150, 150, 150, 150, 150, 150, 150, 150, 150, 150,
    1759 150, 150, 150, 151, 151, 151, 151, 151, 151, 151,
    1760 151, 151, 151, 152, 152, 153, 153, 154, 155, 155,
    1761 155, 155, 155, 156, 156, 156, 157, 156, 158, 156,
    1762 159, 156, 160, 156, 156, 156, 156, 161, 162, 162,
    1763 163, 163, 163, 163, 164, 165, 165, 165, 166, 166,
    1764 167, 167, 168, 169, 169, 170, 170, 170, 170, 171,
    1765 172, 172, 173, 174, 174, 175, 176, 176, 176, 178,
    1766 177, 179, 179, 180, 180, 180, 180, 180, 180, 180,
    1767 180, 180, 180, 180, 181, 181, 182, 182, 183, 184,
    1768 184, 185, 186, 186, 186, 187, 187, 187, 187, 187,
    1769 187, 187, 187, 187, 188, 188, 189, 190, 190, 191,
    1770 191, 192, 192, 193, 193, 194, 194, 194, 194, 194,
    1771 194, 194, 194, 194, 194, 194, 194, 194, 194, 194,
    1772 194, 195, 195, 196, 196, 197, 197, 197, 197, 197,
    1773 197, 197, 197
    1790 0, 125, 126, 126, 127, 127, 128, 128, 128, 128,
    1791 128, 128, 128, 129, 129, 129, 130, 130, 130, 130,
    1792 130, 130, 131, 131, 132, 132, 132, 132, 133, 133,
    1793 133, 133, 134, 134, 135, 135, 136, 136, 137, 137,
    1794 137, 137, 137, 137, 137, 137, 138, 138, 138, 138,
    1795 138, 138, 138, 138, 139, 139, 140, 140, 141, 142,
    1796 142, 143, 143, 144, 144, 145, 145, 146, 146, 147,
    1797 148, 148, 148, 148, 148, 148, 148, 148, 148, 148,
    1798 148, 148, 148, 149, 149, 149, 149, 149, 149, 149,
    1799 149, 149, 149, 150, 150, 151, 151, 151, 151, 152,
    1800 152, 152, 152, 152, 152, 152, 152, 152, 152, 152,
    1801 152, 152, 152, 152, 152, 153, 153, 153, 153, 153,
    1802 153, 153, 153, 153, 153, 154, 154, 155, 155, 156,
    1803 157, 157, 157, 157, 157, 158, 158, 158, 159, 158,
    1804 160, 158, 161, 158, 162, 158, 158, 158, 158, 163,
    1805 164, 164, 165, 165, 165, 165, 166, 167, 167, 167,
    1806 168, 168, 169, 169, 170, 171, 171, 172, 172, 172,
    1807 172, 173, 174, 174, 175, 176, 176, 177, 178, 178,
    1808 178, 180, 179, 181, 181, 182, 182, 182, 182, 182,
    1809 182, 182, 182, 182, 182, 182, 183, 183, 184, 184,
    1810 185, 186, 186, 187, 188, 188, 188, 189, 189, 189,
    1811 189, 189, 189, 189, 189, 189, 190, 190, 191, 192,
    1812 192, 193, 193, 194, 194, 195, 195, 196, 196, 196,
    1813 196, 196, 196, 196, 196, 196, 196, 196, 196, 196,
    1814 196, 196, 196, 197, 197, 198, 198, 199, 199, 199,
    1815 199, 199, 199, 199, 199
    17741816 };
    17751817
    17761818 /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
    17791821 0, 2, 1, 1, 1, 1, 1, 1, 1, 1,
    17801822 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
    17811823 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
    1782 1, 1, 1, 1, 2, 0, 1, 1, 1, 1,
    1783 1, 1, 1, 0, 0, 1, 1, 1, 1, 1,
    1784 1, 2, 0, 2, 0, 3, 2, 0, 1, 0,
    1785 3, 1, 2, 1, 1, 1, 1, 1, 1, 1,
    1824 1, 1, 1, 1, 1, 1, 2, 0, 1, 1,
    1825 1, 1, 1, 1, 1, 0, 0, 1, 1, 1,
    1826 1, 1, 1, 2, 0, 2, 0, 3, 2, 0,
    1827 1, 0, 3, 1, 2, 1, 1, 1, 1, 1,
    17861828 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
    1787 1, 1, 1, 1, 2, 4, 5, 5, 3, 2,
    1788 2, 1, 3, 1, 3, 1, 0, 4, 3, 3,
    1789 4, 4, 3, 2, 2, 2, 2, 2, 2, 2,
    1790 2, 2, 2, 6, 5, 8, 6, 6, 6, 6,
    1791 6, 8, 8, 3, 1, 1, 1, 1, 2, 2,
    1792 4, 2, 1, 4, 2, 4, 0, 7, 0, 7,
    1793 0, 7, 0, 7, 3, 4, 0, 1, 1, 1,
    1794 3, 3, 3, 3, 3, 3, 1, 0, 1, 1,
    1795 1, 0, 2, 3, 1, 1, 3, 1, 0, 8,
    1796 1, 1, 3, 1, 1, 2, 0, 1, 1, 0,
    1797 4, 0, 1, 1, 1, 1, 1, 1, 1, 1,
    1798 1, 3, 1, 5, 1, 1, 1, 1, 2, 2,
    1799 2, 3, 2, 0, 1, 2, 2, 3, 9, 9,
    1800 8, 13, 1, 1, 6, 5, 2, 6, 7, 1,
    1801 3, 1, 0, 2, 1, 5, 5, 5, 2, 4,
    1802 4, 6, 4, 4, 4, 4, 6, 6, 2, 7,
    1803 1, 2, 0, 1, 0, 3, 6, 3, 6, 2,
    1804 4, 6, 4
    1829 1, 1, 1, 1, 1, 1, 2, 4, 5, 5,
    1830 3, 2, 2, 1, 3, 1, 3, 1, 0, 4,
    1831 3, 3, 4, 4, 3, 2, 2, 2, 2, 2,
    1832 2, 2, 2, 2, 2, 6, 5, 8, 6, 6,
    1833 6, 6, 6, 8, 8, 3, 1, 1, 1, 1,
    1834 2, 2, 4, 2, 1, 4, 2, 4, 0, 7,
    1835 0, 7, 0, 7, 0, 7, 3, 4, 0, 1,
    1836 1, 1, 3, 3, 3, 3, 3, 3, 1, 0,
    1837 1, 1, 1, 0, 2, 3, 1, 1, 3, 1,
    1838 0, 8, 1, 1, 3, 1, 1, 2, 0, 1,
    1839 1, 0, 4, 0, 1, 1, 1, 1, 1, 1,
    1840 1, 1, 1, 3, 1, 5, 1, 1, 1, 1,
    1841 2, 2, 2, 3, 2, 0, 1, 2, 2, 3,
    1842 9, 9, 8, 13, 1, 1, 6, 5, 2, 6,
    1843 7, 1, 3, 1, 0, 2, 1, 5, 5, 5,
    1844 2, 4, 4, 6, 4, 4, 4, 4, 6, 6,
    1845 2, 7, 1, 2, 0, 1, 0, 3, 6, 3,
    1846 6, 2, 4, 6, 4
    18051847 };
    18061848
    18071849 /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
    18091851 means the default is an error. */
    18101852 static const unsigned char yydefact[] =
    18111853 {
    1812 146, 0, 43, 132, 1, 131, 179, 36, 37, 38,
    1813 39, 40, 41, 42, 0, 44, 203, 128, 129, 203,
    1814 158, 159, 0, 0, 0, 43, 0, 134, 176, 0,
    1815 0, 45, 46, 47, 48, 49, 50, 0, 0, 204,
    1816 200, 35, 173, 174, 175, 199, 0, 0, 0, 0,
    1817 144, 0, 0, 0, 0, 0, 0, 0, 34, 177,
    1818 178, 44, 147, 130, 51, 2, 3, 64, 68, 69,
    1819 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
    1820 80, 81, 0, 0, 0, 0, 194, 0, 0, 63,
    1821 82, 67, 195, 83, 170, 171, 172, 244, 202, 0,
    1822 0, 0, 0, 157, 145, 135, 133, 125, 126, 0,
    1823 0, 0, 0, 180, 84, 0, 0, 66, 89, 91,
    1824 0, 0, 96, 90, 243, 0, 224, 0, 0, 0,
    1825 0, 44, 212, 213, 6, 7, 8, 9, 10, 11,
    1826 12, 13, 14, 15, 16, 17, 18, 19, 0, 0,
    1827 0, 0, 0, 0, 0, 20, 21, 0, 0, 0,
    1828 0, 0, 0, 0, 0, 0, 0, 201, 44, 216,
    1829 0, 240, 152, 149, 148, 150, 151, 153, 156, 0,
    1830 140, 142, 138, 68, 69, 70, 71, 72, 73, 74,
    1831 75, 76, 77, 78, 0, 0, 0, 0, 136, 0,
    1832 0, 0, 88, 168, 95, 93, 0, 0, 228, 223,
    1833 206, 205, 0, 0, 25, 29, 24, 28, 23, 27,
    1834 22, 26, 30, 31, 0, 0, 54, 54, 249, 0,
    1835 0, 238, 0, 0, 0, 0, 0, 0, 0, 0,
    1836 0, 0, 0, 0, 0, 0, 0, 0, 154, 59,
    1837 59, 59, 110, 111, 4, 5, 108, 109, 112, 107,
    1838 103, 104, 0, 0, 0, 0, 0, 0, 0, 0,
    1839 0, 0, 0, 0, 0, 0, 106, 105, 59, 65,
    1840 65, 92, 167, 161, 164, 165, 0, 0, 85, 183,
    1841 184, 185, 190, 186, 187, 188, 189, 181, 0, 192,
    1842 197, 196, 198, 0, 207, 0, 0, 0, 245, 0,
    1843 247, 242, 0, 0, 0, 0, 0, 0, 0, 0,
    1844 0, 0, 0, 0, 0, 0, 0, 0, 0, 155,
    1845 0, 141, 143, 139, 0, 0, 0, 0, 0, 0,
    1846 98, 124, 0, 0, 102, 0, 99, 0, 0, 0,
    1847 0, 137, 86, 87, 160, 162, 0, 57, 94, 182,
    1848 0, 0, 0, 0, 0, 0, 0, 0, 0, 252,
    1849 0, 0, 230, 0, 232, 235, 0, 0, 233, 234,
    1850 0, 0, 0, 229, 0, 250, 0, 0, 0, 61,
    1851 59, 242, 0, 0, 0, 0, 0, 0, 97, 100,
    1852 101, 0, 0, 0, 0, 166, 163, 58, 52, 0,
    1853 191, 0, 0, 222, 54, 55, 54, 219, 241, 0,
    1854 0, 0, 0, 0, 225, 226, 227, 222, 0, 56,
    1855 62, 60, 0, 0, 0, 0, 0, 0, 123, 0,
    1856 0, 0, 0, 0, 169, 0, 0, 0, 221, 0,
    1857 0, 246, 248, 0, 0, 0, 231, 236, 237, 0,
    1858 251, 114, 0, 0, 0, 0, 0, 0, 0, 0,
    1859 0, 53, 193, 0, 0, 0, 220, 217, 0, 239,
    1860 113, 0, 120, 0, 0, 116, 117, 118, 119, 0,
    1861 210, 0, 0, 0, 218, 0, 0, 0, 208, 0,
    1862 209, 0, 0, 115, 121, 122, 0, 0, 0, 0,
    1863 0, 0, 215, 0, 0, 214, 211
    1854 148, 0, 45, 134, 1, 133, 181, 38, 39, 40,
    1855 41, 42, 43, 44, 0, 46, 205, 130, 131, 205,
    1856 160, 161, 0, 0, 0, 45, 0, 136, 178, 0,
    1857 0, 47, 48, 49, 50, 51, 52, 0, 0, 206,
    1858 202, 37, 175, 176, 177, 201, 0, 0, 0, 0,
    1859 146, 0, 0, 0, 0, 0, 0, 0, 36, 179,
    1860 180, 46, 149, 132, 53, 2, 3, 66, 70, 71,
    1861 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
    1862 82, 83, 0, 0, 0, 0, 196, 0, 0, 65,
    1863 84, 69, 197, 85, 172, 173, 174, 246, 204, 0,
    1864 0, 0, 0, 159, 147, 137, 135, 127, 128, 0,
    1865 0, 0, 0, 182, 86, 0, 0, 68, 91, 93,
    1866 0, 0, 98, 92, 245, 0, 226, 0, 0, 0,
    1867 0, 46, 214, 215, 6, 7, 8, 9, 10, 11,
    1868 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
    1869 0, 0, 0, 0, 0, 0, 0, 22, 23, 0,
    1870 0, 0, 0, 0, 0, 0, 0, 0, 0, 203,
    1871 46, 218, 0, 242, 154, 151, 150, 152, 153, 155,
    1872 158, 0, 142, 144, 140, 70, 71, 72, 73, 74,
    1873 75, 76, 77, 78, 79, 80, 0, 0, 0, 0,
    1874 138, 0, 0, 0, 90, 170, 97, 95, 0, 0,
    1875 230, 225, 208, 207, 0, 0, 27, 31, 26, 30,
    1876 25, 29, 24, 28, 32, 33, 0, 0, 56, 56,
    1877 251, 0, 0, 240, 0, 0, 0, 0, 0, 0,
    1878 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    1879 156, 61, 61, 61, 112, 113, 4, 5, 110, 111,
    1880 114, 109, 105, 106, 0, 0, 0, 0, 0, 0,
    1881 0, 0, 0, 0, 0, 0, 0, 0, 108, 107,
    1882 61, 67, 67, 94, 169, 163, 166, 167, 0, 0,
    1883 87, 185, 186, 187, 192, 188, 189, 190, 191, 183,
    1884 0, 194, 199, 198, 200, 0, 209, 0, 0, 0,
    1885 247, 0, 249, 244, 0, 0, 0, 0, 0, 0,
    1886 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    1887 0, 157, 0, 143, 145, 141, 0, 0, 0, 0,
    1888 0, 0, 100, 126, 0, 0, 104, 0, 101, 0,
    1889 0, 0, 0, 139, 88, 89, 162, 164, 0, 59,
    1890 96, 184, 0, 0, 0, 0, 0, 0, 0, 0,
    1891 0, 254, 0, 0, 232, 0, 234, 237, 0, 0,
    1892 235, 236, 0, 0, 0, 231, 0, 252, 0, 0,
    1893 0, 63, 61, 244, 0, 0, 0, 0, 0, 0,
    1894 99, 102, 103, 0, 0, 0, 0, 168, 165, 60,
    1895 54, 0, 193, 0, 0, 224, 56, 57, 56, 221,
    1896 243, 0, 0, 0, 0, 0, 227, 228, 229, 224,
    1897 0, 58, 64, 62, 0, 0, 0, 0, 0, 0,
    1898 125, 0, 0, 0, 0, 0, 171, 0, 0, 0,
    1899 223, 0, 0, 248, 250, 0, 0, 0, 233, 238,
    1900 239, 0, 253, 116, 0, 0, 0, 0, 0, 0,
    1901 0, 0, 0, 55, 195, 0, 0, 0, 222, 219,
    1902 0, 241, 115, 0, 122, 0, 0, 118, 119, 120,
    1903 121, 0, 212, 0, 0, 0, 220, 0, 0, 0,
    1904 210, 0, 211, 0, 0, 117, 123, 124, 0, 0,
    1905 0, 0, 0, 0, 217, 0, 0, 216, 213
    18641906 };
    18651907
    18661908 /* YYDEFGOTO[NTERM-NUM]. */
    18671909 static const short int yydefgoto[] =
    18681910 {
    1869 -1, 86, 256, 272, 273, 274, 275, 194, 195, 224,
    1870 196, 25, 15, 37, 444, 308, 389, 408, 331, 390,
    1871 87, 88, 197, 90, 91, 120, 206, 341, 299, 342,
    1872 109, 1, 2, 3, 278, 251, 249, 250, 63, 175,
    1873 50, 104, 179, 92, 355, 284, 285, 286, 38, 96,
    1874 16, 44, 17, 61, 18, 28, 360, 300, 93, 302,
    1875 417, 19, 40, 41, 167, 492, 98, 231, 448, 449,
    1876 168, 169, 369, 170, 171
    1911 -1, 86, 258, 274, 275, 276, 277, 196, 197, 226,
    1912 198, 25, 15, 37, 446, 310, 391, 410, 333, 392,
    1913 87, 88, 199, 90, 91, 120, 208, 343, 301, 344,
    1914 109, 1, 2, 3, 280, 253, 251, 252, 63, 177,
    1915 50, 104, 181, 92, 357, 286, 287, 288, 38, 96,
    1916 16, 44, 17, 61, 18, 28, 362, 302, 93, 304,
    1917 419, 19, 40, 41, 169, 494, 98, 233, 450, 451,
    1918 170, 171, 371, 172, 173
    18771919 };
    18781920
    18791921 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
    18801922 STATE-NUM. */
    1881 #define YYPACT_NINF -410
    1923 #define YYPACT_NINF -463
    18821924 static const short int yypact[] =
    18831925 {
    1884 -410, 17, 118, 605, -410, -410, -410, -410, -410, -410,
    1885 -410, -410, -410, -410, 24, 160, 67, -410, -410, -15,
    1886 -410, -410, 27, -5, 46, -6, 10, -410, 86, 147,
    1887 138, -410, -410, -410, -410, -410, -410, 1060, -20, -410,
    1888 -410, 110, -410, -410, -410, -410, 69, 70, 72, 73,
    1889 -410, 63, 147, 1060, 68, 68, 68, 68, -410, -410,
    1890 -410, 160, -410, -410, -410, -410, -410, 64, -410, -410,
    1891 -410, -410, -410, -410, -410, -410, -410, -410, -410, -410,
    1892 -410, -410, 182, 183, 186, 572, -410, 110, 77, -410,
    1893 -410, -28, -410, -410, -410, -410, -410, 1231, -410, 168,
    1894 83, 199, 180, 181, -410, -410, -410, -410, -410, 1101,
    1895 1101, 1101, 1142, -410, -410, 91, 96, -410, -410, -28,
    1896 -98, 103, 852, -410, -410, 1101, -410, 157, 1183, 50,
    1897 185, 160, -410, -410, -410, -410, -410, -410, -410, -410,
    1898 -410, -410, -410, -410, -410, -410, -410, -410, 1101, 1101,
    1899 1101, 1101, 1101, 1101, 1101, -410, -410, 1101, 1101, 1101,
    1900 1101, 1101, 1101, 1101, 1101, 1101, 1101, -410, 160, -410,
    1901 49, -410, -410, -410, -410, -410, -410, -410, -410, -14,
    1902 -410, -410, -410, 120, 148, 213, 150, 214, 154, 215,
    1903 166, 217, 224, 231, 170, 218, 232, 425, -410, 1101,
    1904 1101, 1101, -410, 893, -410, 130, 128, 638, -410, -410,
    1905 64, -410, 638, 638, -410, -410, -410, -410, -410, -410,
    1906 -410, -410, -410, -410, 638, 1060, 132, 133, -410, 638,
    1907 136, 134, 216, 141, 143, 144, 146, 149, 151, 152,
    1908 638, 638, 638, 153, 1060, 1101, 1101, 233, -410, 155,
    1909 155, 155, -410, -410, -410, -410, -410, -410, -410, -410,
    1910 -410, -410, 156, 159, 161, 164, 175, 177, 934, 1142,
    1911 592, 234, 178, 184, 187, 188, -410, -410, 155, -70,
    1912 -35, -28, -410, 110, -410, 162, 179, 978, -410, -410,
    1913 -410, -410, -410, -410, -410, -410, -410, 197, 1142, -410,
    1914 -410, -410, -410, 191, -410, 195, 638, 3, -410, 18,
    1915 -410, 196, 638, 193, 1101, 1101, 1101, 1101, 1101, 1101,
    1916 1101, 1101, 201, 202, 203, 1101, 638, 638, 205, -410,
    1917 13, -410, -410, -410, 1142, 1142, 1142, 1142, 1142, 1142,
    1918 -410, -410, -13, -99, -410, -78, -410, 1142, 1142, 1142,
    1919 1142, -410, -410, -410, -410, -410, 1019, 230, -410, -410,
    1920 242, -23, 246, 272, 208, 638, 290, 638, 1101, -410,
    1921 211, 638, -410, 212, -410, -410, 219, 220, -410, -410,
    1922 638, 638, 638, -410, 229, -410, 1101, 273, 294, -410,
    1923 155, 196, 291, 226, 237, 240, 241, 1142, -410, -410,
    1924 -410, 243, 247, 248, 249, -410, -410, -410, 252, 250,
    1925 -410, 638, 638, 1101, 251, -410, 251, -410, 255, 638,
    1926 256, 1101, 1101, 1101, -410, -410, -410, 1101, 638, -410,
    1927 -410, -410, 239, 1101, 1142, 1142, 1142, 1142, -410, 1142,
    1928 1142, 1142, 1142, 322, -410, 304, 257, 228, 255, 259,
    1929 286, -410, -410, 1101, 253, 638, -410, -410, -410, 260,
    1930 -410, -410, 262, 267, 265, 270, 277, 278, 279, 280,
    1931 281, -410, -410, 323, 14, 320, -410, -410, 254, -410,
    1932 -410, 1142, -410, 1142, 1142, -410, -410, -410, -410, 638,
    1933 -410, 742, 52, 362, -410, 282, 284, 287, -410, 289,
    1934 -410, 742, 638, -410, -410, -410, 380, 292, 327, 638,
    1935 383, 384, -410, 638, 638, -410, -410
    1926 -463, 42, 182, 621, -463, -463, -463, -463, -463, -463,
    1927 -463, -463, -463, -463, -15, 347, 64, -463, -463, -12,
    1928 -463, -463, 15, 1, 33, 360, 10, -463, 89, 114,
    1929 140, -463, -463, -463, -463, -463, -463, 1005, -1, -463,
    1930 -463, 115, -463, -463, -463, -463, 40, 56, 67, 68,
    1931 -463, 59, 114, 1005, 51, 51, 51, 51, -463, -463,
    1932 -463, 347, -463, -463, -463, -463, -463, 66, -463, -463,
    1933 -463, -463, -463, -463, -463, -463, -463, -463, -463, -463,
    1934 -463, -463, 172, 177, 180, 489, -463, 115, 74, -463,
    1935 -463, -97, -463, -463, -463, -463, -463, 1178, -463, 165,
    1936 -17, 188, 170, 171, -463, -463, -463, -463, -463, 1046,
    1937 1046, 1046, 1087, -463, -463, 80, 81, -463, -463, -97,
    1938 -91, 85, 838, -463, -463, 1046, -463, 142, 1128, 6,
    1939 248, 347, -463, -463, -463, -463, -463, -463, -463, -463,
    1940 -463, -463, -463, -463, -463, -463, -463, -463, -463, -463,
    1941 1046, 1046, 1046, 1046, 1046, 1046, 1046, -463, -463, 1046,
    1942 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, -463,
    1943 347, -463, 35, -463, -463, -463, -463, -463, -463, -463,
    1944 -463, -48, -463, -463, -463, 113, 146, 198, 150, 200,
    1945 152, 213, 167, 214, 212, 223, 169, 216, 224, 443,
    1946 -463, 1046, 1046, 1046, -463, 879, -463, 109, 117, 620,
    1947 -463, -463, 66, -463, 620, 620, -463, -463, -463, -463,
    1948 -463, -463, -463, -463, -463, -463, 620, 1005, 128, 129,
    1949 -463, 620, 126, 131, 209, 134, 141, 143, 144, 154,
    1950 156, 157, 620, 620, 620, 158, 1005, 1046, 1046, 228,
    1951 -463, 161, 161, 161, -463, -463, -463, -463, -463, -463,
    1952 -463, -463, -463, -463, 160, 164, 175, 178, 181, 184,
    1953 87, 1087, 574, 230, 185, 186, 187, 189, -463, -463,
    1954 161, -33, -101, -97, -463, 115, -463, 163, 176, 923,
    1955 -463, -463, -463, -463, -463, -463, -463, -463, -463, 231,
    1956 1087, -463, -463, -463, -463, 190, -463, 195, 620, -9,
    1957 -463, -8, -463, 196, 620, 193, 1046, 1046, 1046, 1046,
    1958 1046, 1046, 1046, 1046, 199, 201, 202, 1046, 620, 620,
    1959 203, -463, -22, -463, -463, -463, 1087, 1087, 1087, 1087,
    1960 1087, 1087, -463, -463, -47, -79, -463, -82, -463, 1087,
    1961 1087, 1087, 1087, -463, -463, -463, -463, -463, 964, 262,
    1962 -463, -463, 293, -75, 301, 302, 210, 620, 324, 620,
    1963 1046, -463, 217, 620, -463, 218, -463, -463, 219, 220,
    1964 -463, -463, 620, 620, 620, -463, 229, -463, 1046, 314,
    1965 340, -463, 161, 196, 309, 234, 237, 240, 241, 1087,
    1966 -463, -463, -463, 242, 243, 246, 247, -463, -463, -463,
    1967 303, 249, -463, 620, 620, 1046, 250, -463, 250, -463,
    1968 251, 620, 255, 1046, 1046, 1046, -463, -463, -463, 1046,
    1969 620, -463, -463, -463, 253, 1046, 1087, 1087, 1087, 1087,
    1970 -463, 1087, 1087, 1087, 1087, 365, -463, 348, 259, 258,
    1971 251, 260, 320, -463, -463, 1046, 261, 620, -463, -463,
    1972 -463, 267, -463, -463, 270, 277, 278, 282, 283, 281,
    1973 284, 294, 304, -463, -463, 376, 65, 372, -463, -463,
    1974 305, -463, -463, 1087, -463, 1087, 1087, -463, -463, -463,
    1975 -463, 620, -463, 726, 149, 399, -463, 306, 307, 310,
    1976 -463, 312, -463, 726, 620, -463, -463, -463, 405, 315,
    1977 352, 620, 409, 411, -463, 620, 620, -463, -463
    19361978 };
    19371979
    19381980 /* YYPGOTO[NTERM-NUM]. */
    19391981 static const short int yypgoto[] =
    19401982 {
    1941 -410, -410, -410, 309, 310, 311, 312, -129, -128, -398,
    1942 -410, 369, 386, -118, -410, -223, 55, -410, -244, -410,
    1943 -50, -410, -37, -410, -64, 293, -410, -102, 221, -192,
    1944 53, -410, -410, -410, -410, -410, -410, -410, 361, -410,
    1945 -410, -410, -410, 2, -410, 58, -410, -410, 356, -410,
    1946 -410, -410, -410, -410, 416, -410, -410, -409, -57, 62,
    1947 -105, -410, 401, -410, -410, -410, -410, -410, 54, -4,
    1948 -410, -410, 30, -410, -410
    1983 -463, -463, -463, 336, 339, 341, 342, -129, -128, -462,
    1984 -463, 396, 415, -118, -463, -225, 82, -463, -244, -463,
    1985 -50, -463, -37, -463, -56, 321, -463, -102, 252, -247,
    1986 5, -463, -463, -463, -463, -463, -463, -463, 390, -463,
    1987 -463, -463, -463, 2, -463, 92, -463, -463, 391, -463,
    1988 -463, -463, -463, -463, 450, -463, -463, -459, -57, 62,
    1989 -105, -463, 436, -463, -463, -463, -463, -463, 86, 28,
    1990 -463, -463, 69, -463, -463
    19491991 };
    19501992
    19511993 /* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If
    19521994 positive, shift that token. If negative, reduce the rule which
    19531995 number is the opposite. If zero, do what YYDEFACT says.
    19541996 If YYTABLE_NINF, syntax error. */
    1955 #define YYTABLE_NINF -128
    1997 #define YYTABLE_NINF -130
    19561998 static const short int yytable[] =
    19571999 {
    1958 89, 222, 223, 106, 310, 26, 332, 333, 39, 94,
    1959 198, 397, 201, 225, 53, 42, 89, 4, 365, 399,
    1960 208, 119, 202, 211, 214, 215, 216, 217, 218, 219,
    1961 220, 221, 397, 367, 351, 7, 8, 9, 10, 54,
    1962 12, 55, 400, 26, 56, 228, 352, 387, 232, 233,
    1963 244, 123, 234, 235, 236, 237, 238, 239, 119, 212,
    1964 366, 243, 214, 215, 216, 217, 218, 219, 220, 221,
    1965 388, 213, 180, 181, 182, 366, 491, 343, 345, 46,
    1966 47, 48, 499, 353, -65, 29, 123, 397, 207, 121,
    1967 39, 207, 507, 123, 501, 410, 247, 397, 49, 95,
    1968 107, 108, 248, 398, 51, 43, 361, 52, 110, 111,
    1969 112, 226, 227, 207, 229, 230, 207, 207, -127, 58,
    1970 207, 207, 207, 207, 207, 207, 240, 241, 242, 207,
    1971 490, 59, 20, 60, 21, 279, 280, 281, 173, 174,
    1972 277, 328, 64, 5, 245, 246, 431, 252, 253, 6,
    1973 301, -25, -25, -24, -24, 301, 301, -23, -23, 7,
    1974 8, 9, 10, 11, 12, 13, 283, 301, 500, -22,
    1975 -22, 62, 301, 254, 255, 306, -66, 103, 99, 100,
    1976 14, 101, 102, 301, 301, 301, 114, 115, 89, 122,
    1977 116, 451, 172, 452, 326, 214, 215, 216, 217, 218,
    1978 219, 220, 221, 176, 177, 178, 199, 89, 327, 207,
    1979 373, 200, 375, 376, 377, 203, 209, -29, -28, -27,
    1980 383, -26, 257, 281, 30, 31, 32, 33, 34, 35,
    1981 36, -32, 391, 392, 393, 394, 395, 396, -33, 258,
    1982 287, 288, 307, 309, 313, 401, 402, 403, 404, 301,
    1983 312, 315, 314, 316, 317, 301, 318, 329, 346, 319,
    1984 359, 320, 321, 325, 387, 330, 409, 411, 334, 301,
    1985 301, 335, 356, 336, 303, 304, 337, 372, 207, 374,
    1986 207, 207, 207, 378, 379, 354, 305, 338, 207, 339,
    1987 347, 311, 357, 412, 415, 438, 348, 429, 430, 349,
    1988 350, 362, 322, 323, 324, 363, 368, 371, 301, 443,
    1989 301, 380, 381, 382, 301, 386, 456, 457, 458, 283,
    1990 413, 419, 421, 301, 301, 301, 471, 433, 472, 422,
    1991 423, 207, 463, 464, 465, 466, 434, 467, 468, 469,
    1992 470, 427, 474, 366, 489, 222, 223, 435, 476, 428,
    1993 436, 437, 461, 439, 301, 301, 493, 440, 441, 442,
    1994 445, 450, 301, 222, 223, 453, 455, 473, 364, 477,
    1995 494, 301, 475, 479, 370, 480, 207, 481, 482, 495,
    1996 483, 496, 497, 502, 207, 207, 207, 484, 384, 385,
    1997 207, 485, 486, 487, 488, 503, 462, 504, 301, 506,
    1998 505, 509, 510, 511, 513, 514, 163, 164, 165, 166,
    1999 97, 57, 407, 105, 406, 205, 207, 113, 276, 27,
    2000 45, 432, 418, 459, 0, 0, 0, 414, 0, 416,
    2001 65, 66, 301, 420, 0, 0, 0, 0, 0, 0,
    2002 0, 0, 424, 425, 426, 301, 0, 20, 0, 21,
    2003 0, 259, 301, 0, 0, 0, 301, 301, 0, 0,
    2004 0, 0, 0, 260, 261, 0, 0, 0, 0, 0,
    2005 0, 0, 0, 446, 447, 0, 0, 0, 0, 0,
    2006 0, 454, 0, 0, 0, 0, 0, 0, 0, 0,
    2007 460, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    2008 0, 0, 0, 134, 135, 136, 137, 138, 139, 140,
    2009 141, 142, 143, 144, 145, 146, 147, 478, 0, 0,
    2010 0, 0, 262, 0, 263, 264, 155, 156, 0, 265,
    2011 266, 267, 0, 0, 0, 0, 0, 0, 0, 268,
    2012 0, 0, 269, 0, 270, 0, 0, 271, 0, 0,
    2013 0, 498, 0, 0, 0, 0, 0, 0, 0, 0,
    2014 0, 0, 0, 0, 508, 0, 0, 0, 0, 0,
    2015 0, 512, 0, 0, 0, 515, 516, 65, 66, 0,
    2016 117, 68, 69, 70, 71, 72, 73, 74, 75, 76,
    2017 77, 78, 79, 80, 20, 0, 21, 65, 66, 0,
    2018 117, 183, 184, 185, 186, 187, 188, 189, 190, 191,
    2019 192, 193, 79, 80, 20, 0, 21, 0, 0, 0,
    2020 81, 0, 0, 0, 0, -35, 0, 20, 0, 21,
    2021 0, 0, 0, 0, 0, 0, 6, -35, -35, 0,
    2022 81, 289, 290, 65, 66, 291, -35, -35, -35, -35,
    2023 -35, -35, -35, 0, 0, -35, 22, 0, 0, 0,
    2024 20, 0, 21, 23, 292, 293, 294, 24, 0, 0,
    2025 0, 0, 0, 0, 0, 0, 295, 296, 0, 0,
    2026 0, 0, 0, 82, 0, 0, 83, 0, 0, 84,
    2027 0, 85, 118, 0, 0, 0, 0, 0, 0, 297,
    2028 0, 0, 0, 82, 0, 0, 83, 0, 0, 84,
    2029 0, 85, 344, 0, 0, 0, 134, 135, 136, 137,
    2030 138, 139, 140, 141, 142, 143, 144, 145, 146, 147,
    2031 0, 0, 0, 0, 0, 262, 0, 263, 264, 155,
    2032 156, 0, 265, 266, 267, 289, 290, 0, 0, 291,
    2033 0, 0, 0, 0, 0, 298, 0, 0, 0, 0,
    2034 0, 0, 0, 0, 0, 0, 0, 0, 292, 293,
    2035 294, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    2036 295, 296, 0, 0, 0, 0, 0, 0, 0, 0,
    2000 89, 224, 225, 106, 312, 26, 367, 369, 334, 335,
    2001 200, 39, 389, 227, 493, 214, 89, -67, 42, 355,
    2002 210, 203, 123, 213, 345, 347, 123, 215, 94, 119,
    2003 399, 204, 503, 399, 501, 390, 353, 399, 175, 176,
    2004 402, 401, 4, 26, 509, 412, 29, 230, 368, 368,
    2005 234, 235, 246, 363, 236, 237, 238, 239, 240, 241,
    2006 110, 111, 112, 245, 249, 399, 119, 46, 47, 48,
    2007 250, 400, 182, 183, 184, 216, 217, 218, 219, 220,
    2008 221, 222, 223, 107, 108, 354, 49, 39, 209, 121,
    2009 123, 209, 65, 66, 52, 117, 185, 186, 187, 188,
    2010 189, 190, 191, 192, 193, 194, 195, 79, 80, 20,
    2011 43, 21, 51, 228, 229, 209, 231, 232, 209, 209,
    2012 95, 58, 209, 209, 209, 209, 209, 209, 242, 243,
    2013 244, 209, 247, 248, 59, 81, 60, 20, 62, 21,
    2014 254, 255, 279, 330, 64, 281, 282, 283, 433, -27,
    2015 -27, 99, 303, -26, -26, -25, -25, 303, 303, 216,
    2016 217, 218, 219, 220, 221, 222, 223, 100, 285, 303,
    2017 -24, -24, 256, 257, 303, 103, 114, 308, 101, 102,
    2018 -68, 115, -129, 492, 116, 303, 303, 303, 122, 174,
    2019 89, 453, 178, 454, 179, 180, 328, 201, 202, 205,
    2020 82, 211, -31, 83, -30, 342, 84, 5, 85, 89,
    2021 329, 209, 375, 6, 377, 378, 379, -29, -28, -34,
    2022 259, 289, 385, 7, 8, 9, 10, 11, 12, 13,
    2023 -35, 260, 290, 283, 393, 394, 395, 396, 397, 398,
    2024 309, 311, 314, 315, 14, 316, 317, 403, 404, 405,
    2025 406, 303, 331, 318, 348, 319, 320, 303, 216, 217,
    2026 218, 219, 220, 221, 222, 223, 321, 502, 322, 323,
    2027 327, 303, 303, 332, 336, 358, 305, 306, 337, 374,
    2028 209, 376, 209, 209, 209, 380, 381, 356, 307, 338,
    2029 209, 359, 339, 313, 361, 340, 389, 440, 341, 349,
    2030 350, 351, 364, 352, 324, 325, 326, 365, 370, 373,
    2031 303, 382, 303, 383, 384, 388, 303, 411, 458, 459,
    2032 460, 285, 413, 414, 415, 303, 303, 303, 417, 421,
    2033 423, 424, 425, 209, 465, 466, 467, 468, 431, 469,
    2034 470, 471, 472, 429, 432, 435, 436, 224, 225, 437,
    2035 478, 430, 438, 439, 441, 442, 303, 303, 443, 444,
    2036 445, 447, 452, 455, 303, 224, 225, 457, 463, 473,
    2037 366, 475, 474, 303, 476, 477, 372, 368, 209, 479,
    2038 53, 497, 481, 498, 499, 482, 209, 209, 209, 483,
    2039 386, 387, 209, 484, 485, 486, 487, 491, 464, 488,
    2040 303, 7, 8, 9, 10, 54, 12, 55, 495, 489,
    2041 56, 30, 31, 32, 33, 34, 35, 36, 209, 490,
    2042 504, 505, 506, 496, 508, 507, 511, 512, 513, 416,
    2043 515, 418, 516, 165, 303, 422, 166, 97, 167, 168,
    2044 57, 409, 105, 207, 426, 427, 428, 303, 65, 66,
    2045 408, 278, 113, 27, 303, 45, 420, 461, 303, 303,
    2046 0, 0, 434, 0, 0, 20, 0, 21, 0, 261,
    2047 0, 0, 0, 0, 0, 448, 449, 0, 0, 0,
    2048 0, 262, 263, 456, 0, 0, 0, 0, 0, 0,
    2049 0, 0, 462, 0, 65, 66, 0, 117, 68, 69,
    2050 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
    2051 80, 20, 0, 21, 0, 0, 0, 0, 0, 480,
    2052 0, 134, 135, 136, 137, 138, 139, 140, 141, 142,
    2053 143, 144, 145, 146, 147, 148, 149, 81, 0, 0,
    2054 0, 0, 264, 0, 265, 266, 157, 158, 0, 267,
    2055 268, 269, 0, 500, 0, 0, 0, 0, 0, 270,
    2056 0, 0, 271, 0, 272, 0, 510, 273, 0, 0,
    2057 0, 0, 0, 514, 0, 0, 0, 517, 518, 65,
    2058 66, 0, 117, 185, 186, 187, 188, 189, 190, 191,
    2059 192, 193, 194, 195, 79, 80, 20, 0, 21, 0,
    2060 0, 0, 82, 0, 0, 83, 0, 0, 84, 0,
    2061 85, 118, 0, 0, 0, 0, 0, 0, 0, 0,
    2062 0, 0, 81, 291, 292, 65, 66, 293, 0, 0,
    20372063 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    2038 0, 0, 0, 297, 0, 0, 0, 0, 0, 0,
    2064 0, -37, 20, 20, 21, 21, 294, 295, 296, 0,
    2065 0, 0, 6, -37, -37, 0, 0, 0, 297, 298,
    2066 0, 0, -37, -37, -37, -37, -37, -37, -37, 0,
    2067 0, -37, 22, 0, 0, 0, 0, 0, 0, 23,
    2068 0, 299, 0, 24, 0, 0, 0, 82, 0, 0,
    2069 83, 0, 0, 84, 0, 85, 346, 0, 134, 135,
    2070 136, 137, 138, 139, 140, 141, 142, 143, 144, 145,
    2071 146, 147, 148, 149, 0, 0, 0, 0, 0, 264,
    2072 0, 265, 266, 157, 158, 0, 267, 268, 269, 291,
    2073 292, 0, 0, 293, 0, 0, 0, 0, 0, 300,
    20392074 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    2040 134, 135, 136, 137, 138, 139, 140, 141, 142, 143,
    2041 144, 145, 146, 147, 0, 0, 0, 0, 0, 262,
    2042 0, 263, 264, 155, 156, 0, 265, 266, 267, 0,
    2043 0, 0, 0, 0, 0, 0, 0, 65, 66, 298,
    2044 117, 68, 69, 70, 71, 72, 73, 74, 75, 76,
    2045 77, 78, 79, 80, 20, 0, 21, 0, 0, 0,
    2046 0, 0, 0, 0, 0, 0, 0, 0, 0, 204,
    2047 0, 0, 0, 0, 0, 0, 0, 0, 65, 66,
    2048 81, 117, 68, 69, 70, 71, 72, 73, 74, 75,
    2049 76, 77, 78, 79, 80, 20, 0, 21, 0, 0,
    2075 0, 0, 294, 295, 296, 0, 0, 0, 0, 0,
    2076 0, 0, 0, 0, 297, 298, 0, 0, 0, 0,
    20502077 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    2051 282, 0, 0, 0, 0, 0, 0, 0, 0, 65,
    2052 66, 81, 117, 183, 184, 185, 186, 187, 188, 189,
    2053 190, 191, 192, 193, 79, 80, 20, 0, 21, 0,
    2054 0, 0, 0, 82, 0, 0, 83, 0, 0, 84,
    2055 0, 85, 0, 0, 0, 0, 0, 0, 0, 0,
    2056 0, 0, 81, 65, 66, 0, 117, 68, 69, 70,
    2078 0, 0, 0, 0, 0, 0, 0, 299, 0, 0,
    2079 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    2080 0, 0, 0, 0, 134, 135, 136, 137, 138, 139,
    2081 140, 141, 142, 143, 144, 145, 146, 147, 148, 149,
    2082 0, 0, 0, 0, 0, 264, 0, 265, 266, 157,
    2083 158, 0, 267, 268, 269, 0, 0, 0, 0, 0,
    2084 0, 0, 0, 65, 66, 300, 117, 68, 69, 70,
    20572085 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
    2058 20, 0, 21, 0, 82, 0, 0, 83, 0, 0,
    2059 84, 0, 85, 0, 0, 358, 0, 0, 0, 0,
    2086 20, 0, 21, 0, 0, 0, 0, 0, 0, 0,
    2087 0, 0, 0, 0, 0, 206, 0, 0, 0, 0,
    20602088 0, 0, 0, 0, 65, 66, 81, 117, 68, 69,
    20612089 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
    2062 80, 20, 0, 21, 0, 82, 0, 0, 83, 0,
    2063 340, 84, 0, 85, 0, 0, 405, 0, 0, 0,
    2064 0, 0, 0, 0, 0, 65, 66, 81, 67, 68,
    2065 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
    2066 79, 80, 20, 0, 21, 0, 0, 0, 0, 82,
    2090 80, 20, 0, 21, 0, 0, 0, 0, 0, 0,
    2091 0, 0, 0, 0, 0, 0, 284, 0, 0, 0,
    2092 0, 0, 0, 0, 0, 0, 0, 81, 65, 66,
    2093 0, 117, 68, 69, 70, 71, 72, 73, 74, 75,
    2094 76, 77, 78, 79, 80, 20, 0, 21, 0, 0,
    2095 0, 82, 0, 0, 83, 0, 0, 84, 0, 85,
    2096 360, 0, 0, 0, 0, 0, 0, 0, 0, 65,
    2097 66, 81, 117, 68, 69, 70, 71, 72, 73, 74,
    2098 75, 76, 77, 78, 79, 80, 20, 0, 21, 0,
    2099 0, 0, 82, 0, 0, 83, 0, 0, 84, 0,
    2100 85, 407, 0, 0, 0, 0, 0, 0, 0, 0,
    2101 65, 66, 81, 67, 68, 69, 70, 71, 72, 73,
    2102 74, 75, 76, 77, 78, 79, 80, 20, 0, 21,
    2103 0, 0, 0, 0, 0, 0, 82, 0, 0, 83,
    2104 0, 0, 84, 0, 85, 0, 0, 0, 0, 0,
    2105 0, 65, 66, 81, 117, 68, 69, 70, 71, 72,
    2106 73, 74, 75, 76, 77, 78, 79, 80, 20, 0,
    2107 21, 0, 0, 0, 0, 0, 0, 82, 0, 0,
    2108 83, 0, 0, 84, 0, 85, 0, 0, 0, 0,
    2109 0, 0, 65, 66, 81, 117, 185, 186, 187, 188,
    2110 189, 190, 191, 192, 193, 194, 195, 79, 80, 20,
    2111 0, 21, 0, 0, 0, 0, 0, 0, 82, 0,
    2112 0, 83, 0, 0, 84, 0, 85, 0, 0, 0,
    2113 0, 0, 0, 65, 66, 81, 212, 68, 69, 70,
    2114 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
    2115 20, 0, 21, 0, 0, 0, 0, 0, 0, 82,
    20672116 0, 0, 83, 0, 0, 84, 0, 85, 0, 0,
    2068 0, 0, 0, 0, 0, 0, 65, 66, 81, 117,
    2069 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
    2070 78, 79, 80, 20, 0, 21, 0, 0, 0, 0,
    2117 0, 0, 0, 0, 0, 0, 81, 0, 0, 0,
    2118 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    2119 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    20712120 82, 0, 0, 83, 0, 0, 84, 0, 85, 0,
    2072 0, 0, 0, 0, 0, 0, 0, 65, 66, 81,
    2073 117, 183, 184, 185, 186, 187, 188, 189, 190, 191,
    2074 192, 193, 79, 80, 20, 0, 21, 0, 0, 0,
    2121 0, 0, 0, 124, 0, 0, 0, 0, 0, 0,
    2122 0, 0, 0, 0, 0, 0, 0, 125, 0, 0,
    2123 0, 0, 0, 0, 0, 0, 0, 126, 127, 0,
    20752124 0, 82, 0, 0, 83, 0, 0, 84, 0, 85,
    2076 0, 0, 0, 0, 0, 0, 0, 0, 65, 66,
    2077 81, 210, 68, 69, 70, 71, 72, 73, 74, 75,
    2078 76, 77, 78, 79, 80, 20, 0, 21, 0, 0,
    2079 0, 0, 82, 0, 0, 83, 0, 0, 84, 0,
    2080 85, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    2081 0, 81, 0, 0, 0, 0, 0, 0, 0, 0,
    2082 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    2083 0, 0, 0, 82, 0, 0, 83, 0, 0, 84,
    2084 0, 85, 0, 0, 0, 0, 124, 0, 0, 0,
    2085 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    2086 125, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    2087 126, 127, 0, 0, 82, 0, 0, 83, 0, 0,
    2088 84, 0, 85, 128, 129, 130, 131, 132, 133, 134,
    2089 135, 136, 137, 138, 139, 140, 141, 142, 143, 144,
    2090 145, 146, 147, 148, 149, 150, 0, 0, 151, 152,
    2091 153, 154, 155, 156, 157, 158, 159, 160, 161, 162
    2125 128, 129, 130, 131, 132, 133, 134, 135, 136, 137,
    2126 138, 139, 140, 141, 142, 143, 144, 145, 146, 147,
    2127 148, 149, 150, 151, 152, 0, 0, 153, 154, 155,
    2128 156, 157, 158, 159, 160, 161, 162, 163, 164
    20922129 };
    20932130
    20942131 static const short int yycheck[] =
    20952132 {
    2096 37, 130, 130, 53, 227, 3, 250, 251, 23, 29,
    2097 112, 110, 110, 131, 20, 30, 53, 0, 15, 118,
    2098 125, 85, 120, 128, 10, 11, 12, 13, 14, 15,
    2099 16, 17, 110, 15, 278, 41, 42, 43, 44, 45,
    2100 46, 47, 120, 41, 50, 150, 116, 34, 153, 154,
    2101 168, 121, 157, 158, 159, 160, 161, 162, 122, 9,
    2102 57, 166, 10, 11, 12, 13, 14, 15, 16, 17,
    2103 57, 21, 109, 110, 111, 57, 474, 269, 270, 52,
    2104 53, 54, 491, 118, 112, 61, 121, 110, 125, 87,
    2105 23, 128, 501, 121, 492, 118, 110, 110, 71, 119,
    2106 32, 33, 116, 116, 109, 120, 298, 61, 55, 56,
    2107 57, 148, 149, 150, 151, 152, 153, 154, 0, 109,
    2108 157, 158, 159, 160, 161, 162, 163, 164, 165, 166,
    2109 116, 45, 22, 47, 24, 199, 200, 201, 55, 56,
    2110 197, 246, 4, 25, 95, 96, 390, 27, 28, 31,
    2111 207, 3, 4, 3, 4, 212, 213, 3, 4, 41,
    2112 42, 43, 44, 45, 46, 47, 203, 224, 116, 3,
    2113 4, 24, 229, 3, 4, 225, 112, 114, 109, 109,
    2114 62, 109, 109, 240, 241, 242, 4, 4, 225, 112,
    2115 4, 414, 24, 416, 244, 10, 11, 12, 13, 14,
    2116 15, 16, 17, 4, 24, 24, 115, 244, 245, 246,
    2117 315, 115, 317, 318, 319, 112, 59, 4, 4, 4,
    2118 325, 4, 4, 287, 64, 65, 66, 67, 68, 69,
    2119 70, 7, 334, 335, 336, 337, 338, 339, 7, 7,
    2120 110, 113, 110, 110, 110, 347, 348, 349, 350, 306,
    2121 114, 110, 36, 110, 110, 312, 110, 24, 24, 110,
    2122 63, 110, 110, 110, 34, 110, 24, 21, 112, 326,
    2123 327, 112, 110, 112, 212, 213, 112, 314, 315, 316,
    2124 317, 318, 319, 320, 321, 283, 224, 112, 325, 112,
    2125 112, 229, 113, 21, 4, 397, 112, 24, 4, 112,
    2126 112, 110, 240, 241, 242, 110, 110, 114, 365, 57,
    2127 367, 110, 110, 110, 371, 110, 421, 422, 423, 356,
    2128 112, 110, 110, 380, 381, 382, 4, 36, 24, 110,
    2129 110, 368, 434, 435, 436, 437, 110, 439, 440, 441,
    2130 442, 112, 114, 57, 21, 474, 474, 110, 453, 386,
    2131 110, 110, 113, 110, 411, 412, 36, 110, 110, 110,
    2132 110, 110, 419, 492, 492, 110, 110, 110, 306, 116,
    2133 116, 428, 113, 113, 312, 113, 413, 110, 113, 481,
    2134 110, 483, 484, 21, 421, 422, 423, 110, 326, 327,
    2135 427, 113, 113, 113, 113, 113, 433, 113, 455, 110,
    2136 113, 21, 110, 76, 21, 21, 97, 97, 97, 97,
    2137 41, 25, 357, 52, 356, 122, 453, 61, 197, 3,
    2138 19, 391, 368, 427, -1, -1, -1, 365, -1, 367,
    2139 5, 6, 489, 371, -1, -1, -1, -1, -1, -1,
    2140 -1, -1, 380, 381, 382, 502, -1, 22, -1, 24,
    2141 -1, 26, 509, -1, -1, -1, 513, 514, -1, -1,
    2142 -1, -1, -1, 38, 39, -1, -1, -1, -1, -1,
    2143 -1, -1, -1, 411, 412, -1, -1, -1, -1, -1,
    2144 -1, 419, -1, -1, -1, -1, -1, -1, -1, -1,
    2145 428, -1, -1, -1, -1, -1, -1, -1, -1, -1,
    2146 -1, -1, -1, 78, 79, 80, 81, 82, 83, 84,
    2147 85, 86, 87, 88, 89, 90, 91, 455, -1, -1,
    2148 -1, -1, 97, -1, 99, 100, 101, 102, -1, 104,
    2149 105, 106, -1, -1, -1, -1, -1, -1, -1, 114,
    2150 -1, -1, 117, -1, 119, -1, -1, 122, -1, -1,
    2151 -1, 489, -1, -1, -1, -1, -1, -1, -1, -1,
    2152 -1, -1, -1, -1, 502, -1, -1, -1, -1, -1,
    2153 -1, 509, -1, -1, -1, 513, 514, 5, 6, -1,
    2154 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
    2155 18, 19, 20, 21, 22, -1, 24, 5, 6, -1,
    2156 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
    2157 18, 19, 20, 21, 22, -1, 24, -1, -1, -1,
    2158 48, -1, -1, -1, -1, 20, -1, 22, -1, 24,
    2159 -1, -1, -1, -1, -1, -1, 31, 32, 33, -1,
    2160 48, 3, 4, 5, 6, 7, 41, 42, 43, 44,
    2161 45, 46, 47, -1, -1, 50, 51, -1, -1, -1,
    2162 22, -1, 24, 58, 26, 27, 28, 62, -1, -1,
    2163 -1, -1, -1, -1, -1, -1, 38, 39, -1, -1,
    2164 -1, -1, -1, 111, -1, -1, 114, -1, -1, 117,
    2165 -1, 119, 120, -1, -1, -1, -1, -1, -1, 61,
    2166 -1, -1, -1, 111, -1, -1, 114, -1, -1, 117,
    2167 -1, 119, 120, -1, -1, -1, 78, 79, 80, 81,
    2168 82, 83, 84, 85, 86, 87, 88, 89, 90, 91,
    2169 -1, -1, -1, -1, -1, 97, -1, 99, 100, 101,
    2170 102, -1, 104, 105, 106, 3, 4, -1, -1, 7,
    2171 -1, -1, -1, -1, -1, 117, -1, -1, -1, -1,
    2172 -1, -1, -1, -1, -1, -1, -1, -1, 26, 27,
    2173 28, -1, -1, -1, -1, -1, -1, -1, -1, -1,
    2174 38, 39, -1, -1, -1, -1, -1, -1, -1, -1,
    2133 37, 130, 130, 53, 229, 3, 15, 15, 252, 253,
    2134 112, 23, 34, 131, 476, 9, 53, 114, 30, 120,
    2135 125, 112, 123, 128, 271, 272, 123, 21, 29, 85,
    2136 112, 122, 494, 112, 493, 57, 280, 112, 55, 56,
    2137 122, 120, 0, 41, 503, 120, 61, 152, 57, 57,
    2138 155, 156, 170, 300, 159, 160, 161, 162, 163, 164,
    2139 55, 56, 57, 168, 112, 112, 122, 52, 53, 54,
    2140 118, 118, 109, 110, 111, 10, 11, 12, 13, 14,
    2141 15, 16, 17, 32, 33, 118, 71, 23, 125, 87,
    2142 123, 128, 5, 6, 61, 8, 9, 10, 11, 12,
    2143 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
    2144 122, 24, 111, 150, 151, 152, 153, 154, 155, 156,
    2145 121, 111, 159, 160, 161, 162, 163, 164, 165, 166,
    2146 167, 168, 97, 98, 45, 48, 47, 22, 24, 24,
    2147 27, 28, 199, 248, 4, 201, 202, 203, 392, 3,
    2148 4, 111, 209, 3, 4, 3, 4, 214, 215, 10,
    2149 11, 12, 13, 14, 15, 16, 17, 111, 205, 226,
    2150 3, 4, 3, 4, 231, 116, 4, 227, 111, 111,
    2151 114, 4, 0, 118, 4, 242, 243, 244, 114, 24,
    2152 227, 416, 4, 418, 24, 24, 246, 117, 117, 114,
    2153 113, 59, 4, 116, 4, 118, 119, 25, 121, 246,
    2154 247, 248, 317, 31, 319, 320, 321, 4, 4, 7,
    2155 4, 112, 327, 41, 42, 43, 44, 45, 46, 47,
    2156 7, 7, 115, 289, 336, 337, 338, 339, 340, 341,
    2157 112, 112, 116, 112, 62, 36, 112, 349, 350, 351,
    2158 352, 308, 24, 112, 24, 112, 112, 314, 10, 11,
    2159 12, 13, 14, 15, 16, 17, 112, 118, 112, 112,
    2160 112, 328, 329, 112, 114, 112, 214, 215, 114, 316,
    2161 317, 318, 319, 320, 321, 322, 323, 285, 226, 114,
    2162 327, 115, 114, 231, 63, 114, 34, 399, 114, 114,
    2163 114, 114, 112, 114, 242, 243, 244, 112, 112, 116,
    2164 367, 112, 369, 112, 112, 112, 373, 24, 423, 424,
    2165 425, 358, 21, 21, 114, 382, 383, 384, 4, 112,
    2166 112, 112, 112, 370, 436, 437, 438, 439, 24, 441,
    2167 442, 443, 444, 114, 4, 36, 112, 476, 476, 112,
    2168 455, 388, 112, 112, 112, 112, 413, 414, 112, 112,
    2169 57, 112, 112, 112, 421, 494, 494, 112, 115, 4,
    2170 308, 112, 24, 430, 116, 115, 314, 57, 415, 118,
    2171 20, 483, 115, 485, 486, 115, 423, 424, 425, 112,
    2172 328, 329, 429, 115, 112, 112, 115, 21, 435, 115,
    2173 457, 41, 42, 43, 44, 45, 46, 47, 36, 115,
    2174 50, 64, 65, 66, 67, 68, 69, 70, 455, 115,
    2175 21, 115, 115, 118, 112, 115, 21, 112, 76, 367,
    2176 21, 369, 21, 97, 491, 373, 97, 41, 97, 97,
    2177 25, 359, 52, 122, 382, 383, 384, 504, 5, 6,
    2178 358, 199, 61, 3, 511, 19, 370, 429, 515, 516,
    2179 -1, -1, 393, -1, -1, 22, -1, 24, -1, 26,
    2180 -1, -1, -1, -1, -1, 413, 414, -1, -1, -1,
    2181 -1, 38, 39, 421, -1, -1, -1, -1, -1, -1,
    2182 -1, -1, 430, -1, 5, 6, -1, 8, 9, 10,
    2183 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
    2184 21, 22, -1, 24, -1, -1, -1, -1, -1, 457,
    2185 -1, 78, 79, 80, 81, 82, 83, 84, 85, 86,
    2186 87, 88, 89, 90, 91, 92, 93, 48, -1, -1,
    2187 -1, -1, 99, -1, 101, 102, 103, 104, -1, 106,
    2188 107, 108, -1, 491, -1, -1, -1, -1, -1, 116,
    2189 -1, -1, 119, -1, 121, -1, 504, 124, -1, -1,
    2190 -1, -1, -1, 511, -1, -1, -1, 515, 516, 5,
    2191 6, -1, 8, 9, 10, 11, 12, 13, 14, 15,
    2192 16, 17, 18, 19, 20, 21, 22, -1, 24, -1,
    2193 -1, -1, 113, -1, -1, 116, -1, -1, 119, -1,
    2194 121, 122, -1, -1, -1, -1, -1, -1, -1, -1,
    2195 -1, -1, 48, 3, 4, 5, 6, 7, -1, -1,
    21752196 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
    2176 -1, -1, -1, 61, -1, -1, -1, -1, -1, -1,
    2197 -1, 20, 22, 22, 24, 24, 26, 27, 28, -1,
    2198 -1, -1, 31, 32, 33, -1, -1, -1, 38, 39,
    2199 -1, -1, 41, 42, 43, 44, 45, 46, 47, -1,
    2200 -1, 50, 51, -1, -1, -1, -1, -1, -1, 58,
    2201 -1, 61, -1, 62, -1, -1, -1, 113, -1, -1,
    2202 116, -1, -1, 119, -1, 121, 122, -1, 78, 79,
    2203 80, 81, 82, 83, 84, 85, 86, 87, 88, 89,
    2204 90, 91, 92, 93, -1, -1, -1, -1, -1, 99,
    2205 -1, 101, 102, 103, 104, -1, 106, 107, 108, 3,
    2206 4, -1, -1, 7, -1, -1, -1, -1, -1, 119,
    21772207 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
    2178 78, 79, 80, 81, 82, 83, 84, 85, 86, 87,
    2179 88, 89, 90, 91, -1, -1, -1, -1, -1, 97,
    2180 -1, 99, 100, 101, 102, -1, 104, 105, 106, -1,
    2181 -1, -1, -1, -1, -1, -1, -1, 5, 6, 117,
    2182 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
    2183 18, 19, 20, 21, 22, -1, 24, -1, -1, -1,
    2184 -1, -1, -1, -1, -1, -1, -1, -1, -1, 37,
    2185 -1, -1, -1, -1, -1, -1, -1, -1, 5, 6,
    2186 48, 8, 9, 10, 11, 12, 13, 14, 15, 16,
    2208 -1, -1, 26, 27, 28, -1, -1, -1, -1, -1,
    2209 -1, -1, -1, -1, 38, 39, -1, -1, -1, -1,
    2210 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
    2211 -1, -1, -1, -1, -1, -1, -1, 61, -1, -1,
    2212 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
    2213 -1, -1, -1, -1, 78, 79, 80, 81, 82, 83,
    2214 84, 85, 86, 87, 88, 89, 90, 91, 92, 93,
    2215 -1, -1, -1, -1, -1, 99, -1, 101, 102, 103,
    2216 104, -1, 106, 107, 108, -1, -1, -1, -1, -1,
    2217 -1, -1, -1, 5, 6, 119, 8, 9, 10, 11,
    2218 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
    2219 22, -1, 24, -1, -1, -1, -1, -1, -1, -1,
    2220 -1, -1, -1, -1, -1, 37, -1, -1, -1, -1,
    2221 -1, -1, -1, -1, 5, 6, 48, 8, 9, 10,
    2222 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
    2223 21, 22, -1, 24, -1, -1, -1, -1, -1, -1,
    2224 -1, -1, -1, -1, -1, -1, 37, -1, -1, -1,
    2225 -1, -1, -1, -1, -1, -1, -1, 48, 5, 6,
    2226 -1, 8, 9, 10, 11, 12, 13, 14, 15, 16,
    21872227 17, 18, 19, 20, 21, 22, -1, 24, -1, -1,
    2188 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
    2228 -1, 113, -1, -1, 116, -1, -1, 119, -1, 121,
    21892229 37, -1, -1, -1, -1, -1, -1, -1, -1, 5,
    21902230 6, 48, 8, 9, 10, 11, 12, 13, 14, 15,
    21912231 16, 17, 18, 19, 20, 21, 22, -1, 24, -1,
    2192 -1, -1, -1, 111, -1, -1, 114, -1, -1, 117,
    2193 -1, 119, -1, -1, -1, -1, -1, -1, -1, -1,
    2194 -1, -1, 48, 5, 6, -1, 8, 9, 10, 11,
    2232 -1, -1, 113, -1, -1, 116, -1, -1, 119, -1,
    2233 121, 37, -1, -1, -1, -1, -1, -1, -1, -1,
    2234 5, 6, 48, 8, 9, 10, 11, 12, 13, 14,
    2235 15, 16, 17, 18, 19, 20, 21, 22, -1, 24,
    2236 -1, -1, -1, -1, -1, -1, 113, -1, -1, 116,
    2237 -1, -1, 119, -1, 121, -1, -1, -1, -1, -1,
    2238 -1, 5, 6, 48, 8, 9, 10, 11, 12, 13,
    2239 14, 15, 16, 17, 18, 19, 20, 21, 22, -1,
    2240 24, -1, -1, -1, -1, -1, -1, 113, -1, -1,
    2241 116, -1, -1, 119, -1, 121, -1, -1, -1, -1,
    2242 -1, -1, 5, 6, 48, 8, 9, 10, 11, 12,
    2243 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
    2244 -1, 24, -1, -1, -1, -1, -1, -1, 113, -1,
    2245 -1, 116, -1, -1, 119, -1, 121, -1, -1, -1,
    2246 -1, -1, -1, 5, 6, 48, 8, 9, 10, 11,
    21952247 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
    2196 22, -1, 24, -1, 111, -1, -1, 114, -1, -1,
    2197 117, -1, 119, -1, -1, 37, -1, -1, -1, -1,
    2198 -1, -1, -1, -1, 5, 6, 48, 8, 9, 10,
    2199 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
    2200 21, 22, -1, 24, -1, 111, -1, -1, 114, -1,
    2201 116, 117, -1, 119, -1, -1, 37, -1, -1, -1,
    2202 -1, -1, -1, -1, -1, 5, 6, 48, 8, 9,
    2203 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
    2204 20, 21, 22, -1, 24, -1, -1, -1, -1, 111,
    2205 -1, -1, 114, -1, -1, 117, -1, 119, -1, -1,
    2206 -1, -1, -1, -1, -1, -1, 5, 6, 48, 8,
    2207 9, 10, 11, 12, 13, 14, 15, 16, 17, 18,
    2208 19, 20, 21, 22, -1, 24, -1, -1, -1, -1,
    2209 111, -1, -1, 114, -1, -1, 117, -1, 119, -1,
    2210 -1, -1, -1, -1, -1, -1, -1, 5, 6, 48,
    2211 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
    2212 18, 19, 20, 21, 22, -1, 24, -1, -1, -1,
    2213 -1, 111, -1, -1, 114, -1, -1, 117, -1, 119,
    2214 -1, -1, -1, -1, -1, -1, -1, -1, 5, 6,
    2215 48, 8, 9, 10, 11, 12, 13, 14, 15, 16,
    2216 17, 18, 19, 20, 21, 22, -1, 24, -1, -1,
    2217 -1, -1, 111, -1, -1, 114, -1, -1, 117, -1,
    2218 119, -1, -1, -1, -1, -1, -1, -1, -1, -1,
    2219 -1, 48, -1, -1, -1, -1, -1, -1, -1, -1,
    2248 22, -1, 24, -1, -1, -1, -1, -1, -1, 113,
    2249 -1, -1, 116, -1, -1, 119, -1, 121, -1, -1,
    2250 -1, -1, -1, -1, -1, -1, 48, -1, -1, -1,
    22202251 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
    2221 -1, -1, -1, 111, -1, -1, 114, -1, -1, 117,
    2222 -1, 119, -1, -1, -1, -1, 35, -1, -1, -1,
    22232252 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
    2224 49, -1, -1, -1, -1, -1, -1, -1, -1, -1,
    2225 59, 60, -1, -1, 111, -1, -1, 114, -1, -1,
    2226 117, -1, 119, 72, 73, 74, 75, 76, 77, 78,
    2227 79, 80, 81, 82, 83, 84, 85, 86, 87, 88,
    2228 89, 90, 91, 92, 93, 94, -1, -1, 97, 98,
    2229 99, 100, 101, 102, 103, 104, 105, 106, 107, 108
    2253 113, -1, -1, 116, -1, -1, 119, -1, 121, -1,
    2254 -1, -1, -1, 35, -1, -1, -1, -1, -1, -1,
    2255 -1, -1, -1, -1, -1, -1, -1, 49, -1, -1,
    2256 -1, -1, -1, -1, -1, -1, -1, 59, 60, -1,
    2257 -1, 113, -1, -1, 116, -1, -1, 119, -1, 121,
    2258 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
    2259 82, 83, 84, 85, 86, 87, 88, 89, 90, 91,
    2260 92, 93, 94, 95, 96, -1, -1, 99, 100, 101,
    2261 102, 103, 104, 105, 106, 107, 108, 109, 110
    22302262 };
    22312263
    22322264 /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
    22332265 symbol of state STATE-NUM. */
    22342266 static const unsigned char yystos[] =
    22352267 {
    2236 0, 154, 155, 156, 0, 25, 31, 41, 42, 43,
    2237 44, 45, 46, 47, 62, 135, 173, 175, 177, 184,
    2238 22, 24, 51, 58, 62, 134, 166, 177, 178, 61,
    2239 64, 65, 66, 67, 68, 69, 70, 136, 171, 23,
    2240 185, 186, 30, 120, 174, 185, 52, 53, 54, 71,
    2241 163, 109, 61, 20, 45, 47, 50, 135, 109, 45,
    2242 47, 176, 24, 161, 4, 5, 6, 8, 9, 10,
    2268 0, 156, 157, 158, 0, 25, 31, 41, 42, 43,
    2269 44, 45, 46, 47, 62, 137, 175, 177, 179, 186,
    2270 22, 24, 51, 58, 62, 136, 168, 179, 180, 61,
    2271 64, 65, 66, 67, 68, 69, 70, 138, 173, 23,
    2272 187, 188, 30, 122, 176, 187, 52, 53, 54, 71,
    2273 165, 111, 61, 20, 45, 47, 50, 137, 111, 45,
    2274 47, 178, 24, 163, 4, 5, 6, 8, 9, 10,
    22432275 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
    2244 21, 48, 111, 114, 117, 119, 124, 143, 144, 145,
    2245 146, 147, 166, 181, 29, 119, 172, 134, 189, 109,
    2246 109, 109, 109, 114, 164, 161, 143, 32, 33, 153,
    2247 153, 153, 153, 171, 4, 4, 4, 8, 120, 147,
    2248 148, 166, 112, 121, 35, 49, 59, 60, 72, 73,
    2276 21, 48, 113, 116, 119, 121, 126, 145, 146, 147,
    2277 148, 149, 168, 183, 29, 121, 174, 136, 191, 111,
    2278 111, 111, 111, 116, 166, 163, 145, 32, 33, 155,
    2279 155, 155, 155, 173, 4, 4, 4, 8, 122, 149,
    2280 150, 168, 114, 123, 35, 49, 59, 60, 72, 73,
    22492281 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
    22502282 84, 85, 86, 87, 88, 89, 90, 91, 92, 93,
    2251 94, 97, 98, 99, 100, 101, 102, 103, 104, 105,
    2252 106, 107, 108, 126, 127, 128, 129, 187, 193, 194,
    2253 196, 197, 24, 55, 56, 162, 4, 24, 24, 165,
    2254 145, 145, 145, 9, 10, 11, 12, 13, 14, 15,
    2255 16, 17, 18, 19, 130, 131, 133, 145, 150, 115,
    2256 115, 110, 120, 112, 37, 148, 149, 145, 183, 59,
    2257 8, 183, 9, 21, 10, 11, 12, 13, 14, 15,
    2258 16, 17, 130, 131, 132, 136, 145, 145, 183, 145,
    2259 145, 190, 183, 183, 183, 183, 183, 183, 183, 183,
    2260 145, 145, 145, 183, 136, 95, 96, 110, 116, 159,
    2261 160, 158, 27, 28, 3, 4, 125, 4, 7, 26,
    2262 38, 39, 97, 99, 100, 104, 105, 106, 114, 117,
    2263 119, 122, 126, 127, 128, 129, 151, 181, 157, 147,
    2264 147, 147, 37, 145, 168, 169, 170, 110, 113, 3,
    2265 4, 7, 26, 27, 28, 38, 39, 61, 117, 151,
    2266 180, 181, 182, 182, 182, 182, 143, 110, 138, 110,
    2267 138, 182, 114, 110, 36, 110, 110, 110, 110, 110,
    2268 110, 110, 182, 182, 182, 110, 143, 145, 183, 24,
    2269 110, 141, 141, 141, 112, 112, 112, 112, 112, 112,
    2270 116, 150, 152, 152, 120, 152, 24, 112, 112, 112,
    2271 112, 141, 116, 118, 166, 167, 110, 113, 37, 63,
    2272 179, 152, 110, 110, 182, 15, 57, 15, 110, 195,
    2273 182, 114, 145, 183, 145, 183, 183, 183, 145, 145,
    2274 110, 110, 110, 183, 182, 182, 110, 34, 57, 139,
    2275 142, 150, 150, 150, 150, 150, 150, 110, 116, 118,
    2276 120, 150, 150, 150, 150, 37, 168, 139, 140, 24,
    2277 118, 21, 21, 112, 182, 4, 182, 183, 191, 110,
    2278 182, 110, 110, 110, 182, 182, 182, 112, 145, 24,
    2279 4, 141, 195, 36, 110, 110, 110, 110, 150, 110,
    2280 110, 110, 110, 57, 137, 110, 182, 182, 191, 192,
    2281 110, 138, 138, 110, 182, 110, 183, 183, 183, 192,
    2282 182, 113, 145, 150, 150, 150, 150, 150, 150, 150,
    2283 150, 4, 24, 110, 114, 113, 183, 116, 182, 113,
    2284 113, 110, 113, 110, 110, 113, 113, 113, 113, 21,
    2285 116, 132, 188, 36, 116, 150, 150, 150, 182, 180,
    2286 116, 132, 21, 113, 113, 113, 110, 180, 182, 21,
    2287 110, 76, 182, 21, 21, 182, 182
    2283 94, 95, 96, 99, 100, 101, 102, 103, 104, 105,
    2284 106, 107, 108, 109, 110, 128, 129, 130, 131, 189,
    2285 195, 196, 198, 199, 24, 55, 56, 164, 4, 24,
    2286 24, 167, 147, 147, 147, 9, 10, 11, 12, 13,
    2287 14, 15, 16, 17, 18, 19, 132, 133, 135, 147,
    2288 152, 117, 117, 112, 122, 114, 37, 150, 151, 147,
    2289 185, 59, 8, 185, 9, 21, 10, 11, 12, 13,
    2290 14, 15, 16, 17, 132, 133, 134, 138, 147, 147,
    2291 185, 147, 147, 192, 185, 185, 185, 185, 185, 185,
    2292 185, 185, 147, 147, 147, 185, 138, 97, 98, 112,
    2293 118, 161, 162, 160, 27, 28, 3, 4, 127, 4,
    2294 7, 26, 38, 39, 99, 101, 102, 106, 107, 108,
    2295 116, 119, 121, 124, 128, 129, 130, 131, 153, 183,
    2296 159, 149, 149, 149, 37, 147, 170, 171, 172, 112,
    2297 115, 3, 4, 7, 26, 27, 28, 38, 39, 61,
    2298 119, 153, 182, 183, 184, 184, 184, 184, 145, 112,
    2299 140, 112, 140, 184, 116, 112, 36, 112, 112, 112,
    2300 112, 112, 112, 112, 184, 184, 184, 112, 145, 147,
    2301 185, 24, 112, 143, 143, 143, 114, 114, 114, 114,
    2302 114, 114, 118, 152, 154, 154, 122, 154, 24, 114,
    2303 114, 114, 114, 143, 118, 120, 168, 169, 112, 115,
    2304 37, 63, 181, 154, 112, 112, 184, 15, 57, 15,
    2305 112, 197, 184, 116, 147, 185, 147, 185, 185, 185,
    2306 147, 147, 112, 112, 112, 185, 184, 184, 112, 34,
    2307 57, 141, 144, 152, 152, 152, 152, 152, 152, 112,
    2308 118, 120, 122, 152, 152, 152, 152, 37, 170, 141,
    2309 142, 24, 120, 21, 21, 114, 184, 4, 184, 185,
    2310 193, 112, 184, 112, 112, 112, 184, 184, 184, 114,
    2311 147, 24, 4, 143, 197, 36, 112, 112, 112, 112,
    2312 152, 112, 112, 112, 112, 57, 139, 112, 184, 184,
    2313 193, 194, 112, 140, 140, 112, 184, 112, 185, 185,
    2314 185, 194, 184, 115, 147, 152, 152, 152, 152, 152,
    2315 152, 152, 152, 4, 24, 112, 116, 115, 185, 118,
    2316 184, 115, 115, 112, 115, 112, 112, 115, 115, 115,
    2317 115, 21, 118, 134, 190, 36, 118, 152, 152, 152,
    2318 184, 182, 118, 134, 21, 115, 115, 115, 112, 182,
    2319 184, 21, 112, 76, 184, 21, 21, 184, 184
    22882320 };
    22892321
    22902322 #define yyerrok (yyerrstatus = 0)
    29542986 switch (yyn)
    29552987 {
    29562988 case 3:
    2957 #line 1098 "/proj/llvm/llvm_nc/lib/AsmParser/llvmAsmParser.y"
    2989 #line 1135 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
    29582990 {
    29592991 if ((yyvsp[0].UIntVal) > (uint32_t)INT32_MAX) // Outside of my range!
    29602992 GEN_ERROR("Value too large for type!");
    29642996 break;
    29652997
    29662998 case 5:
    2967 #line 1107 "/proj/llvm/llvm_nc/lib/AsmParser/llvmAsmParser.y"
    2999 #line 1144 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
    29683000 {
    29693001 if ((yyvsp[0].UInt64Val) > (uint64_t)INT64_MAX) // Outside of my range!
    29703002 GEN_ERROR("Value too large for type!");
    29733005 ;}
    29743006 break;
    29753007
    2976 case 34:
    2977 #line 1131 "/proj/llvm/llvm_nc/lib/AsmParser/llvmAsmParser.y"
    3008 case 36:
    3009 #line 1168 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
    29783010 {
    29793011 (yyval.StrVal) = (yyvsp[-1].StrVal);
    29803012 CHECK_FOR_ERROR
    29813013 ;}
    29823014 break;
    29833015
    2984 case 35:
    2985 #line 1135 "/proj/llvm/llvm_nc/lib/AsmParser/llvmAsmParser.y"
    3016 case 37:
    3017 #line 1172 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
    29863018 {
    29873019 (yyval.StrVal) = 0;
    29883020 CHECK_FOR_ERROR
    29893021 ;}
    29903022 break;
    29913023
    2992 case 36:
    2993 #line 1140 "/proj/llvm/llvm_nc/lib/AsmParser/llvmAsmParser.y"
    3024 case 38:
    3025 #line 1177 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
    29943026 { (yyval.Linkage) = GlobalValue::InternalLinkage; ;}
    29953027 break;
    29963028
    2997 case 37:
    2998 #line 1141 "/proj/llvm/llvm_nc/lib/AsmParser/llvmAsmParser.y"
    3029 case 39:
    3030 #line 1178 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
    29993031 { (yyval.Linkage) = GlobalValue::LinkOnceLinkage; ;}
    30003032 break;
    30013033
    3002 case 38:
    3003 #line 1142 "/proj/llvm/llvm_nc/lib/AsmParser/llvmAsmParser.y"
    3034 case 40:
    3035 #line 1179 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
    30043036 { (yyval.Linkage) = GlobalValue::WeakLinkage; ;}
    30053037 break;
    30063038
    3007 case 39:
    3008 #line 1143 "/proj/llvm/llvm_nc/lib/AsmParser/llvmAsmParser.y"
    3039 case 41:
    3040 #line 1180 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
    30093041 { (yyval.Linkage) = GlobalValue::AppendingLinkage; ;}
    30103042 break;
    30113043
    3012 case 40:
    3013 #line 1144 "/proj/llvm/llvm_nc/lib/AsmParser/llvmAsmParser.y"
    3044 case 42:
    3045 #line 1181 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
    30143046 { (yyval.Linkage) = GlobalValue::DLLImportLinkage; ;}
    30153047 break;
    30163048
    3017 case 41:
    3018 #line 1145 "/proj/llvm/llvm_nc/lib/AsmParser/llvmAsmParser.y"
    3049 case 43:
    3050 #line 1182 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
    30193051 { (yyval.Linkage) = GlobalValue::DLLExportLinkage; ;}
    30203052 break;
    30213053
    3022 case 42:
    3023 #line 1146 "/proj/llvm/llvm_nc/lib/AsmParser/llvmAsmParser.y"
    3054 case 44:
    3055 #line 1183 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
    30243056 { (yyval.Linkage) = GlobalValue::ExternalWeakLinkage; ;}
    30253057 break;
    30263058
    3027 case 43:
    3028 #line 1147 "/proj/llvm/llvm_nc/lib/AsmParser/llvmAsmParser.y"
    3059 case 45:
    3060 #line 1184 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
    30293061 { (yyval.Linkage) = GlobalValue::ExternalLinkage; ;}
    30303062 break;
    30313063
    3032 case 44:
    3033 #line 1149 "/proj/llvm/llvm_nc/lib/AsmParser/llvmAsmParser.y"
    3064 case 46:
    3065 #line 1186 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
    30343066 { (yyval.UIntVal) = CallingConv::C; ;}
    30353067 break;
    30363068
    3037 case 45:
    3038 #line 1150 "/proj/llvm/llvm_nc/lib/AsmParser/llvmAsmParser.y"
    3069 case 47:
    3070 #line 1187 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
    30393071 { (yyval.UIntVal) = CallingConv::C; ;}
    30403072 break;
    30413073
    3042 case 46:
    3043 #line 1151 "/proj/llvm/llvm_nc/lib/AsmParser/llvmAsmParser.y"
    3074 case 48:
    3075 #line 1188 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
    30443076 { (yyval.UIntVal) = CallingConv::CSRet; ;}
    30453077 break;
    30463078
    3047 case 47:
    3048 #line 1152 "/proj/llvm/llvm_nc/lib/AsmParser/llvmAsmParser.y"
    3079 case 49:
    3080 #line 1189 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
    30493081 { (yyval.UIntVal) = CallingConv::Fast; ;}
    30503082 break;
    30513083
    3052 case 48:
    3053 #line 1153 "/proj/llvm/llvm_nc/lib/AsmParser/llvmAsmParser.y"
    3084 case 50:
    3085 #line 1190 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
    30543086 { (yyval.UIntVal) = CallingConv::Cold; ;}
    30553087 break;
    30563088
    3057 case 49:
    3058 #line 1154 "/proj/llvm/llvm_nc/lib/AsmParser/llvmAsmParser.y"
    3089 case 51:
    3090 #line 1191 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
    30593091 { (yyval.UIntVal) = CallingConv::X86_StdCall; ;}
    30603092 break;
    30613093
    3062 case 50:
    3063 #line 1155 "/proj/llvm/llvm_nc/lib/AsmParser/llvmAsmParser.y"
    3094 case 52:
    3095 #line 1192 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
    30643096 { (yyval.UIntVal) = CallingConv::X86_FastCall; ;}
    30653097 break;
    30663098
    3067 case 51:
    3068 #line 1156 "/proj/llvm/llvm_nc/lib/AsmParser/llvmAsmParser.y"
    3099 case 53:
    3100 #line 1193 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
    30693101 {
    30703102 if ((unsigned)(yyvsp[0].UInt64Val) != (yyvsp[0].UInt64Val))
    30713103 GEN_ERROR("Calling conv too large!");
    30743106 ;}
    30753107 break;
    30763108
    3077 case 52:
    3078 #line 1165 "/proj/llvm/llvm_nc/lib/AsmParser/llvmAsmParser.y"
    3109 case 54:
    3110 #line 1202 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
    30793111 { (yyval.UIntVal) = 0; ;}
    30803112 break;
    30813113
    3082 case 53:
    3083 #line 1166 "/proj/llvm/llvm_nc/lib/AsmParser/llvmAsmParser.y"
    3114 case 55:
    3115 #line 1203 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
    30843116 {
    30853117 (yyval.UIntVal) = (yyvsp[0].UInt64Val);
    30863118 if ((yyval.UIntVal) != 0 && !isPowerOf2_32((yyval.UIntVal)))
    30893121 ;}
    30903122 break;
    30913123
    3092 case 54:
    3093 #line 1172 "/proj/llvm/llvm_nc/lib/AsmParser/llvmAsmParser.y"
    3124 case 56:
    3125 #line 1209 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
    30943126 { (yyval.UIntVal) = 0; ;}
    30953127 break;
    30963128
    3097 case 55:
    3098 #line 1173 "/proj/llvm/llvm_nc/lib/AsmParser/llvmAsmParser.y"
    3129 case 57:
    3130 #line 1210 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
    30993131 {
    31003132 (yyval.UIntVal) = (yyvsp[0].UInt64Val);
    31013133 if ((yyval.UIntVal) != 0 && !isPowerOf2_32((yyval.UIntVal)))
    31043136 ;}
    31053137 break;
    31063138
    3107 case 56:
    3108 #line 1181 "/proj/llvm/llvm_nc/lib/AsmParser/llvmAsmParser.y"
    3139 case 58:
    3140 #line 1218 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
    31093141 {
    31103142 for (unsigned i = 0, e = strlen((yyvsp[0].StrVal)); i != e; ++i)
    31113143 if ((yyvsp[0].StrVal)[i] == '"' || (yyvsp[0].StrVal)[i] == '\\')
    31153147 ;}
    31163148 break;
    31173149
    3118 case 57:
    3119 #line 1189 "/proj/llvm/llvm_nc/lib/AsmParser/llvmAsmParser.y"
    3150 case 59:
    3151 #line 1226 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
    31203152 { (yyval.StrVal) = 0; ;}
    31213153 break;
    31223154
    3123 case 58:
    3124 #line 1190 "/proj/llvm/llvm_nc/lib/AsmParser/llvmAsmParser.y"
    3155 case 60:
    3156 #line 1227 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
    31253157 { (yyval.StrVal) = (yyvsp[0].StrVal); ;}
    31263158 break;
    31273159
    3128 case 59:
    3129 #line 1195 "/proj/llvm/llvm_nc/lib/AsmParser/llvmAsmParser.y"
    3160 case 61:
    3161 #line 1232 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
    31303162 {;}
    31313163 break;
    31323164
    3133 case 60:
    3134 #line 1196 "/proj/llvm/llvm_nc/lib/AsmParser/llvmAsmParser.y"
    3165 case 62:
    3166 #line 1233 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
    31353167 {;}
    31363168 break;
    31373169
    3138 case 61:
    3139 #line 1197 "/proj/llvm/llvm_nc/lib/AsmParser/llvmAsmParser.y"
    3170 case 63:
    3171 #line 1234 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
    31403172 {
    31413173 CurGV->setSection((yyvsp[0].StrVal));
    31423174 free((yyvsp[0].StrVal));
    31443176 ;}
    31453177 break;
    31463178
    3147 case 62:
    3148 #line 1202 "/proj/llvm/llvm_nc/lib/AsmParser/llvmAsmParser.y"
    3179 case 64:
    3180 #line 1239 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
    31493181 {
    31503182 if ((yyvsp[0].UInt64Val) != 0 && !isPowerOf2_32((yyvsp[0].UInt64Val)))
    31513183 GEN_ERROR("Alignment must be a power of two!");
    31543186 ;}
    31553187 break;
    31563188
    3157 case 64:
    3158 #line 1216 "/proj/llvm/llvm_nc/lib/AsmParser/llvmAsmParser.y"
    3189 case 66:
    3190 #line 1253 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
    31593191 { (yyval.TypeVal) = new PATypeHolder((yyvsp[0].PrimType)); ;}
    31603192 break;
    31613193
    3162 case 66:
    3163 #line 1217 "/proj/llvm/llvm_nc/lib/AsmParser/llvmAsmParser.y"
    3194 case 68:
    3195 #line 1254 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
    31643196 { (yyval.TypeVal) = new PATypeHolder((yyvsp[0].PrimType)); ;}
    31653197 break;
    31663198
    3167 case 67:
    3168 #line 1219 "/proj/llvm/llvm_nc/lib/AsmParser/llvmAsmParser.y"
    3199 case 69:
    3200 #line 1256 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
    31693201 {
    31703202 if (!UpRefs.empty())
    31713203 GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[0].TypeVal))->getDescription());
    31743206 ;}
    31753207 break;
    31763208
    3177 case 81:
    3178 #line 1231 "/proj/llvm/llvm_nc/lib/AsmParser/llvmAsmParser.y"
    3209 case 83:
    3210 #line 1268 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
    31793211 {
    31803212 (yyval.TypeVal) = new PATypeHolder(OpaqueType::get());
    31813213 CHECK_FOR_ERROR
    31823214 ;}
    31833215 break;
    31843216
    3185 case 82:
    3186 #line 1235 "/proj/llvm/llvm_nc/lib/AsmParser/llvmAsmParser.y"
    3217 case 84:
    3218 #line 1272 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
    31873219 {
    31883220 (yyval.TypeVal) = new PATypeHolder((yyvsp[0].PrimType));
    31893221 CHECK_FOR_ERROR
    31903222 ;}
    31913223 break;
    31923224
    3193 case 83:
    3194 #line 1239 "/proj/llvm/llvm_nc/lib/AsmParser/llvmAsmParser.y"
    3225 case 85:
    3226 #line 1276 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
    31953227 { // Named types are also simple types...
    31963228 const Type* tmp = getTypeVal((yyvsp[0].ValIDVal));
    31973229 CHECK_FOR_ERROR
    31993231 ;}
    32003232 break;
    32013233
    3202 case 84:
    3203 #line 1247 "/proj/llvm/llvm_nc/lib/AsmParser/llvmAsmParser.y"
    3234 case 86:
    3235 #line 1284 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
    32043236 { // Type UpReference
    32053237 if ((yyvsp[0].UInt64Val) > (uint64_t)~0U) GEN_ERROR("Value out of range!");
    32063238 OpaqueType *OT = OpaqueType::get(); // Use temporary placeholder
    32113243 ;}
    32123244 break;
    32133245
    3214 case 85:
    3215 #line 1255 "/proj/llvm/llvm_nc/lib/AsmParser/llvmAsmParser.y"
    3246 case 87:
    3247 #line 1292 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
    32163248 { // Function derived type?
    32173249 std::vector Params;
    32183250 for (std::list::iterator I = (yyvsp[-1].TypeList)->begin(),
    32283260 ;}
    32293261 break;
    32303262
    3231 case 86:
    3232 #line 1268 "/proj/llvm/llvm_nc/lib/AsmParser/llvmAsmParser.y"
    3263 case 88:
    3264 #line 1305 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
    32333265 { // Sized array type?
    32343266 (yyval.TypeVal) = new PATypeHolder(HandleUpRefs(ArrayType::get(*(yyvsp[-1].TypeVal), (unsigned)(yyvsp[-3].UInt64Val))));
    32353267 delete (yyvsp[-1].TypeVal);
    32373269 ;}
    32383270 break;
    32393271
    3240 case 87:
    3241 #line 1273 "/proj/llvm/llvm_nc/lib/AsmParser/llvmAsmParser.y"
    3272 case 89:
    3273 #line 1310 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
    32423274 { // Packed array type?
    32433275 const llvm::Type* ElemTy = (yyvsp[-1].TypeVal)->get();
    32443276 if ((unsigned)(yyvsp[-3].UInt64Val) != (yyvsp[-3].UInt64Val))
    32533285 ;}
    32543286 break;
    32553287
    3256 case 88:
    3257 #line 1285 "/proj/llvm/llvm_nc/lib/AsmParser/llvmAsmParser.y"
    3288 case 90:
    3289 #line 1322 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
    32583290 { // Structure type?
    32593291 std::vector Elements;
    32603292 for (std::list::iterator I = (yyvsp[-1].TypeList)->begin(),
    32673299 ;}
    32683300 break;
    32693301
    3270 case 89:
    3271 #line 1295 "/proj/llvm/llvm_nc/lib/AsmParser/llvmAsmParser.y"
    3302 case 91:
    3303 #line 1332 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
    32723304 { // Empty structure type?
    32733305 (yyval.TypeVal) = new PATypeHolder(StructType::get(std::vector()));
    32743306 CHECK_FOR_ERROR
    32753307 ;}
    32763308 break;
    32773309
    3278 case 90:
    3279 #line 1299 "/proj/llvm/llvm_nc/lib/AsmParser/llvmAsmParser.y"
    3310 case 92:
    3311 #line 1336 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
    32803312 { // Pointer type?
    32813313 if (*(yyvsp[-1].TypeVal) == Type::LabelTy)
    32823314 GEN_ERROR("Cannot form a pointer to a basic block");
    32863318 ;}
    32873319 break;
    32883320
    3289 case 91:
    3290 #line 1310 "/proj/llvm/llvm_nc/lib/AsmParser/llvmAsmParser.y"
    3321 case 93:
    3322 #line 1347 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
    32913323 {
    32923324 (yyval.TypeList) = new std::list();
    32933325 (yyval.TypeList)->push_back(*(yyvsp[0].TypeVal)); delete (yyvsp[0].TypeVal);
    32953327 ;}
    32963328 break;
    32973329
    3298 case 92:
    3299 #line 1315 "/proj/llvm/llvm_nc/lib/AsmParser/llvmAsmParser.y"
    3330 case 94:
    3331 #line 1352 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
    33003332 {
    33013333 ((yyval.TypeList)=(yyvsp[-2].TypeList))->push_back(*(yyvsp[0].TypeVal)); delete (yyvsp[0].TypeVal);
    33023334 CHECK_FOR_ERROR
    33033335 ;}
    33043336 break;
    33053337
    3306 case 94:
    3307 #line 1322 "/proj/llvm/llvm_nc/lib/AsmParser/llvmAsmParser.y"
    3338 case 96:
    3339 #line 1359 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
    33083340 {
    33093341 ((yyval.TypeList)=(yyvsp[-2].TypeList))->push_back(Type::VoidTy);
    33103342 CHECK_FOR_ERROR
    33113343 ;}
    33123344 break;
    33133345
    3314 case 95:
    3315 #line 1326 "/proj/llvm/llvm_nc/lib/AsmParser/llvmAsmParser.y"
    3346 case 97:
    3347 #line 1363 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
    33163348 {
    33173349 ((yyval.TypeList) = new std::list())->push_back(Type::VoidTy);
    33183350 CHECK_FOR_ERROR
    33193351 ;}
    33203352 break;
    33213353
    3322 case 96:
    3323 #line 1330 "/proj/llvm/llvm_nc/lib/AsmParser/llvmAsmParser.y"
    3354 case 98:
    3355 #line 1367 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
    33243356 {
    33253357 (yyval.TypeList) = new std::list();
    33263358 CHECK_FOR_ERROR
    33273359 ;}
    33283360 break;
    33293361
    3330 case 97:
    3331 #line 1341 "/proj/llvm/llvm_nc/lib/AsmParser/llvmAsmParser.y"
    3362 case 99:
    3363 #line 1378 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
    33323364 { // Nonempty unsized arr
    33333365 const ArrayType *ATy = dyn_cast((yyvsp[-3].TypeVal)->get());
    33343366 if (ATy == 0)
    33573389 ;}
    33583390 break;
    33593391
    3360 case 98:
    3361 #line 1367 "/proj/llvm/llvm_nc/lib/AsmParser/llvmAsmParser.y"
    3392 case 100:
    3393 #line 1404 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
    33623394 {
    33633395 const ArrayType *ATy = dyn_cast((yyvsp[-2].TypeVal)->get());
    33643396 if (ATy == 0)
    33753407 ;}
    33763408 break;
    33773409
    3378 case 99:
    3379 #line 1381 "/proj/llvm/llvm_nc/lib/AsmParser/llvmAsmParser.y"
    3410 case 101:
    3411 #line 1418 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
    33803412 {
    33813413 const ArrayType *ATy = dyn_cast((yyvsp[-2].TypeVal)->get());
    33823414 if (ATy == 0)
    34093441 ;}
    34103442 break;
    34113443
    3412 case 100:
    3413 #line 1411 "/proj/llvm/llvm_nc/lib/AsmParser/llvmAsmParser.y"
    3444 case 102:
    3445 #line 1448 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
    34143446 { // Nonempty unsized arr
    34153447 const PackedType *PTy = dyn_cast((yyvsp[-3].TypeVal)->get());
    34163448 if (PTy == 0)
    34393471 ;}
    34403472 break;
    34413473
    3442 case 101:
    3443 #line 1437 "/proj/llvm/llvm_nc/lib/AsmParser/llvmAsmParser.y"
    3474 case 103:
    3475 #line 1474 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
    34443476 {
    34453477 const StructType *STy = dyn_cast((yyvsp[-3].TypeVal)->get());
    34463478 if (STy == 0)
    34643496 ;}
    34653497 break;
    34663498
    3467 case 102:
    3468 #line 1458 "/proj/llvm/llvm_nc/lib/AsmParser/llvmAsmParser.y"
    3499 case 104:
    3500 #line 1495 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
    34693501 {
    34703502 const StructType *STy = dyn_cast((yyvsp[-2].TypeVal)->get());
    34713503 if (STy == 0)
    34813513 ;}
    34823514 break;
    34833515
    3484 case 103:
    3485 #line 1471 "/proj/llvm/llvm_nc/lib/AsmParser/llvmAsmParser.y"
    3516 case 105:
    3517 #line 1508 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
    34863518 {
    34873519 const PointerType *PTy = dyn_cast((yyvsp[-1].TypeVal)->get());
    34883520 if (PTy == 0)
    34953527 ;}
    34963528 break;
    34973529
    3498 case 104:
    3499 #line 1481 "/proj/llvm/llvm_nc/lib/AsmParser/llvmAsmParser.y"
    3530 case 106:
    3531 #line 1518 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
    35003532 {
    35013533 (yyval.ConstVal) = UndefValue::get((yyvsp[-1].TypeVal)->get());
    35023534 delete (yyvsp[-1].TypeVal);
    35043536 ;}
    35053537 break;
    35063538
    3507 case 105:
    3508 #line 1486 "/proj/llvm/llvm_nc/lib/AsmParser/llvmAsmParser.y"
    3539 case 107:
    3540 #line 1523 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
    35093541 {
    35103542 const PointerType *Ty = dyn_cast((yyvsp[-1].TypeVal)->get());
    35113543 if (Ty == 0)
    35693601 ;}
    35703602 break;
    35713603
    3572 case 106:
    3573 #line 1547 "/proj/llvm/llvm_nc/lib/AsmParser/llvmAsmParser.y"
    3604 case 108:
    3605 #line 1584 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
    35743606 {
    35753607 if ((yyvsp[-1].TypeVal)->get() != (yyvsp[0].ConstVal)->getType())
    35763608 GEN_ERROR("Mismatched types for constant expression!");
    35803612 ;}
    35813613 break;
    35823614
    3583 case 107:
    3584 #line 1554 "/proj/llvm/llvm_nc/lib/AsmParser/llvmAsmParser.y"
    3615 case 109:
    3616 #line 1591 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
    35853617 {
    35863618 const Type *Ty = (yyvsp[-1].TypeVal)->get();
    35873619 if (isa(Ty) || Ty == Type::LabelTy || isa(Ty))
    35923624 ;}
    35933625 break;
    35943626
    3595 case 108:
    3596 #line 1563 "/proj/llvm/llvm_nc/lib/AsmParser/llvmAsmParser.y"
    3627 case 110:
    3628 #line 1600 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
    35973629 { // integral constants
    35983630 if (!ConstantInt::isValueValidForType((yyvsp[-1].PrimType), (yyvsp[0].SInt64Val)))
    35993631 GEN_ERROR("Constant value doesn't fit in type!");
    36023634 ;}
    36033635 break;
    36043636
    3605 case 109:
    3606 #line 1569 "/proj/llvm/llvm_nc/lib/AsmParser/llvmAsmParser.y"
    3637 case 111:
    3638 #line 1606 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
    36073639 { // integral constants
    36083640 if (!ConstantInt::isValueValidForType((yyvsp[-1].PrimType), (yyvsp[0].UInt64Val)))
    36093641 GEN_ERROR("Constant value doesn't fit in type!");
    36123644 ;}
    36133645 break;
    36143646
    3615 case 110:
    3616 #line 1575 "/proj/llvm/llvm_nc/lib/AsmParser/llvmAsmParser.y"
    3647 case 112:
    3648 #line 1612 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
    36173649 { // Boolean constants
    36183650 (yyval.ConstVal) = ConstantBool::getTrue();
    36193651 CHECK_FOR_ERROR
    36203652 ;}
    36213653 break;
    36223654
    3623 case 111:
    3624 #line 1579 "/proj/llvm/llvm_nc/lib/AsmParser/llvmAsmParser.y"
    3655 case 113:
    3656 #line 1616 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
    36253657 { // Boolean constants
    36263658 (yyval.ConstVal) = ConstantBool::getFalse();
    36273659 CHECK_FOR_ERROR
    36283660 ;}
    36293661 break;
    36303662
    3631 case 112:
    3632 #line 1583 "/proj/llvm/llvm_nc/lib/AsmParser/llvmAsmParser.y"
    3663 case 114:
    3664 #line 1620 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
    36333665 { // Float & Double constants
    36343666 if (!ConstantFP::isValueValidForType((yyvsp[-1].PrimType), (yyvsp[0].FPVal)))
    36353667 GEN_ERROR("Floating point constant invalid for type!!");
    36383670 ;}
    36393671 break;
    36403672
    3641 case 113:
    3642 #line 1591 "/proj/llvm/llvm_nc/lib/AsmParser/llvmAsmParser.y"
    3673 case 115:
    3674 #line 1628 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
    36433675 {
    36443676 if (!(yyvsp[-3].ConstVal)->getType()->isFirstClassType())
    36453677 GEN_ERROR("cast constant expression from a non-primitive type: '" +
    36533685 ;}
    36543686 break;
    36553687
    3656 case 114:
    3657 #line 1602 "/proj/llvm/llvm_nc/lib/AsmParser/llvmAsmParser.y"
    3688 case 116:
    3689 #line 1639 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
    36583690 {
    36593691 if (!isa((yyvsp[-2].ConstVal)->getType()))
    36603692 GEN_ERROR("GetElementPtr requires a pointer operand!");
    36893721 ;}
    36903722 break;
    36913723
    3692 case 115:
    3693 #line 1634 "/proj/llvm/llvm_nc/lib/AsmParser/llvmAsmParser.y"
    3724 case 117:
    3725 #line 1671 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
    36943726 {
    36953727 if ((yyvsp[-5].ConstVal)->getType() != Type::BoolTy)
    36963728 GEN_ERROR("Select condition must be of boolean type!");
    37013733 ;}
    37023734 break;
    37033735
    3704 case 116:
    3705 #line 1642 "/proj/llvm/llvm_nc/lib/AsmParser/llvmAsmParser.y"
    3736 case 118:
    3737 #line 1679 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
    37063738 {
    37073739 if ((yyvsp[-3].ConstVal)->getType() != (yyvsp[-1].ConstVal)->getType())
    37083740 GEN_ERROR("Binary operator types must match!");
    3741 // First, make sure we're dealing with the right opcode by upgrading from
    3742 // obsolete versions.
    3743 sanitizeOpCode((yyvsp[-5].BinaryOpVal),(yyvsp[-3].ConstVal)->getType());
    3744 CHECK_FOR_ERROR;
    3745
    37093746 // HACK: llvm 1.3 and earlier used to emit invalid pointer constant exprs.
    37103747 // To retain backward compatibility with these early compilers, we emit a
    37113748 // cast to the appropriate integer type automatically if we are in the
    37123749 // broken case. See PR424 for more information.
    37133750 if (!isa((yyvsp[-3].ConstVal)->getType())) {
    3714 (yyval.ConstVal) = ConstantExpr::get((yyvsp[-5].BinaryOpVal), (yyvsp[-3].ConstVal), (yyvsp[-1].ConstVal));
    3751 (yyval.ConstVal) = ConstantExpr::get((yyvsp[-5].BinaryOpVal).opcode, (yyvsp[-3].ConstVal), (yyvsp[-1].ConstVal));
    37153752 } else {
    37163753 const Type *IntPtrTy = 0;
    37173754 switch (CurModule.CurrentModule->getPointerSize()) {
    37193756 case Module::Pointer64: IntPtrTy = Type::LongTy; break;
    37203757 default: GEN_ERROR("invalid pointer binary constant expr!");
    37213758 }
    3722 (yyval.ConstVal) = ConstantExpr::get((yyvsp[-5].BinaryOpVal), ConstantExpr::getCast((yyvsp[-3].ConstVal), IntPtrTy),
    3759 (yyval.ConstVal) = ConstantExpr::get((yyvsp[-5].BinaryOpVal).opcode, ConstantExpr::getCast((yyvsp[-3].ConstVal), IntPtrTy),
    37233760 ConstantExpr::getCast((yyvsp[-1].ConstVal), IntPtrTy));
    37243761 (yyval.ConstVal) = ConstantExpr::getCast((yyval.ConstVal), (yyvsp[-3].ConstVal)->getType());
    37253762 }
    37273764 ;}
    37283765 break;
    37293766
    3730 case 117:
    3731 #line 1664 "/proj/llvm/llvm_nc/lib/AsmParser/llvmAsmParser.y"
    3767 case 119:
    3768 #line 1706 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
    37323769 {
    37333770 if ((yyvsp[-3].ConstVal)->getType() != (yyvsp[-1].ConstVal)->getType())
    37343771 GEN_ERROR("Logical operator types must match!");
    37373774 !cast((yyvsp[-3].ConstVal)->getType())->getElementType()->isIntegral())
    37383775 GEN_ERROR("Logical operator requires integral operands!");
    37393776 }
    3740 (yyval.ConstVal) = ConstantExpr::get((yyvsp[-5].BinaryOpVal), (yyvsp[-3].ConstVal), (yyvsp[-1].ConstVal));
    3741 CHECK_FOR_ERROR
    3742 ;}
    3743 break;
    3744
    3745 case 118:
    3746 #line 1675 "/proj/llvm/llvm_nc/lib/AsmParser/llvmAsmParser.y"
    3777 (yyval.ConstVal) = ConstantExpr::get((yyvsp[-5].BinaryOpVal).opcode, (yyvsp[-3].ConstVal), (yyvsp[-1].ConstVal));
    3778 CHECK_FOR_ERROR
    3779 ;}
    3780 break;
    3781
    3782 case 120:
    3783 #line 1717 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
    37473784 {
    37483785 if ((yyvsp[-3].ConstVal)->getType() != (yyvsp[-1].ConstVal)->getType())
    37493786 GEN_ERROR("setcc operand types must match!");
    3750 (yyval.ConstVal) = ConstantExpr::get((yyvsp[-5].BinaryOpVal), (yyvsp[-3].ConstVal), (yyvsp[-1].ConstVal));
    3751 CHECK_FOR_ERROR
    3752 ;}
    3753 break;
    3754
    3755 case 119:
    3756 #line 1681 "/proj/llvm/llvm_nc/lib/AsmParser/llvmAsmParser.y"
    3787 (yyval.ConstVal) = ConstantExpr::get((yyvsp[-5].BinaryOpVal).opcode, (yyvsp[-3].ConstVal), (yyvsp[-1].ConstVal));
    3788 CHECK_FOR_ERROR
    3789 ;}
    3790 break;
    3791
    3792 case 121:
    3793 #line 1723 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
    37573794 {
    37583795 if ((yyvsp[-1].ConstVal)->getType() != Type::UByteTy)
    37593796 GEN_ERROR("Shift count for shift constant must be unsigned byte!");
    37603797 if (!(yyvsp[-3].ConstVal)->getType()->isInteger())
    37613798 GEN_ERROR("Shift constant expression requires integer operand!");
    3762 (yyval.ConstVal) = ConstantExpr::get((yyvsp[-5].OtherOpVal), (yyvsp[-3].ConstVal), (yyvsp[-1].ConstVal));
    3763 CHECK_FOR_ERROR
    3764 ;}
    3765 break;
    3766
    3767 case 120:
    3768 #line 1689 "/proj/llvm/llvm_nc/lib/AsmParser/llvmAsmParser.y"
    3799 (yyval.ConstVal) = ConstantExpr::get((yyvsp[-5].OtherOpVal).opcode, (yyvsp[-3].ConstVal), (yyvsp[-1].ConstVal));
    3800 CHECK_FOR_ERROR
    3801 ;}
    3802 break;
    3803
    3804 case 122:
    3805 #line 1731 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
    37693806 {
    37703807 if (!ExtractElementInst::isValidOperands((yyvsp[-3].ConstVal), (yyvsp[-1].ConstVal)))
    37713808 GEN_ERROR("Invalid extractelement operands!");
    37743811 ;}
    37753812 break;
    37763813
    3777 case 121:
    3778 #line 1695 "/proj/llvm/llvm_nc/lib/AsmParser/llvmAsmParser.y"
    3814 case 123:
    3815 #line 1737 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
    37793816 {
    37803817 if (!InsertElementInst::isValidOperands((yyvsp[-5].ConstVal), (yyvsp[-3].ConstVal), (yyvsp[-1].ConstVal)))
    37813818 GEN_ERROR("Invalid insertelement operands!");
    37843821 ;}
    37853822 break;
    37863823
    3787 case 122:
    3788 #line 1701 "/proj/llvm/llvm_nc/lib/AsmParser/llvmAsmParser.y"
    3824 case 124:
    3825 #line 1743 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
    37893826 {
    37903827 if (!ShuffleVectorInst::isValidOperands((yyvsp[-5].ConstVal), (yyvsp[-3].ConstVal), (yyvsp[-1].ConstVal)))
    37913828 GEN_ERROR("Invalid shufflevector operands!");
    37943831 ;}
    37953832 break;
    37963833
    3797 case 123:
    3798 #line 1710 "/proj/llvm/llvm_nc/lib/AsmParser/llvmAsmParser.y"
    3834 case 125:
    3835 #line 1752 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
    37993836 {
    38003837 ((yyval.ConstVector) = (yyvsp[-2].ConstVector))->push_back((yyvsp[0].ConstVal));
    38013838 CHECK_FOR_ERROR
    38023839 ;}
    38033840 break;
    38043841
    3805 case 124:
    3806 #line 1714 "/proj/llvm/llvm_nc/lib/AsmParser/llvmAsmParser.y"
    3842 case 126:
    3843 #line 1756 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
    38073844 {
    38083845 (yyval.ConstVector) = new std::vector();
    38093846 (yyval.ConstVector)->push_back((yyvsp[0].ConstVal));
    38113848 ;}
    38123849 break;
    38133850
    3814 case 125:
    3815 #line 1722 "/proj/llvm/llvm_nc/lib/AsmParser/llvmAsmParser.y"
    3851 case 127:
    3852 #line 1764 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
    38163853 { (yyval.BoolVal) = false; ;}
    38173854 break;
    38183855
    3819 case 126:
    3820 #line 1722 "/proj/llvm/llvm_nc/lib/AsmParser/llvmAsmParser.y"
    3856 case 128:
    3857 #line 1764 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
    38213858 { (yyval.BoolVal) = true; ;}
    38223859 break;
    38233860
    3824 case 127:
    3825 #line 1732 "/proj/llvm/llvm_nc/lib/AsmParser/llvmAsmParser.y"
    3861 case 129:
    3862 #line 1774 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
    38263863 {
    38273864 (yyval.ModuleVal) = ParserResult = (yyvsp[0].ModuleVal);
    38283865 CurModule.ModuleDone();
    38303867 ;}
    38313868 break;
    38323869
    3833 case 128:
    3834 #line 1740 "/proj/llvm/llvm_nc/lib/AsmParser/llvmAsmParser.y"
    3870 case 130:
    3871 #line 1782 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
    38353872 {
    38363873 (yyval.ModuleVal) = (yyvsp[-1].ModuleVal);
    38373874 CurFun.FunctionDone();
    38393876 ;}
    38403877 break;
    38413878
    3842 case 129:
    3843 #line 1745 "/proj/llvm/llvm_nc/lib/AsmParser/llvmAsmParser.y"
    3879 case 131:
    3880 #line 1787 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
    38443881 {
    38453882 (yyval.ModuleVal) = (yyvsp[-1].ModuleVal);
    38463883 CHECK_FOR_ERROR
    38473884 ;}
    38483885 break;
    38493886
    3850 case 130:
    3851 #line 1749 "/proj/llvm/llvm_nc/lib/AsmParser/llvmAsmParser.y"
    3887 case 132:
    3888 #line 1791 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
    38523889 {
    38533890 (yyval.ModuleVal) = (yyvsp[-3].ModuleVal);
    38543891 CHECK_FOR_ERROR
    38553892 ;}
    38563893 break;
    38573894
    3858 case 131:
    3859 #line 1753 "/proj/llvm/llvm_nc/lib/AsmParser/llvmAsmParser.y"
    3895 case 133:
    3896 #line 1795 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
    38603897 {
    38613898 (yyval.ModuleVal) = (yyvsp[-1].ModuleVal);
    38623899 CHECK_FOR_ERROR
    38633900 ;}
    38643901 break;
    38653902
    3866 case 132:
    3867 #line 1757 "/proj/llvm/llvm_nc/lib/AsmParser/llvmAsmParser.y"
    3903 case 134:
    3904 #line 1799 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
    38683905 {
    38693906 (yyval.ModuleVal) = CurModule.CurrentModule;
    38703907 // Emit an error if there are any unresolved types left.
    38803917 ;}
    38813918 break;
    38823919
    3883 case 133:
    3884 #line 1772 "/proj/llvm/llvm_nc/lib/AsmParser/llvmAsmParser.y"
    3920 case 135:
    3921 #line 1814 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
    38853922 {
    38863923 // Eagerly resolve types. This is not an optimization, this is a
    38873924 // requirement that is due to the fact that we could have this:
    39063943 ;}
    39073944 break;
    39083945
    3909 case 134:
    3910 #line 1794 "/proj/llvm/llvm_nc/lib/AsmParser/llvmAsmParser.y"
    3946 case 136:
    3947 #line 1836 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
    39113948 { // Function prototypes can be in const pool
    39123949 CHECK_FOR_ERROR
    39133950 ;}
    39143951 break;
    39153952
    3916 case 135:
    3917 #line 1797 "/proj/llvm/llvm_nc/lib/AsmParser/llvmAsmParser.y"
    3953 case 137:
    3954 #line 1839 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
    39183955 { // Asm blocks can be in the const pool
    39193956 CHECK_FOR_ERROR
    39203957 ;}
    39213958 break;
    39223959
    3923 case 136:
    3924 #line 1800 "/proj/llvm/llvm_nc/lib/AsmParser/llvmAsmParser.y"
    3960 case 138:
    3961 #line 1842 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
    39253962 {
    39263963 if ((yyvsp[0].ConstVal) == 0)
    39273964 GEN_ERROR("Global value initializer is not a constant!");
    39303967 ;}
    39313968 break;
    39323969
    3933 case 137:
    3934 #line 1805 "/proj/llvm/llvm_nc/lib/AsmParser/llvmAsmParser.y"
    3970 case 139:
    3971 #line 1847 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
    39353972 {
    39363973 CurGV = 0;
    39373974 ;}
    39383975 break;
    39393976
    3940 case 138:
    3941 #line 1808 "/proj/llvm/llvm_nc/lib/AsmParser/llvmAsmParser.y"
    3977 case 140:
    3978 #line 1850 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
    39423979 {
    39433980 CurGV = ParseGlobalVariable((yyvsp[-3].StrVal), GlobalValue::ExternalLinkage, (yyvsp[-1].BoolVal), *(yyvsp[0].TypeVal), 0);
    39443981 CHECK_FOR_ERROR
    39463983 ;}
    39473984 break;
    39483985
    3949 case 139:
    3950 #line 1812 "/proj/llvm/llvm_nc/lib/AsmParser/llvmAsmParser.y"
    3986 case 141:
    3987 #line 1854 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
    39513988 {
    39523989 CurGV = 0;
    39533990 CHECK_FOR_ERROR
    39543991 ;}
    39553992 break;
    39563993
    3957 case 140:
    3958 #line 1816 "/proj/llvm/llvm_nc/lib/AsmParser/llvmAsmParser.y"
    3994 case 142:
    3995 #line 1858 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
    39593996 {
    39603997 CurGV = ParseGlobalVariable((yyvsp[-3].StrVal), GlobalValue::DLLImportLinkage, (yyvsp[-1].BoolVal), *(yyvsp[0].TypeVal), 0);
    39613998 CHECK_FOR_ERROR
    39634000 ;}
    39644001 break;
    39654002
    3966 case 141:
    3967 #line 1820 "/proj/llvm/llvm_nc/lib/AsmParser/llvmAsmParser.y"
    4003 case 143:
    4004 #line 1862 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
    39684005 {
    39694006 CurGV = 0;
    39704007 CHECK_FOR_ERROR
    39714008 ;}
    39724009 break;
    39734010
    3974 case 142:
    3975 #line 1824 "/proj/llvm/llvm_nc/lib/AsmParser/llvmAsmParser.y"
    4011 case 144:
    4012 #line 1866 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
    39764013 {
    39774014 CurGV =
    39784015 ParseGlobalVariable((yyvsp[-3].StrVal), GlobalValue::ExternalWeakLinkage, (yyvsp[-1].BoolVal), *(yyvsp[0].TypeVal), 0);
    39814018 ;}
    39824019 break;
    39834020
    3984 case 143:
    3985 #line 1829 "/proj/llvm/llvm_nc/lib/AsmParser/llvmAsmParser.y"
    4021 case 145:
    4022 #line 1871 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
    39864023 {
    39874024 CurGV = 0;
    39884025 CHECK_FOR_ERROR
    39894026 ;}
    39904027 break;
    39914028
    3992 case 144:
    3993 #line 1833 "/proj/llvm/llvm_nc/lib/AsmParser/llvmAsmParser.y"
    4029 case 146:
    4030 #line 1875 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
    39944031 {
    39954032 CHECK_FOR_ERROR
    39964033 ;}
    39974034 break;
    39984035
    3999 case 145:
    4000 #line 1836 "/proj/llvm/llvm_nc/lib/AsmParser/llvmAsmParser.y"
    4001 {
    4002 CHECK_FOR_ERROR
    4003 ;}
    4004 break;
    4005
    4006 case 146:
    4007 #line 1839 "/proj/llvm/llvm_nc/lib/AsmParser/llvmAsmParser.y"
    4036 case 147:
    4037 #line 1878 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
    4038 {
    4039 CHECK_FOR_ERROR
    4040 ;}
    4041 break;
    4042
    4043 case 148:
    4044 #line 1881 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
    40084045 {
    40094046 ;}
    40104047 break;
    40114048
    4012 case 147:
    4013 #line 1843 "/proj/llvm/llvm_nc/lib/AsmParser/llvmAsmParser.y"
    4049 case 149:
    4050 #line 1885 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
    40144051 {
    40154052 const std::string &AsmSoFar = CurModule.CurrentModule->getModuleInlineAsm();
    40164053 char *EndStr = UnEscapeLexed((yyvsp[0].StrVal), true);
    40254062 ;}
    40264063 break;
    40274064
    4028 case 148:
    4029 #line 1856 "/proj/llvm/llvm_nc/lib/AsmParser/llvmAsmParser.y"
    4065 case 150:
    4066 #line 1898 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
    40304067 { (yyval.Endianness) = Module::BigEndian; ;}
    40314068 break;
    40324069
    4033 case 149:
    4034 #line 1857 "/proj/llvm/llvm_nc/lib/AsmParser/llvmAsmParser.y"
    4070 case 151:
    4071 #line 1899 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
    40354072 { (yyval.Endianness) = Module::LittleEndian; ;}
    40364073 break;
    40374074
    4038 case 150:
    4039 #line 1859 "/proj/llvm/llvm_nc/lib/AsmParser/llvmAsmParser.y"
    4075 case 152:
    4076 #line 1901 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
    40404077 {
    40414078 CurModule.CurrentModule->setEndianness((yyvsp[0].Endianness));
    40424079 CHECK_FOR_ERROR
    40434080 ;}
    40444081 break;
    40454082
    4046 case 151:
    4047 #line 1863 "/proj/llvm/llvm_nc/lib/AsmParser/llvmAsmParser.y"
    4083 case 153:
    4084 #line 1905 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
    40484085 {
    40494086 if ((yyvsp[0].UInt64Val) == 32)
    40504087 CurModule.CurrentModule->setPointerSize(Module::Pointer32);
    40564093 ;}
    40574094 break;
    40584095
    4059 case 152:
    4060 #line 1872 "/proj/llvm/llvm_nc/lib/AsmParser/llvmAsmParser.y"
    4096 case 154:
    4097 #line 1914 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
    40614098 {
    40624099 CurModule.CurrentModule->setTargetTriple((yyvsp[0].StrVal));
    40634100 free((yyvsp[0].StrVal));
    40644101 ;}
    40654102 break;
    40664103
    4067 case 153:
    4068 #line 1876 "/proj/llvm/llvm_nc/lib/AsmParser/llvmAsmParser.y"
    4104 case 155:
    4105 #line 1918 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
    40694106 {
    40704107 CurModule.CurrentModule->setDataLayout((yyvsp[0].StrVal));
    40714108 free((yyvsp[0].StrVal));
    40724109 ;}
    40734110 break;
    40744111
    4075 case 155:
    4076 #line 1883 "/proj/llvm/llvm_nc/lib/AsmParser/llvmAsmParser.y"
    4112 case 157:
    4113 #line 1925 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
    40774114 {
    40784115 CurModule.CurrentModule->addLibrary((yyvsp[0].StrVal));
    40794116 free((yyvsp[0].StrVal));
    40814118 ;}
    40824119 break;
    40834120
    4084 case 156:
    4085 #line 1888 "/proj/llvm/llvm_nc/lib/AsmParser/llvmAsmParser.y"
    4121 case 158:
    4122 #line 1930 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
    40864123 {
    40874124 CurModule.CurrentModule->addLibrary((yyvsp[0].StrVal));
    40884125 free((yyvsp[0].StrVal));
    40904127 ;}
    40914128 break;
    40924129
    4093 case 157:
    4094 #line 1893 "/proj/llvm/llvm_nc/lib/AsmParser/llvmAsmParser.y"
    4130 case 159:
    4131 #line 1935 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
    40954132 {
    40964133 CHECK_FOR_ERROR
    40974134 ;}
    40984135 break;
    40994136
    4100 case 161:
    4101 #line 1903 "/proj/llvm/llvm_nc/lib/AsmParser/llvmAsmParser.y"
    4137 case 163:
    4138 #line 1945 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
    41024139 { (yyval.StrVal) = 0; ;}
    41034140 break;
    41044141
    4105 case 162:
    4106 #line 1905 "/proj/llvm/llvm_nc/lib/AsmParser/llvmAsmParser.y"
    4142 case 164:
    4143 #line 1947 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
    41074144 {
    41084145 if (*(yyvsp[-1].TypeVal) == Type::VoidTy)
    41094146 GEN_ERROR("void typed arguments are invalid!");
    41124149 ;}
    41134150 break;
    41144151
    4115 case 163:
    4116 #line 1912 "/proj/llvm/llvm_nc/lib/AsmParser/llvmAsmParser.y"
    4152 case 165:
    4153 #line 1954 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
    41174154 {
    41184155 (yyval.ArgList) = (yyvsp[-2].ArgList);
    41194156 (yyvsp[-2].ArgList)->push_back(*(yyvsp[0].ArgVal));
    41224159 ;}
    41234160 break;
    41244161
    4125 case 164:
    4126 #line 1918 "/proj/llvm/llvm_nc/lib/AsmParser/llvmAsmParser.y"
    4162 case 166:
    4163 #line 1960 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
    41274164 {
    41284165 (yyval.ArgList) = new std::vector >();
    41294166 (yyval.ArgList)->push_back(*(yyvsp[0].ArgVal));
    41324169 ;}
    41334170 break;
    41344171
    4135 case 165:
    4136 #line 1925 "/proj/llvm/llvm_nc/lib/AsmParser/llvmAsmParser.y"
    4172 case 167:
    4173 #line 1967 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
    41374174 {
    41384175 (yyval.ArgList) = (yyvsp[0].ArgList);
    41394176 CHECK_FOR_ERROR
    41404177 ;}
    41414178 break;
    41424179
    4143 case 166:
    4144 #line 1929 "/proj/llvm/llvm_nc/lib/AsmParser/llvmAsmParser.y"
    4180 case 168:
    4181 #line 1971 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
    41454182 {
    41464183 (yyval.ArgList) = (yyvsp[-2].ArgList);
    41474184 (yyval.ArgList)->push_back(std::pair
    41504187 ;}
    41514188 break;
    41524189
    4153 case 167:
    4154 #line 1935 "/proj/llvm/llvm_nc/lib/AsmParser/llvmAsmParser.y"
    4190 case 169:
    4191 #line 1977 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
    41554192 {
    41564193 (yyval.ArgList) = new std::vector >();
    41574194 (yyval.ArgList)->push_back(std::make_pair(new PATypeHolder(Type::VoidTy), (char*)0));
    41594196 ;}
    41604197 break;
    41614198
    4162 case 168:
    4163 #line 1940 "/proj/llvm/llvm_nc/lib/AsmParser/llvmAsmParser.y"
    4199 case 170:
    4200 #line 1982 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
    41644201 {
    41654202 (yyval.ArgList) = 0;
    41664203 CHECK_FOR_ERROR
    41674204 ;}
    41684205 break;
    41694206
    4170 case 169:
    4171 #line 1946 "/proj/llvm/llvm_nc/lib/AsmParser/llvmAsmParser.y"
    4207 case 171:
    4208 #line 1988 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
    41724209 {
    41734210 UnEscapeLexed((yyvsp[-5].StrVal));
    41744211 std::string FunctionName((yyvsp[-5].StrVal));
    42644301 ;}
    42654302 break;
    42664303
    4267 case 172:
    4268 #line 2042 "/proj/llvm/llvm_nc/lib/AsmParser/llvmAsmParser.y"
    4304 case 174:
    4305 #line 2084 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
    42694306 {
    42704307 (yyval.FunctionVal) = CurFun.CurrentFunction;
    42714308
    42754312 ;}
    42764313 break;
    42774314
    4278 case 175:
    4279 #line 2052 "/proj/llvm/llvm_nc/lib/AsmParser/llvmAsmParser.y"
    4315 case 177:
    4316 #line 2094 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
    42804317 {
    42814318 (yyval.FunctionVal) = (yyvsp[-1].FunctionVal);
    42824319 CHECK_FOR_ERROR
    42834320 ;}
    42844321 break;
    42854322
    4286 case 177:
    4287 #line 2058 "/proj/llvm/llvm_nc/lib/AsmParser/llvmAsmParser.y"
    4323 case 179:
    4324 #line 2100 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
    42884325 { CurFun.Linkage = GlobalValue::DLLImportLinkage ;}
    42894326 break;
    42904327
    4291 case 178:
    4292 #line 2059 "/proj/llvm/llvm_nc/lib/AsmParser/llvmAsmParser.y"
    4328 case 180:
    4329 #line 2101 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
    42934330 { CurFun.Linkage = GlobalValue::DLLImportLinkage ;}
    42944331 break;
    42954332
    4296 case 179:
    4297 #line 2061 "/proj/llvm/llvm_nc/lib/AsmParser/llvmAsmParser.y"
    4333 case 181:
    4334 #line 2103 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
    42984335 { CurFun.isDeclare = true; ;}
    42994336 break;
    43004337
    4301 case 180:
    4302 #line 2061 "/proj/llvm/llvm_nc/lib/AsmParser/llvmAsmParser.y"
    4338 case 182:
    4339 #line 2103 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
    43034340 {
    43044341 (yyval.FunctionVal) = CurFun.CurrentFunction;
    43054342 CurFun.FunctionDone();
    43074344 ;}
    43084345 break;
    43094346
    4310 case 181:
    4311 #line 2071 "/proj/llvm/llvm_nc/lib/AsmParser/llvmAsmParser.y"
    4347 case 183:
    4348 #line 2113 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
    43124349 {
    43134350 (yyval.BoolVal) = false;
    43144351 CHECK_FOR_ERROR
    43154352 ;}
    43164353 break;
    43174354
    4318 case 182:
    4319 #line 2075 "/proj/llvm/llvm_nc/lib/AsmParser/llvmAsmParser.y"
    4355 case 184:
    4356 #line 2117 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
    43204357 {
    43214358 (yyval.BoolVal) = true;
    43224359 CHECK_FOR_ERROR
    43234360 ;}
    43244361 break;
    43254362
    4326 case 183:
    4327 #line 2080 "/proj/llvm/llvm_nc/lib/AsmParser/llvmAsmParser.y"
    4363 case 185:
    4364 #line 2122 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
    43284365 { // A reference to a direct constant
    43294366 (yyval.ValIDVal) = ValID::create((yyvsp[0].SInt64Val));
    43304367 CHECK_FOR_ERROR
    43314368 ;}
    43324369 break;
    43334370
    4334 case 184:
    4335 #line 2084 "/proj/llvm/llvm_nc/lib/AsmParser/llvmAsmParser.y"