From sabre at nondot.org Mon Dec 15 00:34:48 2008 From: sabre at nondot.org (Chris Lattner) Date: Mon, 15 Dec 2008 06:34:48 -0000 Subject: [llvm-commits] [llvm] r61028 - in /llvm/trunk: lib/Target/README.txt test/Transforms/GVN/lpre-call-wrap.ll Message-ID: <200812150634.mBF6YmeJ025459@zion.cs.uiuc.edu> Author: lattner Date: Mon Dec 15 00:34:48 2008 New Revision: 61028 URL: http://llvm.org/viewvc/llvm-project?rev=61028&view=rev Log: gvn now hoists this load out of the hot non-call path. Added: llvm/trunk/test/Transforms/GVN/lpre-call-wrap.ll Modified: llvm/trunk/lib/Target/README.txt Modified: llvm/trunk/lib/Target/README.txt URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/README.txt?rev=61028&r1=61027&r2=61028&view=diff ============================================================================== --- llvm/trunk/lib/Target/README.txt (original) +++ llvm/trunk/lib/Target/README.txt Mon Dec 15 00:34:48 2008 @@ -1404,32 +1404,3 @@ //===---------------------------------------------------------------------===// -This C++ file: -void g(); struct A { int n; int m; A& operator++(void) { ++n; if (n == m) g(); -return *this; } A() : n(0), m(0) { } friend bool operator!=(A const& a1, -A const& a2) { return a1.n != a2.n; } }; void testfunction(A& iter) { A const -end; while (iter != end) ++iter; } - -Compiles down to: - -bb: ; preds = %bb3.backedge, %bb.nph - %.rle = phi i32 [ %1, %bb.nph ], [ %7, %bb3.backedge ] ; [#uses=1] - %4 = add i32 %.rle, 1 ; [#uses=2] - store i32 %4, i32* %0, align 4 - %5 = load i32* %3, align 4 ; [#uses=1] - %6 = icmp eq i32 %4, %5 ; [#uses=1] - br i1 %6, label %bb1, label %bb3.backedge - -bb1: ; preds = %bb - tail call void @_Z1gv() - br label %bb3.backedge - -bb3.backedge: ; preds = %bb, %bb1 - %7 = load i32* %0, align 4 ; [#uses=2] - - -The %7 load is partially redundant with the store of %4 to %0, GVN's PRE -should remove it, but it doesn't apply to memory objects. - -//===---------------------------------------------------------------------===// - Added: llvm/trunk/test/Transforms/GVN/lpre-call-wrap.ll URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Transforms/GVN/lpre-call-wrap.ll?rev=61028&view=auto ============================================================================== --- llvm/trunk/test/Transforms/GVN/lpre-call-wrap.ll (added) +++ llvm/trunk/test/Transforms/GVN/lpre-call-wrap.ll Mon Dec 15 00:34:48 2008 @@ -0,0 +1,54 @@ +; RUN: llvm-as < %s | opt -gvn -enable-load-pre | llvm-dis > %t +; RUN: %prcontext bb3.backedge: 2 < %t | grep phi +; RUN: %prcontext bb3.backedge: 2 < %t | not grep load +; +; Make sure the load in bb3.backedge is removed and moved into bb1 after the +; call. This makes the non-call case faster. +; +; This test is derived from this C++ code: +; void g(); +; struct A { +; int n; int m; +; A& operator++(void) { ++n; if (n == m) g(); return *this; } +; A() : n(0), m(0) { } +; friend bool operator!=(A const& a1, A const& a2) { return a1.n != a2.n; } +; }; +; void testfunction(A& iter) { A const end; while (iter != end) ++iter; } +; +target datalayout = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:64:64-v128:128:128-a0:0:64-f80:128:128" +target triple = "i386-apple-darwin7" + %struct.A = type { i32, i32 } + +define void @_Z12testfunctionR1A(%struct.A* %iter) { +entry: + %0 = getelementptr %struct.A* %iter, i32 0, i32 0 ; [#uses=3] + %1 = load i32* %0, align 4 ; [#uses=2] + %2 = icmp eq i32 %1, 0 ; [#uses=1] + br i1 %2, label %return, label %bb.nph + +bb.nph: ; preds = %entry + %3 = getelementptr %struct.A* %iter, i32 0, i32 1 ; [#uses=1] + br label %bb + +bb: ; preds = %bb3.backedge, %bb.nph + %.rle = phi i32 [ %1, %bb.nph ], [ %7, %bb3.backedge ] ; [#uses=1] + %4 = add i32 %.rle, 1 ; [#uses=2] + store i32 %4, i32* %0, align 4 + %5 = load i32* %3, align 4 ; [#uses=1] + %6 = icmp eq i32 %4, %5 ; [#uses=1] + br i1 %6, label %bb1, label %bb3.backedge + +bb1: ; preds = %bb + tail call void @_Z1gv() + br label %bb3.backedge + +bb3.backedge: ; preds = %bb, %bb1 + %7 = load i32* %0, align 4 ; [#uses=2] + %8 = icmp eq i32 %7, 0 ; [#uses=1] + br i1 %8, label %return, label %bb + +return: ; preds = %bb3.backedge, %entry + ret void +} + +declare void @_Z1gv() From wangmp at apple.com Mon Dec 15 00:57:03 2008 From: wangmp at apple.com (Mon P Wang) Date: Mon, 15 Dec 2008 06:57:03 -0000 Subject: [llvm-commits] [llvm] r61029 - in /llvm/trunk: lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp lib/CodeGen/SelectionDAG/LegalizeTypes.h lib/CodeGen/SelectionDAG/LegalizeTypesGeneric.cpp test/CodeGen/X86/insertelement-legalize.ll Message-ID: <200812150657.mBF6v3CU026129@zion.cs.uiuc.edu> Author: wangmp Date: Mon Dec 15 00:57:02 2008 New Revision: 61029 URL: http://llvm.org/viewvc/llvm-project?rev=61029&view=rev Log: Added support to LegalizeType for expanding the operands of scalar to vector and insert vector element. Modified extract vector element to extend the result to match the expected promoted type. Added: llvm/trunk/test/CodeGen/X86/insertelement-legalize.ll Modified: llvm/trunk/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp llvm/trunk/lib/CodeGen/SelectionDAG/LegalizeTypes.h llvm/trunk/lib/CodeGen/SelectionDAG/LegalizeTypesGeneric.cpp Modified: llvm/trunk/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp?rev=61029&r1=61028&r2=61029&view=diff ============================================================================== --- llvm/trunk/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp (original) +++ llvm/trunk/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp Mon Dec 15 00:57:02 2008 @@ -359,8 +359,10 @@ if (TLI.isBigEndian()) std::swap(Lo, Hi); + // Signed extend to the promoted type. SDValue Odd = DAG.getNode(ISD::TRUNCATE, MVT::i1, OldIdx); - return DAG.getNode(ISD::SELECT, NewVT, Odd, Hi, Lo); + SDValue Res = DAG.getNode(ISD::SELECT, NewVT, Odd, Hi, Lo); + return DAG.getNode(ISD::ANY_EXTEND, TLI.getTypeToTransformTo(OldVT), Res); } SDValue DAGTypeLegalizer::PromoteIntRes_FP_TO_XINT(SDNode *N) { @@ -1938,9 +1940,11 @@ assert(0 && "Do not know how to expand this operator's operand!"); abort(); - case ISD::BUILD_VECTOR: Res = ExpandOp_BUILD_VECTOR(N); break; - case ISD::BIT_CONVERT: Res = ExpandOp_BIT_CONVERT(N); break; - case ISD::EXTRACT_ELEMENT: Res = ExpandOp_EXTRACT_ELEMENT(N); break; + case ISD::BUILD_VECTOR: Res = ExpandOp_BUILD_VECTOR(N); break; + case ISD::BIT_CONVERT: Res = ExpandOp_BIT_CONVERT(N); break; + case ISD::EXTRACT_ELEMENT: Res = ExpandOp_EXTRACT_ELEMENT(N); break; + case ISD::INSERT_VECTOR_ELT: Res = ExpandOp_INSERT_VECTOR_ELT(N); break; + case ISD::SCALAR_TO_VECTOR: Res = ExpandOp_SCALAR_TO_VECTOR(N); break; case ISD::BR_CC: Res = ExpandIntOp_BR_CC(N); break; case ISD::SELECT_CC: Res = ExpandIntOp_SELECT_CC(N); break; Modified: llvm/trunk/lib/CodeGen/SelectionDAG/LegalizeTypes.h URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/SelectionDAG/LegalizeTypes.h?rev=61029&r1=61028&r2=61029&view=diff ============================================================================== --- llvm/trunk/lib/CodeGen/SelectionDAG/LegalizeTypes.h (original) +++ llvm/trunk/lib/CodeGen/SelectionDAG/LegalizeTypes.h Mon Dec 15 00:57:02 2008 @@ -613,11 +613,12 @@ void ExpandRes_VAARG (SDNode *N, SDValue &Lo, SDValue &Hi); // Generic Operand Expansion. - SDValue ExpandOp_BIT_CONVERT (SDNode *N); - SDValue ExpandOp_BUILD_VECTOR (SDNode *N); - SDValue ExpandOp_EXTRACT_ELEMENT(SDNode *N); - SDValue ExpandOp_NormalStore (SDNode *N, unsigned OpNo); - + SDValue ExpandOp_BIT_CONVERT (SDNode *N); + SDValue ExpandOp_BUILD_VECTOR (SDNode *N); + SDValue ExpandOp_EXTRACT_ELEMENT (SDNode *N); + SDValue ExpandOp_INSERT_VECTOR_ELT(SDNode *N); + SDValue ExpandOp_SCALAR_TO_VECTOR (SDNode *N); + SDValue ExpandOp_NormalStore (SDNode *N, unsigned OpNo); }; } // end namespace llvm. Modified: llvm/trunk/lib/CodeGen/SelectionDAG/LegalizeTypesGeneric.cpp URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/SelectionDAG/LegalizeTypesGeneric.cpp?rev=61029&r1=61028&r2=61029&view=diff ============================================================================== --- llvm/trunk/lib/CodeGen/SelectionDAG/LegalizeTypesGeneric.cpp (original) +++ llvm/trunk/lib/CodeGen/SelectionDAG/LegalizeTypesGeneric.cpp Mon Dec 15 00:57:02 2008 @@ -280,6 +280,49 @@ return cast(N->getOperand(1))->getZExtValue() ? Hi : Lo; } +SDValue DAGTypeLegalizer::ExpandOp_INSERT_VECTOR_ELT(SDNode *N) { + // The vector type is legal but the element type needs expansion. + MVT VecVT = N->getValueType(0); + unsigned NumElts = VecVT.getVectorNumElements(); + + SDValue Val = N->getOperand(1); + MVT OldEVT = Val.getValueType(); + MVT NewEVT = TLI.getTypeToTransformTo(OldEVT); + + assert(OldEVT == VecVT.getVectorElementType() && + "Inserted element type doesn't match vector element type!"); + + // Bitconvert to a vector of twice the length with elements of the expanded + // type, insert the expanded vector elements, and then convert back. + MVT NewVecVT = MVT::getVectorVT(NewEVT, NumElts*2); + SDValue NewVec = DAG.getNode(ISD::BIT_CONVERT, NewVecVT, N->getOperand(0)); + + SDValue Lo, Hi; + GetExpandedOp(Val, Lo, Hi); + if (TLI.isBigEndian()) + std::swap(Lo, Hi); + + SDValue Idx = N->getOperand(2); + Idx = DAG.getNode(ISD::ADD, Idx.getValueType(), Idx, Idx); + NewVec = DAG.getNode(ISD::INSERT_VECTOR_ELT, NewVecVT, NewVec, Lo, Idx); + Idx = DAG.getNode(ISD::ADD,Idx.getValueType(), Idx, DAG.getIntPtrConstant(1)); + NewVec = DAG.getNode(ISD::INSERT_VECTOR_ELT, NewVecVT, NewVec, Hi, Idx); + + // Convert the new vector to the old vector type. + return DAG.getNode(ISD::BIT_CONVERT, VecVT, NewVec); +} + +SDValue DAGTypeLegalizer::ExpandOp_SCALAR_TO_VECTOR(SDNode *N) { + MVT VT = N->getValueType(0); + unsigned NumElts = VT.getVectorNumElements(); + SmallVector Ops(NumElts); + Ops[0] = N->getOperand(0); + SDValue UndefVal = DAG.getNode(ISD::UNDEF, Ops[0].getValueType()); + for (unsigned i = 1; i < NumElts; ++i) + Ops[i] = UndefVal; + return DAG.getNode(ISD::BUILD_VECTOR, VT, &Ops[0], NumElts); +} + SDValue DAGTypeLegalizer::ExpandOp_NormalStore(SDNode *N, unsigned OpNo) { assert(ISD::isNormalStore(N) && "This routine only for normal stores!"); assert(OpNo == 1 && "Can only expand the stored value so far"); Added: llvm/trunk/test/CodeGen/X86/insertelement-legalize.ll URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/X86/insertelement-legalize.ll?rev=61029&view=auto ============================================================================== --- llvm/trunk/test/CodeGen/X86/insertelement-legalize.ll (added) +++ llvm/trunk/test/CodeGen/X86/insertelement-legalize.ll Mon Dec 15 00:57:02 2008 @@ -0,0 +1,10 @@ +; RUN: llvm-as < %s | llc -march=x86 -disable-mmx + +; Test to check that we properly legalize an insert vector element +define void @test(<2 x i64> %val, <2 x i64>* %dst, i64 %x) nounwind { +entry: + %tmp4 = insertelement <2 x i64> %val, i64 %x, i32 0 ; <<2 x i64>> [#uses=1] + %add = add <2 x i64> %tmp4, %val ; <<2 x i64>> [#uses=1] + store <2 x i64> %add, <2 x i64>* %dst + ret void +} From monping at apple.com Mon Dec 15 00:57:06 2008 From: monping at apple.com (Mon Ping Wang) Date: Sun, 14 Dec 2008 22:57:06 -0800 Subject: [llvm-commits] Patch: LegalizeType for promoting some operands In-Reply-To: <200812142111.51375.baldrick@free.fr> References: <7BF246A0-A2EB-4C0E-A20F-0A65A0A62BBC@apple.com> <200812142111.51375.baldrick@free.fr> Message-ID: <097BCB71-324A-4544-BA2B-B2EAA1A2231C@apple.com> Hi Duncan, On Dec 14, 2008, at 9:11 PM, Duncan Sands wrote: > Hi Mon Ping, > >> - return DAG.getNode(ISD::SELECT, NewVT, Odd, Hi, Lo); >> + SDValue Res = DAG.getNode(ISD::SELECT, NewVT, Odd, Hi, Lo); >> + MVT NVT = TLI.getTypeToTransformTo(OldVT); >> + if (Res.getValueType() != NVT) { >> + assert(Res.getValueType().getSizeInBits() < NVT.getSizeInBits >> () && >> + "Unexpected Result Type"); >> + Res = DAG.getNode(ISD::ANY_EXTEND, NVT, Res); >> + } > > you might as well not bother testing Res.getValueType() != NVT, and > always do the extension. If the types are equal then SelectionDAG > will fold the node and simply return Res. The assertion is also > useless: this is checked by the getNode call. > I have removed this test. >> + MVT OldEVT = Val.getValueType(); > > Please add an assertion that this is the same as the vector element > type. > Done. >> + // BitConvert a vector of twice the length out of the expanded >> elements, > > -> Bitconvert to a vector of twice the length with elements of the > expanded type, > >> + SDValue Idx = N->getOperand(2); >> + if (ConstantSDNode *CIdx = dyn_cast(Idx)) { >> + unsigned IdxVal = CIdx->getZExtValue()*2; >> + NewVec = DAG.getNode(ISD::INSERT_VECTOR_ELT, NewVecVT, NewVec, >> Lo, >> + DAG.getIntPtrConstant(IdxVal)); >> + NewVec = DAG.getNode(ISD::INSERT_VECTOR_ELT, NewVecVT, >> NewVec, Hi, >> + DAG.getIntPtrConstant(IdxVal + 1)); >> + } else { >> + Idx = DAG.getNode(ISD::SHL, Idx.getValueType(), Idx, >> + DAG.getIntPtrConstant(1)); >> + NewVec = DAG.getNode(ISD::INSERT_VECTOR_ELT, NewVecVT, NewVec, >> Lo, >> Idx); + Idx = DAG.getNode(ISD::ADD, Idx.getValueType(), Idx, >> + DAG.getIntPtrConstant(1)); >> + NewVec = DAG.getNode(ISD::INSERT_VECTOR_ELT, NewVecVT, >> NewVec, Hi, >> Idx); + } > > I think you should drop the special version for constants, and keep > the second version. Also, in the second version it seems better to > calculate 2*Idx by adding Idx to itself, rather than shifting left > by 1. > Since DAGCombine will optimized the case of a constant, I remove the special version to keep the code cleaner. >> + for (unsigned i=1; i < NumElts; ++i) > > Missing spaces around the equals sign. > Done. Thanks for the review, -- Mon Ping From nicholas at mxc.ca Mon Dec 15 01:29:55 2008 From: nicholas at mxc.ca (Nick Lewycky) Date: Mon, 15 Dec 2008 07:29:55 -0000 Subject: [llvm-commits] [llvm] r61030 - in /llvm/trunk: include/llvm/Attributes.h lib/AsmParser/llvmAsmParser.y lib/Bitcode/Writer/BitcodeWriter.cpp lib/VMCore/Attributes.cpp Message-ID: <200812150729.mBF7Ttg3027174@zion.cs.uiuc.edu> Author: nicholas Date: Mon Dec 15 01:29:55 2008 New Revision: 61030 URL: http://llvm.org/viewvc/llvm-project?rev=61030&view=rev Log: It turns out that "align 1" and unaligned are different. Add a bias to the alignment attribute such that 0 means unaligned. This will probably require a rebuild of llvm-gcc because of the change to Attributes.h. If you see many test failures on "make check", please rebuild your llvm-gcc. Modified: llvm/trunk/include/llvm/Attributes.h llvm/trunk/lib/AsmParser/llvmAsmParser.y llvm/trunk/lib/Bitcode/Writer/BitcodeWriter.cpp llvm/trunk/lib/VMCore/Attributes.cpp Modified: llvm/trunk/include/llvm/Attributes.h URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/Attributes.h?rev=61030&r1=61029&r2=61030&view=diff ============================================================================== --- llvm/trunk/include/llvm/Attributes.h (original) +++ llvm/trunk/include/llvm/Attributes.h Mon Dec 15 01:29:55 2008 @@ -51,7 +51,8 @@ const Attributes StackProtect = 1<<14; ///< Stack protection. const Attributes StackProtectReq = 1<<15; ///< Stack protection required. const Attributes Alignment = 31<<16; ///< Alignment of parameter (5 bits) - // stored as log2 of alignment. + // stored as log2 of alignment with +1 bias + // 0 means unaligned different from align 1 const Attributes NoCapture = 1<<21; ///< Function creates no aliases of pointer /// @brief Attributes that only apply to function parameters. @@ -79,7 +80,8 @@ /// form used internally in Attributes. inline Attributes constructAlignmentFromInt(unsigned i) { assert(isPowerOf2_32(i) && "Alignment must be a power of two."); - return Log2_32(i) << 16; + assert(i <= 0x40000000 && "Alignment too large."); + return (Log2_32(i)+1) << 16; } /// The set of Attributes set in Attributes is converted to a @@ -178,7 +180,7 @@ /// getParamAlignment - Return the alignment for the specified function /// parameter. unsigned getParamAlignment(unsigned Idx) const { - return (getAttributes(Idx) & Attribute::Alignment) >> 16; + return 1ull << (((getAttributes(Idx) & Attribute::Alignment) >> 16) - 1); } /// hasAttrSomewhere - Return true if the specified attribute is set for at Modified: llvm/trunk/lib/AsmParser/llvmAsmParser.y URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/AsmParser/llvmAsmParser.y?rev=61030&r1=61029&r2=61030&view=diff ============================================================================== --- llvm/trunk/lib/AsmParser/llvmAsmParser.y (original) +++ llvm/trunk/lib/AsmParser/llvmAsmParser.y Mon Dec 15 01:29:55 2008 @@ -1332,6 +1332,8 @@ $$ = $2; if ($$ != 0 && !isPowerOf2_32($$)) GEN_ERROR("Alignment must be a power of two"); + if ($$ > 0x40000000) + GEN_ERROR("Alignment too large"); CHECK_FOR_ERROR }; OptCAlign : /*empty*/ { $$ = 0; } | @@ -1339,6 +1341,8 @@ $$ = $3; if ($$ != 0 && !isPowerOf2_32($$)) GEN_ERROR("Alignment must be a power of two"); + if ($$ > 0x40000000) + GEN_ERROR("Alignment too large"); CHECK_FOR_ERROR }; @@ -1368,6 +1372,8 @@ | ALIGN EUINT64VAL { if ($2 != 0 && !isPowerOf2_32($2)) GEN_ERROR("Alignment must be a power of two"); + if ($2 > 0x40000000) + GEN_ERROR("Alignment too large"); CurGV->setAlignment($2); CHECK_FOR_ERROR }; Modified: llvm/trunk/lib/Bitcode/Writer/BitcodeWriter.cpp URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Bitcode/Writer/BitcodeWriter.cpp?rev=61030&r1=61029&r2=61030&view=diff ============================================================================== --- llvm/trunk/lib/Bitcode/Writer/BitcodeWriter.cpp (original) +++ llvm/trunk/lib/Bitcode/Writer/BitcodeWriter.cpp Mon Dec 15 01:29:55 2008 @@ -128,7 +128,8 @@ // 5-bit log2 encoded value. Shift the bits above the alignment up by // 11 bits. uint64_t FauxAttr = PAWI.Attrs & 0xffff; - FauxAttr |= (1ull<<16)<<((PAWI.Attrs & Attribute::Alignment) >> 16); + if (PAWI.Attrs & Attribute::Alignment) + FauxAttr |= (1ull<<16)<<(((PAWI.Attrs & Attribute::Alignment)-1) >> 16); FauxAttr |= (PAWI.Attrs & (0x3FFull << 21)) << 11; Record.push_back(FauxAttr); Modified: llvm/trunk/lib/VMCore/Attributes.cpp URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/VMCore/Attributes.cpp?rev=61030&r1=61029&r2=61030&view=diff ============================================================================== --- llvm/trunk/lib/VMCore/Attributes.cpp (original) +++ llvm/trunk/lib/VMCore/Attributes.cpp Mon Dec 15 01:29:55 2008 @@ -61,7 +61,7 @@ Result += "sspreq "; if (Attrs & Attribute::Alignment) { Result += "align "; - Result += utostr(1ull << ((Attrs & Attribute::Alignment)>>16)); + Result += utostr(1ull << (((Attrs & Attribute::Alignment)>>16) - 1)); Result += " "; } // Trim the trailing space. From nicholas at mxc.ca Mon Dec 15 01:31:07 2008 From: nicholas at mxc.ca (Nick Lewycky) Date: Mon, 15 Dec 2008 07:31:07 -0000 Subject: [llvm-commits] [llvm] r61031 - in /llvm/trunk/lib/AsmParser: llvmAsmParser.cpp.cvs llvmAsmParser.h.cvs llvmAsmParser.y.cvs Message-ID: <200812150731.mBF7V8pM027229@zion.cs.uiuc.edu> Author: nicholas Date: Mon Dec 15 01:31:07 2008 New Revision: 61031 URL: http://llvm.org/viewvc/llvm-project?rev=61031&view=rev Log: Update generated files after nocapture syntax change. Modified: llvm/trunk/lib/AsmParser/llvmAsmParser.cpp.cvs llvm/trunk/lib/AsmParser/llvmAsmParser.h.cvs llvm/trunk/lib/AsmParser/llvmAsmParser.y.cvs Modified: llvm/trunk/lib/AsmParser/llvmAsmParser.cpp.cvs URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/AsmParser/llvmAsmParser.cpp.cvs?rev=61031&r1=61030&r2=61031&view=diff ============================================================================== --- llvm/trunk/lib/AsmParser/llvmAsmParser.cpp.cvs (original) +++ llvm/trunk/lib/AsmParser/llvmAsmParser.cpp.cvs Mon Dec 15 01:31:07 2008 @@ -219,8 +219,8 @@ SRET = 400, NOUNWIND = 401, NOALIAS = 402, - BYVAL = 403, - NEST = 404, + NOCAPTURE = 403, + BYVAL = 404, READNONE = 405, READONLY = 406, GC = 407, @@ -229,9 +229,10 @@ ALWAYSINLINE = 410, SSP = 411, SSPREQ = 412, - DEFAULT = 413, - HIDDEN = 414, - PROTECTED = 415 + NEST = 413, + DEFAULT = 414, + HIDDEN = 415, + PROTECTED = 416 }; #endif /* Tokens. */ @@ -380,8 +381,8 @@ #define SRET 400 #define NOUNWIND 401 #define NOALIAS 402 -#define BYVAL 403 -#define NEST 404 +#define NOCAPTURE 403 +#define BYVAL 404 #define READNONE 405 #define READONLY 406 #define GC 407 @@ -390,9 +391,10 @@ #define ALWAYSINLINE 410 #define SSP 411 #define SSPREQ 412 -#define DEFAULT 413 -#define HIDDEN 414 -#define PROTECTED 415 +#define NEST 413 +#define DEFAULT 414 +#define HIDDEN 415 +#define PROTECTED 416 @@ -1440,7 +1442,7 @@ llvm::FCmpInst::Predicate FPredicate; } /* Line 187 of yacc.c. */ -#line 1444 "llvmAsmParser.tab.c" +#line 1446 "llvmAsmParser.tab.c" YYSTYPE; # define yystype YYSTYPE /* obsolescent; will be withdrawn */ # define YYSTYPE_IS_DECLARED 1 @@ -1453,7 +1455,7 @@ /* Line 216 of yacc.c. */ -#line 1457 "llvmAsmParser.tab.c" +#line 1459 "llvmAsmParser.tab.c" #ifdef short # undef short @@ -1668,20 +1670,20 @@ /* YYFINAL -- State number of the termination state. */ #define YYFINAL 44 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 2434 +#define YYLAST 2372 /* YYNTOKENS -- Number of terminals. */ -#define YYNTOKENS 175 +#define YYNTOKENS 176 /* YYNNTS -- Number of nonterminals. */ #define YYNNTS 87 /* YYNRULES -- Number of rules. */ -#define YYNRULES 351 +#define YYNRULES 352 /* YYNRULES -- Number of states. */ -#define YYNSTATES 711 +#define YYNSTATES 712 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ #define YYUNDEFTOK 2 -#define YYMAXUTOK 415 +#define YYMAXUTOK 416 #define YYTRANSLATE(YYX) \ ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) @@ -1693,15 +1695,15 @@ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 161, 162, 165, 2, 164, 2, 2, 2, 2, 2, + 162, 163, 166, 2, 165, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 170, 163, 171, 2, 2, 2, 2, 2, 2, 2, + 171, 164, 172, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 167, 166, 169, 2, 2, 2, 2, 2, 174, + 2, 168, 167, 170, 2, 2, 2, 2, 2, 175, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 168, 2, 2, 172, 2, 173, 2, 2, 2, 2, + 169, 2, 2, 173, 2, 174, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, @@ -1730,7 +1732,7 @@ 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, - 155, 156, 157, 158, 159, 160 + 155, 156, 157, 158, 159, 160, 161 }; #if YYDEBUG @@ -1749,37 +1751,37 @@ 160, 162, 164, 166, 167, 169, 171, 172, 174, 176, 178, 180, 181, 183, 185, 186, 188, 190, 192, 194, 196, 199, 201, 203, 205, 207, 209, 211, 213, 215, - 217, 220, 221, 224, 226, 228, 230, 232, 233, 236, + 217, 219, 222, 223, 226, 228, 230, 232, 234, 235, 238, 240, 242, 244, 246, 248, 250, 252, 254, 256, - 258, 260, 261, 264, 265, 268, 269, 272, 273, 277, - 280, 281, 283, 284, 288, 290, 293, 295, 297, 299, - 301, 303, 305, 307, 309, 311, 315, 317, 320, 326, - 332, 338, 344, 348, 351, 357, 362, 365, 367, 369, - 371, 375, 377, 381, 383, 384, 386, 390, 395, 399, - 403, 408, 413, 417, 424, 430, 433, 436, 439, 442, - 445, 448, 451, 454, 457, 460, 463, 466, 473, 479, - 488, 495, 502, 510, 518, 526, 534, 541, 550, 559, - 565, 573, 577, 579, 581, 583, 585, 586, 589, 596, - 598, 599, 601, 604, 605, 609, 610, 614, 618, 622, - 626, 627, 636, 637, 647, 648, 658, 664, 667, 671, - 673, 677, 681, 685, 689, 691, 692, 698, 702, 704, - 708, 710, 711, 723, 725, 727, 732, 734, 736, 739, - 743, 744, 746, 748, 750, 752, 754, 756, 758, 760, - 762, 764, 766, 770, 774, 777, 780, 784, 787, 793, - 798, 800, 806, 808, 810, 812, 814, 816, 818, 821, - 823, 827, 830, 833, 837, 841, 844, 845, 847, 850, - 853, 857, 867, 877, 886, 902, 904, 906, 913, 919, - 922, 925, 932, 940, 945, 950, 957, 964, 965, 966, - 970, 973, 977, 980, 982, 988, 994, 1001, 1008, 1015, - 1022, 1027, 1034, 1039, 1044, 1051, 1058, 1061, 1071, 1073, - 1075, 1076, 1080, 1087, 1091, 1098, 1101, 1107, 1115, 1121, - 1126, 1131 + 258, 260, 262, 263, 266, 267, 270, 271, 274, 275, + 279, 282, 283, 285, 286, 290, 292, 295, 297, 299, + 301, 303, 305, 307, 309, 311, 313, 317, 319, 322, + 328, 334, 340, 346, 350, 353, 359, 364, 367, 369, + 371, 373, 377, 379, 383, 385, 386, 388, 392, 397, + 401, 405, 410, 415, 419, 426, 432, 435, 438, 441, + 444, 447, 450, 453, 456, 459, 462, 465, 468, 475, + 481, 490, 497, 504, 512, 520, 528, 536, 543, 552, + 561, 567, 575, 579, 581, 583, 585, 587, 588, 591, + 598, 600, 601, 603, 606, 607, 611, 612, 616, 620, + 624, 628, 629, 638, 639, 649, 650, 660, 666, 669, + 673, 675, 679, 683, 687, 691, 693, 694, 700, 704, + 706, 710, 712, 713, 725, 727, 729, 734, 736, 738, + 741, 745, 746, 748, 750, 752, 754, 756, 758, 760, + 762, 764, 766, 768, 772, 776, 779, 782, 786, 789, + 795, 800, 802, 808, 810, 812, 814, 816, 818, 820, + 823, 825, 829, 832, 835, 839, 843, 846, 847, 849, + 852, 855, 859, 869, 879, 888, 904, 906, 908, 915, + 921, 924, 927, 934, 942, 947, 952, 959, 966, 967, + 968, 972, 975, 979, 982, 984, 990, 996, 1003, 1010, + 1017, 1024, 1029, 1036, 1041, 1046, 1053, 1060, 1063, 1073, + 1075, 1077, 1078, 1082, 1089, 1093, 1100, 1103, 1109, 1117, + 1123, 1128, 1133 }; /* YYRHS -- A `-1'-separated list of the rules' RHS. */ static const yytype_int16 yyrhs[] = { - 222, 0, -1, 75, -1, 76, -1, 77, -1, 78, + 223, 0, -1, 75, -1, 76, -1, 77, -1, 78, -1, 79, -1, 80, -1, 81, -1, 82, -1, 83, -1, 87, -1, 88, -1, 89, -1, 84, -1, 85, -1, 86, -1, 120, -1, 121, -1, 122, -1, 123, @@ -1790,109 +1792,110 @@ -1, 106, -1, 107, -1, 108, -1, 109, -1, 110, -1, 111, -1, 112, -1, 113, -1, 100, -1, 101, -1, 102, -1, 103, -1, 26, -1, 27, -1, 19, - -1, 22, -1, 24, -1, 181, -1, -1, 55, 161, - 4, 162, -1, -1, 181, 163, -1, -1, 7, 163, - -1, 20, -1, 23, -1, 188, -1, -1, 186, 163, + -1, 22, -1, 24, -1, 182, -1, -1, 55, 162, + 4, 163, -1, -1, 182, 164, -1, -1, 7, 164, + -1, 20, -1, 23, -1, 189, -1, -1, 187, 164, -1, 42, -1, 44, -1, 43, -1, 45, -1, 47, -1, 49, -1, 46, -1, 48, -1, 51, -1, -1, - 158, -1, 159, -1, 160, -1, -1, 46, -1, 48, + 159, -1, 160, -1, 161, -1, -1, 46, -1, 48, -1, -1, 42, -1, 43, -1, 44, -1, 47, -1, -1, 44, -1, 42, -1, -1, 63, -1, 64, -1, 65, -1, 66, -1, 67, -1, 62, 4, -1, 142, -1, 121, -1, 141, -1, 122, -1, 144, -1, 145, - -1, 147, -1, 148, -1, 149, -1, 54, 4, -1, - -1, 197, 196, -1, 144, -1, 142, -1, 141, -1, - 147, -1, -1, 199, 198, -1, 143, -1, 146, -1, - 144, -1, 142, -1, 141, -1, 150, -1, 151, -1, - 154, -1, 155, -1, 153, -1, 156, -1, 157, -1, - -1, 201, 200, -1, -1, 152, 22, -1, -1, 54, - 4, -1, -1, 164, 54, 4, -1, 34, 22, -1, - -1, 205, -1, -1, 164, 208, 207, -1, 205, -1, - 54, 4, -1, 11, -1, 12, -1, 13, -1, 16, - -1, 15, -1, 14, -1, 17, -1, 50, -1, 209, - -1, 210, 183, 165, -1, 244, -1, 166, 4, -1, - 210, 161, 214, 162, 201, -1, 10, 161, 214, 162, - 201, -1, 167, 4, 168, 210, 169, -1, 170, 4, - 168, 210, 171, -1, 172, 215, 173, -1, 172, 173, - -1, 170, 172, 215, 173, 171, -1, 170, 172, 173, - 171, -1, 210, 197, -1, 210, -1, 10, -1, 211, - -1, 213, 164, 211, -1, 213, -1, 213, 164, 39, - -1, 39, -1, -1, 210, -1, 215, 164, 210, -1, - 210, 167, 218, 169, -1, 210, 167, 169, -1, 210, - 174, 22, -1, 210, 170, 218, 171, -1, 210, 172, - 218, 173, -1, 210, 172, 173, -1, 210, 170, 172, - 218, 173, 171, -1, 210, 170, 172, 173, 171, -1, - 210, 40, -1, 210, 41, -1, 210, 244, -1, 210, - 217, -1, 210, 25, -1, 210, 3, -1, 210, 5, - -1, 210, 4, -1, 210, 6, -1, 210, 26, -1, - 210, 27, -1, 210, 9, -1, 178, 161, 216, 38, - 210, 162, -1, 119, 161, 216, 256, 162, -1, 133, - 161, 216, 164, 216, 164, 216, 162, -1, 176, 161, - 216, 164, 216, 162, -1, 177, 161, 216, 164, 216, - 162, -1, 90, 179, 161, 216, 164, 216, 162, -1, - 91, 180, 161, 216, 164, 216, 162, -1, 92, 179, - 161, 216, 164, 216, 162, -1, 93, 180, 161, 216, - 164, 216, 162, -1, 135, 161, 216, 164, 216, 162, - -1, 136, 161, 216, 164, 216, 164, 216, 162, -1, - 137, 161, 216, 164, 216, 164, 216, 162, -1, 139, - 161, 216, 257, 162, -1, 140, 161, 216, 164, 216, - 257, 162, -1, 218, 164, 216, -1, 216, -1, 32, - -1, 33, -1, 37, -1, -1, 212, 244, -1, 125, - 161, 221, 38, 210, 162, -1, 223, -1, -1, 224, - -1, 223, 224, -1, -1, 31, 225, 240, -1, -1, - 30, 226, 241, -1, 60, 59, 230, -1, 184, 18, - 210, -1, 184, 18, 10, -1, -1, 187, 191, 220, - 219, 216, 183, 227, 207, -1, -1, 187, 189, 191, - 220, 219, 216, 183, 228, 207, -1, -1, 187, 190, - 191, 220, 219, 210, 183, 229, 207, -1, 187, 191, - 35, 194, 221, -1, 52, 231, -1, 56, 163, 232, - -1, 22, -1, 53, 163, 22, -1, 68, 163, 22, - -1, 167, 233, 169, -1, 233, 164, 22, -1, 22, - -1, -1, 234, 164, 210, 197, 182, -1, 210, 197, - 182, -1, 234, -1, 234, 164, 39, -1, 39, -1, - -1, 195, 199, 212, 186, 161, 235, 162, 201, 206, - 203, 202, -1, 28, -1, 172, -1, 193, 191, 236, - 237, -1, 29, -1, 173, -1, 248, 239, -1, 192, - 191, 236, -1, -1, 61, -1, 3, -1, 4, -1, - 5, -1, 6, -1, 9, -1, 26, -1, 27, -1, - 40, -1, 41, -1, 25, -1, 170, 218, 171, -1, - 167, 218, 169, -1, 167, 169, -1, 174, 22, -1, - 172, 218, 173, -1, 172, 173, -1, 170, 172, 218, - 173, 171, -1, 170, 172, 173, 171, -1, 217, -1, - 59, 242, 22, 164, 22, -1, 7, -1, 8, -1, - 181, -1, 186, -1, 244, -1, 243, -1, 210, 245, - -1, 246, -1, 247, 164, 246, -1, 248, 249, -1, - 238, 249, -1, 250, 184, 251, -1, 250, 185, 251, - -1, 250, 253, -1, -1, 21, -1, 69, 247, -1, - 69, 10, -1, 70, 17, 245, -1, 70, 11, 245, - 164, 17, 245, 164, 17, 245, -1, 71, 11, 245, - 164, 17, 245, 167, 252, 169, -1, 71, 11, 245, - 164, 17, 245, 167, 169, -1, 72, 195, 199, 212, - 245, 161, 255, 162, 201, 38, 17, 245, 73, 17, - 245, -1, 73, -1, 74, -1, 252, 11, 243, 164, - 17, 245, -1, 11, 243, 164, 17, 245, -1, 184, - 259, -1, 185, 259, -1, 210, 167, 245, 164, 245, - 169, -1, 254, 164, 167, 245, 164, 245, 169, -1, - 210, 197, 245, 197, -1, 17, 197, 245, 197, -1, - 255, 164, 210, 197, 245, 197, -1, 255, 164, 17, - 197, 245, 197, -1, -1, -1, 256, 164, 246, -1, - 164, 4, -1, 257, 164, 4, -1, 58, 57, -1, - 57, -1, 176, 210, 245, 164, 245, -1, 177, 210, - 245, 164, 245, -1, 90, 179, 210, 245, 164, 245, - -1, 91, 180, 210, 245, 164, 245, -1, 92, 179, - 210, 245, 164, 245, -1, 93, 180, 210, 245, 164, - 245, -1, 178, 246, 38, 210, -1, 133, 246, 164, - 246, 164, 246, -1, 134, 246, 164, 210, -1, 135, - 246, 164, 246, -1, 136, 246, 164, 246, 164, 246, - -1, 137, 246, 164, 246, 164, 246, -1, 132, 254, - -1, 258, 195, 199, 212, 245, 161, 255, 162, 201, - -1, 261, -1, 36, -1, -1, 114, 210, 204, -1, - 114, 210, 164, 11, 245, 204, -1, 115, 210, 204, - -1, 115, 210, 164, 11, 245, 204, -1, 116, 246, - -1, 260, 117, 210, 245, 204, -1, 260, 118, 246, - 164, 210, 245, 204, -1, 138, 210, 245, 164, 4, - -1, 119, 210, 245, 256, -1, 139, 210, 245, 257, - -1, 140, 210, 245, 164, 210, 245, 257, -1 + -1, 147, -1, 148, -1, 149, -1, 158, -1, 54, + 4, -1, -1, 198, 197, -1, 144, -1, 142, -1, + 141, -1, 147, -1, -1, 200, 199, -1, 143, -1, + 146, -1, 144, -1, 142, -1, 141, -1, 150, -1, + 151, -1, 154, -1, 155, -1, 153, -1, 156, -1, + 157, -1, -1, 202, 201, -1, -1, 152, 22, -1, + -1, 54, 4, -1, -1, 165, 54, 4, -1, 34, + 22, -1, -1, 206, -1, -1, 165, 209, 208, -1, + 206, -1, 54, 4, -1, 11, -1, 12, -1, 13, + -1, 16, -1, 15, -1, 14, -1, 17, -1, 50, + -1, 210, -1, 211, 184, 166, -1, 245, -1, 167, + 4, -1, 211, 162, 215, 163, 202, -1, 10, 162, + 215, 163, 202, -1, 168, 4, 169, 211, 170, -1, + 171, 4, 169, 211, 172, -1, 173, 216, 174, -1, + 173, 174, -1, 171, 173, 216, 174, 172, -1, 171, + 173, 174, 172, -1, 211, 198, -1, 211, -1, 10, + -1, 212, -1, 214, 165, 212, -1, 214, -1, 214, + 165, 39, -1, 39, -1, -1, 211, -1, 216, 165, + 211, -1, 211, 168, 219, 170, -1, 211, 168, 170, + -1, 211, 175, 22, -1, 211, 171, 219, 172, -1, + 211, 173, 219, 174, -1, 211, 173, 174, -1, 211, + 171, 173, 219, 174, 172, -1, 211, 171, 173, 174, + 172, -1, 211, 40, -1, 211, 41, -1, 211, 245, + -1, 211, 218, -1, 211, 25, -1, 211, 3, -1, + 211, 5, -1, 211, 4, -1, 211, 6, -1, 211, + 26, -1, 211, 27, -1, 211, 9, -1, 179, 162, + 217, 38, 211, 163, -1, 119, 162, 217, 257, 163, + -1, 133, 162, 217, 165, 217, 165, 217, 163, -1, + 177, 162, 217, 165, 217, 163, -1, 178, 162, 217, + 165, 217, 163, -1, 90, 180, 162, 217, 165, 217, + 163, -1, 91, 181, 162, 217, 165, 217, 163, -1, + 92, 180, 162, 217, 165, 217, 163, -1, 93, 181, + 162, 217, 165, 217, 163, -1, 135, 162, 217, 165, + 217, 163, -1, 136, 162, 217, 165, 217, 165, 217, + 163, -1, 137, 162, 217, 165, 217, 165, 217, 163, + -1, 139, 162, 217, 258, 163, -1, 140, 162, 217, + 165, 217, 258, 163, -1, 219, 165, 217, -1, 217, + -1, 32, -1, 33, -1, 37, -1, -1, 213, 245, + -1, 125, 162, 222, 38, 211, 163, -1, 224, -1, + -1, 225, -1, 224, 225, -1, -1, 31, 226, 241, + -1, -1, 30, 227, 242, -1, 60, 59, 231, -1, + 185, 18, 211, -1, 185, 18, 10, -1, -1, 188, + 192, 221, 220, 217, 184, 228, 208, -1, -1, 188, + 190, 192, 221, 220, 217, 184, 229, 208, -1, -1, + 188, 191, 192, 221, 220, 211, 184, 230, 208, -1, + 188, 192, 35, 195, 222, -1, 52, 232, -1, 56, + 164, 233, -1, 22, -1, 53, 164, 22, -1, 68, + 164, 22, -1, 168, 234, 170, -1, 234, 165, 22, + -1, 22, -1, -1, 235, 165, 211, 198, 183, -1, + 211, 198, 183, -1, 235, -1, 235, 165, 39, -1, + 39, -1, -1, 196, 200, 213, 187, 162, 236, 163, + 202, 207, 204, 203, -1, 28, -1, 173, -1, 194, + 192, 237, 238, -1, 29, -1, 174, -1, 249, 240, + -1, 193, 192, 237, -1, -1, 61, -1, 3, -1, + 4, -1, 5, -1, 6, -1, 9, -1, 26, -1, + 27, -1, 40, -1, 41, -1, 25, -1, 171, 219, + 172, -1, 168, 219, 170, -1, 168, 170, -1, 175, + 22, -1, 173, 219, 174, -1, 173, 174, -1, 171, + 173, 219, 174, 172, -1, 171, 173, 174, 172, -1, + 218, -1, 59, 243, 22, 165, 22, -1, 7, -1, + 8, -1, 182, -1, 187, -1, 245, -1, 244, -1, + 211, 246, -1, 247, -1, 248, 165, 247, -1, 249, + 250, -1, 239, 250, -1, 251, 185, 252, -1, 251, + 186, 252, -1, 251, 254, -1, -1, 21, -1, 69, + 248, -1, 69, 10, -1, 70, 17, 246, -1, 70, + 11, 246, 165, 17, 246, 165, 17, 246, -1, 71, + 11, 246, 165, 17, 246, 168, 253, 170, -1, 71, + 11, 246, 165, 17, 246, 168, 170, -1, 72, 196, + 200, 213, 246, 162, 256, 163, 202, 38, 17, 246, + 73, 17, 246, -1, 73, -1, 74, -1, 253, 11, + 244, 165, 17, 246, -1, 11, 244, 165, 17, 246, + -1, 185, 260, -1, 186, 260, -1, 211, 168, 246, + 165, 246, 170, -1, 255, 165, 168, 246, 165, 246, + 170, -1, 211, 198, 246, 198, -1, 17, 198, 246, + 198, -1, 256, 165, 211, 198, 246, 198, -1, 256, + 165, 17, 198, 246, 198, -1, -1, -1, 257, 165, + 247, -1, 165, 4, -1, 258, 165, 4, -1, 58, + 57, -1, 57, -1, 177, 211, 246, 165, 246, -1, + 178, 211, 246, 165, 246, -1, 90, 180, 211, 246, + 165, 246, -1, 91, 181, 211, 246, 165, 246, -1, + 92, 180, 211, 246, 165, 246, -1, 93, 181, 211, + 246, 165, 246, -1, 179, 247, 38, 211, -1, 133, + 247, 165, 247, 165, 247, -1, 134, 247, 165, 211, + -1, 135, 247, 165, 247, -1, 136, 247, 165, 247, + 165, 247, -1, 137, 247, 165, 247, 165, 247, -1, + 132, 255, -1, 259, 196, 200, 213, 246, 162, 256, + 163, 202, -1, 262, -1, 36, -1, -1, 114, 211, + 205, -1, 114, 211, 165, 11, 246, 205, -1, 115, + 211, 205, -1, 115, 211, 165, 11, 246, 205, -1, + 116, 247, -1, 261, 117, 211, 246, 205, -1, 261, + 118, 247, 165, 211, 246, 205, -1, 138, 211, 246, + 165, 4, -1, 119, 211, 246, 257, -1, 139, 211, + 246, 258, -1, 140, 211, 246, 165, 211, 246, 258, + -1 }; /* YYRLINE[YYN] -- source line where rule number YYN was defined. */ @@ -1909,31 +1912,31 @@ 1230, 1231, 1232, 1236, 1237, 1238, 1242, 1243, 1244, 1245, 1246, 1250, 1251, 1252, 1255, 1256, 1257, 1258, 1259, 1260, 1261, 1268, 1269, 1270, 1271, 1272, 1273, 1274, 1275, 1276, - 1277, 1281, 1282, 1287, 1288, 1289, 1290, 1293, 1294, 1300, + 1277, 1278, 1282, 1283, 1288, 1289, 1290, 1291, 1294, 1295, 1301, 1302, 1303, 1304, 1305, 1306, 1307, 1308, 1309, 1310, - 1311, 1314, 1315, 1321, 1322, 1329, 1330, 1336, 1337, 1346, - 1354, 1355, 1360, 1361, 1362, 1367, 1380, 1380, 1380, 1380, - 1380, 1380, 1380, 1383, 1387, 1391, 1398, 1403, 1411, 1446, - 1477, 1482, 1492, 1502, 1506, 1516, 1523, 1532, 1539, 1544, - 1549, 1556, 1557, 1564, 1571, 1579, 1585, 1597, 1625, 1641, - 1668, 1696, 1722, 1742, 1768, 1788, 1800, 1807, 1873, 1883, - 1893, 1904, 1917, 1928, 1942, 1949, 1956, 1974, 1986, 2007, - 2015, 2021, 2032, 2037, 2042, 2047, 2052, 2058, 2064, 2070, - 2078, 2089, 2093, 2101, 2101, 2104, 2104, 2107, 2119, 2140, - 2145, 2153, 2154, 2158, 2158, 2162, 2162, 2165, 2168, 2192, - 2204, 2203, 2215, 2214, 2224, 2223, 2234, 2274, 2277, 2283, - 2293, 2297, 2302, 2304, 2309, 2314, 2323, 2333, 2344, 2348, - 2357, 2366, 2371, 2520, 2520, 2522, 2531, 2531, 2533, 2538, - 2550, 2554, 2559, 2563, 2567, 2572, 2577, 2581, 2585, 2589, - 2593, 2597, 2601, 2623, 2645, 2651, 2664, 2676, 2681, 2693, - 2699, 2703, 2713, 2717, 2721, 2726, 2733, 2733, 2739, 2748, - 2753, 2758, 2762, 2771, 2780, 2793, 2802, 2806, 2814, 2834, - 2838, 2843, 2854, 2873, 2882, 2986, 2990, 2997, 3008, 3021, - 3030, 3043, 3054, 3064, 3075, 3083, 3093, 3100, 3103, 3104, - 3112, 3118, 3127, 3131, 3136, 3152, 3169, 3181, 3193, 3207, - 3221, 3233, 3254, 3261, 3267, 3273, 3279, 3294, 3404, 3409, - 3413, 3420, 3427, 3437, 3444, 3454, 3462, 3476, 3493, 3507, - 3522, 3537 + 1311, 1312, 1315, 1316, 1322, 1323, 1330, 1331, 1339, 1340, + 1351, 1359, 1360, 1365, 1366, 1367, 1372, 1387, 1387, 1387, + 1387, 1387, 1387, 1387, 1390, 1394, 1398, 1405, 1410, 1418, + 1453, 1484, 1489, 1499, 1509, 1513, 1523, 1530, 1539, 1546, + 1551, 1556, 1563, 1564, 1571, 1578, 1586, 1592, 1604, 1632, + 1648, 1675, 1703, 1729, 1749, 1775, 1795, 1807, 1814, 1880, + 1890, 1900, 1911, 1924, 1935, 1949, 1956, 1963, 1981, 1993, + 2014, 2022, 2028, 2039, 2044, 2049, 2054, 2059, 2065, 2071, + 2077, 2085, 2096, 2100, 2108, 2108, 2111, 2111, 2114, 2126, + 2147, 2152, 2160, 2161, 2165, 2165, 2169, 2169, 2172, 2175, + 2199, 2211, 2210, 2222, 2221, 2231, 2230, 2241, 2281, 2284, + 2290, 2300, 2304, 2309, 2311, 2316, 2321, 2330, 2340, 2351, + 2355, 2364, 2373, 2378, 2527, 2527, 2529, 2538, 2538, 2540, + 2545, 2557, 2561, 2566, 2570, 2574, 2579, 2584, 2588, 2592, + 2596, 2600, 2604, 2608, 2630, 2652, 2658, 2671, 2683, 2688, + 2700, 2706, 2710, 2720, 2724, 2728, 2733, 2740, 2740, 2746, + 2755, 2760, 2765, 2769, 2778, 2787, 2800, 2809, 2813, 2821, + 2841, 2845, 2850, 2861, 2880, 2889, 2993, 2997, 3004, 3015, + 3028, 3037, 3050, 3061, 3071, 3082, 3090, 3100, 3107, 3110, + 3111, 3119, 3125, 3134, 3138, 3143, 3159, 3176, 3188, 3200, + 3214, 3228, 3240, 3261, 3268, 3274, 3280, 3286, 3301, 3411, + 3416, 3420, 3427, 3434, 3444, 3451, 3461, 3469, 3483, 3500, + 3514, 3529, 3544 }; #endif @@ -1964,11 +1967,11 @@ "SITOFP", "FPTOUI", "FPTOSI", "INTTOPTR", "PTRTOINT", "PHI_TOK", "SELECT", "VAARG", "EXTRACTELEMENT", "INSERTELEMENT", "SHUFFLEVECTOR", "GETRESULT", "EXTRACTVALUE", "INSERTVALUE", "SIGNEXT", "ZEROEXT", - "NORETURN", "INREG", "SRET", "NOUNWIND", "NOALIAS", "BYVAL", "NEST", + "NORETURN", "INREG", "SRET", "NOUNWIND", "NOALIAS", "NOCAPTURE", "BYVAL", "READNONE", "READONLY", "GC", "OPTSIZE", "NOINLINE", "ALWAYSINLINE", - "SSP", "SSPREQ", "DEFAULT", "HIDDEN", "PROTECTED", "'('", "')'", "'='", - "','", "'*'", "'\\\\'", "'['", "'x'", "']'", "'<'", "'>'", "'{'", "'}'", - "'c'", "$accept", "ArithmeticOps", "LogicalOps", "CastOps", + "SSP", "SSPREQ", "NEST", "DEFAULT", "HIDDEN", "PROTECTED", "'('", "')'", + "'='", "','", "'*'", "'\\\\'", "'['", "'x'", "']'", "'<'", "'>'", "'{'", + "'}'", "'c'", "$accept", "ArithmeticOps", "LogicalOps", "CastOps", "IPredicates", "FPredicates", "LocalName", "OptLocalName", "OptAddrSpace", "OptLocalAssign", "LocalNumber", "GlobalName", "OptGlobalAssign", "GlobalAssign", "GVInternalLinkage", @@ -2012,50 +2015,50 @@ 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, - 415, 40, 41, 61, 44, 42, 92, 91, 120, 93, - 60, 62, 123, 125, 99 + 415, 416, 40, 41, 61, 44, 42, 92, 91, 120, + 93, 60, 62, 123, 125, 99 }; # endif /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ static const yytype_uint16 yyr1[] = { - 0, 175, 176, 176, 176, 176, 176, 176, 176, 176, - 176, 177, 177, 177, 177, 177, 177, 178, 178, 178, - 178, 178, 178, 178, 178, 178, 178, 178, 178, 179, + 0, 176, 177, 177, 177, 177, 177, 177, 177, 177, + 177, 178, 178, 178, 178, 178, 178, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 180, - 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, - 180, 180, 180, 180, 180, 181, 181, 181, 182, 182, - 183, 183, 184, 184, 185, 186, 186, 187, 187, 188, - 189, 189, 189, 189, 189, 189, 190, 190, 190, 191, - 191, 191, 191, 192, 192, 192, 193, 193, 193, 193, - 193, 194, 194, 194, 195, 195, 195, 195, 195, 195, - 195, 196, 196, 196, 196, 196, 196, 196, 196, 196, - 196, 197, 197, 198, 198, 198, 198, 199, 199, 200, - 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, - 200, 201, 201, 202, 202, 203, 203, 204, 204, 205, - 206, 206, 207, 207, 208, 208, 209, 209, 209, 209, - 209, 209, 209, 210, 210, 210, 210, 210, 210, 210, - 210, 210, 210, 210, 210, 210, 211, 212, 212, 213, - 213, 214, 214, 214, 214, 215, 215, 216, 216, 216, - 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, - 216, 216, 216, 216, 216, 216, 216, 217, 217, 217, + 180, 180, 180, 180, 180, 180, 180, 180, 180, 181, + 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, + 181, 181, 181, 181, 181, 182, 182, 182, 183, 183, + 184, 184, 185, 185, 186, 187, 187, 188, 188, 189, + 190, 190, 190, 190, 190, 190, 191, 191, 191, 192, + 192, 192, 192, 193, 193, 193, 194, 194, 194, 194, + 194, 195, 195, 195, 196, 196, 196, 196, 196, 196, + 196, 197, 197, 197, 197, 197, 197, 197, 197, 197, + 197, 197, 198, 198, 199, 199, 199, 199, 200, 200, + 201, 201, 201, 201, 201, 201, 201, 201, 201, 201, + 201, 201, 202, 202, 203, 203, 204, 204, 205, 205, + 206, 207, 207, 208, 208, 209, 209, 210, 210, 210, + 210, 210, 210, 210, 211, 211, 211, 211, 211, 211, + 211, 211, 211, 211, 211, 211, 211, 212, 213, 213, + 214, 214, 215, 215, 215, 215, 216, 216, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, - 217, 218, 218, 219, 219, 220, 220, 221, 221, 222, - 222, 223, 223, 225, 224, 226, 224, 224, 224, 224, - 227, 224, 228, 224, 229, 224, 224, 224, 224, 230, - 231, 231, 232, 233, 233, 233, 234, 234, 235, 235, - 235, 235, 236, 237, 237, 238, 239, 239, 240, 241, - 242, 242, 243, 243, 243, 243, 243, 243, 243, 243, - 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, - 243, 243, 244, 244, 244, 244, 245, 245, 246, 247, - 247, 248, 248, 249, 249, 250, 250, 250, 251, 251, - 251, 251, 251, 251, 251, 251, 251, 252, 252, 253, - 253, 254, 254, 255, 255, 255, 255, 255, 256, 256, - 257, 257, 258, 258, 259, 259, 259, 259, 259, 259, - 259, 259, 259, 259, 259, 259, 259, 259, 259, 260, - 260, 261, 261, 261, 261, 261, 261, 261, 261, 261, - 261, 261 + 217, 217, 217, 217, 217, 217, 217, 217, 218, 218, + 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, + 218, 218, 219, 219, 220, 220, 221, 221, 222, 222, + 223, 223, 224, 224, 226, 225, 227, 225, 225, 225, + 225, 228, 225, 229, 225, 230, 225, 225, 225, 225, + 231, 232, 232, 233, 234, 234, 234, 235, 235, 236, + 236, 236, 236, 237, 238, 238, 239, 240, 240, 241, + 242, 243, 243, 244, 244, 244, 244, 244, 244, 244, + 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, + 244, 244, 244, 245, 245, 245, 245, 246, 246, 247, + 248, 248, 249, 249, 250, 250, 251, 251, 251, 252, + 252, 252, 252, 252, 252, 252, 252, 252, 253, 253, + 254, 254, 255, 255, 256, 256, 256, 256, 256, 257, + 257, 258, 258, 259, 259, 260, 260, 260, 260, 260, + 260, 260, 260, 260, 260, 260, 260, 260, 260, 260, + 261, 261, 262, 262, 262, 262, 262, 262, 262, 262, + 262, 262, 262 }; /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ @@ -2072,31 +2075,31 @@ 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 2, 0, 2, 1, 1, 1, 1, 0, 2, 1, + 1, 2, 0, 2, 1, 1, 1, 1, 0, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 0, 2, 0, 2, 0, 2, 0, 3, 2, - 0, 1, 0, 3, 1, 2, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 3, 1, 2, 5, 5, - 5, 5, 3, 2, 5, 4, 2, 1, 1, 1, - 3, 1, 3, 1, 0, 1, 3, 4, 3, 3, - 4, 4, 3, 6, 5, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 6, 5, 8, - 6, 6, 7, 7, 7, 7, 6, 8, 8, 5, - 7, 3, 1, 1, 1, 1, 0, 2, 6, 1, - 0, 1, 2, 0, 3, 0, 3, 3, 3, 3, - 0, 8, 0, 9, 0, 9, 5, 2, 3, 1, - 3, 3, 3, 3, 1, 0, 5, 3, 1, 3, - 1, 0, 11, 1, 1, 4, 1, 1, 2, 3, - 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 3, 3, 2, 2, 3, 2, 5, 4, - 1, 5, 1, 1, 1, 1, 1, 1, 2, 1, - 3, 2, 2, 3, 3, 2, 0, 1, 2, 2, - 3, 9, 9, 8, 15, 1, 1, 6, 5, 2, - 2, 6, 7, 4, 4, 6, 6, 0, 0, 3, - 2, 3, 2, 1, 5, 5, 6, 6, 6, 6, - 4, 6, 4, 4, 6, 6, 2, 9, 1, 1, - 0, 3, 6, 3, 6, 2, 5, 7, 5, 4, - 4, 7 + 1, 1, 0, 2, 0, 2, 0, 2, 0, 3, + 2, 0, 1, 0, 3, 1, 2, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 3, 1, 2, 5, + 5, 5, 5, 3, 2, 5, 4, 2, 1, 1, + 1, 3, 1, 3, 1, 0, 1, 3, 4, 3, + 3, 4, 4, 3, 6, 5, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 6, 5, + 8, 6, 6, 7, 7, 7, 7, 6, 8, 8, + 5, 7, 3, 1, 1, 1, 1, 0, 2, 6, + 1, 0, 1, 2, 0, 3, 0, 3, 3, 3, + 3, 0, 8, 0, 9, 0, 9, 5, 2, 3, + 1, 3, 3, 3, 3, 1, 0, 5, 3, 1, + 3, 1, 0, 11, 1, 1, 4, 1, 1, 2, + 3, 0, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 3, 3, 2, 2, 3, 2, 5, + 4, 1, 5, 1, 1, 1, 1, 1, 1, 2, + 1, 3, 2, 2, 3, 3, 2, 0, 1, 2, + 2, 3, 9, 9, 8, 15, 1, 1, 6, 5, + 2, 2, 6, 7, 4, 4, 6, 6, 0, 0, + 3, 2, 3, 2, 1, 5, 5, 6, 6, 6, + 6, 4, 6, 4, 4, 6, 6, 2, 9, 1, + 1, 0, 3, 6, 3, 6, 2, 5, 7, 5, + 4, 4, 7 }; /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state @@ -2104,310 +2107,314 @@ means the default is an error. */ static const yytype_uint16 yydefact[] = { - 68, 55, 65, 56, 66, 57, 225, 223, 0, 0, - 0, 0, 0, 0, 79, 67, 0, 68, 221, 83, - 86, 0, 0, 237, 0, 0, 62, 0, 69, 70, + 68, 55, 65, 56, 66, 57, 226, 224, 0, 0, + 0, 0, 0, 0, 79, 67, 0, 68, 222, 83, + 86, 0, 0, 238, 0, 0, 62, 0, 69, 70, 72, 71, 73, 76, 74, 77, 75, 78, 80, 81, - 82, 79, 79, 216, 1, 222, 84, 85, 79, 226, - 87, 88, 89, 90, 79, 296, 224, 296, 0, 0, - 245, 238, 239, 227, 282, 283, 229, 146, 147, 148, - 151, 150, 149, 152, 153, 0, 0, 0, 0, 284, - 285, 154, 228, 156, 216, 216, 91, 215, 0, 94, - 94, 297, 292, 63, 256, 257, 258, 291, 240, 241, - 244, 0, 174, 157, 0, 0, 0, 0, 163, 175, - 0, 0, 174, 0, 0, 0, 93, 92, 0, 213, - 214, 0, 0, 95, 96, 97, 98, 99, 117, 259, - 0, 0, 340, 340, 295, 0, 242, 173, 111, 169, - 171, 0, 0, 0, 0, 0, 0, 162, 0, 0, - 155, 0, 0, 168, 0, 167, 0, 236, 61, 61, - 100, 0, 253, 254, 255, 64, 339, 323, 0, 0, - 0, 0, 94, 305, 306, 2, 3, 4, 5, 6, + 82, 79, 79, 217, 1, 223, 84, 85, 79, 227, + 87, 88, 89, 90, 79, 297, 225, 297, 0, 0, + 246, 239, 240, 228, 283, 284, 230, 147, 148, 149, + 152, 151, 150, 153, 154, 0, 0, 0, 0, 285, + 286, 155, 229, 157, 217, 217, 91, 216, 0, 94, + 94, 298, 293, 63, 257, 258, 259, 292, 241, 242, + 245, 0, 175, 158, 0, 0, 0, 0, 164, 176, + 0, 0, 175, 0, 0, 0, 93, 92, 0, 214, + 215, 0, 0, 95, 96, 97, 98, 99, 118, 260, + 0, 0, 341, 341, 296, 0, 243, 174, 112, 170, + 172, 0, 0, 0, 0, 0, 0, 163, 0, 0, + 156, 0, 0, 169, 0, 168, 0, 237, 61, 61, + 100, 0, 254, 255, 256, 64, 340, 324, 0, 0, + 0, 0, 94, 306, 307, 2, 3, 4, 5, 6, 7, 8, 9, 10, 14, 15, 16, 11, 12, 13, 0, 0, 0, 0, 0, 0, 0, 0, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 293, 94, 309, 0, 338, 294, 310, 243, - 166, 0, 131, 61, 61, 165, 0, 176, 0, 131, - 61, 61, 0, 217, 190, 192, 191, 193, 196, 189, - 194, 195, 185, 186, 0, 0, 0, 0, 0, 0, + 0, 0, 294, 94, 310, 0, 339, 295, 311, 244, + 167, 0, 132, 61, 61, 166, 0, 177, 0, 132, + 61, 61, 0, 218, 191, 193, 192, 194, 197, 190, + 195, 196, 186, 187, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 188, 187, 230, 115, 114, 113, 116, 118, - 0, 322, 299, 61, 289, 298, 0, 0, 0, 117, + 0, 0, 189, 188, 231, 116, 115, 114, 117, 119, + 0, 323, 300, 61, 290, 299, 0, 0, 0, 118, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 0, 53, 54, 49, 50, 51, 52, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 0, 0, 0, - 137, 137, 345, 61, 61, 336, 0, 0, 0, 0, - 0, 61, 61, 61, 61, 61, 0, 117, 0, 0, + 138, 138, 346, 61, 61, 337, 0, 0, 0, 0, + 0, 61, 61, 61, 61, 61, 0, 118, 0, 0, 0, 102, 104, 103, 101, 105, 106, 107, 108, 109, - 112, 172, 170, 159, 160, 161, 164, 60, 158, 232, - 234, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 178, 212, 0, 0, 0, 182, 0, - 179, 0, 0, 0, 142, 0, 262, 263, 264, 265, - 266, 271, 267, 268, 269, 270, 260, 0, 0, 0, - 0, 280, 287, 286, 288, 0, 0, 300, 0, 0, - 61, 61, 61, 61, 0, 341, 0, 343, 318, 0, + 110, 113, 173, 171, 160, 161, 162, 165, 60, 159, + 233, 235, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 179, 213, 0, 0, 0, 183, + 0, 180, 0, 0, 0, 143, 0, 263, 264, 265, + 266, 267, 272, 268, 269, 270, 271, 261, 0, 0, + 0, 0, 281, 288, 287, 289, 0, 0, 301, 0, + 0, 61, 61, 61, 61, 0, 342, 0, 344, 319, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 61, 0, 110, 123, 122, 119, 121, - 120, 124, 125, 128, 126, 127, 129, 130, 132, 142, - 142, 0, 0, 0, 0, 0, 318, 0, 0, 0, - 0, 0, 0, 0, 177, 163, 175, 0, 180, 181, - 0, 0, 0, 0, 231, 251, 261, 0, 274, 0, - 0, 0, 277, 0, 275, 290, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 349, 0, 0, 0, - 332, 333, 0, 0, 0, 0, 350, 0, 0, 0, - 330, 0, 137, 0, 233, 235, 61, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 211, 184, - 0, 0, 0, 0, 0, 0, 144, 142, 250, 111, - 248, 0, 0, 273, 163, 0, 272, 276, 0, 0, - 0, 0, 0, 0, 0, 137, 138, 137, 0, 0, - 0, 0, 0, 0, 348, 320, 0, 61, 324, 325, - 0, 0, 346, 61, 218, 0, 0, 0, 0, 198, - 0, 0, 0, 0, 209, 0, 183, 0, 0, 61, - 139, 145, 143, 59, 0, 131, 0, 279, 0, 0, - 0, 317, 326, 327, 328, 329, 342, 344, 319, 0, - 0, 331, 334, 335, 321, 0, 317, 137, 0, 0, - 0, 0, 0, 206, 0, 0, 0, 200, 201, 197, - 58, 247, 249, 111, 140, 281, 278, 0, 0, 111, - 111, 0, 311, 0, 351, 0, 347, 202, 203, 204, - 205, 0, 0, 0, 210, 59, 141, 135, 0, 0, - 303, 0, 0, 0, 131, 0, 312, 131, 199, 207, - 208, 246, 0, 133, 301, 0, 0, 302, 102, 104, - 111, 111, 0, 111, 111, 337, 136, 0, 252, 0, - 0, 314, 313, 0, 0, 0, 134, 0, 0, 0, - 111, 111, 308, 0, 0, 316, 315, 307, 0, 0, - 304 + 0, 0, 0, 0, 61, 0, 111, 124, 123, 120, + 122, 121, 125, 126, 129, 127, 128, 130, 131, 133, + 143, 143, 0, 0, 0, 0, 0, 319, 0, 0, + 0, 0, 0, 0, 0, 178, 164, 176, 0, 181, + 182, 0, 0, 0, 0, 232, 252, 262, 0, 275, + 0, 0, 0, 278, 0, 276, 291, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 350, 0, 0, + 0, 333, 334, 0, 0, 0, 0, 351, 0, 0, + 0, 331, 0, 138, 0, 234, 236, 61, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 212, + 185, 0, 0, 0, 0, 0, 0, 145, 143, 251, + 112, 249, 0, 0, 274, 164, 0, 273, 277, 0, + 0, 0, 0, 0, 0, 0, 138, 139, 138, 0, + 0, 0, 0, 0, 0, 349, 321, 0, 61, 325, + 326, 0, 0, 347, 61, 219, 0, 0, 0, 0, + 199, 0, 0, 0, 0, 210, 0, 184, 0, 0, + 61, 140, 146, 144, 59, 0, 132, 0, 280, 0, + 0, 0, 318, 327, 328, 329, 330, 343, 345, 320, + 0, 0, 332, 335, 336, 322, 0, 318, 138, 0, + 0, 0, 0, 0, 207, 0, 0, 0, 201, 202, + 198, 58, 248, 250, 112, 141, 282, 279, 0, 0, + 112, 112, 0, 312, 0, 352, 0, 348, 203, 204, + 205, 206, 0, 0, 0, 211, 59, 142, 136, 0, + 0, 304, 0, 0, 0, 132, 0, 313, 132, 200, + 208, 209, 247, 0, 134, 302, 0, 0, 303, 102, + 104, 112, 112, 0, 112, 112, 338, 137, 0, 253, + 0, 0, 315, 314, 0, 0, 0, 135, 0, 0, + 0, 112, 112, 309, 0, 0, 317, 316, 308, 0, + 0, 305 }; /* YYDEFGOTO[NTERM-NUM]. */ static const yytype_int16 yydefgoto[] = { - -1, 269, 270, 271, 300, 317, 79, 631, 113, 12, + -1, 269, 270, 271, 300, 317, 79, 632, 113, 12, 133, 80, 14, 15, 41, 42, 43, 48, 54, 118, - 128, 350, 230, 279, 161, 448, 353, 688, 673, 415, - 536, 657, 474, 537, 81, 158, 139, 156, 140, 141, - 110, 374, 401, 375, 121, 88, 157, 16, 17, 18, - 20, 19, 384, 449, 450, 63, 23, 61, 101, 540, - 541, 129, 164, 55, 96, 56, 49, 477, 402, 83, - 404, 284, 285, 57, 92, 93, 222, 661, 134, 325, - 641, 496, 506, 223, 224, 225, 226 + 128, 351, 230, 279, 161, 449, 354, 689, 674, 416, + 537, 658, 475, 538, 81, 158, 139, 156, 140, 141, + 110, 375, 402, 376, 121, 88, 157, 16, 17, 18, + 20, 19, 385, 450, 451, 63, 23, 61, 101, 541, + 542, 129, 164, 55, 96, 56, 49, 478, 403, 83, + 405, 284, 285, 57, 92, 93, 222, 662, 134, 325, + 642, 497, 507, 223, 224, 225, 226 }; /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing STATE-NUM. */ -#define YYPACT_NINF -619 +#define YYPACT_NINF -611 static const yytype_int16 yypact[] = { - 790, -619, -619, -619, -619, -619, -619, -619, 10, -86, - 53, -45, 136, 38, 62, -619, 49, 1492, -619, 117, - 167, 39, 43, -619, 45, 151, -619, 1999, -619, -619, - -619, -619, -619, -619, -619, -619, -619, -619, -619, -619, - -619, -27, -27, 146, -619, -619, -619, -619, -27, -619, - -619, -619, -619, -619, -27, 197, -619, 9, 216, 224, - 228, -619, -619, -619, -619, -619, 105, -619, -619, -619, - -619, -619, -619, -619, -619, 266, 269, 2, 481, -619, - -619, -619, -37, -619, 244, 244, 156, -619, 69, 213, - 213, -619, -619, 40, -619, -619, -619, -619, -619, -619, - -619, -70, 1724, -619, 118, 119, 550, 105, -619, -37, - -118, 124, 1724, 125, 69, 69, -619, -619, 1768, -619, - -619, 2024, 285, -619, -619, -619, -619, -619, -619, -619, - -16, 131, 2294, 2294, -619, 273, -619, -619, -37, -619, - 132, 135, 2024, 2024, 127, -83, 2024, -619, 295, 138, - -619, 2024, 2024, 105, 145, -37, 46, -619, 1278, 252, - -619, 1679, -619, -619, -619, -619, -619, -619, 251, 2065, - 78, 298, 213, -619, -619, -619, -619, -619, -619, -619, - -619, -619, -619, -619, -619, -619, -619, -619, -619, -619, - 630, 660, 630, 660, 2024, 2024, 2024, 2024, -619, -619, - -619, -619, -619, -619, -619, -619, -619, -619, -619, -619, - 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, - 2024, 2024, -619, 213, -619, 59, -619, -619, -619, -619, - 335, 1817, -619, -39, -42, -619, 147, -37, 158, -619, - 252, -10, 1768, -619, -619, -619, -619, -619, -619, -619, - -619, -619, -619, -619, 630, 660, 630, 660, 160, 161, - 170, 171, 172, 174, 175, 1858, 2124, 984, 312, 176, - 181, 182, -619, -619, -619, -619, -619, -619, -619, -619, - 64, -619, 105, 934, -619, 180, 1450, 1450, 1450, -619, - -619, -619, -619, -619, -619, -619, -619, -619, -619, -619, - 2024, -619, -619, -619, -619, -619, -619, -619, -619, -619, - -619, -619, -619, -619, -619, -619, -619, 2024, 2024, 2024, - -24, -19, -619, 934, -40, 183, 184, 187, 188, 189, - 190, 934, 934, 934, 934, 934, 307, -619, 2024, 2024, - 342, -619, -619, -619, -619, -619, -619, -619, -619, -619, - -619, -619, -619, 557, -619, -619, -619, -619, 557, -619, - 125, 317, 195, 196, 200, 201, 2024, 2024, 2024, 2024, - 2024, 2024, 2024, -619, -619, -9, 1155, -120, -619, -76, - -619, 2024, 2024, 2024, 203, 202, -619, -619, -619, -619, - -619, -619, -619, -619, -619, -619, 299, 1899, 2165, 1327, - 343, -619, -619, -619, -619, 2024, 204, -619, 208, 1679, - 934, 934, 934, 934, 17, -619, 28, -619, -619, 1450, - 206, 2024, 2024, 2024, 2024, 2024, 210, 211, 212, 214, - 217, 2024, 1679, 934, 218, -619, -619, -619, -619, -619, - -619, -619, -619, -619, -619, -619, -619, -619, -619, 203, - 203, 2024, 2024, 2024, 2024, 2024, -619, 220, 222, 227, - 229, 211, 230, 2024, -619, 193, 1106, -73, -619, -619, - 238, 240, 339, 6, -619, 1940, -619, 366, -619, -3, - 1638, -97, -619, -11, -619, -619, 375, 390, 1450, 248, - 250, 255, 256, 1450, 411, 1450, 257, 258, 1450, 259, - -37, -619, 260, 262, 412, 423, 265, 2024, 1450, 1450, - -37, 1450, 268, 2024, -619, -619, -23, 270, 271, 272, - 274, 55, 2024, 2024, 2024, 2024, 66, 2024, -619, -619, - 276, 2024, 2024, 2024, 408, 429, -619, 203, -619, -37, - 275, 280, 284, -619, 279, 35, -619, -619, 1450, 1450, - 291, 1450, 1450, 1450, 1450, 268, -619, 268, 2024, 1450, - 289, 2024, 2024, 2024, -619, -619, 433, 934, -619, -619, - 294, 404, -619, 934, -619, 2024, 2024, 2024, 2024, -619, - 296, 304, 303, 305, -619, 211, -619, 306, 308, -12, - -619, -619, -619, 522, 1958, -619, 449, -619, 314, 311, - 319, 2190, -619, -619, -619, -619, -619, -619, -619, 309, - 1450, -619, -619, -619, -619, 211, 2190, 268, 328, 337, - 344, 351, 2024, -619, 2024, 2024, 72, -619, -619, -619, - -619, -619, -619, -37, 173, -619, -619, 497, -2, -13, - -37, 73, -619, 346, 265, 87, -619, -619, -619, -619, - -619, 354, 360, 361, -619, 522, -619, 470, 1450, 1588, - -619, 3, 778, 778, -619, 2231, -619, -619, -619, -619, - -619, -619, 521, 374, -619, 363, 1588, -619, 367, 368, - -619, -619, 474, -13, -37, 557, -619, 508, -619, 516, - 370, 335, 335, 523, 778, 778, -619, 1450, 525, 1450, - -619, -619, -619, 1450, 465, 335, 335, -619, 526, 1450, - -619 + 828, -611, -611, -611, -611, -611, -611, -611, -5, -90, + 68, -25, 113, -20, -9, -611, 153, 1107, -611, 173, + 15, 36, 48, -611, -3, 196, -611, 1950, -611, -611, + -611, -611, -611, -611, -611, -611, -611, -611, -611, -611, + -611, 137, 137, 190, -611, -611, -611, -611, 137, -611, + -611, -611, -611, -611, 137, 203, -611, 3, 212, 215, + 229, -611, -611, -611, -611, -611, 83, -611, -611, -611, + -611, -611, -611, -611, -611, 252, 268, 7, 87, -611, + -611, -611, 73, -611, 238, 238, 186, -611, 22, 200, + 200, -611, -611, 42, -611, -611, -611, -611, -611, -611, + -611, 8, 1765, -611, 110, 121, 573, 83, -611, 73, + -114, 138, 1765, 142, 22, 22, -611, -611, 1368, -611, + -611, 1991, 298, -611, -611, -611, -611, -611, -611, -611, + -16, 168, 2181, 2181, -611, 311, -611, -611, 73, -611, + 169, 174, 1991, 1991, 164, -95, 1991, -611, 334, 178, + -611, 1991, 1991, 83, 182, 73, 287, -611, 1319, 293, + -611, 1680, -611, -611, -611, -611, -611, -611, 295, 2032, + 119, 339, 200, -611, -611, -611, -611, -611, -611, -611, + -611, -611, -611, -611, -611, -611, -611, -611, -611, -611, + 465, 412, 465, 412, 1991, 1991, 1991, 1991, -611, -611, + -611, -611, -611, -611, -611, -611, -611, -611, -611, -611, + 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, + 1991, 1991, -611, 200, -611, -33, -611, -611, -611, -611, + 271, 1818, -611, -8, -39, -611, 181, 73, 191, -611, + 293, -2, 1368, -611, -611, -611, -611, -611, -611, -611, + -611, -611, -611, -611, 465, 412, 465, 412, 193, 195, + 199, 201, 202, 205, 206, 1721, 2061, 659, 336, 210, + 211, 213, -611, -611, -611, -611, -611, -611, -611, -611, + 187, -611, 83, 973, -611, 197, 1492, 1492, 1492, -611, + -611, -611, -611, -611, -611, -611, -611, -611, -611, -611, + 1991, -611, -611, -611, -611, -611, -611, -611, -611, -611, + -611, -611, -611, -611, -611, -611, -611, 1991, 1991, 1991, + 1, 17, -611, 973, -30, 214, 216, 218, 220, 221, + 224, 973, 973, 973, 973, 973, 322, -611, 1991, 1991, + 361, -611, -611, -611, -611, -611, -611, -611, -611, -611, + -611, -611, -611, -611, 657, -611, -611, -611, -611, 657, + -611, 142, 338, 226, 228, 232, 233, 1991, 1991, 1991, + 1991, 1991, 1991, 1991, -611, -611, 41, 743, 32, -611, + -83, -611, 1991, 1991, 1991, 236, 240, -611, -611, -611, + -611, -611, -611, -611, -611, -611, -611, 313, 1859, 2117, + 1023, 355, -611, -611, -611, -611, 1991, 243, -611, 245, + 1680, 973, 973, 973, 973, 33, -611, 35, -611, -611, + 1492, 235, 1991, 1991, 1991, 1991, 1991, 256, 257, 258, + 265, 267, 1991, 1680, 973, 269, -611, -611, -611, -611, + -611, -611, -611, -611, -611, -611, -611, -611, -611, -611, + 236, 236, 1991, 1991, 1991, 1991, 1991, -611, 270, 272, + 275, 276, 257, 284, 1991, -611, 219, 1146, -69, -611, + -611, 286, 288, 340, 11, -611, 1891, -611, 383, -611, + 44, 1195, 43, -611, -53, -611, -611, 400, 416, 1492, + 289, 291, 296, 297, 1492, 432, 1492, 301, 306, 1492, + 307, 73, -611, 308, 309, 448, 456, 312, 1991, 1492, + 1492, 73, 1492, 314, 1991, -611, -611, -14, 315, 316, + 319, 320, 78, 1991, 1991, 1991, 1991, 94, 1991, -611, + -611, 304, 1991, 1991, 1991, 441, 474, -611, 236, -611, + 73, 321, 324, 329, -611, 325, -52, -611, -611, 1492, + 1492, 345, 1492, 1492, 1492, 1492, 314, -611, 314, 1991, + 1492, 331, 1991, 1991, 1991, -611, -611, 494, 973, -611, + -611, 365, 447, -611, 973, -611, 1991, 1991, 1991, 1991, + -611, 367, 371, 370, 375, -611, 257, -611, 378, 379, + 126, -611, -611, -611, 198, 1932, -611, 521, -611, 372, + 380, 381, 2158, -611, -611, -611, -611, -611, -611, -611, + 377, 1492, -611, -611, -611, -611, 257, 2158, 314, 385, + 387, 388, 389, 1991, -611, 1991, 1991, 122, -611, -611, + -611, -611, -611, -611, 73, 127, -611, -611, 536, 2, + 74, 73, 136, -611, 401, 312, 140, -611, -611, -611, + -611, -611, 407, 409, 410, -611, 198, -611, 523, 1492, + 1630, -611, 4, 816, 816, -611, 2199, -611, -611, -611, + -611, -611, -611, 571, 430, -611, 437, 1630, -611, 442, + 443, -611, -611, 349, 74, 73, 657, -611, 584, -611, + 592, 449, 271, 271, 595, 816, 816, -611, 1492, 599, + 1492, -611, -611, -611, 1492, 544, 271, 271, -611, 601, + 1492, -611 }; /* YYPGOTO[NTERM-NUM]. */ static const yytype_int16 yypgoto[] = { - -619, 110, 128, 130, -158, -132, 0, -116, -126, 452, - -619, 8, -619, -619, -619, -619, 31, -619, -619, -619, - -148, -619, -436, -619, -254, -619, -236, -619, -619, -316, - -87, -619, -393, -619, -619, -26, 318, -150, -619, 436, - 445, -114, -156, -240, 157, 199, 310, -619, -619, 536, - -619, -619, -619, -619, -619, -619, -619, -619, -619, -619, - -619, 466, -619, -619, -619, -619, -619, -619, -618, -108, - 186, -192, -619, -619, 502, -619, 438, -619, -619, -619, - -38, 121, -451, -619, 446, -619, -619 + -611, 183, 185, 189, -166, -110, 0, -36, -116, 528, + -611, 6, -611, -611, -611, -611, 27, -611, -611, -611, + -145, -611, -526, -611, -260, -611, -237, -611, -611, -314, + -13, -611, -420, -611, -611, -26, 393, -157, -611, 514, + 522, 75, -153, -258, 209, 246, 390, -611, -611, 610, + -611, -611, -611, -611, -611, -611, -611, -611, -611, -611, + -611, 539, -611, -611, -611, -611, -611, -611, -610, -85, + 223, -193, -611, -611, 574, -611, 497, -611, -611, -611, + 16, 184, -452, -611, 505, -611, -611 }; /* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If positive, shift that token. If negative, reduce the rule which number is the opposite. If zero, do what YYDEFACT says. If YYTABLE_NINF, syntax error. */ -#define YYTABLE_NINF -221 +#define YYTABLE_NINF -222 static const yytype_int16 yytable[] = { - 11, 82, 272, 358, 322, 417, 105, 159, 13, 659, - 526, 280, 162, 111, 676, 111, 111, 11, 111, 326, - 327, 328, 329, 330, 289, 13, 377, 379, 493, 336, - 91, 111, 111, 274, 318, 409, 111, 240, 94, 495, - 534, 675, -152, 111, 463, 111, 146, 131, 243, 44, - 273, 468, 109, 64, 65, 147, 514, 515, 690, 1, - 535, 319, 3, 21, 5, 1, 2, 463, 3, 4, - 5, 494, 84, 85, 546, 337, 138, 24, 22, 89, - 109, 146, 494, 432, 2, 90, 138, 4, 463, 286, - 236, 463, 155, 11, 135, 287, 362, 469, 364, 136, - 530, 119, 120, 593, 29, 30, 31, 32, 33, 34, - 35, 36, 25, 37, 359, 360, 233, 234, 26, 112, - 237, 112, 112, 363, 112, 365, 241, 419, -61, 355, - 354, 38, 39, 40, 626, 155, 467, 112, 112, 574, - 414, -61, 112, 283, 592, 416, -61, 434, -152, 112, - 629, 112, -152, 463, 27, 463, 163, 479, 481, 483, - 464, 463, 547, 46, 644, 47, 543, 660, 320, 321, - 283, 323, 677, 62, 106, 403, 338, 339, 403, 403, - 403, 86, 95, 87, 324, 283, 283, 283, 283, 283, - 331, 332, 333, 334, 335, 283, 572, 655, 116, 463, - 117, 28, 58, 662, 663, 138, 59, 534, 598, 50, - 51, 52, 60, 485, 53, 403, 155, 579, 91, 558, - 38, 39, 40, 403, 403, 403, 403, 403, 584, 499, - 566, 501, 502, 503, 654, 664, 566, 665, 98, 606, - 545, 607, 219, 219, 691, 692, 99, 694, 695, 667, - 100, 665, 456, 457, 458, 459, 460, 461, 462, 488, - 220, 220, 221, 221, 705, 706, 102, 470, 471, 472, - 103, 151, 152, 104, 410, 122, 123, 124, 125, 126, - 127, 87, 511, 114, 115, 148, 142, 143, 385, 160, - 150, 411, 412, 413, 165, 229, 231, 232, 235, 238, - 239, 646, 403, 403, 403, 403, 242, 111, 281, 288, - 272, 403, 433, 283, 436, 437, 438, 439, 356, 440, - 357, 366, 367, 441, 442, 403, 443, 444, 445, 446, - 447, 368, 369, 370, 380, 371, 372, 381, 517, 518, - 519, 520, 382, 383, 405, 431, 435, 420, 421, 528, - 466, 422, 423, 424, 425, 451, 452, 453, 273, 634, - 476, 454, 455, 475, 529, 484, 608, 473, 486, 611, - 612, 613, 487, 498, 504, 505, 507, 533, 508, 283, - 403, 509, 513, 155, 522, 403, 523, 403, 542, 340, - 403, 524, 548, 525, 527, 283, 500, 283, 283, 283, - 403, 403, 531, 403, 532, 510, 155, 549, 580, 581, - 582, 583, 551, 585, 552, 556, 564, 587, 588, 553, - 554, 558, 559, 561, 562, 516, 563, 565, 682, 566, - 590, 685, 571, 591, 575, 576, 577, 614, 578, 594, - 403, 403, 595, 403, 403, 403, 403, 586, 596, 539, - 597, 403, 601, 610, 466, 616, 341, 342, 494, 403, - 622, 618, 619, 620, 621, 403, 623, 624, 627, 625, - 628, 635, 406, 407, 408, 637, 343, 344, 642, 345, - 346, 567, 347, 348, 349, 636, 638, 573, 64, 65, - 647, 107, 67, 68, 69, 70, 71, 72, 73, 648, - 1, 2, 403, 3, 4, 5, 649, 589, 651, 418, - 652, 653, 693, 650, 658, 666, 668, 426, 427, 428, - 429, 430, 669, 670, 672, 686, 687, 689, -18, -19, - 696, 74, 283, 697, 698, 283, 283, 283, 708, 671, - 699, 1, 703, 709, 3, 132, 5, 656, 149, 352, - 403, 145, 361, 45, 403, 403, 130, 64, 65, 97, - 107, 67, 68, 69, 70, 71, 72, 73, 633, 1, - 2, 227, 3, 4, 5, 640, 340, 521, 645, 228, - 0, 0, 0, 0, 0, 0, 403, 403, 0, 403, - 640, 403, 0, 630, 0, 403, 489, 490, 491, 492, - 74, 403, 0, 0, 0, 497, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 436, 437, 438, 439, 512, - 440, 0, 0, 0, 441, 442, 0, 443, 444, 445, - 446, 447, 0, 0, 0, 0, 0, 0, 0, 684, - 0, 0, 0, 341, 342, 0, 0, 75, 76, 0, - 0, 77, 0, 78, 108, 630, 0, 0, 0, 0, - 0, 0, 0, 343, 344, 0, 345, 346, 0, 347, - 348, 349, 0, 0, 550, 0, 0, 0, 0, 555, - 0, 557, 0, 0, 560, 0, 301, 302, 0, 0, - 0, 0, 0, 0, 568, 569, 0, 570, 436, 437, - 438, 439, 0, 440, 0, 0, 0, 441, 442, 0, - 443, 444, 445, 446, 447, 0, 75, 76, 0, 0, - 77, 0, 78, 144, 290, 291, 292, 293, 294, 295, - 296, 297, 298, 299, 599, 600, 0, 602, 603, 604, - 605, 0, 0, 0, 0, 609, 0, 0, 0, 0, - 0, 0, 0, 615, 0, 0, 0, 0, 0, 617, - 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, - 313, 314, 315, 316, 0, 0, 0, 0, 0, 0, - 0, 386, 387, 388, 389, 64, 65, 390, 0, 0, - -220, 0, 0, 0, 0, 0, 643, 1, 2, 0, - 3, 4, 5, 391, 392, 393, 0, 0, -63, 1, - 2, 0, 3, 4, 5, 0, 0, 0, 394, 395, - 6, 7, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 340, 0, 0, 0, 0, 396, 0, 0, - 0, 0, 8, 0, 674, 0, 9, 0, 680, 681, - 10, 0, 0, 175, 176, 177, 178, 179, 180, 181, - 182, 183, 184, 185, 186, 187, 188, 189, 254, 255, - 256, 257, 0, 0, 0, 0, 0, 0, 0, 0, - 700, 701, 0, 702, 0, 704, 0, 0, 0, 707, - 0, 0, 0, 0, 0, 710, 0, 258, 198, 678, - 679, 201, 202, 203, 204, 205, 206, 207, 208, 209, - 0, 259, 0, 260, 261, 262, 0, 263, 264, 343, - 344, 0, 345, 346, 0, 347, 348, 349, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 386, 387, 388, - 389, 64, 65, 390, 0, 397, 0, 0, 398, 0, - 399, 0, 400, 1, 2, 0, 3, 4, 5, 391, - 392, 393, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 394, 395, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 111, - 0, 64, 65, 396, 107, 67, 68, 69, 70, 71, - 72, 73, 0, 1, 2, 0, 3, 4, 5, 175, - 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, - 186, 187, 188, 189, 254, 255, 256, 257, 0, 0, - 0, 0, 0, 0, 74, 0, 0, 0, 0, 0, + 11, 82, 359, 322, 280, 272, 13, 418, 378, 380, + 527, 105, 162, 660, 594, 677, 111, 11, 326, 327, + 328, 329, 330, 13, 91, 111, 318, 289, 336, 410, + 515, 516, 94, 29, 30, 31, 32, 33, 34, 35, + 36, 111, 37, 274, 494, 535, 496, 111, 21, 131, + 676, 146, 109, 111, 119, 120, 111, 50, 51, 52, + 147, 1, 53, 22, 3, 536, 5, 691, 84, 85, + 146, 243, 111, 273, 24, 89, 138, 433, 337, 236, + 109, 90, 464, 319, 338, 339, 138, 495, 363, 495, + 365, 470, 155, 11, 64, 65, 464, 107, 67, 68, + 69, 70, 71, 72, 73, 531, 1, 2, 656, 3, + 4, 5, 464, 464, 663, 664, 233, 234, 593, 468, + 237, 548, 599, 112, 360, 361, 241, 25, 111, -153, + 286, 27, 112, 356, 627, 155, 287, 74, 420, 26, + 480, 482, 484, 283, 28, 364, 435, 366, 112, 575, + 38, 39, 40, 44, 112, 692, 693, 163, 695, 696, + 112, 535, 355, 112, 645, 60, 415, -61, 320, 321, + 283, 323, 661, 135, 678, 706, 707, 95, 136, 112, + 106, 111, 417, -61, 324, 283, 283, 283, 283, 283, + 331, 332, 333, 334, 335, 283, 159, 464, 404, 573, + 58, 404, 404, 404, 469, 138, 464, 2, 464, 464, + 4, 465, 59, 486, 544, 547, 155, 1, 62, 46, + 3, 47, 5, 546, 91, 86, 240, 87, 116, 500, + 117, 502, 503, 504, 98, 112, -153, 99, 404, -61, + -153, 580, 607, 559, 608, 102, 404, 404, 404, 404, + 404, 100, 340, 489, 75, 76, 103, 585, 77, 567, + 78, 108, 122, 123, 124, 125, 126, 127, 437, 438, + 439, 440, 104, 441, 411, 87, 512, 442, 443, 142, + 444, 445, 446, 447, 448, 655, 386, 567, 112, 630, + 143, 412, 413, 414, 64, 65, 38, 39, 40, 665, + 148, 666, 160, 668, 647, 666, 1, 2, 150, 3, + 4, 5, 434, 283, 272, 219, 219, 220, 220, 341, + 342, 221, 221, 151, 152, 340, 404, 404, 404, 404, + 114, 115, 165, 229, 231, 404, 235, 232, 238, 343, + 344, 239, 345, 346, 242, 347, 348, 349, 111, 404, + 288, 467, 281, 357, 358, 367, 350, 368, 381, 635, + 432, 369, 406, 370, 371, 436, 609, 372, 373, 612, + 613, 614, 382, 383, 477, 384, 452, 485, 534, 421, + 283, 422, 273, 423, 155, 424, 425, 694, 453, 426, + 454, 530, 341, 342, 455, 456, 283, 501, 283, 283, + 283, 474, 476, 499, 404, 543, 511, 155, 487, 404, + 488, 404, 343, 344, 404, 345, 346, 549, 347, 348, + 349, 505, 506, 508, 404, 404, 517, 404, 683, 350, + 509, 686, 510, 550, 514, 523, 557, 524, 301, 302, + 525, 526, 457, 458, 459, 460, 461, 462, 463, 528, + 540, 532, 565, 533, 552, 467, 553, 471, 472, 473, + 566, 554, 555, 591, 404, 404, 559, 404, 404, 404, + 404, 560, 562, 563, 564, 404, 587, 567, 592, 572, + 576, 577, 568, 404, 578, 579, 595, 596, 574, 404, + 437, 438, 439, 440, 597, 441, 611, 598, 615, 442, + 443, 495, 444, 445, 446, 447, 448, 602, 590, 407, + 408, 409, 303, 304, 305, 306, 307, 308, 309, 310, + 311, 312, 313, 314, 315, 316, 404, 617, 518, 519, + 520, 521, 623, 283, 624, 625, 283, 283, 283, 529, + 626, 628, 629, 636, 637, 638, 419, 643, 648, 639, + 649, 650, 651, 659, 427, 428, 429, 430, 431, 290, + 291, 292, 293, 294, 295, 296, 297, 298, 299, 634, + 669, 667, 670, 671, 404, 687, 641, 673, 404, 404, + 64, 65, 688, 107, 67, 68, 69, 70, 71, 72, + 73, 641, 1, 2, 631, 3, 4, 5, 581, 582, + 583, 584, 690, 586, -18, -19, 697, 588, 589, 698, + 404, 404, 700, 404, 699, 404, 704, 709, 710, 404, + 672, 132, 657, 74, 353, 404, 149, 45, 145, 130, + 227, 97, 362, 646, 490, 491, 492, 493, 228, 0, + 685, 522, 0, 498, 0, 0, 0, 0, 0, 0, + 0, 619, 620, 621, 622, 0, 631, 513, 0, 0, + 0, 0, 0, 0, 0, 0, 64, 65, 0, 107, + 67, 68, 69, 70, 71, 72, 73, 0, 1, 2, + 0, 3, 4, 5, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 652, 0, + 653, 654, 0, 0, 0, 0, 0, 0, 0, 74, + 0, 0, 551, 0, 0, 0, 0, 556, 0, 558, + 0, 0, 561, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 569, 570, 0, 571, 0, 0, 0, 0, + 75, 76, 0, 0, 77, 0, 78, 144, 0, 0, + 64, 65, 0, 107, 67, 68, 69, 70, 71, 72, + 73, 0, 1, 2, 0, 3, 4, 5, 0, 0, + 0, 0, 600, 601, 0, 603, 604, 605, 606, 0, + 0, 0, 0, 610, 0, 0, 0, 0, 0, 0, + 0, 616, 0, 74, 0, 0, 0, 618, 437, 438, + 439, 440, 0, 441, 0, 0, 0, 442, 443, 0, + 444, 445, 446, 447, 448, 0, 0, 0, 0, 387, + 388, 389, 390, 64, 65, 391, 75, 76, -221, 0, + 77, 0, 78, 379, 644, 1, 2, 0, 3, 4, + 5, 392, 393, 394, 0, 0, -63, 1, 2, 0, + 3, 4, 5, 0, 0, 0, 395, 396, 6, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 258, 198, 199, 200, 201, 202, 203, - 204, 205, 206, 207, 208, 209, 0, 259, 0, 260, - 261, 262, 0, 263, 264, 0, 0, 0, 0, 0, + 340, 0, 0, 0, 0, 397, 0, 0, 0, 0, + 8, 0, 675, 0, 9, 0, 681, 682, 10, 0, + 0, 175, 176, 177, 178, 179, 180, 181, 182, 183, + 184, 185, 186, 187, 188, 189, 254, 255, 256, 257, + 75, 76, 0, 0, 77, 0, 78, 466, 701, 702, + 0, 703, 0, 705, 0, 0, 0, 708, 0, 0, + 0, 0, 0, 711, 0, 258, 198, 679, 680, 201, + 202, 203, 204, 205, 206, 207, 208, 209, 0, 259, + 0, 260, 261, 262, 0, 263, 264, 343, 344, 0, + 345, 346, 0, 347, 348, 349, 0, 0, 0, 0, + 0, 0, 0, 0, 350, 0, 387, 388, 389, 390, + 64, 65, 391, 0, 398, 0, 0, 399, 0, 400, + 0, 401, 1, 2, 0, 3, 4, 5, 392, 393, + 394, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 395, 396, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 111, 0, + 64, 65, 397, 107, 67, 68, 69, 70, 71, 72, + 73, 0, 1, 2, 0, 3, 4, 5, 175, 176, + 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, + 187, 188, 189, 254, 255, 256, 257, 0, 0, 0, + 0, 0, 0, 74, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 112, 0, 0, 0, 0, - 0, 397, 0, 0, 398, 0, 399, 0, 400, 244, - 245, 246, 247, 64, 65, 248, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1, 2, 0, 3, 4, + 0, 0, 258, 198, 199, 200, 201, 202, 203, 204, + 205, 206, 207, 208, 209, 0, 259, -220, 260, 261, + 262, 0, 263, 264, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, -63, 1, 2, 0, 3, + 4, 5, 0, 0, 0, 112, 0, 6, 7, 0, + 0, 398, 0, 0, 399, 0, 400, 0, 401, 244, + 245, 246, 247, 64, 65, 248, 0, 0, 0, 8, + 0, 0, 0, 9, 0, 1, 2, 10, 3, 4, 5, 249, 250, 251, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 252, 253, 0, 0, - 75, 76, 0, 0, 77, 0, 78, 378, 0, 0, + 75, 76, 0, 0, 77, 0, 78, 483, 0, 0, 0, 111, 64, 65, 0, 107, 67, 68, 69, 70, 71, 72, 73, 0, 1, 2, 0, 3, 4, 5, 0, 175, 176, 177, 178, 179, 180, 181, 182, 183, @@ -2418,244 +2425,238 @@ 202, 203, 204, 205, 206, 207, 208, 209, 0, 259, 0, 260, 261, 262, 0, 263, 264, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 112, 0, 0, - 0, -61, 0, 265, 0, 0, 266, 0, 267, 0, - 268, 244, 245, 246, 247, 64, 65, 248, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, - 3, 4, 5, 249, 250, 251, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 252, 253, - 0, 75, 76, 0, 0, 77, 0, 78, 465, 0, - 0, 0, 0, 111, 64, 65, 0, 107, 67, 68, - 69, 70, 71, 72, 73, 0, 1, 2, 0, 3, - 4, 5, 0, 175, 176, 177, 178, 179, 180, 181, - 182, 183, 184, 185, 186, 187, 188, 189, 254, 255, - 256, 257, 0, 0, 0, 0, 0, 74, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 112, 0, + 0, 0, -61, 0, 265, 0, 0, 266, 0, 267, + 0, 268, 244, 245, 246, 247, 64, 65, 248, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, + 0, 3, 4, 5, 249, 250, 251, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 252, + 253, 0, 75, 76, 0, 0, 77, 0, 78, 545, + 0, 0, 0, 0, 111, 64, 65, 0, 153, 67, + 68, 69, 70, 71, 72, 73, 0, 1, 2, 0, + 3, 4, 5, 0, 175, 176, 177, 178, 179, 180, + 181, 182, 183, 184, 185, 186, 187, 188, 189, 254, + 255, 256, 257, 0, 0, 0, 0, 0, 74, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 258, 198, + 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, + 209, 0, 259, 0, 260, 261, 262, 0, 263, 264, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 258, 198, 199, - 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, - 0, 259, 0, 260, 261, 262, 0, 263, 264, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 112, - 0, 0, 0, 0, 0, 265, 0, 0, 266, 0, - 267, 0, 268, 386, 387, 388, 389, 64, 65, 390, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, - 2, 0, 3, 4, 5, 391, 392, 393, 0, 0, + 0, 112, 0, 0, 0, 0, 0, 265, 0, 0, + 266, 0, 267, 154, 268, 387, 388, 389, 390, 64, + 65, 391, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 2, 0, 3, 4, 5, 392, 393, 394, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 394, 395, -219, 75, 76, 0, 0, 77, 0, 78, - 482, 0, 0, 0, 0, 0, 0, 0, 0, 396, - -63, 1, 2, 0, 3, 4, 5, 0, 0, 0, - 0, 0, 6, 7, 0, 175, 176, 177, 178, 179, + 0, 0, 395, 396, 0, 75, 76, 0, 0, 77, + 0, 78, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 397, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 175, 176, 177, + 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, + 188, 189, 254, 255, 256, 257, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 258, 198, 199, 200, 201, 202, 203, 204, 205, + 206, 207, 208, 209, 0, 259, 0, 260, 261, 262, + 0, 263, 264, 387, 388, 389, 390, 0, 0, 391, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 392, 393, 394, 0, 0, + 398, 0, 0, 399, 0, 400, 0, 401, 0, 0, + 395, 396, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 64, 65, 397, + 153, 67, 68, 69, 70, 71, 72, 73, 0, 1, + 2, 0, 3, 4, 5, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, - 254, 255, 256, 257, 8, 0, 0, 0, 9, 0, - 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 258, + 254, 255, 256, 257, 0, 0, 0, 0, 64, 65, + 74, 107, 67, 68, 69, 70, 71, 72, 73, 0, + 1, 2, 0, 3, 4, 5, 0, 0, 0, 258, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 0, 259, 0, 260, 261, 262, 0, 263, - 264, 386, 387, 388, 389, 0, 0, 390, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 391, 392, 393, 0, 397, 0, 0, - 398, 0, 399, 0, 400, 0, 0, 0, 394, 395, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 64, 65, 396, 107, 67, + 264, 74, 64, 65, 0, 107, 67, 68, 69, 70, + 71, 72, 73, 0, 1, 2, 0, 3, 4, 5, + 0, 0, 0, 0, 0, 0, 0, 0, 398, 0, + 0, 399, 0, 400, 137, 401, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 74, 0, 0, 0, 0, + 0, 275, 276, 0, 277, 64, 65, 278, 107, 67, 68, 69, 70, 71, 72, 73, 0, 1, 2, 0, - 3, 4, 5, 175, 176, 177, 178, 179, 180, 181, - 182, 183, 184, 185, 186, 187, 188, 189, 254, 255, - 256, 257, 0, 0, 0, 0, 64, 65, 74, 153, + 3, 4, 5, 0, 0, 0, 0, 75, 76, 0, + 0, 77, 0, 78, 0, 0, 0, 352, 0, 0, + 0, 0, 0, 0, 0, 0, 64, 65, 74, 107, 67, 68, 69, 70, 71, 72, 73, 0, 1, 2, - 0, 3, 4, 5, 0, 0, 0, 258, 198, 199, - 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, - 0, 259, 0, 260, 261, 262, 0, 263, 264, 74, - 0, 64, 65, 0, 107, 67, 68, 69, 70, 71, - 72, 73, 0, 1, 2, 0, 3, 4, 5, 0, - 0, 0, 0, 0, 0, 397, 0, 0, 398, 0, - 399, 0, 400, 137, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 74, 64, 65, 0, 153, 67, - 68, 69, 70, 71, 72, 73, 0, 1, 2, 0, - 3, 4, 5, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 75, 76, 0, 0, 77, 0, - 78, 544, 0, 0, 0, 0, 0, 0, 74, 0, - 275, 276, 0, 277, 64, 65, 278, 107, 67, 68, + 0, 3, 4, 5, 0, 0, 0, 0, 75, 76, + 0, 374, 77, 0, 78, 0, 0, 0, 64, 65, + 0, 107, 67, 68, 69, 70, 71, 72, 73, 74, + 1, 2, 0, 3, 4, 5, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 539, 0, 75, 76, 0, 0, 77, 0, 78, 64, + 65, 74, 107, 67, 68, 69, 70, 71, 72, 73, + 0, 1, 2, 0, 3, 4, 5, 64, 65, 0, + 66, 67, 68, 69, 70, 71, 72, 73, 0, 1, + 2, 633, 3, 4, 5, 0, 0, 0, 0, 0, + 0, 0, 74, 0, 0, 75, 76, 0, 0, 77, + 0, 78, 0, 0, 0, 0, 0, 0, 64, 65, + 74, 107, 67, 68, 69, 70, 71, 72, 73, 0, + 1, 2, 0, 3, 4, 5, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 75, 76, 0, 479, + 77, 0, 78, 0, 0, 0, 0, 0, 0, 64, + 65, 74, 282, 67, 68, 69, 70, 71, 72, 73, + 0, 1, 2, 0, 3, 4, 5, 0, 75, 76, + 0, 0, 77, 0, 78, 0, 0, 0, 64, 65, + 0, 107, 67, 68, 69, 70, 71, 72, 73, 0, + 1, 2, 74, 3, 4, 5, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 75, + 76, 0, 0, 77, 0, 78, 0, 0, 0, 0, + 0, 74, 0, 0, 0, 0, 0, 75, 76, 0, + 0, 77, 0, 78, 64, 65, 0, 107, 67, 68, 69, 70, 71, 72, 73, 0, 1, 2, 0, 3, - 4, 5, 0, 0, 0, 75, 76, 0, 0, 77, - 0, 78, 0, 0, 0, 0, 351, 0, 0, 0, - 0, 0, 0, 0, 0, 64, 65, 74, 107, 67, - 68, 69, 70, 71, 72, 73, 0, 1, 2, 0, + 4, 5, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 75, 76, + 0, 0, 77, 0, 78, 64, 65, 74, 107, 67, + 68, 69, 70, 71, 72, 640, 0, 1, 2, 0, 3, 4, 5, 0, 0, 0, 0, 0, 0, 0, - 75, 76, 0, 154, 77, 0, 78, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 64, 65, 74, 107, - 67, 68, 69, 70, 71, 72, 73, 0, 1, 2, - 0, 3, 4, 5, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 75, + 76, 0, 0, 77, 0, 78, 64, 65, 74, 107, + 67, 68, 69, 70, 71, 72, 684, 166, 1, 2, + 0, 3, 4, 5, 0, 0, 0, 0, 75, 76, + 0, 0, 77, 0, 377, 0, 0, 0, 167, 168, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 74, + 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, + 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, + 189, 190, 191, 192, 193, 0, 0, 0, 0, 0, 0, 0, 0, 0, 75, 76, 0, 0, 77, 0, - 78, 0, 0, 0, 0, 0, 0, 64, 65, 74, - 107, 67, 68, 69, 70, 71, 72, 73, 0, 1, - 2, 0, 3, 4, 5, 64, 65, 0, 107, 67, - 68, 69, 70, 71, 72, 73, 0, 1, 2, 538, - 3, 4, 5, 75, 76, 0, 0, 77, 0, 78, - 74, 0, 0, 0, 0, 0, 0, 632, 0, 0, - 0, 0, 0, 0, 0, 0, 64, 65, 74, 66, - 67, 68, 69, 70, 71, 72, 73, 0, 1, 2, - 0, 3, 4, 5, 75, 76, 0, 373, 77, 0, - 78, 64, 65, 0, 107, 67, 68, 69, 70, 71, - 72, 73, 0, 1, 2, 0, 3, 4, 5, 74, + 481, 0, 0, 0, 0, 194, 195, 196, 0, 0, + 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, + 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, + 217, 218, 0, 0, 0, 75, 76, 0, 0, 77, + 0, 78, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 75, 76, 0, 478, 77, - 0, 78, 64, 65, 74, 282, 67, 68, 69, 70, - 71, 72, 73, 0, 1, 2, 0, 3, 4, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 75, 76, 0, 0, - 77, 0, 78, 0, 0, 74, 0, 0, 0, 0, - 0, 0, 0, 0, 75, 76, 0, 0, 77, 0, - 78, 64, 65, 0, 107, 67, 68, 69, 70, 71, - 72, 73, 0, 1, 2, 0, 3, 4, 5, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 75, 76, 0, 0, 77, - 0, 78, 64, 65, 74, 107, 67, 68, 69, 70, - 71, 72, 73, 0, 1, 2, 0, 3, 4, 5, - 75, 76, 0, 0, 77, 0, 78, 64, 65, 0, - 107, 67, 68, 69, 70, 71, 72, 639, 0, 1, - 2, 0, 3, 4, 5, 74, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 75, 76, 0, 0, 77, 0, 78, 64, 65, - 74, 107, 67, 68, 69, 70, 71, 72, 683, 0, - 1, 2, 0, 3, 4, 5, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 74, 0, 0, 0, 0, 0, 0, 0, 0, - 75, 76, 0, 0, 77, 0, 376, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 166, 75, 76, 0, 0, 77, 0, 480, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 167, 168, 0, 0, 0, 75, 76, 0, 0, - 77, 0, 78, 169, 170, 171, 172, 173, 174, 175, - 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, - 186, 187, 188, 189, 190, 191, 192, 193, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 75, 76, 0, - 0, 77, 0, 78, 0, 0, 0, 0, 194, 195, - 196, 0, 0, 197, 198, 199, 200, 201, 202, 203, - 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, - 214, 215, 216, 217, 218 + 77, 0, 78 }; static const yytype_int16 yycheck[] = { - 0, 27, 158, 239, 196, 321, 4, 121, 0, 11, - 461, 161, 28, 55, 11, 55, 55, 17, 55, 211, - 212, 213, 214, 215, 172, 17, 266, 267, 11, 221, - 21, 55, 55, 159, 192, 289, 55, 151, 29, 11, - 34, 659, 55, 55, 164, 55, 164, 7, 156, 0, - 158, 171, 78, 7, 8, 173, 449, 450, 676, 19, - 54, 193, 22, 53, 24, 19, 20, 164, 22, 23, - 24, 54, 41, 42, 171, 223, 102, 163, 68, 48, - 106, 164, 54, 337, 20, 54, 112, 23, 164, 11, - 173, 164, 118, 93, 164, 17, 254, 173, 256, 169, - 173, 32, 33, 539, 42, 43, 44, 45, 46, 47, - 48, 49, 59, 51, 240, 241, 142, 143, 163, 161, - 146, 161, 161, 255, 161, 257, 152, 167, 165, 171, - 169, 158, 159, 160, 585, 161, 376, 161, 161, 162, - 164, 165, 161, 169, 537, 164, 165, 339, 161, 161, - 162, 161, 165, 164, 18, 164, 172, 397, 398, 399, - 169, 164, 173, 46, 615, 48, 169, 169, 194, 195, - 196, 197, 169, 22, 172, 283, 117, 118, 286, 287, - 288, 35, 173, 37, 210, 211, 212, 213, 214, 215, - 216, 217, 218, 219, 220, 221, 512, 633, 42, 164, - 44, 163, 163, 639, 640, 231, 163, 34, 173, 42, - 43, 44, 167, 405, 47, 323, 242, 162, 21, 164, - 158, 159, 160, 331, 332, 333, 334, 335, 162, 421, - 164, 423, 424, 425, 162, 162, 164, 164, 22, 555, - 480, 557, 132, 133, 680, 681, 22, 683, 684, 162, - 22, 164, 366, 367, 368, 369, 370, 371, 372, 409, - 132, 133, 132, 133, 700, 701, 161, 381, 382, 383, - 4, 114, 115, 4, 300, 62, 63, 64, 65, 66, - 67, 37, 432, 84, 85, 161, 168, 168, 280, 4, - 165, 317, 318, 319, 163, 22, 164, 162, 171, 4, - 162, 617, 410, 411, 412, 413, 161, 55, 57, 11, - 466, 419, 338, 339, 141, 142, 143, 144, 171, 146, - 162, 161, 161, 150, 151, 433, 153, 154, 155, 156, - 157, 161, 161, 161, 22, 161, 161, 161, 452, 453, - 454, 455, 161, 161, 164, 38, 4, 164, 164, 463, - 376, 164, 164, 164, 164, 38, 161, 161, 466, 595, - 61, 161, 161, 161, 171, 22, 558, 164, 164, 561, - 562, 563, 164, 167, 164, 164, 164, 38, 164, 405, - 488, 164, 164, 409, 164, 493, 164, 495, 22, 54, - 498, 164, 17, 164, 164, 421, 422, 423, 424, 425, - 508, 509, 164, 511, 164, 431, 432, 17, 522, 523, - 524, 525, 164, 527, 164, 4, 4, 531, 532, 164, - 164, 164, 164, 164, 164, 451, 164, 4, 664, 164, - 22, 667, 164, 4, 164, 164, 164, 4, 164, 164, - 548, 549, 162, 551, 552, 553, 554, 171, 164, 475, - 171, 559, 161, 164, 480, 161, 121, 122, 54, 567, - 164, 575, 576, 577, 578, 573, 162, 164, 162, 164, - 162, 22, 286, 287, 288, 164, 141, 142, 169, 144, - 145, 507, 147, 148, 149, 171, 167, 513, 7, 8, - 162, 10, 11, 12, 13, 14, 15, 16, 17, 162, - 19, 20, 610, 22, 23, 24, 162, 533, 622, 323, - 624, 625, 38, 162, 17, 169, 162, 331, 332, 333, - 334, 335, 162, 162, 54, 4, 152, 164, 161, 161, - 22, 50, 558, 17, 164, 561, 562, 563, 73, 655, - 17, 19, 17, 17, 22, 93, 24, 634, 112, 231, - 658, 106, 242, 17, 662, 663, 90, 7, 8, 57, - 10, 11, 12, 13, 14, 15, 16, 17, 594, 19, - 20, 133, 22, 23, 24, 601, 54, 456, 616, 133, - -1, -1, -1, -1, -1, -1, 694, 695, -1, 697, - 616, 699, -1, 593, -1, 703, 410, 411, 412, 413, - 50, 709, -1, -1, -1, 419, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 141, 142, 143, 144, 433, - 146, -1, -1, -1, 150, 151, -1, 153, 154, 155, - 156, 157, -1, -1, -1, -1, -1, -1, -1, 665, - -1, -1, -1, 121, 122, -1, -1, 166, 167, -1, - -1, 170, -1, 172, 173, 655, -1, -1, -1, -1, - -1, -1, -1, 141, 142, -1, 144, 145, -1, 147, - 148, 149, -1, -1, 488, -1, -1, -1, -1, 493, - -1, 495, -1, -1, 498, -1, 26, 27, -1, -1, - -1, -1, -1, -1, 508, 509, -1, 511, 141, 142, + 0, 27, 239, 196, 161, 158, 0, 321, 266, 267, + 462, 4, 28, 11, 540, 11, 55, 17, 211, 212, + 213, 214, 215, 17, 21, 55, 192, 172, 221, 289, + 450, 451, 29, 42, 43, 44, 45, 46, 47, 48, + 49, 55, 51, 159, 11, 34, 11, 55, 53, 7, + 660, 165, 78, 55, 32, 33, 55, 42, 43, 44, + 174, 19, 47, 68, 22, 54, 24, 677, 41, 42, + 165, 156, 55, 158, 164, 48, 102, 337, 223, 174, + 106, 54, 165, 193, 117, 118, 112, 54, 254, 54, + 256, 174, 118, 93, 7, 8, 165, 10, 11, 12, + 13, 14, 15, 16, 17, 174, 19, 20, 634, 22, + 23, 24, 165, 165, 640, 641, 142, 143, 538, 377, + 146, 174, 174, 162, 240, 241, 152, 59, 55, 55, + 11, 18, 162, 172, 586, 161, 17, 50, 168, 164, + 398, 399, 400, 169, 164, 255, 339, 257, 162, 163, + 159, 160, 161, 0, 162, 681, 682, 173, 684, 685, + 162, 34, 170, 162, 616, 168, 165, 166, 194, 195, + 196, 197, 170, 165, 170, 701, 702, 174, 170, 162, + 173, 55, 165, 166, 210, 211, 212, 213, 214, 215, + 216, 217, 218, 219, 220, 221, 121, 165, 283, 513, + 164, 286, 287, 288, 172, 231, 165, 20, 165, 165, + 23, 170, 164, 406, 170, 172, 242, 19, 22, 46, + 22, 48, 24, 481, 21, 35, 151, 37, 42, 422, + 44, 424, 425, 426, 22, 162, 162, 22, 323, 166, + 166, 163, 556, 165, 558, 162, 331, 332, 333, 334, + 335, 22, 54, 410, 167, 168, 4, 163, 171, 165, + 173, 174, 62, 63, 64, 65, 66, 67, 141, 142, + 143, 144, 4, 146, 300, 37, 433, 150, 151, 169, + 153, 154, 155, 156, 157, 163, 280, 165, 162, 163, + 169, 317, 318, 319, 7, 8, 159, 160, 161, 163, + 162, 165, 4, 163, 618, 165, 19, 20, 166, 22, + 23, 24, 338, 339, 467, 132, 133, 132, 133, 121, + 122, 132, 133, 114, 115, 54, 411, 412, 413, 414, + 84, 85, 164, 22, 165, 420, 172, 163, 4, 141, + 142, 163, 144, 145, 162, 147, 148, 149, 55, 434, + 11, 377, 57, 172, 163, 162, 158, 162, 22, 596, + 38, 162, 165, 162, 162, 4, 559, 162, 162, 562, + 563, 564, 162, 162, 61, 162, 38, 22, 38, 165, + 406, 165, 467, 165, 410, 165, 165, 38, 162, 165, + 162, 172, 121, 122, 162, 162, 422, 423, 424, 425, + 426, 165, 162, 168, 489, 22, 432, 433, 165, 494, + 165, 496, 141, 142, 499, 144, 145, 17, 147, 148, + 149, 165, 165, 165, 509, 510, 452, 512, 665, 158, + 165, 668, 165, 17, 165, 165, 4, 165, 26, 27, + 165, 165, 367, 368, 369, 370, 371, 372, 373, 165, + 476, 165, 4, 165, 165, 481, 165, 382, 383, 384, + 4, 165, 165, 22, 549, 550, 165, 552, 553, 554, + 555, 165, 165, 165, 165, 560, 172, 165, 4, 165, + 165, 165, 508, 568, 165, 165, 165, 163, 514, 574, + 141, 142, 143, 144, 165, 146, 165, 172, 4, 150, + 151, 54, 153, 154, 155, 156, 157, 162, 534, 286, + 287, 288, 100, 101, 102, 103, 104, 105, 106, 107, + 108, 109, 110, 111, 112, 113, 611, 162, 453, 454, + 455, 456, 165, 559, 163, 165, 562, 563, 564, 464, + 165, 163, 163, 22, 172, 165, 323, 170, 163, 168, + 163, 163, 163, 17, 331, 332, 333, 334, 335, 94, + 95, 96, 97, 98, 99, 100, 101, 102, 103, 595, + 163, 170, 163, 163, 659, 4, 602, 54, 663, 664, + 7, 8, 152, 10, 11, 12, 13, 14, 15, 16, + 17, 617, 19, 20, 594, 22, 23, 24, 523, 524, + 525, 526, 165, 528, 162, 162, 22, 532, 533, 17, + 695, 696, 17, 698, 165, 700, 17, 73, 17, 704, + 656, 93, 635, 50, 231, 710, 112, 17, 106, 90, + 133, 57, 242, 617, 411, 412, 413, 414, 133, -1, + 666, 457, -1, 420, -1, -1, -1, -1, -1, -1, + -1, 576, 577, 578, 579, -1, 656, 434, -1, -1, + -1, -1, -1, -1, -1, -1, 7, 8, -1, 10, + 11, 12, 13, 14, 15, 16, 17, -1, 19, 20, + -1, 22, 23, 24, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 623, -1, + 625, 626, -1, -1, -1, -1, -1, -1, -1, 50, + -1, -1, 489, -1, -1, -1, -1, 494, -1, 496, + -1, -1, 499, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 509, 510, -1, 512, -1, -1, -1, -1, + 167, 168, -1, -1, 171, -1, 173, 174, -1, -1, + 7, 8, -1, 10, 11, 12, 13, 14, 15, 16, + 17, -1, 19, 20, -1, 22, 23, 24, -1, -1, + -1, -1, 549, 550, -1, 552, 553, 554, 555, -1, + -1, -1, -1, 560, -1, -1, -1, -1, -1, -1, + -1, 568, -1, 50, -1, -1, -1, 574, 141, 142, 143, 144, -1, 146, -1, -1, -1, 150, 151, -1, - 153, 154, 155, 156, 157, -1, 166, 167, -1, -1, - 170, -1, 172, 173, 94, 95, 96, 97, 98, 99, - 100, 101, 102, 103, 548, 549, -1, 551, 552, 553, - 554, -1, -1, -1, -1, 559, -1, -1, -1, -1, - -1, -1, -1, 567, -1, -1, -1, -1, -1, 573, - 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, - 110, 111, 112, 113, -1, -1, -1, -1, -1, -1, - -1, 3, 4, 5, 6, 7, 8, 9, -1, -1, - 0, -1, -1, -1, -1, -1, 610, 19, 20, -1, - 22, 23, 24, 25, 26, 27, -1, -1, 18, 19, - 20, -1, 22, 23, 24, -1, -1, -1, 40, 41, - 30, 31, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 54, -1, -1, -1, -1, 59, -1, -1, - -1, -1, 52, -1, 658, -1, 56, -1, 662, 663, - 60, -1, -1, 75, 76, 77, 78, 79, 80, 81, - 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, - 92, 93, -1, -1, -1, -1, -1, -1, -1, -1, - 694, 695, -1, 697, -1, 699, -1, -1, -1, 703, - -1, -1, -1, -1, -1, 709, -1, 119, 120, 121, - 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, - -1, 133, -1, 135, 136, 137, -1, 139, 140, 141, - 142, -1, 144, 145, -1, 147, 148, 149, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 3, 4, 5, - 6, 7, 8, 9, -1, 167, -1, -1, 170, -1, - 172, -1, 174, 19, 20, -1, 22, 23, 24, 25, - 26, 27, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 40, 41, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 55, - -1, 7, 8, 59, 10, 11, 12, 13, 14, 15, - 16, 17, -1, 19, 20, -1, 22, 23, 24, 75, - 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, - 86, 87, 88, 89, 90, 91, 92, 93, -1, -1, - -1, -1, -1, -1, 50, -1, -1, -1, -1, -1, + 153, 154, 155, 156, 157, -1, -1, -1, -1, 3, + 4, 5, 6, 7, 8, 9, 167, 168, 0, -1, + 171, -1, 173, 174, 611, 19, 20, -1, 22, 23, + 24, 25, 26, 27, -1, -1, 18, 19, 20, -1, + 22, 23, 24, -1, -1, -1, 40, 41, 30, 31, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 119, 120, 121, 122, 123, 124, 125, - 126, 127, 128, 129, 130, 131, -1, 133, -1, 135, - 136, 137, -1, 139, 140, -1, -1, -1, -1, -1, + 54, -1, -1, -1, -1, 59, -1, -1, -1, -1, + 52, -1, 659, -1, 56, -1, 663, 664, 60, -1, + -1, 75, 76, 77, 78, 79, 80, 81, 82, 83, + 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, + 167, 168, -1, -1, 171, -1, 173, 174, 695, 696, + -1, 698, -1, 700, -1, -1, -1, 704, -1, -1, + -1, -1, -1, 710, -1, 119, 120, 121, 122, 123, + 124, 125, 126, 127, 128, 129, 130, 131, -1, 133, + -1, 135, 136, 137, -1, 139, 140, 141, 142, -1, + 144, 145, -1, 147, 148, 149, -1, -1, -1, -1, + -1, -1, -1, -1, 158, -1, 3, 4, 5, 6, + 7, 8, 9, -1, 168, -1, -1, 171, -1, 173, + -1, 175, 19, 20, -1, 22, 23, 24, 25, 26, + 27, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 40, 41, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 55, -1, + 7, 8, 59, 10, 11, 12, 13, 14, 15, 16, + 17, -1, 19, 20, -1, 22, 23, 24, 75, 76, + 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, + 87, 88, 89, 90, 91, 92, 93, -1, -1, -1, + -1, -1, -1, 50, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 161, -1, -1, -1, -1, - -1, 167, -1, -1, 170, -1, 172, -1, 174, 3, - 4, 5, 6, 7, 8, 9, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 19, 20, -1, 22, 23, + -1, -1, 119, 120, 121, 122, 123, 124, 125, 126, + 127, 128, 129, 130, 131, -1, 133, 0, 135, 136, + 137, -1, 139, 140, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 18, 19, 20, -1, 22, + 23, 24, -1, -1, -1, 162, -1, 30, 31, -1, + -1, 168, -1, -1, 171, -1, 173, -1, 175, 3, + 4, 5, 6, 7, 8, 9, -1, -1, -1, 52, + -1, -1, -1, 56, -1, 19, 20, 60, 22, 23, 24, 25, 26, 27, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 40, 41, -1, -1, - 166, 167, -1, -1, 170, -1, 172, 173, -1, -1, + 167, 168, -1, -1, 171, -1, 173, 174, -1, -1, -1, 55, 7, 8, -1, 10, 11, 12, 13, 14, 15, 16, 17, -1, 19, 20, -1, 22, 23, 24, -1, 75, 76, 77, 78, 79, 80, 81, 82, 83, @@ -2666,124 +2667,114 @@ 124, 125, 126, 127, 128, 129, 130, 131, -1, 133, -1, 135, 136, 137, -1, 139, 140, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 161, -1, -1, - -1, 165, -1, 167, -1, -1, 170, -1, 172, -1, - 174, 3, 4, 5, 6, 7, 8, 9, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 19, 20, -1, - 22, 23, 24, 25, 26, 27, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 40, 41, - -1, 166, 167, -1, -1, 170, -1, 172, 173, -1, - -1, -1, -1, 55, 7, 8, -1, 10, 11, 12, - 13, 14, 15, 16, 17, -1, 19, 20, -1, 22, - 23, 24, -1, 75, 76, 77, 78, 79, 80, 81, - 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, - 92, 93, -1, -1, -1, -1, -1, 50, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 162, -1, + -1, -1, 166, -1, 168, -1, -1, 171, -1, 173, + -1, 175, 3, 4, 5, 6, 7, 8, 9, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 19, 20, + -1, 22, 23, 24, 25, 26, 27, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 40, + 41, -1, 167, 168, -1, -1, 171, -1, 173, 174, + -1, -1, -1, -1, 55, 7, 8, -1, 10, 11, + 12, 13, 14, 15, 16, 17, -1, 19, 20, -1, + 22, 23, 24, -1, 75, 76, 77, 78, 79, 80, + 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, + 91, 92, 93, -1, -1, -1, -1, -1, 50, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 119, 120, 121, - 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, - -1, 133, -1, 135, 136, 137, -1, 139, 140, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 119, 120, + 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, + 131, -1, 133, -1, 135, 136, 137, -1, 139, 140, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 161, - -1, -1, -1, -1, -1, 167, -1, -1, 170, -1, - 172, -1, 174, 3, 4, 5, 6, 7, 8, 9, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 19, - 20, -1, 22, 23, 24, 25, 26, 27, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 40, 41, 0, 166, 167, -1, -1, 170, -1, 172, - 173, -1, -1, -1, -1, -1, -1, -1, -1, 59, - 18, 19, 20, -1, 22, 23, 24, -1, -1, -1, - -1, -1, 30, 31, -1, 75, 76, 77, 78, 79, + -1, 162, -1, -1, -1, -1, -1, 168, -1, -1, + 171, -1, 173, 125, 175, 3, 4, 5, 6, 7, + 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 19, 20, -1, 22, 23, 24, 25, 26, 27, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 40, 41, -1, 167, 168, -1, -1, 171, + -1, 173, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 59, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 75, 76, 77, + 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, + 88, 89, 90, 91, 92, 93, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 119, 120, 121, 122, 123, 124, 125, 126, 127, + 128, 129, 130, 131, -1, 133, -1, 135, 136, 137, + -1, 139, 140, 3, 4, 5, 6, -1, -1, 9, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 25, 26, 27, -1, -1, + 168, -1, -1, 171, -1, 173, -1, 175, -1, -1, + 40, 41, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 7, 8, 59, + 10, 11, 12, 13, 14, 15, 16, 17, -1, 19, + 20, -1, 22, 23, 24, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, - 90, 91, 92, 93, 52, -1, -1, -1, 56, -1, - -1, -1, 60, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 119, + 90, 91, 92, 93, -1, -1, -1, -1, 7, 8, + 50, 10, 11, 12, 13, 14, 15, 16, 17, -1, + 19, 20, -1, 22, 23, 24, -1, -1, -1, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, -1, 133, -1, 135, 136, 137, -1, 139, - 140, 3, 4, 5, 6, -1, -1, 9, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 25, 26, 27, -1, 167, -1, -1, - 170, -1, 172, -1, 174, -1, -1, -1, 40, 41, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 7, 8, 59, 10, 11, - 12, 13, 14, 15, 16, 17, -1, 19, 20, -1, - 22, 23, 24, 75, 76, 77, 78, 79, 80, 81, - 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, - 92, 93, -1, -1, -1, -1, 7, 8, 50, 10, - 11, 12, 13, 14, 15, 16, 17, -1, 19, 20, - -1, 22, 23, 24, -1, -1, -1, 119, 120, 121, - 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, - -1, 133, -1, 135, 136, 137, -1, 139, 140, 50, - -1, 7, 8, -1, 10, 11, 12, 13, 14, 15, - 16, 17, -1, 19, 20, -1, 22, 23, 24, -1, - -1, -1, -1, -1, -1, 167, -1, -1, 170, -1, - 172, -1, 174, 39, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 50, 7, 8, -1, 10, 11, - 12, 13, 14, 15, 16, 17, -1, 19, 20, -1, - 22, 23, 24, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 166, 167, -1, -1, 170, -1, - 172, 173, -1, -1, -1, -1, -1, -1, 50, -1, - 141, 142, -1, 144, 7, 8, 147, 10, 11, 12, - 13, 14, 15, 16, 17, -1, 19, 20, -1, 22, - 23, 24, -1, -1, -1, 166, 167, -1, -1, 170, - -1, 172, -1, -1, -1, -1, 39, -1, -1, -1, - -1, -1, -1, -1, -1, 7, 8, 50, 10, 11, + 140, 50, 7, 8, -1, 10, 11, 12, 13, 14, + 15, 16, 17, -1, 19, 20, -1, 22, 23, 24, + -1, -1, -1, -1, -1, -1, -1, -1, 168, -1, + -1, 171, -1, 173, 39, 175, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 50, -1, -1, -1, -1, + -1, 141, 142, -1, 144, 7, 8, 147, 10, 11, 12, 13, 14, 15, 16, 17, -1, 19, 20, -1, - 22, 23, 24, -1, -1, -1, -1, -1, -1, -1, - 166, 167, -1, 125, 170, -1, 172, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 7, 8, 50, 10, - 11, 12, 13, 14, 15, 16, 17, -1, 19, 20, - -1, 22, 23, 24, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 166, 167, -1, -1, 170, -1, - 172, -1, -1, -1, -1, -1, -1, 7, 8, 50, - 10, 11, 12, 13, 14, 15, 16, 17, -1, 19, - 20, -1, 22, 23, 24, 7, 8, -1, 10, 11, - 12, 13, 14, 15, 16, 17, -1, 19, 20, 39, - 22, 23, 24, 166, 167, -1, -1, 170, -1, 172, - 50, -1, -1, -1, -1, -1, -1, 39, -1, -1, + 22, 23, 24, -1, -1, -1, -1, 167, 168, -1, + -1, 171, -1, 173, -1, -1, -1, 39, -1, -1, -1, -1, -1, -1, -1, -1, 7, 8, 50, 10, 11, 12, 13, 14, 15, 16, 17, -1, 19, 20, - -1, 22, 23, 24, 166, 167, -1, 169, 170, -1, - 172, 7, 8, -1, 10, 11, 12, 13, 14, 15, - 16, 17, -1, 19, 20, -1, 22, 23, 24, 50, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 166, 167, -1, 169, 170, - -1, 172, 7, 8, 50, 10, 11, 12, 13, 14, - 15, 16, 17, -1, 19, 20, -1, 22, 23, 24, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 166, 167, -1, -1, - 170, -1, 172, -1, -1, 50, -1, -1, -1, -1, - -1, -1, -1, -1, 166, 167, -1, -1, 170, -1, - 172, 7, 8, -1, 10, 11, 12, 13, 14, 15, - 16, 17, -1, 19, 20, -1, 22, 23, 24, -1, + -1, 22, 23, 24, -1, -1, -1, -1, 167, 168, + -1, 170, 171, -1, 173, -1, -1, -1, 7, 8, + -1, 10, 11, 12, 13, 14, 15, 16, 17, 50, + 19, 20, -1, 22, 23, 24, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 166, 167, -1, -1, 170, - -1, 172, 7, 8, 50, 10, 11, 12, 13, 14, - 15, 16, 17, -1, 19, 20, -1, 22, 23, 24, - 166, 167, -1, -1, 170, -1, 172, 7, 8, -1, + 39, -1, 167, 168, -1, -1, 171, -1, 173, 7, + 8, 50, 10, 11, 12, 13, 14, 15, 16, 17, + -1, 19, 20, -1, 22, 23, 24, 7, 8, -1, 10, 11, 12, 13, 14, 15, 16, 17, -1, 19, - 20, -1, 22, 23, 24, 50, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 166, 167, -1, -1, 170, -1, 172, 7, 8, + 20, 39, 22, 23, 24, -1, -1, -1, -1, -1, + -1, -1, 50, -1, -1, 167, 168, -1, -1, 171, + -1, 173, -1, -1, -1, -1, -1, -1, 7, 8, 50, 10, 11, 12, 13, 14, 15, 16, 17, -1, 19, 20, -1, 22, 23, 24, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 167, 168, -1, 170, + 171, -1, 173, -1, -1, -1, -1, -1, -1, 7, + 8, 50, 10, 11, 12, 13, 14, 15, 16, 17, + -1, 19, 20, -1, 22, 23, 24, -1, 167, 168, + -1, -1, 171, -1, 173, -1, -1, -1, 7, 8, + -1, 10, 11, 12, 13, 14, 15, 16, 17, -1, + 19, 20, 50, 22, 23, 24, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 167, + 168, -1, -1, 171, -1, 173, -1, -1, -1, -1, + -1, 50, -1, -1, -1, -1, -1, 167, 168, -1, + -1, 171, -1, 173, 7, 8, -1, 10, 11, 12, + 13, 14, 15, 16, 17, -1, 19, 20, -1, 22, + 23, 24, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 167, 168, + -1, -1, 171, -1, 173, 7, 8, 50, 10, 11, + 12, 13, 14, 15, 16, 17, -1, 19, 20, -1, + 22, 23, 24, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 167, + 168, -1, -1, 171, -1, 173, 7, 8, 50, 10, + 11, 12, 13, 14, 15, 16, 17, 36, 19, 20, + -1, 22, 23, 24, -1, -1, -1, -1, 167, 168, + -1, -1, 171, -1, 173, -1, -1, -1, 57, 58, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 50, + 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, + 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, + 89, 90, 91, 92, 93, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 167, 168, -1, -1, 171, -1, + 173, -1, -1, -1, -1, 114, 115, 116, -1, -1, + 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, + 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, + 139, 140, -1, -1, -1, 167, 168, -1, -1, 171, + -1, 173, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 50, -1, -1, -1, -1, -1, -1, -1, -1, - 166, 167, -1, -1, 170, -1, 172, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 36, 166, 167, -1, -1, 170, -1, 172, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 57, 58, -1, -1, -1, 166, 167, -1, -1, - 170, -1, 172, 69, 70, 71, 72, 73, 74, 75, - 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, - 86, 87, 88, 89, 90, 91, 92, 93, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 166, 167, -1, - -1, 170, -1, 172, -1, -1, -1, -1, 114, 115, - 116, -1, -1, 119, 120, 121, 122, 123, 124, 125, - 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, - 136, 137, 138, 139, 140 + -1, -1, -1, -1, -1, -1, 167, 168, -1, -1, + 171, -1, 173 }; /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing @@ -2791,77 +2782,77 @@ static const yytype_uint16 yystos[] = { 0, 19, 20, 22, 23, 24, 30, 31, 52, 56, - 60, 181, 184, 186, 187, 188, 222, 223, 224, 226, - 225, 53, 68, 231, 163, 59, 163, 18, 163, 42, - 43, 44, 45, 46, 47, 48, 49, 51, 158, 159, - 160, 189, 190, 191, 0, 224, 46, 48, 192, 241, - 42, 43, 44, 47, 193, 238, 240, 248, 163, 163, - 167, 232, 22, 230, 7, 8, 10, 11, 12, 13, - 14, 15, 16, 17, 50, 166, 167, 170, 172, 181, - 186, 209, 210, 244, 191, 191, 35, 37, 220, 191, - 191, 21, 249, 250, 29, 173, 239, 249, 22, 22, - 22, 233, 161, 4, 4, 4, 172, 10, 173, 210, - 215, 55, 161, 183, 220, 220, 42, 44, 194, 32, - 33, 219, 62, 63, 64, 65, 66, 67, 195, 236, - 236, 7, 184, 185, 253, 164, 169, 39, 210, 211, - 213, 214, 168, 168, 173, 215, 164, 173, 161, 214, - 165, 219, 219, 10, 125, 210, 212, 221, 210, 216, - 4, 199, 28, 172, 237, 163, 36, 57, 58, 69, + 60, 182, 185, 187, 188, 189, 223, 224, 225, 227, + 226, 53, 68, 232, 164, 59, 164, 18, 164, 42, + 43, 44, 45, 46, 47, 48, 49, 51, 159, 160, + 161, 190, 191, 192, 0, 225, 46, 48, 193, 242, + 42, 43, 44, 47, 194, 239, 241, 249, 164, 164, + 168, 233, 22, 231, 7, 8, 10, 11, 12, 13, + 14, 15, 16, 17, 50, 167, 168, 171, 173, 182, + 187, 210, 211, 245, 192, 192, 35, 37, 221, 192, + 192, 21, 250, 251, 29, 174, 240, 250, 22, 22, + 22, 234, 162, 4, 4, 4, 173, 10, 174, 211, + 216, 55, 162, 184, 221, 221, 42, 44, 195, 32, + 33, 220, 62, 63, 64, 65, 66, 67, 196, 237, + 237, 7, 185, 186, 254, 165, 170, 39, 211, 212, + 214, 215, 169, 169, 174, 216, 165, 174, 162, 215, + 166, 220, 220, 10, 125, 211, 213, 222, 211, 217, + 4, 200, 28, 173, 238, 164, 36, 57, 58, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 114, 115, 116, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, - 132, 133, 134, 135, 136, 137, 138, 139, 140, 176, - 177, 178, 251, 258, 259, 260, 261, 251, 259, 22, - 197, 164, 162, 210, 210, 171, 173, 210, 4, 162, - 216, 210, 161, 244, 3, 4, 5, 6, 9, 25, + 132, 133, 134, 135, 136, 137, 138, 139, 140, 177, + 178, 179, 252, 259, 260, 261, 262, 252, 260, 22, + 198, 165, 163, 211, 211, 172, 174, 211, 4, 163, + 217, 211, 162, 245, 3, 4, 5, 6, 9, 25, 26, 27, 40, 41, 90, 91, 92, 93, 119, 133, - 135, 136, 137, 139, 140, 167, 170, 172, 174, 176, - 177, 178, 217, 244, 183, 141, 142, 144, 147, 198, - 212, 57, 10, 210, 246, 247, 11, 17, 11, 195, + 135, 136, 137, 139, 140, 168, 171, 173, 175, 177, + 178, 179, 218, 245, 184, 141, 142, 144, 147, 199, + 213, 57, 10, 211, 247, 248, 11, 17, 11, 196, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, - 179, 26, 27, 100, 101, 102, 103, 104, 105, 106, - 107, 108, 109, 110, 111, 112, 113, 180, 179, 180, - 210, 210, 246, 210, 210, 254, 246, 246, 246, 246, - 246, 210, 210, 210, 210, 210, 246, 195, 117, 118, + 180, 26, 27, 100, 101, 102, 103, 104, 105, 106, + 107, 108, 109, 110, 111, 112, 113, 181, 180, 181, + 211, 211, 247, 211, 211, 255, 247, 247, 247, 247, + 247, 211, 211, 211, 211, 211, 247, 196, 117, 118, 54, 121, 122, 141, 142, 144, 145, 147, 148, 149, - 196, 39, 211, 201, 169, 171, 171, 162, 201, 183, - 183, 221, 179, 180, 179, 180, 161, 161, 161, 161, - 161, 161, 161, 169, 216, 218, 172, 218, 173, 218, - 22, 161, 161, 161, 227, 186, 3, 4, 5, 6, - 9, 25, 26, 27, 40, 41, 59, 167, 170, 172, - 174, 217, 243, 244, 245, 164, 245, 245, 245, 199, - 210, 210, 210, 210, 164, 204, 164, 204, 245, 167, - 164, 164, 164, 164, 164, 164, 245, 245, 245, 245, - 245, 38, 199, 210, 246, 4, 141, 142, 143, 144, - 146, 150, 151, 153, 154, 155, 156, 157, 200, 228, - 229, 38, 161, 161, 161, 161, 216, 216, 216, 216, - 216, 216, 216, 164, 169, 173, 210, 218, 171, 173, - 216, 216, 216, 164, 207, 161, 61, 242, 169, 218, - 172, 218, 173, 218, 22, 246, 164, 164, 212, 245, - 245, 245, 245, 11, 54, 11, 256, 245, 167, 246, - 210, 246, 246, 246, 164, 164, 257, 164, 164, 164, - 210, 212, 245, 164, 207, 207, 210, 216, 216, 216, - 216, 256, 164, 164, 164, 164, 257, 164, 216, 171, - 173, 164, 164, 38, 34, 54, 205, 208, 39, 210, - 234, 235, 22, 169, 173, 218, 171, 173, 17, 17, - 245, 164, 164, 164, 164, 245, 4, 245, 164, 164, - 245, 164, 164, 164, 4, 4, 164, 210, 245, 245, - 245, 164, 204, 210, 162, 164, 164, 164, 164, 162, - 216, 216, 216, 216, 162, 216, 171, 216, 216, 210, - 22, 4, 207, 197, 164, 162, 164, 171, 173, 245, - 245, 161, 245, 245, 245, 245, 204, 204, 246, 245, - 164, 246, 246, 246, 4, 245, 161, 245, 216, 216, - 216, 216, 164, 162, 164, 164, 257, 162, 162, 162, - 181, 182, 39, 210, 201, 22, 171, 164, 167, 17, - 210, 255, 169, 245, 257, 255, 204, 162, 162, 162, - 162, 216, 216, 216, 162, 197, 205, 206, 17, 11, - 169, 252, 197, 197, 162, 164, 169, 162, 162, 162, - 162, 182, 54, 203, 245, 243, 11, 169, 121, 122, - 245, 245, 201, 17, 210, 201, 4, 152, 202, 164, - 243, 197, 197, 38, 197, 197, 22, 17, 164, 17, - 245, 245, 245, 17, 245, 197, 197, 245, 73, 17, - 245 + 158, 197, 39, 212, 202, 170, 172, 172, 163, 202, + 184, 184, 222, 180, 181, 180, 181, 162, 162, 162, + 162, 162, 162, 162, 170, 217, 219, 173, 219, 174, + 219, 22, 162, 162, 162, 228, 187, 3, 4, 5, + 6, 9, 25, 26, 27, 40, 41, 59, 168, 171, + 173, 175, 218, 244, 245, 246, 165, 246, 246, 246, + 200, 211, 211, 211, 211, 165, 205, 165, 205, 246, + 168, 165, 165, 165, 165, 165, 165, 246, 246, 246, + 246, 246, 38, 200, 211, 247, 4, 141, 142, 143, + 144, 146, 150, 151, 153, 154, 155, 156, 157, 201, + 229, 230, 38, 162, 162, 162, 162, 217, 217, 217, + 217, 217, 217, 217, 165, 170, 174, 211, 219, 172, + 174, 217, 217, 217, 165, 208, 162, 61, 243, 170, + 219, 173, 219, 174, 219, 22, 247, 165, 165, 213, + 246, 246, 246, 246, 11, 54, 11, 257, 246, 168, + 247, 211, 247, 247, 247, 165, 165, 258, 165, 165, + 165, 211, 213, 246, 165, 208, 208, 211, 217, 217, + 217, 217, 257, 165, 165, 165, 165, 258, 165, 217, + 172, 174, 165, 165, 38, 34, 54, 206, 209, 39, + 211, 235, 236, 22, 170, 174, 219, 172, 174, 17, + 17, 246, 165, 165, 165, 165, 246, 4, 246, 165, + 165, 246, 165, 165, 165, 4, 4, 165, 211, 246, + 246, 246, 165, 205, 211, 163, 165, 165, 165, 165, + 163, 217, 217, 217, 217, 163, 217, 172, 217, 217, + 211, 22, 4, 208, 198, 165, 163, 165, 172, 174, + 246, 246, 162, 246, 246, 246, 246, 205, 205, 247, + 246, 165, 247, 247, 247, 4, 246, 162, 246, 217, + 217, 217, 217, 165, 163, 165, 165, 258, 163, 163, + 163, 182, 183, 39, 211, 202, 22, 172, 165, 168, + 17, 211, 256, 170, 246, 258, 256, 205, 163, 163, + 163, 163, 217, 217, 217, 163, 198, 206, 207, 17, + 11, 170, 253, 198, 198, 163, 165, 170, 163, 163, + 163, 163, 183, 54, 204, 246, 244, 11, 170, 121, + 122, 246, 246, 202, 17, 211, 202, 4, 152, 203, + 165, 244, 198, 198, 38, 198, 198, 22, 17, 165, + 17, 246, 246, 246, 17, 246, 198, 198, 246, 73, + 17, 246 }; #define yyerrok (yyerrstatus = 0) @@ -4057,180 +4048,189 @@ case 108: #line 1275 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" - { (yyval.Attributes) = Attribute::ByVal; ;} + { (yyval.Attributes) = Attribute::NoCapture; ;} break; case 109: #line 1276 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" - { (yyval.Attributes) = Attribute::Nest; ;} + { (yyval.Attributes) = Attribute::ByVal; ;} break; case 110: #line 1277 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" - { (yyval.Attributes) = - Attribute::constructAlignmentFromInt((yyvsp[(2) - (2)].UInt64Val)); ;} + { (yyval.Attributes) = Attribute::Nest; ;} break; case 111: -#line 1281 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" - { (yyval.Attributes) = Attribute::None; ;} +#line 1278 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + { (yyval.Attributes) = + Attribute::constructAlignmentFromInt((yyvsp[(2) - (2)].UInt64Val)); ;} break; case 112: #line 1282 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" - { - (yyval.Attributes) = (yyvsp[(1) - (2)].Attributes) | (yyvsp[(2) - (2)].Attributes); - ;} + { (yyval.Attributes) = Attribute::None; ;} break; case 113: -#line 1287 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" - { (yyval.Attributes) = Attribute::InReg; ;} +#line 1283 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + { + (yyval.Attributes) = (yyvsp[(1) - (2)].Attributes) | (yyvsp[(2) - (2)].Attributes); + ;} break; case 114: #line 1288 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" - { (yyval.Attributes) = Attribute::ZExt; ;} + { (yyval.Attributes) = Attribute::InReg; ;} break; case 115: #line 1289 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" - { (yyval.Attributes) = Attribute::SExt; ;} + { (yyval.Attributes) = Attribute::ZExt; ;} break; case 116: #line 1290 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" - { (yyval.Attributes) = Attribute::NoAlias; ;} + { (yyval.Attributes) = Attribute::SExt; ;} break; case 117: -#line 1293 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" - { (yyval.Attributes) = Attribute::None; ;} +#line 1291 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + { (yyval.Attributes) = Attribute::NoAlias; ;} break; case 118: #line 1294 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" - { - (yyval.Attributes) = (yyvsp[(1) - (2)].Attributes) | (yyvsp[(2) - (2)].Attributes); - ;} + { (yyval.Attributes) = Attribute::None; ;} break; case 119: -#line 1300 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" - { (yyval.Attributes) = Attribute::NoReturn; ;} +#line 1295 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + { + (yyval.Attributes) = (yyvsp[(1) - (2)].Attributes) | (yyvsp[(2) - (2)].Attributes); + ;} break; case 120: #line 1301 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" - { (yyval.Attributes) = Attribute::NoUnwind; ;} + { (yyval.Attributes) = Attribute::NoReturn; ;} break; case 121: #line 1302 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" - { (yyval.Attributes) = Attribute::InReg; ;} + { (yyval.Attributes) = Attribute::NoUnwind; ;} break; case 122: #line 1303 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" - { (yyval.Attributes) = Attribute::ZExt; ;} + { (yyval.Attributes) = Attribute::InReg; ;} break; case 123: #line 1304 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" - { (yyval.Attributes) = Attribute::SExt; ;} + { (yyval.Attributes) = Attribute::ZExt; ;} break; case 124: #line 1305 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" - { (yyval.Attributes) = Attribute::ReadNone; ;} + { (yyval.Attributes) = Attribute::SExt; ;} break; case 125: #line 1306 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" - { (yyval.Attributes) = Attribute::ReadOnly; ;} + { (yyval.Attributes) = Attribute::ReadNone; ;} break; case 126: #line 1307 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" - { (yyval.Attributes) = Attribute::NoInline; ;} + { (yyval.Attributes) = Attribute::ReadOnly; ;} break; case 127: #line 1308 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" - { (yyval.Attributes) = Attribute::AlwaysInline; ;} + { (yyval.Attributes) = Attribute::NoInline; ;} break; case 128: #line 1309 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" - { (yyval.Attributes) = Attribute::OptimizeForSize; ;} + { (yyval.Attributes) = Attribute::AlwaysInline; ;} break; case 129: #line 1310 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" - { (yyval.Attributes) = Attribute::StackProtect; ;} + { (yyval.Attributes) = Attribute::OptimizeForSize; ;} break; case 130: #line 1311 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" - { (yyval.Attributes) = Attribute::StackProtectReq; ;} + { (yyval.Attributes) = Attribute::StackProtect; ;} break; case 131: -#line 1314 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" - { (yyval.Attributes) = Attribute::None; ;} +#line 1312 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + { (yyval.Attributes) = Attribute::StackProtectReq; ;} break; case 132: #line 1315 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + { (yyval.Attributes) = Attribute::None; ;} + break; + + case 133: +#line 1316 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { (yyval.Attributes) = (yyvsp[(1) - (2)].Attributes) | (yyvsp[(2) - (2)].Attributes); ;} break; - case 133: -#line 1321 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 134: +#line 1322 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { (yyval.StrVal) = 0; ;} break; - case 134: -#line 1322 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 135: +#line 1323 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { (yyval.StrVal) = (yyvsp[(2) - (2)].StrVal); ;} break; - case 135: -#line 1329 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 136: +#line 1330 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { (yyval.UIntVal) = 0; ;} break; - case 136: -#line 1330 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 137: +#line 1331 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { (yyval.UIntVal) = (yyvsp[(2) - (2)].UInt64Val); if ((yyval.UIntVal) != 0 && !isPowerOf2_32((yyval.UIntVal))) GEN_ERROR("Alignment must be a power of two"); + if ((yyval.UIntVal) > 0x40000000) + GEN_ERROR("Alignment too large"); CHECK_FOR_ERROR ;} break; - case 137: -#line 1336 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 138: +#line 1339 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { (yyval.UIntVal) = 0; ;} break; - case 138: -#line 1337 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 139: +#line 1340 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { (yyval.UIntVal) = (yyvsp[(3) - (3)].UInt64Val); if ((yyval.UIntVal) != 0 && !isPowerOf2_32((yyval.UIntVal))) GEN_ERROR("Alignment must be a power of two"); + if ((yyval.UIntVal) > 0x40000000) + GEN_ERROR("Alignment too large"); CHECK_FOR_ERROR ;} break; - case 139: -#line 1346 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 140: +#line 1351 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { for (unsigned i = 0, e = (yyvsp[(2) - (2)].StrVal)->length(); i != e; ++i) if ((*(yyvsp[(2) - (2)].StrVal))[i] == '"' || (*(yyvsp[(2) - (2)].StrVal))[i] == '\\') @@ -4240,28 +4240,28 @@ ;} break; - case 140: -#line 1354 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" - { (yyval.StrVal) = 0; ;} - break; - case 141: -#line 1355 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" - { (yyval.StrVal) = (yyvsp[(1) - (1)].StrVal); ;} +#line 1359 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + { (yyval.StrVal) = 0; ;} break; case 142: #line 1360 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" - {;} + { (yyval.StrVal) = (yyvsp[(1) - (1)].StrVal); ;} break; case 143: -#line 1361 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" +#line 1365 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" {;} break; case 144: -#line 1362 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" +#line 1366 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + {;} + break; + + case 145: +#line 1367 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { CurGV->setSection(*(yyvsp[(1) - (1)].StrVal)); delete (yyvsp[(1) - (1)].StrVal); @@ -4269,34 +4269,36 @@ ;} break; - case 145: -#line 1367 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 146: +#line 1372 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { if ((yyvsp[(2) - (2)].UInt64Val) != 0 && !isPowerOf2_32((yyvsp[(2) - (2)].UInt64Val))) GEN_ERROR("Alignment must be a power of two"); + if ((yyvsp[(2) - (2)].UInt64Val) > 0x40000000) + GEN_ERROR("Alignment too large"); CurGV->setAlignment((yyvsp[(2) - (2)].UInt64Val)); CHECK_FOR_ERROR ;} break; - case 153: -#line 1383 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 154: +#line 1390 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { (yyval.TypeVal) = new PATypeHolder(OpaqueType::get()); CHECK_FOR_ERROR ;} break; - case 154: -#line 1387 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 155: +#line 1394 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { (yyval.TypeVal) = new PATypeHolder((yyvsp[(1) - (1)].PrimType)); CHECK_FOR_ERROR ;} break; - case 155: -#line 1391 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 156: +#line 1398 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { // Pointer type? if (*(yyvsp[(1) - (3)].TypeVal) == Type::LabelTy) GEN_ERROR("Cannot form a pointer to a basic block"); @@ -4306,8 +4308,8 @@ ;} break; - case 156: -#line 1398 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 157: +#line 1405 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { // Named types are also simple types... const Type* tmp = getTypeVal((yyvsp[(1) - (1)].ValIDVal)); CHECK_FOR_ERROR @@ -4315,8 +4317,8 @@ ;} break; - case 157: -#line 1403 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 158: +#line 1410 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { // Type UpReference if ((yyvsp[(2) - (2)].UInt64Val) > (uint64_t)~0U) GEN_ERROR("Value out of range"); OpaqueType *OT = OpaqueType::get(); // Use temporary placeholder @@ -4327,8 +4329,8 @@ ;} break; - case 158: -#line 1411 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 159: +#line 1418 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { // Allow but ignore attributes on function types; this permits auto-upgrade. // FIXME: remove in LLVM 3.0. @@ -4366,8 +4368,8 @@ ;} break; - case 159: -#line 1446 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 160: +#line 1453 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { // Allow but ignore attributes on function types; this permits auto-upgrade. // FIXME: remove in LLVM 3.0. @@ -4400,8 +4402,8 @@ ;} break; - case 160: -#line 1477 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 161: +#line 1484 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { // Sized array type? (yyval.TypeVal) = new PATypeHolder(HandleUpRefs(ArrayType::get(*(yyvsp[(4) - (5)].TypeVal), (yyvsp[(2) - (5)].UInt64Val)))); delete (yyvsp[(4) - (5)].TypeVal); @@ -4409,8 +4411,8 @@ ;} break; - case 161: -#line 1482 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 162: +#line 1489 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { // Vector type? const llvm::Type* ElemTy = (yyvsp[(4) - (5)].TypeVal)->get(); if ((unsigned)(yyvsp[(2) - (5)].UInt64Val) != (yyvsp[(2) - (5)].UInt64Val)) @@ -4423,8 +4425,8 @@ ;} break; - case 162: -#line 1492 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 163: +#line 1499 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { // Structure type? std::vector Elements; for (std::list::iterator I = (yyvsp[(2) - (3)].TypeList)->begin(), @@ -4437,16 +4439,16 @@ ;} break; - case 163: -#line 1502 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 164: +#line 1509 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { // Empty structure type? (yyval.TypeVal) = new PATypeHolder(StructType::get(std::vector())); CHECK_FOR_ERROR ;} break; - case 164: -#line 1506 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 165: +#line 1513 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { std::vector Elements; for (std::list::iterator I = (yyvsp[(3) - (5)].TypeList)->begin(), @@ -4459,16 +4461,16 @@ ;} break; - case 165: -#line 1516 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 166: +#line 1523 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { // Empty structure type? (yyval.TypeVal) = new PATypeHolder(StructType::get(std::vector(), true)); CHECK_FOR_ERROR ;} break; - case 166: -#line 1523 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 167: +#line 1530 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { // Allow but ignore attributes on function types; this permits auto-upgrade. // FIXME: remove in LLVM 3.0. @@ -4477,8 +4479,8 @@ ;} break; - case 167: -#line 1532 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 168: +#line 1539 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { if (!UpRefs.empty()) GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (1)].TypeVal))->getDescription()); @@ -4488,15 +4490,15 @@ ;} break; - case 168: -#line 1539 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 169: +#line 1546 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { (yyval.TypeVal) = new PATypeHolder(Type::VoidTy); ;} break; - case 169: -#line 1544 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 170: +#line 1551 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { (yyval.TypeWithAttrsList) = new TypeWithAttrsList(); (yyval.TypeWithAttrsList)->push_back((yyvsp[(1) - (1)].TypeWithAttrs)); @@ -4504,16 +4506,16 @@ ;} break; - case 170: -#line 1549 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 171: +#line 1556 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { ((yyval.TypeWithAttrsList)=(yyvsp[(1) - (3)].TypeWithAttrsList))->push_back((yyvsp[(3) - (3)].TypeWithAttrs)); CHECK_FOR_ERROR ;} break; - case 172: -#line 1557 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 173: +#line 1564 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { (yyval.TypeWithAttrsList)=(yyvsp[(1) - (3)].TypeWithAttrsList); TypeWithAttrs TWA; TWA.Attrs = Attribute::None; @@ -4523,8 +4525,8 @@ ;} break; - case 173: -#line 1564 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 174: +#line 1571 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { (yyval.TypeWithAttrsList) = new TypeWithAttrsList; TypeWithAttrs TWA; TWA.Attrs = Attribute::None; @@ -4534,16 +4536,16 @@ ;} break; - case 174: -#line 1571 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 175: +#line 1578 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { (yyval.TypeWithAttrsList) = new TypeWithAttrsList(); CHECK_FOR_ERROR ;} break; - case 175: -#line 1579 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 176: +#line 1586 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { (yyval.TypeList) = new std::list(); (yyval.TypeList)->push_back(*(yyvsp[(1) - (1)].TypeVal)); @@ -4552,8 +4554,8 @@ ;} break; - case 176: -#line 1585 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 177: +#line 1592 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { ((yyval.TypeList)=(yyvsp[(1) - (3)].TypeList))->push_back(*(yyvsp[(3) - (3)].TypeVal)); delete (yyvsp[(3) - (3)].TypeVal); @@ -4561,8 +4563,8 @@ ;} break; - case 177: -#line 1597 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 178: +#line 1604 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { // Nonempty unsized arr if (!UpRefs.empty()) GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (4)].TypeVal))->getDescription()); @@ -4593,8 +4595,8 @@ ;} break; - case 178: -#line 1625 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 179: +#line 1632 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { if (!UpRefs.empty()) GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (3)].TypeVal))->getDescription()); @@ -4613,8 +4615,8 @@ ;} break; - case 179: -#line 1641 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 180: +#line 1648 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { if (!UpRefs.empty()) GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (3)].TypeVal))->getDescription()); @@ -4644,8 +4646,8 @@ ;} break; - case 180: -#line 1668 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 181: +#line 1675 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { // Nonempty unsized arr if (!UpRefs.empty()) GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (4)].TypeVal))->getDescription()); @@ -4676,8 +4678,8 @@ ;} break; - case 181: -#line 1696 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 182: +#line 1703 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { const StructType *STy = dyn_cast((yyvsp[(1) - (4)].TypeVal)->get()); if (STy == 0) @@ -4706,8 +4708,8 @@ ;} break; - case 182: -#line 1722 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 183: +#line 1729 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { if (!UpRefs.empty()) GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (3)].TypeVal))->getDescription()); @@ -4730,8 +4732,8 @@ ;} break; - case 183: -#line 1742 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 184: +#line 1749 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { const StructType *STy = dyn_cast((yyvsp[(1) - (6)].TypeVal)->get()); if (STy == 0) @@ -4760,8 +4762,8 @@ ;} break; - case 184: -#line 1768 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 185: +#line 1775 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { if (!UpRefs.empty()) GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (5)].TypeVal))->getDescription()); @@ -4784,8 +4786,8 @@ ;} break; - case 185: -#line 1788 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 186: +#line 1795 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { if (!UpRefs.empty()) GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (2)].TypeVal))->getDescription()); @@ -4800,8 +4802,8 @@ ;} break; - case 186: -#line 1800 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 187: +#line 1807 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { if (!UpRefs.empty()) GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (2)].TypeVal))->getDescription()); @@ -4811,8 +4813,8 @@ ;} break; - case 187: -#line 1807 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 188: +#line 1814 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { if (!UpRefs.empty()) GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (2)].TypeVal))->getDescription()); @@ -4881,8 +4883,8 @@ ;} break; - case 188: -#line 1873 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 189: +#line 1880 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { if (!UpRefs.empty()) GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (2)].TypeVal))->getDescription()); @@ -4895,8 +4897,8 @@ ;} break; - case 189: -#line 1883 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 190: +#line 1890 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { if (!UpRefs.empty()) GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (2)].TypeVal))->getDescription()); @@ -4909,8 +4911,8 @@ ;} break; - case 190: -#line 1893 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 191: +#line 1900 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { // integral constants if (IntegerType *IT = dyn_cast((yyvsp[(1) - (2)].TypeVal)->get())) { if (!ConstantInt::isValueValidForType(IT, (yyvsp[(2) - (2)].SInt64Val))) @@ -4924,8 +4926,8 @@ ;} break; - case 191: -#line 1904 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 192: +#line 1911 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { // arbitrary precision integer constants if (IntegerType *IT = dyn_cast((yyvsp[(1) - (2)].TypeVal)->get())) { if ((yyvsp[(2) - (2)].APIntVal)->getBitWidth() > IT->getBitWidth()) @@ -4941,8 +4943,8 @@ ;} break; - case 192: -#line 1917 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 193: +#line 1924 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { // integral constants if (IntegerType *IT = dyn_cast((yyvsp[(1) - (2)].TypeVal)->get())) { if (!ConstantInt::isValueValidForType(IT, (yyvsp[(2) - (2)].UInt64Val))) @@ -4956,8 +4958,8 @@ ;} break; - case 193: -#line 1928 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 194: +#line 1935 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { // arbitrary precision integer constants if (IntegerType *IT = dyn_cast((yyvsp[(1) - (2)].TypeVal)->get())) { if ((yyvsp[(2) - (2)].APIntVal)->getBitWidth() > IT->getBitWidth()) @@ -4974,8 +4976,8 @@ ;} break; - case 194: -#line 1942 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 195: +#line 1949 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { // Boolean constants if ((yyvsp[(1) - (2)].TypeVal)->get() != Type::Int1Ty) GEN_ERROR("Constant true must have type i1"); @@ -4985,8 +4987,8 @@ ;} break; - case 195: -#line 1949 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 196: +#line 1956 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { // Boolean constants if ((yyvsp[(1) - (2)].TypeVal)->get() != Type::Int1Ty) GEN_ERROR("Constant false must have type i1"); @@ -4996,8 +4998,8 @@ ;} break; - case 196: -#line 1956 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 197: +#line 1963 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { // Floating point constants if (!ConstantFP::isValueValidForType((yyvsp[(1) - (2)].TypeVal)->get(), *(yyvsp[(2) - (2)].FPVal))) GEN_ERROR("Floating point constant invalid for type"); @@ -5016,8 +5018,8 @@ ;} break; - case 197: -#line 1974 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 198: +#line 1981 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { if (!UpRefs.empty()) GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(5) - (6)].TypeVal))->getDescription()); @@ -5032,8 +5034,8 @@ ;} break; - case 198: -#line 1986 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 199: +#line 1993 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { if (!isa((yyvsp[(3) - (5)].ConstVal)->getType())) GEN_ERROR("GetElementPtr requires a pointer operand"); @@ -5057,8 +5059,8 @@ ;} break; - case 199: -#line 2007 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 200: +#line 2014 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { if ((yyvsp[(3) - (8)].ConstVal)->getType() != Type::Int1Ty) GEN_ERROR("Select condition must be of boolean type"); @@ -5069,8 +5071,8 @@ ;} break; - case 200: -#line 2015 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 201: +#line 2022 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { if ((yyvsp[(3) - (6)].ConstVal)->getType() != (yyvsp[(5) - (6)].ConstVal)->getType()) GEN_ERROR("Binary operator types must match"); @@ -5079,8 +5081,8 @@ ;} break; - case 201: -#line 2021 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 202: +#line 2028 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { if ((yyvsp[(3) - (6)].ConstVal)->getType() != (yyvsp[(5) - (6)].ConstVal)->getType()) GEN_ERROR("Logical operator types must match"); @@ -5094,8 +5096,8 @@ ;} break; - case 202: -#line 2032 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 203: +#line 2039 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { if ((yyvsp[(4) - (7)].ConstVal)->getType() != (yyvsp[(6) - (7)].ConstVal)->getType()) GEN_ERROR("icmp operand types must match"); @@ -5103,8 +5105,8 @@ ;} break; - case 203: -#line 2037 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 204: +#line 2044 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { if ((yyvsp[(4) - (7)].ConstVal)->getType() != (yyvsp[(6) - (7)].ConstVal)->getType()) GEN_ERROR("fcmp operand types must match"); @@ -5112,8 +5114,8 @@ ;} break; - case 204: -#line 2042 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 205: +#line 2049 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { if ((yyvsp[(4) - (7)].ConstVal)->getType() != (yyvsp[(6) - (7)].ConstVal)->getType()) GEN_ERROR("vicmp operand types must match"); @@ -5121,8 +5123,8 @@ ;} break; - case 205: -#line 2047 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 206: +#line 2054 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { if ((yyvsp[(4) - (7)].ConstVal)->getType() != (yyvsp[(6) - (7)].ConstVal)->getType()) GEN_ERROR("vfcmp operand types must match"); @@ -5130,8 +5132,8 @@ ;} break; - case 206: -#line 2052 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 207: +#line 2059 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { if (!ExtractElementInst::isValidOperands((yyvsp[(3) - (6)].ConstVal), (yyvsp[(5) - (6)].ConstVal))) GEN_ERROR("Invalid extractelement operands"); @@ -5140,8 +5142,8 @@ ;} break; - case 207: -#line 2058 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 208: +#line 2065 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { if (!InsertElementInst::isValidOperands((yyvsp[(3) - (8)].ConstVal), (yyvsp[(5) - (8)].ConstVal), (yyvsp[(7) - (8)].ConstVal))) GEN_ERROR("Invalid insertelement operands"); @@ -5150,8 +5152,8 @@ ;} break; - case 208: -#line 2064 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 209: +#line 2071 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { if (!ShuffleVectorInst::isValidOperands((yyvsp[(3) - (8)].ConstVal), (yyvsp[(5) - (8)].ConstVal), (yyvsp[(7) - (8)].ConstVal))) GEN_ERROR("Invalid shufflevector operands"); @@ -5160,8 +5162,8 @@ ;} break; - case 209: -#line 2070 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 210: +#line 2077 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { if (!isa((yyvsp[(3) - (5)].ConstVal)->getType()) && !isa((yyvsp[(3) - (5)].ConstVal)->getType())) GEN_ERROR("ExtractValue requires an aggregate operand"); @@ -5172,8 +5174,8 @@ ;} break; - case 210: -#line 2078 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 211: +#line 2085 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { if (!isa((yyvsp[(3) - (7)].ConstVal)->getType()) && !isa((yyvsp[(3) - (7)].ConstVal)->getType())) GEN_ERROR("InsertValue requires an aggregate operand"); @@ -5184,16 +5186,16 @@ ;} break; - case 211: -#line 2089 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 212: +#line 2096 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { ((yyval.ConstVector) = (yyvsp[(1) - (3)].ConstVector))->push_back((yyvsp[(3) - (3)].ConstVal)); CHECK_FOR_ERROR ;} break; - case 212: -#line 2093 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 213: +#line 2100 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { (yyval.ConstVector) = new std::vector(); (yyval.ConstVector)->push_back((yyvsp[(1) - (1)].ConstVal)); @@ -5201,28 +5203,28 @@ ;} break; - case 213: -#line 2101 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 214: +#line 2108 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { (yyval.BoolVal) = false; ;} break; - case 214: -#line 2101 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 215: +#line 2108 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { (yyval.BoolVal) = true; ;} break; - case 215: -#line 2104 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 216: +#line 2111 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { (yyval.BoolVal) = true; ;} break; - case 216: -#line 2104 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 217: +#line 2111 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { (yyval.BoolVal) = false; ;} break; - case 217: -#line 2107 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 218: +#line 2114 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { const Type* VTy = (yyvsp[(1) - (2)].TypeVal)->get(); Value *V = getVal(VTy, (yyvsp[(2) - (2)].ValIDVal)); @@ -5237,8 +5239,8 @@ ;} break; - case 218: -#line 2119 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 219: +#line 2126 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { Constant *Val = (yyvsp[(3) - (6)].ConstVal); const Type *DestTy = (yyvsp[(5) - (6)].TypeVal)->get(); @@ -5253,8 +5255,8 @@ ;} break; - case 219: -#line 2140 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 220: +#line 2147 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { (yyval.ModuleVal) = ParserResult = CurModule.CurrentModule; CurModule.ModuleDone(); @@ -5262,8 +5264,8 @@ ;} break; - case 220: -#line 2145 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 221: +#line 2152 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { (yyval.ModuleVal) = ParserResult = CurModule.CurrentModule; CurModule.ModuleDone(); @@ -5271,40 +5273,40 @@ ;} break; - case 223: -#line 2158 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 224: +#line 2165 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { CurFun.isDeclare = false; ;} break; - case 224: -#line 2158 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 225: +#line 2165 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { CurFun.FunctionDone(); CHECK_FOR_ERROR ;} break; - case 225: -#line 2162 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 226: +#line 2169 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { CurFun.isDeclare = true; ;} break; - case 226: -#line 2162 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 227: +#line 2169 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { CHECK_FOR_ERROR ;} break; - case 227: -#line 2165 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 228: +#line 2172 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { CHECK_FOR_ERROR ;} break; - case 228: -#line 2168 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 229: +#line 2175 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { if (!UpRefs.empty()) GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(3) - (3)].TypeVal))->getDescription()); @@ -5331,8 +5333,8 @@ ;} break; - case 229: -#line 2192 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 230: +#line 2199 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { ResolveTypeTo((yyvsp[(1) - (3)].StrVal), (yyvsp[(3) - (3)].PrimType)); @@ -5346,8 +5348,8 @@ ;} break; - case 230: -#line 2204 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 231: +#line 2211 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { /* "Externally Visible" Linkage */ if ((yyvsp[(5) - (6)].ConstVal) == 0) @@ -5358,15 +5360,15 @@ ;} break; - case 231: -#line 2211 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 232: +#line 2218 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { CurGV = 0; ;} break; - case 232: -#line 2215 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 233: +#line 2222 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { if ((yyvsp[(6) - (7)].ConstVal) == 0) GEN_ERROR("Global value initializer is not a constant"); @@ -5375,15 +5377,15 @@ ;} break; - case 233: -#line 2220 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 234: +#line 2227 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { CurGV = 0; ;} break; - case 234: -#line 2224 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 235: +#line 2231 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { if (!UpRefs.empty()) GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(6) - (7)].TypeVal))->getDescription()); @@ -5393,16 +5395,16 @@ ;} break; - case 235: -#line 2230 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 236: +#line 2237 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { CurGV = 0; CHECK_FOR_ERROR ;} break; - case 236: -#line 2234 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 237: +#line 2241 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { std::string Name; if ((yyvsp[(1) - (5)].StrVal)) { @@ -5445,22 +5447,22 @@ ;} break; - case 237: -#line 2274 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 238: +#line 2281 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { CHECK_FOR_ERROR ;} break; - case 238: -#line 2277 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 239: +#line 2284 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { CHECK_FOR_ERROR ;} break; - case 239: -#line 2283 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 240: +#line 2290 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { const std::string &AsmSoFar = CurModule.CurrentModule->getModuleInlineAsm(); if (AsmSoFar.empty()) @@ -5472,24 +5474,24 @@ ;} break; - case 240: -#line 2293 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 241: +#line 2300 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { CurModule.CurrentModule->setTargetTriple(*(yyvsp[(3) - (3)].StrVal)); delete (yyvsp[(3) - (3)].StrVal); ;} break; - case 241: -#line 2297 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 242: +#line 2304 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { CurModule.CurrentModule->setDataLayout(*(yyvsp[(3) - (3)].StrVal)); delete (yyvsp[(3) - (3)].StrVal); ;} break; - case 243: -#line 2304 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 244: +#line 2311 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { CurModule.CurrentModule->addLibrary(*(yyvsp[(3) - (3)].StrVal)); delete (yyvsp[(3) - (3)].StrVal); @@ -5497,8 +5499,8 @@ ;} break; - case 244: -#line 2309 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 245: +#line 2316 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { CurModule.CurrentModule->addLibrary(*(yyvsp[(1) - (1)].StrVal)); delete (yyvsp[(1) - (1)].StrVal); @@ -5506,15 +5508,15 @@ ;} break; - case 245: -#line 2314 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 246: +#line 2321 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { CHECK_FOR_ERROR ;} break; - case 246: -#line 2323 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 247: +#line 2330 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { if (!UpRefs.empty()) GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(3) - (5)].TypeVal))->getDescription()); @@ -5527,8 +5529,8 @@ ;} break; - case 247: -#line 2333 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 248: +#line 2340 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { if (!UpRefs.empty()) GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (3)].TypeVal))->getDescription()); @@ -5541,16 +5543,16 @@ ;} break; - case 248: -#line 2344 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 249: +#line 2351 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { (yyval.ArgList) = (yyvsp[(1) - (1)].ArgList); CHECK_FOR_ERROR ;} break; - case 249: -#line 2348 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 250: +#line 2355 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { (yyval.ArgList) = (yyvsp[(1) - (3)].ArgList); struct ArgListEntry E; @@ -5562,8 +5564,8 @@ ;} break; - case 250: -#line 2357 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 251: +#line 2364 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { (yyval.ArgList) = new ArgListType; struct ArgListEntry E; @@ -5575,16 +5577,16 @@ ;} break; - case 251: -#line 2366 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 252: +#line 2373 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { (yyval.ArgList) = 0; CHECK_FOR_ERROR ;} break; - case 252: -#line 2372 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 253: +#line 2379 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { std::string FunctionName(*(yyvsp[(4) - (11)].StrVal)); delete (yyvsp[(4) - (11)].StrVal); // Free strdup'd memory! @@ -5734,8 +5736,8 @@ ;} break; - case 255: -#line 2522 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 256: +#line 2529 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { (yyval.FunctionVal) = CurFun.CurrentFunction; @@ -5746,16 +5748,16 @@ ;} break; - case 258: -#line 2533 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 259: +#line 2540 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { (yyval.FunctionVal) = (yyvsp[(1) - (2)].FunctionVal); CHECK_FOR_ERROR ;} break; - case 259: -#line 2538 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 260: +#line 2545 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { CurFun.CurrentFunction->setLinkage((yyvsp[(1) - (3)].Linkage)); CurFun.CurrentFunction->setVisibility((yyvsp[(2) - (3)].Visibility)); @@ -5765,40 +5767,40 @@ ;} break; - case 260: -#line 2550 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 261: +#line 2557 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { (yyval.BoolVal) = false; CHECK_FOR_ERROR ;} break; - case 261: -#line 2554 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 262: +#line 2561 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { (yyval.BoolVal) = true; CHECK_FOR_ERROR ;} break; - case 262: -#line 2559 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 263: +#line 2566 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { // A reference to a direct constant (yyval.ValIDVal) = ValID::create((yyvsp[(1) - (1)].SInt64Val)); CHECK_FOR_ERROR ;} break; - case 263: -#line 2563 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 264: +#line 2570 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { (yyval.ValIDVal) = ValID::create((yyvsp[(1) - (1)].UInt64Val)); CHECK_FOR_ERROR ;} break; - case 264: -#line 2567 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 265: +#line 2574 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { // arbitrary precision integer constants (yyval.ValIDVal) = ValID::create(*(yyvsp[(1) - (1)].APIntVal), true); delete (yyvsp[(1) - (1)].APIntVal); @@ -5806,8 +5808,8 @@ ;} break; - case 265: -#line 2572 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 266: +#line 2579 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { // arbitrary precision integer constants (yyval.ValIDVal) = ValID::create(*(yyvsp[(1) - (1)].APIntVal), false); delete (yyvsp[(1) - (1)].APIntVal); @@ -5815,56 +5817,56 @@ ;} break; - case 266: -#line 2577 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 267: +#line 2584 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { // Perhaps it's an FP constant? (yyval.ValIDVal) = ValID::create((yyvsp[(1) - (1)].FPVal)); CHECK_FOR_ERROR ;} break; - case 267: -#line 2581 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 268: +#line 2588 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { (yyval.ValIDVal) = ValID::create(ConstantInt::getTrue()); CHECK_FOR_ERROR ;} break; - case 268: -#line 2585 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 269: +#line 2592 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { (yyval.ValIDVal) = ValID::create(ConstantInt::getFalse()); CHECK_FOR_ERROR ;} break; - case 269: -#line 2589 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 270: +#line 2596 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { (yyval.ValIDVal) = ValID::createNull(); CHECK_FOR_ERROR ;} break; - case 270: -#line 2593 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 271: +#line 2600 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { (yyval.ValIDVal) = ValID::createUndef(); CHECK_FOR_ERROR ;} break; - case 271: -#line 2597 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 272: +#line 2604 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { // A vector zero constant. (yyval.ValIDVal) = ValID::createZeroInit(); CHECK_FOR_ERROR ;} break; - case 272: -#line 2601 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 273: +#line 2608 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { // Nonempty unsized packed vector const Type *ETy = (*(yyvsp[(2) - (3)].ConstVector))[0]->getType(); unsigned NumElements = (yyvsp[(2) - (3)].ConstVector)->size(); @@ -5889,8 +5891,8 @@ ;} break; - case 273: -#line 2623 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 274: +#line 2630 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { // Nonempty unsized arr const Type *ETy = (*(yyvsp[(2) - (3)].ConstVector))[0]->getType(); uint64_t NumElements = (yyvsp[(2) - (3)].ConstVector)->size(); @@ -5915,8 +5917,8 @@ ;} break; - case 274: -#line 2645 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 275: +#line 2652 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { // Use undef instead of an array because it's inconvenient to determine // the element type at this point, there being no elements to examine. @@ -5925,8 +5927,8 @@ ;} break; - case 275: -#line 2651 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 276: +#line 2658 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { uint64_t NumElements = (yyvsp[(2) - (2)].StrVal)->length(); const Type *ETy = Type::Int8Ty; @@ -5942,8 +5944,8 @@ ;} break; - case 276: -#line 2664 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 277: +#line 2671 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { std::vector Elements((yyvsp[(2) - (3)].ConstVector)->size()); for (unsigned i = 0, e = (yyvsp[(2) - (3)].ConstVector)->size(); i != e; ++i) @@ -5958,8 +5960,8 @@ ;} break; - case 277: -#line 2676 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 278: +#line 2683 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { const StructType *STy = StructType::get(std::vector()); (yyval.ValIDVal) = ValID::create(ConstantStruct::get(STy, std::vector())); @@ -5967,8 +5969,8 @@ ;} break; - case 278: -#line 2681 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 279: +#line 2688 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { std::vector Elements((yyvsp[(3) - (5)].ConstVector)->size()); for (unsigned i = 0, e = (yyvsp[(3) - (5)].ConstVector)->size(); i != e; ++i) @@ -5983,8 +5985,8 @@ ;} break; - case 279: -#line 2693 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 280: +#line 2700 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { const StructType *STy = StructType::get(std::vector(), /*isPacked=*/true); @@ -5993,16 +5995,16 @@ ;} break; - case 280: -#line 2699 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 281: +#line 2706 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { (yyval.ValIDVal) = ValID::create((yyvsp[(1) - (1)].ConstVal)); CHECK_FOR_ERROR ;} break; - case 281: -#line 2703 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 282: +#line 2710 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { (yyval.ValIDVal) = ValID::createInlineAsm(*(yyvsp[(3) - (5)].StrVal), *(yyvsp[(5) - (5)].StrVal), (yyvsp[(2) - (5)].BoolVal)); delete (yyvsp[(3) - (5)].StrVal); @@ -6011,24 +6013,24 @@ ;} break; - case 282: -#line 2713 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 283: +#line 2720 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { // Is it an integer reference...? (yyval.ValIDVal) = ValID::createLocalID((yyvsp[(1) - (1)].UIntVal)); CHECK_FOR_ERROR ;} break; - case 283: -#line 2717 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 284: +#line 2724 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { (yyval.ValIDVal) = ValID::createGlobalID((yyvsp[(1) - (1)].UIntVal)); CHECK_FOR_ERROR ;} break; - case 284: -#line 2721 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 285: +#line 2728 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { // Is it a named reference...? (yyval.ValIDVal) = ValID::createLocalName(*(yyvsp[(1) - (1)].StrVal)); delete (yyvsp[(1) - (1)].StrVal); @@ -6036,8 +6038,8 @@ ;} break; - case 285: -#line 2726 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 286: +#line 2733 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { // Is it a named reference...? (yyval.ValIDVal) = ValID::createGlobalName(*(yyvsp[(1) - (1)].StrVal)); delete (yyvsp[(1) - (1)].StrVal); @@ -6045,8 +6047,8 @@ ;} break; - case 288: -#line 2739 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 289: +#line 2746 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { if (!UpRefs.empty()) GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (2)].TypeVal))->getDescription()); @@ -6056,8 +6058,8 @@ ;} break; - case 289: -#line 2748 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 290: +#line 2755 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { (yyval.ValueList) = new std::vector(); (yyval.ValueList)->push_back((yyvsp[(1) - (1)].ValueVal)); @@ -6065,32 +6067,32 @@ ;} break; - case 290: -#line 2753 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 291: +#line 2760 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { ((yyval.ValueList)=(yyvsp[(1) - (3)].ValueList))->push_back((yyvsp[(3) - (3)].ValueVal)); CHECK_FOR_ERROR ;} break; - case 291: -#line 2758 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 292: +#line 2765 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { (yyval.FunctionVal) = (yyvsp[(1) - (2)].FunctionVal); CHECK_FOR_ERROR ;} break; - case 292: -#line 2762 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 293: +#line 2769 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { // Do not allow functions with 0 basic blocks (yyval.FunctionVal) = (yyvsp[(1) - (2)].FunctionVal); CHECK_FOR_ERROR ;} break; - case 293: -#line 2771 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 294: +#line 2778 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { setValueName((yyvsp[(3) - (3)].TermInstVal), (yyvsp[(2) - (3)].StrVal)); CHECK_FOR_ERROR @@ -6101,8 +6103,8 @@ ;} break; - case 294: -#line 2780 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 295: +#line 2787 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { CHECK_FOR_ERROR int ValNum = InsertValue((yyvsp[(3) - (3)].TermInstVal)); @@ -6116,8 +6118,8 @@ ;} break; - case 295: -#line 2793 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 296: +#line 2800 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { if (CastInst *CI1 = dyn_cast((yyvsp[(2) - (2)].InstVal))) if (CastInst *CI2 = dyn_cast(CI1->getOperand(0))) @@ -6129,16 +6131,16 @@ ;} break; - case 296: -#line 2802 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 297: +#line 2809 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { // Empty space between instruction lists (yyval.BasicBlockVal) = defineBBVal(ValID::createLocalID(CurFun.NextValNum)); CHECK_FOR_ERROR ;} break; - case 297: -#line 2806 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 298: +#line 2813 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { // Labelled (named) basic block (yyval.BasicBlockVal) = defineBBVal(ValID::createLocalName(*(yyvsp[(1) - (1)].StrVal))); delete (yyvsp[(1) - (1)].StrVal); @@ -6147,8 +6149,8 @@ ;} break; - case 298: -#line 2814 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 299: +#line 2821 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { // Return with a result... ValueList &VL = *(yyvsp[(2) - (2)].ValueList); assert(!VL.empty() && "Invalid ret operands!"); @@ -6171,16 +6173,16 @@ ;} break; - case 299: -#line 2834 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 300: +#line 2841 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { // Return with no result... (yyval.TermInstVal) = ReturnInst::Create(); CHECK_FOR_ERROR ;} break; - case 300: -#line 2838 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 301: +#line 2845 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { // Unconditional Branch... BasicBlock* tmpBB = getBBVal((yyvsp[(3) - (3)].ValIDVal)); CHECK_FOR_ERROR @@ -6188,8 +6190,8 @@ ;} break; - case 301: -#line 2843 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 302: +#line 2850 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { if (cast((yyvsp[(2) - (9)].PrimType))->getBitWidth() != 1) GEN_ERROR("Branch condition must have type i1"); @@ -6203,8 +6205,8 @@ ;} break; - case 302: -#line 2854 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 303: +#line 2861 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { Value* tmpVal = getVal((yyvsp[(2) - (9)].PrimType), (yyvsp[(3) - (9)].ValIDVal)); CHECK_FOR_ERROR @@ -6226,8 +6228,8 @@ ;} break; - case 303: -#line 2873 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 304: +#line 2880 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { Value* tmpVal = getVal((yyvsp[(2) - (8)].PrimType), (yyvsp[(3) - (8)].ValIDVal)); CHECK_FOR_ERROR @@ -6239,8 +6241,8 @@ ;} break; - case 304: -#line 2883 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 305: +#line 2890 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { // Handle the short syntax @@ -6346,24 +6348,24 @@ ;} break; - case 305: -#line 2986 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 306: +#line 2993 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { (yyval.TermInstVal) = new UnwindInst(); CHECK_FOR_ERROR ;} break; - case 306: -#line 2990 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 307: +#line 2997 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { (yyval.TermInstVal) = new UnreachableInst(); CHECK_FOR_ERROR ;} break; - case 307: -#line 2997 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 308: +#line 3004 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { (yyval.JumpTable) = (yyvsp[(1) - (6)].JumpTable); Constant *V = cast(getExistingVal((yyvsp[(2) - (6)].PrimType), (yyvsp[(3) - (6)].ValIDVal))); @@ -6377,8 +6379,8 @@ ;} break; - case 308: -#line 3008 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 309: +#line 3015 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { (yyval.JumpTable) = new std::vector >(); Constant *V = cast(getExistingVal((yyvsp[(1) - (5)].PrimType), (yyvsp[(2) - (5)].ValIDVal))); @@ -6393,8 +6395,8 @@ ;} break; - case 309: -#line 3021 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 310: +#line 3028 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { // Is this definition named?? if so, assign the name... setValueName((yyvsp[(2) - (2)].InstVal), (yyvsp[(1) - (2)].StrVal)); @@ -6405,8 +6407,8 @@ ;} break; - case 310: -#line 3030 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 311: +#line 3037 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { CHECK_FOR_ERROR int ValNum = InsertValue((yyvsp[(2) - (2)].InstVal)); @@ -6420,8 +6422,8 @@ ;} break; - case 311: -#line 3043 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 312: +#line 3050 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { // Used for PHI nodes if (!UpRefs.empty()) GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (6)].TypeVal))->getDescription()); @@ -6435,8 +6437,8 @@ ;} break; - case 312: -#line 3054 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 313: +#line 3061 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { (yyval.PHIList) = (yyvsp[(1) - (7)].PHIList); Value* tmpVal = getVal((yyvsp[(1) - (7)].PHIList)->front().first->getType(), (yyvsp[(4) - (7)].ValIDVal)); @@ -6447,8 +6449,8 @@ ;} break; - case 313: -#line 3064 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 314: +#line 3071 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { // FIXME: Remove trailing OptAttributes in LLVM 3.0, it was a mistake in 2.0 if (!UpRefs.empty()) @@ -6462,8 +6464,8 @@ ;} break; - case 314: -#line 3075 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 315: +#line 3082 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { // FIXME: Remove trailing OptAttributes in LLVM 3.0, it was a mistake in 2.0 // Labels are only valid in ASMs @@ -6474,8 +6476,8 @@ ;} break; - case 315: -#line 3083 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 316: +#line 3090 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { // FIXME: Remove trailing OptAttributes in LLVM 3.0, it was a mistake in 2.0 if (!UpRefs.empty()) @@ -6488,8 +6490,8 @@ ;} break; - case 316: -#line 3093 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 317: +#line 3100 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { // FIXME: Remove trailing OptAttributes in LLVM 3.0, it was a mistake in 2.0 (yyval.ParamList) = (yyvsp[(1) - (6)].ParamList); @@ -6499,18 +6501,18 @@ ;} break; - case 317: -#line 3100 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 318: +#line 3107 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { (yyval.ParamList) = new ParamList(); ;} break; - case 318: -#line 3103 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 319: +#line 3110 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { (yyval.ValueList) = new std::vector(); ;} break; - case 319: -#line 3104 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 320: +#line 3111 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { (yyval.ValueList) = (yyvsp[(1) - (3)].ValueList); (yyval.ValueList)->push_back((yyvsp[(3) - (3)].ValueVal)); @@ -6518,8 +6520,8 @@ ;} break; - case 320: -#line 3112 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 321: +#line 3119 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { (yyval.ConstantList) = new std::vector(); if ((unsigned)(yyvsp[(2) - (2)].UInt64Val) != (yyvsp[(2) - (2)].UInt64Val)) @@ -6528,8 +6530,8 @@ ;} break; - case 321: -#line 3118 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 322: +#line 3125 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { (yyval.ConstantList) = (yyvsp[(1) - (3)].ConstantList); if ((unsigned)(yyvsp[(3) - (3)].UInt64Val) != (yyvsp[(3) - (3)].UInt64Val)) @@ -6539,24 +6541,24 @@ ;} break; - case 322: -#line 3127 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 323: +#line 3134 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { (yyval.BoolVal) = true; CHECK_FOR_ERROR ;} break; - case 323: -#line 3131 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 324: +#line 3138 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { (yyval.BoolVal) = false; CHECK_FOR_ERROR ;} break; - case 324: -#line 3136 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 325: +#line 3143 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { if (!UpRefs.empty()) GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(2) - (5)].TypeVal))->getDescription()); @@ -6575,8 +6577,8 @@ ;} break; - case 325: -#line 3152 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 326: +#line 3159 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { if (!UpRefs.empty()) GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(2) - (5)].TypeVal))->getDescription()); @@ -6596,8 +6598,8 @@ ;} break; - case 326: -#line 3169 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 327: +#line 3176 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { if (!UpRefs.empty()) GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(3) - (6)].TypeVal))->getDescription()); @@ -6612,8 +6614,8 @@ ;} break; - case 327: -#line 3181 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 328: +#line 3188 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { if (!UpRefs.empty()) GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(3) - (6)].TypeVal))->getDescription()); @@ -6628,8 +6630,8 @@ ;} break; - case 328: -#line 3193 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 329: +#line 3200 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { if (!UpRefs.empty()) GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(3) - (6)].TypeVal))->getDescription()); @@ -6646,8 +6648,8 @@ ;} break; - case 329: -#line 3207 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 330: +#line 3214 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { if (!UpRefs.empty()) GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(3) - (6)].TypeVal))->getDescription()); @@ -6664,8 +6666,8 @@ ;} break; - case 330: -#line 3221 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 331: +#line 3228 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { if (!UpRefs.empty()) GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(4) - (4)].TypeVal))->getDescription()); @@ -6680,8 +6682,8 @@ ;} break; - case 331: -#line 3233 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 332: +#line 3240 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { if (isa((yyvsp[(2) - (6)].ValueVal)->getType())) { // vector select @@ -6705,8 +6707,8 @@ ;} break; - case 332: -#line 3254 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 333: +#line 3261 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { if (!UpRefs.empty()) GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(4) - (4)].TypeVal))->getDescription()); @@ -6716,8 +6718,8 @@ ;} break; - case 333: -#line 3261 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 334: +#line 3268 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { if (!ExtractElementInst::isValidOperands((yyvsp[(2) - (4)].ValueVal), (yyvsp[(4) - (4)].ValueVal))) GEN_ERROR("Invalid extractelement operands"); @@ -6726,8 +6728,8 @@ ;} break; - case 334: -#line 3267 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 335: +#line 3274 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { if (!InsertElementInst::isValidOperands((yyvsp[(2) - (6)].ValueVal), (yyvsp[(4) - (6)].ValueVal), (yyvsp[(6) - (6)].ValueVal))) GEN_ERROR("Invalid insertelement operands"); @@ -6736,8 +6738,8 @@ ;} break; - case 335: -#line 3273 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 336: +#line 3280 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { if (!ShuffleVectorInst::isValidOperands((yyvsp[(2) - (6)].ValueVal), (yyvsp[(4) - (6)].ValueVal), (yyvsp[(6) - (6)].ValueVal))) GEN_ERROR("Invalid shufflevector operands"); @@ -6746,8 +6748,8 @@ ;} break; - case 336: -#line 3279 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 337: +#line 3286 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { const Type *Ty = (yyvsp[(2) - (2)].PHIList)->front().first->getType(); if (!Ty->isFirstClassType()) @@ -6765,8 +6767,8 @@ ;} break; - case 337: -#line 3295 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 338: +#line 3302 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { // Handle the short syntax @@ -6878,32 +6880,32 @@ ;} break; - case 338: -#line 3404 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 339: +#line 3411 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { (yyval.InstVal) = (yyvsp[(1) - (1)].InstVal); CHECK_FOR_ERROR ;} break; - case 339: -#line 3409 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 340: +#line 3416 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { (yyval.BoolVal) = true; CHECK_FOR_ERROR ;} break; - case 340: -#line 3413 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 341: +#line 3420 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { (yyval.BoolVal) = false; CHECK_FOR_ERROR ;} break; - case 341: -#line 3420 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 342: +#line 3427 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { if (!UpRefs.empty()) GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(2) - (3)].TypeVal))->getDescription()); @@ -6913,8 +6915,8 @@ ;} break; - case 342: -#line 3427 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 343: +#line 3434 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { if (!UpRefs.empty()) GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(2) - (6)].TypeVal))->getDescription()); @@ -6927,8 +6929,8 @@ ;} break; - case 343: -#line 3437 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 344: +#line 3444 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { if (!UpRefs.empty()) GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(2) - (3)].TypeVal))->getDescription()); @@ -6938,8 +6940,8 @@ ;} break; - case 344: -#line 3444 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 345: +#line 3451 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { if (!UpRefs.empty()) GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(2) - (6)].TypeVal))->getDescription()); @@ -6952,8 +6954,8 @@ ;} break; - case 345: -#line 3454 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 346: +#line 3461 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { if (!isa((yyvsp[(2) - (2)].ValueVal)->getType())) GEN_ERROR("Trying to free nonpointer type " + @@ -6963,8 +6965,8 @@ ;} break; - case 346: -#line 3462 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 347: +#line 3469 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { if (!UpRefs.empty()) GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(3) - (5)].TypeVal))->getDescription()); @@ -6981,8 +6983,8 @@ ;} break; - case 347: -#line 3476 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 348: +#line 3483 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { if (!UpRefs.empty()) GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(5) - (7)].TypeVal))->getDescription()); @@ -7002,8 +7004,8 @@ ;} break; - case 348: -#line 3493 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 349: +#line 3500 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { if (!UpRefs.empty()) GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(2) - (5)].TypeVal))->getDescription()); @@ -7020,8 +7022,8 @@ ;} break; - case 349: -#line 3507 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 350: +#line 3514 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { if (!UpRefs.empty()) GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(2) - (4)].TypeVal))->getDescription()); @@ -7039,8 +7041,8 @@ ;} break; - case 350: -#line 3522 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 351: +#line 3529 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { if (!UpRefs.empty()) GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(2) - (4)].TypeVal))->getDescription()); @@ -7058,8 +7060,8 @@ ;} break; - case 351: -#line 3537 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" + case 352: +#line 3544 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { if (!UpRefs.empty()) GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(2) - (7)].TypeVal))->getDescription()); @@ -7081,7 +7083,7 @@ /* Line 1267 of yacc.c. */ -#line 7085 "llvmAsmParser.tab.c" +#line 7087 "llvmAsmParser.tab.c" default: break; } YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc); @@ -7295,7 +7297,7 @@ } -#line 3556 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" +#line 3563 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" // common code from the two 'RunVMAsmParser' functions Modified: llvm/trunk/lib/AsmParser/llvmAsmParser.h.cvs URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/AsmParser/llvmAsmParser.h.cvs?rev=61031&r1=61030&r2=61031&view=diff ============================================================================== --- llvm/trunk/lib/AsmParser/llvmAsmParser.h.cvs (original) +++ llvm/trunk/lib/AsmParser/llvmAsmParser.h.cvs Mon Dec 15 01:31:07 2008 @@ -184,8 +184,8 @@ SRET = 400, NOUNWIND = 401, NOALIAS = 402, - BYVAL = 403, - NEST = 404, + NOCAPTURE = 403, + BYVAL = 404, READNONE = 405, READONLY = 406, GC = 407, @@ -194,9 +194,10 @@ ALWAYSINLINE = 410, SSP = 411, SSPREQ = 412, - DEFAULT = 413, - HIDDEN = 414, - PROTECTED = 415 + NEST = 413, + DEFAULT = 414, + HIDDEN = 415, + PROTECTED = 416 }; #endif /* Tokens. */ @@ -345,8 +346,8 @@ #define SRET 400 #define NOUNWIND 401 #define NOALIAS 402 -#define BYVAL 403 -#define NEST 404 +#define NOCAPTURE 403 +#define BYVAL 404 #define READNONE 405 #define READONLY 406 #define GC 407 @@ -355,16 +356,17 @@ #define ALWAYSINLINE 410 #define SSP 411 #define SSPREQ 412 -#define DEFAULT 413 -#define HIDDEN 414 -#define PROTECTED 415 +#define NEST 413 +#define DEFAULT 414 +#define HIDDEN 415 +#define PROTECTED 416 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED typedef union YYSTYPE -#line 986 "/Volumes/Gir/devel/llvm/llvm.src/lib/AsmParser/llvmAsmParser.y" +#line 986 "/home/nicholas/llvm-commit/lib/AsmParser/llvmAsmParser.y" { llvm::Module *ModuleVal; llvm::Function *FunctionVal; @@ -412,8 +414,8 @@ llvm::ICmpInst::Predicate IPredicate; llvm::FCmpInst::Predicate FPredicate; } -/* Line 1529 of yacc.c. */ -#line 417 "llvmAsmParser.tab.h" +/* Line 1489 of yacc.c. */ +#line 419 "llvmAsmParser.tab.h" YYSTYPE; # define yystype YYSTYPE /* obsolescent; will be withdrawn */ # define YYSTYPE_IS_DECLARED 1 Modified: llvm/trunk/lib/AsmParser/llvmAsmParser.y.cvs URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/AsmParser/llvmAsmParser.y.cvs?rev=61031&r1=61030&r2=61031&view=diff ============================================================================== --- llvm/trunk/lib/AsmParser/llvmAsmParser.y.cvs (original) +++ llvm/trunk/lib/AsmParser/llvmAsmParser.y.cvs Mon Dec 15 01:31:07 2008 @@ -1136,8 +1136,8 @@ %token EXTRACTVALUE INSERTVALUE // Function Attributes -%token SIGNEXT ZEROEXT NORETURN INREG SRET NOUNWIND NOALIAS BYVAL NEST -%token READNONE READONLY GC OPTSIZE NOINLINE ALWAYSINLINE SSP SSPREQ +%token SIGNEXT ZEROEXT NORETURN INREG SRET NOUNWIND NOALIAS NOCAPTURE BYVAL +%token READNONE READONLY GC OPTSIZE NOINLINE ALWAYSINLINE SSP SSPREQ NEST // Visibility Styles %token DEFAULT HIDDEN PROTECTED @@ -1265,15 +1265,16 @@ CHECK_FOR_ERROR }; -Attribute : ZEROEXT { $$ = Attribute::ZExt; } - | ZEXT { $$ = Attribute::ZExt; } - | SIGNEXT { $$ = Attribute::SExt; } - | SEXT { $$ = Attribute::SExt; } - | INREG { $$ = Attribute::InReg; } - | SRET { $$ = Attribute::StructRet; } - | NOALIAS { $$ = Attribute::NoAlias; } - | BYVAL { $$ = Attribute::ByVal; } - | NEST { $$ = Attribute::Nest; } +Attribute : ZEROEXT { $$ = Attribute::ZExt; } + | ZEXT { $$ = Attribute::ZExt; } + | SIGNEXT { $$ = Attribute::SExt; } + | SEXT { $$ = Attribute::SExt; } + | INREG { $$ = Attribute::InReg; } + | SRET { $$ = Attribute::StructRet; } + | NOALIAS { $$ = Attribute::NoAlias; } + | NOCAPTURE { $$ = Attribute::NoCapture; } + | BYVAL { $$ = Attribute::ByVal; } + | NEST { $$ = Attribute::Nest; } | ALIGN EUINT64VAL { $$ = Attribute::constructAlignmentFromInt($2); } ; @@ -1284,9 +1285,10 @@ } ; -RetAttr : INREG { $$ = Attribute::InReg; } +RetAttr : INREG { $$ = Attribute::InReg; } | ZEROEXT { $$ = Attribute::ZExt; } | SIGNEXT { $$ = Attribute::SExt; } + | NOALIAS { $$ = Attribute::NoAlias; } ; OptRetAttrs : /* empty */ { $$ = Attribute::None; } @@ -1330,6 +1332,8 @@ $$ = $2; if ($$ != 0 && !isPowerOf2_32($$)) GEN_ERROR("Alignment must be a power of two"); + if ($$ > 0x40000000) + GEN_ERROR("Alignment too large"); CHECK_FOR_ERROR }; OptCAlign : /*empty*/ { $$ = 0; } | @@ -1337,6 +1341,8 @@ $$ = $3; if ($$ != 0 && !isPowerOf2_32($$)) GEN_ERROR("Alignment must be a power of two"); + if ($$ > 0x40000000) + GEN_ERROR("Alignment too large"); CHECK_FOR_ERROR }; @@ -1366,6 +1372,8 @@ | ALIGN EUINT64VAL { if ($2 != 0 && !isPowerOf2_32($2)) GEN_ERROR("Alignment must be a power of two"); + if ($2 > 0x40000000) + GEN_ERROR("Alignment too large"); CurGV->setAlignment($2); CHECK_FOR_ERROR }; From sabre at nondot.org Mon Dec 15 01:49:24 2008 From: sabre at nondot.org (Chris Lattner) Date: Mon, 15 Dec 2008 07:49:24 -0000 Subject: [llvm-commits] [llvm] r61032 - in /llvm/trunk: lib/Target/README.txt test/Transforms/GVN/lpre-call-wrap-2.ll test/Transforms/GVN/lpre-call-wrap.ll Message-ID: <200812150749.mBF7nOUY027767@zion.cs.uiuc.edu> Author: lattner Date: Mon Dec 15 01:49:24 2008 New Revision: 61032 URL: http://llvm.org/viewvc/llvm-project?rev=61032&view=rev Log: Add a testcase for GCC PR 23455, which lpre handles now. Add some comments about why we're not getting other cases. Added: llvm/trunk/test/Transforms/GVN/lpre-call-wrap-2.ll Modified: llvm/trunk/lib/Target/README.txt llvm/trunk/test/Transforms/GVN/lpre-call-wrap.ll Modified: llvm/trunk/lib/Target/README.txt URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/README.txt?rev=61032&r1=61031&r2=61032&view=diff ============================================================================== --- llvm/trunk/lib/Target/README.txt (original) +++ llvm/trunk/lib/Target/README.txt Mon Dec 15 01:49:24 2008 @@ -1323,8 +1323,13 @@ } *P = tmp; +We now hoist the reload after the call (Transforms/GVN/lpre-call-wrap.ll), but +we don't sink the store. We need partially dead store sinking. + //===---------------------------------------------------------------------===// +[PHI TRANSLATE GEPs] + GCC PR37166: Sinking of loads prevents SROA'ing the "g" struct on the stack leading to excess stack traffic. This could be handled by GVN with some crazy symbolic phi translation. The code we get looks like (g is on the stack): @@ -1350,10 +1355,11 @@ GCC testsuite. There are many pre testcases as ssa-pre-*.c Other simple load PRE cases: -http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35287 -http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34677 (licm does this) -http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29789 (SPEC2K6) -http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23455 +http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35287 [LPRE crit edge splitting] + +http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34677 (licm does this, LPRE crit edge) + llvm-gcc t2.c -S -o - -O0 -emit-llvm | llvm-as | opt -mem2reg -simplifycfg -gvn | llvm-dis + http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14705 //===---------------------------------------------------------------------===// Added: llvm/trunk/test/Transforms/GVN/lpre-call-wrap-2.ll URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Transforms/GVN/lpre-call-wrap-2.ll?rev=61032&view=auto ============================================================================== --- llvm/trunk/test/Transforms/GVN/lpre-call-wrap-2.ll (added) +++ llvm/trunk/test/Transforms/GVN/lpre-call-wrap-2.ll Mon Dec 15 01:49:24 2008 @@ -0,0 +1,39 @@ +; RUN: llvm-as < %s | opt -gvn -enable-load-pre | llvm-dis > %t +; RUN: %prcontext bb1: 2 < %t | grep phi +; RUN: %prcontext bb1: 2 < %t | not grep load +; +; The partially redundant load in bb1 should be hoisted to "bb". This comes +; from this C code (GCC PR 23455): +; unsigned outcnt; extern void flush_outbuf(void); +; void bi_windup(unsigned char *outbuf, unsigned char bi_buf) { +; outbuf[outcnt] = bi_buf; +; if (outcnt == 16384) +; flush_outbuf(); +; outbuf[outcnt] = bi_buf; +; } +target datalayout = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:64:64-v128:128:128-a0:0:64-f80:128:128" +target triple = "i386-apple-darwin7" + at outcnt = common global i32 0 ; [#uses=3] + +define void @bi_windup(i8* %outbuf, i8 zeroext %bi_buf) nounwind { +entry: + %"alloca point" = bitcast i32 0 to i32 ; [#uses=0] + %0 = load i32* @outcnt, align 4 ; [#uses=1] + %1 = getelementptr i8* %outbuf, i32 %0 ; [#uses=1] + store i8 %bi_buf, i8* %1, align 1 + %2 = load i32* @outcnt, align 4 ; [#uses=1] + %3 = icmp eq i32 %2, 16384 ; [#uses=1] + br i1 %3, label %bb, label %bb1 + +bb: ; preds = %entry + call void @flush_outbuf() nounwind + br label %bb1 + +bb1: ; preds = %bb, %entry + %4 = load i32* @outcnt, align 4 ; [#uses=1] + %5 = getelementptr i8* %outbuf, i32 %4 ; [#uses=1] + store i8 %bi_buf, i8* %5, align 1 + ret void +} + +declare void @flush_outbuf() Modified: llvm/trunk/test/Transforms/GVN/lpre-call-wrap.ll URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Transforms/GVN/lpre-call-wrap.ll?rev=61032&r1=61031&r2=61032&view=diff ============================================================================== --- llvm/trunk/test/Transforms/GVN/lpre-call-wrap.ll (original) +++ llvm/trunk/test/Transforms/GVN/lpre-call-wrap.ll Mon Dec 15 01:49:24 2008 @@ -5,7 +5,7 @@ ; Make sure the load in bb3.backedge is removed and moved into bb1 after the ; call. This makes the non-call case faster. ; -; This test is derived from this C++ code: +; This test is derived from this C++ code (GCC PR 37810): ; void g(); ; struct A { ; int n; int m; From sabre at nondot.org Mon Dec 15 02:32:28 2008 From: sabre at nondot.org (Chris Lattner) Date: Mon, 15 Dec 2008 08:32:28 -0000 Subject: [llvm-commits] [llvm] r61033 - /llvm/trunk/lib/Target/README.txt Message-ID: <200812150832.mBF8WSfH029178@zion.cs.uiuc.edu> Author: lattner Date: Mon Dec 15 02:32:28 2008 New Revision: 61033 URL: http://llvm.org/viewvc/llvm-project?rev=61033&view=rev Log: add some more notes. Modified: llvm/trunk/lib/Target/README.txt Modified: llvm/trunk/lib/Target/README.txt URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/README.txt?rev=61033&r1=61032&r2=61033&view=diff ============================================================================== --- llvm/trunk/lib/Target/README.txt (original) +++ llvm/trunk/lib/Target/README.txt Mon Dec 15 02:32:28 2008 @@ -1354,12 +1354,58 @@ There are many load PRE testcases in testsuite/gcc.dg/tree-ssa/loadpre* in the GCC testsuite. There are many pre testcases as ssa-pre-*.c +//===---------------------------------------------------------------------===// + +There are some interesting cases in testsuite/gcc.dg/tree-ssa/pred-comm* in the +GCC testsuite. For example, predcom-1.c is: + + for (i = 2; i < 1000; i++) + fib[i] = (fib[i-1] + fib[i - 2]) & 0xffff; + +which compiles into: + +bb1: ; preds = %bb1, %bb1.thread + %indvar = phi i32 [ 0, %bb1.thread ], [ %0, %bb1 ] + %i.0.reg2mem.0 = add i32 %indvar, 2 + %0 = add i32 %indvar, 1 ; [#uses=3] + %1 = getelementptr [1000 x i32]* @fib, i32 0, i32 %0 + %2 = load i32* %1, align 4 ; [#uses=1] + %3 = getelementptr [1000 x i32]* @fib, i32 0, i32 %indvar + %4 = load i32* %3, align 4 ; [#uses=1] + %5 = add i32 %4, %2 ; [#uses=1] + %6 = and i32 %5, 65535 ; [#uses=1] + %7 = getelementptr [1000 x i32]* @fib, i32 0, i32 %i.0.reg2mem.0 + store i32 %6, i32* %7, align 4 + %exitcond = icmp eq i32 %0, 998 ; [#uses=1] + br i1 %exitcond, label %return, label %bb1 + +This is basically: + LOAD fib[i+1] + LOAD fib[i] + STORE fib[i+2] + +instead of handling this as a loop or other xform, all we'd need to do is teach +load PRE to phi translate the %0 add (i+1) into the predecessor as (i'+1+1) = +(i'+2) (where i' is the previous iteration of i). This would find the store +which feeds it. + +predcom-2.c is apparently the same as predcom-1.c +predcom-3.c is very similar but needs loads feeding each other instead of +store->load. +predcom-4.c seems the same as the rest. + + +//===---------------------------------------------------------------------===// + Other simple load PRE cases: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35287 [LPRE crit edge splitting] http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34677 (licm does this, LPRE crit edge) llvm-gcc t2.c -S -o - -O0 -emit-llvm | llvm-as | opt -mem2reg -simplifycfg -gvn | llvm-dis +//===---------------------------------------------------------------------===// + +Type based alias analysis: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14705 //===---------------------------------------------------------------------===// @@ -1380,7 +1426,7 @@ One example (that requires crazy phi translation) is: -http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16799 +http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16799 [BITCAST PHI TRANS] //===---------------------------------------------------------------------===// @@ -1388,9 +1434,14 @@ of PRE'ing the load/store. This may be fixable in instcombine: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37892 + + Interesting missed case because of control flow flattening (should be 2 loads): http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26629 - +With: llvm-gcc t2.c -S -o - -O0 -emit-llvm | llvm-as | + opt -mem2reg -gvn -instcombine | llvm-dis +we miss it because we need 1) GEP PHI TRAN, 2) CRIT EDGE 3) MULTIPLE DIFFERENT +VALS PRODUCED BY ONE BLOCK OVER DIFFERENT PATHS //===---------------------------------------------------------------------===// From baldrick at free.fr Mon Dec 15 04:52:37 2008 From: baldrick at free.fr (Duncan Sands) Date: Mon, 15 Dec 2008 11:52:37 +0100 Subject: [llvm-commits] [llvm] r61030 - in /llvm/trunk: include/llvm/Attributes.h lib/AsmParser/llvmAsmParser.y lib/Bitcode/Writer/BitcodeWriter.cpp lib/VMCore/Attributes.cpp In-Reply-To: <200812150729.mBF7Ttg3027174@zion.cs.uiuc.edu> References: <200812150729.mBF7Ttg3027174@zion.cs.uiuc.edu> Message-ID: <200812151152.37244.baldrick@free.fr> Hi Nick, > It turns out that "align 1" and unaligned are different. Add a bias to the > alignment attribute such that 0 means unaligned. what happens if a function is aligned 1024 or something huge like that? Also, I don't think 0 means unaligned, I think it means default alignment. Ciao, Duncan. > + // 0 means unaligned different from align 1 -> 0 means default alignment Ciao, Duncan. From baldrick at free.fr Mon Dec 15 04:57:35 2008 From: baldrick at free.fr (Duncan Sands) Date: Mon, 15 Dec 2008 11:57:35 +0100 Subject: [llvm-commits] [llvm] r61019 - in /llvm/trunk: docs/AliasAnalysis.html docs/LangRef.html include/llvm/Attributes.h lib/AsmParser/LLLexer.cpp lib/AsmParser/llvmAsmParser.y lib/Bitcode/Reader/BitcodeReader.cpp lib/Bitcode/Writer/BitcodeWriter.cpp lib/VMCore/Attributes.cpp In-Reply-To: <200812150134.mBF1YxKZ015699@zion.cs.uiuc.edu> References: <200812150134.mBF1YxKZ015699@zion.cs.uiuc.edu> Message-ID: <200812151157.35229.baldrick@free.fr> Hi Nick, > Introducing nocapture, a parameter attribute for pointers to indicate that the > callee will not introduce any new aliases of that pointer. if I understand right, this attribute means that the pointer is only dereferenced: no bits of the pointer value itself are otherwise used or escape. > +
nocapture
> +
This indicates that the callee does not make any copies of the pointer > + that outlive the callee itself. This is not a valid attribute for return > + values.
I think you should mention that callee does not copy even one bit. Because if it is allowed to, it is easy to construct examples where the whole pointer value escapes through multiple calls. Ciao, Duncan. From criswell at cs.uiuc.edu Mon Dec 15 09:25:42 2008 From: criswell at cs.uiuc.edu (John Criswell) Date: Mon, 15 Dec 2008 09:25:42 -0600 Subject: [llvm-commits] CVS: llvm-www/Users.html Message-ID: <200812151525.mBFFPgXX017943@maute.cs.uiuc.edu> Changes in directory llvm-www: Users.html updated: 1.46 -> 1.47 --- Log message: Added C-to-Verilog to the list of companies using LLVM. --- Diffs of the changes: (+8 -1) Users.html | 9 ++++++++- 1 files changed, 8 insertions(+), 1 deletion(-) Index: llvm-www/Users.html diff -u llvm-www/Users.html:1.46 llvm-www/Users.html:1.47 --- llvm-www/Users.html:1.46 Mon Nov 24 13:01:48 2008 +++ llvm-www/Users.html Mon Dec 15 09:24:56 2008 @@ -65,6 +65,13 @@ Electronic System Level (ESL) to Silicon + + + C-to-Verilog + Compiler from C into the Verilog hardware description language. + Automates circuit design. + + Codedgers Inc. @@ -405,6 +412,6 @@ src="http://www.w3.org/Icons/valid-html401" alt="Valid HTML 4.01!">
LLVM Development List
- Last modified: $Date: 2008/11/24 19:01:48 $ + Last modified: $Date: 2008/12/15 15:24:56 $ From brukman at cs.uiuc.edu Mon Dec 15 10:52:07 2008 From: brukman at cs.uiuc.edu (Misha Brukman) Date: Mon, 15 Dec 2008 10:52:07 -0600 Subject: [llvm-commits] CVS: llvm-www/releases/index.html Message-ID: <200812151652.mBFGq7YQ023822@zion.cs.uiuc.edu> Changes in directory llvm-www/releases: index.html updated: 1.44 -> 1.45 --- Log message: Added link to release 2.4 docs. --- Diffs of the changes: (+1 -0) index.html | 1 + 1 files changed, 1 insertion(+) Index: llvm-www/releases/index.html diff -u llvm-www/releases/index.html:1.44 llvm-www/releases/index.html:1.45 --- llvm-www/releases/index.html:1.44 Mon Nov 10 00:18:55 2008 +++ llvm-www/releases/index.html Mon Dec 15 10:51:12 2008 @@ -82,6 +82,7 @@
  • Current LLVM SVN HEAD documentation
  • +
  • Documentation for LLVM 2.4
  • Documentation for LLVM 2.3
  • Documentation for LLVM 2.2
  • Documentation for LLVM 2.1
  • From gohman at apple.com Mon Dec 15 11:26:52 2008 From: gohman at apple.com (Dan Gohman) Date: Mon, 15 Dec 2008 17:26:52 -0000 Subject: [llvm-commits] [llvm] r61035 - /llvm/trunk/include/llvm/Target/TargetInstrInfo.h Message-ID: <200812151726.mBFHQqkP024930@zion.cs.uiuc.edu> Author: djg Date: Mon Dec 15 11:26:50 2008 New Revision: 61035 URL: http://llvm.org/viewvc/llvm-project?rev=61035&view=rev Log: Fix a typo in a comment. Modified: llvm/trunk/include/llvm/Target/TargetInstrInfo.h Modified: llvm/trunk/include/llvm/Target/TargetInstrInfo.h URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/Target/TargetInstrInfo.h?rev=61035&r1=61034&r2=61035&view=diff ============================================================================== --- llvm/trunk/include/llvm/Target/TargetInstrInfo.h (original) +++ llvm/trunk/include/llvm/Target/TargetInstrInfo.h Mon Dec 15 11:26:50 2008 @@ -340,7 +340,7 @@ } public: - /// canFoldMemoryOperand - Returns true if the specified load / store is + /// canFoldMemoryOperand - Returns true for the specified load / store if /// folding is possible. virtual bool canFoldMemoryOperand(const MachineInstr *MI, From gohman at apple.com Mon Dec 15 11:28:10 2008 From: gohman at apple.com (Dan Gohman) Date: Mon, 15 Dec 2008 17:28:10 -0000 Subject: [llvm-commits] [llvm] r61036 - /llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAGPrinter.cpp Message-ID: <200812151728.mBFHSAwO024981@zion.cs.uiuc.edu> Author: djg Date: Mon Dec 15 11:28:10 2008 New Revision: 61036 URL: http://llvm.org/viewvc/llvm-project?rev=61036&view=rev Log: Fix printing of PseudoSourceValues in SDNode graphs. Modified: llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAGPrinter.cpp Modified: llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAGPrinter.cpp URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAGPrinter.cpp?rev=61036&r1=61035&r2=61036&view=diff ============================================================================== --- llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAGPrinter.cpp (original) +++ llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAGPrinter.cpp Mon Dec 15 11:28:10 2008 @@ -202,12 +202,10 @@ Op += '<'; if (!V) { Op += "(unknown)"; - } else if (isa(V)) { + } else if (const PseudoSourceValue *PSV = dyn_cast(V)) { // PseudoSourceValues don't have names, so use their print method. - { - raw_string_ostream OSS(Op); - OSS << *M->MO.getValue(); - } + raw_string_ostream OSS(Op); + PSV->print(OSS); } else { Op += V->getName(); } From brukman at cs.uiuc.edu Mon Dec 15 11:42:01 2008 From: brukman at cs.uiuc.edu (Misha Brukman) Date: Mon, 15 Dec 2008 11:42:01 -0600 Subject: [llvm-commits] CVS: llvm-www/releases/index.html Message-ID: <200812151742.mBFHg1Zb025569@zion.cs.uiuc.edu> Changes in directory llvm-www/releases: index.html updated: 1.45 -> 1.46 --- Log message: * Converted bulleted list of releases and download links to a table * Instead of copy-pasting HTML, now use Javascript to fill the data --- Diffs of the changes: (+42 -34) index.html | 76 +++++++++++++++++++++++++++++++++---------------------------- 1 files changed, 42 insertions(+), 34 deletions(-) Index: llvm-www/releases/index.html diff -u llvm-www/releases/index.html:1.45 llvm-www/releases/index.html:1.46 --- llvm-www/releases/index.html:1.45 Mon Dec 15 10:51:12 2008 +++ llvm-www/releases/index.html Mon Dec 15 11:41:08 2008 @@ -36,40 +36,48 @@
    - +

    Always - Anonymous SVN access; release notes.

    + + + + + +
    DateVersionDownloadRelease Notes
    + +
    From brukman at cs.uiuc.edu Mon Dec 15 12:00:05 2008 From: brukman at cs.uiuc.edu (Misha Brukman) Date: Mon, 15 Dec 2008 12:00:05 -0600 Subject: [llvm-commits] CVS: llvm-www/releases/index.html Message-ID: <200812151800.mBFI05EL026278@zion.cs.uiuc.edu> Changes in directory llvm-www/releases: index.html updated: 1.46 -> 1.47 --- Log message: Made Javascript IE6-compatible. --- Diffs of the changes: (+16 -7) index.html | 23 ++++++++++++++++------- 1 files changed, 16 insertions(+), 7 deletions(-) Index: llvm-www/releases/index.html diff -u llvm-www/releases/index.html:1.46 llvm-www/releases/index.html:1.47 --- llvm-www/releases/index.html:1.46 Mon Dec 15 11:41:08 2008 +++ llvm-www/releases/index.html Mon Dec 15 11:59:46 2008 @@ -45,7 +45,7 @@ -