From rafael.espindola at gmail.com Thu Dec 28 06:51:55 2006 From: rafael.espindola at gmail.com (Rafael Espindola) Date: Thu, 28 Dec 2006 06:51:55 -0600 Subject: [llvm-commits] CVS: llvm/lib/Target/ARM/ARMInstrInfo.td Message-ID: <200612281251.kBSCpt1f028336@zion.cs.uiuc.edu> Changes in directory llvm/lib/Target/ARM: ARMInstrInfo.td updated: 1.80 -> 1.81 --- Log message: remove duplicated line bug noticed by Lauro --- Diffs of the changes: (+0 -1) ARMInstrInfo.td | 1 - 1 files changed, 1 deletion(-) Index: llvm/lib/Target/ARM/ARMInstrInfo.td diff -u llvm/lib/Target/ARM/ARMInstrInfo.td:1.80 llvm/lib/Target/ARM/ARMInstrInfo.td:1.81 --- llvm/lib/Target/ARM/ARMInstrInfo.td:1.80 Tue Dec 26 13:30:42 2006 +++ llvm/lib/Target/ARM/ARMInstrInfo.td Thu Dec 28 06:51:40 2006 @@ -344,7 +344,6 @@ // zextload bool -> zextload byte def : Pat<(i32 (zextloadi1 IntRegs:$addr)), (LDRB IntRegs:$addr)>; -def : Pat<(i32 (zextloadi1 IntRegs:$addr)), (LDRB IntRegs:$addr)>; // truncstore bool -> truncstore byte. def : Pat<(truncstorei1 IntRegs:$src, IntRegs:$addr), From reid at x10sys.com Thu Dec 28 10:56:10 2006 From: reid at x10sys.com (Reid Spencer) Date: Thu, 28 Dec 2006 10:56:10 -0600 Subject: [llvm-commits] CVS: llvm/docs/LangRef.html Message-ID: <200612281656.kBSGuAbt032233@zion.cs.uiuc.edu> Changes in directory llvm/docs: LangRef.html updated: 1.179 -> 1.180 --- Log message: Preview of new calling conventions: cextcc and csretextcc to handle explicit sign and zero extension in function calls. --- Diffs of the changes: (+27 -2) LangRef.html | 29 +++++++++++++++++++++++++++-- 1 files changed, 27 insertions(+), 2 deletions(-) Index: llvm/docs/LangRef.html diff -u llvm/docs/LangRef.html:1.179 llvm/docs/LangRef.html:1.180 --- llvm/docs/LangRef.html:1.179 Fri Dec 8 11:13:00 2006 +++ llvm/docs/LangRef.html Thu Dec 28 10:55:55 2006 @@ -519,9 +519,26 @@
This calling convention (the default if no other calling convention is specified) matches the target C calling conventions. This calling convention supports varargs function calls and tolerates some mismatch in the declared - prototype and implemented declaration of the function (as does normal C). + prototype and implemented declaration of the function (as does normal C). For + integer arguments less than 32-bits, the value will be sign-extended to + 32-bits before the call is made. If zero-extension is required, use the + cextcc calling convention.
+
"cextcc(bitmask)" - The C with explicit extend calling + convention :
+
This calling convention is exactly like the C calling convention except + that it is parameterized to provide a bitmask that indicates how + integer arguments of less than 32-bits should be extended. A zero bit + indicates zero-extension while a 1-bit indicates sign-extension. The least + significant bit always corresponds to the return type of the function. The + bits in the bitmask are assigned to the integer parameters of the + function that are smaller than 32-bits. For example, a bitmask of value + 5 (0b0101) indicates that the return value is to be sign extended, the first + small integer argument is to be zero extended and the second small integer + argument is to be sign extended.
+ +
"csretcc" - The C struct return calling convention:
This calling convention matches the target C calling conventions, except @@ -535,6 +552,14 @@ pointer to a struct as the first argument.
+
"csretextcc(bitmask)" - The C struct return with explicit + extend calling convention:
+
This calling convention is exactly like the csret calling + convention except that it is parameterized to provide a bitmask + that indicates how integer arguments of less than 32-bits should be extended. + A zero bit indicates zero-extension while a 1-bit indicates sign-extension. +
+
"fastcc" - The fast calling convention:
This calling convention attempts to make calls as fast as possible @@ -4468,7 +4493,7 @@ Chris Lattner
The LLVM Compiler Infrastructure
- Last modified: $Date: 2006/12/08 17:13:00 $ + Last modified: $Date: 2006/12/28 16:55:55 $ From lauro.venancio at gmail.com Tue Dec 26 13:30:58 2006 From: lauro.venancio at gmail.com (Lauro Ramos Venancio) Date: Tue, 26 Dec 2006 13:30:58 -0600 Subject: [llvm-commits] CVS: llvm/lib/Target/ARM/ARMInstrInfo.td Message-ID: <200612261930.kBQJUw4Z004977@zion.cs.uiuc.edu> Changes in directory llvm/lib/Target/ARM: ARMInstrInfo.td updated: 1.79 -> 1.80 --- Log message: This patch defines extloadi1 and fixes an internal compiler error on arm. --- Diffs of the changes: (+3 -0) ARMInstrInfo.td | 3 +++ 1 files changed, 3 insertions(+) Index: llvm/lib/Target/ARM/ARMInstrInfo.td diff -u llvm/lib/Target/ARM/ARMInstrInfo.td:1.79 llvm/lib/Target/ARM/ARMInstrInfo.td:1.80 --- llvm/lib/Target/ARM/ARMInstrInfo.td:1.79 Tue Dec 12 11:10:13 2006 +++ llvm/lib/Target/ARM/ARMInstrInfo.td Tue Dec 26 13:30:42 2006 @@ -339,6 +339,9 @@ def : Pat<(extloadi16 IntRegs:$addr), (LDRH IntRegs:$addr)>; +// extload bool -> extload byte +def : Pat<(extloadi1 IntRegs:$addr), (LDRB IntRegs:$addr)>; + // zextload bool -> zextload byte def : Pat<(i32 (zextloadi1 IntRegs:$addr)), (LDRB IntRegs:$addr)>; def : Pat<(i32 (zextloadi1 IntRegs:$addr)), (LDRB IntRegs:$addr)>; From lauro.venancio at gmail.com Thu Dec 28 07:11:30 2006 From: lauro.venancio at gmail.com (Lauro Ramos Venancio) Date: Thu, 28 Dec 2006 07:11:30 -0600 Subject: [llvm-commits] CVS: llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp ARMInstrInfo.td Message-ID: <200612281311.kBSDBUjD028655@zion.cs.uiuc.edu> Changes in directory llvm/lib/Target/ARM: ARMISelDAGToDAG.cpp updated: 1.92 -> 1.93 ARMInstrInfo.td updated: 1.81 -> 1.82 --- Log message: Implement SELECT_CC (f32/f64) for ARM. --- Diffs of the changes: (+16 -2) ARMISelDAGToDAG.cpp | 4 +++- ARMInstrInfo.td | 14 +++++++++++++- 2 files changed, 16 insertions(+), 2 deletions(-) Index: llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp diff -u llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp:1.92 llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp:1.93 --- llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp:1.92 Thu Dec 14 12:58:37 2006 +++ llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp Thu Dec 28 07:11:14 2006 @@ -73,6 +73,8 @@ setOperationAction(ISD::SETCC, MVT::f64, Expand); setOperationAction(ISD::SELECT_CC, MVT::i32, Custom); + setOperationAction(ISD::SELECT_CC, MVT::f32, Custom); + setOperationAction(ISD::SELECT_CC, MVT::f64, Custom); setOperationAction(ISD::MEMMOVE, MVT::Other, Expand); setOperationAction(ISD::MEMSET, MVT::Other, Expand); @@ -745,7 +747,7 @@ SDOperand Cmp; SDOperand ARMCC; LowerCMP(Cmp, ARMCC, LHS, RHS, CC, DAG); - return DAG.getNode(ARMISD::SELECT, MVT::i32, TrueVal, FalseVal, ARMCC, Cmp); + return DAG.getNode(ARMISD::SELECT, Op.getValueType(), TrueVal, FalseVal, ARMCC, Cmp); } static SDOperand LowerBR_CC(SDOperand Op, SelectionDAG &DAG) { Index: llvm/lib/Target/ARM/ARMInstrInfo.td diff -u llvm/lib/Target/ARM/ARMInstrInfo.td:1.81 llvm/lib/Target/ARM/ARMInstrInfo.td:1.82 --- llvm/lib/Target/ARM/ARMInstrInfo.td:1.81 Thu Dec 28 06:51:40 2006 +++ llvm/lib/Target/ARM/ARMInstrInfo.td Thu Dec 28 07:11:14 2006 @@ -102,7 +102,7 @@ def retflag : SDNode<"ARMISD::RET_FLAG", SDTRet, [SDNPHasChain, SDNPOptInFlag]>; -def SDTarmselect : SDTypeProfile<1, 3, [SDTCisSameAs<0, 1>, SDTCisSameAs<0, 2>, SDTCisInt<0>, SDTCisVT<2, i32>]>; +def SDTarmselect : SDTypeProfile<1, 3, [SDTCisSameAs<0, 1>, SDTCisSameAs<0, 2>]>; def armselect : SDNode<"ARMISD::SELECT", SDTarmselect, [SDNPInFlag, SDNPOutFlag]>; def SDTarmfmstat : SDTypeProfile<0, 0, []>; @@ -209,6 +209,18 @@ "mov$cc $dst, $true", [(set IntRegs:$dst, (armselect addr_mode1:$true, IntRegs:$false, imm:$cc))]>; + + def fcpyscond : InstARM<(ops FPRegs:$dst, FPRegs:$false, + FPRegs:$true, CCOp:$cc), + "fcpys$cc $dst, $true", + [(set FPRegs:$dst, (armselect FPRegs:$true, + FPRegs:$false, imm:$cc))]>; + + def fcpydcond : InstARM<(ops DFPRegs:$dst, DFPRegs:$false, + DFPRegs:$true, CCOp:$cc), + "fcpyd$cc $dst, $true", + [(set DFPRegs:$dst, (armselect DFPRegs:$true, + DFPRegs:$false, imm:$cc))]>; } def MUL : IntBinOp<"mul", mul>; From lauro.venancio at gmail.com Thu Dec 28 07:13:16 2006 From: lauro.venancio at gmail.com (Lauro Ramos Venancio) Date: Thu, 28 Dec 2006 07:13:16 -0600 Subject: [llvm-commits] CVS: llvm/lib/Target/ARM/ARMTargetAsmInfo.cpp Message-ID: <200612281313.kBSDDG51028689@zion.cs.uiuc.edu> Changes in directory llvm/lib/Target/ARM: ARMTargetAsmInfo.cpp updated: 1.2 -> 1.3 --- Log message: Define StaticCtorsSection and StaticDtorsSection for ARM. --- Diffs of the changes: (+2 -0) ARMTargetAsmInfo.cpp | 2 ++ 1 files changed, 2 insertions(+) Index: llvm/lib/Target/ARM/ARMTargetAsmInfo.cpp diff -u llvm/lib/Target/ARM/ARMTargetAsmInfo.cpp:1.2 llvm/lib/Target/ARM/ARMTargetAsmInfo.cpp:1.3 --- llvm/lib/Target/ARM/ARMTargetAsmInfo.cpp:1.2 Wed Dec 6 07:35:10 2006 +++ llvm/lib/Target/ARM/ARMTargetAsmInfo.cpp Thu Dec 28 07:13:00 2006 @@ -24,4 +24,6 @@ ConstantPoolSection = "\t.text\n"; AlignmentIsInBytes = false; WeakRefDirective = "\t.weak\t"; + StaticCtorsSection = "\t.section .ctors,\"aw\",%progbits"; + StaticDtorsSection = "\t.section .dtors,\"aw\",%progbits"; } From reid at x10sys.com Thu Dec 28 22:11:14 2006 From: reid at x10sys.com (Reid Spencer) Date: Thu, 28 Dec 2006 22:11:14 -0600 Subject: [llvm-commits] CVS: llvm/include/llvm/Instructions.h Message-ID: <200612290411.kBT4BEjx010700@zion.cs.uiuc.edu> Changes in directory llvm/include/llvm: Instructions.h updated: 1.48 -> 1.49 --- Log message: Doxygenify a comment. --- Diffs of the changes: (+2 -1) Instructions.h | 3 ++- 1 files changed, 2 insertions(+), 1 deletion(-) Index: llvm/include/llvm/Instructions.h diff -u llvm/include/llvm/Instructions.h:1.48 llvm/include/llvm/Instructions.h:1.49 --- llvm/include/llvm/Instructions.h:1.48 Sat Dec 23 00:05:40 2006 +++ llvm/include/llvm/Instructions.h Thu Dec 28 22:10:59 2006 @@ -729,7 +729,8 @@ return static_cast(dyn_cast(getOperand(0))); } - // getCalledValue - Get a pointer to a method that is invoked by this inst. + /// getCalledValue - Get a pointer to the function that is invoked by this + /// instruction inline const Value *getCalledValue() const { return getOperand(0); } inline Value *getCalledValue() { return getOperand(0); } From reid at x10sys.com Thu Dec 28 22:12:19 2006 From: reid at x10sys.com (Reid Spencer) Date: Thu, 28 Dec 2006 22:12:19 -0600 Subject: [llvm-commits] CVS: llvm/include/llvm/DerivedTypes.h Message-ID: <200612290412.kBT4CJBZ010726@zion.cs.uiuc.edu> Changes in directory llvm/include/llvm: DerivedTypes.h updated: 1.73 -> 1.74 --- Log message: Make a variable private now that the conditions requiring it to be protected have been removed. --- Diffs of the changes: (+0 -7) DerivedTypes.h | 7 ------- 1 files changed, 7 deletions(-) Index: llvm/include/llvm/DerivedTypes.h diff -u llvm/include/llvm/DerivedTypes.h:1.73 llvm/include/llvm/DerivedTypes.h:1.74 --- llvm/include/llvm/DerivedTypes.h:1.73 Fri Dec 8 12:06:14 2006 +++ llvm/include/llvm/DerivedTypes.h Thu Dec 28 22:12:03 2006 @@ -80,13 +80,6 @@ FunctionType(const FunctionType &); // Do not implement const FunctionType &operator=(const FunctionType &); // Do not implement -protected: - /// This should really be private, but it squelches a bogus warning - /// from GCC to make them protected: warning: `class FunctionType' only - /// defines private constructors and has no friends - /// - /// Private ctor - Only can be created by a static member... - /// FunctionType(const Type *Result, const std::vector &Params, bool IsVarArgs); From rafael.espindola at gmail.com Fri Dec 29 06:18:26 2006 From: rafael.espindola at gmail.com (=?UTF-8?Q?Rafael_Esp=C3=ADndola?=) Date: Fri, 29 Dec 2006 10:18:26 -0200 Subject: [llvm-commits] CVS: llvm/lib/Target/ARM/ARMTargetAsmInfo.cpp In-Reply-To: <200612281313.kBSDDG51028689@zion.cs.uiuc.edu> References: <200612281313.kBSDDG51028689@zion.cs.uiuc.edu> Message-ID: <564d96fb0612290418g67d64e62i5c0de55542d6ee3d@mail.gmail.com> On 12/28/06, Lauro Ramos Venancio wrote: > Log message: > > Define StaticCtorsSection and StaticDtorsSection for ARM. Nice! Could you please commit a small regression test? Thanks, Rafael From rafael.espindola at gmail.com Fri Dec 29 08:28:27 2006 From: rafael.espindola at gmail.com (Rafael Espindola) Date: Fri, 29 Dec 2006 08:28:27 -0600 Subject: [llvm-commits] CVS: llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp Message-ID: <200612291428.kBTESRJT030639@zion.cs.uiuc.edu> Changes in directory llvm/lib/Target/ARM: ARMISelDAGToDAG.cpp updated: 1.93 -> 1.94 --- Log message: fix comment --- Diffs of the changes: (+1 -1) ARMISelDAGToDAG.cpp | 2 +- 1 files changed, 1 insertion(+), 1 deletion(-) Index: llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp diff -u llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp:1.93 llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp:1.94 --- llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp:1.93 Thu Dec 28 07:11:14 2006 +++ llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp Fri Dec 29 08:28:12 2006 @@ -170,7 +170,7 @@ // SETOLE = (N | Z | !V) & (N | Z) = N | Z = !C | Z = LS case ISD::SETLE: case ISD::SETOLE: return ARMCC::LS; -// SETONE = (N | Z | !V) & !Z = (N | !V) & Z = !V & Z = Z = NE +// SETONE = (N | Z | !V) & !Z = (N | !V) & !Z = !V & !Z = !Z = NE case ISD::SETNE: case ISD::SETONE: return ARMCC::NE; // SETO = N | Z | !V = Z | !V = !V = VC From reid at x10sys.com Fri Dec 29 14:30:07 2006 From: reid at x10sys.com (Reid Spencer) Date: Fri, 29 Dec 2006 14:30:07 -0600 Subject: [llvm-commits] CVS: llvm/lib/VMCore/AsmWriter.cpp Message-ID: <200612292030.kBTKU7t9004688@zion.cs.uiuc.edu> Changes in directory llvm/lib/VMCore: AsmWriter.cpp updated: 1.230 -> 1.231 --- Log message: For PR950: http://llvm.org/PR950 : Remove all grammar conflicts from assembly parsing. This change involves: 1. Making the "type" keyword not a primitive type (removes several reduce/reduce conflicts) 2. Being more specific about which linkage types are allowed for functions and global variables. In particular "appending" can no longer be specified for a function. A differentiation was made between the various internal and external linkage types. 3. Introduced the "define" keyword which is now required when defining a function. This disambiguates several cases where a named function return type could get confused with the definition of a new type. Using the keyword eliminates all shift/reduce conflicts and the remaining reduce/reduce conflicts. These changes are necessary to implement the function parameter attributes that will be introduced soon. Adding the function parameter attributes in the presence of the shift/reduce and reduce/reduce conflicts led to severe ambiguities that caused the parser to report syntax errors that needed to be resolved. This patch resolves them. --- Diffs of the changes: (+3 -1) AsmWriter.cpp | 4 +++- 1 files changed, 3 insertions(+), 1 deletion(-) Index: llvm/lib/VMCore/AsmWriter.cpp diff -u llvm/lib/VMCore/AsmWriter.cpp:1.230 llvm/lib/VMCore/AsmWriter.cpp:1.231 --- llvm/lib/VMCore/AsmWriter.cpp:1.230 Tue Dec 19 15:16:35 2006 +++ llvm/lib/VMCore/AsmWriter.cpp Fri Dec 29 14:29:48 2006 @@ -921,7 +921,8 @@ case GlobalValue::ExternalWeakLinkage: Out << "declare extern_weak "; break; default: Out << "declare "; } - else + else { + Out << "define "; switch (F->getLinkage()) { case GlobalValue::InternalLinkage: Out << "internal "; break; case GlobalValue::LinkOnceLinkage: Out << "linkonce "; break; @@ -935,6 +936,7 @@ cerr << "GhostLinkage not allowed in AsmWriter!\n"; abort(); } + } // Print the calling convention. switch (F->getCallingConv()) { From reid at x10sys.com Fri Dec 29 14:22:06 2006 From: reid at x10sys.com (Reid Spencer) Date: Fri, 29 Dec 2006 14:22:06 -0600 Subject: [llvm-commits] CVS: llvm/test/Feature/newcasts.ll packed_struct.ll Message-ID: <200612292022.kBTKM6Td004544@zion.cs.uiuc.edu> Changes in directory llvm/test/Feature: newcasts.ll updated: 1.2 -> 1.3 packed_struct.ll updated: 1.2 -> 1.3 --- Log message: Run llvm-upgrade on test to prepare for new assembly syntax. --- Diffs of the changes: (+2 -2) newcasts.ll | 2 +- packed_struct.ll | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) Index: llvm/test/Feature/newcasts.ll diff -u llvm/test/Feature/newcasts.ll:1.2 llvm/test/Feature/newcasts.ll:1.3 --- llvm/test/Feature/newcasts.ll:1.2 Sun Dec 17 19:11:46 2006 +++ llvm/test/Feature/newcasts.ll Fri Dec 29 14:21:51 2006 @@ -1,4 +1,4 @@ -; RUN: llvm-as < %s | llvm-dis > %t1.ll +; RUN: llvm-upgrade < %s | llvm-as | llvm-dis > %t1.ll ; RUN: llvm-as %t1.ll -o - | llvm-dis > %t2.ll ; RUN: diff %t1.ll %t2.ll Index: llvm/test/Feature/packed_struct.ll diff -u llvm/test/Feature/packed_struct.ll:1.2 llvm/test/Feature/packed_struct.ll:1.3 --- llvm/test/Feature/packed_struct.ll:1.2 Fri Dec 8 12:45:38 2006 +++ llvm/test/Feature/packed_struct.ll Fri Dec 29 14:21:51 2006 @@ -1,4 +1,4 @@ -; RUN: llvm-as < %s | llvm-dis > %t1.ll +; RUN: llvm-upgrade < %s | llvm-as | llvm-dis > %t1.ll ; RUN: llvm-as %t1.ll -o - | llvm-dis > %t2.ll ; RUN: diff %t1.ll %t2.ll && ; RUN: not grep cast %t2.ll && From reid at x10sys.com Fri Dec 29 14:30:07 2006 From: reid at x10sys.com (Reid Spencer) Date: Fri, 29 Dec 2006 14:30:07 -0600 Subject: [llvm-commits] CVS: llvm/lib/AsmParser/Lexer.l llvmAsmParser.y Message-ID: <200612292030.kBTKU74G004695@zion.cs.uiuc.edu> Changes in directory llvm/lib/AsmParser: Lexer.l updated: 1.88 -> 1.89 llvmAsmParser.y updated: 1.291 -> 1.292 --- Log message: For PR950: http://llvm.org/PR950 : Remove all grammar conflicts from assembly parsing. This change involves: 1. Making the "type" keyword not a primitive type (removes several reduce/reduce conflicts) 2. Being more specific about which linkage types are allowed for functions and global variables. In particular "appending" can no longer be specified for a function. A differentiation was made between the various internal and external linkage types. 3. Introduced the "define" keyword which is now required when defining a function. This disambiguates several cases where a named function return type could get confused with the definition of a new type. Using the keyword eliminates all shift/reduce conflicts and the remaining reduce/reduce conflicts. These changes are necessary to implement the function parameter attributes that will be introduced soon. Adding the function parameter attributes in the presence of the shift/reduce and reduce/reduce conflicts led to severe ambiguities that caused the parser to report syntax errors that needed to be resolved. This patch resolves them. --- Diffs of the changes: (+79 -76) Lexer.l | 1 llvmAsmParser.y | 154 ++++++++++++++++++++++++++++---------------------------- 2 files changed, 79 insertions(+), 76 deletions(-) Index: llvm/lib/AsmParser/Lexer.l diff -u llvm/lib/AsmParser/Lexer.l:1.88 llvm/lib/AsmParser/Lexer.l:1.89 --- llvm/lib/AsmParser/Lexer.l:1.88 Sat Dec 23 00:05:40 2006 +++ llvm/lib/AsmParser/Lexer.l Fri Dec 29 14:29:48 2006 @@ -192,6 +192,7 @@ true { return TRUETOK; } false { return FALSETOK; } declare { return DECLARE; } +define { return DEFINE; } global { return GLOBAL; } constant { return CONSTANT; } internal { return INTERNAL; } Index: llvm/lib/AsmParser/llvmAsmParser.y diff -u llvm/lib/AsmParser/llvmAsmParser.y:1.291 llvm/lib/AsmParser/llvmAsmParser.y:1.292 --- llvm/lib/AsmParser/llvmAsmParser.y:1.291 Sat Dec 23 00:05:40 2006 +++ llvm/lib/AsmParser/llvmAsmParser.y Fri Dec 29 14:29:48 2006 @@ -895,7 +895,7 @@ llvm::FCmpInst::Predicate FPredicate; } -%type Module FunctionList +%type Module %type Function FunctionProto FunctionHeader BasicBlockList %type BasicBlock InstructionList %type BBTerminatorInst @@ -913,7 +913,7 @@ %type OptVolatile // 'volatile' or not %type OptTailCall // TAIL CALL or plain CALL. %type OptSideEffect // 'sideeffect' or not. -%type OptLinkage +%type FunctionLinkage GVInternalLinkage GVExternalLinkage %type BigOrLittle // ValueRef - Unresolved reference to a definition or BB @@ -936,7 +936,8 @@ %type Types TypesV UpRTypes UpRTypesV %type SIntType UIntType IntType FPType PrimType // Classifications %token VOID BOOL SBYTE UBYTE SHORT USHORT INT UINT LONG ULONG -%token FLOAT DOUBLE TYPE LABEL +%token FLOAT DOUBLE LABEL +%token TYPE %token VAR_ID LABELSTR STRINGCONSTANT %type Name OptName OptAssign @@ -944,7 +945,7 @@ %type OptSection SectionString %token IMPLEMENTATION ZEROINITIALIZER TRUETOK FALSETOK BEGINTOK ENDTOK -%token DECLARE GLOBAL CONSTANT SECTION VOLATILE +%token DECLARE DEFINE GLOBAL CONSTANT SECTION VOLATILE %token TO DOTDOTDOT NULL_TOK UNDEF CONST INTERNAL LINKONCE WEAK APPENDING %token DLLIMPORT DLLEXPORT EXTERN_WEAK %token OPAQUE NOT EXTERNAL TARGET TRIPLE ENDIAN POINTERSIZE LITTLE BIG ALIGN @@ -1038,14 +1039,33 @@ CHECK_FOR_ERROR }; -OptLinkage : INTERNAL { $$ = GlobalValue::InternalLinkage; } | - LINKONCE { $$ = GlobalValue::LinkOnceLinkage; } | - WEAK { $$ = GlobalValue::WeakLinkage; } | - APPENDING { $$ = GlobalValue::AppendingLinkage; } | - DLLIMPORT { $$ = GlobalValue::DLLImportLinkage; } | - DLLEXPORT { $$ = GlobalValue::DLLExportLinkage; } | - EXTERN_WEAK { $$ = GlobalValue::ExternalWeakLinkage; } | - /*empty*/ { $$ = GlobalValue::ExternalLinkage; }; +GVInternalLinkage + : INTERNAL { $$ = GlobalValue::InternalLinkage; } + | WEAK { $$ = GlobalValue::WeakLinkage; } + | LINKONCE { $$ = GlobalValue::LinkOnceLinkage; } + | APPENDING { $$ = GlobalValue::AppendingLinkage; } + | DLLEXPORT { $$ = GlobalValue::DLLExportLinkage; } + ; + +GVExternalLinkage + : DLLIMPORT { $$ = GlobalValue::DLLImportLinkage; } + | EXTERN_WEAK { $$ = GlobalValue::ExternalWeakLinkage; } + | EXTERNAL { $$ = GlobalValue::ExternalLinkage; } + ; + +FnDeclareLinkage + : /*empty*/ { /*default*/ } + | DLLIMPORT { CurFun.Linkage = GlobalValue::DLLImportLinkage; } + | EXTERN_WEAK { CurFun.Linkage = GlobalValue::ExternalWeakLinkage; } + ; + +FunctionLinkage + : INTERNAL { $$ = GlobalValue::InternalLinkage; } + | LINKONCE { $$ = GlobalValue::LinkOnceLinkage; } + | WEAK { $$ = GlobalValue::WeakLinkage; } + | DLLEXPORT { $$ = GlobalValue::DLLExportLinkage; } + | /*empty*/ { $$ = GlobalValue::ExternalLinkage; } + ; OptCallingConv : /*empty*/ { $$ = CallingConv::C; } | CCC_TOK { $$ = CallingConv::C; } | @@ -1128,7 +1148,7 @@ // Derived types are added later... // PrimType : BOOL | SBYTE | UBYTE | SHORT | USHORT | INT | UINT ; -PrimType : LONG | ULONG | FLOAT | DOUBLE | TYPE | LABEL; +PrimType : LONG | ULONG | FLOAT | DOUBLE | LABEL ; UpRTypes : OPAQUE { $$ = new PATypeHolder(OpaqueType::get()); CHECK_FOR_ERROR @@ -1634,33 +1654,36 @@ // Module rule: Capture the result of parsing the whole file into a result // variable... // -Module : FunctionList { - $$ = ParserResult = $1; - CurModule.ModuleDone(); - CHECK_FOR_ERROR; -}; +Module + : DefinitionList { + $$ = ParserResult = CurModule.CurrentModule; + CurModule.ModuleDone(); + CHECK_FOR_ERROR; + } + | /*empty*/ { + $$ = ParserResult = CurModule.CurrentModule; + CurModule.ModuleDone(); + CHECK_FOR_ERROR; + } + ; -// FunctionList - A list of functions, preceeded by a constant pool. -// -FunctionList : FunctionList Function { - $$ = $1; +DefinitionList + : Definition + | DefinitionList Definition + ; + +Definition + : DEFINE { CurFun.isDeclare = false } Function { CurFun.FunctionDone(); CHECK_FOR_ERROR - } - | FunctionList FunctionProto { - $$ = $1; + } + | DECLARE { CurFun.isDeclare = true; } FunctionProto { CHECK_FOR_ERROR } - | FunctionList MODULE ASM_TOK AsmBlock { - $$ = $1; + | MODULE ASM_TOK AsmBlock { CHECK_FOR_ERROR } - | FunctionList IMPLEMENTATION { - $$ = $1; - CHECK_FOR_ERROR - } - | ConstPool { - $$ = CurModule.CurrentModule; + | IMPLEMENTATION { // Emit an error if there are any unresolved types left. if (!CurModule.LateResolveTypes.empty()) { const ValID &DID = CurModule.LateResolveTypes.begin()->first; @@ -1671,10 +1694,8 @@ } } CHECK_FOR_ERROR - }; - -// ConstPool - Constants with optional names assigned to them. -ConstPool : ConstPool OptAssign TYPE TypesV { + } + | OptAssign TYPE TypesV { // Eagerly resolve types. This is not an optimization, this is a // requirement that is due to the fact that we could have this: // @@ -1684,65 +1705,50 @@ // If types are not resolved eagerly, then the two types will not be // determined to be the same type! // - ResolveTypeTo($2, *$4); + ResolveTypeTo($1, *$3); - if (!setTypeName(*$4, $2) && !$2) { + if (!setTypeName(*$3, $1) && !$1) { CHECK_FOR_ERROR // If this is a named type that is not a redefinition, add it to the slot // table. - CurModule.Types.push_back(*$4); + CurModule.Types.push_back(*$3); } - delete $4; - CHECK_FOR_ERROR - } - | ConstPool FunctionProto { // Function prototypes can be in const pool - CHECK_FOR_ERROR - } - | ConstPool MODULE ASM_TOK AsmBlock { // Asm blocks can be in the const pool + delete $3; CHECK_FOR_ERROR } - | ConstPool OptAssign OptLinkage GlobalType ConstVal { - if ($5 == 0) + | OptAssign GlobalType ConstVal { /* "Externally Visible" Linkage */ + if ($3 == 0) GEN_ERROR("Global value initializer is not a constant!"); - CurGV = ParseGlobalVariable($2, $3, $4, $5->getType(), $5); + CurGV = ParseGlobalVariable($1, GlobalValue::ExternalLinkage, $2, + $3->getType(), $3); CHECK_FOR_ERROR } GlobalVarAttributes { CurGV = 0; } - | ConstPool OptAssign EXTERNAL GlobalType Types { - CurGV = ParseGlobalVariable($2, GlobalValue::ExternalLinkage, $4, *$5, 0); - CHECK_FOR_ERROR - delete $5; - } GlobalVarAttributes { - CurGV = 0; - CHECK_FOR_ERROR - } - | ConstPool OptAssign DLLIMPORT GlobalType Types { - CurGV = ParseGlobalVariable($2, GlobalValue::DLLImportLinkage, $4, *$5, 0); + | OptAssign GVInternalLinkage GlobalType ConstVal { + if ($4 == 0) + GEN_ERROR("Global value initializer is not a constant!"); + CurGV = ParseGlobalVariable($1, $2, $3, $4->getType(), $4); CHECK_FOR_ERROR - delete $5; } GlobalVarAttributes { CurGV = 0; - CHECK_FOR_ERROR } - | ConstPool OptAssign EXTERN_WEAK GlobalType Types { - CurGV = - ParseGlobalVariable($2, GlobalValue::ExternalWeakLinkage, $4, *$5, 0); + | OptAssign GVExternalLinkage GlobalType Types { + CurGV = ParseGlobalVariable($1, $2, $3, *$4, 0); CHECK_FOR_ERROR - delete $5; + delete $4; } GlobalVarAttributes { CurGV = 0; CHECK_FOR_ERROR } - | ConstPool TARGET TargetDefinition { + | TARGET TargetDefinition { CHECK_FOR_ERROR } - | ConstPool DEPLIBS '=' LibrariesDefinition { + | DEPLIBS '=' LibrariesDefinition { CHECK_FOR_ERROR } - | /* empty: end of list */ { - }; + ; AsmBlock : STRINGCONSTANT { @@ -1944,7 +1950,7 @@ BEGIN : BEGINTOK | '{'; // Allow BEGIN or '{' to start a function -FunctionHeader : OptLinkage FunctionHeaderH BEGIN { +FunctionHeader : FunctionLinkage FunctionHeaderH BEGIN { $$ = CurFun.CurrentFunction; // Make sure that we keep track of the linkage type even if there was a @@ -1959,11 +1965,7 @@ CHECK_FOR_ERROR }; -FnDeclareLinkage: /*default*/ | - DLLIMPORT { CurFun.Linkage = GlobalValue::DLLImportLinkage; } | - EXTERN_WEAK { CurFun.Linkage = GlobalValue::ExternalWeakLinkage; }; - -FunctionProto : DECLARE { CurFun.isDeclare = true; } FnDeclareLinkage FunctionHeaderH { +FunctionProto : FnDeclareLinkage FunctionHeaderH { $$ = CurFun.CurrentFunction; CurFun.FunctionDone(); CHECK_FOR_ERROR From reid at x10sys.com Fri Dec 29 14:02:27 2006 From: reid at x10sys.com (Reid Spencer) Date: Fri, 29 Dec 2006 14:02:27 -0600 Subject: [llvm-commits] CVS: llvm/test/Regression/Analysis/LoadVN/casts.ll Message-ID: <200612292002.kBTK2Rlf004167@zion.cs.uiuc.edu> Changes in directory llvm/test/Regression/Analysis/LoadVN: casts.ll updated: 1.1 -> 1.2 --- Log message: Update tests that need to be run through llvm-upgrade. This is necessary for upcoming changes to the llvm assembly grammar. --- Diffs of the changes: (+2 -1) casts.ll | 3 ++- 1 files changed, 2 insertions(+), 1 deletion(-) Index: llvm/test/Regression/Analysis/LoadVN/casts.ll diff -u llvm/test/Regression/Analysis/LoadVN/casts.ll:1.1 llvm/test/Regression/Analysis/LoadVN/casts.ll:1.2 --- llvm/test/Regression/Analysis/LoadVN/casts.ll:1.1 Sun Nov 26 19:05:10 2006 +++ llvm/test/Regression/Analysis/LoadVN/casts.ll Fri Dec 29 14:01:32 2006 @@ -1,6 +1,7 @@ ; Check to make sure that Value Numbering doesn't merge casts of different ; flavors. -; RUN: llvm-as < %s | opt -load-vn -gcse | llvm-dis | grep '[sz]ext' | wc -l | grep 2 +; RUN: llvm-upgrade < %s | llvm-as | opt -load-vn -gcse | llvm-dis | \ +; RUN: grep '[sz]ext' | wc -l | grep 2 declare void %external(int) From reid at x10sys.com Fri Dec 29 14:02:27 2006 From: reid at x10sys.com (Reid Spencer) Date: Fri, 29 Dec 2006 14:02:27 -0600 Subject: [llvm-commits] CVS: llvm/test/Regression/Transforms/InstCombine/2006-12-05-fp-to-int-ext.ll 2006-12-15-Range-Test.ll 2006-12-23-Select-Cmp-Cmp.ll shl-trunc.ll Message-ID: <200612292002.kBTK2RwK004139@zion.cs.uiuc.edu> Changes in directory llvm/test/Regression/Transforms/InstCombine: 2006-12-05-fp-to-int-ext.ll updated: 1.1 -> 1.2 2006-12-15-Range-Test.ll updated: 1.1 -> 1.2 2006-12-23-Select-Cmp-Cmp.ll updated: 1.1 -> 1.2 shl-trunc.ll updated: 1.1 -> 1.2 --- Log message: Update tests that need to be run through llvm-upgrade. This is necessary for upcoming changes to the llvm assembly grammar. --- Diffs of the changes: (+8 -5) 2006-12-05-fp-to-int-ext.ll | 2 +- 2006-12-15-Range-Test.ll | 7 +++++-- 2006-12-23-Select-Cmp-Cmp.ll | 2 +- shl-trunc.ll | 2 +- 4 files changed, 8 insertions(+), 5 deletions(-) Index: llvm/test/Regression/Transforms/InstCombine/2006-12-05-fp-to-int-ext.ll diff -u llvm/test/Regression/Transforms/InstCombine/2006-12-05-fp-to-int-ext.ll:1.1 llvm/test/Regression/Transforms/InstCombine/2006-12-05-fp-to-int-ext.ll:1.2 --- llvm/test/Regression/Transforms/InstCombine/2006-12-05-fp-to-int-ext.ll:1.1 Tue Dec 5 17:43:20 2006 +++ llvm/test/Regression/Transforms/InstCombine/2006-12-05-fp-to-int-ext.ll Fri Dec 29 14:01:32 2006 @@ -1,4 +1,4 @@ -; RUN: llvm-as < %s | opt -instcombine | llvm-dis | grep zext +; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | grep zext ; Never merge these two conversions, even though it's possible: this is ; significantly more expensive than the two conversions on some targets Index: llvm/test/Regression/Transforms/InstCombine/2006-12-15-Range-Test.ll diff -u llvm/test/Regression/Transforms/InstCombine/2006-12-15-Range-Test.ll:1.1 llvm/test/Regression/Transforms/InstCombine/2006-12-15-Range-Test.ll:1.2 --- llvm/test/Regression/Transforms/InstCombine/2006-12-15-Range-Test.ll:1.1 Sat Dec 23 00:05:41 2006 +++ llvm/test/Regression/Transforms/InstCombine/2006-12-15-Range-Test.ll Fri Dec 29 14:01:32 2006 @@ -1,5 +1,8 @@ -; RUN: llvm-as < %s | opt -instcombine | llvm-dis | grep 'icmp' | wc -l | grep 1 -; RUN: llvm-as < %s | opt -instcombine | llvm-dis | grep 'icmp ugt' | wc -l | grep 1 +; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | \ +; RUN: grep 'icmp' | wc -l | grep 1 +; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | \ +; RUN: grep 'icmp ugt' | wc -l | grep 1 +; ; ModuleID = 'bugpoint-tooptimize.bc' target datalayout = "e-p:32:32" target endian = little Index: llvm/test/Regression/Transforms/InstCombine/2006-12-23-Select-Cmp-Cmp.ll diff -u llvm/test/Regression/Transforms/InstCombine/2006-12-23-Select-Cmp-Cmp.ll:1.1 llvm/test/Regression/Transforms/InstCombine/2006-12-23-Select-Cmp-Cmp.ll:1.2 --- llvm/test/Regression/Transforms/InstCombine/2006-12-23-Select-Cmp-Cmp.ll:1.1 Sat Dec 23 13:14:10 2006 +++ llvm/test/Regression/Transforms/InstCombine/2006-12-23-Select-Cmp-Cmp.ll Fri Dec 29 14:01:32 2006 @@ -1,6 +1,6 @@ ; For PR1065. This causes an assertion in instcombine if a select with two cmp ; operands is encountered. -; RUN: llvm-as < %s | opt -instcombine -disable-output +; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine -disable-output ; ModuleID = 'PR1065.bc' target datalayout = "e-p:32:32" target endian = little Index: llvm/test/Regression/Transforms/InstCombine/shl-trunc.ll diff -u llvm/test/Regression/Transforms/InstCombine/shl-trunc.ll:1.1 llvm/test/Regression/Transforms/InstCombine/shl-trunc.ll:1.2 --- llvm/test/Regression/Transforms/InstCombine/shl-trunc.ll:1.1 Mon Dec 4 19:29:01 2006 +++ llvm/test/Regression/Transforms/InstCombine/shl-trunc.ll Fri Dec 29 14:01:32 2006 @@ -1,4 +1,4 @@ -; RUN: llvm-as < %s | opt -instcombine | llvm-dis | grep shl +; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | grep shl bool %test(int %X, ubyte %A) { %B = lshr int %X, ubyte %A From reid at x10sys.com Fri Dec 29 14:02:26 2006 From: reid at x10sys.com (Reid Spencer) Date: Fri, 29 Dec 2006 14:02:26 -0600 Subject: [llvm-commits] CVS: llvm/test/Regression/Transforms/ADCE/2002-07-29-Segfault.ll Message-ID: <200612292002.kBTK2Qhi004088@zion.cs.uiuc.edu> Changes in directory llvm/test/Regression/Transforms/ADCE: 2002-07-29-Segfault.ll updated: 1.2 -> 1.3 --- Log message: Update tests that need to be run through llvm-upgrade. This is necessary for upcoming changes to the llvm assembly grammar. --- Diffs of the changes: (+1 -1) 2002-07-29-Segfault.ll | 2 +- 1 files changed, 1 insertion(+), 1 deletion(-) Index: llvm/test/Regression/Transforms/ADCE/2002-07-29-Segfault.ll diff -u llvm/test/Regression/Transforms/ADCE/2002-07-29-Segfault.ll:1.2 llvm/test/Regression/Transforms/ADCE/2002-07-29-Segfault.ll:1.3 --- llvm/test/Regression/Transforms/ADCE/2002-07-29-Segfault.ll:1.2 Thu Oct 23 10:51:55 2003 +++ llvm/test/Regression/Transforms/ADCE/2002-07-29-Segfault.ll Fri Dec 29 14:01:32 2006 @@ -1,4 +1,4 @@ -; RUN: llvm-as < %s | opt -adce +; RUN: llvm-upgrade < %s | llvm-as | opt -adce void "test"() begin From reid at x10sys.com Fri Dec 29 14:02:27 2006 From: reid at x10sys.com (Reid Spencer) Date: Fri, 29 Dec 2006 14:02:27 -0600 Subject: [llvm-commits] CVS: llvm/test/Regression/Transforms/LevelRaise/2002-03-21-MissedRaise.ll Message-ID: <200612292002.kBTK2R7q004146@zion.cs.uiuc.edu> Changes in directory llvm/test/Regression/Transforms/LevelRaise: 2002-03-21-MissedRaise.ll updated: 1.8 -> 1.9 --- Log message: Update tests that need to be run through llvm-upgrade. This is necessary for upcoming changes to the llvm assembly grammar. --- Diffs of the changes: (+1 -1) 2002-03-21-MissedRaise.ll | 2 +- 1 files changed, 1 insertion(+), 1 deletion(-) Index: llvm/test/Regression/Transforms/LevelRaise/2002-03-21-MissedRaise.ll diff -u llvm/test/Regression/Transforms/LevelRaise/2002-03-21-MissedRaise.ll:1.8 llvm/test/Regression/Transforms/LevelRaise/2002-03-21-MissedRaise.ll:1.9 --- llvm/test/Regression/Transforms/LevelRaise/2002-03-21-MissedRaise.ll:1.8 Wed Dec 6 22:20:23 2006 +++ llvm/test/Regression/Transforms/LevelRaise/2002-03-21-MissedRaise.ll Fri Dec 29 14:01:32 2006 @@ -2,7 +2,7 @@ ; LevelRaise should eliminate all cast instructions from this testcase. ; ; XFAIL: * -; RUN: llvm-as < %s | opt -raise | llvm-dis | notcast +; RUN: llvm-upgrade < %s | llvm-as | opt -raise | llvm-dis | notcast %Hash = type { { uint, sbyte *, \2 } * *, int (uint) *, int } * %hash = type { { uint, sbyte *, \2 } * *, int (uint) *, int } From reid at x10sys.com Fri Dec 29 14:33:52 2006 From: reid at x10sys.com (Reid Spencer) Date: Fri, 29 Dec 2006 14:33:52 -0600 Subject: [llvm-commits] CVS: llvm/tools/llvm-upgrade/UpgradeLexer.l UpgradeParser.y Message-ID: <200612292033.kBTKXqHQ004827@zion.cs.uiuc.edu> Changes in directory llvm/tools/llvm-upgrade: UpgradeLexer.l updated: 1.9 -> 1.10 UpgradeParser.y updated: 1.25 -> 1.26 --- Log message: For PR950: http://llvm.org/PR950 : Fix several bugs and update for new assembly syntax. Changes made include: 1. Fixing rules for icmp/fcmp instructions to not require a closing paren at the end. This was a cut-and-paste error from a previous commit. 2. Changing things like Out << " " to Out << ' ' 3. Adding the "define" keyword for function definitions 4. Adding support for packed structures --- Diffs of the changes: (+64 -41) UpgradeLexer.l | 1 UpgradeParser.y | 104 +++++++++++++++++++++++++++++++++----------------------- 2 files changed, 64 insertions(+), 41 deletions(-) Index: llvm/tools/llvm-upgrade/UpgradeLexer.l diff -u llvm/tools/llvm-upgrade/UpgradeLexer.l:1.9 llvm/tools/llvm-upgrade/UpgradeLexer.l:1.10 --- llvm/tools/llvm-upgrade/UpgradeLexer.l:1.9 Sat Dec 2 16:09:27 2006 +++ llvm/tools/llvm-upgrade/UpgradeLexer.l Fri Dec 29 14:33:37 2006 @@ -105,6 +105,7 @@ true { RET_TOK( TRUETOK); } false { RET_TOK( FALSETOK); } declare { RET_TOK( DECLARE); } +define { RET_TOK( DEFINE); } global { RET_TOK( GLOBAL); } constant { RET_TOK( CONSTANT); } internal { RET_TOK( INTERNAL); } Index: llvm/tools/llvm-upgrade/UpgradeParser.y diff -u llvm/tools/llvm-upgrade/UpgradeParser.y:1.25 llvm/tools/llvm-upgrade/UpgradeParser.y:1.26 --- llvm/tools/llvm-upgrade/UpgradeParser.y:1.25 Sat Dec 23 00:05:41 2006 +++ llvm/tools/llvm-upgrade/UpgradeParser.y Fri Dec 29 14:33:37 2006 @@ -286,7 +286,7 @@ %token NULL_TOK UNDEF ZEROINITIALIZER TRUETOK FALSETOK %token TYPE VAR_ID LABELSTR STRINGCONSTANT %token IMPLEMENTATION BEGINTOK ENDTOK -%token DECLARE GLOBAL CONSTANT SECTION VOLATILE +%token DECLARE DEFINE GLOBAL CONSTANT SECTION VOLATILE %token TO DOTDOTDOT CONST INTERNAL LINKONCE WEAK %token DLLIMPORT DLLEXPORT EXTERN_WEAK APPENDING %token NOT EXTERNAL TARGET TRIPLE ENDIAN POINTERSIZE LITTLE BIG @@ -489,6 +489,16 @@ $$.newTy = new std::string("{}"); $$.oldTy = StructTy; } + | '<' '{' TypeListI '}' '>' { // Packed Structure type? + $3->insert(0, "<{ "); + *$3 += " }>"; + $$.newTy = $3; + $$.oldTy = StructTy; + } + | '<' '{' '}' '>' { // Empty packed structure type? + $$.newTy = new std::string("<{}>"); + $$.oldTy = StructTy; + } | UpRTypes '*' { // Pointer type? *$1.newTy += '*'; $$.elemTy = $1.oldTy; @@ -741,12 +751,12 @@ $$ = 0; } | DefinitionList FunctionProto { - *O << *$2 << "\n"; + *O << *$2 << '\n'; delete $2; $$ = 0; } | DefinitionList MODULE ASM_TOK AsmBlock { - *O << "module asm " << " " << *$4 << "\n"; + *O << "module asm " << ' ' << *$4 << '\n'; $$ = 0; } | DefinitionList IMPLEMENTATION { @@ -766,17 +776,17 @@ NamedTypes[*$2].elemTy = $4.elemTy; *O << *$2 << " = "; } - *O << "type " << *$4.newTy << "\n"; + *O << "type " << *$4.newTy << '\n'; delete $2; delete $3; $4.destroy(); $$ = 0; } | ConstPool FunctionProto { // Function prototypes can be in const pool - *O << *$2 << "\n"; + *O << *$2 << '\n'; delete $2; $$ = 0; } | ConstPool MODULE ASM_TOK AsmBlock { // Asm blocks can be in the const pool - *O << *$2 << " " << *$3 << " " << *$4 << "\n"; + *O << *$2 << ' ' << *$3 << ' ' << *$4 << '\n'; delete $2; delete $3; delete $4; $$ = 0; } @@ -785,7 +795,7 @@ *O << *$2 << " = "; Globals[*$2] = $5.type.clone(); } - *O << *$3 << " " << *$4 << " " << *$5.cnst << " " << *$6 << "\n"; + *O << *$3 << ' ' << *$4 << ' ' << *$5.cnst << ' ' << *$6 << '\n'; delete $2; delete $3; delete $4; $5.destroy(); delete $6; $$ = 0; } @@ -794,7 +804,7 @@ *O << *$2 << " = "; Globals[*$2] = $5.clone(); } - *O << *$3 << " " << *$4 << " " << *$5.newTy << " " << *$6 << "\n"; + *O << *$3 << ' ' << *$4 << ' ' << *$5.newTy << ' ' << *$6 << '\n'; delete $2; delete $3; delete $4; $5.destroy(); delete $6; $$ = 0; } @@ -803,7 +813,7 @@ *O << *$2 << " = "; Globals[*$2] = $5.clone(); } - *O << *$3 << " " << *$4 << " " << *$5.newTy << " " << *$6 << "\n"; + *O << *$3 << ' ' << *$4 << ' ' << *$5.newTy << ' ' << *$6 << '\n'; delete $2; delete $3; delete $4; $5.destroy(); delete $6; $$ = 0; } @@ -812,17 +822,17 @@ *O << *$2 << " = "; Globals[*$2] = $5.clone(); } - *O << *$3 << " " << *$4 << " " << *$5.newTy << " " << *$6 << "\n"; + *O << *$3 << ' ' << *$4 << ' ' << *$5.newTy << ' ' << *$6 << '\n'; delete $2; delete $3; delete $4; $5.destroy(); delete $6; $$ = 0; } | ConstPool TARGET TargetDefinition { - *O << *$2 << " " << *$3 << "\n"; + *O << *$2 << ' ' << *$3 << '\n'; delete $2; delete $3; $$ = 0; } | ConstPool DEPLIBS '=' LibrariesDefinition { - *O << *$2 << " = " << *$4 << "\n"; + *O << *$2 << " = " << *$4 << '\n'; delete $2; delete $4; $$ = 0; } @@ -935,14 +945,26 @@ BEGIN : BEGINTOK { $$ = new std::string("{"); delete $1; } | '{' { $$ = new std::string ("{"); } -FunctionHeader : OptLinkage FunctionHeaderH BEGIN { - if (!$1->empty()) { - *O << *$1 << " "; +FunctionHeader + : OptLinkage FunctionHeaderH BEGIN { + *O << "define "; + if (!$1->empty()) { + *O << *$1 << ' '; + } + *O << *$2 << ' ' << *$3 << '\n'; + delete $1; delete $2; delete $3; + $$ = 0; } - *O << *$2 << " " << *$3 << "\n"; - delete $1; delete $2; delete $3; - $$ = 0; -}; + | DEFINE OptLinkage FunctionHeaderH BEGIN { + *O << *$1 << ' '; + if (!$2->empty()) { + *O << *$2 << ' '; + } + *O << *$3 << ' ' << *$4 << '\n'; + delete $1; delete $2; delete $3; delete $4; + $$ = 0; + } + ; END : ENDTOK { $$ = new std::string("}"); delete $1; } | '}' { $$ = new std::string("}"); }; @@ -950,7 +972,7 @@ Function : FunctionHeader BasicBlockList END { if ($2) *O << *$2; - *O << '\n' << *$3 << "\n"; + *O << '\n' << *$3 << '\n'; $$ = 0; }; @@ -1038,7 +1060,7 @@ }; InstructionList : InstructionList Inst { - *O << " " << *$2 << "\n"; + *O << " " << *$2 << '\n'; delete $2; $$ = 0; } @@ -1046,7 +1068,7 @@ $$ = 0; } | LABELSTR { - *O << *$1 << "\n"; + *O << *$1 << '\n'; delete $1; $$ = 0; }; @@ -1054,38 +1076,38 @@ Unwind : UNWIND | EXCEPT { $$ = $1; *$$ = "unwind"; } BBTerminatorInst : RET ResolvedVal { // Return with a result... - *O << " " << *$1 << " " << *$2.val << "\n"; + *O << " " << *$1 << ' ' << *$2.val << '\n'; delete $1; $2.destroy(); $$ = 0; } | RET VOID { // Return with no result... - *O << " " << *$1 << " " << *$2.newTy << "\n"; + *O << " " << *$1 << ' ' << *$2.newTy << '\n'; delete $1; $2.destroy(); $$ = 0; } | BR LABEL ValueRef { // Unconditional Branch... - *O << " " << *$1 << " " << *$2.newTy << " " << *$3.val << "\n"; + *O << " " << *$1 << ' ' << *$2.newTy << ' ' << *$3.val << '\n'; delete $1; $2.destroy(); $3.destroy(); $$ = 0; } // Conditional Branch... | BR BOOL ValueRef ',' LABEL ValueRef ',' LABEL ValueRef { - *O << " " << *$1 << " " << *$2.newTy << " " << *$3.val << ", " - << *$5.newTy << " " << *$6.val << ", " << *$8.newTy << " " - << *$9.val << "\n"; + *O << " " << *$1 << ' ' << *$2.newTy << ' ' << *$3.val << ", " + << *$5.newTy << ' ' << *$6.val << ", " << *$8.newTy << ' ' + << *$9.val << '\n'; delete $1; $2.destroy(); $3.destroy(); $5.destroy(); $6.destroy(); $8.destroy(); $9.destroy(); $$ = 0; } | SWITCH IntType ValueRef ',' LABEL ValueRef '[' JumpTable ']' { - *O << " " << *$1 << " " << *$2.newTy << " " << *$3.val << ", " - << *$5.newTy << " " << *$6.val << " [" << *$8 << " ]\n"; + *O << " " << *$1 << ' ' << *$2.newTy << ' ' << *$3.val << ", " + << *$5.newTy << ' ' << *$6.val << " [" << *$8 << " ]\n"; delete $1; $2.destroy(); $3.destroy(); $5.destroy(); $6.destroy(); delete $8; $$ = 0; } | SWITCH IntType ValueRef ',' LABEL ValueRef '[' ']' { - *O << " " << *$1 << " " << *$2.newTy << " " << *$3.val << ", " - << *$5.newTy << " " << *$6.val << "[]\n"; + *O << " " << *$1 << ' ' << *$2.newTy << ' ' << *$3.val << ", " + << *$5.newTy << ' ' << *$6.val << "[]\n"; delete $1; $2.destroy(); $3.destroy(); $5.destroy(); $6.destroy(); $$ = 0; } @@ -1094,7 +1116,7 @@ *O << " "; if (!$1->empty()) *O << *$1 << " = "; - *O << *$2 << " " << *$3 << " " << *$4.newTy << " " << *$5.val << " ("; + *O << *$2 << ' ' << *$3 << ' ' << *$4.newTy << ' ' << *$5.val << " ("; for (unsigned i = 0; i < $7->size(); ++i) { ValueInfo& VI = (*$7)[i]; *O << *VI.val; @@ -1102,20 +1124,20 @@ *O << ", "; VI.destroy(); } - *O << ") " << *$9 << " " << *$10.newTy << " " << *$11.val << " " - << *$12 << " " << *$13.newTy << " " << *$14.val << "\n"; + *O << ") " << *$9 << ' ' << *$10.newTy << ' ' << *$11.val << ' ' + << *$12 << ' ' << *$13.newTy << ' ' << *$14.val << '\n'; delete $1; delete $2; delete $3; $4.destroy(); $5.destroy(); delete $7; delete $9; $10.destroy(); $11.destroy(); delete $12; $13.destroy(); $14.destroy(); $$ = 0; } | Unwind { - *O << " " << *$1 << "\n"; + *O << " " << *$1 << '\n'; delete $1; $$ = 0; } | UNREACHABLE { - *O << " " << *$1 << "\n"; + *O << " " << *$1 << '\n'; delete $1; $$ = 0; }; @@ -1198,13 +1220,13 @@ $2.destroy(); $3.destroy(); $5.destroy(); $$ = $1; } - | ICMP IPredicates Types ValueRef ',' ValueRef ')' { - *$1 += " " + *$2 + " " + *$4.val + "," + *$6.val + ")"; + | ICMP IPredicates Types ValueRef ',' ValueRef { + *$1 += " " + *$2 + " " + *$3.newTy + " " + *$4.val + "," + *$6.val; delete $2; $4.destroy(); $6.destroy(); $$ = $1; } - | FCMP FPredicates Types ValueRef ',' ValueRef ')' { - *$1 += " " + *$2 + " " + *$4.val + "," + *$6.val + ")"; + | FCMP FPredicates Types ValueRef ',' ValueRef { + *$1 += " " + *$2 + " " + *$3.newTy + " " + *$4.val + "," + *$6.val; delete $2; $4.destroy(); $6.destroy(); $$ = $1; } From reid at x10sys.com Fri Dec 29 14:02:27 2006 From: reid at x10sys.com (Reid Spencer) Date: Fri, 29 Dec 2006 14:02:27 -0600 Subject: [llvm-commits] CVS: llvm/test/Regression/CodeGen/Generic/2002-04-16-StackFrameSizeAlignment.ll 2006-12-16-InlineAsmCrash.ll Message-ID: <200612292002.kBTK2RQ6004158@zion.cs.uiuc.edu> Changes in directory llvm/test/Regression/CodeGen/Generic: 2002-04-16-StackFrameSizeAlignment.ll updated: 1.2 -> 1.3 2006-12-16-InlineAsmCrash.ll updated: 1.1 -> 1.2 --- Log message: Update tests that need to be run through llvm-upgrade. This is necessary for upcoming changes to the llvm assembly grammar. --- Diffs of the changes: (+2 -2) 2002-04-16-StackFrameSizeAlignment.ll | 2 +- 2006-12-16-InlineAsmCrash.ll | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) Index: llvm/test/Regression/CodeGen/Generic/2002-04-16-StackFrameSizeAlignment.ll diff -u llvm/test/Regression/CodeGen/Generic/2002-04-16-StackFrameSizeAlignment.ll:1.2 llvm/test/Regression/CodeGen/Generic/2002-04-16-StackFrameSizeAlignment.ll:1.3 --- llvm/test/Regression/CodeGen/Generic/2002-04-16-StackFrameSizeAlignment.ll:1.2 Sat Nov 6 17:05:53 2004 +++ llvm/test/Regression/CodeGen/Generic/2002-04-16-StackFrameSizeAlignment.ll Fri Dec 29 14:01:32 2006 @@ -1,4 +1,4 @@ -; RUN: llvm-as -f %s -o - | llc +; RUN: llvm-upgrade < %s | llvm-as | llc ; Compiling this file produces: ; Sparc.cpp:91: failed assertion `(offset - OFFSET) % getStackFrameSizeAlignment() == 0' Index: llvm/test/Regression/CodeGen/Generic/2006-12-16-InlineAsmCrash.ll diff -u llvm/test/Regression/CodeGen/Generic/2006-12-16-InlineAsmCrash.ll:1.1 llvm/test/Regression/CodeGen/Generic/2006-12-16-InlineAsmCrash.ll:1.2 --- llvm/test/Regression/CodeGen/Generic/2006-12-16-InlineAsmCrash.ll:1.1 Sat Dec 16 15:12:49 2006 +++ llvm/test/Regression/CodeGen/Generic/2006-12-16-InlineAsmCrash.ll Fri Dec 29 14:01:32 2006 @@ -1,4 +1,4 @@ -; RUN: llvm-as < %s | llc -march=x86 +; RUN: llvm-upgrade < %s | llvm-as | llc -march=x86 ; PR1049 target datalayout = "e-p:32:32" target endian = little From reid at x10sys.com Fri Dec 29 14:02:27 2006 From: reid at x10sys.com (Reid Spencer) Date: Fri, 29 Dec 2006 14:02:27 -0600 Subject: [llvm-commits] CVS: llvm/test/Regression/Analysis/BasicAA/2004-07-28-MustAliasbug.llx Message-ID: <200612292002.kBTK2RSB004143@zion.cs.uiuc.edu> Changes in directory llvm/test/Regression/Analysis/BasicAA: 2004-07-28-MustAliasbug.llx updated: 1.1 -> 1.2 --- Log message: Update tests that need to be run through llvm-upgrade. This is necessary for upcoming changes to the llvm assembly grammar. --- Diffs of the changes: (+1 -1) 2004-07-28-MustAliasbug.llx | 2 +- 1 files changed, 1 insertion(+), 1 deletion(-) Index: llvm/test/Regression/Analysis/BasicAA/2004-07-28-MustAliasbug.llx diff -u llvm/test/Regression/Analysis/BasicAA/2004-07-28-MustAliasbug.llx:1.1 llvm/test/Regression/Analysis/BasicAA/2004-07-28-MustAliasbug.llx:1.2 --- llvm/test/Regression/Analysis/BasicAA/2004-07-28-MustAliasbug.llx:1.1 Wed Jul 28 20:33:05 2004 +++ llvm/test/Regression/Analysis/BasicAA/2004-07-28-MustAliasbug.llx Fri Dec 29 14:01:32 2006 @@ -1,4 +1,4 @@ -; RUN: llvm-as < %s | opt -dse | llvm-dis | grep 'store int 0' +; RUN: llvm-upgrade < %s | llvm-as | opt -dse | llvm-dis | grep 'store int 0' void %test({int,int }* %P) { %Q = getelementptr {int,int}* %P, int 1 From reid at x10sys.com Fri Dec 29 14:02:26 2006 From: reid at x10sys.com (Reid Spencer) Date: Fri, 29 Dec 2006 14:02:26 -0600 Subject: [llvm-commits] CVS: llvm/test/Regression/Transforms/SimplifyCFG/2006-12-08-Ptr-ICmp-Branch.ll Message-ID: <200612292002.kBTK2QZQ004111@zion.cs.uiuc.edu> Changes in directory llvm/test/Regression/Transforms/SimplifyCFG: 2006-12-08-Ptr-ICmp-Branch.ll updated: 1.1 -> 1.2 --- Log message: Update tests that need to be run through llvm-upgrade. This is necessary for upcoming changes to the llvm assembly grammar. --- Diffs of the changes: (+1 -1) 2006-12-08-Ptr-ICmp-Branch.ll | 2 +- 1 files changed, 1 insertion(+), 1 deletion(-) Index: llvm/test/Regression/Transforms/SimplifyCFG/2006-12-08-Ptr-ICmp-Branch.ll diff -u llvm/test/Regression/Transforms/SimplifyCFG/2006-12-08-Ptr-ICmp-Branch.ll:1.1 llvm/test/Regression/Transforms/SimplifyCFG/2006-12-08-Ptr-ICmp-Branch.ll:1.2 --- llvm/test/Regression/Transforms/SimplifyCFG/2006-12-08-Ptr-ICmp-Branch.ll:1.1 Sat Dec 23 00:05:41 2006 +++ llvm/test/Regression/Transforms/SimplifyCFG/2006-12-08-Ptr-ICmp-Branch.ll Fri Dec 29 14:01:32 2006 @@ -1,4 +1,4 @@ -; RUN: llvm-as < %s | opt -simplifycfg | llvm-dis +; RUN: llvm-upgrade < %s | llvm-as | opt -simplifycfg | llvm-dis ; ModuleID = 'bugpoint-tooptimize.bc' target datalayout = "e-p:32:32" target endian = little From reid at x10sys.com Fri Dec 29 14:02:27 2006 From: reid at x10sys.com (Reid Spencer) Date: Fri, 29 Dec 2006 14:02:27 -0600 Subject: [llvm-commits] CVS: llvm/test/Regression/Bytecode/2006-12-11-Cast-ConstExpr.ll Message-ID: <200612292002.kBTK2RRq004138@zion.cs.uiuc.edu> Changes in directory llvm/test/Regression/Bytecode: 2006-12-11-Cast-ConstExpr.ll updated: 1.1 -> 1.2 --- Log message: Update tests that need to be run through llvm-upgrade. This is necessary for upcoming changes to the llvm assembly grammar. --- Diffs of the changes: (+1 -1) 2006-12-11-Cast-ConstExpr.ll | 2 +- 1 files changed, 1 insertion(+), 1 deletion(-) Index: llvm/test/Regression/Bytecode/2006-12-11-Cast-ConstExpr.ll diff -u llvm/test/Regression/Bytecode/2006-12-11-Cast-ConstExpr.ll:1.1 llvm/test/Regression/Bytecode/2006-12-11-Cast-ConstExpr.ll:1.2 --- llvm/test/Regression/Bytecode/2006-12-11-Cast-ConstExpr.ll:1.1 Mon Dec 11 17:19:53 2006 +++ llvm/test/Regression/Bytecode/2006-12-11-Cast-ConstExpr.ll Fri Dec 29 14:01:32 2006 @@ -1,6 +1,6 @@ ; This test ensures that we get a bitcast constant expression in and out, ; not a sitofp constant expression. -; RUN: llvm-as < %s | llvm-dis | grep 'bitcast (' +; RUN: llvm-upgrade < %s | llvm-as | llvm-dis | grep 'bitcast (' %G = external global int float %tryit(int %A) { From reid at x10sys.com Fri Dec 29 14:02:24 2006 From: reid at x10sys.com (Reid Spencer) Date: Fri, 29 Dec 2006 14:02:24 -0600 Subject: [llvm-commits] CVS: llvm/test/Regression/DebugInfo/funccall.ll Message-ID: <200612292002.kBTK2O1b004037@zion.cs.uiuc.edu> Changes in directory llvm/test/Regression/DebugInfo: funccall.ll updated: 1.1 -> 1.2 --- Log message: Update tests that need to be run through llvm-upgrade. This is necessary for upcoming changes to the llvm assembly grammar. --- Diffs of the changes: (+1 -1) funccall.ll | 2 +- 1 files changed, 1 insertion(+), 1 deletion(-) Index: llvm/test/Regression/DebugInfo/funccall.ll diff -u llvm/test/Regression/DebugInfo/funccall.ll:1.1 llvm/test/Regression/DebugInfo/funccall.ll:1.2 --- llvm/test/Regression/DebugInfo/funccall.ll:1.1 Mon Dec 4 06:23:17 2006 +++ llvm/test/Regression/DebugInfo/funccall.ll Fri Dec 29 14:01:32 2006 @@ -1,4 +1,4 @@ -;; RUN: llvm-as < %s | llc +;; RUN: llvm-upgrade < %s | llvm-as | llc ;; Debugger type declarations %llvm.dbg.anchor.type = type { uint, uint } From reid at x10sys.com Fri Dec 29 14:02:26 2006 From: reid at x10sys.com (Reid Spencer) Date: Fri, 29 Dec 2006 14:02:26 -0600 Subject: [llvm-commits] CVS: llvm/test/Regression/Assembler/2002-07-25-ParserAssertionFailure.llx 2003-12-30-TypeMapInvalidMemory.llx 2004-06-07-VerifierBug.llx 2004-09-29-VerifierIsReallySlow.llx Message-ID: <200612292002.kBTK2QpP004116@zion.cs.uiuc.edu> Changes in directory llvm/test/Regression/Assembler: 2002-07-25-ParserAssertionFailure.llx updated: 1.2 -> 1.3 2003-12-30-TypeMapInvalidMemory.llx updated: 1.2 -> 1.3 2004-06-07-VerifierBug.llx updated: 1.1 -> 1.2 2004-09-29-VerifierIsReallySlow.llx updated: 1.1 -> 1.2 --- Log message: Update tests that need to be run through llvm-upgrade. This is necessary for upcoming changes to the llvm assembly grammar. --- Diffs of the changes: (+4 -3) 2002-07-25-ParserAssertionFailure.llx | 2 +- 2003-12-30-TypeMapInvalidMemory.llx | 1 + 2004-06-07-VerifierBug.llx | 2 +- 2004-09-29-VerifierIsReallySlow.llx | 2 +- 4 files changed, 4 insertions(+), 3 deletions(-) Index: llvm/test/Regression/Assembler/2002-07-25-ParserAssertionFailure.llx diff -u llvm/test/Regression/Assembler/2002-07-25-ParserAssertionFailure.llx:1.2 llvm/test/Regression/Assembler/2002-07-25-ParserAssertionFailure.llx:1.3 --- llvm/test/Regression/Assembler/2002-07-25-ParserAssertionFailure.llx:1.2 Mon Sep 15 15:01:21 2003 +++ llvm/test/Regression/Assembler/2002-07-25-ParserAssertionFailure.llx Fri Dec 29 14:01:32 2006 @@ -1,6 +1,6 @@ ; Make sure we don't get an assertion failure, even though this is a parse ; error -; RUN: llvm-as < %s 2>&1 | grep 'No arguments' +; RUN: llvm-upgrade < %s | llvm-as -o /dev/null -f 2>&1 | grep 'No arguments' %ty = type void (int) Index: llvm/test/Regression/Assembler/2003-12-30-TypeMapInvalidMemory.llx diff -u llvm/test/Regression/Assembler/2003-12-30-TypeMapInvalidMemory.llx:1.2 llvm/test/Regression/Assembler/2003-12-30-TypeMapInvalidMemory.llx:1.3 --- llvm/test/Regression/Assembler/2003-12-30-TypeMapInvalidMemory.llx:1.2 Mon Mar 21 11:55:41 2005 +++ llvm/test/Regression/Assembler/2003-12-30-TypeMapInvalidMemory.llx Fri Dec 29 14:01:32 2006 @@ -3,3 +3,4 @@ %d_reduction_0_dparser_gram = global { int (sbyte*, sbyte**, int, int, { %struct.Grammar*, void (\4, %struct.d_loc_t*, sbyte**)*, %struct.D_Scope*, void (\4)*, { int, %struct.d_loc_t, sbyte*, sbyte*, %struct.D_Scope*, void (\8, %struct.d_loc_t*, sbyte**)*, %struct.Grammar*, %struct.ParseNode_User }* (\4, int, { int, %struct.d_loc_t, sbyte*, sbyte*, %struct.D_Scope*, void (\9, %struct.d_loc_t*, sbyte**)*, %struct.Grammar*, %struct.ParseNode_User }**)*, void ({ int, %struct.d_loc_t, sbyte*, sbyte*, %struct.D_Scope*, void (\8, %struct.d_loc_t*, sbyte**)*, %struct.Grammar*, %struct.ParseNode_User }*)*, %struct.d_loc_t, int, int, int, int, int, int, int, int, int, int, int, int }*)*, int (sbyte*, sbyte**, int, int, { %struct.Grammar*, void (\4, %struct.d_loc_t*, sbyte**)*, %struct.D_Scope*, void (\4)*, { int, %struct.d_loc_t, sbyte*, sbyte*, %struct.D_Scope*, void (\8, %struct.d_loc_t*, sbyte**)*, %struct.Grammar*, %struct.ParseNode_User }* (\4, int, { int, %struct.d_loc_t, sbyt! e*, sbyte*, %struct.D_Scope*, void (\9, %struct.d_loc_t*, sbyte**)*, %struct.Grammar*, %struct.ParseNode_User }**)*, void ({ int, %struct.d_loc_t, sbyte*, sbyte*, %struct.D_Scope*, void (\8, %struct.d_loc_t*, sbyte**)*, %struct.Grammar*, %struct.ParseNode_User }*)*, %struct.d_loc_t, int, int, int, int, int, int, int, int, int, int, int, int }*)** } { int (sbyte*, sbyte**, int, int, { %struct.Grammar*, void (\4, %struct.d_loc_t*, sbyte**)*, %struct.D_Scope*, void (\4)*, { int, %struct.d_loc_t, sbyte*, sbyte*, %struct.D_Scope*, void (\8, %struct.d_loc_t*, sbyte**)*, %struct.Grammar*, %struct.ParseNode_User }* (\4, int, { int, %struct.d_loc_t, sbyte*, sbyte*, %struct.D_Scope*, void (\9, %struct.d_loc_t*, sbyte**)*, %struct.Grammar*, %struct.ParseNode_User }**)*, void ({ int, %struct.d_loc_t, sbyte*, sbyte*, %struct.D_Scope*, void (\8, %struct.d_loc_t*, sbyte**)*, %struct.Grammar*, %struct.ParseNode_User }*)*, %struct.d_loc_t, int, int, int, int, int, int, int, int, int, int, i! nt, int }*)* null, int (sbyte*, sbyte**, int, int, { %struct.G! rammar*, void (\4, %struct.d_loc_t*, sbyte**)*, %struct.D_Scope*, void (\4)*, { int, %struct.d_loc_t, sbyte*, sbyte*, %struct.D_Scope*, void (\8, %struct.d_loc_t*, sbyte**)*, %struct.Grammar*, %struct.ParseNode_User }* (\4, int, { int, %struct.d_loc_t, sbyte*, sbyte*, %struct.D_Scope*, void (\9, %struct.d_loc_t*, sbyte**)*, %struct.Grammar*, %struct.ParseNode_User }**)*, void ({ int, %struct.d_loc_t, sbyte*, sbyte*, %struct.D_Scope*, void (\8, %struct.d_loc_t*, sbyte**)*, %struct.Grammar*, %struct.ParseNode_User }*)*, %struct.d_loc_t, int, int, int, int, int, int, int, int, int, int, int, int }*)** null } +implementation Index: llvm/test/Regression/Assembler/2004-06-07-VerifierBug.llx diff -u llvm/test/Regression/Assembler/2004-06-07-VerifierBug.llx:1.1 llvm/test/Regression/Assembler/2004-06-07-VerifierBug.llx:1.2 --- llvm/test/Regression/Assembler/2004-06-07-VerifierBug.llx:1.1 Mon Jun 7 18:07:09 2004 +++ llvm/test/Regression/Assembler/2004-06-07-VerifierBug.llx Fri Dec 29 14:01:32 2006 @@ -1,4 +1,4 @@ -; RUN: llvm-as < %s > /dev/null +; RUN: llvm-upgrade < %s | llvm-as > /dev/null void %t() { entry: ret void Index: llvm/test/Regression/Assembler/2004-09-29-VerifierIsReallySlow.llx diff -u llvm/test/Regression/Assembler/2004-09-29-VerifierIsReallySlow.llx:1.1 llvm/test/Regression/Assembler/2004-09-29-VerifierIsReallySlow.llx:1.2 --- llvm/test/Regression/Assembler/2004-09-29-VerifierIsReallySlow.llx:1.1 Wed Sep 29 15:07:25 2004 +++ llvm/test/Regression/Assembler/2004-09-29-VerifierIsReallySlow.llx Fri Dec 29 14:01:32 2006 @@ -1,6 +1,6 @@ ; Check to see that the verifier does not take an outrageous amount of time on ; this testcase. -; RUN: llvm-as < %s -o /dev/null -f +; RUN: llvm-upgrade < %s | llvm-as -o /dev/null -f "complex long double" = type { double, double } "struct.std::dcomplex" = type { "complex long double" } From reid at x10sys.com Fri Dec 29 14:02:26 2006 From: reid at x10sys.com (Reid Spencer) Date: Fri, 29 Dec 2006 14:02:26 -0600 Subject: [llvm-commits] CVS: llvm/test/Regression/Transforms/SCCP/2006-12-19-UndefBug.ll Message-ID: <200612292002.kBTK2Q5S004069@zion.cs.uiuc.edu> Changes in directory llvm/test/Regression/Transforms/SCCP: 2006-12-19-UndefBug.ll updated: 1.1 -> 1.2 --- Log message: Update tests that need to be run through llvm-upgrade. This is necessary for upcoming changes to the llvm assembly grammar. --- Diffs of the changes: (+2 -1) 2006-12-19-UndefBug.ll | 3 ++- 1 files changed, 2 insertions(+), 1 deletion(-) Index: llvm/test/Regression/Transforms/SCCP/2006-12-19-UndefBug.ll diff -u llvm/test/Regression/Transforms/SCCP/2006-12-19-UndefBug.ll:1.1 llvm/test/Regression/Transforms/SCCP/2006-12-19-UndefBug.ll:1.2 --- llvm/test/Regression/Transforms/SCCP/2006-12-19-UndefBug.ll:1.1 Wed Dec 20 00:20:23 2006 +++ llvm/test/Regression/Transforms/SCCP/2006-12-19-UndefBug.ll Fri Dec 29 14:01:32 2006 @@ -1,4 +1,5 @@ -; RUN: llvm-as < %s | opt -sccp | llvm-dis | grep 'ret bool false' +; RUN: llvm-upgrade < %s | llvm-as | opt -sccp | llvm-dis | \ +; RUN: grep 'ret bool false' bool %foo() { %X = and bool false, undef From reid at x10sys.com Fri Dec 29 14:02:24 2006 From: reid at x10sys.com (Reid Spencer) Date: Fri, 29 Dec 2006 14:02:24 -0600 Subject: [llvm-commits] CVS: llvm/test/Regression/Transforms/IndVarsSimplify/2006-12-10-BitCast.ll Message-ID: <200612292002.kBTK2OGi004061@zion.cs.uiuc.edu> Changes in directory llvm/test/Regression/Transforms/IndVarsSimplify: 2006-12-10-BitCast.ll updated: 1.1 -> 1.2 --- Log message: Update tests that need to be run through llvm-upgrade. This is necessary for upcoming changes to the llvm assembly grammar. --- Diffs of the changes: (+1 -1) 2006-12-10-BitCast.ll | 2 +- 1 files changed, 1 insertion(+), 1 deletion(-) Index: llvm/test/Regression/Transforms/IndVarsSimplify/2006-12-10-BitCast.ll diff -u llvm/test/Regression/Transforms/IndVarsSimplify/2006-12-10-BitCast.ll:1.1 llvm/test/Regression/Transforms/IndVarsSimplify/2006-12-10-BitCast.ll:1.2 --- llvm/test/Regression/Transforms/IndVarsSimplify/2006-12-10-BitCast.ll:1.1 Sun Dec 10 18:12:07 2006 +++ llvm/test/Regression/Transforms/IndVarsSimplify/2006-12-10-BitCast.ll Fri Dec 29 14:01:32 2006 @@ -1,4 +1,4 @@ -; RUN: llvm-as < %s | opt -indvars -disable-output +; RUN: llvm-upgrade < %s | llvm-as | opt -indvars -disable-output target datalayout = "e-p:32:32" target endian = little From reid at x10sys.com Fri Dec 29 14:02:26 2006 From: reid at x10sys.com (Reid Spencer) Date: Fri, 29 Dec 2006 14:02:26 -0600 Subject: [llvm-commits] CVS: llvm/test/Regression/CodeGen/PowerPC/2006-12-07-LargeAlloca.ll Message-ID: <200612292002.kBTK2QTx004066@zion.cs.uiuc.edu> Changes in directory llvm/test/Regression/CodeGen/PowerPC: 2006-12-07-LargeAlloca.ll updated: 1.1 -> 1.2 --- Log message: Update tests that need to be run through llvm-upgrade. This is necessary for upcoming changes to the llvm assembly grammar. --- Diffs of the changes: (+3 -3) 2006-12-07-LargeAlloca.ll | 6 +++--- 1 files changed, 3 insertions(+), 3 deletions(-) Index: llvm/test/Regression/CodeGen/PowerPC/2006-12-07-LargeAlloca.ll diff -u llvm/test/Regression/CodeGen/PowerPC/2006-12-07-LargeAlloca.ll:1.1 llvm/test/Regression/CodeGen/PowerPC/2006-12-07-LargeAlloca.ll:1.2 --- llvm/test/Regression/CodeGen/PowerPC/2006-12-07-LargeAlloca.ll:1.1 Thu Dec 7 16:15:20 2006 +++ llvm/test/Regression/CodeGen/PowerPC/2006-12-07-LargeAlloca.ll Fri Dec 29 14:01:32 2006 @@ -1,6 +1,6 @@ -; RUN: llvm-as < %s | llc -march=ppc64 && -; RUN: llvm-as < %s | llc -march=ppc32 && -; RUN: llvm-as < %s | llc +; RUN: llvm-upgrade < %s | llvm-as | llc -march=ppc64 && +; RUN: llvm-upgrade < %s | llvm-as | llc -march=ppc32 && +; RUN: llvm-upgrade < %s | llvm-as | llc void %bitap() { entry: From reid at x10sys.com Fri Dec 29 14:02:24 2006 From: reid at x10sys.com (Reid Spencer) Date: Fri, 29 Dec 2006 14:02:24 -0600 Subject: [llvm-commits] CVS: llvm/test/Regression/Transforms/ScalarRepl/2006-12-11-SROA-Crash.ll Message-ID: <200612292002.kBTK2OKS004043@zion.cs.uiuc.edu> Changes in directory llvm/test/Regression/Transforms/ScalarRepl: 2006-12-11-SROA-Crash.ll updated: 1.1 -> 1.2 --- Log message: Update tests that need to be run through llvm-upgrade. This is necessary for upcoming changes to the llvm assembly grammar. --- Diffs of the changes: (+1 -1) 2006-12-11-SROA-Crash.ll | 2 +- 1 files changed, 1 insertion(+), 1 deletion(-) Index: llvm/test/Regression/Transforms/ScalarRepl/2006-12-11-SROA-Crash.ll diff -u llvm/test/Regression/Transforms/ScalarRepl/2006-12-11-SROA-Crash.ll:1.1 llvm/test/Regression/Transforms/ScalarRepl/2006-12-11-SROA-Crash.ll:1.2 --- llvm/test/Regression/Transforms/ScalarRepl/2006-12-11-SROA-Crash.ll:1.1 Mon Dec 11 22:24:17 2006 +++ llvm/test/Regression/Transforms/ScalarRepl/2006-12-11-SROA-Crash.ll Fri Dec 29 14:01:32 2006 @@ -1,4 +1,4 @@ -; RUN: llvm-as < %s | opt -scalarrepl -disable-output +; RUN: llvm-upgrade < %s | llvm-as | opt -scalarrepl -disable-output ; PR1045 target datalayout = "e-p:32:32" From reid at x10sys.com Fri Dec 29 14:02:24 2006 From: reid at x10sys.com (Reid Spencer) Date: Fri, 29 Dec 2006 14:02:24 -0600 Subject: [llvm-commits] CVS: llvm/test/Regression/Linker/2003-01-30-LinkerRename.ll 2003-04-21-Linkage.ll 2003-04-23-LinkOnceLost.ll 2003-08-28-TypeResolvesGlobal.ll 2003-08-28-TypeResolvesGlobal2.ll 2003-08-28-TypeResolvesGlobal3.ll 2004-05-07-TypeResolution1.ll AppendingLinkage.ll testlink1.ll Message-ID: <200612292002.kBTK2OJZ004057@zion.cs.uiuc.edu> Changes in directory llvm/test/Regression/Linker: 2003-01-30-LinkerRename.ll updated: 1.3 -> 1.4 2003-04-21-Linkage.ll updated: 1.3 -> 1.4 2003-04-23-LinkOnceLost.ll updated: 1.3 -> 1.4 2003-08-28-TypeResolvesGlobal.ll updated: 1.3 -> 1.4 2003-08-28-TypeResolvesGlobal2.ll updated: 1.3 -> 1.4 2003-08-28-TypeResolvesGlobal3.ll updated: 1.3 -> 1.4 2004-05-07-TypeResolution1.ll updated: 1.1 -> 1.2 AppendingLinkage.ll updated: 1.4 -> 1.5 testlink1.ll updated: 1.13 -> 1.14 --- Log message: Update tests that need to be run through llvm-upgrade. This is necessary for upcoming changes to the llvm assembly grammar. --- Diffs of the changes: (+22 -18) 2003-01-30-LinkerRename.ll | 5 +++-- 2003-04-21-Linkage.ll | 4 ++-- 2003-04-23-LinkOnceLost.ll | 5 +++-- 2003-08-28-TypeResolvesGlobal.ll | 4 ++-- 2003-08-28-TypeResolvesGlobal2.ll | 4 ++-- 2003-08-28-TypeResolvesGlobal3.ll | 4 ++-- 2004-05-07-TypeResolution1.ll | 5 +++-- AppendingLinkage.ll | 5 +++-- testlink1.ll | 4 ++-- 9 files changed, 22 insertions(+), 18 deletions(-) Index: llvm/test/Regression/Linker/2003-01-30-LinkerRename.ll diff -u llvm/test/Regression/Linker/2003-01-30-LinkerRename.ll:1.3 llvm/test/Regression/Linker/2003-01-30-LinkerRename.ll:1.4 --- llvm/test/Regression/Linker/2003-01-30-LinkerRename.ll:1.3 Mon Sep 15 15:04:28 2003 +++ llvm/test/Regression/Linker/2003-01-30-LinkerRename.ll Fri Dec 29 14:01:32 2006 @@ -1,8 +1,9 @@ ; This fails because the linker renames the external symbol not the internal ; one... -; RUN: echo "implementation internal int %foo() { ret int 7 }" | llvm-as > %t.1.bc -; RUN: llvm-as < %s > %t.2.bc +; RUN: echo "implementation internal int %foo() { ret int 7 }" | llvm-upgrade |\ +; RUN: llvm-as > %t.1.bc +; RUN: llvm-upgrade < %s | llvm-as -o %t.2.bc -f ; RUN: llvm-link %t.[12].bc | llvm-dis | grep '%foo()' | grep -v internal implementation Index: llvm/test/Regression/Linker/2003-04-21-Linkage.ll diff -u llvm/test/Regression/Linker/2003-04-21-Linkage.ll:1.3 llvm/test/Regression/Linker/2003-04-21-Linkage.ll:1.4 --- llvm/test/Regression/Linker/2003-04-21-Linkage.ll:1.3 Mon Sep 15 15:04:28 2003 +++ llvm/test/Regression/Linker/2003-04-21-Linkage.ll Fri Dec 29 14:01:32 2006 @@ -1,5 +1,5 @@ -; RUN: echo "%X = linkonce global int 5 implementation linkonce int %foo() { ret int 7 }" | llvm-as > %t.1.bc -; RUN: llvm-as < %s > %t.2.bc +; RUN: echo "%X = linkonce global int 5 implementation linkonce int %foo() { ret int 7 }" | llvm-upgrade | llvm-as > %t.1.bc +; RUN: llvm-upgrade < %s | llvm-as -o %t.2.bc -f ; RUN: llvm-link %t.[12].bc %X = external global int Index: llvm/test/Regression/Linker/2003-04-23-LinkOnceLost.ll diff -u llvm/test/Regression/Linker/2003-04-23-LinkOnceLost.ll:1.3 llvm/test/Regression/Linker/2003-04-23-LinkOnceLost.ll:1.4 --- llvm/test/Regression/Linker/2003-04-23-LinkOnceLost.ll:1.3 Mon Sep 15 15:04:28 2003 +++ llvm/test/Regression/Linker/2003-04-23-LinkOnceLost.ll Fri Dec 29 14:01:32 2006 @@ -1,8 +1,9 @@ ; This fails because the linker renames the non-opaque type not the opaque ; one... -; RUN: echo "implementation linkonce void %foo() { ret void } " | llvm-as > %t.2.bc -; RUN: llvm-as < %s > %t.1.bc +; RUN: echo "implementation linkonce void %foo() { ret void } " | llvm-upgrade|\ +; RUN: llvm-as -o %t.2.bc -f +; RUN: llvm-upgrade < %s | llvm-as -o %t.1.bc -f ; RUN: llvm-link %t.[12].bc | llvm-dis | grep foo | grep linkonce declare void %foo() Index: llvm/test/Regression/Linker/2003-08-28-TypeResolvesGlobal.ll diff -u llvm/test/Regression/Linker/2003-08-28-TypeResolvesGlobal.ll:1.3 llvm/test/Regression/Linker/2003-08-28-TypeResolvesGlobal.ll:1.4 --- llvm/test/Regression/Linker/2003-08-28-TypeResolvesGlobal.ll:1.3 Fri Sep 26 15:20:44 2003 +++ llvm/test/Regression/Linker/2003-08-28-TypeResolvesGlobal.ll Fri Dec 29 14:01:32 2006 @@ -1,5 +1,5 @@ -; RUN: llvm-as < %s > %t.out1.bc -; RUN: echo "%S = type int" | llvm-as > %t.out2.bc +; RUN: llvm-upgrade < %s | llvm-as > %t.out1.bc +; RUN: echo "%S = type int" | llvm-upgrade | llvm-as > %t.out2.bc ; RUN: llvm-link %t.out[21].bc %S = type opaque Index: llvm/test/Regression/Linker/2003-08-28-TypeResolvesGlobal2.ll diff -u llvm/test/Regression/Linker/2003-08-28-TypeResolvesGlobal2.ll:1.3 llvm/test/Regression/Linker/2003-08-28-TypeResolvesGlobal2.ll:1.4 --- llvm/test/Regression/Linker/2003-08-28-TypeResolvesGlobal2.ll:1.3 Fri Sep 26 15:20:44 2003 +++ llvm/test/Regression/Linker/2003-08-28-TypeResolvesGlobal2.ll Fri Dec 29 14:01:32 2006 @@ -1,5 +1,5 @@ -; RUN: llvm-as < %s > %t.out1.bc -; RUN: echo "%S = type int" | llvm-as > %t.out2.bc +; RUN: llvm-upgrade < %s | llvm-as > %t.out1.bc +; RUN: echo "%S = type int" | llvm-upgrade | llvm-as > %t.out2.bc ; RUN: llvm-link %t.out[21].bc %S = type opaque Index: llvm/test/Regression/Linker/2003-08-28-TypeResolvesGlobal3.ll diff -u llvm/test/Regression/Linker/2003-08-28-TypeResolvesGlobal3.ll:1.3 llvm/test/Regression/Linker/2003-08-28-TypeResolvesGlobal3.ll:1.4 --- llvm/test/Regression/Linker/2003-08-28-TypeResolvesGlobal3.ll:1.3 Fri Sep 26 15:20:44 2003 +++ llvm/test/Regression/Linker/2003-08-28-TypeResolvesGlobal3.ll Fri Dec 29 14:01:32 2006 @@ -1,5 +1,5 @@ -; RUN: llvm-as < %s > %t.out1.bc -; RUN: echo "%S = type int" | llvm-as > %t.out2.bc +; RUN: llvm-upgrade < %s | llvm-as > %t.out1.bc +; RUN: echo "%S = type int" | llvm-upgrade | llvm-as > %t.out2.bc ; RUN: llvm-link %t.out[21].bc %S = type opaque Index: llvm/test/Regression/Linker/2004-05-07-TypeResolution1.ll diff -u llvm/test/Regression/Linker/2004-05-07-TypeResolution1.ll:1.1 llvm/test/Regression/Linker/2004-05-07-TypeResolution1.ll:1.2 --- llvm/test/Regression/Linker/2004-05-07-TypeResolution1.ll:1.1 Fri May 7 08:57:19 2004 +++ llvm/test/Regression/Linker/2004-05-07-TypeResolution1.ll Fri Dec 29 14:01:32 2006 @@ -1,5 +1,6 @@ -; RUN: llvm-as -f < %s > %t1.bc -; RUN: llvm-as -f < `dirname %s`/2004-05-07-TypeResolution2.ll > %t2.bc +; RUN: llvm-upgrade < %s | llvm-as -f -o %t1.bc +; RUN: llvm-upgrade < `dirname %s`/2004-05-07-TypeResolution2.ll | \ +; RUN: llvm-as -o %t2.bc -f ; RUN: llvm-link -f -o %t3.bc %t1.bc %t2.bc target endian = little Index: llvm/test/Regression/Linker/AppendingLinkage.ll diff -u llvm/test/Regression/Linker/AppendingLinkage.ll:1.4 llvm/test/Regression/Linker/AppendingLinkage.ll:1.5 --- llvm/test/Regression/Linker/AppendingLinkage.ll:1.4 Mon Sep 15 15:04:28 2003 +++ llvm/test/Regression/Linker/AppendingLinkage.ll Fri Dec 29 14:01:32 2006 @@ -1,7 +1,8 @@ ; Test that appending linkage works correctly. -; RUN: echo "%X = appending global [1x int] [int 8]" | llvm-as > %t.2.bc -; RUN: llvm-as < %s > %t.1.bc +; RUN: echo "%X = appending global [1x int] [int 8]" | llvm-upgrade | \ +; RUN: llvm-as > %t.2.bc +; RUN: llvm-upgrade < %s | llvm-as > %t.1.bc ; RUN: llvm-link %t.[12].bc | llvm-dis | grep 7 | grep 4 | grep 8 %X = appending global [2 x int] [int 7, int 4] Index: llvm/test/Regression/Linker/testlink1.ll diff -u llvm/test/Regression/Linker/testlink1.ll:1.13 llvm/test/Regression/Linker/testlink1.ll:1.14 --- llvm/test/Regression/Linker/testlink1.ll:1.13 Fri Dec 15 11:34:37 2006 +++ llvm/test/Regression/Linker/testlink1.ll Fri Dec 29 14:01:32 2006 @@ -1,5 +1,5 @@ -; RUN: llvm-as < %s > %t.bc -; RUN: llvm-as < `dirname %s`/testlink2.ll > %t2.bc +; RUN: llvm-upgrade < %s | llvm-as > %t.bc +; RUN: llvm-upgrade < `dirname %s`/testlink2.ll | llvm-as > %t2.bc ; RUN: llvm-link %t.bc %t2.bc %MyVar = external global int From reid at x10sys.com Fri Dec 29 14:02:27 2006 From: reid at x10sys.com (Reid Spencer) Date: Fri, 29 Dec 2006 14:02:27 -0600 Subject: [llvm-commits] CVS: llvm/test/Regression/CodeGen/X86/2006-12-19-IntelSyntax.ll bitcast.ll packed_struct.ll vec_ins_extract.ll x86-64-asm.ll Message-ID: <200612292002.kBTK2RYE004136@zion.cs.uiuc.edu> Changes in directory llvm/test/Regression/CodeGen/X86: 2006-12-19-IntelSyntax.ll updated: 1.1 -> 1.2 bitcast.ll updated: 1.1 -> 1.2 packed_struct.ll updated: 1.1 -> 1.2 vec_ins_extract.ll updated: 1.2 -> 1.3 x86-64-asm.ll updated: 1.1 -> 1.2 --- Log message: Update tests that need to be run through llvm-upgrade. This is necessary for upcoming changes to the llvm assembly grammar. --- Diffs of the changes: (+14 -12) 2006-12-19-IntelSyntax.ll | 2 +- bitcast.ll | 6 +++--- packed_struct.ll | 10 +++++----- vec_ins_extract.ll | 6 ++++-- x86-64-asm.ll | 2 +- 5 files changed, 14 insertions(+), 12 deletions(-) Index: llvm/test/Regression/CodeGen/X86/2006-12-19-IntelSyntax.ll diff -u llvm/test/Regression/CodeGen/X86/2006-12-19-IntelSyntax.ll:1.1 llvm/test/Regression/CodeGen/X86/2006-12-19-IntelSyntax.ll:1.2 --- llvm/test/Regression/CodeGen/X86/2006-12-19-IntelSyntax.ll:1.1 Tue Dec 19 13:29:50 2006 +++ llvm/test/Regression/CodeGen/X86/2006-12-19-IntelSyntax.ll Fri Dec 29 14:01:32 2006 @@ -1,4 +1,4 @@ -; RUN: llvm-as < %s | llc -march=x86 -x86-asm-syntax=intel +; RUN: llvm-upgrade < %s | llvm-as | llc -march=x86 -x86-asm-syntax=intel ; PR1061 target datalayout = "e-p:32:32" Index: llvm/test/Regression/CodeGen/X86/bitcast.ll diff -u llvm/test/Regression/CodeGen/X86/bitcast.ll:1.1 llvm/test/Regression/CodeGen/X86/bitcast.ll:1.2 --- llvm/test/Regression/CodeGen/X86/bitcast.ll:1.1 Tue Dec 5 12:21:52 2006 +++ llvm/test/Regression/CodeGen/X86/bitcast.ll Fri Dec 29 14:01:32 2006 @@ -1,6 +1,6 @@ -; RUN: llvm-as < %s | llc && -; RUN: llvm-as < %s | llc -march=x86 && -; RUN: llvm-as < %s | llc -march=x86-64 +; RUN: llvm-upgrade < %s | llvm-as | llc && +; RUN: llvm-upgrade < %s | llvm-as | llc -march=x86 && +; RUN: llvm-upgrade < %s | llvm-as | llc -march=x86-64 ; PR1033 long %test1(double %t) { Index: llvm/test/Regression/CodeGen/X86/packed_struct.ll diff -u llvm/test/Regression/CodeGen/X86/packed_struct.ll:1.1 llvm/test/Regression/CodeGen/X86/packed_struct.ll:1.2 --- llvm/test/Regression/CodeGen/X86/packed_struct.ll:1.1 Fri Dec 8 12:54:15 2006 +++ llvm/test/Regression/CodeGen/X86/packed_struct.ll Fri Dec 29 14:01:32 2006 @@ -1,8 +1,8 @@ -; RUN: llvm-as < %s | llc -march=x86 |grep "foos+5" && -; RUN: llvm-as < %s | llc -march=x86 |grep "foos+1" && -; RUN: llvm-as < %s | llc -march=x86 |grep "foos+9" && -; RUN: llvm-as < %s | llc -march=x86 |grep "bara+19" && -; RUN: llvm-as < %s | llc -march=x86 |grep "bara+4" +; RUN: llvm-upgrade < %s | llvm-as | llc -march=x86 |grep "foos+5" && +; RUN: llvm-upgrade < %s | llvm-as | llc -march=x86 |grep "foos+1" && +; RUN: llvm-upgrade < %s | llvm-as | llc -march=x86 |grep "foos+9" && +; RUN: llvm-upgrade < %s | llvm-as | llc -march=x86 |grep "bara+19" && +; RUN: llvm-upgrade < %s | llvm-as | llc -march=x86 |grep "bara+4" ; make sure we compute the correct offset for a packed structure Index: llvm/test/Regression/CodeGen/X86/vec_ins_extract.ll diff -u llvm/test/Regression/CodeGen/X86/vec_ins_extract.ll:1.2 llvm/test/Regression/CodeGen/X86/vec_ins_extract.ll:1.3 --- llvm/test/Regression/CodeGen/X86/vec_ins_extract.ll:1.2 Sun Dec 10 19:03:32 2006 +++ llvm/test/Regression/CodeGen/X86/vec_ins_extract.ll Fri Dec 29 14:01:32 2006 @@ -1,5 +1,7 @@ -; RUN: llvm-as< %s | opt -scalarrepl -instcombine | llc -march=x86 -mcpu=yonah && -; RUN: llvm-as< %s | opt -scalarrepl -instcombine | llc -march=x86 -mcpu=yonah | not grep sub.*esp +; RUN: llvm-upgrade < %s | llvm-as | opt -scalarrepl -instcombine | \ +; RUN: llc -march=x86 -mcpu=yonah && +; RUN: llvm-upgrade < %s | llvm-as | opt -scalarrepl -instcombine | \ +; RUN: llc -march=x86 -mcpu=yonah | not grep sub.*esp ; This checks that various insert/extract idiom work without going to the ; stack. Index: llvm/test/Regression/CodeGen/X86/x86-64-asm.ll diff -u llvm/test/Regression/CodeGen/X86/x86-64-asm.ll:1.1 llvm/test/Regression/CodeGen/X86/x86-64-asm.ll:1.2 --- llvm/test/Regression/CodeGen/X86/x86-64-asm.ll:1.1 Mon Dec 4 16:37:48 2006 +++ llvm/test/Regression/CodeGen/X86/x86-64-asm.ll Fri Dec 29 14:01:32 2006 @@ -1,4 +1,4 @@ -; RUN: llvm-as < %s | llc +; RUN: llvm-upgrade < %s | llvm-as | llc ; PR1029 target datalayout = "e-p:64:64" From reid at x10sys.com Fri Dec 29 14:02:26 2006 From: reid at x10sys.com (Reid Spencer) Date: Fri, 29 Dec 2006 14:02:26 -0600 Subject: [llvm-commits] CVS: llvm/test/Regression/BugPoint/crash-basictest.ll crash-narrowfunctiontest.ll misopt-basictest.ll remove_arguments_test.ll Message-ID: <200612292002.kBTK2QSb004104@zion.cs.uiuc.edu> Changes in directory llvm/test/Regression/BugPoint: crash-basictest.ll updated: 1.1 -> 1.2 crash-narrowfunctiontest.ll updated: 1.1 -> 1.2 misopt-basictest.ll updated: 1.3 -> 1.4 remove_arguments_test.ll updated: 1.1 -> 1.2 --- Log message: Update tests that need to be run through llvm-upgrade. This is necessary for upcoming changes to the llvm assembly grammar. --- Diffs of the changes: (+9 -6) crash-basictest.ll | 4 +++- crash-narrowfunctiontest.ll | 3 ++- misopt-basictest.ll | 5 ++--- remove_arguments_test.ll | 3 ++- 4 files changed, 9 insertions(+), 6 deletions(-) Index: llvm/test/Regression/BugPoint/crash-basictest.ll diff -u llvm/test/Regression/BugPoint/crash-basictest.ll:1.1 llvm/test/Regression/BugPoint/crash-basictest.ll:1.2 --- llvm/test/Regression/BugPoint/crash-basictest.ll:1.1 Wed Nov 20 16:30:02 2002 +++ llvm/test/Regression/BugPoint/crash-basictest.ll Fri Dec 29 14:01:32 2006 @@ -1,5 +1,7 @@ ; Basic test for bugpoint. -; RUN: bugpoint %s -domset -idom -domset -bugpoint-crashcalls -domset -idom -domset +; RUN: llvm-upgrade < %s > %t1.ll +; RUN: bugpoint %t1.ll -domset -idom -domset -bugpoint-crashcalls \ +; RUN: -domset -idom -domset int %test() { call int %test() Index: llvm/test/Regression/BugPoint/crash-narrowfunctiontest.ll diff -u llvm/test/Regression/BugPoint/crash-narrowfunctiontest.ll:1.1 llvm/test/Regression/BugPoint/crash-narrowfunctiontest.ll:1.2 --- llvm/test/Regression/BugPoint/crash-narrowfunctiontest.ll:1.1 Wed Nov 20 16:30:02 2002 +++ llvm/test/Regression/BugPoint/crash-narrowfunctiontest.ll Fri Dec 29 14:01:32 2006 @@ -1,6 +1,7 @@ ; Test that bugpoint can narrow down the testcase to the important function ; -; RUN: bugpoint %s -bugpoint-crashcalls +; RUN: llvm-upgrade < %s > %t1.ll +; RUN: bugpoint %t1.ll -bugpoint-crashcalls int %foo() { ret int 1 } Index: llvm/test/Regression/BugPoint/misopt-basictest.ll diff -u llvm/test/Regression/BugPoint/misopt-basictest.ll:1.3 llvm/test/Regression/BugPoint/misopt-basictest.ll:1.4 --- llvm/test/Regression/BugPoint/misopt-basictest.ll:1.3 Mon Oct 27 11:46:42 2003 +++ llvm/test/Regression/BugPoint/misopt-basictest.ll Fri Dec 29 14:01:32 2006 @@ -1,6 +1,5 @@ -; RUN: PATH=/usr/bin:/bin/:${PATH} -; RUN: export PATH -; RUN: bugpoint %s -dce -bugpoint-deletecalls -simplifycfg +; RUN: llvm-upgrade < %s > %t1.ll +; RUN: bugpoint %t1.ll -dce -bugpoint-deletecalls -simplifycfg %.LC0 = internal global [13 x sbyte] c"Hello World\0A\00" Index: llvm/test/Regression/BugPoint/remove_arguments_test.ll diff -u llvm/test/Regression/BugPoint/remove_arguments_test.ll:1.1 llvm/test/Regression/BugPoint/remove_arguments_test.ll:1.2 --- llvm/test/Regression/BugPoint/remove_arguments_test.ll:1.1 Tue Jun 24 18:40:27 2003 +++ llvm/test/Regression/BugPoint/remove_arguments_test.ll Fri Dec 29 14:01:32 2006 @@ -1,4 +1,5 @@ -; RUN: bugpoint %s -bugpoint-crashcalls +; RUN: llvm-upgrade < %s > %t1.ll +; RUN: bugpoint %t1.ll -bugpoint-crashcalls ; Test to make sure that arguments are removed from the function if they are unnecessary. From reid at x10sys.com Fri Dec 29 14:35:18 2006 From: reid at x10sys.com (Reid Spencer) Date: Fri, 29 Dec 2006 14:35:18 -0600 Subject: [llvm-commits] CVS: llvm/tools/llvm-upgrade/UpgradeLexer.cpp UpgradeLexer.cpp.cvs UpgradeLexer.l.cvs UpgradeParser.cpp UpgradeParser.cpp.cvs UpgradeParser.h UpgradeParser.h.cvs UpgradeParser.y.cvs Message-ID: <200612292035.kBTKZIcu004891@zion.cs.uiuc.edu> Changes in directory llvm/tools/llvm-upgrade: UpgradeLexer.cpp updated: 1.10 -> 1.11 UpgradeLexer.cpp.cvs updated: 1.9 -> 1.10 UpgradeLexer.l.cvs updated: 1.9 -> 1.10 UpgradeParser.cpp updated: 1.27 -> 1.28 UpgradeParser.cpp.cvs updated: 1.25 -> 1.26 UpgradeParser.h updated: 1.20 -> 1.21 UpgradeParser.h.cvs updated: 1.18 -> 1.19 UpgradeParser.y.cvs updated: 1.24 -> 1.25 --- Log message: Regenerate. --- Diffs of the changes: (+4598 -4449) UpgradeLexer.cpp | 1512 +++++++++++++++--------------- UpgradeLexer.cpp.cvs | 1512 +++++++++++++++--------------- UpgradeLexer.l.cvs | 1 UpgradeParser.cpp | 2489 +++++++++++++++++++++++++------------------------- UpgradeParser.cpp.cvs | 2489 +++++++++++++++++++++++++------------------------- UpgradeParser.h | 470 ++++----- UpgradeParser.h.cvs | 470 ++++----- UpgradeParser.y.cvs | 104 +- 8 files changed, 4598 insertions(+), 4449 deletions(-) Index: llvm/tools/llvm-upgrade/UpgradeLexer.cpp diff -u llvm/tools/llvm-upgrade/UpgradeLexer.cpp:1.10 llvm/tools/llvm-upgrade/UpgradeLexer.cpp:1.11 --- llvm/tools/llvm-upgrade/UpgradeLexer.cpp:1.10 Sat Dec 2 16:14:11 2006 +++ llvm/tools/llvm-upgrade/UpgradeLexer.cpp Fri Dec 29 14:35:03 2006 @@ -20,7 +20,7 @@ /* A lexical scanner generated by flex*/ /* Scanner skeleton version: - * $Header: /var/cvs/llvm/llvm/tools/llvm-upgrade/UpgradeLexer.cpp,v 1.10 2006/12/02 22:14:11 reid Exp $ + * $Header: /var/cvs/llvm/llvm/tools/llvm-upgrade/UpgradeLexer.cpp,v 1.11 2006/12/29 20:35:03 reid Exp $ */ #define FLEX_SCANNER @@ -317,38 +317,39 @@ *yy_cp = '\0'; \ yy_c_buf_p = yy_cp; -#define YY_NUM_RULES 153 -#define YY_END_OF_BUFFER 154 -static yyconst short int yy_acclist[231] = +#define YY_NUM_RULES 154 +#define YY_END_OF_BUFFER 155 +static yyconst short int yy_acclist[232] = { 0, - 154, 152, 153, 151, 152, 153, 151, 153, 152, 153, - 152, 153, 152, 153, 152, 153, 152, 153, 152, 153, - 144, 152, 153, 144, 152, 153, 1, 152, 153, 152, - 153, 152, 153, 152, 153, 152, 153, 152, 153, 152, - 153, 152, 153, 152, 153, 152, 153, 152, 153, 152, - 153, 152, 153, 152, 153, 152, 153, 152, 153, 152, - 153, 152, 153, 152, 153, 152, 153, 152, 153, 152, - 153, 143, 141, 140, 140, 147, 145, 149, 144, 1, - 125, 39, 83, 84, 73, 23, 143, 140, 140, 148, - 149, 20, 149, 150, 61, 72, 37, 32, 40, 64, - - 3, 52, 63, 89, 94, 92, 93, 91, 90, 95, - 103, 68, 124, 88, 86, 119, 120, 87, 85, 62, - 97, 102, 100, 101, 99, 98, 96, 74, 142, 149, - 149, 121, 47, 104, 105, 82, 67, 133, 71, 81, - 134, 54, 122, 22, 146, 66, 108, 70, 24, 4, - 60, 65, 53, 69, 46, 11, 107, 149, 34, 2, - 5, 56, 110, 58, 48, 76, 80, 78, 79, 77, - 75, 50, 135, 106, 49, 55, 21, 132, 43, 57, - 28, 129, 42, 112, 111, 7, 127, 31, 131, 36, - 59, 118, 114, 126, 25, 26, 113, 128, 51, 123, - - 117, 41, 6, 27, 109, 35, 8, 16, 9, 116, - 10, 115, 33, 12, 14, 13, 30, 38, 15, 29, - 130, 136, 138, 139, 17, 44, 137, 18, 45, 19 + 155, 153, 154, 152, 153, 154, 152, 154, 153, 154, + 153, 154, 153, 154, 153, 154, 153, 154, 153, 154, + 145, 153, 154, 145, 153, 154, 1, 153, 154, 153, + 154, 153, 154, 153, 154, 153, 154, 153, 154, 153, + 154, 153, 154, 153, 154, 153, 154, 153, 154, 153, + 154, 153, 154, 153, 154, 153, 154, 153, 154, 153, + 154, 153, 154, 153, 154, 153, 154, 153, 154, 153, + 154, 144, 142, 141, 141, 148, 146, 150, 145, 1, + 126, 40, 84, 85, 74, 24, 144, 141, 141, 149, + 150, 21, 150, 151, 62, 73, 38, 33, 41, 65, + + 3, 53, 64, 90, 95, 93, 94, 92, 91, 96, + 104, 69, 125, 89, 87, 120, 121, 88, 86, 63, + 98, 103, 101, 102, 100, 99, 97, 75, 143, 150, + 150, 122, 48, 105, 106, 83, 68, 134, 72, 82, + 135, 55, 123, 23, 147, 67, 109, 71, 25, 4, + 61, 66, 54, 70, 47, 12, 108, 150, 35, 2, + 5, 57, 111, 59, 49, 77, 81, 79, 80, 78, + 76, 51, 136, 107, 50, 56, 22, 133, 44, 7, + 58, 29, 130, 43, 113, 112, 8, 128, 32, 132, + 37, 60, 119, 115, 127, 26, 27, 114, 129, 52, + + 124, 118, 42, 6, 28, 110, 36, 9, 17, 10, + 117, 11, 116, 34, 13, 15, 14, 31, 39, 16, + 30, 131, 137, 139, 140, 18, 45, 138, 19, 46, + 20 } ; -static yyconst short int yy_accept[602] = +static yyconst short int yy_accept[606] = { 0, 1, 1, 1, 2, 4, 7, 9, 11, 13, 15, 17, 19, 21, 24, 27, 30, 32, 34, 36, 38, @@ -367,56 +368,56 @@ 87, 87, 87, 88, 89, 91, 92, 93, 94, 94, 95, 96, 96, 96, 97, 97, 97, 98, 98, 99, 99, 99, 99, 99, 100, 100, 100, 100, 100, 100, - 100, 101, 101, 101, 102, 102, 102, 102, 102, 102, + 100, 100, 101, 101, 101, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, - 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, - 104, 104, 105, 106, 107, 108, 109, 110, 110, 111, + 102, 103, 103, 103, 103, 103, 103, 103, 103, 103, + 103, 104, 104, 105, 106, 107, 108, 109, 110, 110, - 112, 112, 112, 113, 114, 114, 114, 114, 114, 114, - 114, 114, 115, 116, 117, 117, 118, 118, 118, 118, - 119, 120, 120, 120, 121, 121, 121, 121, 121, 121, - 121, 121, 121, 122, 123, 124, 124, 124, 125, 125, - 126, 126, 127, 127, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 129, 129, 129, 130, 131, 131, - 131, 131, 132, 132, 132, 132, 133, 133, 133, 134, - 135, 136, 136, 136, 136, 136, 136, 136, 136, 136, - 136, 136, 136, 136, 136, 136, 136, 137, 138, 138, - 138, 138, 138, 139, 140, 140, 140, 141, 141, 141, - - 141, 141, 141, 141, 141, 141, 142, 143, 144, 144, - 144, 145, 145, 145, 145, 146, 146, 147, 147, 147, - 147, 147, 147, 147, 148, 148, 148, 148, 148, 149, - 149, 149, 150, 150, 150, 151, 151, 152, 152, 153, - 154, 154, 154, 154, 154, 154, 154, 155, 155, 155, - 156, 156, 157, 157, 157, 158, 159, 160, 160, 160, - 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, - 161, 161, 161, 161, 161, 162, 162, 163, 164, 164, - 164, 164, 164, 164, 164, 164, 164, 164, 164, 165, - 165, 165, 165, 165, 165, 165, 165, 166, 166, 166, - - 167, 168, 169, 170, 171, 172, 173, 173, 173, 173, - 174, 174, 174, 174, 175, 176, 176, 177, 178, 178, - 178, 178, 178, 178, 178, 178, 178, 178, 179, 179, - 179, 180, 180, 180, 180, 180, 180, 180, 180, 181, - 182, 183, 183, 183, 184, 185, 186, 186, 186, 187, - 187, 187, 187, 187, 188, 188, 189, 190, 191, 192, - 192, 192, 192, 193, 193, 193, 194, 195, 196, 197, - 198, 198, 198, 199, 200, 201, 201, 201, 201, 201, - 201, 202, 202, 203, 203, 204, 205, 205, 205, 205, - 205, 205, 206, 206, 206, 206, 206, 206, 206, 206, - - 206, 207, 207, 207, 207, 207, 207, 207, 207, 207, - 207, 208, 208, 208, 208, 208, 209, 209, 209, 209, - 209, 210, 211, 212, 212, 213, 213, 213, 213, 213, - 214, 214, 214, 214, 215, 215, 216, 217, 217, 217, - 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, - 217, 218, 218, 218, 218, 218, 218, 218, 218, 219, - 219, 219, 219, 219, 219, 220, 220, 220, 220, 220, - 221, 221, 221, 222, 222, 222, 222, 222, 222, 222, - 222, 222, 222, 222, 222, 222, 222, 223, 223, 224, - 225, 226, 226, 227, 227, 228, 229, 230, 230, 231, + 111, 112, 112, 112, 113, 114, 114, 114, 114, 114, + 114, 114, 114, 115, 116, 117, 117, 118, 118, 118, + 118, 119, 120, 120, 120, 121, 121, 121, 121, 121, + 121, 121, 121, 121, 122, 123, 124, 124, 124, 125, + 125, 126, 126, 127, 127, 128, 128, 128, 128, 128, + 128, 128, 128, 128, 128, 129, 129, 129, 130, 131, + 131, 131, 131, 132, 132, 132, 132, 133, 133, 133, + 134, 135, 136, 136, 136, 136, 136, 136, 136, 136, + 136, 136, 136, 136, 136, 136, 136, 136, 136, 137, + 138, 138, 138, 138, 138, 139, 140, 140, 140, 141, + + 141, 141, 141, 141, 141, 141, 141, 141, 142, 143, + 144, 144, 144, 145, 145, 145, 145, 146, 146, 147, + 147, 147, 147, 147, 147, 147, 148, 148, 148, 148, + 148, 149, 149, 149, 150, 150, 150, 151, 151, 152, + 152, 153, 154, 154, 154, 154, 154, 154, 154, 155, + 155, 155, 156, 156, 157, 157, 157, 158, 159, 160, + 160, 160, 161, 161, 161, 161, 161, 161, 161, 161, + 161, 161, 161, 161, 161, 161, 161, 161, 162, 162, + 163, 164, 164, 164, 164, 164, 164, 164, 164, 164, + 164, 164, 165, 165, 165, 165, 165, 165, 165, 165, + + 166, 166, 166, 167, 168, 169, 170, 171, 172, 173, + 173, 173, 173, 174, 174, 174, 174, 175, 176, 176, + 177, 178, 178, 178, 178, 178, 178, 178, 178, 178, + 178, 179, 179, 179, 180, 180, 180, 180, 180, 181, + 181, 181, 181, 182, 183, 184, 184, 184, 185, 186, + 187, 187, 187, 188, 188, 188, 188, 188, 189, 189, + 190, 191, 192, 193, 193, 193, 193, 194, 194, 194, + 195, 196, 197, 198, 199, 199, 199, 200, 201, 202, + 202, 202, 202, 202, 202, 203, 203, 204, 204, 205, + 206, 206, 206, 206, 206, 206, 207, 207, 207, 207, + + 207, 207, 207, 207, 207, 208, 208, 208, 208, 208, + 208, 208, 208, 208, 208, 209, 209, 209, 209, 209, + 210, 210, 210, 210, 210, 211, 212, 213, 213, 214, + 214, 214, 214, 214, 215, 215, 215, 215, 216, 216, + 217, 218, 218, 218, 218, 218, 218, 218, 218, 218, + 218, 218, 218, 218, 218, 219, 219, 219, 219, 219, + 219, 219, 219, 220, 220, 220, 220, 220, 220, 221, + 221, 221, 221, 221, 222, 222, 222, 223, 223, 223, + 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, + 223, 224, 224, 225, 226, 227, 227, 228, 228, 229, - 231 + 230, 231, 231, 232, 232 } ; static yyconst int yy_ec[256] = @@ -460,149 +461,149 @@ 3, 3, 3 } ; -static yyconst short int yy_base[606] = +static yyconst short int yy_base[610] = { 0, - 0, 0, 1290, 1291, 1291, 1291, 1285, 1274, 36, 40, + 0, 0, 1298, 1299, 1299, 1299, 1293, 1282, 36, 40, 44, 50, 56, 62, 0, 63, 66, 81, 89, 47, 108, 91, 105, 96, 119, 68, 144, 128, 111, 170, - 136, 201, 130, 117, 132, 125, 1283, 1291, 1272, 1291, + 136, 201, 130, 117, 132, 125, 1291, 1299, 1280, 1299, 0, 175, 190, 207, 229, 70, 234, 249, 254, 0, - 139, 145, 167, 76, 168, 138, 255, 31, 1271, 177, - 90, 198, 48, 110, 258, 195, 221, 211, 200, 1270, + 139, 145, 167, 76, 168, 138, 255, 31, 1279, 177, + 90, 198, 48, 110, 258, 195, 221, 211, 200, 1278, 267, 269, 270, 156, 271, 272, 273, 217, 275, 276, - 219, 279, 288, 280, 300, 287, 268, 298, 296, 1269, - 307, 73, 309, 310, 312, 308, 315, 314, 316, 320, + 219, 279, 288, 280, 300, 287, 283, 306, 296, 1277, + 307, 73, 309, 310, 312, 308, 315, 316, 324, 320, - 324, 325, 162, 326, 328, 336, 342, 330, 349, 337, - 344, 348, 356, 361, 1268, 364, 331, 365, 367, 370, - 375, 368, 378, 402, 383, 394, 395, 403, 371, 241, - 379, 386, 1267, 0, 428, 433, 1266, 447, 464, 0, - 1265, 397, 404, 1264, 405, 412, 1263, 421, 1262, 441, - 437, 438, 417, 1261, 373, 449, 459, 465, 439, 451, - 1260, 467, 469, 472, 473, 474, 455, 478, 479, 481, - 484, 486, 487, 488, 490, 494, 491, 492, 493, 503, - 496, 509, 511, 515, 516, 517, 519, 520, 521, 1259, - 522, 1258, 1257, 1256, 1255, 1254, 1253, 389, 1252, 1251, - - 527, 523, 1250, 1249, 551, 529, 530, 539, 532, 563, - 542, 1248, 1247, 1246, 543, 1245, 142, 566, 533, 1244, - 1243, 419, 567, 1242, 568, 569, 570, 571, 576, 573, - 577, 579, 1241, 1240, 1239, 583, 587, 1238, 586, 1237, - 589, 1236, 592, 1235, 599, 594, 595, 596, 531, 602, - 612, 601, 616, 1234, 613, 618, 1291, 625, 639, 646, - 650, 655, 639, 619, 640, 1233, 658, 625, 1232, 1231, - 1230, 659, 660, 661, 662, 663, 665, 664, 669, 667, - 671, 670, 672, 674, 681, 673, 1229, 1228, 686, 687, - 692, 688, 1227, 1226, 696, 694, 1225, 695, 697, 698, - - 702, 701, 706, 705, 707, 1224, 1223, 1222, 708, 713, - 1221, 700, 717, 725, 0, 727, 1220, 729, 730, 731, - 732, 735, 738, 1219, 733, 739, 745, 750, 1218, 748, - 746, 1217, 752, 759, 1216, 762, 1215, 763, 1214, 1213, - 765, 766, 768, 767, 771, 764, 1212, 770, 773, 1211, - 779, 1210, 782, 783, 1209, 788, 1208, 788, 789, 1207, - 790, 798, 795, 799, 803, 801, 807, 809, 810, 811, - 814, 815, 816, 817, 1206, 818, 1205, 1204, 819, 821, - 823, 826, 827, 830, 836, 837, 839, 841, 1203, 843, - 844, 845, 847, 848, 855, 849, 1202, 851, 861, 1201, - - 1200, 1199, 1198, 1197, 1196, 1195, 863, 865, 866, 1194, - 867, 868, 871, 1193, 1192, 870, 1191, 1190, 872, 874, - 882, 873, 876, 886, 883, 877, 892, 1189, 893, 894, - 1188, 897, 898, 901, 902, 903, 904, 908, 1187, 1186, - 1185, 915, 907, 1184, 1183, 1182, 916, 912, 1181, 918, - 924, 931, 921, 1180, 932, 1179, 1178, 1177, 1176, 913, - 935, 937, 1175, 938, 940, 1174, 1173, 1172, 1171, 1170, - 942, 941, 1169, 1168, 1167, 943, 945, 948, 946, 949, - 1166, 951, 1165, 957, 1164, 1163, 960, 961, 46, 962, - 963, 1162, 964, 968, 965, 969, 970, 978, 971, 976, - - 1161, 979, 983, 989, 990, 988, 986, 996, 998, 1000, - 1160, 1001, 1005, 1006, 1007, 1159, 1002, 1010, 1008, 1013, - 1158, 1155, 1146, 1019, 1144, 1014, 1026, 1015, 1012, 1143, - 1034, 1035, 1024, 1142, 1020, 1141, 1139, 1039, 1036, 1038, - 1042, 1046, 1048, 1049, 1050, 1051, 1052, 1053, 1054, 1055, - 1138, 1057, 1059, 1063, 1065, 1070, 1072, 1066, 1137, 1068, - 1074, 1076, 1078, 1080, 1136, 1085, 1084, 1086, 1087, 1133, - 1090, 1092, 1132, 1096, 1098, 1100, 1102, 1103, 1109, 1106, - 1110, 1112, 1114, 1115, 1116, 1117, 1128, 1118, 910, 734, - 703, 1123, 629, 1125, 627, 597, 534, 1126, 334, 1291, + 326, 325, 162, 327, 328, 330, 344, 338, 347, 336, + 348, 354, 350, 358, 1276, 364, 357, 367, 369, 372, + 374, 373, 375, 399, 378, 389, 381, 391, 400, 241, + 394, 402, 1275, 0, 434, 438, 1274, 452, 469, 0, + 1273, 403, 409, 1272, 410, 418, 1271, 411, 1270, 421, + 438, 442, 422, 1269, 446, 456, 464, 470, 443, 413, + 444, 1268, 471, 380, 472, 474, 477, 460, 476, 481, + 479, 487, 488, 489, 493, 494, 490, 495, 491, 508, + 511, 501, 512, 513, 505, 516, 518, 522, 523, 416, + 1267, 525, 1266, 1265, 1264, 1263, 1262, 1261, 526, 1260, + + 1259, 530, 531, 1258, 1257, 559, 536, 535, 548, 532, + 563, 550, 1256, 1255, 1254, 549, 1253, 142, 533, 575, + 1252, 1251, 537, 576, 1250, 577, 579, 581, 582, 586, + 587, 583, 584, 1249, 1248, 1247, 585, 589, 1246, 588, + 1245, 590, 1244, 598, 1243, 602, 539, 604, 610, 612, + 613, 614, 616, 618, 1242, 623, 624, 1299, 635, 652, + 656, 660, 665, 625, 544, 626, 1241, 666, 635, 1240, + 1239, 1238, 629, 667, 668, 669, 670, 671, 672, 673, + 676, 674, 677, 678, 680, 681, 687, 695, 1237, 1236, + 693, 694, 698, 679, 1235, 1234, 699, 704, 1233, 706, + + 705, 707, 711, 710, 708, 712, 718, 1232, 1231, 1230, + 713, 719, 1229, 721, 725, 732, 0, 727, 1228, 738, + 735, 737, 740, 743, 744, 1227, 739, 627, 746, 754, + 1226, 747, 758, 1225, 759, 760, 1224, 767, 1223, 761, + 1222, 1221, 769, 771, 773, 772, 776, 777, 1220, 778, + 780, 1219, 784, 1218, 786, 787, 1217, 792, 1216, 792, + 795, 1215, 793, 798, 804, 806, 811, 802, 810, 812, + 814, 817, 820, 821, 822, 824, 825, 1214, 827, 1213, + 1212, 826, 830, 831, 828, 835, 840, 842, 844, 847, + 846, 1211, 851, 849, 852, 853, 854, 860, 857, 1210, + + 864, 867, 1209, 1208, 1207, 1206, 1205, 1204, 1203, 871, + 873, 872, 1202, 875, 874, 876, 1201, 1200, 877, 1199, + 1198, 878, 881, 884, 879, 889, 880, 894, 895, 898, + 1197, 903, 904, 1196, 905, 906, 907, 908, 1195, 909, + 910, 911, 1194, 1193, 1192, 919, 914, 1191, 1190, 1189, + 925, 920, 1188, 912, 930, 933, 926, 1187, 934, 1186, + 1185, 1184, 1183, 940, 942, 943, 1182, 944, 945, 1181, + 1180, 1179, 1178, 1177, 950, 946, 1176, 1175, 1174, 947, + 948, 956, 952, 951, 1173, 954, 1172, 957, 1171, 1170, + 966, 967, 46, 969, 971, 1169, 972, 973, 974, 976, + + 978, 983, 979, 982, 1168, 985, 986, 993, 997, 994, + 996, 1000, 1004, 1006, 1167, 1008, 1011, 1012, 1009, 1166, + 1013, 1014, 1015, 1016, 1165, 1164, 1161, 1020, 1152, 1021, + 1022, 1024, 1036, 1150, 1037, 1040, 1041, 1149, 1023, 1148, + 1147, 1043, 1047, 1026, 1050, 1051, 1052, 1053, 1057, 1058, + 1059, 1061, 1062, 1063, 1145, 1064, 1069, 1065, 1070, 1073, + 1079, 1072, 1144, 1075, 1083, 1076, 1086, 1087, 1143, 1089, + 1090, 1094, 1097, 1140, 1099, 1096, 1139, 1100, 1103, 1106, + 1108, 1109, 1111, 1112, 1116, 1118, 1120, 1121, 1122, 1123, + 1136, 1124, 1134, 741, 639, 1131, 591, 1133, 545, 497, - 1161, 1163, 296, 1167, 253 + 334, 1132, 331, 1299, 1167, 1169, 296, 1173, 253 } ; -static yyconst short int yy_def[606] = +static yyconst short int yy_def[610] = { 0, - 600, 1, 600, 600, 600, 600, 601, 602, 603, 600, - 602, 602, 602, 602, 604, 602, 602, 602, 602, 602, - 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, - 602, 602, 602, 602, 602, 602, 601, 600, 602, 600, - 605, 605, 600, 600, 602, 602, 602, 602, 602, 604, - 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, - 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, - 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, - 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, - 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, - - 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, - 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, - 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, - 602, 602, 600, 605, 605, 600, 602, 602, 602, 49, - 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, - 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, - 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, - 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, - 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, - 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, - - 602, 602, 602, 602, 49, 602, 602, 602, 602, 602, - 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, - 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, - 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, - 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, - 602, 602, 602, 602, 602, 602, 600, 600, 600, 600, - 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, - 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, - 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, - 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, - - 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, - 602, 602, 602, 602, 205, 602, 602, 602, 602, 602, - 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, - 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, - 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, - 602, 602, 602, 602, 602, 600, 602, 602, 602, 602, - 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, - 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, - 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, - 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, - - 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, - 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, - 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, - 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, - 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, - 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, - 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, - 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, - 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, - 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, - - 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, - 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, - 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, - 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, - 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, - 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, - 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, - 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, - 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, - 602, 602, 602, 602, 602, 602, 602, 602, 602, 0, + 604, 1, 604, 604, 604, 604, 605, 606, 607, 604, + 606, 606, 606, 606, 608, 606, 606, 606, 606, 606, + 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, + 606, 606, 606, 606, 606, 606, 605, 604, 606, 604, + 609, 609, 604, 604, 606, 606, 606, 606, 606, 608, + 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, + 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, + 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, + 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, + 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, + + 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, + 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, + 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, + 606, 606, 604, 609, 609, 604, 606, 606, 606, 49, + 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, + 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, + 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, + 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, + 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, + 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, + + 606, 606, 606, 606, 606, 49, 606, 606, 606, 606, + 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, + 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, + 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, + 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, + 606, 606, 606, 606, 606, 606, 606, 604, 604, 604, + 604, 606, 606, 606, 606, 606, 606, 606, 606, 606, + 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, + 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, + 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, + + 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, + 606, 606, 606, 606, 606, 606, 206, 606, 606, 606, + 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, + 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, + 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, + 606, 606, 606, 606, 606, 606, 606, 604, 606, 606, + 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, + 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, + 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, + 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, + + 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, + 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, + 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, + 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, + 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, + 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, + 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, + 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, + 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, + 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, + + 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, + 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, + 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, + 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, + 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, + 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, + 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, + 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, + 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, + 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, - 600, 600, 600, 600, 600 + 606, 606, 606, 0, 604, 604, 604, 604, 604 } ; -static yyconst short int yy_nxt[1335] = +static yyconst short int yy_nxt[1343] = { 0, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 14, 14, 4, 15, 8, 8, 8, 16, 17, @@ -612,127 +613,127 @@ 44, 44, 44, 45, 45, 45, 45, 40, 46, 40, 40, 40, 151, 40, 47, 48, 48, 48, 48, 40, 47, 48, 48, 48, 48, 40, 40, 69, 137, 40, - 70, 40, 157, 40, 51, 515, 40, 71, 56, 40, + 70, 40, 157, 40, 51, 519, 40, 71, 56, 40, 90, 52, 57, 53, 40, 54, 49, 58, 55, 60, - 59, 61, 40, 40, 40, 91, 192, 64, 145, 40, + 59, 61, 40, 40, 40, 91, 193, 64, 145, 40, 154, 65, 62, 78, 83, 66, 63, 67, 40, 79, 68, 40, 84, 40, 40, 80, 72, 85, 73, 74, 40, 86, 40, 101, 81, 82, 75, 87, 40, 129, 76, 40, 77, 40, 130, 40, 158, 132, 127, 40, 88, 40, 40, 98, 114, 40, 89, 40, 40, 99, - 141, 128, 148, 131, 100, 326, 92, 115, 93, 40, + 141, 128, 148, 131, 100, 328, 92, 115, 93, 40, 116, 142, 94, 143, 95, 40, 96, 117, 97, 102, - 40, 40, 170, 40, 135, 135, 135, 135, 144, 103, + 40, 40, 171, 40, 135, 135, 135, 135, 144, 103, 40, 104, 105, 146, 106, 107, 108, 147, 109, 43, - 43, 43, 43, 206, 110, 152, 111, 112, 40, 113, + 43, 43, 43, 207, 110, 152, 111, 112, 40, 113, 102, 40, 153, 40, 40, 136, 44, 44, 44, 44, - 118, 164, 119, 120, 40, 121, 155, 122, 156, 123, - 40, 124, 40, 161, 40, 125, 126, 47, 45, 45, - 45, 45, 40, 138, 138, 138, 138, 40, 163, 162, - 139, 178, 253, 175, 40, 134, 139, 47, 48, 48, + 118, 165, 119, 120, 40, 121, 155, 122, 156, 123, + 40, 124, 40, 162, 40, 125, 126, 47, 45, 45, + 45, 45, 40, 138, 138, 138, 138, 40, 164, 163, + 139, 179, 254, 176, 40, 134, 139, 47, 48, 48, 48, 48, 40, 140, 140, 140, 140, 40, 40, 140, 140, 40, 140, 140, 140, 140, 140, 140, 159, 149, - 40, 40, 40, 40, 40, 40, 40, 165, 40, 40, - 160, 150, 40, 40, 172, 174, 188, 167, 41, 169, + 40, 160, 40, 40, 40, 40, 40, 166, 40, 40, + 161, 150, 40, 40, 173, 175, 40, 168, 41, 170, - 40, 40, 171, 166, 168, 177, 176, 182, 173, 40, - 183, 40, 187, 40, 179, 180, 184, 181, 185, 189, - 40, 40, 40, 40, 190, 40, 198, 40, 40, 40, - 186, 193, 195, 40, 197, 191, 199, 40, 40, 40, - 200, 40, 201, 40, 40, 194, 196, 40, 208, 40, - 40, 218, 207, 203, 202, 40, 209, 40, 212, 222, - 204, 40, 40, 230, 210, 205, 219, 224, 211, 40, - 214, 220, 213, 215, 40, 223, 216, 40, 40, 217, - 40, 40, 225, 40, 40, 221, 40, 226, 40, 252, - 228, 40, 40, 232, 272, 227, 40, 234, 236, 40, - - 238, 229, 40, 233, 237, 247, 231, 40, 40, 239, - 40, 235, 249, 254, 240, 40, 40, 40, 40, 248, - 255, 263, 312, 241, 242, 40, 256, 265, 243, 250, - 40, 251, 40, 244, 40, 264, 245, 135, 135, 135, - 135, 246, 258, 258, 258, 258, 266, 267, 329, 259, - 40, 40, 40, 271, 40, 259, 138, 138, 138, 138, - 40, 268, 40, 139, 40, 269, 270, 276, 40, 139, - 260, 261, 40, 262, 262, 262, 262, 40, 40, 277, - 40, 274, 40, 275, 273, 40, 40, 40, 280, 278, - 285, 40, 40, 279, 40, 282, 283, 40, 281, 40, - - 40, 40, 289, 40, 40, 40, 40, 40, 284, 40, - 293, 287, 295, 296, 286, 299, 40, 294, 291, 288, - 298, 292, 40, 297, 40, 300, 290, 302, 40, 40, - 40, 303, 40, 40, 40, 40, 40, 306, 304, 301, - 40, 307, 40, 40, 40, 40, 40, 40, 309, 349, - 311, 305, 40, 308, 319, 40, 40, 313, 310, 314, - 315, 315, 315, 315, 328, 316, 315, 315, 317, 315, - 315, 315, 315, 315, 315, 318, 40, 325, 324, 40, - 40, 40, 40, 40, 40, 320, 40, 321, 327, 40, - 40, 322, 40, 323, 333, 337, 40, 332, 335, 40, - - 40, 330, 40, 334, 331, 40, 336, 40, 40, 40, - 40, 343, 40, 338, 40, 40, 342, 339, 341, 340, - 346, 345, 344, 350, 347, 40, 40, 348, 352, 40, - 351, 40, 40, 353, 258, 258, 258, 258, 40, 358, - 40, 259, 40, 361, 354, 260, 260, 259, 356, 356, - 356, 356, 40, 40, 355, 356, 356, 356, 356, 262, - 262, 262, 262, 40, 262, 262, 262, 262, 40, 357, - 359, 40, 40, 40, 40, 40, 40, 40, 40, 362, - 40, 366, 40, 40, 40, 40, 40, 40, 360, 371, - 365, 367, 374, 376, 40, 370, 363, 364, 369, 40, - - 40, 40, 372, 375, 368, 40, 373, 40, 40, 40, - 40, 40, 383, 40, 40, 40, 40, 384, 40, 40, - 40, 40, 377, 378, 382, 381, 40, 379, 388, 380, - 40, 385, 386, 387, 389, 391, 390, 394, 40, 392, - 40, 393, 40, 40, 40, 40, 40, 40, 40, 397, - 399, 40, 40, 395, 401, 398, 396, 403, 40, 40, - 405, 40, 407, 40, 400, 40, 411, 408, 402, 406, - 410, 404, 40, 409, 412, 40, 40, 40, 40, 40, - 40, 40, 414, 40, 40, 415, 40, 413, 416, 420, - 417, 418, 40, 419, 421, 40, 40, 356, 356, 356, - - 356, 40, 40, 40, 422, 425, 428, 423, 40, 427, - 429, 40, 40, 432, 40, 424, 40, 426, 431, 433, - 40, 434, 40, 40, 40, 430, 436, 40, 40, 40, - 40, 40, 40, 439, 40, 435, 40, 443, 444, 40, - 40, 437, 438, 40, 440, 445, 442, 446, 448, 40, - 40, 441, 40, 447, 40, 449, 40, 40, 40, 450, - 40, 40, 40, 454, 40, 457, 456, 452, 40, 458, - 459, 453, 451, 455, 40, 461, 40, 460, 40, 40, - 40, 40, 462, 40, 40, 40, 40, 40, 465, 40, - 40, 464, 467, 469, 472, 40, 40, 463, 466, 40, - - 475, 477, 470, 473, 468, 40, 40, 40, 471, 474, - 40, 40, 476, 478, 40, 40, 40, 40, 483, 480, - 40, 40, 479, 40, 485, 40, 40, 482, 40, 40, - 481, 40, 489, 490, 40, 487, 492, 40, 486, 488, - 494, 493, 484, 491, 40, 40, 495, 499, 40, 496, - 40, 40, 498, 40, 40, 40, 40, 497, 40, 40, - 502, 40, 40, 503, 40, 500, 505, 501, 504, 508, - 40, 506, 509, 40, 40, 40, 40, 40, 40, 510, - 507, 40, 40, 40, 40, 517, 518, 511, 512, 40, - 516, 40, 40, 520, 513, 514, 40, 521, 519, 40, - - 523, 40, 40, 40, 522, 527, 524, 528, 529, 40, - 530, 40, 525, 40, 40, 40, 532, 526, 40, 40, - 40, 40, 531, 40, 534, 40, 40, 40, 40, 538, - 539, 547, 40, 40, 533, 542, 544, 40, 535, 40, - 540, 536, 537, 546, 541, 543, 545, 40, 40, 40, - 550, 40, 40, 549, 548, 40, 551, 552, 553, 40, - 555, 40, 40, 40, 40, 40, 40, 40, 40, 558, - 40, 562, 40, 564, 554, 556, 40, 560, 40, 40, - 561, 40, 563, 40, 565, 40, 559, 40, 566, 40, - 557, 40, 569, 40, 570, 567, 573, 40, 40, 40, - - 40, 568, 571, 40, 574, 40, 575, 577, 576, 40, - 572, 40, 579, 40, 582, 40, 40, 580, 584, 40, - 578, 581, 40, 40, 583, 40, 585, 40, 40, 40, - 40, 40, 586, 591, 592, 593, 40, 587, 40, 40, - 588, 40, 589, 597, 590, 40, 40, 598, 596, 40, - 40, 40, 40, 595, 40, 40, 40, 40, 594, 40, - 599, 37, 37, 37, 37, 39, 39, 50, 40, 50, - 50, 40, 40, 40, 40, 40, 40, 40, 40, 40, + 40, 40, 172, 167, 169, 178, 177, 183, 174, 40, + 184, 189, 188, 40, 180, 181, 185, 182, 186, 40, + 40, 40, 40, 40, 191, 40, 199, 190, 40, 40, + 187, 194, 196, 40, 198, 192, 200, 40, 40, 40, + 40, 40, 201, 40, 40, 195, 197, 40, 209, 40, + 202, 40, 213, 208, 203, 204, 210, 40, 223, 219, + 40, 40, 205, 40, 211, 206, 214, 40, 212, 221, + 40, 40, 215, 225, 220, 216, 226, 40, 217, 224, + 40, 218, 40, 222, 227, 40, 40, 40, 40, 231, + 229, 40, 228, 40, 40, 233, 235, 239, 250, 282, + + 248, 230, 40, 237, 40, 234, 240, 40, 232, 238, + 236, 241, 40, 40, 249, 40, 40, 251, 253, 252, + 242, 243, 40, 40, 40, 244, 40, 264, 255, 40, + 245, 40, 266, 246, 40, 40, 256, 268, 247, 278, + 265, 269, 257, 135, 135, 135, 135, 259, 259, 259, + 259, 40, 267, 312, 260, 40, 40, 40, 272, 40, + 260, 138, 138, 138, 138, 40, 270, 273, 139, 40, + 271, 277, 279, 40, 139, 261, 262, 40, 263, 263, + 263, 263, 40, 40, 40, 40, 275, 40, 276, 40, + 40, 274, 40, 280, 40, 287, 284, 281, 283, 285, + + 40, 40, 40, 40, 40, 291, 40, 40, 40, 298, + 40, 286, 288, 289, 40, 295, 297, 290, 40, 300, + 293, 40, 296, 294, 40, 40, 40, 299, 292, 40, + 301, 40, 304, 302, 305, 40, 40, 308, 40, 40, + 306, 307, 309, 40, 40, 40, 40, 303, 40, 40, + 40, 311, 40, 313, 321, 329, 310, 40, 40, 314, + 315, 40, 40, 40, 360, 348, 331, 316, 317, 317, + 317, 317, 318, 319, 317, 317, 40, 317, 317, 317, + 317, 317, 317, 327, 320, 322, 326, 323, 40, 40, + 40, 324, 40, 325, 40, 40, 40, 40, 40, 40, + + 40, 40, 40, 40, 40, 335, 330, 334, 337, 339, + 332, 40, 345, 333, 336, 40, 338, 40, 344, 340, + 343, 342, 341, 40, 347, 40, 40, 40, 346, 40, + 351, 40, 353, 349, 352, 355, 40, 40, 40, 40, + 40, 350, 40, 354, 259, 259, 259, 259, 40, 364, + 410, 260, 40, 363, 356, 359, 361, 260, 261, 261, + 357, 358, 358, 358, 358, 358, 358, 358, 358, 263, + 263, 263, 263, 40, 263, 263, 263, 263, 40, 40, + 40, 40, 40, 40, 40, 40, 40, 40, 368, 40, + 40, 40, 40, 40, 40, 374, 362, 367, 370, 377, + + 40, 369, 373, 365, 366, 372, 40, 40, 40, 378, + 375, 40, 40, 371, 376, 379, 384, 40, 40, 40, + 40, 40, 386, 40, 40, 40, 40, 385, 387, 380, + 381, 40, 40, 382, 40, 383, 392, 391, 40, 388, + 40, 389, 390, 393, 395, 40, 394, 396, 40, 400, + 40, 40, 40, 40, 40, 402, 40, 40, 397, 40, + 40, 398, 404, 399, 401, 406, 408, 40, 411, 413, + 403, 40, 40, 40, 40, 409, 405, 412, 414, 407, + 40, 415, 40, 418, 40, 40, 40, 417, 416, 40, + 40, 40, 419, 40, 423, 420, 421, 40, 422, 40, + + 40, 358, 358, 358, 358, 40, 40, 424, 40, 428, + 431, 40, 425, 430, 426, 40, 432, 40, 434, 40, + 427, 429, 435, 40, 40, 40, 436, 40, 433, 437, + 40, 440, 439, 40, 40, 40, 438, 40, 40, 40, + 40, 40, 443, 40, 40, 447, 441, 448, 40, 442, + 452, 444, 449, 40, 446, 40, 450, 40, 445, 40, + 40, 451, 40, 453, 40, 40, 40, 40, 458, 454, + 40, 460, 461, 40, 456, 462, 463, 40, 455, 457, + 40, 459, 464, 465, 40, 40, 40, 40, 40, 40, + 40, 40, 40, 40, 40, 466, 469, 40, 473, 468, + + 471, 476, 40, 467, 470, 477, 480, 40, 40, 474, + 472, 40, 481, 479, 475, 478, 40, 40, 40, 40, + 40, 40, 40, 40, 40, 40, 487, 40, 483, 484, + 489, 482, 40, 40, 498, 486, 493, 494, 40, 40, + 485, 491, 492, 40, 490, 496, 40, 40, 488, 497, + 495, 500, 499, 40, 502, 40, 40, 40, 40, 40, + 40, 40, 501, 40, 40, 40, 506, 40, 507, 40, + 40, 509, 504, 505, 503, 510, 508, 512, 513, 40, + 40, 514, 40, 511, 40, 40, 40, 40, 516, 40, + 515, 40, 40, 521, 522, 40, 40, 520, 40, 40, + + 517, 518, 524, 523, 525, 527, 40, 40, 531, 40, + 40, 532, 526, 40, 528, 533, 534, 40, 529, 40, + 536, 40, 40, 530, 40, 40, 40, 40, 40, 40, + 538, 542, 535, 40, 40, 40, 40, 40, 546, 40, + 537, 543, 549, 548, 544, 539, 547, 540, 541, 40, + 40, 545, 550, 40, 40, 551, 40, 552, 553, 555, + 40, 556, 558, 40, 40, 40, 40, 554, 559, 557, + 40, 40, 40, 562, 40, 40, 40, 40, 40, 566, + 560, 568, 40, 40, 564, 40, 40, 565, 40, 40, + 567, 569, 40, 563, 561, 573, 40, 571, 570, 40, + + 40, 574, 40, 40, 578, 577, 572, 40, 575, 40, + 40, 581, 40, 40, 579, 580, 40, 576, 586, 40, + 583, 40, 40, 588, 40, 40, 582, 584, 587, 40, + 585, 40, 589, 40, 40, 40, 40, 40, 590, 595, + 596, 597, 592, 591, 40, 40, 40, 40, 593, 40, + 594, 601, 40, 40, 600, 602, 40, 40, 40, 599, + 40, 40, 40, 40, 598, 40, 603, 37, 37, 37, + 37, 39, 39, 50, 40, 50, 50, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, @@ -744,26 +745,27 @@ 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, - 257, 40, 40, 40, 40, 40, 133, 40, 38, 600, - 3, 600, 600, 600, 600, 600, 600, 600, 600, 600, + 40, 40, 40, 40, 40, 40, 40, 40, 258, 40, + 40, 40, 40, 40, 133, 40, 38, 604, 3, 604, - 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, - 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, - 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, - 600, 600, 600, 600 + 604, 604, 604, 604, 604, 604, 604, 604, 604, 604, + 604, 604, 604, 604, 604, 604, 604, 604, 604, 604, + 604, 604, 604, 604, 604, 604, 604, 604, 604, 604, + 604, 604, 604, 604, 604, 604, 604, 604, 604, 604, + 604, 604 } ; -static yyconst short int yy_chk[1335] = +static yyconst short int yy_chk[1343] = { 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 9, 58, 9, 9, 9, 9, 10, - 10, 10, 10, 11, 11, 11, 11, 11, 12, 489, + 10, 10, 10, 11, 11, 11, 11, 11, 12, 493, 20, 63, 58, 12, 13, 13, 13, 13, 13, 13, 14, 14, 14, 14, 14, 14, 16, 20, 46, 17, - 20, 26, 63, 46, 16, 489, 92, 20, 17, 54, + 20, 26, 63, 46, 16, 493, 92, 20, 17, 54, 26, 16, 17, 16, 18, 16, 13, 17, 16, 18, 17, 18, 19, 61, 22, 26, 92, 19, 54, 24, @@ -771,8 +773,8 @@ 19, 21, 24, 64, 29, 23, 21, 24, 21, 21, 34, 24, 25, 29, 23, 23, 21, 25, 36, 34, 21, 28, 21, 33, 35, 35, 64, 36, 33, 31, - 25, 56, 51, 28, 31, 217, 25, 27, 52, 28, - 51, 33, 56, 35, 28, 217, 27, 31, 27, 74, + 25, 56, 51, 28, 31, 218, 25, 27, 52, 28, + 51, 33, 56, 35, 28, 218, 27, 31, 27, 74, 31, 52, 27, 52, 27, 103, 27, 31, 27, 30, 53, 55, 74, 30, 42, 42, 42, 42, 53, 30, 60, 30, 30, 55, 30, 30, 30, 55, 30, 43, @@ -782,126 +784,127 @@ 32, 69, 32, 32, 68, 32, 62, 32, 62, 32, 78, 32, 81, 66, 67, 32, 32, 45, 45, 45, 45, 45, 45, 47, 47, 47, 47, 47, 68, 67, - 47, 81, 130, 78, 130, 605, 47, 48, 48, 48, + 47, 81, 130, 78, 130, 609, 47, 48, 48, 48, 48, 48, 48, 49, 49, 49, 49, 49, 57, 49, 49, 65, 49, 49, 49, 49, 49, 49, 65, 57, - 71, 87, 72, 73, 75, 76, 77, 71, 79, 80, - 65, 57, 82, 84, 76, 77, 87, 72, 603, 73, + 71, 65, 72, 73, 75, 76, 77, 71, 79, 80, + 65, 57, 82, 84, 76, 77, 87, 72, 607, 73, 86, 83, 75, 71, 72, 80, 79, 83, 76, 89, - 84, 88, 86, 85, 82, 82, 84, 82, 85, 88, - 91, 96, 93, 94, 89, 95, 96, 98, 97, 99, - 85, 93, 94, 100, 95, 91, 97, 101, 102, 104, - 98, 105, 99, 108, 117, 93, 94, 599, 105, 106, - 110, 108, 104, 101, 100, 107, 105, 111, 106, 110, - 101, 112, 109, 117, 105, 102, 108, 112, 105, 113, - 107, 109, 106, 107, 114, 111, 107, 116, 118, 107, - 119, 122, 113, 120, 129, 109, 155, 114, 121, 129, - 116, 123, 131, 119, 155, 114, 125, 121, 122, 132, - - 123, 116, 198, 120, 122, 125, 118, 126, 127, 123, - 142, 121, 127, 131, 123, 124, 128, 143, 145, 126, - 132, 142, 198, 124, 124, 146, 132, 145, 124, 128, - 153, 128, 222, 124, 148, 143, 124, 135, 135, 135, - 135, 124, 136, 136, 136, 136, 146, 148, 222, 136, - 151, 152, 159, 153, 150, 136, 138, 138, 138, 138, - 138, 150, 156, 138, 160, 151, 152, 159, 167, 138, - 139, 139, 157, 139, 139, 139, 139, 139, 158, 160, - 162, 157, 163, 158, 156, 164, 165, 166, 163, 162, - 167, 168, 169, 162, 170, 165, 166, 171, 164, 172, - - 173, 174, 171, 175, 177, 178, 179, 176, 166, 181, - 174, 169, 175, 176, 168, 179, 180, 174, 173, 170, - 178, 173, 182, 177, 183, 180, 172, 181, 184, 185, - 186, 182, 187, 188, 189, 191, 202, 185, 183, 180, - 201, 186, 206, 207, 249, 209, 219, 597, 188, 249, - 191, 184, 208, 187, 209, 211, 215, 201, 189, 202, - 205, 205, 205, 205, 219, 206, 205, 205, 207, 205, - 205, 205, 205, 205, 205, 208, 210, 215, 211, 218, - 223, 225, 226, 227, 228, 210, 230, 210, 218, 229, - 231, 210, 232, 210, 227, 230, 236, 226, 229, 239, - - 237, 223, 241, 228, 225, 243, 229, 246, 247, 248, - 596, 241, 245, 231, 252, 250, 239, 232, 237, 236, - 246, 245, 243, 250, 247, 251, 255, 248, 252, 253, - 251, 256, 264, 253, 258, 258, 258, 258, 268, 264, - 595, 258, 593, 268, 255, 259, 259, 258, 259, 259, - 259, 259, 263, 265, 256, 260, 260, 260, 260, 261, - 261, 261, 261, 261, 262, 262, 262, 262, 262, 263, - 265, 267, 272, 273, 274, 275, 276, 278, 277, 272, - 280, 276, 279, 282, 281, 283, 286, 284, 267, 281, - 275, 277, 284, 286, 285, 280, 273, 274, 279, 289, - - 290, 292, 282, 285, 278, 291, 283, 296, 298, 295, - 299, 300, 296, 312, 302, 301, 591, 298, 304, 303, - 305, 309, 289, 290, 295, 292, 310, 291, 302, 291, - 313, 299, 300, 301, 303, 305, 304, 312, 314, 309, - 316, 310, 318, 319, 320, 321, 325, 590, 322, 316, - 319, 323, 326, 313, 321, 318, 314, 322, 327, 331, - 323, 330, 326, 328, 320, 333, 331, 327, 321, 325, - 330, 322, 334, 328, 333, 336, 338, 346, 341, 342, - 344, 343, 336, 348, 345, 338, 349, 334, 341, 345, - 342, 343, 351, 344, 346, 353, 354, 356, 356, 356, - - 356, 358, 359, 361, 348, 353, 358, 349, 363, 354, - 359, 362, 364, 363, 366, 351, 365, 353, 362, 364, - 367, 365, 368, 369, 370, 361, 367, 371, 372, 373, - 374, 376, 379, 370, 380, 366, 381, 374, 376, 382, - 383, 368, 369, 384, 371, 379, 373, 380, 382, 385, - 386, 372, 387, 381, 388, 383, 390, 391, 392, 384, - 393, 394, 396, 388, 398, 392, 391, 386, 395, 393, - 394, 387, 385, 390, 399, 396, 407, 395, 408, 409, - 411, 412, 398, 416, 413, 419, 422, 420, 408, 423, - 426, 407, 411, 413, 420, 421, 425, 399, 409, 424, - - 423, 425, 416, 421, 412, 427, 429, 430, 419, 422, - 432, 433, 424, 426, 434, 435, 436, 437, 433, 429, - 443, 438, 427, 589, 435, 448, 460, 432, 442, 447, - 430, 450, 442, 442, 453, 437, 447, 451, 436, 438, - 450, 448, 434, 443, 452, 455, 451, 460, 461, 452, - 462, 464, 455, 465, 472, 471, 476, 453, 477, 479, - 464, 478, 480, 465, 482, 461, 472, 462, 471, 478, - 484, 476, 479, 487, 488, 490, 491, 493, 495, 480, - 477, 494, 496, 497, 499, 491, 493, 482, 484, 500, - 490, 498, 502, 495, 487, 488, 503, 496, 494, 507, - - 498, 506, 504, 505, 497, 503, 499, 504, 505, 508, - 506, 509, 500, 510, 512, 517, 508, 502, 513, 514, - 515, 519, 507, 518, 510, 529, 520, 526, 528, 515, - 517, 529, 524, 535, 509, 520, 526, 533, 512, 527, - 518, 513, 514, 528, 519, 524, 527, 531, 532, 539, - 533, 540, 538, 532, 531, 541, 535, 538, 539, 542, - 541, 543, 544, 545, 546, 547, 548, 549, 550, 544, - 552, 548, 553, 550, 540, 542, 554, 546, 555, 558, - 547, 560, 549, 556, 552, 557, 545, 561, 553, 562, - 543, 563, 556, 564, 557, 554, 561, 567, 566, 568, - - 569, 555, 558, 571, 562, 572, 563, 566, 564, 574, - 560, 575, 568, 576, 572, 577, 578, 569, 575, 580, - 567, 571, 579, 581, 574, 582, 576, 583, 584, 585, - 586, 588, 577, 582, 583, 584, 592, 578, 594, 598, - 579, 587, 580, 592, 581, 573, 570, 594, 588, 565, - 559, 551, 537, 586, 536, 534, 530, 525, 585, 523, - 598, 601, 601, 601, 601, 602, 602, 604, 522, 604, - 604, 521, 516, 511, 501, 492, 486, 485, 483, 481, - 475, 474, 473, 470, 469, 468, 467, 466, 463, 459, - 458, 457, 456, 454, 449, 446, 445, 444, 441, 440, - - 439, 431, 428, 418, 417, 415, 414, 410, 406, 405, - 404, 403, 402, 401, 400, 397, 389, 378, 377, 375, - 360, 357, 355, 352, 350, 347, 340, 339, 337, 335, - 332, 329, 324, 317, 311, 308, 307, 306, 297, 294, - 293, 288, 287, 271, 270, 269, 266, 254, 244, 242, - 240, 238, 235, 234, 233, 224, 221, 220, 216, 214, - 213, 212, 204, 203, 200, 199, 197, 196, 195, 194, - 193, 192, 190, 161, 154, 149, 147, 144, 141, 137, - 133, 115, 90, 70, 59, 39, 37, 8, 7, 3, - 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, - - 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, - 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, - 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, - 600, 600, 600, 600 + 84, 87, 86, 85, 82, 82, 84, 82, 85, 88, + 91, 96, 93, 94, 89, 95, 96, 88, 97, 98, + 85, 93, 94, 100, 95, 91, 97, 99, 102, 101, + 104, 105, 98, 106, 603, 93, 94, 601, 105, 110, + 99, 108, 106, 104, 100, 101, 105, 107, 110, 108, + 109, 111, 101, 113, 105, 102, 106, 112, 105, 109, + 117, 114, 107, 112, 108, 107, 113, 116, 107, 111, + 118, 107, 119, 109, 114, 120, 122, 121, 123, 117, + 116, 125, 114, 164, 127, 119, 121, 123, 127, 164, + + 125, 116, 126, 122, 128, 120, 123, 131, 118, 122, + 121, 123, 124, 129, 126, 132, 142, 128, 129, 128, + 124, 124, 143, 145, 148, 124, 160, 142, 131, 190, + 124, 146, 145, 124, 150, 153, 132, 148, 124, 160, + 143, 150, 132, 135, 135, 135, 135, 136, 136, 136, + 136, 151, 146, 190, 136, 152, 159, 161, 153, 155, + 136, 138, 138, 138, 138, 138, 151, 155, 138, 156, + 152, 159, 161, 168, 138, 139, 139, 157, 139, 139, + 139, 139, 139, 158, 163, 165, 157, 166, 158, 169, + 167, 156, 171, 163, 170, 168, 166, 163, 165, 167, + + 172, 173, 174, 177, 179, 172, 175, 176, 178, 177, + 600, 167, 169, 170, 182, 175, 176, 171, 185, 179, + 174, 180, 175, 174, 181, 183, 184, 178, 173, 186, + 180, 187, 182, 181, 183, 188, 189, 186, 192, 199, + 184, 185, 187, 202, 203, 210, 219, 181, 208, 207, + 223, 189, 247, 192, 210, 219, 188, 265, 599, 199, + 202, 209, 216, 212, 265, 247, 223, 203, 206, 206, + 206, 206, 207, 208, 206, 206, 211, 206, 206, 206, + 206, 206, 206, 216, 209, 211, 212, 211, 220, 224, + 226, 211, 227, 211, 228, 229, 232, 233, 237, 230, + + 231, 240, 238, 242, 597, 228, 220, 227, 230, 231, + 224, 244, 242, 226, 229, 246, 230, 248, 240, 232, + 238, 237, 233, 249, 246, 250, 251, 252, 244, 253, + 250, 254, 252, 248, 251, 254, 256, 257, 264, 266, + 328, 249, 273, 253, 259, 259, 259, 259, 269, 273, + 328, 259, 595, 269, 256, 264, 266, 259, 260, 260, + 257, 260, 260, 260, 260, 261, 261, 261, 261, 262, + 262, 262, 262, 262, 263, 263, 263, 263, 263, 268, + 274, 275, 276, 277, 278, 279, 280, 282, 277, 281, + 283, 284, 294, 285, 286, 283, 268, 276, 279, 286, + + 287, 278, 282, 274, 275, 281, 291, 292, 288, 287, + 284, 293, 297, 280, 285, 288, 294, 298, 301, 300, + 302, 305, 298, 304, 303, 306, 311, 297, 300, 291, + 292, 307, 312, 293, 314, 293, 305, 304, 315, 301, + 318, 302, 303, 306, 311, 316, 307, 312, 321, 318, + 322, 320, 327, 323, 594, 321, 324, 325, 314, 329, + 332, 315, 323, 316, 320, 324, 325, 330, 329, 332, + 322, 333, 335, 336, 340, 327, 323, 330, 333, 324, + 338, 335, 343, 340, 344, 346, 345, 338, 336, 347, + 348, 350, 343, 351, 347, 344, 345, 353, 346, 355, + + 356, 358, 358, 358, 358, 360, 363, 348, 361, 355, + 360, 364, 350, 356, 351, 368, 361, 365, 364, 366, + 353, 355, 365, 369, 367, 370, 366, 371, 363, 367, + 372, 370, 369, 373, 374, 375, 368, 376, 377, 382, + 379, 385, 373, 383, 384, 377, 371, 379, 386, 372, + 385, 374, 382, 387, 376, 388, 383, 389, 375, 391, + 390, 384, 394, 386, 393, 395, 396, 397, 391, 387, + 399, 394, 395, 398, 389, 396, 397, 401, 388, 390, + 402, 393, 398, 399, 410, 412, 411, 415, 414, 416, + 419, 422, 425, 427, 423, 401, 411, 424, 416, 410, + + 414, 423, 426, 402, 412, 424, 427, 428, 429, 419, + 415, 430, 428, 426, 422, 425, 432, 433, 435, 436, + 437, 438, 440, 441, 442, 454, 436, 447, 430, 432, + 438, 429, 446, 452, 454, 435, 446, 446, 451, 457, + 433, 441, 442, 455, 440, 451, 456, 459, 437, 452, + 447, 456, 455, 464, 459, 465, 466, 468, 469, 476, + 480, 481, 457, 475, 484, 483, 468, 486, 469, 482, + 488, 476, 465, 466, 464, 480, 475, 482, 483, 491, + 492, 484, 494, 481, 495, 497, 498, 499, 488, 500, + 486, 501, 503, 495, 497, 504, 502, 494, 506, 507, + + 491, 492, 499, 498, 500, 502, 508, 510, 507, 511, + 509, 508, 501, 512, 503, 509, 510, 513, 504, 514, + 512, 516, 519, 506, 517, 518, 521, 522, 523, 524, + 514, 519, 511, 528, 530, 531, 539, 532, 524, 544, + 513, 521, 531, 530, 522, 516, 528, 517, 518, 533, + 535, 523, 532, 536, 537, 533, 542, 535, 536, 539, + 543, 542, 544, 545, 546, 547, 548, 537, 545, 543, + 549, 550, 551, 548, 552, 553, 554, 556, 558, 552, + 546, 554, 557, 559, 550, 562, 560, 551, 564, 566, + 553, 556, 561, 549, 547, 560, 565, 558, 557, 567, + + 568, 561, 570, 571, 566, 565, 559, 572, 562, 576, + 573, 570, 575, 578, 567, 568, 579, 564, 576, 580, + 572, 581, 582, 579, 583, 584, 571, 573, 578, 585, + 575, 586, 580, 587, 588, 589, 590, 592, 581, 586, + 587, 588, 583, 582, 596, 602, 598, 593, 584, 591, + 585, 596, 577, 574, 592, 598, 569, 563, 555, 590, + 541, 540, 538, 534, 589, 529, 602, 605, 605, 605, + 605, 606, 606, 608, 527, 608, 608, 526, 525, 520, + 515, 505, 496, 490, 489, 487, 485, 479, 478, 477, + 474, 473, 472, 471, 470, 467, 463, 462, 461, 460, + + 458, 453, 450, 449, 448, 445, 444, 443, 439, 434, + 431, 421, 420, 418, 417, 413, 409, 408, 407, 406, + 405, 404, 403, 400, 392, 381, 380, 378, 362, 359, + 357, 354, 352, 349, 342, 341, 339, 337, 334, 331, + 326, 319, 313, 310, 309, 308, 299, 296, 295, 290, + 289, 272, 271, 270, 267, 255, 245, 243, 241, 239, + 236, 235, 234, 225, 222, 221, 217, 215, 214, 213, + 205, 204, 201, 200, 198, 197, 196, 195, 194, 193, + 191, 162, 154, 149, 147, 144, 141, 137, 133, 115, + 90, 70, 59, 39, 37, 8, 7, 3, 604, 604, + + 604, 604, 604, 604, 604, 604, 604, 604, 604, 604, + 604, 604, 604, 604, 604, 604, 604, 604, 604, 604, + 604, 604, 604, 604, 604, 604, 604, 604, 604, 604, + 604, 604, 604, 604, 604, 604, 604, 604, 604, 604, + 604, 604 } ; static yy_state_type yy_state_buf[YY_BUF_SIZE + 2], *yy_state_ptr; @@ -918,7 +921,7 @@ #define YY_MORE_ADJ 0 #define YY_RESTORE_YY_MORE_OFFSET char *yytext; -#line 1 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" +#line 1 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" #define INITIAL 0 /*===-- UpgradeLexer.l - Scanner for 1.9 assembly files --------*- C++ -*--===// // @@ -933,7 +936,7 @@ // //===----------------------------------------------------------------------===*/ #define YY_NEVER_INTERACTIVE 1 -#line 28 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" +#line 28 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" #include "ParserInternals.h" #include "UpgradeParser.h" @@ -979,7 +982,7 @@ /* HexIntConstant - Hexadecimal constant generated by the CFE to avoid forcing * it to deal with 64 bit numbers. */ -#line 983 "UpgradeLexer.cpp" +#line 986 "UpgradeLexer.cpp" /* Macros after this point can all be overridden by user definitions in * section 1. @@ -1130,10 +1133,10 @@ register char *yy_cp = NULL, *yy_bp = NULL; register int yy_act; -#line 99 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" +#line 99 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" -#line 1137 "UpgradeLexer.cpp" +#line 1140 "UpgradeLexer.cpp" if ( yy_init ) { @@ -1181,14 +1184,14 @@ while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 601 ) + if ( yy_current_state >= 605 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; *yy_state_ptr++ = yy_current_state; ++yy_cp; } - while ( yy_current_state != 600 ); + while ( yy_current_state != 604 ); yy_find_action: yy_current_state = *--yy_state_ptr; @@ -1226,756 +1229,761 @@ { /* beginning of action switch */ case 1: YY_RULE_SETUP -#line 101 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" +#line 101 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" { /* Ignore comments for now */ } YY_BREAK case 2: YY_RULE_SETUP -#line 103 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" +#line 103 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" { RET_TOK( BEGINTOK); } YY_BREAK case 3: YY_RULE_SETUP -#line 104 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" +#line 104 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" { RET_TOK( ENDTOK); } YY_BREAK case 4: YY_RULE_SETUP -#line 105 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" +#line 105 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" { RET_TOK( TRUETOK); } YY_BREAK case 5: YY_RULE_SETUP -#line 106 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" +#line 106 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" { RET_TOK( FALSETOK); } YY_BREAK case 6: YY_RULE_SETUP -#line 107 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" +#line 107 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" { RET_TOK( DECLARE); } YY_BREAK case 7: YY_RULE_SETUP -#line 108 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( GLOBAL); } +#line 108 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( DEFINE); } YY_BREAK case 8: YY_RULE_SETUP -#line 109 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( CONSTANT); } +#line 109 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( GLOBAL); } YY_BREAK case 9: YY_RULE_SETUP -#line 110 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( INTERNAL); } +#line 110 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( CONSTANT); } YY_BREAK case 10: YY_RULE_SETUP -#line 111 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( LINKONCE); } +#line 111 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( INTERNAL); } YY_BREAK case 11: YY_RULE_SETUP -#line 112 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( WEAK); } +#line 112 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( LINKONCE); } YY_BREAK case 12: YY_RULE_SETUP -#line 113 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( APPENDING); } +#line 113 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( WEAK); } YY_BREAK case 13: YY_RULE_SETUP -#line 114 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( DLLIMPORT); } +#line 114 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( APPENDING); } YY_BREAK case 14: YY_RULE_SETUP -#line 115 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( DLLEXPORT); } +#line 115 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( DLLIMPORT); } YY_BREAK case 15: YY_RULE_SETUP -#line 116 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( EXTERN_WEAK); } +#line 116 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( DLLEXPORT); } YY_BREAK case 16: YY_RULE_SETUP -#line 117 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( EXTERNAL); } +#line 117 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( EXTERN_WEAK); } YY_BREAK case 17: YY_RULE_SETUP -#line 118 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( UNINITIALIZED); } // alias for external +#line 118 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( EXTERNAL); } YY_BREAK case 18: YY_RULE_SETUP -#line 119 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( IMPLEMENTATION); } +#line 119 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( UNINITIALIZED); } // alias for external YY_BREAK case 19: YY_RULE_SETUP -#line 120 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( ZEROINITIALIZER); } +#line 120 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( IMPLEMENTATION); } YY_BREAK case 20: YY_RULE_SETUP -#line 121 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( DOTDOTDOT); } +#line 121 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( ZEROINITIALIZER); } YY_BREAK case 21: YY_RULE_SETUP -#line 122 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( UNDEF); } +#line 122 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( DOTDOTDOT); } YY_BREAK case 22: YY_RULE_SETUP -#line 123 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( NULL_TOK); } +#line 123 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( UNDEF); } YY_BREAK case 23: YY_RULE_SETUP -#line 124 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( TO); } +#line 124 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( NULL_TOK); } YY_BREAK case 24: YY_RULE_SETUP -#line 125 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( TAIL); } +#line 125 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( TO); } YY_BREAK case 25: YY_RULE_SETUP -#line 126 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( TARGET); } +#line 126 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( TAIL); } YY_BREAK case 26: YY_RULE_SETUP -#line 127 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( TRIPLE); } +#line 127 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( TARGET); } YY_BREAK case 27: YY_RULE_SETUP -#line 128 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( DEPLIBS); } +#line 128 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( TRIPLE); } YY_BREAK case 28: YY_RULE_SETUP -#line 129 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( ENDIAN); } +#line 129 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( DEPLIBS); } YY_BREAK case 29: YY_RULE_SETUP -#line 130 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( POINTERSIZE); } +#line 130 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( ENDIAN); } YY_BREAK case 30: YY_RULE_SETUP -#line 131 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( DATALAYOUT); } +#line 131 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( POINTERSIZE); } YY_BREAK case 31: YY_RULE_SETUP -#line 132 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( LITTLE); } +#line 132 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( DATALAYOUT); } YY_BREAK case 32: YY_RULE_SETUP -#line 133 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( BIG); } +#line 133 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( LITTLE); } YY_BREAK case 33: YY_RULE_SETUP -#line 134 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( VOLATILE); } +#line 134 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( BIG); } YY_BREAK case 34: YY_RULE_SETUP -#line 135 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( ALIGN); } +#line 135 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( VOLATILE); } YY_BREAK case 35: YY_RULE_SETUP -#line 136 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( SECTION); } +#line 136 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( ALIGN); } YY_BREAK case 36: YY_RULE_SETUP -#line 137 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( MODULE); } +#line 137 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( SECTION); } YY_BREAK case 37: YY_RULE_SETUP -#line 138 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( ASM_TOK); } +#line 138 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( MODULE); } YY_BREAK case 38: YY_RULE_SETUP -#line 139 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( SIDEEFFECT); } +#line 139 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( ASM_TOK); } YY_BREAK case 39: YY_RULE_SETUP -#line 141 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( CC_TOK); } +#line 140 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( SIDEEFFECT); } YY_BREAK case 40: YY_RULE_SETUP -#line 142 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( CCC_TOK); } +#line 142 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( CC_TOK); } YY_BREAK case 41: YY_RULE_SETUP -#line 143 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( CSRETCC_TOK); } +#line 143 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( CCC_TOK); } YY_BREAK case 42: YY_RULE_SETUP -#line 144 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( FASTCC_TOK); } +#line 144 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( CSRETCC_TOK); } YY_BREAK case 43: YY_RULE_SETUP -#line 145 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( COLDCC_TOK); } +#line 145 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( FASTCC_TOK); } YY_BREAK case 44: YY_RULE_SETUP -#line 146 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( X86_STDCALLCC_TOK); } +#line 146 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( COLDCC_TOK); } YY_BREAK case 45: YY_RULE_SETUP -#line 147 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( X86_FASTCALLCC_TOK); } +#line 147 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( X86_STDCALLCC_TOK); } YY_BREAK case 46: YY_RULE_SETUP -#line 149 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TY(VOID,VoidTy,"void",false); } +#line 148 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( X86_FASTCALLCC_TOK); } YY_BREAK case 47: YY_RULE_SETUP -#line 150 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TY(BOOL,BoolTy,"bool",false); } +#line 150 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TY(VOID,VoidTy,"void",false); } YY_BREAK case 48: YY_RULE_SETUP -#line 151 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TY(SBYTE,SByteTy,"sbyte",true); } +#line 151 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TY(BOOL,BoolTy,"bool",false); } YY_BREAK case 49: YY_RULE_SETUP -#line 152 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TY(UBYTE,UByteTy,"ubyte",false); } +#line 152 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TY(SBYTE,SByteTy,"sbyte",true); } YY_BREAK case 50: YY_RULE_SETUP -#line 153 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TY(SHORT,ShortTy,"short",true); } +#line 153 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TY(UBYTE,UByteTy,"ubyte",false); } YY_BREAK case 51: YY_RULE_SETUP -#line 154 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TY(USHORT,UShortTy,"ushort",false); } +#line 154 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TY(SHORT,ShortTy,"short",true); } YY_BREAK case 52: YY_RULE_SETUP -#line 155 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TY(INT,IntTy,"int",true); } +#line 155 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TY(USHORT,UShortTy,"ushort",false); } YY_BREAK case 53: YY_RULE_SETUP -#line 156 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TY(UINT,UIntTy,"uint",false); } +#line 156 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TY(INT,IntTy,"int",true); } YY_BREAK case 54: YY_RULE_SETUP -#line 157 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TY(LONG,LongTy,"long",true); } +#line 157 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TY(UINT,UIntTy,"uint",false); } YY_BREAK case 55: YY_RULE_SETUP -#line 158 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TY(ULONG,ULongTy,"ulong",false); } +#line 158 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TY(LONG,LongTy,"long",true); } YY_BREAK case 56: YY_RULE_SETUP -#line 159 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TY(FLOAT,FloatTy,"float",false); } +#line 159 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TY(ULONG,ULongTy,"ulong",false); } YY_BREAK case 57: YY_RULE_SETUP -#line 160 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TY(DOUBLE,DoubleTy,"double",false); } +#line 160 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TY(FLOAT,FloatTy,"float",false); } YY_BREAK case 58: YY_RULE_SETUP -#line 161 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TY(LABEL,LabelTy,"label",false); } +#line 161 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TY(DOUBLE,DoubleTy,"double",false); } YY_BREAK case 59: YY_RULE_SETUP -#line 162 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK(OPAQUE); } +#line 162 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TY(LABEL,LabelTy,"label",false); } YY_BREAK case 60: YY_RULE_SETUP -#line 163 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK(TYPE); } +#line 163 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK(OPAQUE); } YY_BREAK case 61: YY_RULE_SETUP -#line 165 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( ADD); } +#line 164 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK(TYPE); } YY_BREAK case 62: YY_RULE_SETUP -#line 166 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( SUB); } +#line 166 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( ADD); } YY_BREAK case 63: YY_RULE_SETUP -#line 167 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( MUL); } +#line 167 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( SUB); } YY_BREAK case 64: YY_RULE_SETUP -#line 168 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( DIV); } +#line 168 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( MUL); } YY_BREAK case 65: YY_RULE_SETUP -#line 169 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( UDIV); } +#line 169 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( DIV); } YY_BREAK case 66: YY_RULE_SETUP -#line 170 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( SDIV); } +#line 170 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( UDIV); } YY_BREAK case 67: YY_RULE_SETUP -#line 171 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( FDIV); } +#line 171 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( SDIV); } YY_BREAK case 68: YY_RULE_SETUP -#line 172 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( REM); } +#line 172 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( FDIV); } YY_BREAK case 69: YY_RULE_SETUP -#line 173 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( UREM); } +#line 173 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( REM); } YY_BREAK case 70: YY_RULE_SETUP -#line 174 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( SREM); } +#line 174 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( UREM); } YY_BREAK case 71: YY_RULE_SETUP -#line 175 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( FREM); } +#line 175 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( SREM); } YY_BREAK case 72: YY_RULE_SETUP -#line 176 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( AND); } +#line 176 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( FREM); } YY_BREAK case 73: YY_RULE_SETUP -#line 177 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( OR); } +#line 177 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( AND); } YY_BREAK case 74: YY_RULE_SETUP -#line 178 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( XOR); } +#line 178 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( OR); } YY_BREAK case 75: YY_RULE_SETUP -#line 179 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( SETNE); } +#line 179 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( XOR); } YY_BREAK case 76: YY_RULE_SETUP -#line 180 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( SETEQ); } +#line 180 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( SETNE); } YY_BREAK case 77: YY_RULE_SETUP -#line 181 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( SETLT); } +#line 181 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( SETEQ); } YY_BREAK case 78: YY_RULE_SETUP -#line 182 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( SETGT); } +#line 182 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( SETLT); } YY_BREAK case 79: YY_RULE_SETUP -#line 183 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( SETLE); } +#line 183 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( SETGT); } YY_BREAK case 80: YY_RULE_SETUP -#line 184 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( SETGE); } +#line 184 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( SETLE); } YY_BREAK case 81: YY_RULE_SETUP -#line 185 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK(ICMP); } +#line 185 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( SETGE); } YY_BREAK case 82: YY_RULE_SETUP -#line 186 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK(FCMP); } +#line 186 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK(ICMP); } YY_BREAK case 83: YY_RULE_SETUP -#line 187 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK(EQ); } +#line 187 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK(FCMP); } YY_BREAK case 84: YY_RULE_SETUP -#line 188 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK(NE); } +#line 188 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK(EQ); } YY_BREAK case 85: YY_RULE_SETUP -#line 189 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK(SLT); } +#line 189 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK(NE); } YY_BREAK case 86: YY_RULE_SETUP -#line 190 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK(SGT); } +#line 190 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK(SLT); } YY_BREAK case 87: YY_RULE_SETUP -#line 191 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK(SLE); } +#line 191 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK(SGT); } YY_BREAK case 88: YY_RULE_SETUP -#line 192 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK(SGE); } +#line 192 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK(SLE); } YY_BREAK case 89: YY_RULE_SETUP -#line 193 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK(OEQ); } +#line 193 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK(SGE); } YY_BREAK case 90: YY_RULE_SETUP -#line 194 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK(ONE); } +#line 194 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK(OEQ); } YY_BREAK case 91: YY_RULE_SETUP -#line 195 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK(OLT); } +#line 195 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK(ONE); } YY_BREAK case 92: YY_RULE_SETUP -#line 196 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK(OGT); } +#line 196 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK(OLT); } YY_BREAK case 93: YY_RULE_SETUP -#line 197 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK(OLE); } +#line 197 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK(OGT); } YY_BREAK case 94: YY_RULE_SETUP -#line 198 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK(OGE); } +#line 198 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK(OLE); } YY_BREAK case 95: YY_RULE_SETUP -#line 199 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK(ORD); } +#line 199 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK(OGE); } YY_BREAK case 96: YY_RULE_SETUP -#line 200 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK(UNO); } +#line 200 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK(ORD); } YY_BREAK case 97: YY_RULE_SETUP -#line 201 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK(UEQ); } +#line 201 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK(UNO); } YY_BREAK case 98: YY_RULE_SETUP -#line 202 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK(UNE); } +#line 202 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK(UEQ); } YY_BREAK case 99: YY_RULE_SETUP -#line 203 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK(ULT); } +#line 203 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK(UNE); } YY_BREAK case 100: YY_RULE_SETUP -#line 204 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK(UGT); } +#line 204 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK(ULT); } YY_BREAK case 101: YY_RULE_SETUP -#line 205 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK(ULE); } +#line 205 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK(UGT); } YY_BREAK case 102: YY_RULE_SETUP -#line 206 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK(UGE); } +#line 206 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK(ULE); } YY_BREAK case 103: YY_RULE_SETUP -#line 208 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( PHI_TOK); } +#line 207 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK(UGE); } YY_BREAK case 104: YY_RULE_SETUP -#line 209 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( CALL); } +#line 209 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( PHI_TOK); } YY_BREAK case 105: YY_RULE_SETUP -#line 210 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( CAST); } +#line 210 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( CALL); } YY_BREAK case 106: YY_RULE_SETUP -#line 211 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( TRUNC); } +#line 211 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( CAST); } YY_BREAK case 107: YY_RULE_SETUP -#line 212 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( ZEXT); } +#line 212 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( TRUNC); } YY_BREAK case 108: YY_RULE_SETUP -#line 213 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( SEXT); } +#line 213 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( ZEXT); } YY_BREAK case 109: YY_RULE_SETUP -#line 214 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( FPTRUNC); } +#line 214 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( SEXT); } YY_BREAK case 110: YY_RULE_SETUP -#line 215 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( FPEXT); } +#line 215 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( FPTRUNC); } YY_BREAK case 111: YY_RULE_SETUP -#line 216 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( FPTOUI); } +#line 216 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( FPEXT); } YY_BREAK case 112: YY_RULE_SETUP -#line 217 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( FPTOSI); } +#line 217 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( FPTOUI); } YY_BREAK case 113: YY_RULE_SETUP -#line 218 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( UITOFP); } +#line 218 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( FPTOSI); } YY_BREAK case 114: YY_RULE_SETUP -#line 219 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( SITOFP); } +#line 219 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( UITOFP); } YY_BREAK case 115: YY_RULE_SETUP -#line 220 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( PTRTOINT); } +#line 220 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( SITOFP); } YY_BREAK case 116: YY_RULE_SETUP -#line 221 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( INTTOPTR); } +#line 221 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( PTRTOINT); } YY_BREAK case 117: YY_RULE_SETUP -#line 222 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( BITCAST); } +#line 222 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( INTTOPTR); } YY_BREAK case 118: YY_RULE_SETUP -#line 223 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( SELECT); } +#line 223 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( BITCAST); } YY_BREAK case 119: YY_RULE_SETUP -#line 224 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( SHL); } +#line 224 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( SELECT); } YY_BREAK case 120: YY_RULE_SETUP -#line 225 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( SHR); } +#line 225 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( SHL); } YY_BREAK case 121: YY_RULE_SETUP -#line 226 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( ASHR); } +#line 226 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( SHR); } YY_BREAK case 122: YY_RULE_SETUP -#line 227 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( LSHR); } +#line 227 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( ASHR); } YY_BREAK case 123: YY_RULE_SETUP -#line 228 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( VAARG); } +#line 228 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( LSHR); } YY_BREAK case 124: YY_RULE_SETUP -#line 229 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( RET); } +#line 229 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( VAARG); } YY_BREAK case 125: YY_RULE_SETUP -#line 230 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( BR); } +#line 230 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( RET); } YY_BREAK case 126: YY_RULE_SETUP -#line 231 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( SWITCH); } +#line 231 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( BR); } YY_BREAK case 127: YY_RULE_SETUP -#line 232 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( INVOKE); } +#line 232 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( SWITCH); } YY_BREAK case 128: YY_RULE_SETUP -#line 233 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( UNWIND); } +#line 233 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( INVOKE); } YY_BREAK case 129: YY_RULE_SETUP -#line 234 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( EXCEPT); } // alias for unwind +#line 234 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( UNWIND); } YY_BREAK case 130: YY_RULE_SETUP -#line 235 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( UNREACHABLE); } +#line 235 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( EXCEPT); } // alias for unwind YY_BREAK case 131: YY_RULE_SETUP -#line 237 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( MALLOC); } +#line 236 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( UNREACHABLE); } YY_BREAK case 132: YY_RULE_SETUP -#line 238 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( ALLOCA); } +#line 238 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( MALLOC); } YY_BREAK case 133: YY_RULE_SETUP -#line 239 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( FREE); } +#line 239 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( ALLOCA); } YY_BREAK case 134: YY_RULE_SETUP -#line 240 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( LOAD); } +#line 240 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( FREE); } YY_BREAK case 135: YY_RULE_SETUP -#line 241 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( STORE); } +#line 241 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( LOAD); } YY_BREAK case 136: YY_RULE_SETUP -#line 242 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( GETELEMENTPTR); } +#line 242 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( STORE); } YY_BREAK case 137: YY_RULE_SETUP -#line 244 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( EXTRACTELEMENT); } +#line 243 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( GETELEMENTPTR); } YY_BREAK case 138: YY_RULE_SETUP -#line 245 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( INSERTELEMENT); } +#line 245 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( EXTRACTELEMENT); } YY_BREAK case 139: YY_RULE_SETUP -#line 246 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( SHUFFLEVECTOR); } +#line 246 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( INSERTELEMENT); } YY_BREAK case 140: YY_RULE_SETUP -#line 249 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( VAR_ID); } +#line 247 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( SHUFFLEVECTOR); } YY_BREAK case 141: YY_RULE_SETUP -#line 250 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( LABELSTR); } +#line 250 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( VAR_ID); } YY_BREAK case 142: YY_RULE_SETUP -#line 251 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" +#line 251 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" { RET_TOK( LABELSTR); } YY_BREAK case 143: YY_RULE_SETUP -#line 252 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( STRINGCONSTANT ); } +#line 252 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( LABELSTR); } YY_BREAK case 144: YY_RULE_SETUP -#line 253 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( EUINT64VAL ); } +#line 253 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( STRINGCONSTANT ); } YY_BREAK case 145: YY_RULE_SETUP -#line 254 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( ESINT64VAL ); } +#line 254 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( EUINT64VAL ); } YY_BREAK case 146: YY_RULE_SETUP -#line 255 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( yytext[0] == 's' ? ESINT64VAL : EUINT64VAL ); } +#line 255 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( ESINT64VAL ); } YY_BREAK case 147: YY_RULE_SETUP -#line 256 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( UINTVAL); } +#line 256 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( yytext[0] == 's' ? ESINT64VAL : EUINT64VAL ); } YY_BREAK case 148: YY_RULE_SETUP -#line 257 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( SINTVAL); } +#line 257 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( UINTVAL); } YY_BREAK case 149: YY_RULE_SETUP -#line 258 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( FPVAL); } +#line 258 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( SINTVAL); } YY_BREAK case 150: YY_RULE_SETUP -#line 259 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" +#line 259 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( FPVAL); } + YY_BREAK +case 151: +YY_RULE_SETUP +#line 260 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" { RET_TOK( FPVAL); } YY_BREAK case YY_STATE_EOF(INITIAL): -#line 260 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" +#line 261 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" { /* Make sure to free the internal buffers for flex when we are * done reading our input! @@ -1984,22 +1992,22 @@ return EOF; } YY_BREAK -case 151: +case 152: YY_RULE_SETUP -#line 268 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" +#line 269 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" { /* Ignore whitespace */ } YY_BREAK -case 152: +case 153: YY_RULE_SETUP -#line 269 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" +#line 270 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" { return yytext[0]; } YY_BREAK -case 153: +case 154: YY_RULE_SETUP -#line 271 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" +#line 272 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" YY_FATAL_ERROR( "flex scanner jammed" ); YY_BREAK -#line 2003 "UpgradeLexer.cpp" +#line 2011 "UpgradeLexer.cpp" case YY_END_OF_BUFFER: { @@ -2286,7 +2294,7 @@ while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 601 ) + if ( yy_current_state >= 605 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; @@ -2316,11 +2324,11 @@ while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 601 ) + if ( yy_current_state >= 605 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; - yy_is_jam = (yy_current_state == 600); + yy_is_jam = (yy_current_state == 604); if ( ! yy_is_jam ) *yy_state_ptr++ = yy_current_state; @@ -2877,5 +2885,5 @@ return 0; } #endif -#line 271 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" +#line 272 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" Index: llvm/tools/llvm-upgrade/UpgradeLexer.cpp.cvs diff -u llvm/tools/llvm-upgrade/UpgradeLexer.cpp.cvs:1.9 llvm/tools/llvm-upgrade/UpgradeLexer.cpp.cvs:1.10 --- llvm/tools/llvm-upgrade/UpgradeLexer.cpp.cvs:1.9 Sat Dec 2 16:14:11 2006 +++ llvm/tools/llvm-upgrade/UpgradeLexer.cpp.cvs Fri Dec 29 14:35:03 2006 @@ -20,7 +20,7 @@ /* A lexical scanner generated by flex*/ /* Scanner skeleton version: - * $Header: /var/cvs/llvm/llvm/tools/llvm-upgrade/UpgradeLexer.cpp.cvs,v 1.9 2006/12/02 22:14:11 reid Exp $ + * $Header: /var/cvs/llvm/llvm/tools/llvm-upgrade/UpgradeLexer.cpp.cvs,v 1.10 2006/12/29 20:35:03 reid Exp $ */ #define FLEX_SCANNER @@ -317,38 +317,39 @@ *yy_cp = '\0'; \ yy_c_buf_p = yy_cp; -#define YY_NUM_RULES 153 -#define YY_END_OF_BUFFER 154 -static yyconst short int yy_acclist[231] = +#define YY_NUM_RULES 154 +#define YY_END_OF_BUFFER 155 +static yyconst short int yy_acclist[232] = { 0, - 154, 152, 153, 151, 152, 153, 151, 153, 152, 153, - 152, 153, 152, 153, 152, 153, 152, 153, 152, 153, - 144, 152, 153, 144, 152, 153, 1, 152, 153, 152, - 153, 152, 153, 152, 153, 152, 153, 152, 153, 152, - 153, 152, 153, 152, 153, 152, 153, 152, 153, 152, - 153, 152, 153, 152, 153, 152, 153, 152, 153, 152, - 153, 152, 153, 152, 153, 152, 153, 152, 153, 152, - 153, 143, 141, 140, 140, 147, 145, 149, 144, 1, - 125, 39, 83, 84, 73, 23, 143, 140, 140, 148, - 149, 20, 149, 150, 61, 72, 37, 32, 40, 64, - - 3, 52, 63, 89, 94, 92, 93, 91, 90, 95, - 103, 68, 124, 88, 86, 119, 120, 87, 85, 62, - 97, 102, 100, 101, 99, 98, 96, 74, 142, 149, - 149, 121, 47, 104, 105, 82, 67, 133, 71, 81, - 134, 54, 122, 22, 146, 66, 108, 70, 24, 4, - 60, 65, 53, 69, 46, 11, 107, 149, 34, 2, - 5, 56, 110, 58, 48, 76, 80, 78, 79, 77, - 75, 50, 135, 106, 49, 55, 21, 132, 43, 57, - 28, 129, 42, 112, 111, 7, 127, 31, 131, 36, - 59, 118, 114, 126, 25, 26, 113, 128, 51, 123, - - 117, 41, 6, 27, 109, 35, 8, 16, 9, 116, - 10, 115, 33, 12, 14, 13, 30, 38, 15, 29, - 130, 136, 138, 139, 17, 44, 137, 18, 45, 19 + 155, 153, 154, 152, 153, 154, 152, 154, 153, 154, + 153, 154, 153, 154, 153, 154, 153, 154, 153, 154, + 145, 153, 154, 145, 153, 154, 1, 153, 154, 153, + 154, 153, 154, 153, 154, 153, 154, 153, 154, 153, + 154, 153, 154, 153, 154, 153, 154, 153, 154, 153, + 154, 153, 154, 153, 154, 153, 154, 153, 154, 153, + 154, 153, 154, 153, 154, 153, 154, 153, 154, 153, + 154, 144, 142, 141, 141, 148, 146, 150, 145, 1, + 126, 40, 84, 85, 74, 24, 144, 141, 141, 149, + 150, 21, 150, 151, 62, 73, 38, 33, 41, 65, + + 3, 53, 64, 90, 95, 93, 94, 92, 91, 96, + 104, 69, 125, 89, 87, 120, 121, 88, 86, 63, + 98, 103, 101, 102, 100, 99, 97, 75, 143, 150, + 150, 122, 48, 105, 106, 83, 68, 134, 72, 82, + 135, 55, 123, 23, 147, 67, 109, 71, 25, 4, + 61, 66, 54, 70, 47, 12, 108, 150, 35, 2, + 5, 57, 111, 59, 49, 77, 81, 79, 80, 78, + 76, 51, 136, 107, 50, 56, 22, 133, 44, 7, + 58, 29, 130, 43, 113, 112, 8, 128, 32, 132, + 37, 60, 119, 115, 127, 26, 27, 114, 129, 52, + + 124, 118, 42, 6, 28, 110, 36, 9, 17, 10, + 117, 11, 116, 34, 13, 15, 14, 31, 39, 16, + 30, 131, 137, 139, 140, 18, 45, 138, 19, 46, + 20 } ; -static yyconst short int yy_accept[602] = +static yyconst short int yy_accept[606] = { 0, 1, 1, 1, 2, 4, 7, 9, 11, 13, 15, 17, 19, 21, 24, 27, 30, 32, 34, 36, 38, @@ -367,56 +368,56 @@ 87, 87, 87, 88, 89, 91, 92, 93, 94, 94, 95, 96, 96, 96, 97, 97, 97, 98, 98, 99, 99, 99, 99, 99, 100, 100, 100, 100, 100, 100, - 100, 101, 101, 101, 102, 102, 102, 102, 102, 102, + 100, 100, 101, 101, 101, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, - 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, - 104, 104, 105, 106, 107, 108, 109, 110, 110, 111, + 102, 103, 103, 103, 103, 103, 103, 103, 103, 103, + 103, 104, 104, 105, 106, 107, 108, 109, 110, 110, - 112, 112, 112, 113, 114, 114, 114, 114, 114, 114, - 114, 114, 115, 116, 117, 117, 118, 118, 118, 118, - 119, 120, 120, 120, 121, 121, 121, 121, 121, 121, - 121, 121, 121, 122, 123, 124, 124, 124, 125, 125, - 126, 126, 127, 127, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 129, 129, 129, 130, 131, 131, - 131, 131, 132, 132, 132, 132, 133, 133, 133, 134, - 135, 136, 136, 136, 136, 136, 136, 136, 136, 136, - 136, 136, 136, 136, 136, 136, 136, 137, 138, 138, - 138, 138, 138, 139, 140, 140, 140, 141, 141, 141, - - 141, 141, 141, 141, 141, 141, 142, 143, 144, 144, - 144, 145, 145, 145, 145, 146, 146, 147, 147, 147, - 147, 147, 147, 147, 148, 148, 148, 148, 148, 149, - 149, 149, 150, 150, 150, 151, 151, 152, 152, 153, - 154, 154, 154, 154, 154, 154, 154, 155, 155, 155, - 156, 156, 157, 157, 157, 158, 159, 160, 160, 160, - 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, - 161, 161, 161, 161, 161, 162, 162, 163, 164, 164, - 164, 164, 164, 164, 164, 164, 164, 164, 164, 165, - 165, 165, 165, 165, 165, 165, 165, 166, 166, 166, - - 167, 168, 169, 170, 171, 172, 173, 173, 173, 173, - 174, 174, 174, 174, 175, 176, 176, 177, 178, 178, - 178, 178, 178, 178, 178, 178, 178, 178, 179, 179, - 179, 180, 180, 180, 180, 180, 180, 180, 180, 181, - 182, 183, 183, 183, 184, 185, 186, 186, 186, 187, - 187, 187, 187, 187, 188, 188, 189, 190, 191, 192, - 192, 192, 192, 193, 193, 193, 194, 195, 196, 197, - 198, 198, 198, 199, 200, 201, 201, 201, 201, 201, - 201, 202, 202, 203, 203, 204, 205, 205, 205, 205, - 205, 205, 206, 206, 206, 206, 206, 206, 206, 206, - - 206, 207, 207, 207, 207, 207, 207, 207, 207, 207, - 207, 208, 208, 208, 208, 208, 209, 209, 209, 209, - 209, 210, 211, 212, 212, 213, 213, 213, 213, 213, - 214, 214, 214, 214, 215, 215, 216, 217, 217, 217, - 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, - 217, 218, 218, 218, 218, 218, 218, 218, 218, 219, - 219, 219, 219, 219, 219, 220, 220, 220, 220, 220, - 221, 221, 221, 222, 222, 222, 222, 222, 222, 222, - 222, 222, 222, 222, 222, 222, 222, 223, 223, 224, - 225, 226, 226, 227, 227, 228, 229, 230, 230, 231, + 111, 112, 112, 112, 113, 114, 114, 114, 114, 114, + 114, 114, 114, 115, 116, 117, 117, 118, 118, 118, + 118, 119, 120, 120, 120, 121, 121, 121, 121, 121, + 121, 121, 121, 121, 122, 123, 124, 124, 124, 125, + 125, 126, 126, 127, 127, 128, 128, 128, 128, 128, + 128, 128, 128, 128, 128, 129, 129, 129, 130, 131, + 131, 131, 131, 132, 132, 132, 132, 133, 133, 133, + 134, 135, 136, 136, 136, 136, 136, 136, 136, 136, + 136, 136, 136, 136, 136, 136, 136, 136, 136, 137, + 138, 138, 138, 138, 138, 139, 140, 140, 140, 141, + + 141, 141, 141, 141, 141, 141, 141, 141, 142, 143, + 144, 144, 144, 145, 145, 145, 145, 146, 146, 147, + 147, 147, 147, 147, 147, 147, 148, 148, 148, 148, + 148, 149, 149, 149, 150, 150, 150, 151, 151, 152, + 152, 153, 154, 154, 154, 154, 154, 154, 154, 155, + 155, 155, 156, 156, 157, 157, 157, 158, 159, 160, + 160, 160, 161, 161, 161, 161, 161, 161, 161, 161, + 161, 161, 161, 161, 161, 161, 161, 161, 162, 162, + 163, 164, 164, 164, 164, 164, 164, 164, 164, 164, + 164, 164, 165, 165, 165, 165, 165, 165, 165, 165, + + 166, 166, 166, 167, 168, 169, 170, 171, 172, 173, + 173, 173, 173, 174, 174, 174, 174, 175, 176, 176, + 177, 178, 178, 178, 178, 178, 178, 178, 178, 178, + 178, 179, 179, 179, 180, 180, 180, 180, 180, 181, + 181, 181, 181, 182, 183, 184, 184, 184, 185, 186, + 187, 187, 187, 188, 188, 188, 188, 188, 189, 189, + 190, 191, 192, 193, 193, 193, 193, 194, 194, 194, + 195, 196, 197, 198, 199, 199, 199, 200, 201, 202, + 202, 202, 202, 202, 202, 203, 203, 204, 204, 205, + 206, 206, 206, 206, 206, 206, 207, 207, 207, 207, + + 207, 207, 207, 207, 207, 208, 208, 208, 208, 208, + 208, 208, 208, 208, 208, 209, 209, 209, 209, 209, + 210, 210, 210, 210, 210, 211, 212, 213, 213, 214, + 214, 214, 214, 214, 215, 215, 215, 215, 216, 216, + 217, 218, 218, 218, 218, 218, 218, 218, 218, 218, + 218, 218, 218, 218, 218, 219, 219, 219, 219, 219, + 219, 219, 219, 220, 220, 220, 220, 220, 220, 221, + 221, 221, 221, 221, 222, 222, 222, 223, 223, 223, + 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, + 223, 224, 224, 225, 226, 227, 227, 228, 228, 229, - 231 + 230, 231, 231, 232, 232 } ; static yyconst int yy_ec[256] = @@ -460,149 +461,149 @@ 3, 3, 3 } ; -static yyconst short int yy_base[606] = +static yyconst short int yy_base[610] = { 0, - 0, 0, 1290, 1291, 1291, 1291, 1285, 1274, 36, 40, + 0, 0, 1298, 1299, 1299, 1299, 1293, 1282, 36, 40, 44, 50, 56, 62, 0, 63, 66, 81, 89, 47, 108, 91, 105, 96, 119, 68, 144, 128, 111, 170, - 136, 201, 130, 117, 132, 125, 1283, 1291, 1272, 1291, + 136, 201, 130, 117, 132, 125, 1291, 1299, 1280, 1299, 0, 175, 190, 207, 229, 70, 234, 249, 254, 0, - 139, 145, 167, 76, 168, 138, 255, 31, 1271, 177, - 90, 198, 48, 110, 258, 195, 221, 211, 200, 1270, + 139, 145, 167, 76, 168, 138, 255, 31, 1279, 177, + 90, 198, 48, 110, 258, 195, 221, 211, 200, 1278, 267, 269, 270, 156, 271, 272, 273, 217, 275, 276, - 219, 279, 288, 280, 300, 287, 268, 298, 296, 1269, - 307, 73, 309, 310, 312, 308, 315, 314, 316, 320, + 219, 279, 288, 280, 300, 287, 283, 306, 296, 1277, + 307, 73, 309, 310, 312, 308, 315, 316, 324, 320, - 324, 325, 162, 326, 328, 336, 342, 330, 349, 337, - 344, 348, 356, 361, 1268, 364, 331, 365, 367, 370, - 375, 368, 378, 402, 383, 394, 395, 403, 371, 241, - 379, 386, 1267, 0, 428, 433, 1266, 447, 464, 0, - 1265, 397, 404, 1264, 405, 412, 1263, 421, 1262, 441, - 437, 438, 417, 1261, 373, 449, 459, 465, 439, 451, - 1260, 467, 469, 472, 473, 474, 455, 478, 479, 481, - 484, 486, 487, 488, 490, 494, 491, 492, 493, 503, - 496, 509, 511, 515, 516, 517, 519, 520, 521, 1259, - 522, 1258, 1257, 1256, 1255, 1254, 1253, 389, 1252, 1251, - - 527, 523, 1250, 1249, 551, 529, 530, 539, 532, 563, - 542, 1248, 1247, 1246, 543, 1245, 142, 566, 533, 1244, - 1243, 419, 567, 1242, 568, 569, 570, 571, 576, 573, - 577, 579, 1241, 1240, 1239, 583, 587, 1238, 586, 1237, - 589, 1236, 592, 1235, 599, 594, 595, 596, 531, 602, - 612, 601, 616, 1234, 613, 618, 1291, 625, 639, 646, - 650, 655, 639, 619, 640, 1233, 658, 625, 1232, 1231, - 1230, 659, 660, 661, 662, 663, 665, 664, 669, 667, - 671, 670, 672, 674, 681, 673, 1229, 1228, 686, 687, - 692, 688, 1227, 1226, 696, 694, 1225, 695, 697, 698, - - 702, 701, 706, 705, 707, 1224, 1223, 1222, 708, 713, - 1221, 700, 717, 725, 0, 727, 1220, 729, 730, 731, - 732, 735, 738, 1219, 733, 739, 745, 750, 1218, 748, - 746, 1217, 752, 759, 1216, 762, 1215, 763, 1214, 1213, - 765, 766, 768, 767, 771, 764, 1212, 770, 773, 1211, - 779, 1210, 782, 783, 1209, 788, 1208, 788, 789, 1207, - 790, 798, 795, 799, 803, 801, 807, 809, 810, 811, - 814, 815, 816, 817, 1206, 818, 1205, 1204, 819, 821, - 823, 826, 827, 830, 836, 837, 839, 841, 1203, 843, - 844, 845, 847, 848, 855, 849, 1202, 851, 861, 1201, - - 1200, 1199, 1198, 1197, 1196, 1195, 863, 865, 866, 1194, - 867, 868, 871, 1193, 1192, 870, 1191, 1190, 872, 874, - 882, 873, 876, 886, 883, 877, 892, 1189, 893, 894, - 1188, 897, 898, 901, 902, 903, 904, 908, 1187, 1186, - 1185, 915, 907, 1184, 1183, 1182, 916, 912, 1181, 918, - 924, 931, 921, 1180, 932, 1179, 1178, 1177, 1176, 913, - 935, 937, 1175, 938, 940, 1174, 1173, 1172, 1171, 1170, - 942, 941, 1169, 1168, 1167, 943, 945, 948, 946, 949, - 1166, 951, 1165, 957, 1164, 1163, 960, 961, 46, 962, - 963, 1162, 964, 968, 965, 969, 970, 978, 971, 976, - - 1161, 979, 983, 989, 990, 988, 986, 996, 998, 1000, - 1160, 1001, 1005, 1006, 1007, 1159, 1002, 1010, 1008, 1013, - 1158, 1155, 1146, 1019, 1144, 1014, 1026, 1015, 1012, 1143, - 1034, 1035, 1024, 1142, 1020, 1141, 1139, 1039, 1036, 1038, - 1042, 1046, 1048, 1049, 1050, 1051, 1052, 1053, 1054, 1055, - 1138, 1057, 1059, 1063, 1065, 1070, 1072, 1066, 1137, 1068, - 1074, 1076, 1078, 1080, 1136, 1085, 1084, 1086, 1087, 1133, - 1090, 1092, 1132, 1096, 1098, 1100, 1102, 1103, 1109, 1106, - 1110, 1112, 1114, 1115, 1116, 1117, 1128, 1118, 910, 734, - 703, 1123, 629, 1125, 627, 597, 534, 1126, 334, 1291, + 326, 325, 162, 327, 328, 330, 344, 338, 347, 336, + 348, 354, 350, 358, 1276, 364, 357, 367, 369, 372, + 374, 373, 375, 399, 378, 389, 381, 391, 400, 241, + 394, 402, 1275, 0, 434, 438, 1274, 452, 469, 0, + 1273, 403, 409, 1272, 410, 418, 1271, 411, 1270, 421, + 438, 442, 422, 1269, 446, 456, 464, 470, 443, 413, + 444, 1268, 471, 380, 472, 474, 477, 460, 476, 481, + 479, 487, 488, 489, 493, 494, 490, 495, 491, 508, + 511, 501, 512, 513, 505, 516, 518, 522, 523, 416, + 1267, 525, 1266, 1265, 1264, 1263, 1262, 1261, 526, 1260, + + 1259, 530, 531, 1258, 1257, 559, 536, 535, 548, 532, + 563, 550, 1256, 1255, 1254, 549, 1253, 142, 533, 575, + 1252, 1251, 537, 576, 1250, 577, 579, 581, 582, 586, + 587, 583, 584, 1249, 1248, 1247, 585, 589, 1246, 588, + 1245, 590, 1244, 598, 1243, 602, 539, 604, 610, 612, + 613, 614, 616, 618, 1242, 623, 624, 1299, 635, 652, + 656, 660, 665, 625, 544, 626, 1241, 666, 635, 1240, + 1239, 1238, 629, 667, 668, 669, 670, 671, 672, 673, + 676, 674, 677, 678, 680, 681, 687, 695, 1237, 1236, + 693, 694, 698, 679, 1235, 1234, 699, 704, 1233, 706, + + 705, 707, 711, 710, 708, 712, 718, 1232, 1231, 1230, + 713, 719, 1229, 721, 725, 732, 0, 727, 1228, 738, + 735, 737, 740, 743, 744, 1227, 739, 627, 746, 754, + 1226, 747, 758, 1225, 759, 760, 1224, 767, 1223, 761, + 1222, 1221, 769, 771, 773, 772, 776, 777, 1220, 778, + 780, 1219, 784, 1218, 786, 787, 1217, 792, 1216, 792, + 795, 1215, 793, 798, 804, 806, 811, 802, 810, 812, + 814, 817, 820, 821, 822, 824, 825, 1214, 827, 1213, + 1212, 826, 830, 831, 828, 835, 840, 842, 844, 847, + 846, 1211, 851, 849, 852, 853, 854, 860, 857, 1210, + + 864, 867, 1209, 1208, 1207, 1206, 1205, 1204, 1203, 871, + 873, 872, 1202, 875, 874, 876, 1201, 1200, 877, 1199, + 1198, 878, 881, 884, 879, 889, 880, 894, 895, 898, + 1197, 903, 904, 1196, 905, 906, 907, 908, 1195, 909, + 910, 911, 1194, 1193, 1192, 919, 914, 1191, 1190, 1189, + 925, 920, 1188, 912, 930, 933, 926, 1187, 934, 1186, + 1185, 1184, 1183, 940, 942, 943, 1182, 944, 945, 1181, + 1180, 1179, 1178, 1177, 950, 946, 1176, 1175, 1174, 947, + 948, 956, 952, 951, 1173, 954, 1172, 957, 1171, 1170, + 966, 967, 46, 969, 971, 1169, 972, 973, 974, 976, + + 978, 983, 979, 982, 1168, 985, 986, 993, 997, 994, + 996, 1000, 1004, 1006, 1167, 1008, 1011, 1012, 1009, 1166, + 1013, 1014, 1015, 1016, 1165, 1164, 1161, 1020, 1152, 1021, + 1022, 1024, 1036, 1150, 1037, 1040, 1041, 1149, 1023, 1148, + 1147, 1043, 1047, 1026, 1050, 1051, 1052, 1053, 1057, 1058, + 1059, 1061, 1062, 1063, 1145, 1064, 1069, 1065, 1070, 1073, + 1079, 1072, 1144, 1075, 1083, 1076, 1086, 1087, 1143, 1089, + 1090, 1094, 1097, 1140, 1099, 1096, 1139, 1100, 1103, 1106, + 1108, 1109, 1111, 1112, 1116, 1118, 1120, 1121, 1122, 1123, + 1136, 1124, 1134, 741, 639, 1131, 591, 1133, 545, 497, - 1161, 1163, 296, 1167, 253 + 334, 1132, 331, 1299, 1167, 1169, 296, 1173, 253 } ; -static yyconst short int yy_def[606] = +static yyconst short int yy_def[610] = { 0, - 600, 1, 600, 600, 600, 600, 601, 602, 603, 600, - 602, 602, 602, 602, 604, 602, 602, 602, 602, 602, - 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, - 602, 602, 602, 602, 602, 602, 601, 600, 602, 600, - 605, 605, 600, 600, 602, 602, 602, 602, 602, 604, - 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, - 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, - 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, - 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, - 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, - - 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, - 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, - 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, - 602, 602, 600, 605, 605, 600, 602, 602, 602, 49, - 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, - 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, - 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, - 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, - 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, - 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, - - 602, 602, 602, 602, 49, 602, 602, 602, 602, 602, - 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, - 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, - 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, - 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, - 602, 602, 602, 602, 602, 602, 600, 600, 600, 600, - 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, - 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, - 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, - 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, - - 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, - 602, 602, 602, 602, 205, 602, 602, 602, 602, 602, - 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, - 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, - 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, - 602, 602, 602, 602, 602, 600, 602, 602, 602, 602, - 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, - 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, - 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, - 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, - - 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, - 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, - 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, - 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, - 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, - 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, - 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, - 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, - 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, - 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, - - 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, - 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, - 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, - 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, - 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, - 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, - 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, - 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, - 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, - 602, 602, 602, 602, 602, 602, 602, 602, 602, 0, + 604, 1, 604, 604, 604, 604, 605, 606, 607, 604, + 606, 606, 606, 606, 608, 606, 606, 606, 606, 606, + 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, + 606, 606, 606, 606, 606, 606, 605, 604, 606, 604, + 609, 609, 604, 604, 606, 606, 606, 606, 606, 608, + 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, + 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, + 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, + 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, + 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, + + 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, + 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, + 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, + 606, 606, 604, 609, 609, 604, 606, 606, 606, 49, + 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, + 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, + 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, + 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, + 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, + 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, + + 606, 606, 606, 606, 606, 49, 606, 606, 606, 606, + 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, + 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, + 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, + 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, + 606, 606, 606, 606, 606, 606, 606, 604, 604, 604, + 604, 606, 606, 606, 606, 606, 606, 606, 606, 606, + 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, + 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, + 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, + + 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, + 606, 606, 606, 606, 606, 606, 206, 606, 606, 606, + 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, + 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, + 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, + 606, 606, 606, 606, 606, 606, 606, 604, 606, 606, + 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, + 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, + 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, + 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, + + 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, + 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, + 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, + 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, + 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, + 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, + 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, + 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, + 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, + 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, + + 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, + 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, + 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, + 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, + 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, + 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, + 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, + 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, + 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, + 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, - 600, 600, 600, 600, 600 + 606, 606, 606, 0, 604, 604, 604, 604, 604 } ; -static yyconst short int yy_nxt[1335] = +static yyconst short int yy_nxt[1343] = { 0, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 14, 14, 4, 15, 8, 8, 8, 16, 17, @@ -612,127 +613,127 @@ 44, 44, 44, 45, 45, 45, 45, 40, 46, 40, 40, 40, 151, 40, 47, 48, 48, 48, 48, 40, 47, 48, 48, 48, 48, 40, 40, 69, 137, 40, - 70, 40, 157, 40, 51, 515, 40, 71, 56, 40, + 70, 40, 157, 40, 51, 519, 40, 71, 56, 40, 90, 52, 57, 53, 40, 54, 49, 58, 55, 60, - 59, 61, 40, 40, 40, 91, 192, 64, 145, 40, + 59, 61, 40, 40, 40, 91, 193, 64, 145, 40, 154, 65, 62, 78, 83, 66, 63, 67, 40, 79, 68, 40, 84, 40, 40, 80, 72, 85, 73, 74, 40, 86, 40, 101, 81, 82, 75, 87, 40, 129, 76, 40, 77, 40, 130, 40, 158, 132, 127, 40, 88, 40, 40, 98, 114, 40, 89, 40, 40, 99, - 141, 128, 148, 131, 100, 326, 92, 115, 93, 40, + 141, 128, 148, 131, 100, 328, 92, 115, 93, 40, 116, 142, 94, 143, 95, 40, 96, 117, 97, 102, - 40, 40, 170, 40, 135, 135, 135, 135, 144, 103, + 40, 40, 171, 40, 135, 135, 135, 135, 144, 103, 40, 104, 105, 146, 106, 107, 108, 147, 109, 43, - 43, 43, 43, 206, 110, 152, 111, 112, 40, 113, + 43, 43, 43, 207, 110, 152, 111, 112, 40, 113, 102, 40, 153, 40, 40, 136, 44, 44, 44, 44, - 118, 164, 119, 120, 40, 121, 155, 122, 156, 123, - 40, 124, 40, 161, 40, 125, 126, 47, 45, 45, - 45, 45, 40, 138, 138, 138, 138, 40, 163, 162, - 139, 178, 253, 175, 40, 134, 139, 47, 48, 48, + 118, 165, 119, 120, 40, 121, 155, 122, 156, 123, + 40, 124, 40, 162, 40, 125, 126, 47, 45, 45, + 45, 45, 40, 138, 138, 138, 138, 40, 164, 163, + 139, 179, 254, 176, 40, 134, 139, 47, 48, 48, 48, 48, 40, 140, 140, 140, 140, 40, 40, 140, 140, 40, 140, 140, 140, 140, 140, 140, 159, 149, - 40, 40, 40, 40, 40, 40, 40, 165, 40, 40, - 160, 150, 40, 40, 172, 174, 188, 167, 41, 169, + 40, 160, 40, 40, 40, 40, 40, 166, 40, 40, + 161, 150, 40, 40, 173, 175, 40, 168, 41, 170, - 40, 40, 171, 166, 168, 177, 176, 182, 173, 40, - 183, 40, 187, 40, 179, 180, 184, 181, 185, 189, - 40, 40, 40, 40, 190, 40, 198, 40, 40, 40, - 186, 193, 195, 40, 197, 191, 199, 40, 40, 40, - 200, 40, 201, 40, 40, 194, 196, 40, 208, 40, - 40, 218, 207, 203, 202, 40, 209, 40, 212, 222, - 204, 40, 40, 230, 210, 205, 219, 224, 211, 40, - 214, 220, 213, 215, 40, 223, 216, 40, 40, 217, - 40, 40, 225, 40, 40, 221, 40, 226, 40, 252, - 228, 40, 40, 232, 272, 227, 40, 234, 236, 40, - - 238, 229, 40, 233, 237, 247, 231, 40, 40, 239, - 40, 235, 249, 254, 240, 40, 40, 40, 40, 248, - 255, 263, 312, 241, 242, 40, 256, 265, 243, 250, - 40, 251, 40, 244, 40, 264, 245, 135, 135, 135, - 135, 246, 258, 258, 258, 258, 266, 267, 329, 259, - 40, 40, 40, 271, 40, 259, 138, 138, 138, 138, - 40, 268, 40, 139, 40, 269, 270, 276, 40, 139, - 260, 261, 40, 262, 262, 262, 262, 40, 40, 277, - 40, 274, 40, 275, 273, 40, 40, 40, 280, 278, - 285, 40, 40, 279, 40, 282, 283, 40, 281, 40, - - 40, 40, 289, 40, 40, 40, 40, 40, 284, 40, - 293, 287, 295, 296, 286, 299, 40, 294, 291, 288, - 298, 292, 40, 297, 40, 300, 290, 302, 40, 40, - 40, 303, 40, 40, 40, 40, 40, 306, 304, 301, - 40, 307, 40, 40, 40, 40, 40, 40, 309, 349, - 311, 305, 40, 308, 319, 40, 40, 313, 310, 314, - 315, 315, 315, 315, 328, 316, 315, 315, 317, 315, - 315, 315, 315, 315, 315, 318, 40, 325, 324, 40, - 40, 40, 40, 40, 40, 320, 40, 321, 327, 40, - 40, 322, 40, 323, 333, 337, 40, 332, 335, 40, - - 40, 330, 40, 334, 331, 40, 336, 40, 40, 40, - 40, 343, 40, 338, 40, 40, 342, 339, 341, 340, - 346, 345, 344, 350, 347, 40, 40, 348, 352, 40, - 351, 40, 40, 353, 258, 258, 258, 258, 40, 358, - 40, 259, 40, 361, 354, 260, 260, 259, 356, 356, - 356, 356, 40, 40, 355, 356, 356, 356, 356, 262, - 262, 262, 262, 40, 262, 262, 262, 262, 40, 357, - 359, 40, 40, 40, 40, 40, 40, 40, 40, 362, - 40, 366, 40, 40, 40, 40, 40, 40, 360, 371, - 365, 367, 374, 376, 40, 370, 363, 364, 369, 40, - - 40, 40, 372, 375, 368, 40, 373, 40, 40, 40, - 40, 40, 383, 40, 40, 40, 40, 384, 40, 40, - 40, 40, 377, 378, 382, 381, 40, 379, 388, 380, - 40, 385, 386, 387, 389, 391, 390, 394, 40, 392, - 40, 393, 40, 40, 40, 40, 40, 40, 40, 397, - 399, 40, 40, 395, 401, 398, 396, 403, 40, 40, - 405, 40, 407, 40, 400, 40, 411, 408, 402, 406, - 410, 404, 40, 409, 412, 40, 40, 40, 40, 40, - 40, 40, 414, 40, 40, 415, 40, 413, 416, 420, - 417, 418, 40, 419, 421, 40, 40, 356, 356, 356, - - 356, 40, 40, 40, 422, 425, 428, 423, 40, 427, - 429, 40, 40, 432, 40, 424, 40, 426, 431, 433, - 40, 434, 40, 40, 40, 430, 436, 40, 40, 40, - 40, 40, 40, 439, 40, 435, 40, 443, 444, 40, - 40, 437, 438, 40, 440, 445, 442, 446, 448, 40, - 40, 441, 40, 447, 40, 449, 40, 40, 40, 450, - 40, 40, 40, 454, 40, 457, 456, 452, 40, 458, - 459, 453, 451, 455, 40, 461, 40, 460, 40, 40, - 40, 40, 462, 40, 40, 40, 40, 40, 465, 40, - 40, 464, 467, 469, 472, 40, 40, 463, 466, 40, - - 475, 477, 470, 473, 468, 40, 40, 40, 471, 474, - 40, 40, 476, 478, 40, 40, 40, 40, 483, 480, - 40, 40, 479, 40, 485, 40, 40, 482, 40, 40, - 481, 40, 489, 490, 40, 487, 492, 40, 486, 488, - 494, 493, 484, 491, 40, 40, 495, 499, 40, 496, - 40, 40, 498, 40, 40, 40, 40, 497, 40, 40, - 502, 40, 40, 503, 40, 500, 505, 501, 504, 508, - 40, 506, 509, 40, 40, 40, 40, 40, 40, 510, - 507, 40, 40, 40, 40, 517, 518, 511, 512, 40, - 516, 40, 40, 520, 513, 514, 40, 521, 519, 40, - - 523, 40, 40, 40, 522, 527, 524, 528, 529, 40, - 530, 40, 525, 40, 40, 40, 532, 526, 40, 40, - 40, 40, 531, 40, 534, 40, 40, 40, 40, 538, - 539, 547, 40, 40, 533, 542, 544, 40, 535, 40, - 540, 536, 537, 546, 541, 543, 545, 40, 40, 40, - 550, 40, 40, 549, 548, 40, 551, 552, 553, 40, - 555, 40, 40, 40, 40, 40, 40, 40, 40, 558, - 40, 562, 40, 564, 554, 556, 40, 560, 40, 40, - 561, 40, 563, 40, 565, 40, 559, 40, 566, 40, - 557, 40, 569, 40, 570, 567, 573, 40, 40, 40, - - 40, 568, 571, 40, 574, 40, 575, 577, 576, 40, - 572, 40, 579, 40, 582, 40, 40, 580, 584, 40, - 578, 581, 40, 40, 583, 40, 585, 40, 40, 40, - 40, 40, 586, 591, 592, 593, 40, 587, 40, 40, - 588, 40, 589, 597, 590, 40, 40, 598, 596, 40, - 40, 40, 40, 595, 40, 40, 40, 40, 594, 40, - 599, 37, 37, 37, 37, 39, 39, 50, 40, 50, - 50, 40, 40, 40, 40, 40, 40, 40, 40, 40, + 40, 40, 172, 167, 169, 178, 177, 183, 174, 40, + 184, 189, 188, 40, 180, 181, 185, 182, 186, 40, + 40, 40, 40, 40, 191, 40, 199, 190, 40, 40, + 187, 194, 196, 40, 198, 192, 200, 40, 40, 40, + 40, 40, 201, 40, 40, 195, 197, 40, 209, 40, + 202, 40, 213, 208, 203, 204, 210, 40, 223, 219, + 40, 40, 205, 40, 211, 206, 214, 40, 212, 221, + 40, 40, 215, 225, 220, 216, 226, 40, 217, 224, + 40, 218, 40, 222, 227, 40, 40, 40, 40, 231, + 229, 40, 228, 40, 40, 233, 235, 239, 250, 282, + + 248, 230, 40, 237, 40, 234, 240, 40, 232, 238, + 236, 241, 40, 40, 249, 40, 40, 251, 253, 252, + 242, 243, 40, 40, 40, 244, 40, 264, 255, 40, + 245, 40, 266, 246, 40, 40, 256, 268, 247, 278, + 265, 269, 257, 135, 135, 135, 135, 259, 259, 259, + 259, 40, 267, 312, 260, 40, 40, 40, 272, 40, + 260, 138, 138, 138, 138, 40, 270, 273, 139, 40, + 271, 277, 279, 40, 139, 261, 262, 40, 263, 263, + 263, 263, 40, 40, 40, 40, 275, 40, 276, 40, + 40, 274, 40, 280, 40, 287, 284, 281, 283, 285, + + 40, 40, 40, 40, 40, 291, 40, 40, 40, 298, + 40, 286, 288, 289, 40, 295, 297, 290, 40, 300, + 293, 40, 296, 294, 40, 40, 40, 299, 292, 40, + 301, 40, 304, 302, 305, 40, 40, 308, 40, 40, + 306, 307, 309, 40, 40, 40, 40, 303, 40, 40, + 40, 311, 40, 313, 321, 329, 310, 40, 40, 314, + 315, 40, 40, 40, 360, 348, 331, 316, 317, 317, + 317, 317, 318, 319, 317, 317, 40, 317, 317, 317, + 317, 317, 317, 327, 320, 322, 326, 323, 40, 40, + 40, 324, 40, 325, 40, 40, 40, 40, 40, 40, + + 40, 40, 40, 40, 40, 335, 330, 334, 337, 339, + 332, 40, 345, 333, 336, 40, 338, 40, 344, 340, + 343, 342, 341, 40, 347, 40, 40, 40, 346, 40, + 351, 40, 353, 349, 352, 355, 40, 40, 40, 40, + 40, 350, 40, 354, 259, 259, 259, 259, 40, 364, + 410, 260, 40, 363, 356, 359, 361, 260, 261, 261, + 357, 358, 358, 358, 358, 358, 358, 358, 358, 263, + 263, 263, 263, 40, 263, 263, 263, 263, 40, 40, + 40, 40, 40, 40, 40, 40, 40, 40, 368, 40, + 40, 40, 40, 40, 40, 374, 362, 367, 370, 377, + + 40, 369, 373, 365, 366, 372, 40, 40, 40, 378, + 375, 40, 40, 371, 376, 379, 384, 40, 40, 40, + 40, 40, 386, 40, 40, 40, 40, 385, 387, 380, + 381, 40, 40, 382, 40, 383, 392, 391, 40, 388, + 40, 389, 390, 393, 395, 40, 394, 396, 40, 400, + 40, 40, 40, 40, 40, 402, 40, 40, 397, 40, + 40, 398, 404, 399, 401, 406, 408, 40, 411, 413, + 403, 40, 40, 40, 40, 409, 405, 412, 414, 407, + 40, 415, 40, 418, 40, 40, 40, 417, 416, 40, + 40, 40, 419, 40, 423, 420, 421, 40, 422, 40, + + 40, 358, 358, 358, 358, 40, 40, 424, 40, 428, + 431, 40, 425, 430, 426, 40, 432, 40, 434, 40, + 427, 429, 435, 40, 40, 40, 436, 40, 433, 437, + 40, 440, 439, 40, 40, 40, 438, 40, 40, 40, + 40, 40, 443, 40, 40, 447, 441, 448, 40, 442, + 452, 444, 449, 40, 446, 40, 450, 40, 445, 40, + 40, 451, 40, 453, 40, 40, 40, 40, 458, 454, + 40, 460, 461, 40, 456, 462, 463, 40, 455, 457, + 40, 459, 464, 465, 40, 40, 40, 40, 40, 40, + 40, 40, 40, 40, 40, 466, 469, 40, 473, 468, + + 471, 476, 40, 467, 470, 477, 480, 40, 40, 474, + 472, 40, 481, 479, 475, 478, 40, 40, 40, 40, + 40, 40, 40, 40, 40, 40, 487, 40, 483, 484, + 489, 482, 40, 40, 498, 486, 493, 494, 40, 40, + 485, 491, 492, 40, 490, 496, 40, 40, 488, 497, + 495, 500, 499, 40, 502, 40, 40, 40, 40, 40, + 40, 40, 501, 40, 40, 40, 506, 40, 507, 40, + 40, 509, 504, 505, 503, 510, 508, 512, 513, 40, + 40, 514, 40, 511, 40, 40, 40, 40, 516, 40, + 515, 40, 40, 521, 522, 40, 40, 520, 40, 40, + + 517, 518, 524, 523, 525, 527, 40, 40, 531, 40, + 40, 532, 526, 40, 528, 533, 534, 40, 529, 40, + 536, 40, 40, 530, 40, 40, 40, 40, 40, 40, + 538, 542, 535, 40, 40, 40, 40, 40, 546, 40, + 537, 543, 549, 548, 544, 539, 547, 540, 541, 40, + 40, 545, 550, 40, 40, 551, 40, 552, 553, 555, + 40, 556, 558, 40, 40, 40, 40, 554, 559, 557, + 40, 40, 40, 562, 40, 40, 40, 40, 40, 566, + 560, 568, 40, 40, 564, 40, 40, 565, 40, 40, + 567, 569, 40, 563, 561, 573, 40, 571, 570, 40, + + 40, 574, 40, 40, 578, 577, 572, 40, 575, 40, + 40, 581, 40, 40, 579, 580, 40, 576, 586, 40, + 583, 40, 40, 588, 40, 40, 582, 584, 587, 40, + 585, 40, 589, 40, 40, 40, 40, 40, 590, 595, + 596, 597, 592, 591, 40, 40, 40, 40, 593, 40, + 594, 601, 40, 40, 600, 602, 40, 40, 40, 599, + 40, 40, 40, 40, 598, 40, 603, 37, 37, 37, + 37, 39, 39, 50, 40, 50, 50, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, @@ -744,26 +745,27 @@ 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, - 257, 40, 40, 40, 40, 40, 133, 40, 38, 600, - 3, 600, 600, 600, 600, 600, 600, 600, 600, 600, + 40, 40, 40, 40, 40, 40, 40, 40, 258, 40, + 40, 40, 40, 40, 133, 40, 38, 604, 3, 604, - 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, - 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, - 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, - 600, 600, 600, 600 + 604, 604, 604, 604, 604, 604, 604, 604, 604, 604, + 604, 604, 604, 604, 604, 604, 604, 604, 604, 604, + 604, 604, 604, 604, 604, 604, 604, 604, 604, 604, + 604, 604, 604, 604, 604, 604, 604, 604, 604, 604, + 604, 604 } ; -static yyconst short int yy_chk[1335] = +static yyconst short int yy_chk[1343] = { 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 9, 58, 9, 9, 9, 9, 10, - 10, 10, 10, 11, 11, 11, 11, 11, 12, 489, + 10, 10, 10, 11, 11, 11, 11, 11, 12, 493, 20, 63, 58, 12, 13, 13, 13, 13, 13, 13, 14, 14, 14, 14, 14, 14, 16, 20, 46, 17, - 20, 26, 63, 46, 16, 489, 92, 20, 17, 54, + 20, 26, 63, 46, 16, 493, 92, 20, 17, 54, 26, 16, 17, 16, 18, 16, 13, 17, 16, 18, 17, 18, 19, 61, 22, 26, 92, 19, 54, 24, @@ -771,8 +773,8 @@ 19, 21, 24, 64, 29, 23, 21, 24, 21, 21, 34, 24, 25, 29, 23, 23, 21, 25, 36, 34, 21, 28, 21, 33, 35, 35, 64, 36, 33, 31, - 25, 56, 51, 28, 31, 217, 25, 27, 52, 28, - 51, 33, 56, 35, 28, 217, 27, 31, 27, 74, + 25, 56, 51, 28, 31, 218, 25, 27, 52, 28, + 51, 33, 56, 35, 28, 218, 27, 31, 27, 74, 31, 52, 27, 52, 27, 103, 27, 31, 27, 30, 53, 55, 74, 30, 42, 42, 42, 42, 53, 30, 60, 30, 30, 55, 30, 30, 30, 55, 30, 43, @@ -782,126 +784,127 @@ 32, 69, 32, 32, 68, 32, 62, 32, 62, 32, 78, 32, 81, 66, 67, 32, 32, 45, 45, 45, 45, 45, 45, 47, 47, 47, 47, 47, 68, 67, - 47, 81, 130, 78, 130, 605, 47, 48, 48, 48, + 47, 81, 130, 78, 130, 609, 47, 48, 48, 48, 48, 48, 48, 49, 49, 49, 49, 49, 57, 49, 49, 65, 49, 49, 49, 49, 49, 49, 65, 57, - 71, 87, 72, 73, 75, 76, 77, 71, 79, 80, - 65, 57, 82, 84, 76, 77, 87, 72, 603, 73, + 71, 65, 72, 73, 75, 76, 77, 71, 79, 80, + 65, 57, 82, 84, 76, 77, 87, 72, 607, 73, 86, 83, 75, 71, 72, 80, 79, 83, 76, 89, - 84, 88, 86, 85, 82, 82, 84, 82, 85, 88, - 91, 96, 93, 94, 89, 95, 96, 98, 97, 99, - 85, 93, 94, 100, 95, 91, 97, 101, 102, 104, - 98, 105, 99, 108, 117, 93, 94, 599, 105, 106, - 110, 108, 104, 101, 100, 107, 105, 111, 106, 110, - 101, 112, 109, 117, 105, 102, 108, 112, 105, 113, - 107, 109, 106, 107, 114, 111, 107, 116, 118, 107, - 119, 122, 113, 120, 129, 109, 155, 114, 121, 129, - 116, 123, 131, 119, 155, 114, 125, 121, 122, 132, - - 123, 116, 198, 120, 122, 125, 118, 126, 127, 123, - 142, 121, 127, 131, 123, 124, 128, 143, 145, 126, - 132, 142, 198, 124, 124, 146, 132, 145, 124, 128, - 153, 128, 222, 124, 148, 143, 124, 135, 135, 135, - 135, 124, 136, 136, 136, 136, 146, 148, 222, 136, - 151, 152, 159, 153, 150, 136, 138, 138, 138, 138, - 138, 150, 156, 138, 160, 151, 152, 159, 167, 138, - 139, 139, 157, 139, 139, 139, 139, 139, 158, 160, - 162, 157, 163, 158, 156, 164, 165, 166, 163, 162, - 167, 168, 169, 162, 170, 165, 166, 171, 164, 172, - - 173, 174, 171, 175, 177, 178, 179, 176, 166, 181, - 174, 169, 175, 176, 168, 179, 180, 174, 173, 170, - 178, 173, 182, 177, 183, 180, 172, 181, 184, 185, - 186, 182, 187, 188, 189, 191, 202, 185, 183, 180, - 201, 186, 206, 207, 249, 209, 219, 597, 188, 249, - 191, 184, 208, 187, 209, 211, 215, 201, 189, 202, - 205, 205, 205, 205, 219, 206, 205, 205, 207, 205, - 205, 205, 205, 205, 205, 208, 210, 215, 211, 218, - 223, 225, 226, 227, 228, 210, 230, 210, 218, 229, - 231, 210, 232, 210, 227, 230, 236, 226, 229, 239, - - 237, 223, 241, 228, 225, 243, 229, 246, 247, 248, - 596, 241, 245, 231, 252, 250, 239, 232, 237, 236, - 246, 245, 243, 250, 247, 251, 255, 248, 252, 253, - 251, 256, 264, 253, 258, 258, 258, 258, 268, 264, - 595, 258, 593, 268, 255, 259, 259, 258, 259, 259, - 259, 259, 263, 265, 256, 260, 260, 260, 260, 261, - 261, 261, 261, 261, 262, 262, 262, 262, 262, 263, - 265, 267, 272, 273, 274, 275, 276, 278, 277, 272, - 280, 276, 279, 282, 281, 283, 286, 284, 267, 281, - 275, 277, 284, 286, 285, 280, 273, 274, 279, 289, - - 290, 292, 282, 285, 278, 291, 283, 296, 298, 295, - 299, 300, 296, 312, 302, 301, 591, 298, 304, 303, - 305, 309, 289, 290, 295, 292, 310, 291, 302, 291, - 313, 299, 300, 301, 303, 305, 304, 312, 314, 309, - 316, 310, 318, 319, 320, 321, 325, 590, 322, 316, - 319, 323, 326, 313, 321, 318, 314, 322, 327, 331, - 323, 330, 326, 328, 320, 333, 331, 327, 321, 325, - 330, 322, 334, 328, 333, 336, 338, 346, 341, 342, - 344, 343, 336, 348, 345, 338, 349, 334, 341, 345, - 342, 343, 351, 344, 346, 353, 354, 356, 356, 356, - - 356, 358, 359, 361, 348, 353, 358, 349, 363, 354, - 359, 362, 364, 363, 366, 351, 365, 353, 362, 364, - 367, 365, 368, 369, 370, 361, 367, 371, 372, 373, - 374, 376, 379, 370, 380, 366, 381, 374, 376, 382, - 383, 368, 369, 384, 371, 379, 373, 380, 382, 385, - 386, 372, 387, 381, 388, 383, 390, 391, 392, 384, - 393, 394, 396, 388, 398, 392, 391, 386, 395, 393, - 394, 387, 385, 390, 399, 396, 407, 395, 408, 409, - 411, 412, 398, 416, 413, 419, 422, 420, 408, 423, - 426, 407, 411, 413, 420, 421, 425, 399, 409, 424, - - 423, 425, 416, 421, 412, 427, 429, 430, 419, 422, - 432, 433, 424, 426, 434, 435, 436, 437, 433, 429, - 443, 438, 427, 589, 435, 448, 460, 432, 442, 447, - 430, 450, 442, 442, 453, 437, 447, 451, 436, 438, - 450, 448, 434, 443, 452, 455, 451, 460, 461, 452, - 462, 464, 455, 465, 472, 471, 476, 453, 477, 479, - 464, 478, 480, 465, 482, 461, 472, 462, 471, 478, - 484, 476, 479, 487, 488, 490, 491, 493, 495, 480, - 477, 494, 496, 497, 499, 491, 493, 482, 484, 500, - 490, 498, 502, 495, 487, 488, 503, 496, 494, 507, - - 498, 506, 504, 505, 497, 503, 499, 504, 505, 508, - 506, 509, 500, 510, 512, 517, 508, 502, 513, 514, - 515, 519, 507, 518, 510, 529, 520, 526, 528, 515, - 517, 529, 524, 535, 509, 520, 526, 533, 512, 527, - 518, 513, 514, 528, 519, 524, 527, 531, 532, 539, - 533, 540, 538, 532, 531, 541, 535, 538, 539, 542, - 541, 543, 544, 545, 546, 547, 548, 549, 550, 544, - 552, 548, 553, 550, 540, 542, 554, 546, 555, 558, - 547, 560, 549, 556, 552, 557, 545, 561, 553, 562, - 543, 563, 556, 564, 557, 554, 561, 567, 566, 568, - - 569, 555, 558, 571, 562, 572, 563, 566, 564, 574, - 560, 575, 568, 576, 572, 577, 578, 569, 575, 580, - 567, 571, 579, 581, 574, 582, 576, 583, 584, 585, - 586, 588, 577, 582, 583, 584, 592, 578, 594, 598, - 579, 587, 580, 592, 581, 573, 570, 594, 588, 565, - 559, 551, 537, 586, 536, 534, 530, 525, 585, 523, - 598, 601, 601, 601, 601, 602, 602, 604, 522, 604, - 604, 521, 516, 511, 501, 492, 486, 485, 483, 481, - 475, 474, 473, 470, 469, 468, 467, 466, 463, 459, - 458, 457, 456, 454, 449, 446, 445, 444, 441, 440, - - 439, 431, 428, 418, 417, 415, 414, 410, 406, 405, - 404, 403, 402, 401, 400, 397, 389, 378, 377, 375, - 360, 357, 355, 352, 350, 347, 340, 339, 337, 335, - 332, 329, 324, 317, 311, 308, 307, 306, 297, 294, - 293, 288, 287, 271, 270, 269, 266, 254, 244, 242, - 240, 238, 235, 234, 233, 224, 221, 220, 216, 214, - 213, 212, 204, 203, 200, 199, 197, 196, 195, 194, - 193, 192, 190, 161, 154, 149, 147, 144, 141, 137, - 133, 115, 90, 70, 59, 39, 37, 8, 7, 3, - 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, - - 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, - 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, - 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, - 600, 600, 600, 600 + 84, 87, 86, 85, 82, 82, 84, 82, 85, 88, + 91, 96, 93, 94, 89, 95, 96, 88, 97, 98, + 85, 93, 94, 100, 95, 91, 97, 99, 102, 101, + 104, 105, 98, 106, 603, 93, 94, 601, 105, 110, + 99, 108, 106, 104, 100, 101, 105, 107, 110, 108, + 109, 111, 101, 113, 105, 102, 106, 112, 105, 109, + 117, 114, 107, 112, 108, 107, 113, 116, 107, 111, + 118, 107, 119, 109, 114, 120, 122, 121, 123, 117, + 116, 125, 114, 164, 127, 119, 121, 123, 127, 164, + + 125, 116, 126, 122, 128, 120, 123, 131, 118, 122, + 121, 123, 124, 129, 126, 132, 142, 128, 129, 128, + 124, 124, 143, 145, 148, 124, 160, 142, 131, 190, + 124, 146, 145, 124, 150, 153, 132, 148, 124, 160, + 143, 150, 132, 135, 135, 135, 135, 136, 136, 136, + 136, 151, 146, 190, 136, 152, 159, 161, 153, 155, + 136, 138, 138, 138, 138, 138, 151, 155, 138, 156, + 152, 159, 161, 168, 138, 139, 139, 157, 139, 139, + 139, 139, 139, 158, 163, 165, 157, 166, 158, 169, + 167, 156, 171, 163, 170, 168, 166, 163, 165, 167, + + 172, 173, 174, 177, 179, 172, 175, 176, 178, 177, + 600, 167, 169, 170, 182, 175, 176, 171, 185, 179, + 174, 180, 175, 174, 181, 183, 184, 178, 173, 186, + 180, 187, 182, 181, 183, 188, 189, 186, 192, 199, + 184, 185, 187, 202, 203, 210, 219, 181, 208, 207, + 223, 189, 247, 192, 210, 219, 188, 265, 599, 199, + 202, 209, 216, 212, 265, 247, 223, 203, 206, 206, + 206, 206, 207, 208, 206, 206, 211, 206, 206, 206, + 206, 206, 206, 216, 209, 211, 212, 211, 220, 224, + 226, 211, 227, 211, 228, 229, 232, 233, 237, 230, + + 231, 240, 238, 242, 597, 228, 220, 227, 230, 231, + 224, 244, 242, 226, 229, 246, 230, 248, 240, 232, + 238, 237, 233, 249, 246, 250, 251, 252, 244, 253, + 250, 254, 252, 248, 251, 254, 256, 257, 264, 266, + 328, 249, 273, 253, 259, 259, 259, 259, 269, 273, + 328, 259, 595, 269, 256, 264, 266, 259, 260, 260, + 257, 260, 260, 260, 260, 261, 261, 261, 261, 262, + 262, 262, 262, 262, 263, 263, 263, 263, 263, 268, + 274, 275, 276, 277, 278, 279, 280, 282, 277, 281, + 283, 284, 294, 285, 286, 283, 268, 276, 279, 286, + + 287, 278, 282, 274, 275, 281, 291, 292, 288, 287, + 284, 293, 297, 280, 285, 288, 294, 298, 301, 300, + 302, 305, 298, 304, 303, 306, 311, 297, 300, 291, + 292, 307, 312, 293, 314, 293, 305, 304, 315, 301, + 318, 302, 303, 306, 311, 316, 307, 312, 321, 318, + 322, 320, 327, 323, 594, 321, 324, 325, 314, 329, + 332, 315, 323, 316, 320, 324, 325, 330, 329, 332, + 322, 333, 335, 336, 340, 327, 323, 330, 333, 324, + 338, 335, 343, 340, 344, 346, 345, 338, 336, 347, + 348, 350, 343, 351, 347, 344, 345, 353, 346, 355, + + 356, 358, 358, 358, 358, 360, 363, 348, 361, 355, + 360, 364, 350, 356, 351, 368, 361, 365, 364, 366, + 353, 355, 365, 369, 367, 370, 366, 371, 363, 367, + 372, 370, 369, 373, 374, 375, 368, 376, 377, 382, + 379, 385, 373, 383, 384, 377, 371, 379, 386, 372, + 385, 374, 382, 387, 376, 388, 383, 389, 375, 391, + 390, 384, 394, 386, 393, 395, 396, 397, 391, 387, + 399, 394, 395, 398, 389, 396, 397, 401, 388, 390, + 402, 393, 398, 399, 410, 412, 411, 415, 414, 416, + 419, 422, 425, 427, 423, 401, 411, 424, 416, 410, + + 414, 423, 426, 402, 412, 424, 427, 428, 429, 419, + 415, 430, 428, 426, 422, 425, 432, 433, 435, 436, + 437, 438, 440, 441, 442, 454, 436, 447, 430, 432, + 438, 429, 446, 452, 454, 435, 446, 446, 451, 457, + 433, 441, 442, 455, 440, 451, 456, 459, 437, 452, + 447, 456, 455, 464, 459, 465, 466, 468, 469, 476, + 480, 481, 457, 475, 484, 483, 468, 486, 469, 482, + 488, 476, 465, 466, 464, 480, 475, 482, 483, 491, + 492, 484, 494, 481, 495, 497, 498, 499, 488, 500, + 486, 501, 503, 495, 497, 504, 502, 494, 506, 507, + + 491, 492, 499, 498, 500, 502, 508, 510, 507, 511, + 509, 508, 501, 512, 503, 509, 510, 513, 504, 514, + 512, 516, 519, 506, 517, 518, 521, 522, 523, 524, + 514, 519, 511, 528, 530, 531, 539, 532, 524, 544, + 513, 521, 531, 530, 522, 516, 528, 517, 518, 533, + 535, 523, 532, 536, 537, 533, 542, 535, 536, 539, + 543, 542, 544, 545, 546, 547, 548, 537, 545, 543, + 549, 550, 551, 548, 552, 553, 554, 556, 558, 552, + 546, 554, 557, 559, 550, 562, 560, 551, 564, 566, + 553, 556, 561, 549, 547, 560, 565, 558, 557, 567, + + 568, 561, 570, 571, 566, 565, 559, 572, 562, 576, + 573, 570, 575, 578, 567, 568, 579, 564, 576, 580, + 572, 581, 582, 579, 583, 584, 571, 573, 578, 585, + 575, 586, 580, 587, 588, 589, 590, 592, 581, 586, + 587, 588, 583, 582, 596, 602, 598, 593, 584, 591, + 585, 596, 577, 574, 592, 598, 569, 563, 555, 590, + 541, 540, 538, 534, 589, 529, 602, 605, 605, 605, + 605, 606, 606, 608, 527, 608, 608, 526, 525, 520, + 515, 505, 496, 490, 489, 487, 485, 479, 478, 477, + 474, 473, 472, 471, 470, 467, 463, 462, 461, 460, + + 458, 453, 450, 449, 448, 445, 444, 443, 439, 434, + 431, 421, 420, 418, 417, 413, 409, 408, 407, 406, + 405, 404, 403, 400, 392, 381, 380, 378, 362, 359, + 357, 354, 352, 349, 342, 341, 339, 337, 334, 331, + 326, 319, 313, 310, 309, 308, 299, 296, 295, 290, + 289, 272, 271, 270, 267, 255, 245, 243, 241, 239, + 236, 235, 234, 225, 222, 221, 217, 215, 214, 213, + 205, 204, 201, 200, 198, 197, 196, 195, 194, 193, + 191, 162, 154, 149, 147, 144, 141, 137, 133, 115, + 90, 70, 59, 39, 37, 8, 7, 3, 604, 604, + + 604, 604, 604, 604, 604, 604, 604, 604, 604, 604, + 604, 604, 604, 604, 604, 604, 604, 604, 604, 604, + 604, 604, 604, 604, 604, 604, 604, 604, 604, 604, + 604, 604, 604, 604, 604, 604, 604, 604, 604, 604, + 604, 604 } ; static yy_state_type yy_state_buf[YY_BUF_SIZE + 2], *yy_state_ptr; @@ -918,7 +921,7 @@ #define YY_MORE_ADJ 0 #define YY_RESTORE_YY_MORE_OFFSET char *yytext; -#line 1 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" +#line 1 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" #define INITIAL 0 /*===-- UpgradeLexer.l - Scanner for 1.9 assembly files --------*- C++ -*--===// // @@ -933,7 +936,7 @@ // //===----------------------------------------------------------------------===*/ #define YY_NEVER_INTERACTIVE 1 -#line 28 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" +#line 28 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" #include "ParserInternals.h" #include "UpgradeParser.h" @@ -979,7 +982,7 @@ /* HexIntConstant - Hexadecimal constant generated by the CFE to avoid forcing * it to deal with 64 bit numbers. */ -#line 983 "UpgradeLexer.cpp" +#line 986 "UpgradeLexer.cpp" /* Macros after this point can all be overridden by user definitions in * section 1. @@ -1130,10 +1133,10 @@ register char *yy_cp = NULL, *yy_bp = NULL; register int yy_act; -#line 99 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" +#line 99 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" -#line 1137 "UpgradeLexer.cpp" +#line 1140 "UpgradeLexer.cpp" if ( yy_init ) { @@ -1181,14 +1184,14 @@ while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 601 ) + if ( yy_current_state >= 605 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; *yy_state_ptr++ = yy_current_state; ++yy_cp; } - while ( yy_current_state != 600 ); + while ( yy_current_state != 604 ); yy_find_action: yy_current_state = *--yy_state_ptr; @@ -1226,756 +1229,761 @@ { /* beginning of action switch */ case 1: YY_RULE_SETUP -#line 101 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" +#line 101 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" { /* Ignore comments for now */ } YY_BREAK case 2: YY_RULE_SETUP -#line 103 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" +#line 103 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" { RET_TOK( BEGINTOK); } YY_BREAK case 3: YY_RULE_SETUP -#line 104 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" +#line 104 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" { RET_TOK( ENDTOK); } YY_BREAK case 4: YY_RULE_SETUP -#line 105 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" +#line 105 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" { RET_TOK( TRUETOK); } YY_BREAK case 5: YY_RULE_SETUP -#line 106 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" +#line 106 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" { RET_TOK( FALSETOK); } YY_BREAK case 6: YY_RULE_SETUP -#line 107 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" +#line 107 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" { RET_TOK( DECLARE); } YY_BREAK case 7: YY_RULE_SETUP -#line 108 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( GLOBAL); } +#line 108 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( DEFINE); } YY_BREAK case 8: YY_RULE_SETUP -#line 109 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( CONSTANT); } +#line 109 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( GLOBAL); } YY_BREAK case 9: YY_RULE_SETUP -#line 110 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( INTERNAL); } +#line 110 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( CONSTANT); } YY_BREAK case 10: YY_RULE_SETUP -#line 111 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( LINKONCE); } +#line 111 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( INTERNAL); } YY_BREAK case 11: YY_RULE_SETUP -#line 112 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( WEAK); } +#line 112 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( LINKONCE); } YY_BREAK case 12: YY_RULE_SETUP -#line 113 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( APPENDING); } +#line 113 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( WEAK); } YY_BREAK case 13: YY_RULE_SETUP -#line 114 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( DLLIMPORT); } +#line 114 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( APPENDING); } YY_BREAK case 14: YY_RULE_SETUP -#line 115 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( DLLEXPORT); } +#line 115 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( DLLIMPORT); } YY_BREAK case 15: YY_RULE_SETUP -#line 116 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( EXTERN_WEAK); } +#line 116 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( DLLEXPORT); } YY_BREAK case 16: YY_RULE_SETUP -#line 117 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( EXTERNAL); } +#line 117 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( EXTERN_WEAK); } YY_BREAK case 17: YY_RULE_SETUP -#line 118 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( UNINITIALIZED); } // alias for external +#line 118 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( EXTERNAL); } YY_BREAK case 18: YY_RULE_SETUP -#line 119 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( IMPLEMENTATION); } +#line 119 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( UNINITIALIZED); } // alias for external YY_BREAK case 19: YY_RULE_SETUP -#line 120 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( ZEROINITIALIZER); } +#line 120 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( IMPLEMENTATION); } YY_BREAK case 20: YY_RULE_SETUP -#line 121 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( DOTDOTDOT); } +#line 121 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( ZEROINITIALIZER); } YY_BREAK case 21: YY_RULE_SETUP -#line 122 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( UNDEF); } +#line 122 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( DOTDOTDOT); } YY_BREAK case 22: YY_RULE_SETUP -#line 123 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( NULL_TOK); } +#line 123 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( UNDEF); } YY_BREAK case 23: YY_RULE_SETUP -#line 124 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( TO); } +#line 124 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( NULL_TOK); } YY_BREAK case 24: YY_RULE_SETUP -#line 125 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( TAIL); } +#line 125 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( TO); } YY_BREAK case 25: YY_RULE_SETUP -#line 126 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( TARGET); } +#line 126 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( TAIL); } YY_BREAK case 26: YY_RULE_SETUP -#line 127 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( TRIPLE); } +#line 127 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( TARGET); } YY_BREAK case 27: YY_RULE_SETUP -#line 128 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( DEPLIBS); } +#line 128 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( TRIPLE); } YY_BREAK case 28: YY_RULE_SETUP -#line 129 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( ENDIAN); } +#line 129 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( DEPLIBS); } YY_BREAK case 29: YY_RULE_SETUP -#line 130 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( POINTERSIZE); } +#line 130 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( ENDIAN); } YY_BREAK case 30: YY_RULE_SETUP -#line 131 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( DATALAYOUT); } +#line 131 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( POINTERSIZE); } YY_BREAK case 31: YY_RULE_SETUP -#line 132 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( LITTLE); } +#line 132 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( DATALAYOUT); } YY_BREAK case 32: YY_RULE_SETUP -#line 133 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( BIG); } +#line 133 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( LITTLE); } YY_BREAK case 33: YY_RULE_SETUP -#line 134 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( VOLATILE); } +#line 134 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( BIG); } YY_BREAK case 34: YY_RULE_SETUP -#line 135 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( ALIGN); } +#line 135 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( VOLATILE); } YY_BREAK case 35: YY_RULE_SETUP -#line 136 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( SECTION); } +#line 136 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( ALIGN); } YY_BREAK case 36: YY_RULE_SETUP -#line 137 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( MODULE); } +#line 137 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( SECTION); } YY_BREAK case 37: YY_RULE_SETUP -#line 138 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( ASM_TOK); } +#line 138 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( MODULE); } YY_BREAK case 38: YY_RULE_SETUP -#line 139 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( SIDEEFFECT); } +#line 139 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( ASM_TOK); } YY_BREAK case 39: YY_RULE_SETUP -#line 141 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( CC_TOK); } +#line 140 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( SIDEEFFECT); } YY_BREAK case 40: YY_RULE_SETUP -#line 142 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( CCC_TOK); } +#line 142 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( CC_TOK); } YY_BREAK case 41: YY_RULE_SETUP -#line 143 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( CSRETCC_TOK); } +#line 143 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( CCC_TOK); } YY_BREAK case 42: YY_RULE_SETUP -#line 144 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( FASTCC_TOK); } +#line 144 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( CSRETCC_TOK); } YY_BREAK case 43: YY_RULE_SETUP -#line 145 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( COLDCC_TOK); } +#line 145 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( FASTCC_TOK); } YY_BREAK case 44: YY_RULE_SETUP -#line 146 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( X86_STDCALLCC_TOK); } +#line 146 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( COLDCC_TOK); } YY_BREAK case 45: YY_RULE_SETUP -#line 147 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( X86_FASTCALLCC_TOK); } +#line 147 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( X86_STDCALLCC_TOK); } YY_BREAK case 46: YY_RULE_SETUP -#line 149 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TY(VOID,VoidTy,"void",false); } +#line 148 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( X86_FASTCALLCC_TOK); } YY_BREAK case 47: YY_RULE_SETUP -#line 150 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TY(BOOL,BoolTy,"bool",false); } +#line 150 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TY(VOID,VoidTy,"void",false); } YY_BREAK case 48: YY_RULE_SETUP -#line 151 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TY(SBYTE,SByteTy,"sbyte",true); } +#line 151 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TY(BOOL,BoolTy,"bool",false); } YY_BREAK case 49: YY_RULE_SETUP -#line 152 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TY(UBYTE,UByteTy,"ubyte",false); } +#line 152 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TY(SBYTE,SByteTy,"sbyte",true); } YY_BREAK case 50: YY_RULE_SETUP -#line 153 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TY(SHORT,ShortTy,"short",true); } +#line 153 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TY(UBYTE,UByteTy,"ubyte",false); } YY_BREAK case 51: YY_RULE_SETUP -#line 154 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TY(USHORT,UShortTy,"ushort",false); } +#line 154 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TY(SHORT,ShortTy,"short",true); } YY_BREAK case 52: YY_RULE_SETUP -#line 155 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TY(INT,IntTy,"int",true); } +#line 155 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TY(USHORT,UShortTy,"ushort",false); } YY_BREAK case 53: YY_RULE_SETUP -#line 156 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TY(UINT,UIntTy,"uint",false); } +#line 156 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TY(INT,IntTy,"int",true); } YY_BREAK case 54: YY_RULE_SETUP -#line 157 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TY(LONG,LongTy,"long",true); } +#line 157 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TY(UINT,UIntTy,"uint",false); } YY_BREAK case 55: YY_RULE_SETUP -#line 158 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TY(ULONG,ULongTy,"ulong",false); } +#line 158 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TY(LONG,LongTy,"long",true); } YY_BREAK case 56: YY_RULE_SETUP -#line 159 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TY(FLOAT,FloatTy,"float",false); } +#line 159 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TY(ULONG,ULongTy,"ulong",false); } YY_BREAK case 57: YY_RULE_SETUP -#line 160 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TY(DOUBLE,DoubleTy,"double",false); } +#line 160 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TY(FLOAT,FloatTy,"float",false); } YY_BREAK case 58: YY_RULE_SETUP -#line 161 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TY(LABEL,LabelTy,"label",false); } +#line 161 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TY(DOUBLE,DoubleTy,"double",false); } YY_BREAK case 59: YY_RULE_SETUP -#line 162 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK(OPAQUE); } +#line 162 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TY(LABEL,LabelTy,"label",false); } YY_BREAK case 60: YY_RULE_SETUP -#line 163 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK(TYPE); } +#line 163 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK(OPAQUE); } YY_BREAK case 61: YY_RULE_SETUP -#line 165 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( ADD); } +#line 164 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK(TYPE); } YY_BREAK case 62: YY_RULE_SETUP -#line 166 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( SUB); } +#line 166 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( ADD); } YY_BREAK case 63: YY_RULE_SETUP -#line 167 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( MUL); } +#line 167 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( SUB); } YY_BREAK case 64: YY_RULE_SETUP -#line 168 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( DIV); } +#line 168 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( MUL); } YY_BREAK case 65: YY_RULE_SETUP -#line 169 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( UDIV); } +#line 169 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( DIV); } YY_BREAK case 66: YY_RULE_SETUP -#line 170 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( SDIV); } +#line 170 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( UDIV); } YY_BREAK case 67: YY_RULE_SETUP -#line 171 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( FDIV); } +#line 171 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( SDIV); } YY_BREAK case 68: YY_RULE_SETUP -#line 172 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( REM); } +#line 172 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( FDIV); } YY_BREAK case 69: YY_RULE_SETUP -#line 173 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( UREM); } +#line 173 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( REM); } YY_BREAK case 70: YY_RULE_SETUP -#line 174 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( SREM); } +#line 174 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( UREM); } YY_BREAK case 71: YY_RULE_SETUP -#line 175 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( FREM); } +#line 175 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( SREM); } YY_BREAK case 72: YY_RULE_SETUP -#line 176 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( AND); } +#line 176 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( FREM); } YY_BREAK case 73: YY_RULE_SETUP -#line 177 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( OR); } +#line 177 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( AND); } YY_BREAK case 74: YY_RULE_SETUP -#line 178 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( XOR); } +#line 178 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( OR); } YY_BREAK case 75: YY_RULE_SETUP -#line 179 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( SETNE); } +#line 179 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( XOR); } YY_BREAK case 76: YY_RULE_SETUP -#line 180 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( SETEQ); } +#line 180 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( SETNE); } YY_BREAK case 77: YY_RULE_SETUP -#line 181 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( SETLT); } +#line 181 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( SETEQ); } YY_BREAK case 78: YY_RULE_SETUP -#line 182 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( SETGT); } +#line 182 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( SETLT); } YY_BREAK case 79: YY_RULE_SETUP -#line 183 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( SETLE); } +#line 183 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( SETGT); } YY_BREAK case 80: YY_RULE_SETUP -#line 184 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( SETGE); } +#line 184 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( SETLE); } YY_BREAK case 81: YY_RULE_SETUP -#line 185 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK(ICMP); } +#line 185 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( SETGE); } YY_BREAK case 82: YY_RULE_SETUP -#line 186 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK(FCMP); } +#line 186 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK(ICMP); } YY_BREAK case 83: YY_RULE_SETUP -#line 187 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK(EQ); } +#line 187 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK(FCMP); } YY_BREAK case 84: YY_RULE_SETUP -#line 188 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK(NE); } +#line 188 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK(EQ); } YY_BREAK case 85: YY_RULE_SETUP -#line 189 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK(SLT); } +#line 189 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK(NE); } YY_BREAK case 86: YY_RULE_SETUP -#line 190 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK(SGT); } +#line 190 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK(SLT); } YY_BREAK case 87: YY_RULE_SETUP -#line 191 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK(SLE); } +#line 191 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK(SGT); } YY_BREAK case 88: YY_RULE_SETUP -#line 192 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK(SGE); } +#line 192 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK(SLE); } YY_BREAK case 89: YY_RULE_SETUP -#line 193 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK(OEQ); } +#line 193 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK(SGE); } YY_BREAK case 90: YY_RULE_SETUP -#line 194 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK(ONE); } +#line 194 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK(OEQ); } YY_BREAK case 91: YY_RULE_SETUP -#line 195 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK(OLT); } +#line 195 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK(ONE); } YY_BREAK case 92: YY_RULE_SETUP -#line 196 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK(OGT); } +#line 196 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK(OLT); } YY_BREAK case 93: YY_RULE_SETUP -#line 197 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK(OLE); } +#line 197 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK(OGT); } YY_BREAK case 94: YY_RULE_SETUP -#line 198 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK(OGE); } +#line 198 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK(OLE); } YY_BREAK case 95: YY_RULE_SETUP -#line 199 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK(ORD); } +#line 199 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK(OGE); } YY_BREAK case 96: YY_RULE_SETUP -#line 200 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK(UNO); } +#line 200 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK(ORD); } YY_BREAK case 97: YY_RULE_SETUP -#line 201 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK(UEQ); } +#line 201 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK(UNO); } YY_BREAK case 98: YY_RULE_SETUP -#line 202 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK(UNE); } +#line 202 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK(UEQ); } YY_BREAK case 99: YY_RULE_SETUP -#line 203 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK(ULT); } +#line 203 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK(UNE); } YY_BREAK case 100: YY_RULE_SETUP -#line 204 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK(UGT); } +#line 204 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK(ULT); } YY_BREAK case 101: YY_RULE_SETUP -#line 205 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK(ULE); } +#line 205 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK(UGT); } YY_BREAK case 102: YY_RULE_SETUP -#line 206 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK(UGE); } +#line 206 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK(ULE); } YY_BREAK case 103: YY_RULE_SETUP -#line 208 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( PHI_TOK); } +#line 207 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK(UGE); } YY_BREAK case 104: YY_RULE_SETUP -#line 209 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( CALL); } +#line 209 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( PHI_TOK); } YY_BREAK case 105: YY_RULE_SETUP -#line 210 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( CAST); } +#line 210 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( CALL); } YY_BREAK case 106: YY_RULE_SETUP -#line 211 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( TRUNC); } +#line 211 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( CAST); } YY_BREAK case 107: YY_RULE_SETUP -#line 212 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( ZEXT); } +#line 212 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( TRUNC); } YY_BREAK case 108: YY_RULE_SETUP -#line 213 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( SEXT); } +#line 213 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( ZEXT); } YY_BREAK case 109: YY_RULE_SETUP -#line 214 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( FPTRUNC); } +#line 214 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( SEXT); } YY_BREAK case 110: YY_RULE_SETUP -#line 215 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( FPEXT); } +#line 215 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( FPTRUNC); } YY_BREAK case 111: YY_RULE_SETUP -#line 216 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( FPTOUI); } +#line 216 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( FPEXT); } YY_BREAK case 112: YY_RULE_SETUP -#line 217 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( FPTOSI); } +#line 217 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( FPTOUI); } YY_BREAK case 113: YY_RULE_SETUP -#line 218 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( UITOFP); } +#line 218 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( FPTOSI); } YY_BREAK case 114: YY_RULE_SETUP -#line 219 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( SITOFP); } +#line 219 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( UITOFP); } YY_BREAK case 115: YY_RULE_SETUP -#line 220 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( PTRTOINT); } +#line 220 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( SITOFP); } YY_BREAK case 116: YY_RULE_SETUP -#line 221 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( INTTOPTR); } +#line 221 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( PTRTOINT); } YY_BREAK case 117: YY_RULE_SETUP -#line 222 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( BITCAST); } +#line 222 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( INTTOPTR); } YY_BREAK case 118: YY_RULE_SETUP -#line 223 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( SELECT); } +#line 223 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( BITCAST); } YY_BREAK case 119: YY_RULE_SETUP -#line 224 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( SHL); } +#line 224 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( SELECT); } YY_BREAK case 120: YY_RULE_SETUP -#line 225 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( SHR); } +#line 225 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( SHL); } YY_BREAK case 121: YY_RULE_SETUP -#line 226 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( ASHR); } +#line 226 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( SHR); } YY_BREAK case 122: YY_RULE_SETUP -#line 227 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( LSHR); } +#line 227 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( ASHR); } YY_BREAK case 123: YY_RULE_SETUP -#line 228 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( VAARG); } +#line 228 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( LSHR); } YY_BREAK case 124: YY_RULE_SETUP -#line 229 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( RET); } +#line 229 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( VAARG); } YY_BREAK case 125: YY_RULE_SETUP -#line 230 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( BR); } +#line 230 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( RET); } YY_BREAK case 126: YY_RULE_SETUP -#line 231 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( SWITCH); } +#line 231 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( BR); } YY_BREAK case 127: YY_RULE_SETUP -#line 232 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( INVOKE); } +#line 232 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( SWITCH); } YY_BREAK case 128: YY_RULE_SETUP -#line 233 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( UNWIND); } +#line 233 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( INVOKE); } YY_BREAK case 129: YY_RULE_SETUP -#line 234 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( EXCEPT); } // alias for unwind +#line 234 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( UNWIND); } YY_BREAK case 130: YY_RULE_SETUP -#line 235 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( UNREACHABLE); } +#line 235 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( EXCEPT); } // alias for unwind YY_BREAK case 131: YY_RULE_SETUP -#line 237 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( MALLOC); } +#line 236 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( UNREACHABLE); } YY_BREAK case 132: YY_RULE_SETUP -#line 238 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( ALLOCA); } +#line 238 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( MALLOC); } YY_BREAK case 133: YY_RULE_SETUP -#line 239 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( FREE); } +#line 239 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( ALLOCA); } YY_BREAK case 134: YY_RULE_SETUP -#line 240 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( LOAD); } +#line 240 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( FREE); } YY_BREAK case 135: YY_RULE_SETUP -#line 241 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( STORE); } +#line 241 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( LOAD); } YY_BREAK case 136: YY_RULE_SETUP -#line 242 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( GETELEMENTPTR); } +#line 242 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( STORE); } YY_BREAK case 137: YY_RULE_SETUP -#line 244 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( EXTRACTELEMENT); } +#line 243 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( GETELEMENTPTR); } YY_BREAK case 138: YY_RULE_SETUP -#line 245 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( INSERTELEMENT); } +#line 245 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( EXTRACTELEMENT); } YY_BREAK case 139: YY_RULE_SETUP -#line 246 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( SHUFFLEVECTOR); } +#line 246 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( INSERTELEMENT); } YY_BREAK case 140: YY_RULE_SETUP -#line 249 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( VAR_ID); } +#line 247 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( SHUFFLEVECTOR); } YY_BREAK case 141: YY_RULE_SETUP -#line 250 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( LABELSTR); } +#line 250 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( VAR_ID); } YY_BREAK case 142: YY_RULE_SETUP -#line 251 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" +#line 251 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" { RET_TOK( LABELSTR); } YY_BREAK case 143: YY_RULE_SETUP -#line 252 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( STRINGCONSTANT ); } +#line 252 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( LABELSTR); } YY_BREAK case 144: YY_RULE_SETUP -#line 253 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( EUINT64VAL ); } +#line 253 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( STRINGCONSTANT ); } YY_BREAK case 145: YY_RULE_SETUP -#line 254 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( ESINT64VAL ); } +#line 254 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( EUINT64VAL ); } YY_BREAK case 146: YY_RULE_SETUP -#line 255 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( yytext[0] == 's' ? ESINT64VAL : EUINT64VAL ); } +#line 255 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( ESINT64VAL ); } YY_BREAK case 147: YY_RULE_SETUP -#line 256 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( UINTVAL); } +#line 256 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( yytext[0] == 's' ? ESINT64VAL : EUINT64VAL ); } YY_BREAK case 148: YY_RULE_SETUP -#line 257 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( SINTVAL); } +#line 257 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( UINTVAL); } YY_BREAK case 149: YY_RULE_SETUP -#line 258 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( FPVAL); } +#line 258 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( SINTVAL); } YY_BREAK case 150: YY_RULE_SETUP -#line 259 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" +#line 259 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( FPVAL); } + YY_BREAK +case 151: +YY_RULE_SETUP +#line 260 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" { RET_TOK( FPVAL); } YY_BREAK case YY_STATE_EOF(INITIAL): -#line 260 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" +#line 261 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" { /* Make sure to free the internal buffers for flex when we are * done reading our input! @@ -1984,22 +1992,22 @@ return EOF; } YY_BREAK -case 151: +case 152: YY_RULE_SETUP -#line 268 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" +#line 269 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" { /* Ignore whitespace */ } YY_BREAK -case 152: +case 153: YY_RULE_SETUP -#line 269 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" +#line 270 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" { return yytext[0]; } YY_BREAK -case 153: +case 154: YY_RULE_SETUP -#line 271 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" +#line 272 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" YY_FATAL_ERROR( "flex scanner jammed" ); YY_BREAK -#line 2003 "UpgradeLexer.cpp" +#line 2011 "UpgradeLexer.cpp" case YY_END_OF_BUFFER: { @@ -2286,7 +2294,7 @@ while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 601 ) + if ( yy_current_state >= 605 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; @@ -2316,11 +2324,11 @@ while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 601 ) + if ( yy_current_state >= 605 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; - yy_is_jam = (yy_current_state == 600); + yy_is_jam = (yy_current_state == 604); if ( ! yy_is_jam ) *yy_state_ptr++ = yy_current_state; @@ -2877,5 +2885,5 @@ return 0; } #endif -#line 271 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeLexer.l" +#line 272 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" Index: llvm/tools/llvm-upgrade/UpgradeLexer.l.cvs diff -u llvm/tools/llvm-upgrade/UpgradeLexer.l.cvs:1.9 llvm/tools/llvm-upgrade/UpgradeLexer.l.cvs:1.10 --- llvm/tools/llvm-upgrade/UpgradeLexer.l.cvs:1.9 Sat Dec 2 16:14:11 2006 +++ llvm/tools/llvm-upgrade/UpgradeLexer.l.cvs Fri Dec 29 14:35:03 2006 @@ -105,6 +105,7 @@ true { RET_TOK( TRUETOK); } false { RET_TOK( FALSETOK); } declare { RET_TOK( DECLARE); } +define { RET_TOK( DEFINE); } global { RET_TOK( GLOBAL); } constant { RET_TOK( CONSTANT); } internal { RET_TOK( INTERNAL); } Index: llvm/tools/llvm-upgrade/UpgradeParser.cpp diff -u llvm/tools/llvm-upgrade/UpgradeParser.cpp:1.27 llvm/tools/llvm-upgrade/UpgradeParser.cpp:1.28 --- llvm/tools/llvm-upgrade/UpgradeParser.cpp:1.27 Sat Dec 23 00:05:41 2006 +++ llvm/tools/llvm-upgrade/UpgradeParser.cpp Fri Dec 29 14:35:03 2006 @@ -96,122 +96,123 @@ BEGINTOK = 287, ENDTOK = 288, DECLARE = 289, - GLOBAL = 290, - CONSTANT = 291, - SECTION = 292, - VOLATILE = 293, - TO = 294, - DOTDOTDOT = 295, - CONST = 296, - INTERNAL = 297, - LINKONCE = 298, - WEAK = 299, - DLLIMPORT = 300, - DLLEXPORT = 301, - EXTERN_WEAK = 302, - APPENDING = 303, - NOT = 304, - EXTERNAL = 305, - TARGET = 306, - TRIPLE = 307, - ENDIAN = 308, - POINTERSIZE = 309, - LITTLE = 310, - BIG = 311, - ALIGN = 312, - UNINITIALIZED = 313, - DEPLIBS = 314, - CALL = 315, - TAIL = 316, - ASM_TOK = 317, - MODULE = 318, - SIDEEFFECT = 319, - CC_TOK = 320, - CCC_TOK = 321, - CSRETCC_TOK = 322, - FASTCC_TOK = 323, - COLDCC_TOK = 324, - X86_STDCALLCC_TOK = 325, - X86_FASTCALLCC_TOK = 326, - DATALAYOUT = 327, - RET = 328, - BR = 329, - SWITCH = 330, - INVOKE = 331, - EXCEPT = 332, - UNWIND = 333, - UNREACHABLE = 334, - ADD = 335, - SUB = 336, - MUL = 337, - DIV = 338, - UDIV = 339, - SDIV = 340, - FDIV = 341, - REM = 342, - UREM = 343, - SREM = 344, - FREM = 345, - AND = 346, - OR = 347, - XOR = 348, - SETLE = 349, - SETGE = 350, - SETLT = 351, - SETGT = 352, - SETEQ = 353, - SETNE = 354, - ICMP = 355, - FCMP = 356, - EQ = 357, - NE = 358, - SLT = 359, - SGT = 360, - SLE = 361, - SGE = 362, - OEQ = 363, - ONE = 364, - OLT = 365, - OGT = 366, - OLE = 367, - OGE = 368, - ORD = 369, - UNO = 370, - UEQ = 371, - UNE = 372, - ULT = 373, - UGT = 374, - ULE = 375, - UGE = 376, - MALLOC = 377, - ALLOCA = 378, - FREE = 379, - LOAD = 380, - STORE = 381, - GETELEMENTPTR = 382, - PHI_TOK = 383, - SELECT = 384, - SHL = 385, - SHR = 386, - ASHR = 387, - LSHR = 388, - VAARG = 389, - EXTRACTELEMENT = 390, - INSERTELEMENT = 391, - SHUFFLEVECTOR = 392, - CAST = 393, - TRUNC = 394, - ZEXT = 395, - SEXT = 396, - FPTRUNC = 397, - FPEXT = 398, - FPTOUI = 399, - FPTOSI = 400, - UITOFP = 401, - SITOFP = 402, - PTRTOINT = 403, - INTTOPTR = 404, - BITCAST = 405 + DEFINE = 290, + GLOBAL = 291, + CONSTANT = 292, + SECTION = 293, + VOLATILE = 294, + TO = 295, + DOTDOTDOT = 296, + CONST = 297, + INTERNAL = 298, + LINKONCE = 299, + WEAK = 300, + DLLIMPORT = 301, + DLLEXPORT = 302, + EXTERN_WEAK = 303, + APPENDING = 304, + NOT = 305, + EXTERNAL = 306, + TARGET = 307, + TRIPLE = 308, + ENDIAN = 309, + POINTERSIZE = 310, + LITTLE = 311, + BIG = 312, + ALIGN = 313, + UNINITIALIZED = 314, + DEPLIBS = 315, + CALL = 316, + TAIL = 317, + ASM_TOK = 318, + MODULE = 319, + SIDEEFFECT = 320, + CC_TOK = 321, + CCC_TOK = 322, + CSRETCC_TOK = 323, + FASTCC_TOK = 324, + COLDCC_TOK = 325, + X86_STDCALLCC_TOK = 326, + X86_FASTCALLCC_TOK = 327, + DATALAYOUT = 328, + RET = 329, + BR = 330, + SWITCH = 331, + INVOKE = 332, + EXCEPT = 333, + UNWIND = 334, + UNREACHABLE = 335, + ADD = 336, + SUB = 337, + MUL = 338, + DIV = 339, + UDIV = 340, + SDIV = 341, + FDIV = 342, + REM = 343, + UREM = 344, + SREM = 345, + FREM = 346, + AND = 347, + OR = 348, + XOR = 349, + SETLE = 350, + SETGE = 351, + SETLT = 352, + SETGT = 353, + SETEQ = 354, + SETNE = 355, + ICMP = 356, + FCMP = 357, + EQ = 358, + NE = 359, + SLT = 360, + SGT = 361, + SLE = 362, + SGE = 363, + OEQ = 364, + ONE = 365, + OLT = 366, + OGT = 367, + OLE = 368, + OGE = 369, + ORD = 370, + UNO = 371, + UEQ = 372, + UNE = 373, + ULT = 374, + UGT = 375, + ULE = 376, + UGE = 377, + MALLOC = 378, + ALLOCA = 379, + FREE = 380, + LOAD = 381, + STORE = 382, + GETELEMENTPTR = 383, + PHI_TOK = 384, + SELECT = 385, + SHL = 386, + SHR = 387, + ASHR = 388, + LSHR = 389, + VAARG = 390, + EXTRACTELEMENT = 391, + INSERTELEMENT = 392, + SHUFFLEVECTOR = 393, + CAST = 394, + TRUNC = 395, + ZEXT = 396, + SEXT = 397, + FPTRUNC = 398, + FPEXT = 399, + FPTOUI = 400, + FPTOSI = 401, + UITOFP = 402, + SITOFP = 403, + PTRTOINT = 404, + INTTOPTR = 405, + BITCAST = 406 }; #endif /* Tokens. */ @@ -247,128 +248,129 @@ #define BEGINTOK 287 #define ENDTOK 288 #define DECLARE 289 -#define GLOBAL 290 -#define CONSTANT 291 -#define SECTION 292 -#define VOLATILE 293 -#define TO 294 -#define DOTDOTDOT 295 -#define CONST 296 -#define INTERNAL 297 -#define LINKONCE 298 -#define WEAK 299 -#define DLLIMPORT 300 -#define DLLEXPORT 301 -#define EXTERN_WEAK 302 -#define APPENDING 303 -#define NOT 304 -#define EXTERNAL 305 -#define TARGET 306 -#define TRIPLE 307 -#define ENDIAN 308 -#define POINTERSIZE 309 -#define LITTLE 310 -#define BIG 311 -#define ALIGN 312 -#define UNINITIALIZED 313 -#define DEPLIBS 314 -#define CALL 315 -#define TAIL 316 -#define ASM_TOK 317 -#define MODULE 318 -#define SIDEEFFECT 319 -#define CC_TOK 320 -#define CCC_TOK 321 -#define CSRETCC_TOK 322 -#define FASTCC_TOK 323 -#define COLDCC_TOK 324 -#define X86_STDCALLCC_TOK 325 -#define X86_FASTCALLCC_TOK 326 -#define DATALAYOUT 327 -#define RET 328 -#define BR 329 -#define SWITCH 330 -#define INVOKE 331 -#define EXCEPT 332 -#define UNWIND 333 -#define UNREACHABLE 334 -#define ADD 335 -#define SUB 336 -#define MUL 337 -#define DIV 338 -#define UDIV 339 -#define SDIV 340 -#define FDIV 341 -#define REM 342 -#define UREM 343 -#define SREM 344 -#define FREM 345 -#define AND 346 -#define OR 347 -#define XOR 348 -#define SETLE 349 -#define SETGE 350 -#define SETLT 351 -#define SETGT 352 -#define SETEQ 353 -#define SETNE 354 -#define ICMP 355 -#define FCMP 356 -#define EQ 357 -#define NE 358 -#define SLT 359 -#define SGT 360 -#define SLE 361 -#define SGE 362 -#define OEQ 363 -#define ONE 364 -#define OLT 365 -#define OGT 366 -#define OLE 367 -#define OGE 368 -#define ORD 369 -#define UNO 370 -#define UEQ 371 -#define UNE 372 -#define ULT 373 -#define UGT 374 -#define ULE 375 -#define UGE 376 -#define MALLOC 377 -#define ALLOCA 378 -#define FREE 379 -#define LOAD 380 -#define STORE 381 -#define GETELEMENTPTR 382 -#define PHI_TOK 383 -#define SELECT 384 -#define SHL 385 -#define SHR 386 -#define ASHR 387 -#define LSHR 388 -#define VAARG 389 -#define EXTRACTELEMENT 390 -#define INSERTELEMENT 391 -#define SHUFFLEVECTOR 392 -#define CAST 393 -#define TRUNC 394 -#define ZEXT 395 -#define SEXT 396 -#define FPTRUNC 397 -#define FPEXT 398 -#define FPTOUI 399 -#define FPTOSI 400 -#define UITOFP 401 -#define SITOFP 402 -#define PTRTOINT 403 -#define INTTOPTR 404 -#define BITCAST 405 +#define DEFINE 290 +#define GLOBAL 291 +#define CONSTANT 292 +#define SECTION 293 +#define VOLATILE 294 +#define TO 295 +#define DOTDOTDOT 296 +#define CONST 297 +#define INTERNAL 298 +#define LINKONCE 299 +#define WEAK 300 +#define DLLIMPORT 301 +#define DLLEXPORT 302 +#define EXTERN_WEAK 303 +#define APPENDING 304 +#define NOT 305 +#define EXTERNAL 306 +#define TARGET 307 +#define TRIPLE 308 +#define ENDIAN 309 +#define POINTERSIZE 310 +#define LITTLE 311 +#define BIG 312 +#define ALIGN 313 +#define UNINITIALIZED 314 +#define DEPLIBS 315 +#define CALL 316 +#define TAIL 317 +#define ASM_TOK 318 +#define MODULE 319 +#define SIDEEFFECT 320 +#define CC_TOK 321 +#define CCC_TOK 322 +#define CSRETCC_TOK 323 +#define FASTCC_TOK 324 +#define COLDCC_TOK 325 +#define X86_STDCALLCC_TOK 326 +#define X86_FASTCALLCC_TOK 327 +#define DATALAYOUT 328 +#define RET 329 +#define BR 330 +#define SWITCH 331 +#define INVOKE 332 +#define EXCEPT 333 +#define UNWIND 334 +#define UNREACHABLE 335 +#define ADD 336 +#define SUB 337 +#define MUL 338 +#define DIV 339 +#define UDIV 340 +#define SDIV 341 +#define FDIV 342 +#define REM 343 +#define UREM 344 +#define SREM 345 +#define FREM 346 +#define AND 347 +#define OR 348 +#define XOR 349 +#define SETLE 350 +#define SETGE 351 +#define SETLT 352 +#define SETGT 353 +#define SETEQ 354 +#define SETNE 355 +#define ICMP 356 +#define FCMP 357 +#define EQ 358 +#define NE 359 +#define SLT 360 +#define SGT 361 +#define SLE 362 +#define SGE 363 +#define OEQ 364 +#define ONE 365 +#define OLT 366 +#define OGT 367 +#define OLE 368 +#define OGE 369 +#define ORD 370 +#define UNO 371 +#define UEQ 372 +#define UNE 373 +#define ULT 374 +#define UGT 375 +#define ULE 376 +#define UGE 377 +#define MALLOC 378 +#define ALLOCA 379 +#define FREE 380 +#define LOAD 381 +#define STORE 382 +#define GETELEMENTPTR 383 +#define PHI_TOK 384 +#define SELECT 385 +#define SHL 386 +#define SHR 387 +#define ASHR 388 +#define LSHR 389 +#define VAARG 390 +#define EXTRACTELEMENT 391 +#define INSERTELEMENT 392 +#define SHUFFLEVECTOR 393 +#define CAST 394 +#define TRUNC 395 +#define ZEXT 396 +#define SEXT 397 +#define FPTRUNC 398 +#define FPEXT 399 +#define FPTOUI 400 +#define FPTOSI 401 +#define UITOFP 402 +#define SITOFP 403 +#define PTRTOINT 404 +#define INTTOPTR 405 +#define BITCAST 406 /* Copy the first part of user declarations. */ -#line 14 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" +#line 14 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" #include "ParserInternals.h" #include @@ -647,7 +649,7 @@ #endif #if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED) -#line 275 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" +#line 275 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" typedef union YYSTYPE { std::string* String; TypeInfo Type; @@ -656,7 +658,7 @@ ValueList* ValList; } YYSTYPE; /* Line 196 of yacc.c. */ -#line 660 "UpgradeParser.tab.c" +#line 662 "UpgradeParser.tab.c" # define yystype YYSTYPE /* obsolescent; will be withdrawn */ # define YYSTYPE_IS_DECLARED 1 # define YYSTYPE_IS_TRIVIAL 1 @@ -668,7 +670,7 @@ /* Line 219 of yacc.c. */ -#line 672 "UpgradeParser.tab.c" +#line 674 "UpgradeParser.tab.c" #if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__) # define YYSIZE_T __SIZE_TYPE__ @@ -819,20 +821,20 @@ /* YYFINAL -- State number of the termination state. */ #define YYFINAL 4 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 1483 +#define YYLAST 1554 /* YYNTOKENS -- Number of terminals. */ -#define YYNTOKENS 165 +#define YYNTOKENS 166 /* YYNNTS -- Number of nonterminals. */ #define YYNNTS 75 /* YYNRULES -- Number of rules. */ -#define YYNRULES 299 +#define YYNRULES 302 /* YYNRULES -- Number of states. */ -#define YYNSTATES 582 +#define YYNSTATES 590 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ #define YYUNDEFTOK 2 -#define YYMAXUTOK 405 +#define YYMAXUTOK 406 #define YYTRANSLATE(YYX) \ ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) @@ -844,15 +846,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, - 154, 155, 163, 2, 152, 2, 2, 2, 2, 2, + 155, 156, 164, 2, 153, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 159, 151, 160, 2, 2, 2, 2, 2, 2, 2, + 160, 152, 161, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 156, 153, 158, 2, 2, 2, 2, 2, 164, + 2, 157, 154, 159, 2, 2, 2, 2, 2, 165, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 157, 2, 2, 161, 2, 162, 2, 2, 2, 2, + 158, 2, 2, 162, 2, 163, 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, @@ -880,7 +882,7 @@ 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 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 + 145, 146, 147, 148, 149, 150, 151 }; #if YYDEBUG @@ -901,122 +903,124 @@ 197, 200, 201, 205, 208, 209, 211, 212, 216, 218, 221, 223, 225, 227, 229, 231, 233, 235, 237, 239, 241, 243, 245, 247, 249, 251, 253, 255, 257, 259, - 261, 264, 269, 275, 281, 285, 288, 291, 293, 297, - 299, 303, 305, 306, 311, 315, 319, 324, 329, 333, - 336, 339, 342, 345, 348, 351, 354, 357, 360, 363, - 370, 376, 385, 392, 399, 406, 414, 422, 429, 436, - 445, 454, 458, 460, 462, 464, 466, 469, 472, 477, - 480, 482, 484, 486, 491, 494, 499, 506, 513, 520, - 527, 531, 536, 537, 539, 541, 543, 547, 551, 555, - 559, 563, 567, 569, 570, 572, 574, 576, 577, 580, - 584, 586, 588, 592, 594, 595, 604, 606, 608, 612, - 614, 616, 620, 621, 623, 625, 629, 630, 632, 634, - 636, 638, 640, 642, 644, 646, 648, 652, 654, 660, - 662, 664, 666, 668, 671, 674, 676, 679, 682, 683, - 685, 687, 689, 692, 695, 699, 709, 719, 728, 743, - 745, 747, 754, 760, 763, 770, 778, 780, 784, 786, - 787, 790, 792, 798, 804, 810, 818, 826, 829, 834, - 839, 846, 851, 856, 863, 870, 873, 881, 883, 886, - 887, 889, 890, 894, 901, 905, 912, 915, 920, 927 + 261, 264, 269, 275, 281, 285, 288, 294, 299, 302, + 304, 308, 310, 314, 316, 317, 322, 326, 330, 335, + 340, 344, 347, 350, 353, 356, 359, 362, 365, 368, + 371, 374, 381, 387, 396, 403, 410, 417, 425, 433, + 440, 447, 456, 465, 469, 471, 473, 475, 477, 480, + 483, 488, 491, 493, 495, 497, 502, 505, 510, 517, + 524, 531, 538, 542, 547, 548, 550, 552, 554, 558, + 562, 566, 570, 574, 578, 580, 581, 583, 585, 587, + 588, 591, 595, 597, 599, 603, 605, 606, 615, 617, + 619, 623, 628, 630, 632, 636, 637, 639, 641, 645, + 646, 648, 650, 652, 654, 656, 658, 660, 662, 664, + 668, 670, 676, 678, 680, 682, 684, 687, 690, 692, + 695, 698, 699, 701, 703, 705, 708, 711, 715, 725, + 735, 744, 759, 761, 763, 770, 776, 779, 786, 794, + 796, 800, 802, 803, 806, 808, 814, 820, 826, 833, + 840, 843, 848, 853, 860, 865, 870, 877, 884, 887, + 895, 897, 900, 901, 903, 904, 908, 915, 919, 926, + 929, 934, 941 }; /* YYRHS -- A `-1'-separated list of the rules' RHS. */ static const short int yyrhs[] = { - 199, 0, -1, 19, -1, 20, -1, 17, -1, 18, - -1, 80, -1, 81, -1, 82, -1, 83, -1, 84, - -1, 85, -1, 86, -1, 87, -1, 88, -1, 89, - -1, 90, -1, 91, -1, 92, -1, 93, -1, 94, - -1, 95, -1, 96, -1, 97, -1, 98, -1, 99, - -1, 102, -1, 103, -1, 104, -1, 105, -1, 106, - -1, 107, -1, 118, -1, 119, -1, 120, -1, 121, - -1, 108, -1, 109, -1, 110, -1, 111, -1, 112, - -1, 113, -1, 114, -1, 115, -1, 116, -1, 117, - -1, 118, -1, 119, -1, 120, -1, 121, -1, 25, - -1, 26, -1, 130, -1, 131, -1, 132, -1, 133, - -1, 139, -1, 140, -1, 141, -1, 142, -1, 143, - -1, 144, -1, 145, -1, 146, -1, 147, -1, 148, - -1, 149, -1, 150, -1, 138, -1, 11, -1, 9, + 200, 0, -1, 19, -1, 20, -1, 17, -1, 18, + -1, 81, -1, 82, -1, 83, -1, 84, -1, 85, + -1, 86, -1, 87, -1, 88, -1, 89, -1, 90, + -1, 91, -1, 92, -1, 93, -1, 94, -1, 95, + -1, 96, -1, 97, -1, 98, -1, 99, -1, 100, + -1, 103, -1, 104, -1, 105, -1, 106, -1, 107, + -1, 108, -1, 119, -1, 120, -1, 121, -1, 122, + -1, 109, -1, 110, -1, 111, -1, 112, -1, 113, + -1, 114, -1, 115, -1, 116, -1, 117, -1, 118, + -1, 119, -1, 120, -1, 121, -1, 122, -1, 25, + -1, 26, -1, 131, -1, 132, -1, 133, -1, 134, + -1, 140, -1, 141, -1, 142, -1, 143, -1, 144, + -1, 145, -1, 146, -1, 147, -1, 148, -1, 149, + -1, 150, -1, 151, -1, 139, -1, 11, -1, 9, -1, 7, -1, 5, -1, 12, -1, 10, -1, 8, - -1, 6, -1, 175, -1, 176, -1, 13, -1, 14, - -1, 208, 151, -1, -1, 42, -1, 43, -1, 44, - -1, 48, -1, 45, -1, 46, -1, 47, -1, -1, - 66, -1, 67, -1, 68, -1, 69, -1, 70, -1, - 71, -1, 65, 18, -1, -1, -1, 57, 18, -1, - -1, 152, 57, 18, -1, 37, 30, -1, -1, 184, - -1, -1, 152, 187, 186, -1, 184, -1, 57, 18, - -1, 190, -1, 3, -1, 192, -1, 3, -1, 192, + -1, 6, -1, 176, -1, 177, -1, 13, -1, 14, + -1, 209, 152, -1, -1, 43, -1, 44, -1, 45, + -1, 49, -1, 46, -1, 47, -1, 48, -1, -1, + 67, -1, 68, -1, 69, -1, 70, -1, 71, -1, + 72, -1, 66, 18, -1, -1, -1, 58, 18, -1, + -1, 153, 58, 18, -1, 38, 30, -1, -1, 185, + -1, -1, 153, 188, 187, -1, 185, -1, 58, 18, + -1, 191, -1, 3, -1, 193, -1, 3, -1, 193, -1, 4, -1, 5, -1, 6, -1, 7, -1, 8, -1, 9, -1, 10, -1, 11, -1, 12, -1, 13, - -1, 14, -1, 15, -1, 16, -1, 222, -1, 191, - -1, 153, 18, -1, 189, 154, 194, 155, -1, 156, - 18, 157, 192, 158, -1, 159, 18, 157, 192, 160, - -1, 161, 193, 162, -1, 161, 162, -1, 192, 163, - -1, 192, -1, 193, 152, 192, -1, 193, -1, 193, - 152, 40, -1, 40, -1, -1, 190, 156, 197, 158, - -1, 190, 156, 158, -1, 190, 164, 30, -1, 190, - 159, 197, 160, -1, 190, 161, 197, 162, -1, 190, - 161, 162, -1, 190, 22, -1, 190, 23, -1, 190, - 222, -1, 190, 196, -1, 190, 24, -1, 175, 167, - -1, 176, 18, -1, 4, 25, -1, 4, 26, -1, - 178, 21, -1, 174, 154, 195, 39, 190, 155, -1, - 127, 154, 195, 237, 155, -1, 129, 154, 195, 152, - 195, 152, 195, 155, -1, 168, 154, 195, 152, 195, - 155, -1, 169, 154, 195, 152, 195, 155, -1, 170, - 154, 195, 152, 195, 155, -1, 100, 171, 154, 195, - 152, 195, 155, -1, 101, 172, 154, 195, 152, 195, - 155, -1, 173, 154, 195, 152, 195, 155, -1, 135, - 154, 195, 152, 195, 155, -1, 136, 154, 195, 152, - 195, 152, 195, 155, -1, 137, 154, 195, 152, 195, - 152, 195, 155, -1, 197, 152, 195, -1, 195, -1, - 35, -1, 36, -1, 200, -1, 200, 217, -1, 200, - 219, -1, 200, 63, 62, 203, -1, 200, 31, -1, - 202, -1, 50, -1, 58, -1, 202, 179, 27, 188, - -1, 202, 219, -1, 202, 63, 62, 203, -1, 202, - 179, 180, 198, 195, 186, -1, 202, 179, 201, 198, - 190, 186, -1, 202, 179, 45, 198, 190, 186, -1, - 202, 179, 47, 198, 190, 186, -1, 202, 51, 205, - -1, 202, 59, 151, 206, -1, -1, 30, -1, 56, - -1, 55, -1, 53, 151, 204, -1, 54, 151, 18, - -1, 52, 151, 30, -1, 72, 151, 30, -1, 156, - 207, 158, -1, 207, 152, 30, -1, 30, -1, -1, - 28, -1, 30, -1, 208, -1, -1, 190, 209, -1, - 211, 152, 210, -1, 210, -1, 211, -1, 211, 152, - 40, -1, 40, -1, -1, 181, 188, 208, 154, 212, - 155, 185, 182, -1, 32, -1, 161, -1, 180, 213, - 214, -1, 33, -1, 162, -1, 215, 225, 216, -1, - -1, 45, -1, 47, -1, 34, 218, 213, -1, -1, - 64, -1, 17, -1, 18, -1, 21, -1, 25, -1, - 26, -1, 22, -1, 23, -1, 24, -1, 159, 197, - 160, -1, 196, -1, 62, 220, 30, 152, 30, -1, - 166, -1, 208, -1, 222, -1, 221, -1, 190, 223, - -1, 225, 226, -1, 226, -1, 227, 229, -1, 227, - 231, -1, -1, 29, -1, 78, -1, 77, -1, 73, - 224, -1, 73, 3, -1, 74, 15, 223, -1, 74, - 4, 223, 152, 15, 223, 152, 15, 223, -1, 75, - 177, 223, 152, 15, 223, 156, 230, 158, -1, 75, - 177, 223, 152, 15, 223, 156, 158, -1, 179, 76, - 181, 188, 223, 154, 234, 155, 39, 15, 223, 228, - 15, 223, -1, 228, -1, 79, -1, 230, 177, 221, - 152, 15, 223, -1, 177, 221, 152, 15, 223, -1, - 179, 236, -1, 190, 156, 223, 152, 223, 158, -1, - 232, 152, 156, 223, 152, 223, 158, -1, 224, -1, - 233, 152, 224, -1, 233, -1, -1, 61, 60, -1, - 60, -1, 168, 190, 223, 152, 223, -1, 169, 190, - 223, 152, 223, -1, 170, 190, 223, 152, 223, -1, - 100, 171, 190, 223, 152, 223, 155, -1, 101, 172, - 190, 223, 152, 223, 155, -1, 49, 224, -1, 173, - 224, 152, 224, -1, 174, 224, 39, 190, -1, 129, - 224, 152, 224, 152, 224, -1, 134, 224, 152, 190, - -1, 135, 224, 152, 224, -1, 136, 224, 152, 224, - 152, 224, -1, 137, 224, 152, 224, 152, 224, -1, - 128, 232, -1, 235, 181, 188, 223, 154, 234, 155, - -1, 239, -1, 152, 233, -1, -1, 38, -1, -1, - 122, 190, 183, -1, 122, 190, 152, 10, 223, 183, - -1, 123, 190, 183, -1, 123, 190, 152, 10, 223, - 183, -1, 124, 224, -1, 238, 125, 190, 223, -1, - 238, 126, 224, 152, 190, 223, -1, 127, 190, 223, - 237, -1 + -1, 14, -1, 15, -1, 16, -1, 223, -1, 192, + -1, 154, 18, -1, 190, 155, 195, 156, -1, 157, + 18, 158, 193, 159, -1, 160, 18, 158, 193, 161, + -1, 162, 194, 163, -1, 162, 163, -1, 160, 162, + 194, 163, 161, -1, 160, 162, 163, 161, -1, 193, + 164, -1, 193, -1, 194, 153, 193, -1, 194, -1, + 194, 153, 41, -1, 41, -1, -1, 191, 157, 198, + 159, -1, 191, 157, 159, -1, 191, 165, 30, -1, + 191, 160, 198, 161, -1, 191, 162, 198, 163, -1, + 191, 162, 163, -1, 191, 22, -1, 191, 23, -1, + 191, 223, -1, 191, 197, -1, 191, 24, -1, 176, + 168, -1, 177, 18, -1, 4, 25, -1, 4, 26, + -1, 179, 21, -1, 175, 155, 196, 40, 191, 156, + -1, 128, 155, 196, 238, 156, -1, 130, 155, 196, + 153, 196, 153, 196, 156, -1, 169, 155, 196, 153, + 196, 156, -1, 170, 155, 196, 153, 196, 156, -1, + 171, 155, 196, 153, 196, 156, -1, 101, 172, 155, + 196, 153, 196, 156, -1, 102, 173, 155, 196, 153, + 196, 156, -1, 174, 155, 196, 153, 196, 156, -1, + 136, 155, 196, 153, 196, 156, -1, 137, 155, 196, + 153, 196, 153, 196, 156, -1, 138, 155, 196, 153, + 196, 153, 196, 156, -1, 198, 153, 196, -1, 196, + -1, 36, -1, 37, -1, 201, -1, 201, 218, -1, + 201, 220, -1, 201, 64, 63, 204, -1, 201, 31, + -1, 203, -1, 51, -1, 59, -1, 203, 180, 27, + 189, -1, 203, 220, -1, 203, 64, 63, 204, -1, + 203, 180, 181, 199, 196, 187, -1, 203, 180, 202, + 199, 191, 187, -1, 203, 180, 46, 199, 191, 187, + -1, 203, 180, 48, 199, 191, 187, -1, 203, 52, + 206, -1, 203, 60, 152, 207, -1, -1, 30, -1, + 57, -1, 56, -1, 54, 152, 205, -1, 55, 152, + 18, -1, 53, 152, 30, -1, 73, 152, 30, -1, + 157, 208, 159, -1, 208, 153, 30, -1, 30, -1, + -1, 28, -1, 30, -1, 209, -1, -1, 191, 210, + -1, 212, 153, 211, -1, 211, -1, 212, -1, 212, + 153, 41, -1, 41, -1, -1, 182, 189, 209, 155, + 213, 156, 186, 183, -1, 32, -1, 162, -1, 181, + 214, 215, -1, 35, 181, 214, 215, -1, 33, -1, + 163, -1, 216, 226, 217, -1, -1, 46, -1, 48, + -1, 34, 219, 214, -1, -1, 65, -1, 17, -1, + 18, -1, 21, -1, 25, -1, 26, -1, 22, -1, + 23, -1, 24, -1, 160, 198, 161, -1, 197, -1, + 63, 221, 30, 153, 30, -1, 167, -1, 209, -1, + 223, -1, 222, -1, 191, 224, -1, 226, 227, -1, + 227, -1, 228, 230, -1, 228, 232, -1, -1, 29, + -1, 79, -1, 78, -1, 74, 225, -1, 74, 3, + -1, 75, 15, 224, -1, 75, 4, 224, 153, 15, + 224, 153, 15, 224, -1, 76, 178, 224, 153, 15, + 224, 157, 231, 159, -1, 76, 178, 224, 153, 15, + 224, 157, 159, -1, 180, 77, 182, 189, 224, 155, + 235, 156, 40, 15, 224, 229, 15, 224, -1, 229, + -1, 80, -1, 231, 178, 222, 153, 15, 224, -1, + 178, 222, 153, 15, 224, -1, 180, 237, -1, 191, + 157, 224, 153, 224, 159, -1, 233, 153, 157, 224, + 153, 224, 159, -1, 225, -1, 234, 153, 225, -1, + 234, -1, -1, 62, 61, -1, 61, -1, 169, 191, + 224, 153, 224, -1, 170, 191, 224, 153, 224, -1, + 171, 191, 224, 153, 224, -1, 101, 172, 191, 224, + 153, 224, -1, 102, 173, 191, 224, 153, 224, -1, + 50, 225, -1, 174, 225, 153, 225, -1, 175, 225, + 40, 191, -1, 130, 225, 153, 225, 153, 225, -1, + 135, 225, 153, 191, -1, 136, 225, 153, 225, -1, + 137, 225, 153, 225, 153, 225, -1, 138, 225, 153, + 225, 153, 225, -1, 129, 233, -1, 236, 182, 189, + 224, 155, 235, 156, -1, 240, -1, 153, 234, -1, + -1, 39, -1, -1, 123, 191, 184, -1, 123, 191, + 153, 10, 224, 184, -1, 124, 191, 184, -1, 124, + 191, 153, 10, 224, 184, -1, 125, 225, -1, 239, + 126, 191, 224, -1, 239, 127, 225, 153, 191, 224, + -1, 128, 191, 224, 238, -1 }; /* YYRLINE[YYN] -- source line where rule number YYN was defined. */ @@ -1035,23 +1039,24 @@ 389, 392, 393, 401, 407, 408, 411, 412, 421, 422, 435, 435, 436, 436, 437, 441, 441, 441, 441, 441, 441, 441, 442, 442, 442, 442, 442, 444, 448, 452, - 455, 460, 466, 474, 482, 488, 492, 503, 506, 514, - 515, 520, 523, 533, 539, 544, 550, 556, 562, 567, - 573, 579, 585, 591, 597, 603, 609, 615, 621, 629, - 643, 655, 660, 666, 671, 677, 682, 687, 695, 700, - 705, 715, 720, 725, 725, 735, 740, 743, 748, 752, - 756, 758, 758, 761, 773, 778, 783, 792, 801, 810, - 819, 824, 829, 834, 836, 836, 839, 844, 851, 856, - 863, 870, 875, 876, 884, 884, 885, 885, 887, 894, - 898, 902, 905, 910, 913, 915, 935, 936, 938, 947, - 948, 950, 958, 959, 960, 964, 977, 978, 981, 981, - 981, 981, 981, 981, 981, 982, 983, 988, 989, 998, - 998, 1002, 1008, 1019, 1025, 1028, 1036, 1040, 1045, 1048, - 1054, 1054, 1056, 1061, 1066, 1071, 1079, 1086, 1092, 1112, - 1117, 1123, 1128, 1136, 1145, 1152, 1160, 1164, 1171, 1172, - 1176, 1181, 1184, 1190, 1195, 1201, 1206, 1211, 1216, 1224, - 1238, 1243, 1248, 1253, 1258, 1263, 1268, 1285, 1290, 1291, - 1295, 1296, 1299, 1306, 1313, 1320, 1327, 1332, 1339, 1346 + 455, 460, 466, 474, 482, 488, 492, 498, 502, 513, + 516, 524, 525, 530, 533, 543, 549, 554, 560, 566, + 572, 577, 583, 589, 595, 601, 607, 613, 619, 625, + 631, 639, 653, 665, 670, 676, 681, 687, 692, 697, + 705, 710, 715, 725, 730, 735, 735, 745, 750, 753, + 758, 762, 766, 768, 768, 771, 783, 788, 793, 802, + 811, 820, 829, 834, 839, 844, 846, 846, 849, 854, + 861, 866, 873, 880, 885, 886, 894, 894, 895, 895, + 897, 904, 908, 912, 915, 920, 923, 925, 945, 946, + 949, 958, 969, 970, 972, 980, 981, 982, 986, 999, + 1000, 1003, 1003, 1003, 1003, 1003, 1003, 1003, 1004, 1005, + 1010, 1011, 1020, 1020, 1024, 1030, 1041, 1047, 1050, 1058, + 1062, 1067, 1070, 1076, 1076, 1078, 1083, 1088, 1093, 1101, + 1108, 1114, 1134, 1139, 1145, 1150, 1158, 1167, 1174, 1182, + 1186, 1193, 1194, 1198, 1203, 1206, 1212, 1217, 1223, 1228, + 1233, 1238, 1246, 1260, 1265, 1270, 1275, 1280, 1285, 1290, + 1307, 1312, 1313, 1317, 1318, 1321, 1328, 1335, 1342, 1349, + 1354, 1361, 1368 }; #endif @@ -1065,12 +1070,12 @@ "LABEL", "OPAQUE", "ESINT64VAL", "EUINT64VAL", "SINTVAL", "UINTVAL", "FPVAL", "NULL_TOK", "UNDEF", "ZEROINITIALIZER", "TRUETOK", "FALSETOK", "TYPE", "VAR_ID", "LABELSTR", "STRINGCONSTANT", "IMPLEMENTATION", - "BEGINTOK", "ENDTOK", "DECLARE", "GLOBAL", "CONSTANT", "SECTION", - "VOLATILE", "TO", "DOTDOTDOT", "CONST", "INTERNAL", "LINKONCE", "WEAK", - "DLLIMPORT", "DLLEXPORT", "EXTERN_WEAK", "APPENDING", "NOT", "EXTERNAL", - "TARGET", "TRIPLE", "ENDIAN", "POINTERSIZE", "LITTLE", "BIG", "ALIGN", - "UNINITIALIZED", "DEPLIBS", "CALL", "TAIL", "ASM_TOK", "MODULE", - "SIDEEFFECT", "CC_TOK", "CCC_TOK", "CSRETCC_TOK", "FASTCC_TOK", + "BEGINTOK", "ENDTOK", "DECLARE", "DEFINE", "GLOBAL", "CONSTANT", + "SECTION", "VOLATILE", "TO", "DOTDOTDOT", "CONST", "INTERNAL", + "LINKONCE", "WEAK", "DLLIMPORT", "DLLEXPORT", "EXTERN_WEAK", "APPENDING", + "NOT", "EXTERNAL", "TARGET", "TRIPLE", "ENDIAN", "POINTERSIZE", "LITTLE", + "BIG", "ALIGN", "UNINITIALIZED", "DEPLIBS", "CALL", "TAIL", "ASM_TOK", + "MODULE", "SIDEEFFECT", "CC_TOK", "CCC_TOK", "CSRETCC_TOK", "FASTCC_TOK", "COLDCC_TOK", "X86_STDCALLCC_TOK", "X86_FASTCALLCC_TOK", "DATALAYOUT", "RET", "BR", "SWITCH", "INVOKE", "EXCEPT", "UNWIND", "UNREACHABLE", "ADD", "SUB", "MUL", "DIV", "UDIV", "SDIV", "FDIV", "REM", "UREM", @@ -1122,44 +1127,45 @@ 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, - 405, 61, 44, 92, 40, 41, 91, 120, 93, 60, - 62, 123, 125, 42, 99 + 405, 406, 61, 44, 92, 40, 41, 91, 120, 93, + 60, 62, 123, 125, 42, 99 }; # endif /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ static const unsigned char yyr1[] = { - 0, 165, 166, 166, 167, 167, 168, 168, 168, 168, - 168, 168, 168, 168, 168, 168, 168, 169, 169, 169, - 170, 170, 170, 170, 170, 170, 171, 171, 171, 171, + 0, 166, 167, 167, 168, 168, 169, 169, 169, 169, + 169, 169, 169, 169, 169, 169, 169, 170, 170, 170, 171, 171, 171, 171, 171, 171, 172, 172, 172, 172, - 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, - 172, 172, 173, 173, 173, 173, 174, 174, 174, 174, - 174, 174, 174, 174, 174, 174, 174, 174, 174, 175, - 175, 175, 175, 176, 176, 176, 176, 177, 177, 178, - 178, 179, 179, 180, 180, 180, 180, 180, 180, 180, - 180, 181, 181, 181, 181, 181, 181, 181, 181, 182, - 182, 183, 183, 184, 185, 185, 186, 186, 187, 187, - 188, 188, 189, 189, 190, 191, 191, 191, 191, 191, - 191, 191, 191, 191, 191, 191, 191, 192, 192, 192, - 192, 192, 192, 192, 192, 192, 192, 193, 193, 194, - 194, 194, 194, 195, 195, 195, 195, 195, 195, 195, - 195, 195, 195, 195, 195, 195, 195, 195, 195, 196, + 172, 172, 172, 172, 172, 172, 173, 173, 173, 173, + 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, + 173, 173, 174, 174, 174, 174, 175, 175, 175, 175, + 175, 175, 175, 175, 175, 175, 175, 175, 175, 176, + 176, 176, 176, 177, 177, 177, 177, 178, 178, 179, + 179, 180, 180, 181, 181, 181, 181, 181, 181, 181, + 181, 182, 182, 182, 182, 182, 182, 182, 182, 183, + 183, 184, 184, 185, 186, 186, 187, 187, 188, 188, + 189, 189, 190, 190, 191, 192, 192, 192, 192, 192, + 192, 192, 192, 192, 192, 192, 192, 193, 193, 193, + 193, 193, 193, 193, 193, 193, 193, 193, 193, 194, + 194, 195, 195, 195, 195, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, - 196, 197, 197, 198, 198, 199, 200, 200, 200, 200, - 200, 201, 201, 202, 202, 202, 202, 202, 202, 202, - 202, 202, 202, 203, 204, 204, 205, 205, 205, 205, - 206, 207, 207, 207, 208, 208, 209, 209, 210, 211, - 211, 212, 212, 212, 212, 213, 214, 214, 215, 216, - 216, 217, 218, 218, 218, 219, 220, 220, 221, 221, - 221, 221, 221, 221, 221, 221, 221, 221, 221, 222, - 222, 223, 223, 224, 225, 225, 226, 227, 227, 227, - 228, 228, 229, 229, 229, 229, 229, 229, 229, 229, - 229, 230, 230, 231, 232, 232, 233, 233, 234, 234, - 235, 235, 236, 236, 236, 236, 236, 236, 236, 236, - 236, 236, 236, 236, 236, 236, 236, 236, 237, 237, - 238, 238, 239, 239, 239, 239, 239, 239, 239, 239 + 196, 197, 197, 197, 197, 197, 197, 197, 197, 197, + 197, 197, 197, 198, 198, 199, 199, 200, 201, 201, + 201, 201, 201, 202, 202, 203, 203, 203, 203, 203, + 203, 203, 203, 203, 203, 204, 205, 205, 206, 206, + 206, 206, 207, 208, 208, 208, 209, 209, 210, 210, + 211, 212, 212, 213, 213, 213, 213, 214, 215, 215, + 216, 216, 217, 217, 218, 219, 219, 219, 220, 221, + 221, 222, 222, 222, 222, 222, 222, 222, 222, 222, + 222, 222, 223, 223, 224, 224, 225, 226, 226, 227, + 228, 228, 228, 229, 229, 230, 230, 230, 230, 230, + 230, 230, 230, 230, 231, 231, 232, 233, 233, 234, + 234, 235, 235, 236, 236, 237, 237, 237, 237, 237, + 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, + 237, 238, 238, 239, 239, 240, 240, 240, 240, 240, + 240, 240, 240 }; /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ @@ -1178,23 +1184,24 @@ 2, 0, 3, 2, 0, 1, 0, 3, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 2, 4, 5, 5, 3, 2, 2, 1, 3, 1, - 3, 1, 0, 4, 3, 3, 4, 4, 3, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 6, - 5, 8, 6, 6, 6, 7, 7, 6, 6, 8, - 8, 3, 1, 1, 1, 1, 2, 2, 4, 2, - 1, 1, 1, 4, 2, 4, 6, 6, 6, 6, - 3, 4, 0, 1, 1, 1, 3, 3, 3, 3, - 3, 3, 1, 0, 1, 1, 1, 0, 2, 3, - 1, 1, 3, 1, 0, 8, 1, 1, 3, 1, - 1, 3, 0, 1, 1, 3, 0, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 3, 1, 5, 1, - 1, 1, 1, 2, 2, 1, 2, 2, 0, 1, - 1, 1, 2, 2, 3, 9, 9, 8, 14, 1, - 1, 6, 5, 2, 6, 7, 1, 3, 1, 0, - 2, 1, 5, 5, 5, 7, 7, 2, 4, 4, - 6, 4, 4, 6, 6, 2, 7, 1, 2, 0, - 1, 0, 3, 6, 3, 6, 2, 4, 6, 4 + 2, 4, 5, 5, 3, 2, 5, 4, 2, 1, + 3, 1, 3, 1, 0, 4, 3, 3, 4, 4, + 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 6, 5, 8, 6, 6, 6, 7, 7, 6, + 6, 8, 8, 3, 1, 1, 1, 1, 2, 2, + 4, 2, 1, 1, 1, 4, 2, 4, 6, 6, + 6, 6, 3, 4, 0, 1, 1, 1, 3, 3, + 3, 3, 3, 3, 1, 0, 1, 1, 1, 0, + 2, 3, 1, 1, 3, 1, 0, 8, 1, 1, + 3, 4, 1, 1, 3, 0, 1, 1, 3, 0, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, + 1, 5, 1, 1, 1, 1, 2, 2, 1, 2, + 2, 0, 1, 1, 1, 2, 2, 3, 9, 9, + 8, 14, 1, 1, 6, 5, 2, 6, 7, 1, + 3, 1, 0, 2, 1, 5, 5, 5, 6, 6, + 2, 4, 4, 6, 4, 4, 6, 6, 2, 7, + 1, 2, 0, 1, 0, 3, 6, 3, 6, 2, + 4, 6, 4 }; /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state @@ -1202,533 +1209,547 @@ means the default is an error. */ static const unsigned short int yydefact[] = { - 192, 0, 90, 180, 1, 179, 222, 83, 84, 85, - 87, 88, 89, 86, 0, 98, 248, 176, 177, 204, - 205, 0, 0, 0, 90, 0, 184, 223, 224, 98, - 0, 0, 91, 92, 93, 94, 95, 96, 0, 0, - 249, 248, 245, 82, 0, 0, 0, 0, 190, 0, - 0, 0, 0, 0, 181, 182, 0, 0, 81, 225, - 193, 178, 97, 111, 115, 116, 117, 118, 119, 120, - 121, 122, 123, 124, 125, 126, 127, 2, 3, 0, - 0, 0, 0, 239, 0, 0, 110, 129, 114, 240, - 128, 216, 217, 218, 219, 220, 221, 244, 0, 0, - 0, 251, 250, 260, 291, 259, 246, 247, 0, 0, - 0, 0, 203, 191, 185, 183, 173, 174, 0, 0, - 0, 0, 130, 0, 0, 113, 135, 137, 0, 0, - 142, 136, 253, 0, 252, 0, 0, 72, 76, 71, - 75, 70, 74, 69, 73, 77, 78, 0, 290, 0, - 271, 0, 98, 6, 7, 8, 9, 10, 11, 12, - 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, - 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, - 0, 52, 53, 54, 55, 0, 0, 0, 0, 68, - 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, - 66, 67, 0, 0, 0, 0, 0, 98, 263, 0, - 287, 198, 195, 194, 196, 197, 199, 202, 0, 106, - 106, 115, 116, 117, 118, 119, 120, 121, 122, 123, - 124, 125, 0, 0, 0, 0, 106, 106, 0, 0, - 0, 134, 214, 141, 139, 0, 228, 229, 230, 233, - 234, 235, 231, 232, 226, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 237, 242, - 241, 243, 0, 254, 0, 277, 270, 0, 26, 27, - 28, 29, 30, 31, 32, 33, 34, 35, 0, 50, - 51, 36, 37, 38, 39, 40, 41, 42, 43, 44, - 45, 46, 47, 48, 49, 0, 101, 101, 296, 0, - 0, 285, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 200, 0, 188, 189, - 156, 157, 4, 5, 154, 155, 158, 149, 150, 153, - 0, 0, 0, 0, 152, 151, 186, 187, 112, 112, - 138, 213, 207, 210, 211, 0, 0, 131, 227, 0, - 0, 0, 0, 0, 0, 0, 0, 172, 0, 0, + 194, 0, 90, 182, 1, 181, 225, 90, 83, 84, + 85, 87, 88, 89, 86, 0, 98, 251, 178, 179, + 206, 207, 0, 0, 0, 90, 0, 186, 226, 227, + 98, 98, 0, 0, 91, 92, 93, 94, 95, 96, + 0, 0, 252, 251, 248, 82, 0, 0, 0, 0, + 192, 0, 0, 0, 0, 0, 183, 184, 0, 0, + 81, 228, 0, 195, 180, 97, 111, 115, 116, 117, + 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, + 2, 3, 0, 0, 0, 0, 242, 0, 0, 110, + 129, 114, 243, 128, 218, 219, 220, 222, 223, 224, + 247, 0, 0, 0, 254, 253, 263, 294, 262, 249, + 250, 0, 0, 0, 0, 205, 193, 187, 185, 175, + 176, 0, 0, 0, 0, 221, 130, 0, 0, 0, + 113, 135, 139, 0, 0, 144, 138, 256, 0, 255, + 0, 0, 72, 76, 71, 75, 70, 74, 69, 73, + 77, 78, 0, 293, 0, 274, 0, 98, 6, 7, + 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, + 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, + 0, 0, 0, 0, 0, 0, 52, 53, 54, 55, + 0, 0, 0, 0, 68, 56, 57, 58, 59, 60, + 61, 62, 63, 64, 65, 66, 67, 0, 0, 0, + 0, 0, 98, 266, 0, 290, 200, 197, 196, 198, + 199, 201, 204, 0, 106, 106, 115, 116, 117, 118, + 119, 120, 121, 122, 123, 124, 125, 0, 0, 0, + 0, 106, 106, 0, 0, 0, 0, 0, 134, 216, + 143, 141, 0, 231, 232, 233, 236, 237, 238, 234, + 235, 229, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 240, 245, 244, 246, 0, + 257, 0, 280, 273, 0, 26, 27, 28, 29, 30, + 31, 32, 33, 34, 35, 0, 50, 51, 36, 37, + 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, + 48, 49, 0, 101, 101, 299, 0, 0, 288, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 292, 0, 294, 289, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 201, - 0, 0, 108, 106, 144, 0, 0, 148, 0, 145, - 132, 133, 206, 208, 0, 104, 140, 0, 0, 0, - 289, 0, 0, 0, 0, 0, 236, 0, 0, 0, + 0, 0, 0, 202, 0, 190, 191, 158, 159, 4, + 5, 156, 157, 160, 151, 152, 155, 0, 0, 0, + 0, 154, 153, 188, 189, 112, 112, 137, 0, 140, + 215, 209, 212, 213, 0, 0, 131, 230, 0, 0, + 0, 0, 0, 0, 0, 0, 174, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 295, + 0, 297, 292, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 203, 0, + 0, 108, 106, 146, 0, 0, 150, 0, 147, 132, + 133, 136, 208, 210, 0, 104, 142, 0, 0, 0, + 292, 0, 0, 0, 0, 0, 239, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 299, 0, 0, 0, 281, 282, 0, 0, 0, - 0, 0, 278, 279, 0, 297, 0, 103, 109, 107, - 143, 146, 147, 212, 209, 105, 99, 0, 0, 0, - 0, 0, 0, 0, 0, 171, 0, 0, 0, 0, - 0, 0, 0, 269, 0, 0, 101, 102, 101, 266, - 288, 0, 0, 0, 0, 0, 272, 273, 274, 269, - 0, 0, 215, 238, 0, 0, 160, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 268, 0, - 0, 0, 0, 293, 295, 0, 0, 0, 280, 283, - 284, 0, 298, 100, 0, 0, 0, 168, 0, 0, - 162, 163, 164, 167, 159, 0, 257, 0, 0, 0, - 275, 276, 267, 264, 0, 286, 165, 166, 0, 0, - 0, 255, 0, 256, 0, 0, 265, 161, 169, 170, - 0, 0, 0, 0, 0, 0, 262, 0, 0, 261, - 0, 258 + 0, 302, 0, 0, 0, 284, 285, 0, 0, 0, + 0, 0, 281, 282, 0, 300, 0, 103, 109, 107, + 145, 148, 149, 214, 211, 105, 99, 0, 0, 0, + 0, 0, 0, 0, 0, 173, 0, 0, 0, 0, + 0, 0, 0, 272, 0, 0, 101, 102, 101, 269, + 291, 0, 0, 0, 0, 0, 275, 276, 277, 272, + 0, 0, 217, 241, 0, 0, 162, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 271, 0, + 278, 279, 0, 296, 298, 0, 0, 0, 283, 286, + 287, 0, 301, 100, 0, 0, 0, 170, 0, 0, + 164, 165, 166, 169, 161, 0, 260, 0, 0, 0, + 270, 267, 0, 289, 167, 168, 0, 0, 0, 258, + 0, 259, 0, 0, 268, 163, 171, 172, 0, 0, + 0, 0, 0, 0, 265, 0, 0, 264, 0, 261 }; /* YYDEFGOTO[NTERM-NUM]. */ static const short int yydefgoto[] = { - -1, 83, 334, 263, 264, 265, 288, 305, 266, 267, - 232, 233, 147, 234, 24, 15, 38, 502, 380, 402, - 466, 328, 403, 84, 85, 235, 87, 88, 128, 245, - 367, 268, 368, 118, 1, 2, 57, 3, 61, 214, - 48, 113, 218, 89, 413, 353, 354, 355, 39, 93, - 16, 96, 17, 29, 18, 359, 269, 90, 271, 489, - 41, 42, 43, 105, 106, 548, 107, 311, 518, 519, - 207, 208, 441, 209, 210 + -1, 86, 341, 270, 271, 272, 295, 312, 273, 274, + 237, 238, 152, 239, 25, 16, 40, 512, 389, 411, + 476, 335, 412, 87, 88, 240, 90, 91, 133, 252, + 376, 275, 377, 121, 1, 2, 59, 3, 64, 219, + 50, 116, 223, 92, 423, 362, 363, 364, 41, 96, + 17, 99, 18, 30, 19, 368, 276, 93, 278, 499, + 43, 44, 45, 108, 109, 558, 110, 318, 528, 529, + 212, 213, 451, 214, 215 }; /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing STATE-NUM. */ -#define YYPACT_NINF -501 +#define YYPACT_NINF -543 static const short int yypact[] = { - -501, 82, 9, 975, -501, -501, 72, -501, -501, -501, - -501, -501, -501, -501, 29, 34, 94, -501, -501, -501, - -501, -28, -42, 66, 127, 25, -501, -501, -501, 34, - 122, 199, -501, -501, -501, -501, -501, -501, 839, -17, - -501, -19, -501, 47, 67, 68, 69, 75, -501, 71, - 122, 839, 11, 11, -501, -501, 11, 11, -501, -501, - -501, -501, -501, 76, -501, -501, -501, -501, -501, -501, - -501, -501, -501, -501, -501, -501, -501, -501, -501, 207, - 210, 211, 518, -501, 123, 77, -501, -501, -84, -501, - -501, -501, -501, -501, -501, -501, -501, -501, 876, 8, - 253, -501, -501, -501, 1333, -501, -501, -501, 203, 80, - 217, 206, 208, -501, -501, -501, -501, -501, 922, 922, - 960, 922, -501, 83, 84, -501, -501, -84, -134, 88, - 604, -501, 76, 1131, -501, 1131, 1131, -501, -501, -501, - -501, -501, -501, -501, -501, -501, -501, 1131, -501, 922, - -501, 177, 34, -501, -501, -501, -501, -501, -501, -501, - -501, -501, -501, -501, -501, -501, -501, -501, -501, -501, - -501, -501, -501, 103, 81, 922, 922, 922, 922, 922, - 922, -501, -501, -501, -501, 922, 922, 922, 922, -501, - -501, -501, -501, -501, -501, -501, -501, -501, -501, -501, - -501, -501, 922, 922, 922, 922, 922, 34, -501, 20, - -501, -501, -501, -501, -501, -501, -501, -501, -44, 91, - 91, 130, 143, 226, 145, 227, 161, 230, 163, 231, - 232, 233, 165, 234, 245, 1042, 91, 91, 922, 922, - 922, -501, 679, -501, 99, 113, -501, -501, -501, -501, - -501, -501, -501, -501, 205, 103, 81, 119, 120, 125, - 128, 129, 960, 133, 134, 135, 139, 140, -501, -501, - -501, -501, 124, -501, 149, -501, -501, 839, -501, -501, - -501, -501, -501, -501, -501, -501, -501, -501, 922, -501, - -501, -501, -501, -501, -501, -501, -501, -501, -501, -501, - -501, -501, -501, -501, -501, 922, 150, 151, -501, 1131, - 136, 153, 154, 155, 156, 157, 158, 1131, 1131, 1131, - 159, 241, 839, 922, 922, 251, -501, -18, -501, -501, - -501, -501, -501, -501, -501, -501, -501, -501, -501, -501, - 717, 960, 549, 265, -501, -501, -501, -501, -69, -50, - -84, -501, 123, -501, 160, 142, 763, -501, -501, 283, - 164, 166, 960, 960, 960, 960, 960, -501, -110, 960, - 960, 960, 960, 960, 302, 304, 1131, 1131, 1131, 1, - -501, 12, -501, 169, 1131, 167, 922, 922, 922, 922, - 922, 172, 173, 176, 922, 922, 1131, 1131, 178, -501, - 299, 314, -501, 91, -501, -40, -68, -501, -74, -501, - -501, -501, -501, -501, 801, 301, -501, 184, 960, 960, - 169, 187, 188, 189, 190, 960, -501, 194, 195, 201, - 209, 316, 1131, 1131, 204, 212, 213, 1131, 341, 1131, - 922, -501, 214, 1131, 215, -501, -501, 216, 220, 1131, - 1131, 1131, -501, -501, 219, -501, 922, -501, -501, -501, - -501, -501, -501, -501, -501, -501, 303, 332, 222, 228, - 229, 960, 960, 960, 960, -501, 960, 960, 960, 960, - 922, 238, 235, 922, 1131, 1131, 240, -501, 240, -501, - 243, 1131, 244, 922, 922, 922, -501, -501, -501, 922, - 1131, 345, -501, -501, 960, 960, -501, 246, 242, 247, - 248, 252, 254, 255, 256, 257, 354, 26, 243, 258, - 259, 260, 325, -501, -501, 922, 225, 1131, -501, -501, - -501, 261, -501, -501, 262, 269, 960, -501, 960, 960, - -501, -501, -501, -501, -501, 1131, -501, 1220, 56, 347, - -501, -501, -501, -501, 250, -501, -501, -501, 270, 271, - 272, -501, 249, -501, 1220, 378, -501, -501, -501, -501, - 391, 276, 1131, 1131, 415, 138, -501, 1131, 416, -501, - 1131, -501 + -543, 41, 25, 215, -543, -543, 82, 277, -543, -543, + -543, -543, -543, -543, -543, -10, 300, 62, -543, -543, + -543, -543, 22, -95, 57, 78, 30, -543, -543, -543, + 300, 300, 156, 170, -543, -543, -543, -543, -543, -543, + 887, -26, -543, -17, -543, 37, 39, 42, 46, 48, + -543, 77, 156, 887, 43, 43, -543, -543, 43, 43, + -543, -543, -26, -543, -543, -543, 53, -543, -543, -543, + -543, -543, -543, -543, -543, -543, -543, -543, -543, -543, + -543, -543, 188, 196, -8, 561, -543, 153, 81, -543, + -543, -70, -543, -543, -543, -543, -543, -543, -543, -543, + -543, 924, 13, 307, -543, -543, -543, 1403, -543, -543, + -543, 207, 101, 220, 210, 211, -543, -543, -543, -543, + -543, 969, 969, 1008, 969, -543, -543, 88, 89, 603, + -543, -543, -70, -75, 93, 676, -543, 53, 1201, -543, + 1201, 1201, -543, -543, -543, -543, -543, -543, -543, -543, + -543, -543, 1201, -543, 969, -543, 189, 300, -543, -543, + -543, -543, -543, -543, -543, -543, -543, -543, -543, -543, + -543, -543, -543, -543, -543, -543, -543, -543, 58, 109, + 969, 969, 969, 969, 969, 969, -543, -543, -543, -543, + 969, 969, 969, 969, -543, -543, -543, -543, -543, -543, + -543, -543, -543, -543, -543, -543, -543, 969, 969, 969, + 969, 969, 300, -543, -19, -543, -543, -543, -543, -543, + -543, -543, -543, -133, 100, 100, 149, 167, 236, 179, + 238, 185, 239, 187, 247, 248, 249, 193, 250, 252, + 1052, 100, 100, 969, 969, 110, -66, 969, -543, 723, + -543, 128, 127, -543, -543, -543, -543, -543, -543, -543, + -543, 221, 58, 109, 130, 132, 133, 137, 138, 1008, + 140, 143, 144, 145, 146, -543, -543, -543, -543, 151, + -543, 155, -543, -543, 887, -543, -543, -543, -543, -543, + -543, -543, -543, -543, -543, 969, -543, -543, -543, -543, + -543, -543, -543, -543, -543, -543, -543, -543, -543, -543, + -543, -543, 969, 157, 174, -543, 1201, 152, 175, 176, + 177, 178, 182, 183, 1201, 1201, 1201, 184, 262, 887, + 969, 969, 302, -543, 45, -543, -543, -543, -543, -543, + -543, -543, -543, -543, -543, -543, -543, 764, 1008, 647, + 309, -543, -543, -543, -543, -4, -5, -543, 180, -70, + -543, 153, -543, 190, 186, 809, -543, -543, 315, 191, + 192, 1008, 1008, 1008, 1008, 1008, -543, -134, 1008, 1008, + 1008, 1008, 1008, 333, 334, 1201, 1201, 1201, -3, -543, + 8, -543, 200, 1201, 197, 969, 969, 969, 969, 969, + 208, 209, 223, 969, 969, 1201, 1201, 224, -543, 348, + 361, -543, 100, -543, -21, -57, -543, -61, -543, -543, + -543, -543, -543, -543, 848, 342, -543, 228, 1008, 1008, + 200, 229, 230, 234, 235, 1008, -543, 237, 240, 241, + 242, 349, 1201, 1201, 243, 244, 246, 1201, 373, 1201, + 969, -543, 251, 1201, 253, -543, -543, 254, 255, 1201, + 1201, 1201, -543, -543, 245, -543, 969, -543, -543, -543, + -543, -543, -543, -543, -543, -543, 338, 372, 256, 261, + 259, 1008, 1008, 1008, 1008, -543, 1008, 1008, 1008, 1008, + 969, 263, 260, 969, 1201, 1201, 265, -543, 265, -543, + 266, 1201, 267, 969, 969, 969, -543, -543, -543, 969, + 1201, 385, -543, -543, 1008, 1008, -543, 268, 273, 269, + 270, 274, 275, 276, 281, 282, 390, 28, 266, 283, + -543, -543, 366, -543, -543, 969, 285, 1201, -543, -543, + -543, 284, -543, -543, 289, 291, 1008, -543, 1008, 1008, + -543, -543, -543, -543, -543, 1201, -543, 1290, 40, 393, + -543, -543, 290, -543, -543, -543, 292, 295, 296, -543, + 288, -543, 1290, 442, -543, -543, -543, -543, 444, 308, + 1201, 1201, 445, 134, -543, 1201, 447, -543, 1201, -543 }; /* YYPGOTO[NTERM-NUM]. */ static const short int yypgoto[] = { - -501, -501, -501, 328, 329, 330, 181, 185, 333, 336, - -98, -97, -500, -501, 400, 420, -136, -501, -300, 31, - -501, -216, -501, -45, -501, -38, -501, -81, 317, -501, - 126, 218, -208, 74, -501, -501, -501, -501, 398, -501, - -501, -501, -501, 2, -501, 35, -501, -501, 423, -501, - -501, -501, -501, -501, 451, -501, -471, -106, -62, -90, - -501, 417, -501, -116, -501, -501, -501, -501, 22, -39, - -501, -501, 43, -501, -501 + -543, -543, -543, 359, 360, 363, 206, 212, 367, 370, + -102, -100, -504, -543, 428, 17, -149, -543, -303, 55, + -543, -220, -543, -49, -543, -40, -543, -71, 4, -543, + 159, 257, -200, 51, -543, -543, -543, -543, 426, -543, + -543, -543, -543, -1, -543, 59, -543, -543, 202, 419, + -543, -543, -543, -543, 479, -543, -542, -109, 49, -92, + -543, 441, -543, -98, -543, -543, -543, -543, 36, -22, + -543, -543, 60, -543, -543 }; /* 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 -176 +#define YYTABLE_NINF -178 static const short int yytable[] = { - 86, 127, 145, 146, 329, 25, 115, 382, 134, -175, - 40, 437, 135, 86, 94, 91, 277, 547, 240, 400, - 346, 347, 439, 136, 44, 45, 46, 270, 241, 270, - 270, 137, 138, 139, 140, 141, 142, 143, 144, 401, - 5, 270, 425, 6, 47, 25, 116, 117, 564, 127, - 426, 7, 8, 9, 10, 11, 12, 13, 438, 275, - 133, 137, 138, 139, 140, 141, 142, 143, 144, 438, - -112, 322, 14, 272, 273, 19, 562, 20, 425, 131, - 219, 220, 4, 237, 425, 274, 129, 308, 462, 410, - 312, 30, 461, 571, 131, 313, 314, 315, 316, 31, - 32, 33, 34, 35, 36, 37, 289, 290, 325, 49, - 411, 133, 425, 131, 326, 320, 321, 27, 460, 28, - 98, 99, 100, 40, 101, 102, 103, 119, 50, 345, - 120, 121, 405, 406, 408, 212, 213, 306, 307, 133, - 309, 310, 133, 95, 92, 323, 324, 133, 133, 133, - 133, 19, 60, 20, 51, 330, 331, 348, 349, 350, - -72, -72, -71, -71, 317, 318, 319, 133, 133, 7, - 8, 9, 52, 11, 53, 13, 58, 54, -70, -70, - -69, -69, 332, 333, 546, 55, 523, 459, 524, 291, - 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, - 302, 303, 304, 270, 352, 278, 279, 280, 281, 282, - 283, 270, 270, 270, 563, 101, 102, 62, 108, 109, - 110, 284, 285, 286, 287, 122, 111, 112, 123, 124, - -113, 130, 376, 211, 398, 215, 216, 276, 217, 86, - 238, 239, 242, 327, -76, -75, 236, 383, -74, -73, - 377, 356, 335, -79, -80, 391, 392, 393, 137, 138, - 139, 140, 141, 142, 143, 144, 336, 378, 357, 358, - 270, 270, 270, 362, 363, 350, 374, 396, 270, 364, - 395, 399, 365, 366, 86, 397, 133, 369, 370, 371, - 270, 270, 384, 372, 373, 409, 444, 415, 446, 447, - 448, 375, 379, 381, 452, 385, 386, 387, 388, 389, - 390, 394, 414, 417, 434, 435, 436, 432, 418, 433, - 419, 440, 442, 443, 449, 450, 270, 270, 451, 457, - 456, 270, 458, 270, 454, 455, 467, 270, 400, 471, - 472, 473, 474, 270, 270, 270, 476, 477, 133, 445, - 133, 133, 133, 478, 412, 480, 133, 453, 483, 487, - 501, 479, 503, 533, 484, 485, 491, 493, 494, 545, - 481, 482, 495, 499, 504, 486, 352, 488, 270, 270, - 505, 492, 438, 553, 506, 270, 565, 496, 497, 498, - 516, 517, 522, 572, 270, 525, 527, 537, 536, 538, - 539, 570, 133, 528, 529, 530, 573, 540, 566, 541, - 542, 543, 544, 549, 550, 551, 555, 556, 500, 145, - 146, 270, 520, 521, 557, 567, 568, 569, 574, 526, - 577, 580, 202, 203, 204, 552, 360, 205, 532, 270, - 206, 361, 515, 104, 56, 133, 465, 244, 114, 464, - 145, 146, 59, 344, 26, 133, 133, 133, 97, 578, - 531, 133, 490, 470, 0, 554, 270, 270, 0, 0, - 0, 270, 0, 0, 270, 0, 0, 0, 0, 0, - 0, 0, 0, 561, 0, 0, 0, 133, 420, 421, - 422, 423, 424, 0, 0, 427, 428, 429, 430, 431, + 89, 150, 26, 151, 118, 336, 94, 447, 284, 139, + 128, 391, 42, 89, 132, 570, 97, 140, 449, 435, + 332, 353, 354, 557, 31, -177, 333, 436, 141, 277, + 579, 277, 277, 142, 143, 144, 145, 146, 147, 148, + 149, 4, 58, 277, 26, 142, 143, 144, 145, 146, + 147, 148, 149, 32, 572, 448, 5, 51, 132, 6, + 7, 138, 282, 329, 132, 20, 448, 21, 8, 9, + 10, 11, 12, 13, 14, 46, 47, 48, 247, 119, + 120, 224, 225, 409, 242, -112, 134, 247, 248, 15, + 315, 42, 435, 319, 136, 49, 435, 358, 320, 321, + 322, 323, 472, 410, 471, 53, 122, 330, 331, 123, + 124, 101, 102, 103, 138, 104, 105, 106, 327, 328, + 52, 8, 9, 10, 54, 12, 55, 14, 28, 56, + 29, 352, 435, 246, 296, 297, 95, 57, 470, 251, + 313, 314, 138, 316, 317, 138, 98, 414, 415, 417, + 138, 138, 138, 138, 129, 419, 420, 217, 218, 136, + 136, 285, 286, 287, 288, 289, 290, 324, 325, 326, + 138, 138, 355, 356, 337, 338, 359, 291, 292, 293, + 294, 20, 60, 21, -72, -72, 63, 556, 65, 279, + 280, 111, 469, 533, 112, 534, -71, -71, 113, 571, + 114, 281, -70, -70, -69, -69, 126, 277, -113, 361, + 339, 340, 104, 105, 127, 277, 277, 277, 298, 299, + 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, + 310, 311, 61, 62, 115, 385, 135, 216, 220, 407, + 221, 222, -82, 20, 89, 21, 243, 244, 249, 6, + 283, -82, -82, 334, -76, 386, -75, -74, -82, -82, + -82, -82, -82, -82, -82, -73, -82, 22, 342, -79, + -80, 357, 387, 343, -82, 23, 277, 277, 277, 24, + 405, 365, 241, 366, 277, 371, 367, 372, 373, 89, + 406, 138, 374, 375, 359, 378, 277, 277, 379, 380, + 381, 382, 404, 454, 383, 456, 457, 458, 384, 393, + 388, 462, 142, 143, 144, 145, 146, 147, 148, 149, + 8, 9, 10, 11, 12, 13, 14, 390, 394, 395, + 396, 397, 408, 277, 277, 398, 399, 403, 277, 418, + 277, 421, 425, 424, 277, 427, 428, 429, 442, 443, + 277, 277, 277, 450, 453, 138, 455, 138, 138, 138, + 422, 459, 460, 138, 463, 392, 33, 34, 35, 36, + 37, 38, 39, 400, 401, 402, 461, 466, 467, 468, + 409, 477, 481, 482, 361, 277, 277, 483, 484, 490, + 486, 497, 277, 487, 488, 489, 511, 494, 493, 495, + 509, 277, 513, 543, 501, 555, 503, 504, 505, 514, + 138, 538, 539, 540, 515, 516, 526, 527, 532, 535, + 537, 546, 548, 549, 448, 150, 510, 151, 277, 547, + 550, 551, 552, 573, 444, 445, 446, 553, 554, 559, + 563, 578, 452, 560, 561, 564, 277, 565, 575, 574, + 525, 576, 577, 138, 464, 465, 150, 580, 151, 581, + 585, 582, 588, 138, 138, 138, 207, 208, 369, 138, + 209, 277, 277, 107, 210, 370, 277, 211, 117, 277, + 475, 125, 27, 474, 100, 586, 500, 541, 0, 0, + 480, 491, 492, 0, 0, 138, 496, 351, 498, 0, + 0, 0, 502, 0, 0, 0, 0, 0, 506, 507, + 508, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 575, 576, 0, 0, 0, 579, 0, 0, 581, 0, - 0, 125, 64, 65, 66, 67, 68, 69, 70, 71, - 72, 73, 74, 75, 76, 0, 0, 77, 78, 0, - 0, 0, 0, 0, 468, 469, 19, 0, 20, 0, - 0, 475, 125, 221, 222, 223, 224, 225, 226, 227, - 228, 229, 230, 231, 75, 76, 0, 0, 77, 78, - 0, 0, 0, 0, 0, 0, 0, 19, 0, 20, + 430, 431, 432, 433, 434, 0, 0, 437, 438, 439, + 440, 441, 0, 530, 531, 0, 0, 0, 0, 0, + 536, 0, 0, 0, 0, 0, 0, 0, 0, 542, + 0, 0, 0, 0, 130, 67, 68, 69, 70, 71, + 72, 73, 74, 75, 76, 77, 78, 79, 0, 0, + 80, 81, 0, 0, 0, 0, 562, 478, 479, 20, + 0, 21, 0, 0, 485, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 569, 0, 130, 67, 68, 69, + 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, + 0, 0, 80, 81, 0, 0, 0, 0, 0, 583, + 584, 20, 0, 21, 587, 0, 0, 589, 0, 0, + 517, 518, 519, 520, 0, 521, 522, 523, 524, 0, + 130, 226, 227, 228, 229, 230, 231, 232, 233, 234, + 235, 236, 78, 79, 0, 0, 80, 81, 0, 0, + 0, 0, 0, 544, 545, 20, 0, 21, 0, 130, + 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, + 77, 78, 79, 0, 0, 80, 81, 0, 0, 0, + 0, 0, 0, 0, 20, 566, 21, 567, 568, 0, + 0, 0, 0, 0, 0, 82, 0, 250, 83, 0, + 0, 84, 0, 85, 131, 0, 130, 67, 68, 69, + 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, + 0, 0, 80, 81, 0, 0, 0, 0, 0, 0, + 0, 20, 0, 21, 0, 0, 0, 82, 0, 0, + 83, 0, 0, 84, 360, 85, 245, 130, 226, 227, + 228, 229, 230, 231, 232, 233, 234, 235, 236, 78, + 79, 0, 0, 80, 81, 0, 0, 0, 0, 0, + 0, 0, 20, 0, 21, 0, 0, 0, 0, 0, + 0, 82, 0, 0, 83, 0, 0, 84, 0, 85, + 416, 0, 130, 67, 68, 69, 70, 71, 72, 73, + 74, 75, 76, 77, 78, 79, 0, 0, 80, 81, + 82, 0, 0, 83, 0, 0, 84, 20, 85, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 507, 508, 509, - 510, 0, 511, 512, 513, 514, 0, 125, 64, 65, + 426, 130, 67, 68, 69, 70, 71, 72, 73, 74, + 75, 76, 77, 78, 79, 0, 0, 80, 81, 0, + 0, 0, 0, 0, 0, 0, 20, 82, 21, 0, + 83, 0, 0, 84, 0, 85, 0, 0, 0, 473, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, - 76, 0, 0, 77, 78, 0, 0, 0, 0, 0, - 534, 535, 19, 0, 20, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 243, 0, 0, 0, 0, 0, + 76, 77, 78, 79, 0, 0, 80, 81, 0, 0, + 0, 0, 0, 0, 0, 20, 0, 21, 82, 0, + 0, 83, 0, 413, 84, 0, 85, 137, 67, 68, + 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, + 79, 0, 0, 80, 81, 0, 0, 0, 0, 0, + 0, 0, 20, 0, 21, 0, 0, 0, 0, 0, + 0, 0, 0, 82, 0, 0, 83, 0, 0, 84, + 0, 85, 130, 67, 68, 69, 70, 71, 72, 73, + 74, 75, 76, 77, 78, 79, 0, 0, 80, 81, + 0, 0, 0, 0, 0, 0, 0, 20, 0, 21, + 0, 0, 82, 0, 0, 83, 0, 0, 84, 0, + 85, 130, 226, 227, 228, 229, 230, 231, 232, 233, + 234, 235, 236, 78, 79, 0, 0, 80, 81, 0, + 0, 0, 0, 0, 0, 0, 20, 0, 21, 0, + 0, 82, 0, 0, 83, 0, 0, 84, 0, 85, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 80, 81, 0, 344, 345, 346, 0, 82, 0, + 20, 83, 21, 0, 84, 0, 85, 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, 558, 0, 559, 560, 0, 0, 0, 0, - 0, 79, 0, 0, 80, 0, 0, 81, 0, 82, - 126, 0, 125, 64, 65, 66, 67, 68, 69, 70, - 71, 72, 73, 74, 75, 76, 0, 0, 77, 78, - 0, 0, 79, 0, 0, 80, 0, 19, 81, 20, - 82, 407, 0, 0, 0, 0, 0, 0, 0, 351, - 125, 221, 222, 223, 224, 225, 226, 227, 228, 229, - 230, 231, 75, 76, 0, 0, 77, 78, 0, 0, - 0, 0, 0, 0, 0, 19, 0, 20, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 79, 0, 0, - 80, 0, 0, 81, 0, 82, 125, 64, 65, 66, - 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, - 0, 0, 77, 78, 0, 0, 0, 0, 0, 0, - 0, 19, 0, 20, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 416, 125, 64, 65, 66, 67, 68, - 69, 70, 71, 72, 73, 74, 75, 76, 0, 0, - 77, 78, 0, 0, 0, 0, 0, 0, 0, 19, - 0, 20, 79, 0, 0, 80, 0, 0, 81, 0, - 82, 463, 63, 64, 65, 66, 67, 68, 69, 70, - 71, 72, 73, 74, 75, 76, 0, 0, 77, 78, - 0, 0, 0, 0, 0, 0, 0, 19, 0, 20, - 79, 0, 0, 80, 0, 404, 81, 0, 82, 132, - 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, - 74, 75, 76, 0, 0, 77, 78, 0, 0, 0, - 0, 0, 0, 0, 19, 0, 20, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 79, 0, 0, 80, - 0, 0, 81, 0, 82, 125, 64, 65, 66, 67, - 68, 69, 70, 71, 72, 73, 74, 75, 76, 0, - 0, 77, 78, 0, 0, 0, 0, 0, 0, 0, - 19, 0, 20, 0, 79, 0, 0, 80, 0, 0, - 81, 0, 82, 125, 221, 222, 223, 224, 225, 226, - 227, 228, 229, 230, 231, 75, 76, 0, 0, 77, - 78, 0, 0, 0, 0, 0, 0, 0, 19, 0, - 20, 0, 79, 0, 0, 80, 0, 0, 81, 0, - 82, 0, -82, 19, 0, 20, 0, 0, 0, 6, - -82, -82, 0, 0, 0, 0, 0, -82, -82, -82, - -82, -82, -82, -82, 0, -82, 21, 0, 0, 79, - 0, 0, 80, -82, 22, 81, 0, 82, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 82, 0, 0, 83, 0, 0, 84, + 0, 85, 0, 158, 159, 160, 161, 162, 163, 164, + 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, + 175, 176, 177, 262, 263, 0, 0, 0, 0, 0, + 0, 0, 82, 0, 0, 83, 0, 0, 84, 0, + 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 264, 0, 265, 186, 187, 188, 189, 0, 266, 267, + 268, 194, 195, 196, 197, 198, 199, 200, 201, 202, + 203, 204, 205, 206, 0, 0, 0, 0, 0, 347, + 0, 0, 348, 0, 349, 0, 0, 350, 253, 254, + 80, 81, 255, 256, 257, 258, 259, 260, 0, 20, + 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 77, 78, 0, 337, 338, 339, 0, 0, 0, - 19, 0, 20, 0, 0, 79, 0, 0, 80, 0, - 0, 81, 0, 82, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 261, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 79, 0, 0, 80, 0, 0, 81, - 0, 82, 153, 154, 155, 156, 157, 158, 159, 160, - 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, - 171, 172, 255, 256, 0, 0, 0, 0, 246, 247, - 77, 78, 248, 249, 250, 251, 252, 253, 0, 19, - 0, 20, 0, 0, 0, 0, 0, 0, 0, 257, - 0, 258, 181, 182, 183, 184, 0, 259, 260, 261, - 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, - 199, 200, 201, 254, 0, 0, 0, 0, 340, 0, - 0, 341, 0, 342, 0, 0, 343, 0, 0, 0, - 0, 153, 154, 155, 156, 157, 158, 159, 160, 161, - 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, - 172, 255, 256, 0, 0, 0, 0, 246, 247, 0, - 0, 248, 249, 250, 251, 252, 253, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 257, 0, - 258, 181, 182, 183, 184, 0, 259, 260, 261, 189, - 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, - 200, 201, 254, 0, 0, 0, 0, 0, 0, 0, - 262, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, - 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, - 255, 256, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 158, 159, 160, 161, 162, 163, 164, 165, + 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, + 176, 177, 262, 263, 0, 0, 0, 253, 254, 0, + 0, 255, 256, 257, 258, 259, 260, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 264, + 0, 265, 186, 187, 188, 189, 0, 266, 267, 268, + 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, + 204, 205, 206, 261, 0, 0, 0, 0, 0, 0, + 0, 269, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 158, 159, 160, 161, 162, 163, 164, 165, 166, + 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, + 177, 262, 263, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 257, 0, 258, - 181, 182, 183, 184, 0, 259, 260, 261, 189, 190, - 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, - 201, 148, 0, 0, 0, 0, 0, 0, 0, 262, - 0, 0, 149, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 150, 151, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 152, - 0, 0, 0, 153, 154, 155, 156, 157, 158, 159, - 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, - 170, 171, 172, 173, 174, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 264, 0, + 265, 186, 187, 188, 189, 0, 266, 267, 268, 194, + 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, + 205, 206, 153, 0, 0, 0, 0, 0, 0, 0, + 269, 0, 0, 154, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 155, 156, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 175, 176, 177, 0, 0, - 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, - 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, - 198, 199, 200, 201 + 157, 0, 0, 0, 158, 159, 160, 161, 162, 163, + 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, + 174, 175, 176, 177, 178, 179, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 180, 181, 182, 0, + 0, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, + 202, 203, 204, 205, 206 }; static const short int yycheck[] = { - 38, 82, 100, 100, 220, 3, 51, 307, 98, 0, - 29, 10, 4, 51, 33, 32, 152, 517, 152, 37, - 236, 237, 10, 15, 52, 53, 54, 133, 162, 135, - 136, 5, 6, 7, 8, 9, 10, 11, 12, 57, - 31, 147, 152, 34, 72, 43, 35, 36, 548, 130, - 160, 42, 43, 44, 45, 46, 47, 48, 57, 149, - 98, 5, 6, 7, 8, 9, 10, 11, 12, 57, - 154, 207, 63, 135, 136, 28, 547, 30, 152, 163, - 118, 119, 0, 121, 152, 147, 84, 177, 162, 158, - 180, 62, 160, 564, 163, 185, 186, 187, 188, 65, - 66, 67, 68, 69, 70, 71, 25, 26, 152, 151, - 160, 149, 152, 163, 158, 205, 206, 45, 158, 47, - 73, 74, 75, 29, 77, 78, 79, 53, 62, 235, - 56, 57, 340, 341, 342, 55, 56, 175, 176, 177, - 178, 179, 180, 162, 161, 125, 126, 185, 186, 187, - 188, 28, 30, 30, 27, 25, 26, 238, 239, 240, - 17, 18, 17, 18, 202, 203, 204, 205, 206, 42, - 43, 44, 45, 46, 47, 48, 151, 50, 17, 18, - 17, 18, 17, 18, 158, 58, 486, 403, 488, 108, - 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, - 119, 120, 121, 309, 242, 102, 103, 104, 105, 106, - 107, 317, 318, 319, 158, 77, 78, 18, 151, 151, - 151, 118, 119, 120, 121, 18, 151, 156, 18, 18, - 154, 154, 277, 30, 324, 18, 30, 60, 30, 277, - 157, 157, 154, 152, 18, 18, 120, 309, 18, 18, - 288, 152, 18, 21, 21, 317, 318, 319, 5, 6, - 7, 8, 9, 10, 11, 12, 21, 305, 155, 64, - 376, 377, 378, 154, 154, 356, 152, 322, 384, 154, - 39, 30, 154, 154, 322, 323, 324, 154, 154, 154, - 396, 397, 156, 154, 154, 30, 386, 155, 388, 389, - 390, 152, 152, 152, 394, 152, 152, 152, 152, 152, - 152, 152, 152, 30, 376, 377, 378, 15, 154, 15, - 154, 152, 384, 156, 152, 152, 432, 433, 152, 30, - 152, 437, 18, 439, 396, 397, 152, 443, 37, 152, - 152, 152, 152, 449, 450, 451, 152, 152, 386, 387, - 388, 389, 390, 152, 352, 39, 394, 395, 154, 18, - 57, 152, 30, 18, 152, 152, 152, 152, 152, 15, - 432, 433, 152, 154, 152, 437, 414, 439, 484, 485, - 152, 443, 57, 158, 155, 491, 39, 449, 450, 451, - 152, 156, 152, 15, 500, 152, 152, 155, 152, 152, - 152, 152, 440, 493, 494, 495, 15, 155, 158, 155, - 155, 155, 155, 155, 155, 155, 155, 155, 456, 517, - 517, 527, 484, 485, 155, 155, 155, 155, 152, 491, - 15, 15, 104, 104, 104, 525, 255, 104, 500, 545, - 104, 256, 480, 43, 24, 483, 415, 130, 50, 414, - 548, 548, 29, 235, 3, 493, 494, 495, 41, 575, - 499, 499, 440, 420, -1, 527, 572, 573, -1, -1, - -1, 577, -1, -1, 580, -1, -1, -1, -1, -1, - -1, -1, -1, 545, -1, -1, -1, 525, 362, 363, - 364, 365, 366, -1, -1, 369, 370, 371, 372, 373, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 572, 573, -1, -1, -1, 577, -1, -1, 580, -1, - -1, 3, 4, 5, 6, 7, 8, 9, 10, 11, - 12, 13, 14, 15, 16, -1, -1, 19, 20, -1, - -1, -1, -1, -1, 418, 419, 28, -1, 30, -1, - -1, 425, 3, 4, 5, 6, 7, 8, 9, 10, - 11, 12, 13, 14, 15, 16, -1, -1, 19, 20, - -1, -1, -1, -1, -1, -1, -1, 28, -1, 30, + 40, 103, 3, 103, 53, 225, 32, 10, 157, 101, + 18, 314, 29, 53, 85, 557, 33, 4, 10, 153, + 153, 241, 242, 527, 7, 0, 159, 161, 15, 138, + 572, 140, 141, 5, 6, 7, 8, 9, 10, 11, + 12, 0, 25, 152, 45, 5, 6, 7, 8, 9, + 10, 11, 12, 63, 558, 58, 31, 152, 129, 34, + 35, 101, 154, 212, 135, 28, 58, 30, 43, 44, + 45, 46, 47, 48, 49, 53, 54, 55, 153, 36, + 37, 121, 122, 38, 124, 155, 87, 153, 163, 64, + 182, 29, 153, 185, 164, 73, 153, 163, 190, 191, + 192, 193, 163, 58, 161, 27, 55, 126, 127, 58, + 59, 74, 75, 76, 154, 78, 79, 80, 210, 211, + 63, 43, 44, 45, 46, 47, 48, 49, 46, 51, + 48, 240, 153, 129, 25, 26, 162, 59, 159, 135, + 180, 181, 182, 183, 184, 185, 163, 347, 348, 349, + 190, 191, 192, 193, 162, 159, 161, 56, 57, 164, + 164, 103, 104, 105, 106, 107, 108, 207, 208, 209, + 210, 211, 243, 244, 25, 26, 247, 119, 120, 121, + 122, 28, 152, 30, 17, 18, 30, 159, 18, 140, + 141, 152, 412, 496, 152, 498, 17, 18, 152, 159, + 152, 152, 17, 18, 17, 18, 18, 316, 155, 249, + 17, 18, 78, 79, 18, 324, 325, 326, 109, 110, + 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, + 121, 122, 30, 31, 157, 284, 155, 30, 18, 331, + 30, 30, 27, 28, 284, 30, 158, 158, 155, 34, + 61, 36, 37, 153, 18, 295, 18, 18, 43, 44, + 45, 46, 47, 48, 49, 18, 51, 52, 18, 21, + 21, 161, 312, 21, 59, 60, 385, 386, 387, 64, + 329, 153, 123, 156, 393, 155, 65, 155, 155, 329, + 330, 331, 155, 155, 365, 155, 405, 406, 155, 155, + 155, 155, 40, 395, 153, 397, 398, 399, 153, 157, + 153, 403, 5, 6, 7, 8, 9, 10, 11, 12, + 43, 44, 45, 46, 47, 48, 49, 153, 153, 153, + 153, 153, 30, 442, 443, 153, 153, 153, 447, 30, + 449, 161, 156, 153, 453, 30, 155, 155, 15, 15, + 459, 460, 461, 153, 157, 395, 396, 397, 398, 399, + 361, 153, 153, 403, 404, 316, 66, 67, 68, 69, + 70, 71, 72, 324, 325, 326, 153, 153, 30, 18, + 38, 153, 153, 153, 424, 494, 495, 153, 153, 40, + 153, 18, 501, 153, 153, 153, 58, 153, 155, 153, + 155, 510, 30, 18, 153, 15, 153, 153, 153, 153, + 450, 503, 504, 505, 153, 156, 153, 157, 153, 153, + 153, 153, 153, 153, 58, 527, 466, 527, 537, 156, + 156, 156, 156, 40, 385, 386, 387, 156, 156, 156, + 156, 153, 393, 535, 159, 156, 555, 156, 156, 159, + 490, 156, 156, 493, 405, 406, 558, 15, 558, 15, + 15, 153, 15, 503, 504, 505, 107, 107, 262, 509, + 107, 580, 581, 45, 107, 263, 585, 107, 52, 588, + 425, 62, 3, 424, 43, 583, 450, 509, -1, -1, + 430, 442, 443, -1, -1, 535, 447, 240, 449, -1, + -1, -1, 453, -1, -1, -1, -1, -1, 459, 460, + 461, -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, 471, 472, 473, - 474, -1, 476, 477, 478, 479, -1, 3, 4, 5, + 371, 372, 373, 374, 375, -1, -1, 378, 379, 380, + 381, 382, -1, 494, 495, -1, -1, -1, -1, -1, + 501, -1, -1, -1, -1, -1, -1, -1, -1, 510, + -1, -1, -1, -1, 3, 4, 5, 6, 7, 8, + 9, 10, 11, 12, 13, 14, 15, 16, -1, -1, + 19, 20, -1, -1, -1, -1, 537, 428, 429, 28, + -1, 30, -1, -1, 435, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 555, -1, 3, 4, 5, 6, + 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, + -1, -1, 19, 20, -1, -1, -1, -1, -1, 580, + 581, 28, -1, 30, 585, -1, -1, 588, -1, -1, + 481, 482, 483, 484, -1, 486, 487, 488, 489, -1, + 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, + 13, 14, 15, 16, -1, -1, 19, 20, -1, -1, + -1, -1, -1, 514, 515, 28, -1, 30, -1, 3, + 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, + 14, 15, 16, -1, -1, 19, 20, -1, -1, -1, + -1, -1, -1, -1, 28, 546, 30, 548, 549, -1, + -1, -1, -1, -1, -1, 154, -1, 41, 157, -1, + -1, 160, -1, 162, 163, -1, 3, 4, 5, 6, + 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, + -1, -1, 19, 20, -1, -1, -1, -1, -1, -1, + -1, 28, -1, 30, -1, -1, -1, 154, -1, -1, + 157, -1, -1, 160, 41, 162, 163, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, -1, -1, 19, 20, -1, -1, -1, -1, -1, - 504, 505, 28, -1, 30, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 40, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 536, -1, 538, 539, -1, -1, -1, -1, - -1, 153, -1, -1, 156, -1, -1, 159, -1, 161, - 162, -1, 3, 4, 5, 6, 7, 8, 9, 10, + -1, -1, 28, -1, 30, -1, -1, -1, -1, -1, + -1, 154, -1, -1, 157, -1, -1, 160, -1, 162, + 163, -1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, -1, -1, 19, 20, - -1, -1, 153, -1, -1, 156, -1, 28, 159, 30, - 161, 162, -1, -1, -1, -1, -1, -1, -1, 40, + 154, -1, -1, 157, -1, -1, 160, 28, 162, 30, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 41, 3, 4, 5, 6, 7, 8, 9, 10, 11, + 12, 13, 14, 15, 16, -1, -1, 19, 20, -1, + -1, -1, -1, -1, -1, -1, 28, 154, 30, -1, + 157, -1, -1, 160, -1, 162, -1, -1, -1, 41, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, -1, -1, 19, 20, -1, -1, - -1, -1, -1, -1, -1, 28, -1, 30, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 153, -1, -1, - 156, -1, -1, 159, -1, 161, 3, 4, 5, 6, - 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, - -1, -1, 19, 20, -1, -1, -1, -1, -1, -1, - -1, 28, -1, 30, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 40, 3, 4, 5, 6, 7, 8, - 9, 10, 11, 12, 13, 14, 15, 16, -1, -1, - 19, 20, -1, -1, -1, -1, -1, -1, -1, 28, - -1, 30, 153, -1, -1, 156, -1, -1, 159, -1, - 161, 40, 3, 4, 5, 6, 7, 8, 9, 10, + -1, -1, -1, -1, -1, 28, -1, 30, 154, -1, + -1, 157, -1, 159, 160, -1, 162, 3, 4, 5, + 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, + 16, -1, -1, 19, 20, -1, -1, -1, -1, -1, + -1, -1, 28, -1, 30, -1, -1, -1, -1, -1, + -1, -1, -1, 154, -1, -1, 157, -1, -1, 160, + -1, 162, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, -1, -1, 19, 20, -1, -1, -1, -1, -1, -1, -1, 28, -1, 30, - 153, -1, -1, 156, -1, 158, 159, -1, 161, 3, - 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, - 14, 15, 16, -1, -1, 19, 20, -1, -1, -1, - -1, -1, -1, -1, 28, -1, 30, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 153, -1, -1, 156, - -1, -1, 159, -1, 161, 3, 4, 5, 6, 7, - 8, 9, 10, 11, 12, 13, 14, 15, 16, -1, - -1, 19, 20, -1, -1, -1, -1, -1, -1, -1, - 28, -1, 30, -1, 153, -1, -1, 156, -1, -1, - 159, -1, 161, 3, 4, 5, 6, 7, 8, 9, - 10, 11, 12, 13, 14, 15, 16, -1, -1, 19, - 20, -1, -1, -1, -1, -1, -1, -1, 28, -1, - 30, -1, 153, -1, -1, 156, -1, -1, 159, -1, - 161, -1, 27, 28, -1, 30, -1, -1, -1, 34, - 35, 36, -1, -1, -1, -1, -1, 42, 43, 44, - 45, 46, 47, 48, -1, 50, 51, -1, -1, 153, - -1, -1, 156, 58, 59, 159, -1, 161, 63, -1, + -1, -1, 154, -1, -1, 157, -1, -1, 160, -1, + 162, 3, 4, 5, 6, 7, 8, 9, 10, 11, + 12, 13, 14, 15, 16, -1, -1, 19, 20, -1, + -1, -1, -1, -1, -1, -1, 28, -1, 30, -1, + -1, 154, -1, -1, 157, -1, -1, 160, -1, 162, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 19, 20, -1, 22, 23, 24, -1, -1, -1, - 28, -1, 30, -1, -1, 153, -1, -1, 156, -1, - -1, 159, -1, 161, -1, -1, -1, -1, -1, -1, + -1, 19, 20, -1, 22, 23, 24, -1, 154, -1, + 28, 157, 30, -1, 160, -1, 162, -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, 153, -1, -1, 156, -1, -1, 159, - -1, 161, 80, 81, 82, 83, 84, 85, 86, 87, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 154, -1, -1, 157, -1, -1, 160, + -1, 162, -1, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, - 98, 99, 100, 101, -1, -1, -1, -1, 17, 18, - 19, 20, 21, 22, 23, 24, 25, 26, -1, 28, - -1, 30, -1, -1, -1, -1, -1, -1, -1, 127, - -1, 129, 130, 131, 132, 133, -1, 135, 136, 137, + 98, 99, 100, 101, 102, -1, -1, -1, -1, -1, + -1, -1, 154, -1, -1, 157, -1, -1, 160, -1, + 162, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 128, -1, 130, 131, 132, 133, 134, -1, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, - 148, 149, 150, 62, -1, -1, -1, -1, 156, -1, - -1, 159, -1, 161, -1, -1, 164, -1, -1, -1, - -1, 80, 81, 82, 83, 84, 85, 86, 87, 88, + 148, 149, 150, 151, -1, -1, -1, -1, -1, 157, + -1, -1, 160, -1, 162, -1, -1, 165, 17, 18, + 19, 20, 21, 22, 23, 24, 25, 26, -1, 28, + -1, 30, -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, 63, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, - 99, 100, 101, -1, -1, -1, -1, 17, 18, -1, + 99, 100, 101, 102, -1, -1, -1, 17, 18, -1, -1, 21, 22, 23, 24, 25, 26, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 127, -1, - 129, 130, 131, 132, 133, -1, 135, 136, 137, 138, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 128, + -1, 130, 131, 132, 133, 134, -1, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, - 149, 150, 62, -1, -1, -1, -1, -1, -1, -1, - 159, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, + 149, 150, 151, 63, -1, -1, -1, -1, -1, -1, + -1, 160, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, - 100, 101, -1, -1, -1, -1, -1, -1, -1, -1, + 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 127, -1, 129, - 130, 131, 132, 133, -1, 135, 136, 137, 138, 139, + -1, -1, -1, -1, -1, -1, -1, -1, 128, -1, + 130, 131, 132, 133, 134, -1, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, - 150, 38, -1, -1, -1, -1, -1, -1, -1, 159, - -1, -1, 49, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 60, 61, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 76, - -1, -1, -1, 80, 81, 82, 83, 84, 85, 86, + 150, 151, 39, -1, -1, -1, -1, -1, -1, -1, + 160, -1, -1, 50, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 61, 62, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 77, -1, -1, -1, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, - 97, 98, 99, 100, 101, -1, -1, -1, -1, -1, + 97, 98, 99, 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 122, 123, 124, -1, -1, - 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, + -1, -1, -1, -1, -1, -1, 123, 124, 125, -1, + -1, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, - 147, 148, 149, 150 + 147, 148, 149, 150, 151 }; /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing symbol of state STATE-NUM. */ static const unsigned char yystos[] = { - 0, 199, 200, 202, 0, 31, 34, 42, 43, 44, - 45, 46, 47, 48, 63, 180, 215, 217, 219, 28, - 30, 51, 59, 63, 179, 208, 219, 45, 47, 218, - 62, 65, 66, 67, 68, 69, 70, 71, 181, 213, - 29, 225, 226, 227, 52, 53, 54, 72, 205, 151, - 62, 27, 45, 47, 50, 58, 180, 201, 151, 213, - 30, 203, 18, 3, 4, 5, 6, 7, 8, 9, - 10, 11, 12, 13, 14, 15, 16, 19, 20, 153, - 156, 159, 161, 166, 188, 189, 190, 191, 192, 208, - 222, 32, 161, 214, 33, 162, 216, 226, 73, 74, - 75, 77, 78, 79, 179, 228, 229, 231, 151, 151, - 151, 151, 156, 206, 203, 188, 35, 36, 198, 198, - 198, 198, 18, 18, 18, 3, 162, 192, 193, 208, - 154, 163, 3, 190, 224, 4, 15, 5, 6, 7, - 8, 9, 10, 11, 12, 175, 176, 177, 38, 49, - 60, 61, 76, 80, 81, 82, 83, 84, 85, 86, - 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, - 97, 98, 99, 100, 101, 122, 123, 124, 127, 128, - 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, - 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, - 149, 150, 168, 169, 170, 173, 174, 235, 236, 238, - 239, 30, 55, 56, 204, 18, 30, 30, 207, 190, - 190, 4, 5, 6, 7, 8, 9, 10, 11, 12, - 13, 14, 175, 176, 178, 190, 195, 190, 157, 157, - 152, 162, 154, 40, 193, 194, 17, 18, 21, 22, - 23, 24, 25, 26, 62, 100, 101, 127, 129, 135, - 136, 137, 159, 168, 169, 170, 173, 174, 196, 221, - 222, 223, 223, 223, 223, 224, 60, 181, 102, 103, - 104, 105, 106, 107, 118, 119, 120, 121, 171, 25, - 26, 108, 109, 110, 111, 112, 113, 114, 115, 116, - 117, 118, 119, 120, 121, 172, 190, 190, 224, 190, - 190, 232, 224, 224, 224, 224, 224, 190, 190, 190, - 224, 224, 181, 125, 126, 152, 158, 152, 186, 186, - 25, 26, 17, 18, 167, 18, 21, 22, 23, 24, - 156, 159, 161, 164, 196, 222, 186, 186, 192, 192, - 192, 40, 190, 210, 211, 212, 152, 155, 64, 220, - 171, 172, 154, 154, 154, 154, 154, 195, 197, 154, - 154, 154, 154, 154, 152, 152, 188, 190, 190, 152, - 183, 152, 183, 223, 156, 152, 152, 152, 152, 152, - 152, 223, 223, 223, 152, 39, 188, 190, 224, 30, - 37, 57, 184, 187, 158, 197, 197, 162, 197, 30, - 158, 160, 208, 209, 152, 155, 40, 30, 154, 154, - 195, 195, 195, 195, 195, 152, 160, 195, 195, 195, - 195, 195, 15, 15, 223, 223, 223, 10, 57, 10, - 152, 237, 223, 156, 224, 190, 224, 224, 224, 152, - 152, 152, 224, 190, 223, 223, 152, 30, 18, 186, - 158, 160, 162, 40, 210, 184, 185, 152, 195, 195, - 237, 152, 152, 152, 152, 195, 152, 152, 152, 152, - 39, 223, 223, 154, 152, 152, 223, 18, 223, 224, - 233, 152, 223, 152, 152, 152, 223, 223, 223, 154, - 190, 57, 182, 30, 152, 152, 155, 195, 195, 195, - 195, 195, 195, 195, 195, 190, 152, 156, 233, 234, - 223, 223, 152, 183, 183, 152, 223, 152, 224, 224, - 224, 234, 223, 18, 195, 195, 152, 155, 152, 152, - 155, 155, 155, 155, 155, 15, 158, 177, 230, 155, - 155, 155, 224, 158, 223, 155, 155, 155, 195, 195, - 195, 223, 221, 158, 177, 39, 158, 155, 155, 155, - 152, 221, 15, 15, 152, 223, 223, 15, 228, 223, - 15, 223 + 0, 200, 201, 203, 0, 31, 34, 35, 43, 44, + 45, 46, 47, 48, 49, 64, 181, 216, 218, 220, + 28, 30, 52, 60, 64, 180, 209, 220, 46, 48, + 219, 181, 63, 66, 67, 68, 69, 70, 71, 72, + 182, 214, 29, 226, 227, 228, 53, 54, 55, 73, + 206, 152, 63, 27, 46, 48, 51, 59, 181, 202, + 152, 214, 214, 30, 204, 18, 3, 4, 5, 6, + 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, + 19, 20, 154, 157, 160, 162, 167, 189, 190, 191, + 192, 193, 209, 223, 32, 162, 215, 33, 163, 217, + 227, 74, 75, 76, 78, 79, 80, 180, 229, 230, + 232, 152, 152, 152, 152, 157, 207, 204, 189, 36, + 37, 199, 199, 199, 199, 215, 18, 18, 18, 162, + 3, 163, 193, 194, 209, 155, 164, 3, 191, 225, + 4, 15, 5, 6, 7, 8, 9, 10, 11, 12, + 176, 177, 178, 39, 50, 61, 62, 77, 81, 82, + 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, + 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, + 123, 124, 125, 128, 129, 130, 131, 132, 133, 134, + 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, + 145, 146, 147, 148, 149, 150, 151, 169, 170, 171, + 174, 175, 236, 237, 239, 240, 30, 56, 57, 205, + 18, 30, 30, 208, 191, 191, 4, 5, 6, 7, + 8, 9, 10, 11, 12, 13, 14, 176, 177, 179, + 191, 196, 191, 158, 158, 163, 194, 153, 163, 155, + 41, 194, 195, 17, 18, 21, 22, 23, 24, 25, + 26, 63, 101, 102, 128, 130, 136, 137, 138, 160, + 169, 170, 171, 174, 175, 197, 222, 223, 224, 224, + 224, 224, 225, 61, 182, 103, 104, 105, 106, 107, + 108, 119, 120, 121, 122, 172, 25, 26, 109, 110, + 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, + 121, 122, 173, 191, 191, 225, 191, 191, 233, 225, + 225, 225, 225, 225, 191, 191, 191, 225, 225, 182, + 126, 127, 153, 159, 153, 187, 187, 25, 26, 17, + 18, 168, 18, 21, 22, 23, 24, 157, 160, 162, + 165, 197, 223, 187, 187, 193, 193, 161, 163, 193, + 41, 191, 211, 212, 213, 153, 156, 65, 221, 172, + 173, 155, 155, 155, 155, 155, 196, 198, 155, 155, + 155, 155, 155, 153, 153, 189, 191, 191, 153, 184, + 153, 184, 224, 157, 153, 153, 153, 153, 153, 153, + 224, 224, 224, 153, 40, 189, 191, 225, 30, 38, + 58, 185, 188, 159, 198, 198, 163, 198, 30, 159, + 161, 161, 209, 210, 153, 156, 41, 30, 155, 155, + 196, 196, 196, 196, 196, 153, 161, 196, 196, 196, + 196, 196, 15, 15, 224, 224, 224, 10, 58, 10, + 153, 238, 224, 157, 225, 191, 225, 225, 225, 153, + 153, 153, 225, 191, 224, 224, 153, 30, 18, 187, + 159, 161, 163, 41, 211, 185, 186, 153, 196, 196, + 238, 153, 153, 153, 153, 196, 153, 153, 153, 153, + 40, 224, 224, 155, 153, 153, 224, 18, 224, 225, + 234, 153, 224, 153, 153, 153, 224, 224, 224, 155, + 191, 58, 183, 30, 153, 153, 156, 196, 196, 196, + 196, 196, 196, 196, 196, 191, 153, 157, 234, 235, + 224, 224, 153, 184, 184, 153, 224, 153, 225, 225, + 225, 235, 224, 18, 196, 196, 153, 156, 153, 153, + 156, 156, 156, 156, 156, 15, 159, 178, 231, 156, + 225, 159, 224, 156, 156, 156, 196, 196, 196, 224, + 222, 159, 178, 40, 159, 156, 156, 156, 153, 222, + 15, 15, 153, 224, 224, 15, 229, 224, 15, 224 }; #define yyerrok (yyerrstatus = 0) @@ -2398,26 +2419,26 @@ switch (yyn) { case 81: -#line 363 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" +#line 363 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { (yyval.String) = (yyvsp[-1].String); ;} break; case 82: -#line 366 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" +#line 366 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { (yyval.String) = new std::string(""); ;} break; case 90: -#line 373 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" +#line 373 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { (yyval.String) = new std::string(""); ;} break; case 97: -#line 378 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" +#line 378 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { *(yyvsp[-1].String) += *(yyvsp[0].String); delete (yyvsp[0].String); @@ -2426,27 +2447,27 @@ break; case 98: -#line 383 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" +#line 383 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { (yyval.String) = new std::string(""); ;} break; case 99: -#line 388 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" +#line 388 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { (yyval.String) = new std::string(); ;} break; case 100: -#line 389 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" +#line 389 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { *(yyvsp[-1].String) += " " + *(yyvsp[0].String); delete (yyvsp[0].String); (yyval.String) = (yyvsp[-1].String); ;} break; case 101: -#line 392 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" +#line 392 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { (yyval.String) = new std::string(); ;} break; case 102: -#line 393 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" +#line 393 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { (yyvsp[-1].String)->insert(0, ", "); *(yyvsp[-1].String) += " " + *(yyvsp[0].String); @@ -2456,7 +2477,7 @@ break; case 103: -#line 401 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" +#line 401 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { *(yyvsp[-1].String) += " " + *(yyvsp[0].String); delete (yyvsp[0].String); @@ -2465,17 +2486,17 @@ break; case 104: -#line 407 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" +#line 407 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { (yyval.String) = new std::string(); ;} break; case 106: -#line 411 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" +#line 411 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { (yyval.String) = new std::string(); ;} break; case 107: -#line 412 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" +#line 412 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { (yyvsp[-1].String)->insert(0, ", "); if (!(yyvsp[0].String)->empty()) @@ -2486,7 +2507,7 @@ break; case 109: -#line 422 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" +#line 422 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { *(yyvsp[-1].String) += " " + *(yyvsp[0].String); delete (yyvsp[0].String); @@ -2495,7 +2516,7 @@ break; case 127: -#line 444 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" +#line 444 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { (yyval.Type).newTy = (yyvsp[0].String); (yyval.Type).oldTy = OpaqueTy; @@ -2503,7 +2524,7 @@ break; case 128: -#line 448 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" +#line 448 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { (yyval.Type).newTy = (yyvsp[0].String); (yyval.Type).oldTy = UnresolvedTy; @@ -2511,14 +2532,14 @@ break; case 129: -#line 452 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" +#line 452 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { (yyval.Type) = (yyvsp[0].Type); ;} break; case 130: -#line 455 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" +#line 455 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { // Type UpReference (yyvsp[0].String)->insert(0, "\\"); (yyval.Type).newTy = (yyvsp[0].String); @@ -2527,7 +2548,7 @@ break; case 131: -#line 460 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" +#line 460 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { // Function derived type? *(yyvsp[-3].Type).newTy += "( " + *(yyvsp[-1].String) + " )"; delete (yyvsp[-1].String); @@ -2537,7 +2558,7 @@ break; case 132: -#line 466 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" +#line 466 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { // Sized array type? (yyvsp[-3].String)->insert(0,"[ "); *(yyvsp[-3].String) += " x " + *(yyvsp[-1].Type).newTy + " ]"; @@ -2549,7 +2570,7 @@ break; case 133: -#line 474 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" +#line 474 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { // Packed array type? (yyvsp[-3].String)->insert(0,"< "); *(yyvsp[-3].String) += " x " + *(yyvsp[-1].Type).newTy + " >"; @@ -2561,7 +2582,7 @@ break; case 134: -#line 482 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" +#line 482 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { // Structure type? (yyvsp[-1].String)->insert(0, "{ "); *(yyvsp[-1].String) += " }"; @@ -2571,7 +2592,7 @@ break; case 135: -#line 488 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" +#line 488 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { // Empty structure type? (yyval.Type).newTy = new std::string("{}"); (yyval.Type).oldTy = StructTy; @@ -2579,7 +2600,25 @@ break; case 136: -#line 492 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" +#line 492 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" + { // Packed Structure type? + (yyvsp[-2].String)->insert(0, "<{ "); + *(yyvsp[-2].String) += " }>"; + (yyval.Type).newTy = (yyvsp[-2].String); + (yyval.Type).oldTy = StructTy; + ;} + break; + + case 137: +#line 498 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" + { // Empty packed structure type? + (yyval.Type).newTy = new std::string("<{}>"); + (yyval.Type).oldTy = StructTy; + ;} + break; + + case 138: +#line 502 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { // Pointer type? *(yyvsp[-1].Type).newTy += '*'; (yyval.Type).elemTy = (yyvsp[-1].Type).oldTy; @@ -2588,15 +2627,15 @@ ;} break; - case 137: -#line 503 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 139: +#line 513 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { (yyval.String) = (yyvsp[0].Type).newTy; ;} break; - case 138: -#line 506 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 140: +#line 516 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { *(yyvsp[-2].String) += ", " + *(yyvsp[0].Type).newTy; delete (yyvsp[0].Type).newTy; @@ -2604,8 +2643,8 @@ ;} break; - case 140: -#line 515 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 142: +#line 525 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { *(yyvsp[-2].String) += ", ..."; delete (yyvsp[0].String); @@ -2613,22 +2652,22 @@ ;} break; - case 141: -#line 520 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 143: +#line 530 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { (yyval.String) = (yyvsp[0].String); ;} break; - case 142: -#line 523 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 144: +#line 533 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { (yyval.String) = new std::string(); ;} break; - case 143: -#line 533 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 145: +#line 543 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { // Nonempty unsized arr (yyval.Const).type = (yyvsp[-3].Type); (yyval.Const).cnst = new std::string(*(yyvsp[-3].Type).newTy); @@ -2637,8 +2676,8 @@ ;} break; - case 144: -#line 539 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 146: +#line 549 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { (yyval.Const).type = (yyvsp[-2].Type); (yyval.Const).cnst = new std::string(*(yyvsp[-2].Type).newTy); @@ -2646,8 +2685,8 @@ ;} break; - case 145: -#line 544 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 147: +#line 554 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { (yyval.Const).type = (yyvsp[-2].Type); (yyval.Const).cnst = new std::string(*(yyvsp[-2].Type).newTy); @@ -2656,8 +2695,8 @@ ;} break; - case 146: -#line 550 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 148: +#line 560 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { // Nonempty unsized arr (yyval.Const).type = (yyvsp[-3].Type); (yyval.Const).cnst = new std::string(*(yyvsp[-3].Type).newTy); @@ -2666,8 +2705,8 @@ ;} break; - case 147: -#line 556 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 149: +#line 566 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { (yyval.Const).type = (yyvsp[-3].Type); (yyval.Const).cnst = new std::string(*(yyvsp[-3].Type).newTy); @@ -2676,8 +2715,8 @@ ;} break; - case 148: -#line 562 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 150: +#line 572 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { (yyval.Const).type = (yyvsp[-2].Type); (yyval.Const).cnst = new std::string(*(yyvsp[-2].Type).newTy); @@ -2685,8 +2724,8 @@ ;} break; - case 149: -#line 567 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 151: +#line 577 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { (yyval.Const).type = (yyvsp[-1].Type); (yyval.Const).cnst = new std::string(*(yyvsp[-1].Type).newTy); @@ -2695,8 +2734,8 @@ ;} break; - case 150: -#line 573 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 152: +#line 583 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { (yyval.Const).type = (yyvsp[-1].Type); (yyval.Const).cnst = new std::string(*(yyvsp[-1].Type).newTy); @@ -2705,8 +2744,8 @@ ;} break; - case 151: -#line 579 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 153: +#line 589 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { (yyval.Const).type = (yyvsp[-1].Type); (yyval.Const).cnst = new std::string(*(yyvsp[-1].Type).newTy); @@ -2715,8 +2754,8 @@ ;} break; - case 152: -#line 585 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 154: +#line 595 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { (yyval.Const).type = (yyvsp[-1].Type); (yyval.Const).cnst = new std::string(*(yyvsp[-1].Type).newTy); @@ -2725,8 +2764,8 @@ ;} break; - case 153: -#line 591 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 155: +#line 601 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { (yyval.Const).type = (yyvsp[-1].Type); (yyval.Const).cnst = new std::string(*(yyvsp[-1].Type).newTy); @@ -2735,8 +2774,8 @@ ;} break; - case 154: -#line 597 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 156: +#line 607 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { // integral constants (yyval.Const).type = (yyvsp[-1].Type); (yyval.Const).cnst = new std::string(*(yyvsp[-1].Type).newTy); @@ -2745,8 +2784,8 @@ ;} break; - case 155: -#line 603 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 157: +#line 613 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { // integral constants (yyval.Const).type = (yyvsp[-1].Type); (yyval.Const).cnst = new std::string(*(yyvsp[-1].Type).newTy); @@ -2755,8 +2794,8 @@ ;} break; - case 156: -#line 609 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 158: +#line 619 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { // Boolean constants (yyval.Const).type = (yyvsp[-1].Type); (yyval.Const).cnst = new std::string(*(yyvsp[-1].Type).newTy); @@ -2765,8 +2804,8 @@ ;} break; - case 157: -#line 615 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 159: +#line 625 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { // Boolean constants (yyval.Const).type = (yyvsp[-1].Type); (yyval.Const).cnst = new std::string(*(yyvsp[-1].Type).newTy); @@ -2775,8 +2814,8 @@ ;} break; - case 158: -#line 621 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 160: +#line 631 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { // Float & Double constants (yyval.Const).type = (yyvsp[-1].Type); (yyval.Const).cnst = new std::string(*(yyvsp[-1].Type).newTy); @@ -2785,8 +2824,8 @@ ;} break; - case 159: -#line 629 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 161: +#line 639 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { std::string source = *(yyvsp[-3].Const).cnst; TypeInfo DstTy = (yyvsp[-1].Type); @@ -2803,8 +2842,8 @@ ;} break; - case 160: -#line 643 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 162: +#line 653 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { *(yyvsp[-4].String) += "(" + *(yyvsp[-2].Const).cnst; for (unsigned i = 0; i < (yyvsp[-1].ValList)->size(); ++i) { @@ -2819,8 +2858,8 @@ ;} break; - case 161: -#line 655 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 163: +#line 665 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { *(yyvsp[-7].String) += "(" + *(yyvsp[-5].Const).cnst + "," + *(yyvsp[-3].Const).cnst + "," + *(yyvsp[-1].Const).cnst + ")"; (yyvsp[-5].Const).destroy(); (yyvsp[-3].Const).destroy(); (yyvsp[-1].Const).destroy(); @@ -2828,8 +2867,8 @@ ;} break; - case 162: -#line 660 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 164: +#line 670 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { const char* op = getDivRemOpcode(*(yyvsp[-5].String), (yyvsp[-3].Const).type); (yyval.String) = new std::string(op); @@ -2838,8 +2877,8 @@ ;} break; - case 163: -#line 666 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 165: +#line 676 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { *(yyvsp[-5].String) += "(" + *(yyvsp[-3].Const).cnst + "," + *(yyvsp[-1].Const).cnst + ")"; (yyvsp[-3].Const).destroy(); (yyvsp[-1].Const).destroy(); @@ -2847,8 +2886,8 @@ ;} break; - case 164: -#line 671 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 166: +#line 681 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { *(yyvsp[-5].String) = getCompareOp(*(yyvsp[-5].String), (yyvsp[-3].Const).type); *(yyvsp[-5].String) += "(" + *(yyvsp[-3].Const).cnst + "," + *(yyvsp[-1].Const).cnst + ")"; @@ -2857,8 +2896,8 @@ ;} break; - case 165: -#line 677 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 167: +#line 687 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { *(yyvsp[-6].String) += "(" + *(yyvsp[-5].String) + "," + *(yyvsp[-3].Const).cnst + "," + *(yyvsp[-1].Const).cnst + ")"; delete (yyvsp[-5].String); (yyvsp[-3].Const).destroy(); (yyvsp[-1].Const).destroy(); @@ -2866,8 +2905,8 @@ ;} break; - case 166: -#line 682 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 168: +#line 692 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { *(yyvsp[-6].String) += "(" + *(yyvsp[-5].String) + "," + *(yyvsp[-3].Const).cnst + "," + *(yyvsp[-1].Const).cnst + ")"; delete (yyvsp[-5].String); (yyvsp[-3].Const).destroy(); (yyvsp[-1].Const).destroy(); @@ -2875,8 +2914,8 @@ ;} break; - case 167: -#line 687 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 169: +#line 697 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { const char* shiftop = (yyvsp[-5].String)->c_str(); if (*(yyvsp[-5].String) == "shr") @@ -2887,8 +2926,8 @@ ;} break; - case 168: -#line 695 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 170: +#line 705 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { *(yyvsp[-5].String) += "(" + *(yyvsp[-3].Const).cnst + "," + *(yyvsp[-1].Const).cnst + ")"; (yyvsp[-3].Const).destroy(); (yyvsp[-1].Const).destroy(); @@ -2896,8 +2935,8 @@ ;} break; - case 169: -#line 700 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 171: +#line 710 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { *(yyvsp[-7].String) += "(" + *(yyvsp[-5].Const).cnst + "," + *(yyvsp[-3].Const).cnst + "," + *(yyvsp[-1].Const).cnst + ")"; (yyvsp[-5].Const).destroy(); (yyvsp[-3].Const).destroy(); (yyvsp[-1].Const).destroy(); @@ -2905,8 +2944,8 @@ ;} break; - case 170: -#line 705 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 172: +#line 715 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { *(yyvsp[-7].String) += "(" + *(yyvsp[-5].Const).cnst + "," + *(yyvsp[-3].Const).cnst + "," + *(yyvsp[-1].Const).cnst + ")"; (yyvsp[-5].Const).destroy(); (yyvsp[-3].Const).destroy(); (yyvsp[-1].Const).destroy(); @@ -2914,8 +2953,8 @@ ;} break; - case 171: -#line 715 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 173: +#line 725 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { *(yyvsp[-2].String) += ", " + *(yyvsp[0].Const).cnst; (yyvsp[0].Const).destroy(); @@ -2923,61 +2962,61 @@ ;} break; - case 172: -#line 720 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 174: +#line 730 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { (yyval.String) = new std::string(*(yyvsp[0].Const).cnst); (yyvsp[0].Const).destroy(); ;} break; - case 175: -#line 735 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 177: +#line 745 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { ;} break; - case 176: -#line 740 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 178: +#line 750 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { (yyval.String) = 0; ;} break; - case 177: -#line 743 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 179: +#line 753 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { - *O << *(yyvsp[0].String) << "\n"; + *O << *(yyvsp[0].String) << '\n'; delete (yyvsp[0].String); (yyval.String) = 0; ;} break; - case 178: -#line 748 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 180: +#line 758 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { - *O << "module asm " << " " << *(yyvsp[0].String) << "\n"; + *O << "module asm " << ' ' << *(yyvsp[0].String) << '\n'; (yyval.String) = 0; ;} break; - case 179: -#line 752 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 181: +#line 762 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { *O << "implementation\n"; (yyval.String) = 0; ;} break; - case 180: -#line 756 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 182: +#line 766 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { (yyval.String) = 0; ;} break; - case 182: -#line 758 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 184: +#line 768 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { (yyval.String) = (yyvsp[0].String); *(yyval.String) = "external"; ;} break; - case 183: -#line 761 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 185: +#line 771 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { EnumeratedTypes.push_back((yyvsp[0].Type)); if (!(yyvsp[-2].String)->empty()) { @@ -2986,109 +3025,109 @@ NamedTypes[*(yyvsp[-2].String)].elemTy = (yyvsp[0].Type).elemTy; *O << *(yyvsp[-2].String) << " = "; } - *O << "type " << *(yyvsp[0].Type).newTy << "\n"; + *O << "type " << *(yyvsp[0].Type).newTy << '\n'; delete (yyvsp[-2].String); delete (yyvsp[-1].String); (yyvsp[0].Type).destroy(); (yyval.String) = 0; ;} break; - case 184: -#line 773 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 186: +#line 783 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { // Function prototypes can be in const pool - *O << *(yyvsp[0].String) << "\n"; + *O << *(yyvsp[0].String) << '\n'; delete (yyvsp[0].String); (yyval.String) = 0; ;} break; - case 185: -#line 778 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 187: +#line 788 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { // Asm blocks can be in the const pool - *O << *(yyvsp[-2].String) << " " << *(yyvsp[-1].String) << " " << *(yyvsp[0].String) << "\n"; + *O << *(yyvsp[-2].String) << ' ' << *(yyvsp[-1].String) << ' ' << *(yyvsp[0].String) << '\n'; delete (yyvsp[-2].String); delete (yyvsp[-1].String); delete (yyvsp[0].String); (yyval.String) = 0; ;} break; - case 186: -#line 783 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 188: +#line 793 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { if (!(yyvsp[-4].String)->empty()) { *O << *(yyvsp[-4].String) << " = "; Globals[*(yyvsp[-4].String)] = (yyvsp[-1].Const).type.clone(); } - *O << *(yyvsp[-3].String) << " " << *(yyvsp[-2].String) << " " << *(yyvsp[-1].Const).cnst << " " << *(yyvsp[0].String) << "\n"; + *O << *(yyvsp[-3].String) << ' ' << *(yyvsp[-2].String) << ' ' << *(yyvsp[-1].Const).cnst << ' ' << *(yyvsp[0].String) << '\n'; delete (yyvsp[-4].String); delete (yyvsp[-3].String); delete (yyvsp[-2].String); (yyvsp[-1].Const).destroy(); delete (yyvsp[0].String); (yyval.String) = 0; ;} break; - case 187: -#line 792 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 189: +#line 802 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { if (!(yyvsp[-4].String)->empty()) { *O << *(yyvsp[-4].String) << " = "; Globals[*(yyvsp[-4].String)] = (yyvsp[-1].Type).clone(); } - *O << *(yyvsp[-3].String) << " " << *(yyvsp[-2].String) << " " << *(yyvsp[-1].Type).newTy << " " << *(yyvsp[0].String) << "\n"; + *O << *(yyvsp[-3].String) << ' ' << *(yyvsp[-2].String) << ' ' << *(yyvsp[-1].Type).newTy << ' ' << *(yyvsp[0].String) << '\n'; delete (yyvsp[-4].String); delete (yyvsp[-3].String); delete (yyvsp[-2].String); (yyvsp[-1].Type).destroy(); delete (yyvsp[0].String); (yyval.String) = 0; ;} break; - case 188: -#line 801 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 190: +#line 811 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { if (!(yyvsp[-4].String)->empty()) { *O << *(yyvsp[-4].String) << " = "; Globals[*(yyvsp[-4].String)] = (yyvsp[-1].Type).clone(); } - *O << *(yyvsp[-3].String) << " " << *(yyvsp[-2].String) << " " << *(yyvsp[-1].Type).newTy << " " << *(yyvsp[0].String) << "\n"; + *O << *(yyvsp[-3].String) << ' ' << *(yyvsp[-2].String) << ' ' << *(yyvsp[-1].Type).newTy << ' ' << *(yyvsp[0].String) << '\n'; delete (yyvsp[-4].String); delete (yyvsp[-3].String); delete (yyvsp[-2].String); (yyvsp[-1].Type).destroy(); delete (yyvsp[0].String); (yyval.String) = 0; ;} break; - case 189: -#line 810 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 191: +#line 820 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { if (!(yyvsp[-4].String)->empty()) { *O << *(yyvsp[-4].String) << " = "; Globals[*(yyvsp[-4].String)] = (yyvsp[-1].Type).clone(); } - *O << *(yyvsp[-3].String) << " " << *(yyvsp[-2].String) << " " << *(yyvsp[-1].Type).newTy << " " << *(yyvsp[0].String) << "\n"; + *O << *(yyvsp[-3].String) << ' ' << *(yyvsp[-2].String) << ' ' << *(yyvsp[-1].Type).newTy << ' ' << *(yyvsp[0].String) << '\n'; delete (yyvsp[-4].String); delete (yyvsp[-3].String); delete (yyvsp[-2].String); (yyvsp[-1].Type).destroy(); delete (yyvsp[0].String); (yyval.String) = 0; ;} break; - case 190: -#line 819 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 192: +#line 829 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { - *O << *(yyvsp[-1].String) << " " << *(yyvsp[0].String) << "\n"; + *O << *(yyvsp[-1].String) << ' ' << *(yyvsp[0].String) << '\n'; delete (yyvsp[-1].String); delete (yyvsp[0].String); (yyval.String) = 0; ;} break; - case 191: -#line 824 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 193: +#line 834 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { - *O << *(yyvsp[-2].String) << " = " << *(yyvsp[0].String) << "\n"; + *O << *(yyvsp[-2].String) << " = " << *(yyvsp[0].String) << '\n'; delete (yyvsp[-2].String); delete (yyvsp[0].String); (yyval.String) = 0; ;} break; - case 192: -#line 829 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 194: +#line 839 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { (yyval.String) = 0; ;} break; - case 196: -#line 839 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 198: +#line 849 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { *(yyvsp[-2].String) += " = " + *(yyvsp[0].String); delete (yyvsp[0].String); @@ -3096,8 +3135,8 @@ ;} break; - case 197: -#line 844 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 199: +#line 854 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { *(yyvsp[-2].String) += " = " + *(yyvsp[0].String); if (*(yyvsp[0].String) == "64") @@ -3107,8 +3146,8 @@ ;} break; - case 198: -#line 851 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 200: +#line 861 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { *(yyvsp[-2].String) += " = " + *(yyvsp[0].String); delete (yyvsp[0].String); @@ -3116,8 +3155,8 @@ ;} break; - case 199: -#line 856 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 201: +#line 866 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { *(yyvsp[-2].String) += " = " + *(yyvsp[0].String); delete (yyvsp[0].String); @@ -3125,8 +3164,8 @@ ;} break; - case 200: -#line 863 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 202: +#line 873 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { (yyvsp[-1].String)->insert(0, "[ "); *(yyvsp[-1].String) += " ]"; @@ -3134,8 +3173,8 @@ ;} break; - case 201: -#line 870 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 203: +#line 880 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { *(yyvsp[-2].String) += ", " + *(yyvsp[0].String); delete (yyvsp[0].String); @@ -3143,20 +3182,20 @@ ;} break; - case 203: -#line 876 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 205: +#line 886 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { (yyval.String) = new std::string(); ;} break; - case 207: -#line 885 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 209: +#line 895 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { (yyval.String) = new std::string(); ;} break; - case 208: -#line 887 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 210: +#line 897 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { (yyval.String) = (yyvsp[-1].Type).newTy; if (!(yyvsp[0].String)->empty()) @@ -3165,30 +3204,30 @@ ;} break; - case 209: -#line 894 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 211: +#line 904 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { *(yyvsp[-2].String) += ", " + *(yyvsp[0].String); delete (yyvsp[0].String); ;} break; - case 210: -#line 898 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 212: +#line 908 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { (yyval.String) = (yyvsp[0].String); ;} break; - case 211: -#line 902 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 213: +#line 912 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { (yyval.String) = (yyvsp[0].String); ;} break; - case 212: -#line 905 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 214: +#line 915 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { *(yyvsp[-2].String) += ", ..."; (yyval.String) = (yyvsp[-2].String); @@ -3196,20 +3235,20 @@ ;} break; - case 213: -#line 910 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 215: +#line 920 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { (yyval.String) = (yyvsp[0].String); ;} break; - case 214: -#line 913 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 216: +#line 923 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { (yyval.String) = new std::string(); ;} break; - case 215: -#line 916 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 217: +#line 926 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { if (!(yyvsp[-7].String)->empty()) { *(yyvsp[-7].String) += " "; @@ -3230,55 +3269,69 @@ ;} break; - case 216: -#line 935 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 218: +#line 945 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { (yyval.String) = new std::string("{"); delete (yyvsp[0].String); ;} break; - case 217: -#line 936 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 219: +#line 946 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { (yyval.String) = new std::string ("{"); ;} break; - case 218: -#line 938 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 220: +#line 949 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { - if (!(yyvsp[-2].String)->empty()) { - *O << *(yyvsp[-2].String) << " "; - } - *O << *(yyvsp[-1].String) << " " << *(yyvsp[0].String) << "\n"; - delete (yyvsp[-2].String); delete (yyvsp[-1].String); delete (yyvsp[0].String); - (yyval.String) = 0; -;} + *O << "define "; + if (!(yyvsp[-2].String)->empty()) { + *O << *(yyvsp[-2].String) << ' '; + } + *O << *(yyvsp[-1].String) << ' ' << *(yyvsp[0].String) << '\n'; + delete (yyvsp[-2].String); delete (yyvsp[-1].String); delete (yyvsp[0].String); + (yyval.String) = 0; + ;} break; - case 219: -#line 947 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 221: +#line 958 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" + { + *O << *(yyvsp[-3].String) << ' '; + if (!(yyvsp[-2].String)->empty()) { + *O << *(yyvsp[-2].String) << ' '; + } + *O << *(yyvsp[-1].String) << ' ' << *(yyvsp[0].String) << '\n'; + delete (yyvsp[-3].String); delete (yyvsp[-2].String); delete (yyvsp[-1].String); delete (yyvsp[0].String); + (yyval.String) = 0; + ;} + break; + + case 222: +#line 969 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { (yyval.String) = new std::string("}"); delete (yyvsp[0].String); ;} break; - case 220: -#line 948 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 223: +#line 970 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { (yyval.String) = new std::string("}"); ;} break; - case 221: -#line 950 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 224: +#line 972 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { if ((yyvsp[-1].String)) *O << *(yyvsp[-1].String); - *O << '\n' << *(yyvsp[0].String) << "\n"; + *O << '\n' << *(yyvsp[0].String) << '\n'; (yyval.String) = 0; ;} break; - case 222: -#line 958 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 225: +#line 980 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { (yyval.String) = new std::string(); ;} break; - case 225: -#line 964 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 228: +#line 986 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { if (!(yyvsp[-1].String)->empty()) *(yyvsp[-2].String) += " " + *(yyvsp[-1].String); @@ -3289,13 +3342,13 @@ ;} break; - case 226: -#line 977 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 229: +#line 999 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { (yyval.String) = new std::string(); ;} break; - case 236: -#line 983 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 239: +#line 1005 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { (yyvsp[-1].String)->insert(0, "<"); *(yyvsp[-1].String) += ">"; @@ -3303,8 +3356,8 @@ ;} break; - case 238: -#line 989 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 241: +#line 1011 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { if (!(yyvsp[-3].String)->empty()) { *(yyvsp[-4].String) += " " + *(yyvsp[-3].String); @@ -3315,8 +3368,8 @@ ;} break; - case 241: -#line 1002 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 244: +#line 1024 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { (yyval.Value).val = (yyvsp[0].String); (yyval.Value).constant = false; @@ -3325,8 +3378,8 @@ ;} break; - case 242: -#line 1008 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 245: +#line 1030 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { (yyval.Value).val = (yyvsp[0].String); (yyval.Value).constant = true; @@ -3335,8 +3388,8 @@ ;} break; - case 243: -#line 1019 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 246: +#line 1041 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { (yyval.Value) = (yyvsp[0].Value); (yyval.Value).type = (yyvsp[-1].Type); @@ -3344,124 +3397,124 @@ ;} break; - case 244: -#line 1025 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 247: +#line 1047 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { (yyval.String) = 0; ;} break; - case 245: -#line 1028 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 248: +#line 1050 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { // Do not allow functions with 0 basic blocks (yyval.String) = 0; ;} break; - case 246: -#line 1036 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 249: +#line 1058 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { (yyval.String) = 0; ;} break; - case 247: -#line 1040 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 250: +#line 1062 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { - *O << " " << *(yyvsp[0].String) << "\n"; + *O << " " << *(yyvsp[0].String) << '\n'; delete (yyvsp[0].String); (yyval.String) = 0; ;} break; - case 248: -#line 1045 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 251: +#line 1067 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { (yyval.String) = 0; ;} break; - case 249: -#line 1048 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 252: +#line 1070 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { - *O << *(yyvsp[0].String) << "\n"; + *O << *(yyvsp[0].String) << '\n'; delete (yyvsp[0].String); (yyval.String) = 0; ;} break; - case 251: -#line 1054 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 254: +#line 1076 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { (yyval.String) = (yyvsp[0].String); *(yyval.String) = "unwind"; ;} break; - case 252: -#line 1056 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 255: +#line 1078 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { // Return with a result... - *O << " " << *(yyvsp[-1].String) << " " << *(yyvsp[0].Value).val << "\n"; + *O << " " << *(yyvsp[-1].String) << ' ' << *(yyvsp[0].Value).val << '\n'; delete (yyvsp[-1].String); (yyvsp[0].Value).destroy(); (yyval.String) = 0; ;} break; - case 253: -#line 1061 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 256: +#line 1083 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { // Return with no result... - *O << " " << *(yyvsp[-1].String) << " " << *(yyvsp[0].Type).newTy << "\n"; + *O << " " << *(yyvsp[-1].String) << ' ' << *(yyvsp[0].Type).newTy << '\n'; delete (yyvsp[-1].String); (yyvsp[0].Type).destroy(); (yyval.String) = 0; ;} break; - case 254: -#line 1066 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 257: +#line 1088 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { // Unconditional Branch... - *O << " " << *(yyvsp[-2].String) << " " << *(yyvsp[-1].Type).newTy << " " << *(yyvsp[0].Value).val << "\n"; + *O << " " << *(yyvsp[-2].String) << ' ' << *(yyvsp[-1].Type).newTy << ' ' << *(yyvsp[0].Value).val << '\n'; delete (yyvsp[-2].String); (yyvsp[-1].Type).destroy(); (yyvsp[0].Value).destroy(); (yyval.String) = 0; ;} break; - case 255: -#line 1071 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 258: +#line 1093 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { - *O << " " << *(yyvsp[-8].String) << " " << *(yyvsp[-7].Type).newTy << " " << *(yyvsp[-6].Value).val << ", " - << *(yyvsp[-4].Type).newTy << " " << *(yyvsp[-3].Value).val << ", " << *(yyvsp[-1].Type).newTy << " " - << *(yyvsp[0].Value).val << "\n"; + *O << " " << *(yyvsp[-8].String) << ' ' << *(yyvsp[-7].Type).newTy << ' ' << *(yyvsp[-6].Value).val << ", " + << *(yyvsp[-4].Type).newTy << ' ' << *(yyvsp[-3].Value).val << ", " << *(yyvsp[-1].Type).newTy << ' ' + << *(yyvsp[0].Value).val << '\n'; delete (yyvsp[-8].String); (yyvsp[-7].Type).destroy(); (yyvsp[-6].Value).destroy(); (yyvsp[-4].Type).destroy(); (yyvsp[-3].Value).destroy(); (yyvsp[-1].Type).destroy(); (yyvsp[0].Value).destroy(); (yyval.String) = 0; ;} break; - case 256: -#line 1079 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 259: +#line 1101 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { - *O << " " << *(yyvsp[-8].String) << " " << *(yyvsp[-7].Type).newTy << " " << *(yyvsp[-6].Value).val << ", " - << *(yyvsp[-4].Type).newTy << " " << *(yyvsp[-3].Value).val << " [" << *(yyvsp[-1].String) << " ]\n"; + *O << " " << *(yyvsp[-8].String) << ' ' << *(yyvsp[-7].Type).newTy << ' ' << *(yyvsp[-6].Value).val << ", " + << *(yyvsp[-4].Type).newTy << ' ' << *(yyvsp[-3].Value).val << " [" << *(yyvsp[-1].String) << " ]\n"; delete (yyvsp[-8].String); (yyvsp[-7].Type).destroy(); (yyvsp[-6].Value).destroy(); (yyvsp[-4].Type).destroy(); (yyvsp[-3].Value).destroy(); delete (yyvsp[-1].String); (yyval.String) = 0; ;} break; - case 257: -#line 1086 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 260: +#line 1108 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { - *O << " " << *(yyvsp[-7].String) << " " << *(yyvsp[-6].Type).newTy << " " << *(yyvsp[-5].Value).val << ", " - << *(yyvsp[-3].Type).newTy << " " << *(yyvsp[-2].Value).val << "[]\n"; + *O << " " << *(yyvsp[-7].String) << ' ' << *(yyvsp[-6].Type).newTy << ' ' << *(yyvsp[-5].Value).val << ", " + << *(yyvsp[-3].Type).newTy << ' ' << *(yyvsp[-2].Value).val << "[]\n"; delete (yyvsp[-7].String); (yyvsp[-6].Type).destroy(); (yyvsp[-5].Value).destroy(); (yyvsp[-3].Type).destroy(); (yyvsp[-2].Value).destroy(); (yyval.String) = 0; ;} break; - case 258: -#line 1093 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 261: +#line 1115 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { *O << " "; if (!(yyvsp[-13].String)->empty()) *O << *(yyvsp[-13].String) << " = "; - *O << *(yyvsp[-12].String) << " " << *(yyvsp[-11].String) << " " << *(yyvsp[-10].Type).newTy << " " << *(yyvsp[-9].Value).val << " ("; + *O << *(yyvsp[-12].String) << ' ' << *(yyvsp[-11].String) << ' ' << *(yyvsp[-10].Type).newTy << ' ' << *(yyvsp[-9].Value).val << " ("; for (unsigned i = 0; i < (yyvsp[-7].ValList)->size(); ++i) { ValueInfo& VI = (*(yyvsp[-7].ValList))[i]; *O << *VI.val; @@ -3469,8 +3522,8 @@ *O << ", "; VI.destroy(); } - *O << ") " << *(yyvsp[-5].String) << " " << *(yyvsp[-4].Type).newTy << " " << *(yyvsp[-3].Value).val << " " - << *(yyvsp[-2].String) << " " << *(yyvsp[-1].Type).newTy << " " << *(yyvsp[0].Value).val << "\n"; + *O << ") " << *(yyvsp[-5].String) << ' ' << *(yyvsp[-4].Type).newTy << ' ' << *(yyvsp[-3].Value).val << ' ' + << *(yyvsp[-2].String) << ' ' << *(yyvsp[-1].Type).newTy << ' ' << *(yyvsp[0].Value).val << '\n'; delete (yyvsp[-13].String); delete (yyvsp[-12].String); delete (yyvsp[-11].String); (yyvsp[-10].Type).destroy(); (yyvsp[-9].Value).destroy(); delete (yyvsp[-7].ValList); delete (yyvsp[-5].String); (yyvsp[-4].Type).destroy(); (yyvsp[-3].Value).destroy(); delete (yyvsp[-2].String); (yyvsp[-1].Type).destroy(); (yyvsp[0].Value).destroy(); @@ -3478,26 +3531,26 @@ ;} break; - case 259: -#line 1112 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 262: +#line 1134 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { - *O << " " << *(yyvsp[0].String) << "\n"; + *O << " " << *(yyvsp[0].String) << '\n'; delete (yyvsp[0].String); (yyval.String) = 0; ;} break; - case 260: -#line 1117 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 263: +#line 1139 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { - *O << " " << *(yyvsp[0].String) << "\n"; + *O << " " << *(yyvsp[0].String) << '\n'; delete (yyvsp[0].String); (yyval.String) = 0; ;} break; - case 261: -#line 1123 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 264: +#line 1145 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { *(yyvsp[-5].String) += " " + *(yyvsp[-4].Type).newTy + " " + *(yyvsp[-3].String) + ", " + *(yyvsp[-1].Type).newTy + " " + *(yyvsp[0].Value).val; (yyvsp[-4].Type).destroy(); delete (yyvsp[-3].String); (yyvsp[-1].Type).destroy(); (yyvsp[0].Value).destroy(); @@ -3505,8 +3558,8 @@ ;} break; - case 262: -#line 1128 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 265: +#line 1150 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { (yyvsp[-3].String)->insert(0, *(yyvsp[-4].Type).newTy + " " ); *(yyvsp[-3].String) += ", " + *(yyvsp[-1].Type).newTy + " " + *(yyvsp[0].Value).val; @@ -3515,8 +3568,8 @@ ;} break; - case 263: -#line 1136 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 266: +#line 1158 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { if (!(yyvsp[-1].String)->empty()) *(yyvsp[-1].String) += " = "; @@ -3526,8 +3579,8 @@ ;} break; - case 264: -#line 1145 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 267: +#line 1167 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { // Used for PHI nodes (yyvsp[-3].Value).val->insert(0, *(yyvsp[-5].Type).newTy + "["); *(yyvsp[-3].Value).val += "," + *(yyvsp[-1].Value).val + "]"; @@ -3537,8 +3590,8 @@ ;} break; - case 265: -#line 1152 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 268: +#line 1174 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { *(yyvsp[-6].String) += ", [" + *(yyvsp[-3].Value).val + "," + *(yyvsp[-1].Value).val + "]"; (yyvsp[-3].Value).destroy(); (yyvsp[-1].Value).destroy(); @@ -3546,34 +3599,34 @@ ;} break; - case 266: -#line 1160 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 269: +#line 1182 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { (yyval.ValList) = new ValueList(); (yyval.ValList)->push_back((yyvsp[0].Value)); ;} break; - case 267: -#line 1164 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 270: +#line 1186 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { (yyvsp[-2].ValList)->push_back((yyvsp[0].Value)); (yyval.ValList) = (yyvsp[-2].ValList); ;} break; - case 268: -#line 1171 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 271: +#line 1193 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { (yyval.ValList) = (yyvsp[0].ValList); ;} break; - case 269: -#line 1172 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 272: +#line 1194 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { (yyval.ValList) = new ValueList(); ;} break; - case 270: -#line 1176 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 273: +#line 1198 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { *(yyvsp[-1].String) += " " + *(yyvsp[0].String); delete (yyvsp[0].String); @@ -3581,8 +3634,8 @@ ;} break; - case 272: -#line 1184 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 275: +#line 1206 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { const char* op = getDivRemOpcode(*(yyvsp[-4].String), (yyvsp[-3].Type)); (yyval.String) = new std::string(op); @@ -3591,8 +3644,8 @@ ;} break; - case 273: -#line 1190 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 276: +#line 1212 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { *(yyvsp[-4].String) += " " + *(yyvsp[-3].Type).newTy + " " + *(yyvsp[-2].Value).val + ", " + *(yyvsp[0].Value).val; (yyvsp[-3].Type).destroy(); (yyvsp[-2].Value).destroy(); (yyvsp[0].Value).destroy(); @@ -3600,8 +3653,8 @@ ;} break; - case 274: -#line 1195 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 277: +#line 1217 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { *(yyvsp[-4].String) = getCompareOp(*(yyvsp[-4].String), (yyvsp[-3].Type)); *(yyvsp[-4].String) += " " + *(yyvsp[-3].Type).newTy + " " + *(yyvsp[-2].Value).val + ", " + *(yyvsp[0].Value).val; @@ -3610,26 +3663,26 @@ ;} break; - case 275: -#line 1201 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 278: +#line 1223 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { - *(yyvsp[-6].String) += " " + *(yyvsp[-5].String) + " " + *(yyvsp[-3].Value).val + "," + *(yyvsp[-1].Value).val + ")"; - delete (yyvsp[-5].String); (yyvsp[-3].Value).destroy(); (yyvsp[-1].Value).destroy(); - (yyval.String) = (yyvsp[-6].String); + *(yyvsp[-5].String) += " " + *(yyvsp[-4].String) + " " + *(yyvsp[-3].Type).newTy + " " + *(yyvsp[-2].Value).val + "," + *(yyvsp[0].Value).val; + delete (yyvsp[-4].String); (yyvsp[-2].Value).destroy(); (yyvsp[0].Value).destroy(); + (yyval.String) = (yyvsp[-5].String); ;} break; - case 276: -#line 1206 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 279: +#line 1228 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { - *(yyvsp[-6].String) += " " + *(yyvsp[-5].String) + " " + *(yyvsp[-3].Value).val + "," + *(yyvsp[-1].Value).val + ")"; - delete (yyvsp[-5].String); (yyvsp[-3].Value).destroy(); (yyvsp[-1].Value).destroy(); - (yyval.String) = (yyvsp[-6].String); + *(yyvsp[-5].String) += " " + *(yyvsp[-4].String) + " " + *(yyvsp[-3].Type).newTy + " " + *(yyvsp[-2].Value).val + "," + *(yyvsp[0].Value).val; + delete (yyvsp[-4].String); (yyvsp[-2].Value).destroy(); (yyvsp[0].Value).destroy(); + (yyval.String) = (yyvsp[-5].String); ;} break; - case 277: -#line 1211 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 280: +#line 1233 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { *(yyvsp[-1].String) += " " + *(yyvsp[0].Value).val; (yyvsp[0].Value).destroy(); @@ -3637,8 +3690,8 @@ ;} break; - case 278: -#line 1216 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 281: +#line 1238 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { const char* shiftop = (yyvsp[-3].String)->c_str(); if (*(yyvsp[-3].String) == "shr") @@ -3649,8 +3702,8 @@ ;} break; - case 279: -#line 1224 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 282: +#line 1246 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { std::string source = *(yyvsp[-2].Value).val; TypeInfo SrcTy = (yyvsp[-2].Value).type; @@ -3667,8 +3720,8 @@ ;} break; - case 280: -#line 1238 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 283: +#line 1260 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { *(yyvsp[-5].String) += " " + *(yyvsp[-4].Value).val + ", " + *(yyvsp[-2].Value).val + ", " + *(yyvsp[0].Value).val; (yyvsp[-4].Value).destroy(); (yyvsp[-2].Value).destroy(); (yyvsp[0].Value).destroy(); @@ -3676,8 +3729,8 @@ ;} break; - case 281: -#line 1243 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 284: +#line 1265 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { *(yyvsp[-3].String) += " " + *(yyvsp[-2].Value).val + ", " + *(yyvsp[0].Type).newTy; (yyvsp[-2].Value).destroy(); (yyvsp[0].Type).destroy(); @@ -3685,8 +3738,8 @@ ;} break; - case 282: -#line 1248 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 285: +#line 1270 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { *(yyvsp[-3].String) += " " + *(yyvsp[-2].Value).val + ", " + *(yyvsp[0].Value).val; (yyvsp[-2].Value).destroy(); (yyvsp[0].Value).destroy(); @@ -3694,8 +3747,8 @@ ;} break; - case 283: -#line 1253 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 286: +#line 1275 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { *(yyvsp[-5].String) += " " + *(yyvsp[-4].Value).val + ", " + *(yyvsp[-2].Value).val + ", " + *(yyvsp[0].Value).val; (yyvsp[-4].Value).destroy(); (yyvsp[-2].Value).destroy(); (yyvsp[0].Value).destroy(); @@ -3703,8 +3756,8 @@ ;} break; - case 284: -#line 1258 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 287: +#line 1280 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { *(yyvsp[-5].String) += " " + *(yyvsp[-4].Value).val + ", " + *(yyvsp[-2].Value).val + ", " + *(yyvsp[0].Value).val; (yyvsp[-4].Value).destroy(); (yyvsp[-2].Value).destroy(); (yyvsp[0].Value).destroy(); @@ -3712,8 +3765,8 @@ ;} break; - case 285: -#line 1263 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 288: +#line 1285 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { *(yyvsp[-1].String) += " " + *(yyvsp[0].String); delete (yyvsp[0].String); @@ -3721,8 +3774,8 @@ ;} break; - case 286: -#line 1268 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 289: +#line 1290 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { if (!(yyvsp[-5].String)->empty()) *(yyvsp[-6].String) += " " + *(yyvsp[-5].String); @@ -3742,23 +3795,23 @@ ;} break; - case 288: -#line 1290 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 291: +#line 1312 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { (yyval.ValList) = (yyvsp[0].ValList); ;} break; - case 289: -#line 1291 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 292: +#line 1313 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { (yyval.ValList) = new ValueList(); ;} break; - case 291: -#line 1296 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 294: +#line 1318 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { (yyval.String) = new std::string(); ;} break; - case 292: -#line 1299 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 295: +#line 1321 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { *(yyvsp[-2].String) += " " + *(yyvsp[-1].Type).newTy; if (!(yyvsp[0].String)->empty()) @@ -3768,8 +3821,8 @@ ;} break; - case 293: -#line 1306 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 296: +#line 1328 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { *(yyvsp[-5].String) += " " + *(yyvsp[-4].Type).newTy + ", " + *(yyvsp[-2].Type).newTy + " " + *(yyvsp[-1].Value).val; if (!(yyvsp[0].String)->empty()) @@ -3779,8 +3832,8 @@ ;} break; - case 294: -#line 1313 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 297: +#line 1335 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { *(yyvsp[-2].String) += " " + *(yyvsp[-1].Type).newTy; if (!(yyvsp[0].String)->empty()) @@ -3790,8 +3843,8 @@ ;} break; - case 295: -#line 1320 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 298: +#line 1342 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { *(yyvsp[-5].String) += " " + *(yyvsp[-4].Type).newTy + ", " + *(yyvsp[-2].Type).newTy + " " + *(yyvsp[-1].Value).val; if (!(yyvsp[0].String)->empty()) @@ -3801,8 +3854,8 @@ ;} break; - case 296: -#line 1327 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 299: +#line 1349 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { *(yyvsp[-1].String) += " " + *(yyvsp[0].Value).val; (yyvsp[0].Value).destroy(); @@ -3810,8 +3863,8 @@ ;} break; - case 297: -#line 1332 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 300: +#line 1354 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { if (!(yyvsp[-3].String)->empty()) *(yyvsp[-3].String) += " "; @@ -3821,8 +3874,8 @@ ;} break; - case 298: -#line 1339 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 301: +#line 1361 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { if (!(yyvsp[-5].String)->empty()) *(yyvsp[-5].String) += " "; @@ -3832,8 +3885,8 @@ ;} break; - case 299: -#line 1346 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 302: +#line 1368 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { // Upgrade the indices for (unsigned i = 0; i < (yyvsp[0].ValList)->size(); ++i) { @@ -3864,7 +3917,7 @@ } /* Line 1126 of yacc.c. */ -#line 3868 "UpgradeParser.tab.c" +#line 3921 "UpgradeParser.tab.c" yyvsp -= yylen; yyssp -= yylen; @@ -4132,7 +4185,7 @@ } -#line 1370 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" +#line 1392 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" int yyerror(const char *ErrorMsg) { Index: llvm/tools/llvm-upgrade/UpgradeParser.cpp.cvs diff -u llvm/tools/llvm-upgrade/UpgradeParser.cpp.cvs:1.25 llvm/tools/llvm-upgrade/UpgradeParser.cpp.cvs:1.26 --- llvm/tools/llvm-upgrade/UpgradeParser.cpp.cvs:1.25 Sat Dec 23 00:05:41 2006 +++ llvm/tools/llvm-upgrade/UpgradeParser.cpp.cvs Fri Dec 29 14:35:03 2006 @@ -96,122 +96,123 @@ BEGINTOK = 287, ENDTOK = 288, DECLARE = 289, - GLOBAL = 290, - CONSTANT = 291, - SECTION = 292, - VOLATILE = 293, - TO = 294, - DOTDOTDOT = 295, - CONST = 296, - INTERNAL = 297, - LINKONCE = 298, - WEAK = 299, - DLLIMPORT = 300, - DLLEXPORT = 301, - EXTERN_WEAK = 302, - APPENDING = 303, - NOT = 304, - EXTERNAL = 305, - TARGET = 306, - TRIPLE = 307, - ENDIAN = 308, - POINTERSIZE = 309, - LITTLE = 310, - BIG = 311, - ALIGN = 312, - UNINITIALIZED = 313, - DEPLIBS = 314, - CALL = 315, - TAIL = 316, - ASM_TOK = 317, - MODULE = 318, - SIDEEFFECT = 319, - CC_TOK = 320, - CCC_TOK = 321, - CSRETCC_TOK = 322, - FASTCC_TOK = 323, - COLDCC_TOK = 324, - X86_STDCALLCC_TOK = 325, - X86_FASTCALLCC_TOK = 326, - DATALAYOUT = 327, - RET = 328, - BR = 329, - SWITCH = 330, - INVOKE = 331, - EXCEPT = 332, - UNWIND = 333, - UNREACHABLE = 334, - ADD = 335, - SUB = 336, - MUL = 337, - DIV = 338, - UDIV = 339, - SDIV = 340, - FDIV = 341, - REM = 342, - UREM = 343, - SREM = 344, - FREM = 345, - AND = 346, - OR = 347, - XOR = 348, - SETLE = 349, - SETGE = 350, - SETLT = 351, - SETGT = 352, - SETEQ = 353, - SETNE = 354, - ICMP = 355, - FCMP = 356, - EQ = 357, - NE = 358, - SLT = 359, - SGT = 360, - SLE = 361, - SGE = 362, - OEQ = 363, - ONE = 364, - OLT = 365, - OGT = 366, - OLE = 367, - OGE = 368, - ORD = 369, - UNO = 370, - UEQ = 371, - UNE = 372, - ULT = 373, - UGT = 374, - ULE = 375, - UGE = 376, - MALLOC = 377, - ALLOCA = 378, - FREE = 379, - LOAD = 380, - STORE = 381, - GETELEMENTPTR = 382, - PHI_TOK = 383, - SELECT = 384, - SHL = 385, - SHR = 386, - ASHR = 387, - LSHR = 388, - VAARG = 389, - EXTRACTELEMENT = 390, - INSERTELEMENT = 391, - SHUFFLEVECTOR = 392, - CAST = 393, - TRUNC = 394, - ZEXT = 395, - SEXT = 396, - FPTRUNC = 397, - FPEXT = 398, - FPTOUI = 399, - FPTOSI = 400, - UITOFP = 401, - SITOFP = 402, - PTRTOINT = 403, - INTTOPTR = 404, - BITCAST = 405 + DEFINE = 290, + GLOBAL = 291, + CONSTANT = 292, + SECTION = 293, + VOLATILE = 294, + TO = 295, + DOTDOTDOT = 296, + CONST = 297, + INTERNAL = 298, + LINKONCE = 299, + WEAK = 300, + DLLIMPORT = 301, + DLLEXPORT = 302, + EXTERN_WEAK = 303, + APPENDING = 304, + NOT = 305, + EXTERNAL = 306, + TARGET = 307, + TRIPLE = 308, + ENDIAN = 309, + POINTERSIZE = 310, + LITTLE = 311, + BIG = 312, + ALIGN = 313, + UNINITIALIZED = 314, + DEPLIBS = 315, + CALL = 316, + TAIL = 317, + ASM_TOK = 318, + MODULE = 319, + SIDEEFFECT = 320, + CC_TOK = 321, + CCC_TOK = 322, + CSRETCC_TOK = 323, + FASTCC_TOK = 324, + COLDCC_TOK = 325, + X86_STDCALLCC_TOK = 326, + X86_FASTCALLCC_TOK = 327, + DATALAYOUT = 328, + RET = 329, + BR = 330, + SWITCH = 331, + INVOKE = 332, + EXCEPT = 333, + UNWIND = 334, + UNREACHABLE = 335, + ADD = 336, + SUB = 337, + MUL = 338, + DIV = 339, + UDIV = 340, + SDIV = 341, + FDIV = 342, + REM = 343, + UREM = 344, + SREM = 345, + FREM = 346, + AND = 347, + OR = 348, + XOR = 349, + SETLE = 350, + SETGE = 351, + SETLT = 352, + SETGT = 353, + SETEQ = 354, + SETNE = 355, + ICMP = 356, + FCMP = 357, + EQ = 358, + NE = 359, + SLT = 360, + SGT = 361, + SLE = 362, + SGE = 363, + OEQ = 364, + ONE = 365, + OLT = 366, + OGT = 367, + OLE = 368, + OGE = 369, + ORD = 370, + UNO = 371, + UEQ = 372, + UNE = 373, + ULT = 374, + UGT = 375, + ULE = 376, + UGE = 377, + MALLOC = 378, + ALLOCA = 379, + FREE = 380, + LOAD = 381, + STORE = 382, + GETELEMENTPTR = 383, + PHI_TOK = 384, + SELECT = 385, + SHL = 386, + SHR = 387, + ASHR = 388, + LSHR = 389, + VAARG = 390, + EXTRACTELEMENT = 391, + INSERTELEMENT = 392, + SHUFFLEVECTOR = 393, + CAST = 394, + TRUNC = 395, + ZEXT = 396, + SEXT = 397, + FPTRUNC = 398, + FPEXT = 399, + FPTOUI = 400, + FPTOSI = 401, + UITOFP = 402, + SITOFP = 403, + PTRTOINT = 404, + INTTOPTR = 405, + BITCAST = 406 }; #endif /* Tokens. */ @@ -247,128 +248,129 @@ #define BEGINTOK 287 #define ENDTOK 288 #define DECLARE 289 -#define GLOBAL 290 -#define CONSTANT 291 -#define SECTION 292 -#define VOLATILE 293 -#define TO 294 -#define DOTDOTDOT 295 -#define CONST 296 -#define INTERNAL 297 -#define LINKONCE 298 -#define WEAK 299 -#define DLLIMPORT 300 -#define DLLEXPORT 301 -#define EXTERN_WEAK 302 -#define APPENDING 303 -#define NOT 304 -#define EXTERNAL 305 -#define TARGET 306 -#define TRIPLE 307 -#define ENDIAN 308 -#define POINTERSIZE 309 -#define LITTLE 310 -#define BIG 311 -#define ALIGN 312 -#define UNINITIALIZED 313 -#define DEPLIBS 314 -#define CALL 315 -#define TAIL 316 -#define ASM_TOK 317 -#define MODULE 318 -#define SIDEEFFECT 319 -#define CC_TOK 320 -#define CCC_TOK 321 -#define CSRETCC_TOK 322 -#define FASTCC_TOK 323 -#define COLDCC_TOK 324 -#define X86_STDCALLCC_TOK 325 -#define X86_FASTCALLCC_TOK 326 -#define DATALAYOUT 327 -#define RET 328 -#define BR 329 -#define SWITCH 330 -#define INVOKE 331 -#define EXCEPT 332 -#define UNWIND 333 -#define UNREACHABLE 334 -#define ADD 335 -#define SUB 336 -#define MUL 337 -#define DIV 338 -#define UDIV 339 -#define SDIV 340 -#define FDIV 341 -#define REM 342 -#define UREM 343 -#define SREM 344 -#define FREM 345 -#define AND 346 -#define OR 347 -#define XOR 348 -#define SETLE 349 -#define SETGE 350 -#define SETLT 351 -#define SETGT 352 -#define SETEQ 353 -#define SETNE 354 -#define ICMP 355 -#define FCMP 356 -#define EQ 357 -#define NE 358 -#define SLT 359 -#define SGT 360 -#define SLE 361 -#define SGE 362 -#define OEQ 363 -#define ONE 364 -#define OLT 365 -#define OGT 366 -#define OLE 367 -#define OGE 368 -#define ORD 369 -#define UNO 370 -#define UEQ 371 -#define UNE 372 -#define ULT 373 -#define UGT 374 -#define ULE 375 -#define UGE 376 -#define MALLOC 377 -#define ALLOCA 378 -#define FREE 379 -#define LOAD 380 -#define STORE 381 -#define GETELEMENTPTR 382 -#define PHI_TOK 383 -#define SELECT 384 -#define SHL 385 -#define SHR 386 -#define ASHR 387 -#define LSHR 388 -#define VAARG 389 -#define EXTRACTELEMENT 390 -#define INSERTELEMENT 391 -#define SHUFFLEVECTOR 392 -#define CAST 393 -#define TRUNC 394 -#define ZEXT 395 -#define SEXT 396 -#define FPTRUNC 397 -#define FPEXT 398 -#define FPTOUI 399 -#define FPTOSI 400 -#define UITOFP 401 -#define SITOFP 402 -#define PTRTOINT 403 -#define INTTOPTR 404 -#define BITCAST 405 +#define DEFINE 290 +#define GLOBAL 291 +#define CONSTANT 292 +#define SECTION 293 +#define VOLATILE 294 +#define TO 295 +#define DOTDOTDOT 296 +#define CONST 297 +#define INTERNAL 298 +#define LINKONCE 299 +#define WEAK 300 +#define DLLIMPORT 301 +#define DLLEXPORT 302 +#define EXTERN_WEAK 303 +#define APPENDING 304 +#define NOT 305 +#define EXTERNAL 306 +#define TARGET 307 +#define TRIPLE 308 +#define ENDIAN 309 +#define POINTERSIZE 310 +#define LITTLE 311 +#define BIG 312 +#define ALIGN 313 +#define UNINITIALIZED 314 +#define DEPLIBS 315 +#define CALL 316 +#define TAIL 317 +#define ASM_TOK 318 +#define MODULE 319 +#define SIDEEFFECT 320 +#define CC_TOK 321 +#define CCC_TOK 322 +#define CSRETCC_TOK 323 +#define FASTCC_TOK 324 +#define COLDCC_TOK 325 +#define X86_STDCALLCC_TOK 326 +#define X86_FASTCALLCC_TOK 327 +#define DATALAYOUT 328 +#define RET 329 +#define BR 330 +#define SWITCH 331 +#define INVOKE 332 +#define EXCEPT 333 +#define UNWIND 334 +#define UNREACHABLE 335 +#define ADD 336 +#define SUB 337 +#define MUL 338 +#define DIV 339 +#define UDIV 340 +#define SDIV 341 +#define FDIV 342 +#define REM 343 +#define UREM 344 +#define SREM 345 +#define FREM 346 +#define AND 347 +#define OR 348 +#define XOR 349 +#define SETLE 350 +#define SETGE 351 +#define SETLT 352 +#define SETGT 353 +#define SETEQ 354 +#define SETNE 355 +#define ICMP 356 +#define FCMP 357 +#define EQ 358 +#define NE 359 +#define SLT 360 +#define SGT 361 +#define SLE 362 +#define SGE 363 +#define OEQ 364 +#define ONE 365 +#define OLT 366 +#define OGT 367 +#define OLE 368 +#define OGE 369 +#define ORD 370 +#define UNO 371 +#define UEQ 372 +#define UNE 373 +#define ULT 374 +#define UGT 375 +#define ULE 376 +#define UGE 377 +#define MALLOC 378 +#define ALLOCA 379 +#define FREE 380 +#define LOAD 381 +#define STORE 382 +#define GETELEMENTPTR 383 +#define PHI_TOK 384 +#define SELECT 385 +#define SHL 386 +#define SHR 387 +#define ASHR 388 +#define LSHR 389 +#define VAARG 390 +#define EXTRACTELEMENT 391 +#define INSERTELEMENT 392 +#define SHUFFLEVECTOR 393 +#define CAST 394 +#define TRUNC 395 +#define ZEXT 396 +#define SEXT 397 +#define FPTRUNC 398 +#define FPEXT 399 +#define FPTOUI 400 +#define FPTOSI 401 +#define UITOFP 402 +#define SITOFP 403 +#define PTRTOINT 404 +#define INTTOPTR 405 +#define BITCAST 406 /* Copy the first part of user declarations. */ -#line 14 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" +#line 14 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" #include "ParserInternals.h" #include @@ -647,7 +649,7 @@ #endif #if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED) -#line 275 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" +#line 275 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" typedef union YYSTYPE { std::string* String; TypeInfo Type; @@ -656,7 +658,7 @@ ValueList* ValList; } YYSTYPE; /* Line 196 of yacc.c. */ -#line 660 "UpgradeParser.tab.c" +#line 662 "UpgradeParser.tab.c" # define yystype YYSTYPE /* obsolescent; will be withdrawn */ # define YYSTYPE_IS_DECLARED 1 # define YYSTYPE_IS_TRIVIAL 1 @@ -668,7 +670,7 @@ /* Line 219 of yacc.c. */ -#line 672 "UpgradeParser.tab.c" +#line 674 "UpgradeParser.tab.c" #if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__) # define YYSIZE_T __SIZE_TYPE__ @@ -819,20 +821,20 @@ /* YYFINAL -- State number of the termination state. */ #define YYFINAL 4 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 1483 +#define YYLAST 1554 /* YYNTOKENS -- Number of terminals. */ -#define YYNTOKENS 165 +#define YYNTOKENS 166 /* YYNNTS -- Number of nonterminals. */ #define YYNNTS 75 /* YYNRULES -- Number of rules. */ -#define YYNRULES 299 +#define YYNRULES 302 /* YYNRULES -- Number of states. */ -#define YYNSTATES 582 +#define YYNSTATES 590 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ #define YYUNDEFTOK 2 -#define YYMAXUTOK 405 +#define YYMAXUTOK 406 #define YYTRANSLATE(YYX) \ ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) @@ -844,15 +846,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, - 154, 155, 163, 2, 152, 2, 2, 2, 2, 2, + 155, 156, 164, 2, 153, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 159, 151, 160, 2, 2, 2, 2, 2, 2, 2, + 160, 152, 161, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 156, 153, 158, 2, 2, 2, 2, 2, 164, + 2, 157, 154, 159, 2, 2, 2, 2, 2, 165, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 157, 2, 2, 161, 2, 162, 2, 2, 2, 2, + 158, 2, 2, 162, 2, 163, 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, @@ -880,7 +882,7 @@ 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 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 + 145, 146, 147, 148, 149, 150, 151 }; #if YYDEBUG @@ -901,122 +903,124 @@ 197, 200, 201, 205, 208, 209, 211, 212, 216, 218, 221, 223, 225, 227, 229, 231, 233, 235, 237, 239, 241, 243, 245, 247, 249, 251, 253, 255, 257, 259, - 261, 264, 269, 275, 281, 285, 288, 291, 293, 297, - 299, 303, 305, 306, 311, 315, 319, 324, 329, 333, - 336, 339, 342, 345, 348, 351, 354, 357, 360, 363, - 370, 376, 385, 392, 399, 406, 414, 422, 429, 436, - 445, 454, 458, 460, 462, 464, 466, 469, 472, 477, - 480, 482, 484, 486, 491, 494, 499, 506, 513, 520, - 527, 531, 536, 537, 539, 541, 543, 547, 551, 555, - 559, 563, 567, 569, 570, 572, 574, 576, 577, 580, - 584, 586, 588, 592, 594, 595, 604, 606, 608, 612, - 614, 616, 620, 621, 623, 625, 629, 630, 632, 634, - 636, 638, 640, 642, 644, 646, 648, 652, 654, 660, - 662, 664, 666, 668, 671, 674, 676, 679, 682, 683, - 685, 687, 689, 692, 695, 699, 709, 719, 728, 743, - 745, 747, 754, 760, 763, 770, 778, 780, 784, 786, - 787, 790, 792, 798, 804, 810, 818, 826, 829, 834, - 839, 846, 851, 856, 863, 870, 873, 881, 883, 886, - 887, 889, 890, 894, 901, 905, 912, 915, 920, 927 + 261, 264, 269, 275, 281, 285, 288, 294, 299, 302, + 304, 308, 310, 314, 316, 317, 322, 326, 330, 335, + 340, 344, 347, 350, 353, 356, 359, 362, 365, 368, + 371, 374, 381, 387, 396, 403, 410, 417, 425, 433, + 440, 447, 456, 465, 469, 471, 473, 475, 477, 480, + 483, 488, 491, 493, 495, 497, 502, 505, 510, 517, + 524, 531, 538, 542, 547, 548, 550, 552, 554, 558, + 562, 566, 570, 574, 578, 580, 581, 583, 585, 587, + 588, 591, 595, 597, 599, 603, 605, 606, 615, 617, + 619, 623, 628, 630, 632, 636, 637, 639, 641, 645, + 646, 648, 650, 652, 654, 656, 658, 660, 662, 664, + 668, 670, 676, 678, 680, 682, 684, 687, 690, 692, + 695, 698, 699, 701, 703, 705, 708, 711, 715, 725, + 735, 744, 759, 761, 763, 770, 776, 779, 786, 794, + 796, 800, 802, 803, 806, 808, 814, 820, 826, 833, + 840, 843, 848, 853, 860, 865, 870, 877, 884, 887, + 895, 897, 900, 901, 903, 904, 908, 915, 919, 926, + 929, 934, 941 }; /* YYRHS -- A `-1'-separated list of the rules' RHS. */ static const short int yyrhs[] = { - 199, 0, -1, 19, -1, 20, -1, 17, -1, 18, - -1, 80, -1, 81, -1, 82, -1, 83, -1, 84, - -1, 85, -1, 86, -1, 87, -1, 88, -1, 89, - -1, 90, -1, 91, -1, 92, -1, 93, -1, 94, - -1, 95, -1, 96, -1, 97, -1, 98, -1, 99, - -1, 102, -1, 103, -1, 104, -1, 105, -1, 106, - -1, 107, -1, 118, -1, 119, -1, 120, -1, 121, - -1, 108, -1, 109, -1, 110, -1, 111, -1, 112, - -1, 113, -1, 114, -1, 115, -1, 116, -1, 117, - -1, 118, -1, 119, -1, 120, -1, 121, -1, 25, - -1, 26, -1, 130, -1, 131, -1, 132, -1, 133, - -1, 139, -1, 140, -1, 141, -1, 142, -1, 143, - -1, 144, -1, 145, -1, 146, -1, 147, -1, 148, - -1, 149, -1, 150, -1, 138, -1, 11, -1, 9, + 200, 0, -1, 19, -1, 20, -1, 17, -1, 18, + -1, 81, -1, 82, -1, 83, -1, 84, -1, 85, + -1, 86, -1, 87, -1, 88, -1, 89, -1, 90, + -1, 91, -1, 92, -1, 93, -1, 94, -1, 95, + -1, 96, -1, 97, -1, 98, -1, 99, -1, 100, + -1, 103, -1, 104, -1, 105, -1, 106, -1, 107, + -1, 108, -1, 119, -1, 120, -1, 121, -1, 122, + -1, 109, -1, 110, -1, 111, -1, 112, -1, 113, + -1, 114, -1, 115, -1, 116, -1, 117, -1, 118, + -1, 119, -1, 120, -1, 121, -1, 122, -1, 25, + -1, 26, -1, 131, -1, 132, -1, 133, -1, 134, + -1, 140, -1, 141, -1, 142, -1, 143, -1, 144, + -1, 145, -1, 146, -1, 147, -1, 148, -1, 149, + -1, 150, -1, 151, -1, 139, -1, 11, -1, 9, -1, 7, -1, 5, -1, 12, -1, 10, -1, 8, - -1, 6, -1, 175, -1, 176, -1, 13, -1, 14, - -1, 208, 151, -1, -1, 42, -1, 43, -1, 44, - -1, 48, -1, 45, -1, 46, -1, 47, -1, -1, - 66, -1, 67, -1, 68, -1, 69, -1, 70, -1, - 71, -1, 65, 18, -1, -1, -1, 57, 18, -1, - -1, 152, 57, 18, -1, 37, 30, -1, -1, 184, - -1, -1, 152, 187, 186, -1, 184, -1, 57, 18, - -1, 190, -1, 3, -1, 192, -1, 3, -1, 192, + -1, 6, -1, 176, -1, 177, -1, 13, -1, 14, + -1, 209, 152, -1, -1, 43, -1, 44, -1, 45, + -1, 49, -1, 46, -1, 47, -1, 48, -1, -1, + 67, -1, 68, -1, 69, -1, 70, -1, 71, -1, + 72, -1, 66, 18, -1, -1, -1, 58, 18, -1, + -1, 153, 58, 18, -1, 38, 30, -1, -1, 185, + -1, -1, 153, 188, 187, -1, 185, -1, 58, 18, + -1, 191, -1, 3, -1, 193, -1, 3, -1, 193, -1, 4, -1, 5, -1, 6, -1, 7, -1, 8, -1, 9, -1, 10, -1, 11, -1, 12, -1, 13, - -1, 14, -1, 15, -1, 16, -1, 222, -1, 191, - -1, 153, 18, -1, 189, 154, 194, 155, -1, 156, - 18, 157, 192, 158, -1, 159, 18, 157, 192, 160, - -1, 161, 193, 162, -1, 161, 162, -1, 192, 163, - -1, 192, -1, 193, 152, 192, -1, 193, -1, 193, - 152, 40, -1, 40, -1, -1, 190, 156, 197, 158, - -1, 190, 156, 158, -1, 190, 164, 30, -1, 190, - 159, 197, 160, -1, 190, 161, 197, 162, -1, 190, - 161, 162, -1, 190, 22, -1, 190, 23, -1, 190, - 222, -1, 190, 196, -1, 190, 24, -1, 175, 167, - -1, 176, 18, -1, 4, 25, -1, 4, 26, -1, - 178, 21, -1, 174, 154, 195, 39, 190, 155, -1, - 127, 154, 195, 237, 155, -1, 129, 154, 195, 152, - 195, 152, 195, 155, -1, 168, 154, 195, 152, 195, - 155, -1, 169, 154, 195, 152, 195, 155, -1, 170, - 154, 195, 152, 195, 155, -1, 100, 171, 154, 195, - 152, 195, 155, -1, 101, 172, 154, 195, 152, 195, - 155, -1, 173, 154, 195, 152, 195, 155, -1, 135, - 154, 195, 152, 195, 155, -1, 136, 154, 195, 152, - 195, 152, 195, 155, -1, 137, 154, 195, 152, 195, - 152, 195, 155, -1, 197, 152, 195, -1, 195, -1, - 35, -1, 36, -1, 200, -1, 200, 217, -1, 200, - 219, -1, 200, 63, 62, 203, -1, 200, 31, -1, - 202, -1, 50, -1, 58, -1, 202, 179, 27, 188, - -1, 202, 219, -1, 202, 63, 62, 203, -1, 202, - 179, 180, 198, 195, 186, -1, 202, 179, 201, 198, - 190, 186, -1, 202, 179, 45, 198, 190, 186, -1, - 202, 179, 47, 198, 190, 186, -1, 202, 51, 205, - -1, 202, 59, 151, 206, -1, -1, 30, -1, 56, - -1, 55, -1, 53, 151, 204, -1, 54, 151, 18, - -1, 52, 151, 30, -1, 72, 151, 30, -1, 156, - 207, 158, -1, 207, 152, 30, -1, 30, -1, -1, - 28, -1, 30, -1, 208, -1, -1, 190, 209, -1, - 211, 152, 210, -1, 210, -1, 211, -1, 211, 152, - 40, -1, 40, -1, -1, 181, 188, 208, 154, 212, - 155, 185, 182, -1, 32, -1, 161, -1, 180, 213, - 214, -1, 33, -1, 162, -1, 215, 225, 216, -1, - -1, 45, -1, 47, -1, 34, 218, 213, -1, -1, - 64, -1, 17, -1, 18, -1, 21, -1, 25, -1, - 26, -1, 22, -1, 23, -1, 24, -1, 159, 197, - 160, -1, 196, -1, 62, 220, 30, 152, 30, -1, - 166, -1, 208, -1, 222, -1, 221, -1, 190, 223, - -1, 225, 226, -1, 226, -1, 227, 229, -1, 227, - 231, -1, -1, 29, -1, 78, -1, 77, -1, 73, - 224, -1, 73, 3, -1, 74, 15, 223, -1, 74, - 4, 223, 152, 15, 223, 152, 15, 223, -1, 75, - 177, 223, 152, 15, 223, 156, 230, 158, -1, 75, - 177, 223, 152, 15, 223, 156, 158, -1, 179, 76, - 181, 188, 223, 154, 234, 155, 39, 15, 223, 228, - 15, 223, -1, 228, -1, 79, -1, 230, 177, 221, - 152, 15, 223, -1, 177, 221, 152, 15, 223, -1, - 179, 236, -1, 190, 156, 223, 152, 223, 158, -1, - 232, 152, 156, 223, 152, 223, 158, -1, 224, -1, - 233, 152, 224, -1, 233, -1, -1, 61, 60, -1, - 60, -1, 168, 190, 223, 152, 223, -1, 169, 190, - 223, 152, 223, -1, 170, 190, 223, 152, 223, -1, - 100, 171, 190, 223, 152, 223, 155, -1, 101, 172, - 190, 223, 152, 223, 155, -1, 49, 224, -1, 173, - 224, 152, 224, -1, 174, 224, 39, 190, -1, 129, - 224, 152, 224, 152, 224, -1, 134, 224, 152, 190, - -1, 135, 224, 152, 224, -1, 136, 224, 152, 224, - 152, 224, -1, 137, 224, 152, 224, 152, 224, -1, - 128, 232, -1, 235, 181, 188, 223, 154, 234, 155, - -1, 239, -1, 152, 233, -1, -1, 38, -1, -1, - 122, 190, 183, -1, 122, 190, 152, 10, 223, 183, - -1, 123, 190, 183, -1, 123, 190, 152, 10, 223, - 183, -1, 124, 224, -1, 238, 125, 190, 223, -1, - 238, 126, 224, 152, 190, 223, -1, 127, 190, 223, - 237, -1 + -1, 14, -1, 15, -1, 16, -1, 223, -1, 192, + -1, 154, 18, -1, 190, 155, 195, 156, -1, 157, + 18, 158, 193, 159, -1, 160, 18, 158, 193, 161, + -1, 162, 194, 163, -1, 162, 163, -1, 160, 162, + 194, 163, 161, -1, 160, 162, 163, 161, -1, 193, + 164, -1, 193, -1, 194, 153, 193, -1, 194, -1, + 194, 153, 41, -1, 41, -1, -1, 191, 157, 198, + 159, -1, 191, 157, 159, -1, 191, 165, 30, -1, + 191, 160, 198, 161, -1, 191, 162, 198, 163, -1, + 191, 162, 163, -1, 191, 22, -1, 191, 23, -1, + 191, 223, -1, 191, 197, -1, 191, 24, -1, 176, + 168, -1, 177, 18, -1, 4, 25, -1, 4, 26, + -1, 179, 21, -1, 175, 155, 196, 40, 191, 156, + -1, 128, 155, 196, 238, 156, -1, 130, 155, 196, + 153, 196, 153, 196, 156, -1, 169, 155, 196, 153, + 196, 156, -1, 170, 155, 196, 153, 196, 156, -1, + 171, 155, 196, 153, 196, 156, -1, 101, 172, 155, + 196, 153, 196, 156, -1, 102, 173, 155, 196, 153, + 196, 156, -1, 174, 155, 196, 153, 196, 156, -1, + 136, 155, 196, 153, 196, 156, -1, 137, 155, 196, + 153, 196, 153, 196, 156, -1, 138, 155, 196, 153, + 196, 153, 196, 156, -1, 198, 153, 196, -1, 196, + -1, 36, -1, 37, -1, 201, -1, 201, 218, -1, + 201, 220, -1, 201, 64, 63, 204, -1, 201, 31, + -1, 203, -1, 51, -1, 59, -1, 203, 180, 27, + 189, -1, 203, 220, -1, 203, 64, 63, 204, -1, + 203, 180, 181, 199, 196, 187, -1, 203, 180, 202, + 199, 191, 187, -1, 203, 180, 46, 199, 191, 187, + -1, 203, 180, 48, 199, 191, 187, -1, 203, 52, + 206, -1, 203, 60, 152, 207, -1, -1, 30, -1, + 57, -1, 56, -1, 54, 152, 205, -1, 55, 152, + 18, -1, 53, 152, 30, -1, 73, 152, 30, -1, + 157, 208, 159, -1, 208, 153, 30, -1, 30, -1, + -1, 28, -1, 30, -1, 209, -1, -1, 191, 210, + -1, 212, 153, 211, -1, 211, -1, 212, -1, 212, + 153, 41, -1, 41, -1, -1, 182, 189, 209, 155, + 213, 156, 186, 183, -1, 32, -1, 162, -1, 181, + 214, 215, -1, 35, 181, 214, 215, -1, 33, -1, + 163, -1, 216, 226, 217, -1, -1, 46, -1, 48, + -1, 34, 219, 214, -1, -1, 65, -1, 17, -1, + 18, -1, 21, -1, 25, -1, 26, -1, 22, -1, + 23, -1, 24, -1, 160, 198, 161, -1, 197, -1, + 63, 221, 30, 153, 30, -1, 167, -1, 209, -1, + 223, -1, 222, -1, 191, 224, -1, 226, 227, -1, + 227, -1, 228, 230, -1, 228, 232, -1, -1, 29, + -1, 79, -1, 78, -1, 74, 225, -1, 74, 3, + -1, 75, 15, 224, -1, 75, 4, 224, 153, 15, + 224, 153, 15, 224, -1, 76, 178, 224, 153, 15, + 224, 157, 231, 159, -1, 76, 178, 224, 153, 15, + 224, 157, 159, -1, 180, 77, 182, 189, 224, 155, + 235, 156, 40, 15, 224, 229, 15, 224, -1, 229, + -1, 80, -1, 231, 178, 222, 153, 15, 224, -1, + 178, 222, 153, 15, 224, -1, 180, 237, -1, 191, + 157, 224, 153, 224, 159, -1, 233, 153, 157, 224, + 153, 224, 159, -1, 225, -1, 234, 153, 225, -1, + 234, -1, -1, 62, 61, -1, 61, -1, 169, 191, + 224, 153, 224, -1, 170, 191, 224, 153, 224, -1, + 171, 191, 224, 153, 224, -1, 101, 172, 191, 224, + 153, 224, -1, 102, 173, 191, 224, 153, 224, -1, + 50, 225, -1, 174, 225, 153, 225, -1, 175, 225, + 40, 191, -1, 130, 225, 153, 225, 153, 225, -1, + 135, 225, 153, 191, -1, 136, 225, 153, 225, -1, + 137, 225, 153, 225, 153, 225, -1, 138, 225, 153, + 225, 153, 225, -1, 129, 233, -1, 236, 182, 189, + 224, 155, 235, 156, -1, 240, -1, 153, 234, -1, + -1, 39, -1, -1, 123, 191, 184, -1, 123, 191, + 153, 10, 224, 184, -1, 124, 191, 184, -1, 124, + 191, 153, 10, 224, 184, -1, 125, 225, -1, 239, + 126, 191, 224, -1, 239, 127, 225, 153, 191, 224, + -1, 128, 191, 224, 238, -1 }; /* YYRLINE[YYN] -- source line where rule number YYN was defined. */ @@ -1035,23 +1039,24 @@ 389, 392, 393, 401, 407, 408, 411, 412, 421, 422, 435, 435, 436, 436, 437, 441, 441, 441, 441, 441, 441, 441, 442, 442, 442, 442, 442, 444, 448, 452, - 455, 460, 466, 474, 482, 488, 492, 503, 506, 514, - 515, 520, 523, 533, 539, 544, 550, 556, 562, 567, - 573, 579, 585, 591, 597, 603, 609, 615, 621, 629, - 643, 655, 660, 666, 671, 677, 682, 687, 695, 700, - 705, 715, 720, 725, 725, 735, 740, 743, 748, 752, - 756, 758, 758, 761, 773, 778, 783, 792, 801, 810, - 819, 824, 829, 834, 836, 836, 839, 844, 851, 856, - 863, 870, 875, 876, 884, 884, 885, 885, 887, 894, - 898, 902, 905, 910, 913, 915, 935, 936, 938, 947, - 948, 950, 958, 959, 960, 964, 977, 978, 981, 981, - 981, 981, 981, 981, 981, 982, 983, 988, 989, 998, - 998, 1002, 1008, 1019, 1025, 1028, 1036, 1040, 1045, 1048, - 1054, 1054, 1056, 1061, 1066, 1071, 1079, 1086, 1092, 1112, - 1117, 1123, 1128, 1136, 1145, 1152, 1160, 1164, 1171, 1172, - 1176, 1181, 1184, 1190, 1195, 1201, 1206, 1211, 1216, 1224, - 1238, 1243, 1248, 1253, 1258, 1263, 1268, 1285, 1290, 1291, - 1295, 1296, 1299, 1306, 1313, 1320, 1327, 1332, 1339, 1346 + 455, 460, 466, 474, 482, 488, 492, 498, 502, 513, + 516, 524, 525, 530, 533, 543, 549, 554, 560, 566, + 572, 577, 583, 589, 595, 601, 607, 613, 619, 625, + 631, 639, 653, 665, 670, 676, 681, 687, 692, 697, + 705, 710, 715, 725, 730, 735, 735, 745, 750, 753, + 758, 762, 766, 768, 768, 771, 783, 788, 793, 802, + 811, 820, 829, 834, 839, 844, 846, 846, 849, 854, + 861, 866, 873, 880, 885, 886, 894, 894, 895, 895, + 897, 904, 908, 912, 915, 920, 923, 925, 945, 946, + 949, 958, 969, 970, 972, 980, 981, 982, 986, 999, + 1000, 1003, 1003, 1003, 1003, 1003, 1003, 1003, 1004, 1005, + 1010, 1011, 1020, 1020, 1024, 1030, 1041, 1047, 1050, 1058, + 1062, 1067, 1070, 1076, 1076, 1078, 1083, 1088, 1093, 1101, + 1108, 1114, 1134, 1139, 1145, 1150, 1158, 1167, 1174, 1182, + 1186, 1193, 1194, 1198, 1203, 1206, 1212, 1217, 1223, 1228, + 1233, 1238, 1246, 1260, 1265, 1270, 1275, 1280, 1285, 1290, + 1307, 1312, 1313, 1317, 1318, 1321, 1328, 1335, 1342, 1349, + 1354, 1361, 1368 }; #endif @@ -1065,12 +1070,12 @@ "LABEL", "OPAQUE", "ESINT64VAL", "EUINT64VAL", "SINTVAL", "UINTVAL", "FPVAL", "NULL_TOK", "UNDEF", "ZEROINITIALIZER", "TRUETOK", "FALSETOK", "TYPE", "VAR_ID", "LABELSTR", "STRINGCONSTANT", "IMPLEMENTATION", - "BEGINTOK", "ENDTOK", "DECLARE", "GLOBAL", "CONSTANT", "SECTION", - "VOLATILE", "TO", "DOTDOTDOT", "CONST", "INTERNAL", "LINKONCE", "WEAK", - "DLLIMPORT", "DLLEXPORT", "EXTERN_WEAK", "APPENDING", "NOT", "EXTERNAL", - "TARGET", "TRIPLE", "ENDIAN", "POINTERSIZE", "LITTLE", "BIG", "ALIGN", - "UNINITIALIZED", "DEPLIBS", "CALL", "TAIL", "ASM_TOK", "MODULE", - "SIDEEFFECT", "CC_TOK", "CCC_TOK", "CSRETCC_TOK", "FASTCC_TOK", + "BEGINTOK", "ENDTOK", "DECLARE", "DEFINE", "GLOBAL", "CONSTANT", + "SECTION", "VOLATILE", "TO", "DOTDOTDOT", "CONST", "INTERNAL", + "LINKONCE", "WEAK", "DLLIMPORT", "DLLEXPORT", "EXTERN_WEAK", "APPENDING", + "NOT", "EXTERNAL", "TARGET", "TRIPLE", "ENDIAN", "POINTERSIZE", "LITTLE", + "BIG", "ALIGN", "UNINITIALIZED", "DEPLIBS", "CALL", "TAIL", "ASM_TOK", + "MODULE", "SIDEEFFECT", "CC_TOK", "CCC_TOK", "CSRETCC_TOK", "FASTCC_TOK", "COLDCC_TOK", "X86_STDCALLCC_TOK", "X86_FASTCALLCC_TOK", "DATALAYOUT", "RET", "BR", "SWITCH", "INVOKE", "EXCEPT", "UNWIND", "UNREACHABLE", "ADD", "SUB", "MUL", "DIV", "UDIV", "SDIV", "FDIV", "REM", "UREM", @@ -1122,44 +1127,45 @@ 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, - 405, 61, 44, 92, 40, 41, 91, 120, 93, 60, - 62, 123, 125, 42, 99 + 405, 406, 61, 44, 92, 40, 41, 91, 120, 93, + 60, 62, 123, 125, 42, 99 }; # endif /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ static const unsigned char yyr1[] = { - 0, 165, 166, 166, 167, 167, 168, 168, 168, 168, - 168, 168, 168, 168, 168, 168, 168, 169, 169, 169, - 170, 170, 170, 170, 170, 170, 171, 171, 171, 171, + 0, 166, 167, 167, 168, 168, 169, 169, 169, 169, + 169, 169, 169, 169, 169, 169, 169, 170, 170, 170, 171, 171, 171, 171, 171, 171, 172, 172, 172, 172, - 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, - 172, 172, 173, 173, 173, 173, 174, 174, 174, 174, - 174, 174, 174, 174, 174, 174, 174, 174, 174, 175, - 175, 175, 175, 176, 176, 176, 176, 177, 177, 178, - 178, 179, 179, 180, 180, 180, 180, 180, 180, 180, - 180, 181, 181, 181, 181, 181, 181, 181, 181, 182, - 182, 183, 183, 184, 185, 185, 186, 186, 187, 187, - 188, 188, 189, 189, 190, 191, 191, 191, 191, 191, - 191, 191, 191, 191, 191, 191, 191, 192, 192, 192, - 192, 192, 192, 192, 192, 192, 192, 193, 193, 194, - 194, 194, 194, 195, 195, 195, 195, 195, 195, 195, - 195, 195, 195, 195, 195, 195, 195, 195, 195, 196, + 172, 172, 172, 172, 172, 172, 173, 173, 173, 173, + 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, + 173, 173, 174, 174, 174, 174, 175, 175, 175, 175, + 175, 175, 175, 175, 175, 175, 175, 175, 175, 176, + 176, 176, 176, 177, 177, 177, 177, 178, 178, 179, + 179, 180, 180, 181, 181, 181, 181, 181, 181, 181, + 181, 182, 182, 182, 182, 182, 182, 182, 182, 183, + 183, 184, 184, 185, 186, 186, 187, 187, 188, 188, + 189, 189, 190, 190, 191, 192, 192, 192, 192, 192, + 192, 192, 192, 192, 192, 192, 192, 193, 193, 193, + 193, 193, 193, 193, 193, 193, 193, 193, 193, 194, + 194, 195, 195, 195, 195, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, - 196, 197, 197, 198, 198, 199, 200, 200, 200, 200, - 200, 201, 201, 202, 202, 202, 202, 202, 202, 202, - 202, 202, 202, 203, 204, 204, 205, 205, 205, 205, - 206, 207, 207, 207, 208, 208, 209, 209, 210, 211, - 211, 212, 212, 212, 212, 213, 214, 214, 215, 216, - 216, 217, 218, 218, 218, 219, 220, 220, 221, 221, - 221, 221, 221, 221, 221, 221, 221, 221, 221, 222, - 222, 223, 223, 224, 225, 225, 226, 227, 227, 227, - 228, 228, 229, 229, 229, 229, 229, 229, 229, 229, - 229, 230, 230, 231, 232, 232, 233, 233, 234, 234, - 235, 235, 236, 236, 236, 236, 236, 236, 236, 236, - 236, 236, 236, 236, 236, 236, 236, 236, 237, 237, - 238, 238, 239, 239, 239, 239, 239, 239, 239, 239 + 196, 197, 197, 197, 197, 197, 197, 197, 197, 197, + 197, 197, 197, 198, 198, 199, 199, 200, 201, 201, + 201, 201, 201, 202, 202, 203, 203, 203, 203, 203, + 203, 203, 203, 203, 203, 204, 205, 205, 206, 206, + 206, 206, 207, 208, 208, 208, 209, 209, 210, 210, + 211, 212, 212, 213, 213, 213, 213, 214, 215, 215, + 216, 216, 217, 217, 218, 219, 219, 219, 220, 221, + 221, 222, 222, 222, 222, 222, 222, 222, 222, 222, + 222, 222, 223, 223, 224, 224, 225, 226, 226, 227, + 228, 228, 228, 229, 229, 230, 230, 230, 230, 230, + 230, 230, 230, 230, 231, 231, 232, 233, 233, 234, + 234, 235, 235, 236, 236, 237, 237, 237, 237, 237, + 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, + 237, 238, 238, 239, 239, 240, 240, 240, 240, 240, + 240, 240, 240 }; /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ @@ -1178,23 +1184,24 @@ 2, 0, 3, 2, 0, 1, 0, 3, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 2, 4, 5, 5, 3, 2, 2, 1, 3, 1, - 3, 1, 0, 4, 3, 3, 4, 4, 3, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 6, - 5, 8, 6, 6, 6, 7, 7, 6, 6, 8, - 8, 3, 1, 1, 1, 1, 2, 2, 4, 2, - 1, 1, 1, 4, 2, 4, 6, 6, 6, 6, - 3, 4, 0, 1, 1, 1, 3, 3, 3, 3, - 3, 3, 1, 0, 1, 1, 1, 0, 2, 3, - 1, 1, 3, 1, 0, 8, 1, 1, 3, 1, - 1, 3, 0, 1, 1, 3, 0, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 3, 1, 5, 1, - 1, 1, 1, 2, 2, 1, 2, 2, 0, 1, - 1, 1, 2, 2, 3, 9, 9, 8, 14, 1, - 1, 6, 5, 2, 6, 7, 1, 3, 1, 0, - 2, 1, 5, 5, 5, 7, 7, 2, 4, 4, - 6, 4, 4, 6, 6, 2, 7, 1, 2, 0, - 1, 0, 3, 6, 3, 6, 2, 4, 6, 4 + 2, 4, 5, 5, 3, 2, 5, 4, 2, 1, + 3, 1, 3, 1, 0, 4, 3, 3, 4, 4, + 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 6, 5, 8, 6, 6, 6, 7, 7, 6, + 6, 8, 8, 3, 1, 1, 1, 1, 2, 2, + 4, 2, 1, 1, 1, 4, 2, 4, 6, 6, + 6, 6, 3, 4, 0, 1, 1, 1, 3, 3, + 3, 3, 3, 3, 1, 0, 1, 1, 1, 0, + 2, 3, 1, 1, 3, 1, 0, 8, 1, 1, + 3, 4, 1, 1, 3, 0, 1, 1, 3, 0, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, + 1, 5, 1, 1, 1, 1, 2, 2, 1, 2, + 2, 0, 1, 1, 1, 2, 2, 3, 9, 9, + 8, 14, 1, 1, 6, 5, 2, 6, 7, 1, + 3, 1, 0, 2, 1, 5, 5, 5, 6, 6, + 2, 4, 4, 6, 4, 4, 6, 6, 2, 7, + 1, 2, 0, 1, 0, 3, 6, 3, 6, 2, + 4, 6, 4 }; /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state @@ -1202,533 +1209,547 @@ means the default is an error. */ static const unsigned short int yydefact[] = { - 192, 0, 90, 180, 1, 179, 222, 83, 84, 85, - 87, 88, 89, 86, 0, 98, 248, 176, 177, 204, - 205, 0, 0, 0, 90, 0, 184, 223, 224, 98, - 0, 0, 91, 92, 93, 94, 95, 96, 0, 0, - 249, 248, 245, 82, 0, 0, 0, 0, 190, 0, - 0, 0, 0, 0, 181, 182, 0, 0, 81, 225, - 193, 178, 97, 111, 115, 116, 117, 118, 119, 120, - 121, 122, 123, 124, 125, 126, 127, 2, 3, 0, - 0, 0, 0, 239, 0, 0, 110, 129, 114, 240, - 128, 216, 217, 218, 219, 220, 221, 244, 0, 0, - 0, 251, 250, 260, 291, 259, 246, 247, 0, 0, - 0, 0, 203, 191, 185, 183, 173, 174, 0, 0, - 0, 0, 130, 0, 0, 113, 135, 137, 0, 0, - 142, 136, 253, 0, 252, 0, 0, 72, 76, 71, - 75, 70, 74, 69, 73, 77, 78, 0, 290, 0, - 271, 0, 98, 6, 7, 8, 9, 10, 11, 12, - 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, - 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, - 0, 52, 53, 54, 55, 0, 0, 0, 0, 68, - 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, - 66, 67, 0, 0, 0, 0, 0, 98, 263, 0, - 287, 198, 195, 194, 196, 197, 199, 202, 0, 106, - 106, 115, 116, 117, 118, 119, 120, 121, 122, 123, - 124, 125, 0, 0, 0, 0, 106, 106, 0, 0, - 0, 134, 214, 141, 139, 0, 228, 229, 230, 233, - 234, 235, 231, 232, 226, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 237, 242, - 241, 243, 0, 254, 0, 277, 270, 0, 26, 27, - 28, 29, 30, 31, 32, 33, 34, 35, 0, 50, - 51, 36, 37, 38, 39, 40, 41, 42, 43, 44, - 45, 46, 47, 48, 49, 0, 101, 101, 296, 0, - 0, 285, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 200, 0, 188, 189, - 156, 157, 4, 5, 154, 155, 158, 149, 150, 153, - 0, 0, 0, 0, 152, 151, 186, 187, 112, 112, - 138, 213, 207, 210, 211, 0, 0, 131, 227, 0, - 0, 0, 0, 0, 0, 0, 0, 172, 0, 0, + 194, 0, 90, 182, 1, 181, 225, 90, 83, 84, + 85, 87, 88, 89, 86, 0, 98, 251, 178, 179, + 206, 207, 0, 0, 0, 90, 0, 186, 226, 227, + 98, 98, 0, 0, 91, 92, 93, 94, 95, 96, + 0, 0, 252, 251, 248, 82, 0, 0, 0, 0, + 192, 0, 0, 0, 0, 0, 183, 184, 0, 0, + 81, 228, 0, 195, 180, 97, 111, 115, 116, 117, + 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, + 2, 3, 0, 0, 0, 0, 242, 0, 0, 110, + 129, 114, 243, 128, 218, 219, 220, 222, 223, 224, + 247, 0, 0, 0, 254, 253, 263, 294, 262, 249, + 250, 0, 0, 0, 0, 205, 193, 187, 185, 175, + 176, 0, 0, 0, 0, 221, 130, 0, 0, 0, + 113, 135, 139, 0, 0, 144, 138, 256, 0, 255, + 0, 0, 72, 76, 71, 75, 70, 74, 69, 73, + 77, 78, 0, 293, 0, 274, 0, 98, 6, 7, + 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, + 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, + 0, 0, 0, 0, 0, 0, 52, 53, 54, 55, + 0, 0, 0, 0, 68, 56, 57, 58, 59, 60, + 61, 62, 63, 64, 65, 66, 67, 0, 0, 0, + 0, 0, 98, 266, 0, 290, 200, 197, 196, 198, + 199, 201, 204, 0, 106, 106, 115, 116, 117, 118, + 119, 120, 121, 122, 123, 124, 125, 0, 0, 0, + 0, 106, 106, 0, 0, 0, 0, 0, 134, 216, + 143, 141, 0, 231, 232, 233, 236, 237, 238, 234, + 235, 229, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 240, 245, 244, 246, 0, + 257, 0, 280, 273, 0, 26, 27, 28, 29, 30, + 31, 32, 33, 34, 35, 0, 50, 51, 36, 37, + 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, + 48, 49, 0, 101, 101, 299, 0, 0, 288, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 292, 0, 294, 289, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 201, - 0, 0, 108, 106, 144, 0, 0, 148, 0, 145, - 132, 133, 206, 208, 0, 104, 140, 0, 0, 0, - 289, 0, 0, 0, 0, 0, 236, 0, 0, 0, + 0, 0, 0, 202, 0, 190, 191, 158, 159, 4, + 5, 156, 157, 160, 151, 152, 155, 0, 0, 0, + 0, 154, 153, 188, 189, 112, 112, 137, 0, 140, + 215, 209, 212, 213, 0, 0, 131, 230, 0, 0, + 0, 0, 0, 0, 0, 0, 174, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 295, + 0, 297, 292, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 203, 0, + 0, 108, 106, 146, 0, 0, 150, 0, 147, 132, + 133, 136, 208, 210, 0, 104, 142, 0, 0, 0, + 292, 0, 0, 0, 0, 0, 239, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 299, 0, 0, 0, 281, 282, 0, 0, 0, - 0, 0, 278, 279, 0, 297, 0, 103, 109, 107, - 143, 146, 147, 212, 209, 105, 99, 0, 0, 0, - 0, 0, 0, 0, 0, 171, 0, 0, 0, 0, - 0, 0, 0, 269, 0, 0, 101, 102, 101, 266, - 288, 0, 0, 0, 0, 0, 272, 273, 274, 269, - 0, 0, 215, 238, 0, 0, 160, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 268, 0, - 0, 0, 0, 293, 295, 0, 0, 0, 280, 283, - 284, 0, 298, 100, 0, 0, 0, 168, 0, 0, - 162, 163, 164, 167, 159, 0, 257, 0, 0, 0, - 275, 276, 267, 264, 0, 286, 165, 166, 0, 0, - 0, 255, 0, 256, 0, 0, 265, 161, 169, 170, - 0, 0, 0, 0, 0, 0, 262, 0, 0, 261, - 0, 258 + 0, 302, 0, 0, 0, 284, 285, 0, 0, 0, + 0, 0, 281, 282, 0, 300, 0, 103, 109, 107, + 145, 148, 149, 214, 211, 105, 99, 0, 0, 0, + 0, 0, 0, 0, 0, 173, 0, 0, 0, 0, + 0, 0, 0, 272, 0, 0, 101, 102, 101, 269, + 291, 0, 0, 0, 0, 0, 275, 276, 277, 272, + 0, 0, 217, 241, 0, 0, 162, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 271, 0, + 278, 279, 0, 296, 298, 0, 0, 0, 283, 286, + 287, 0, 301, 100, 0, 0, 0, 170, 0, 0, + 164, 165, 166, 169, 161, 0, 260, 0, 0, 0, + 270, 267, 0, 289, 167, 168, 0, 0, 0, 258, + 0, 259, 0, 0, 268, 163, 171, 172, 0, 0, + 0, 0, 0, 0, 265, 0, 0, 264, 0, 261 }; /* YYDEFGOTO[NTERM-NUM]. */ static const short int yydefgoto[] = { - -1, 83, 334, 263, 264, 265, 288, 305, 266, 267, - 232, 233, 147, 234, 24, 15, 38, 502, 380, 402, - 466, 328, 403, 84, 85, 235, 87, 88, 128, 245, - 367, 268, 368, 118, 1, 2, 57, 3, 61, 214, - 48, 113, 218, 89, 413, 353, 354, 355, 39, 93, - 16, 96, 17, 29, 18, 359, 269, 90, 271, 489, - 41, 42, 43, 105, 106, 548, 107, 311, 518, 519, - 207, 208, 441, 209, 210 + -1, 86, 341, 270, 271, 272, 295, 312, 273, 274, + 237, 238, 152, 239, 25, 16, 40, 512, 389, 411, + 476, 335, 412, 87, 88, 240, 90, 91, 133, 252, + 376, 275, 377, 121, 1, 2, 59, 3, 64, 219, + 50, 116, 223, 92, 423, 362, 363, 364, 41, 96, + 17, 99, 18, 30, 19, 368, 276, 93, 278, 499, + 43, 44, 45, 108, 109, 558, 110, 318, 528, 529, + 212, 213, 451, 214, 215 }; /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing STATE-NUM. */ -#define YYPACT_NINF -501 +#define YYPACT_NINF -543 static const short int yypact[] = { - -501, 82, 9, 975, -501, -501, 72, -501, -501, -501, - -501, -501, -501, -501, 29, 34, 94, -501, -501, -501, - -501, -28, -42, 66, 127, 25, -501, -501, -501, 34, - 122, 199, -501, -501, -501, -501, -501, -501, 839, -17, - -501, -19, -501, 47, 67, 68, 69, 75, -501, 71, - 122, 839, 11, 11, -501, -501, 11, 11, -501, -501, - -501, -501, -501, 76, -501, -501, -501, -501, -501, -501, - -501, -501, -501, -501, -501, -501, -501, -501, -501, 207, - 210, 211, 518, -501, 123, 77, -501, -501, -84, -501, - -501, -501, -501, -501, -501, -501, -501, -501, 876, 8, - 253, -501, -501, -501, 1333, -501, -501, -501, 203, 80, - 217, 206, 208, -501, -501, -501, -501, -501, 922, 922, - 960, 922, -501, 83, 84, -501, -501, -84, -134, 88, - 604, -501, 76, 1131, -501, 1131, 1131, -501, -501, -501, - -501, -501, -501, -501, -501, -501, -501, 1131, -501, 922, - -501, 177, 34, -501, -501, -501, -501, -501, -501, -501, - -501, -501, -501, -501, -501, -501, -501, -501, -501, -501, - -501, -501, -501, 103, 81, 922, 922, 922, 922, 922, - 922, -501, -501, -501, -501, 922, 922, 922, 922, -501, - -501, -501, -501, -501, -501, -501, -501, -501, -501, -501, - -501, -501, 922, 922, 922, 922, 922, 34, -501, 20, - -501, -501, -501, -501, -501, -501, -501, -501, -44, 91, - 91, 130, 143, 226, 145, 227, 161, 230, 163, 231, - 232, 233, 165, 234, 245, 1042, 91, 91, 922, 922, - 922, -501, 679, -501, 99, 113, -501, -501, -501, -501, - -501, -501, -501, -501, 205, 103, 81, 119, 120, 125, - 128, 129, 960, 133, 134, 135, 139, 140, -501, -501, - -501, -501, 124, -501, 149, -501, -501, 839, -501, -501, - -501, -501, -501, -501, -501, -501, -501, -501, 922, -501, - -501, -501, -501, -501, -501, -501, -501, -501, -501, -501, - -501, -501, -501, -501, -501, 922, 150, 151, -501, 1131, - 136, 153, 154, 155, 156, 157, 158, 1131, 1131, 1131, - 159, 241, 839, 922, 922, 251, -501, -18, -501, -501, - -501, -501, -501, -501, -501, -501, -501, -501, -501, -501, - 717, 960, 549, 265, -501, -501, -501, -501, -69, -50, - -84, -501, 123, -501, 160, 142, 763, -501, -501, 283, - 164, 166, 960, 960, 960, 960, 960, -501, -110, 960, - 960, 960, 960, 960, 302, 304, 1131, 1131, 1131, 1, - -501, 12, -501, 169, 1131, 167, 922, 922, 922, 922, - 922, 172, 173, 176, 922, 922, 1131, 1131, 178, -501, - 299, 314, -501, 91, -501, -40, -68, -501, -74, -501, - -501, -501, -501, -501, 801, 301, -501, 184, 960, 960, - 169, 187, 188, 189, 190, 960, -501, 194, 195, 201, - 209, 316, 1131, 1131, 204, 212, 213, 1131, 341, 1131, - 922, -501, 214, 1131, 215, -501, -501, 216, 220, 1131, - 1131, 1131, -501, -501, 219, -501, 922, -501, -501, -501, - -501, -501, -501, -501, -501, -501, 303, 332, 222, 228, - 229, 960, 960, 960, 960, -501, 960, 960, 960, 960, - 922, 238, 235, 922, 1131, 1131, 240, -501, 240, -501, - 243, 1131, 244, 922, 922, 922, -501, -501, -501, 922, - 1131, 345, -501, -501, 960, 960, -501, 246, 242, 247, - 248, 252, 254, 255, 256, 257, 354, 26, 243, 258, - 259, 260, 325, -501, -501, 922, 225, 1131, -501, -501, - -501, 261, -501, -501, 262, 269, 960, -501, 960, 960, - -501, -501, -501, -501, -501, 1131, -501, 1220, 56, 347, - -501, -501, -501, -501, 250, -501, -501, -501, 270, 271, - 272, -501, 249, -501, 1220, 378, -501, -501, -501, -501, - 391, 276, 1131, 1131, 415, 138, -501, 1131, 416, -501, - 1131, -501 + -543, 41, 25, 215, -543, -543, 82, 277, -543, -543, + -543, -543, -543, -543, -543, -10, 300, 62, -543, -543, + -543, -543, 22, -95, 57, 78, 30, -543, -543, -543, + 300, 300, 156, 170, -543, -543, -543, -543, -543, -543, + 887, -26, -543, -17, -543, 37, 39, 42, 46, 48, + -543, 77, 156, 887, 43, 43, -543, -543, 43, 43, + -543, -543, -26, -543, -543, -543, 53, -543, -543, -543, + -543, -543, -543, -543, -543, -543, -543, -543, -543, -543, + -543, -543, 188, 196, -8, 561, -543, 153, 81, -543, + -543, -70, -543, -543, -543, -543, -543, -543, -543, -543, + -543, 924, 13, 307, -543, -543, -543, 1403, -543, -543, + -543, 207, 101, 220, 210, 211, -543, -543, -543, -543, + -543, 969, 969, 1008, 969, -543, -543, 88, 89, 603, + -543, -543, -70, -75, 93, 676, -543, 53, 1201, -543, + 1201, 1201, -543, -543, -543, -543, -543, -543, -543, -543, + -543, -543, 1201, -543, 969, -543, 189, 300, -543, -543, + -543, -543, -543, -543, -543, -543, -543, -543, -543, -543, + -543, -543, -543, -543, -543, -543, -543, -543, 58, 109, + 969, 969, 969, 969, 969, 969, -543, -543, -543, -543, + 969, 969, 969, 969, -543, -543, -543, -543, -543, -543, + -543, -543, -543, -543, -543, -543, -543, 969, 969, 969, + 969, 969, 300, -543, -19, -543, -543, -543, -543, -543, + -543, -543, -543, -133, 100, 100, 149, 167, 236, 179, + 238, 185, 239, 187, 247, 248, 249, 193, 250, 252, + 1052, 100, 100, 969, 969, 110, -66, 969, -543, 723, + -543, 128, 127, -543, -543, -543, -543, -543, -543, -543, + -543, 221, 58, 109, 130, 132, 133, 137, 138, 1008, + 140, 143, 144, 145, 146, -543, -543, -543, -543, 151, + -543, 155, -543, -543, 887, -543, -543, -543, -543, -543, + -543, -543, -543, -543, -543, 969, -543, -543, -543, -543, + -543, -543, -543, -543, -543, -543, -543, -543, -543, -543, + -543, -543, 969, 157, 174, -543, 1201, 152, 175, 176, + 177, 178, 182, 183, 1201, 1201, 1201, 184, 262, 887, + 969, 969, 302, -543, 45, -543, -543, -543, -543, -543, + -543, -543, -543, -543, -543, -543, -543, 764, 1008, 647, + 309, -543, -543, -543, -543, -4, -5, -543, 180, -70, + -543, 153, -543, 190, 186, 809, -543, -543, 315, 191, + 192, 1008, 1008, 1008, 1008, 1008, -543, -134, 1008, 1008, + 1008, 1008, 1008, 333, 334, 1201, 1201, 1201, -3, -543, + 8, -543, 200, 1201, 197, 969, 969, 969, 969, 969, + 208, 209, 223, 969, 969, 1201, 1201, 224, -543, 348, + 361, -543, 100, -543, -21, -57, -543, -61, -543, -543, + -543, -543, -543, -543, 848, 342, -543, 228, 1008, 1008, + 200, 229, 230, 234, 235, 1008, -543, 237, 240, 241, + 242, 349, 1201, 1201, 243, 244, 246, 1201, 373, 1201, + 969, -543, 251, 1201, 253, -543, -543, 254, 255, 1201, + 1201, 1201, -543, -543, 245, -543, 969, -543, -543, -543, + -543, -543, -543, -543, -543, -543, 338, 372, 256, 261, + 259, 1008, 1008, 1008, 1008, -543, 1008, 1008, 1008, 1008, + 969, 263, 260, 969, 1201, 1201, 265, -543, 265, -543, + 266, 1201, 267, 969, 969, 969, -543, -543, -543, 969, + 1201, 385, -543, -543, 1008, 1008, -543, 268, 273, 269, + 270, 274, 275, 276, 281, 282, 390, 28, 266, 283, + -543, -543, 366, -543, -543, 969, 285, 1201, -543, -543, + -543, 284, -543, -543, 289, 291, 1008, -543, 1008, 1008, + -543, -543, -543, -543, -543, 1201, -543, 1290, 40, 393, + -543, -543, 290, -543, -543, -543, 292, 295, 296, -543, + 288, -543, 1290, 442, -543, -543, -543, -543, 444, 308, + 1201, 1201, 445, 134, -543, 1201, 447, -543, 1201, -543 }; /* YYPGOTO[NTERM-NUM]. */ static const short int yypgoto[] = { - -501, -501, -501, 328, 329, 330, 181, 185, 333, 336, - -98, -97, -500, -501, 400, 420, -136, -501, -300, 31, - -501, -216, -501, -45, -501, -38, -501, -81, 317, -501, - 126, 218, -208, 74, -501, -501, -501, -501, 398, -501, - -501, -501, -501, 2, -501, 35, -501, -501, 423, -501, - -501, -501, -501, -501, 451, -501, -471, -106, -62, -90, - -501, 417, -501, -116, -501, -501, -501, -501, 22, -39, - -501, -501, 43, -501, -501 + -543, -543, -543, 359, 360, 363, 206, 212, 367, 370, + -102, -100, -504, -543, 428, 17, -149, -543, -303, 55, + -543, -220, -543, -49, -543, -40, -543, -71, 4, -543, + 159, 257, -200, 51, -543, -543, -543, -543, 426, -543, + -543, -543, -543, -1, -543, 59, -543, -543, 202, 419, + -543, -543, -543, -543, 479, -543, -542, -109, 49, -92, + -543, 441, -543, -98, -543, -543, -543, -543, 36, -22, + -543, -543, 60, -543, -543 }; /* 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 -176 +#define YYTABLE_NINF -178 static const short int yytable[] = { - 86, 127, 145, 146, 329, 25, 115, 382, 134, -175, - 40, 437, 135, 86, 94, 91, 277, 547, 240, 400, - 346, 347, 439, 136, 44, 45, 46, 270, 241, 270, - 270, 137, 138, 139, 140, 141, 142, 143, 144, 401, - 5, 270, 425, 6, 47, 25, 116, 117, 564, 127, - 426, 7, 8, 9, 10, 11, 12, 13, 438, 275, - 133, 137, 138, 139, 140, 141, 142, 143, 144, 438, - -112, 322, 14, 272, 273, 19, 562, 20, 425, 131, - 219, 220, 4, 237, 425, 274, 129, 308, 462, 410, - 312, 30, 461, 571, 131, 313, 314, 315, 316, 31, - 32, 33, 34, 35, 36, 37, 289, 290, 325, 49, - 411, 133, 425, 131, 326, 320, 321, 27, 460, 28, - 98, 99, 100, 40, 101, 102, 103, 119, 50, 345, - 120, 121, 405, 406, 408, 212, 213, 306, 307, 133, - 309, 310, 133, 95, 92, 323, 324, 133, 133, 133, - 133, 19, 60, 20, 51, 330, 331, 348, 349, 350, - -72, -72, -71, -71, 317, 318, 319, 133, 133, 7, - 8, 9, 52, 11, 53, 13, 58, 54, -70, -70, - -69, -69, 332, 333, 546, 55, 523, 459, 524, 291, - 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, - 302, 303, 304, 270, 352, 278, 279, 280, 281, 282, - 283, 270, 270, 270, 563, 101, 102, 62, 108, 109, - 110, 284, 285, 286, 287, 122, 111, 112, 123, 124, - -113, 130, 376, 211, 398, 215, 216, 276, 217, 86, - 238, 239, 242, 327, -76, -75, 236, 383, -74, -73, - 377, 356, 335, -79, -80, 391, 392, 393, 137, 138, - 139, 140, 141, 142, 143, 144, 336, 378, 357, 358, - 270, 270, 270, 362, 363, 350, 374, 396, 270, 364, - 395, 399, 365, 366, 86, 397, 133, 369, 370, 371, - 270, 270, 384, 372, 373, 409, 444, 415, 446, 447, - 448, 375, 379, 381, 452, 385, 386, 387, 388, 389, - 390, 394, 414, 417, 434, 435, 436, 432, 418, 433, - 419, 440, 442, 443, 449, 450, 270, 270, 451, 457, - 456, 270, 458, 270, 454, 455, 467, 270, 400, 471, - 472, 473, 474, 270, 270, 270, 476, 477, 133, 445, - 133, 133, 133, 478, 412, 480, 133, 453, 483, 487, - 501, 479, 503, 533, 484, 485, 491, 493, 494, 545, - 481, 482, 495, 499, 504, 486, 352, 488, 270, 270, - 505, 492, 438, 553, 506, 270, 565, 496, 497, 498, - 516, 517, 522, 572, 270, 525, 527, 537, 536, 538, - 539, 570, 133, 528, 529, 530, 573, 540, 566, 541, - 542, 543, 544, 549, 550, 551, 555, 556, 500, 145, - 146, 270, 520, 521, 557, 567, 568, 569, 574, 526, - 577, 580, 202, 203, 204, 552, 360, 205, 532, 270, - 206, 361, 515, 104, 56, 133, 465, 244, 114, 464, - 145, 146, 59, 344, 26, 133, 133, 133, 97, 578, - 531, 133, 490, 470, 0, 554, 270, 270, 0, 0, - 0, 270, 0, 0, 270, 0, 0, 0, 0, 0, - 0, 0, 0, 561, 0, 0, 0, 133, 420, 421, - 422, 423, 424, 0, 0, 427, 428, 429, 430, 431, + 89, 150, 26, 151, 118, 336, 94, 447, 284, 139, + 128, 391, 42, 89, 132, 570, 97, 140, 449, 435, + 332, 353, 354, 557, 31, -177, 333, 436, 141, 277, + 579, 277, 277, 142, 143, 144, 145, 146, 147, 148, + 149, 4, 58, 277, 26, 142, 143, 144, 145, 146, + 147, 148, 149, 32, 572, 448, 5, 51, 132, 6, + 7, 138, 282, 329, 132, 20, 448, 21, 8, 9, + 10, 11, 12, 13, 14, 46, 47, 48, 247, 119, + 120, 224, 225, 409, 242, -112, 134, 247, 248, 15, + 315, 42, 435, 319, 136, 49, 435, 358, 320, 321, + 322, 323, 472, 410, 471, 53, 122, 330, 331, 123, + 124, 101, 102, 103, 138, 104, 105, 106, 327, 328, + 52, 8, 9, 10, 54, 12, 55, 14, 28, 56, + 29, 352, 435, 246, 296, 297, 95, 57, 470, 251, + 313, 314, 138, 316, 317, 138, 98, 414, 415, 417, + 138, 138, 138, 138, 129, 419, 420, 217, 218, 136, + 136, 285, 286, 287, 288, 289, 290, 324, 325, 326, + 138, 138, 355, 356, 337, 338, 359, 291, 292, 293, + 294, 20, 60, 21, -72, -72, 63, 556, 65, 279, + 280, 111, 469, 533, 112, 534, -71, -71, 113, 571, + 114, 281, -70, -70, -69, -69, 126, 277, -113, 361, + 339, 340, 104, 105, 127, 277, 277, 277, 298, 299, + 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, + 310, 311, 61, 62, 115, 385, 135, 216, 220, 407, + 221, 222, -82, 20, 89, 21, 243, 244, 249, 6, + 283, -82, -82, 334, -76, 386, -75, -74, -82, -82, + -82, -82, -82, -82, -82, -73, -82, 22, 342, -79, + -80, 357, 387, 343, -82, 23, 277, 277, 277, 24, + 405, 365, 241, 366, 277, 371, 367, 372, 373, 89, + 406, 138, 374, 375, 359, 378, 277, 277, 379, 380, + 381, 382, 404, 454, 383, 456, 457, 458, 384, 393, + 388, 462, 142, 143, 144, 145, 146, 147, 148, 149, + 8, 9, 10, 11, 12, 13, 14, 390, 394, 395, + 396, 397, 408, 277, 277, 398, 399, 403, 277, 418, + 277, 421, 425, 424, 277, 427, 428, 429, 442, 443, + 277, 277, 277, 450, 453, 138, 455, 138, 138, 138, + 422, 459, 460, 138, 463, 392, 33, 34, 35, 36, + 37, 38, 39, 400, 401, 402, 461, 466, 467, 468, + 409, 477, 481, 482, 361, 277, 277, 483, 484, 490, + 486, 497, 277, 487, 488, 489, 511, 494, 493, 495, + 509, 277, 513, 543, 501, 555, 503, 504, 505, 514, + 138, 538, 539, 540, 515, 516, 526, 527, 532, 535, + 537, 546, 548, 549, 448, 150, 510, 151, 277, 547, + 550, 551, 552, 573, 444, 445, 446, 553, 554, 559, + 563, 578, 452, 560, 561, 564, 277, 565, 575, 574, + 525, 576, 577, 138, 464, 465, 150, 580, 151, 581, + 585, 582, 588, 138, 138, 138, 207, 208, 369, 138, + 209, 277, 277, 107, 210, 370, 277, 211, 117, 277, + 475, 125, 27, 474, 100, 586, 500, 541, 0, 0, + 480, 491, 492, 0, 0, 138, 496, 351, 498, 0, + 0, 0, 502, 0, 0, 0, 0, 0, 506, 507, + 508, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 575, 576, 0, 0, 0, 579, 0, 0, 581, 0, - 0, 125, 64, 65, 66, 67, 68, 69, 70, 71, - 72, 73, 74, 75, 76, 0, 0, 77, 78, 0, - 0, 0, 0, 0, 468, 469, 19, 0, 20, 0, - 0, 475, 125, 221, 222, 223, 224, 225, 226, 227, - 228, 229, 230, 231, 75, 76, 0, 0, 77, 78, - 0, 0, 0, 0, 0, 0, 0, 19, 0, 20, + 430, 431, 432, 433, 434, 0, 0, 437, 438, 439, + 440, 441, 0, 530, 531, 0, 0, 0, 0, 0, + 536, 0, 0, 0, 0, 0, 0, 0, 0, 542, + 0, 0, 0, 0, 130, 67, 68, 69, 70, 71, + 72, 73, 74, 75, 76, 77, 78, 79, 0, 0, + 80, 81, 0, 0, 0, 0, 562, 478, 479, 20, + 0, 21, 0, 0, 485, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 569, 0, 130, 67, 68, 69, + 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, + 0, 0, 80, 81, 0, 0, 0, 0, 0, 583, + 584, 20, 0, 21, 587, 0, 0, 589, 0, 0, + 517, 518, 519, 520, 0, 521, 522, 523, 524, 0, + 130, 226, 227, 228, 229, 230, 231, 232, 233, 234, + 235, 236, 78, 79, 0, 0, 80, 81, 0, 0, + 0, 0, 0, 544, 545, 20, 0, 21, 0, 130, + 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, + 77, 78, 79, 0, 0, 80, 81, 0, 0, 0, + 0, 0, 0, 0, 20, 566, 21, 567, 568, 0, + 0, 0, 0, 0, 0, 82, 0, 250, 83, 0, + 0, 84, 0, 85, 131, 0, 130, 67, 68, 69, + 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, + 0, 0, 80, 81, 0, 0, 0, 0, 0, 0, + 0, 20, 0, 21, 0, 0, 0, 82, 0, 0, + 83, 0, 0, 84, 360, 85, 245, 130, 226, 227, + 228, 229, 230, 231, 232, 233, 234, 235, 236, 78, + 79, 0, 0, 80, 81, 0, 0, 0, 0, 0, + 0, 0, 20, 0, 21, 0, 0, 0, 0, 0, + 0, 82, 0, 0, 83, 0, 0, 84, 0, 85, + 416, 0, 130, 67, 68, 69, 70, 71, 72, 73, + 74, 75, 76, 77, 78, 79, 0, 0, 80, 81, + 82, 0, 0, 83, 0, 0, 84, 20, 85, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 507, 508, 509, - 510, 0, 511, 512, 513, 514, 0, 125, 64, 65, + 426, 130, 67, 68, 69, 70, 71, 72, 73, 74, + 75, 76, 77, 78, 79, 0, 0, 80, 81, 0, + 0, 0, 0, 0, 0, 0, 20, 82, 21, 0, + 83, 0, 0, 84, 0, 85, 0, 0, 0, 473, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, - 76, 0, 0, 77, 78, 0, 0, 0, 0, 0, - 534, 535, 19, 0, 20, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 243, 0, 0, 0, 0, 0, + 76, 77, 78, 79, 0, 0, 80, 81, 0, 0, + 0, 0, 0, 0, 0, 20, 0, 21, 82, 0, + 0, 83, 0, 413, 84, 0, 85, 137, 67, 68, + 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, + 79, 0, 0, 80, 81, 0, 0, 0, 0, 0, + 0, 0, 20, 0, 21, 0, 0, 0, 0, 0, + 0, 0, 0, 82, 0, 0, 83, 0, 0, 84, + 0, 85, 130, 67, 68, 69, 70, 71, 72, 73, + 74, 75, 76, 77, 78, 79, 0, 0, 80, 81, + 0, 0, 0, 0, 0, 0, 0, 20, 0, 21, + 0, 0, 82, 0, 0, 83, 0, 0, 84, 0, + 85, 130, 226, 227, 228, 229, 230, 231, 232, 233, + 234, 235, 236, 78, 79, 0, 0, 80, 81, 0, + 0, 0, 0, 0, 0, 0, 20, 0, 21, 0, + 0, 82, 0, 0, 83, 0, 0, 84, 0, 85, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 80, 81, 0, 344, 345, 346, 0, 82, 0, + 20, 83, 21, 0, 84, 0, 85, 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, 558, 0, 559, 560, 0, 0, 0, 0, - 0, 79, 0, 0, 80, 0, 0, 81, 0, 82, - 126, 0, 125, 64, 65, 66, 67, 68, 69, 70, - 71, 72, 73, 74, 75, 76, 0, 0, 77, 78, - 0, 0, 79, 0, 0, 80, 0, 19, 81, 20, - 82, 407, 0, 0, 0, 0, 0, 0, 0, 351, - 125, 221, 222, 223, 224, 225, 226, 227, 228, 229, - 230, 231, 75, 76, 0, 0, 77, 78, 0, 0, - 0, 0, 0, 0, 0, 19, 0, 20, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 79, 0, 0, - 80, 0, 0, 81, 0, 82, 125, 64, 65, 66, - 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, - 0, 0, 77, 78, 0, 0, 0, 0, 0, 0, - 0, 19, 0, 20, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 416, 125, 64, 65, 66, 67, 68, - 69, 70, 71, 72, 73, 74, 75, 76, 0, 0, - 77, 78, 0, 0, 0, 0, 0, 0, 0, 19, - 0, 20, 79, 0, 0, 80, 0, 0, 81, 0, - 82, 463, 63, 64, 65, 66, 67, 68, 69, 70, - 71, 72, 73, 74, 75, 76, 0, 0, 77, 78, - 0, 0, 0, 0, 0, 0, 0, 19, 0, 20, - 79, 0, 0, 80, 0, 404, 81, 0, 82, 132, - 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, - 74, 75, 76, 0, 0, 77, 78, 0, 0, 0, - 0, 0, 0, 0, 19, 0, 20, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 79, 0, 0, 80, - 0, 0, 81, 0, 82, 125, 64, 65, 66, 67, - 68, 69, 70, 71, 72, 73, 74, 75, 76, 0, - 0, 77, 78, 0, 0, 0, 0, 0, 0, 0, - 19, 0, 20, 0, 79, 0, 0, 80, 0, 0, - 81, 0, 82, 125, 221, 222, 223, 224, 225, 226, - 227, 228, 229, 230, 231, 75, 76, 0, 0, 77, - 78, 0, 0, 0, 0, 0, 0, 0, 19, 0, - 20, 0, 79, 0, 0, 80, 0, 0, 81, 0, - 82, 0, -82, 19, 0, 20, 0, 0, 0, 6, - -82, -82, 0, 0, 0, 0, 0, -82, -82, -82, - -82, -82, -82, -82, 0, -82, 21, 0, 0, 79, - 0, 0, 80, -82, 22, 81, 0, 82, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 82, 0, 0, 83, 0, 0, 84, + 0, 85, 0, 158, 159, 160, 161, 162, 163, 164, + 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, + 175, 176, 177, 262, 263, 0, 0, 0, 0, 0, + 0, 0, 82, 0, 0, 83, 0, 0, 84, 0, + 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 264, 0, 265, 186, 187, 188, 189, 0, 266, 267, + 268, 194, 195, 196, 197, 198, 199, 200, 201, 202, + 203, 204, 205, 206, 0, 0, 0, 0, 0, 347, + 0, 0, 348, 0, 349, 0, 0, 350, 253, 254, + 80, 81, 255, 256, 257, 258, 259, 260, 0, 20, + 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 77, 78, 0, 337, 338, 339, 0, 0, 0, - 19, 0, 20, 0, 0, 79, 0, 0, 80, 0, - 0, 81, 0, 82, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 261, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 79, 0, 0, 80, 0, 0, 81, - 0, 82, 153, 154, 155, 156, 157, 158, 159, 160, - 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, - 171, 172, 255, 256, 0, 0, 0, 0, 246, 247, - 77, 78, 248, 249, 250, 251, 252, 253, 0, 19, - 0, 20, 0, 0, 0, 0, 0, 0, 0, 257, - 0, 258, 181, 182, 183, 184, 0, 259, 260, 261, - 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, - 199, 200, 201, 254, 0, 0, 0, 0, 340, 0, - 0, 341, 0, 342, 0, 0, 343, 0, 0, 0, - 0, 153, 154, 155, 156, 157, 158, 159, 160, 161, - 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, - 172, 255, 256, 0, 0, 0, 0, 246, 247, 0, - 0, 248, 249, 250, 251, 252, 253, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 257, 0, - 258, 181, 182, 183, 184, 0, 259, 260, 261, 189, - 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, - 200, 201, 254, 0, 0, 0, 0, 0, 0, 0, - 262, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, - 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, - 255, 256, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 158, 159, 160, 161, 162, 163, 164, 165, + 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, + 176, 177, 262, 263, 0, 0, 0, 253, 254, 0, + 0, 255, 256, 257, 258, 259, 260, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 264, + 0, 265, 186, 187, 188, 189, 0, 266, 267, 268, + 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, + 204, 205, 206, 261, 0, 0, 0, 0, 0, 0, + 0, 269, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 158, 159, 160, 161, 162, 163, 164, 165, 166, + 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, + 177, 262, 263, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 257, 0, 258, - 181, 182, 183, 184, 0, 259, 260, 261, 189, 190, - 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, - 201, 148, 0, 0, 0, 0, 0, 0, 0, 262, - 0, 0, 149, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 150, 151, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 152, - 0, 0, 0, 153, 154, 155, 156, 157, 158, 159, - 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, - 170, 171, 172, 173, 174, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 264, 0, + 265, 186, 187, 188, 189, 0, 266, 267, 268, 194, + 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, + 205, 206, 153, 0, 0, 0, 0, 0, 0, 0, + 269, 0, 0, 154, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 155, 156, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 175, 176, 177, 0, 0, - 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, - 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, - 198, 199, 200, 201 + 157, 0, 0, 0, 158, 159, 160, 161, 162, 163, + 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, + 174, 175, 176, 177, 178, 179, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 180, 181, 182, 0, + 0, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, + 202, 203, 204, 205, 206 }; static const short int yycheck[] = { - 38, 82, 100, 100, 220, 3, 51, 307, 98, 0, - 29, 10, 4, 51, 33, 32, 152, 517, 152, 37, - 236, 237, 10, 15, 52, 53, 54, 133, 162, 135, - 136, 5, 6, 7, 8, 9, 10, 11, 12, 57, - 31, 147, 152, 34, 72, 43, 35, 36, 548, 130, - 160, 42, 43, 44, 45, 46, 47, 48, 57, 149, - 98, 5, 6, 7, 8, 9, 10, 11, 12, 57, - 154, 207, 63, 135, 136, 28, 547, 30, 152, 163, - 118, 119, 0, 121, 152, 147, 84, 177, 162, 158, - 180, 62, 160, 564, 163, 185, 186, 187, 188, 65, - 66, 67, 68, 69, 70, 71, 25, 26, 152, 151, - 160, 149, 152, 163, 158, 205, 206, 45, 158, 47, - 73, 74, 75, 29, 77, 78, 79, 53, 62, 235, - 56, 57, 340, 341, 342, 55, 56, 175, 176, 177, - 178, 179, 180, 162, 161, 125, 126, 185, 186, 187, - 188, 28, 30, 30, 27, 25, 26, 238, 239, 240, - 17, 18, 17, 18, 202, 203, 204, 205, 206, 42, - 43, 44, 45, 46, 47, 48, 151, 50, 17, 18, - 17, 18, 17, 18, 158, 58, 486, 403, 488, 108, - 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, - 119, 120, 121, 309, 242, 102, 103, 104, 105, 106, - 107, 317, 318, 319, 158, 77, 78, 18, 151, 151, - 151, 118, 119, 120, 121, 18, 151, 156, 18, 18, - 154, 154, 277, 30, 324, 18, 30, 60, 30, 277, - 157, 157, 154, 152, 18, 18, 120, 309, 18, 18, - 288, 152, 18, 21, 21, 317, 318, 319, 5, 6, - 7, 8, 9, 10, 11, 12, 21, 305, 155, 64, - 376, 377, 378, 154, 154, 356, 152, 322, 384, 154, - 39, 30, 154, 154, 322, 323, 324, 154, 154, 154, - 396, 397, 156, 154, 154, 30, 386, 155, 388, 389, - 390, 152, 152, 152, 394, 152, 152, 152, 152, 152, - 152, 152, 152, 30, 376, 377, 378, 15, 154, 15, - 154, 152, 384, 156, 152, 152, 432, 433, 152, 30, - 152, 437, 18, 439, 396, 397, 152, 443, 37, 152, - 152, 152, 152, 449, 450, 451, 152, 152, 386, 387, - 388, 389, 390, 152, 352, 39, 394, 395, 154, 18, - 57, 152, 30, 18, 152, 152, 152, 152, 152, 15, - 432, 433, 152, 154, 152, 437, 414, 439, 484, 485, - 152, 443, 57, 158, 155, 491, 39, 449, 450, 451, - 152, 156, 152, 15, 500, 152, 152, 155, 152, 152, - 152, 152, 440, 493, 494, 495, 15, 155, 158, 155, - 155, 155, 155, 155, 155, 155, 155, 155, 456, 517, - 517, 527, 484, 485, 155, 155, 155, 155, 152, 491, - 15, 15, 104, 104, 104, 525, 255, 104, 500, 545, - 104, 256, 480, 43, 24, 483, 415, 130, 50, 414, - 548, 548, 29, 235, 3, 493, 494, 495, 41, 575, - 499, 499, 440, 420, -1, 527, 572, 573, -1, -1, - -1, 577, -1, -1, 580, -1, -1, -1, -1, -1, - -1, -1, -1, 545, -1, -1, -1, 525, 362, 363, - 364, 365, 366, -1, -1, 369, 370, 371, 372, 373, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 572, 573, -1, -1, -1, 577, -1, -1, 580, -1, - -1, 3, 4, 5, 6, 7, 8, 9, 10, 11, - 12, 13, 14, 15, 16, -1, -1, 19, 20, -1, - -1, -1, -1, -1, 418, 419, 28, -1, 30, -1, - -1, 425, 3, 4, 5, 6, 7, 8, 9, 10, - 11, 12, 13, 14, 15, 16, -1, -1, 19, 20, - -1, -1, -1, -1, -1, -1, -1, 28, -1, 30, + 40, 103, 3, 103, 53, 225, 32, 10, 157, 101, + 18, 314, 29, 53, 85, 557, 33, 4, 10, 153, + 153, 241, 242, 527, 7, 0, 159, 161, 15, 138, + 572, 140, 141, 5, 6, 7, 8, 9, 10, 11, + 12, 0, 25, 152, 45, 5, 6, 7, 8, 9, + 10, 11, 12, 63, 558, 58, 31, 152, 129, 34, + 35, 101, 154, 212, 135, 28, 58, 30, 43, 44, + 45, 46, 47, 48, 49, 53, 54, 55, 153, 36, + 37, 121, 122, 38, 124, 155, 87, 153, 163, 64, + 182, 29, 153, 185, 164, 73, 153, 163, 190, 191, + 192, 193, 163, 58, 161, 27, 55, 126, 127, 58, + 59, 74, 75, 76, 154, 78, 79, 80, 210, 211, + 63, 43, 44, 45, 46, 47, 48, 49, 46, 51, + 48, 240, 153, 129, 25, 26, 162, 59, 159, 135, + 180, 181, 182, 183, 184, 185, 163, 347, 348, 349, + 190, 191, 192, 193, 162, 159, 161, 56, 57, 164, + 164, 103, 104, 105, 106, 107, 108, 207, 208, 209, + 210, 211, 243, 244, 25, 26, 247, 119, 120, 121, + 122, 28, 152, 30, 17, 18, 30, 159, 18, 140, + 141, 152, 412, 496, 152, 498, 17, 18, 152, 159, + 152, 152, 17, 18, 17, 18, 18, 316, 155, 249, + 17, 18, 78, 79, 18, 324, 325, 326, 109, 110, + 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, + 121, 122, 30, 31, 157, 284, 155, 30, 18, 331, + 30, 30, 27, 28, 284, 30, 158, 158, 155, 34, + 61, 36, 37, 153, 18, 295, 18, 18, 43, 44, + 45, 46, 47, 48, 49, 18, 51, 52, 18, 21, + 21, 161, 312, 21, 59, 60, 385, 386, 387, 64, + 329, 153, 123, 156, 393, 155, 65, 155, 155, 329, + 330, 331, 155, 155, 365, 155, 405, 406, 155, 155, + 155, 155, 40, 395, 153, 397, 398, 399, 153, 157, + 153, 403, 5, 6, 7, 8, 9, 10, 11, 12, + 43, 44, 45, 46, 47, 48, 49, 153, 153, 153, + 153, 153, 30, 442, 443, 153, 153, 153, 447, 30, + 449, 161, 156, 153, 453, 30, 155, 155, 15, 15, + 459, 460, 461, 153, 157, 395, 396, 397, 398, 399, + 361, 153, 153, 403, 404, 316, 66, 67, 68, 69, + 70, 71, 72, 324, 325, 326, 153, 153, 30, 18, + 38, 153, 153, 153, 424, 494, 495, 153, 153, 40, + 153, 18, 501, 153, 153, 153, 58, 153, 155, 153, + 155, 510, 30, 18, 153, 15, 153, 153, 153, 153, + 450, 503, 504, 505, 153, 156, 153, 157, 153, 153, + 153, 153, 153, 153, 58, 527, 466, 527, 537, 156, + 156, 156, 156, 40, 385, 386, 387, 156, 156, 156, + 156, 153, 393, 535, 159, 156, 555, 156, 156, 159, + 490, 156, 156, 493, 405, 406, 558, 15, 558, 15, + 15, 153, 15, 503, 504, 505, 107, 107, 262, 509, + 107, 580, 581, 45, 107, 263, 585, 107, 52, 588, + 425, 62, 3, 424, 43, 583, 450, 509, -1, -1, + 430, 442, 443, -1, -1, 535, 447, 240, 449, -1, + -1, -1, 453, -1, -1, -1, -1, -1, 459, 460, + 461, -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, 471, 472, 473, - 474, -1, 476, 477, 478, 479, -1, 3, 4, 5, + 371, 372, 373, 374, 375, -1, -1, 378, 379, 380, + 381, 382, -1, 494, 495, -1, -1, -1, -1, -1, + 501, -1, -1, -1, -1, -1, -1, -1, -1, 510, + -1, -1, -1, -1, 3, 4, 5, 6, 7, 8, + 9, 10, 11, 12, 13, 14, 15, 16, -1, -1, + 19, 20, -1, -1, -1, -1, 537, 428, 429, 28, + -1, 30, -1, -1, 435, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 555, -1, 3, 4, 5, 6, + 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, + -1, -1, 19, 20, -1, -1, -1, -1, -1, 580, + 581, 28, -1, 30, 585, -1, -1, 588, -1, -1, + 481, 482, 483, 484, -1, 486, 487, 488, 489, -1, + 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, + 13, 14, 15, 16, -1, -1, 19, 20, -1, -1, + -1, -1, -1, 514, 515, 28, -1, 30, -1, 3, + 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, + 14, 15, 16, -1, -1, 19, 20, -1, -1, -1, + -1, -1, -1, -1, 28, 546, 30, 548, 549, -1, + -1, -1, -1, -1, -1, 154, -1, 41, 157, -1, + -1, 160, -1, 162, 163, -1, 3, 4, 5, 6, + 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, + -1, -1, 19, 20, -1, -1, -1, -1, -1, -1, + -1, 28, -1, 30, -1, -1, -1, 154, -1, -1, + 157, -1, -1, 160, 41, 162, 163, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, -1, -1, 19, 20, -1, -1, -1, -1, -1, - 504, 505, 28, -1, 30, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 40, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 536, -1, 538, 539, -1, -1, -1, -1, - -1, 153, -1, -1, 156, -1, -1, 159, -1, 161, - 162, -1, 3, 4, 5, 6, 7, 8, 9, 10, + -1, -1, 28, -1, 30, -1, -1, -1, -1, -1, + -1, 154, -1, -1, 157, -1, -1, 160, -1, 162, + 163, -1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, -1, -1, 19, 20, - -1, -1, 153, -1, -1, 156, -1, 28, 159, 30, - 161, 162, -1, -1, -1, -1, -1, -1, -1, 40, + 154, -1, -1, 157, -1, -1, 160, 28, 162, 30, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 41, 3, 4, 5, 6, 7, 8, 9, 10, 11, + 12, 13, 14, 15, 16, -1, -1, 19, 20, -1, + -1, -1, -1, -1, -1, -1, 28, 154, 30, -1, + 157, -1, -1, 160, -1, 162, -1, -1, -1, 41, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, -1, -1, 19, 20, -1, -1, - -1, -1, -1, -1, -1, 28, -1, 30, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 153, -1, -1, - 156, -1, -1, 159, -1, 161, 3, 4, 5, 6, - 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, - -1, -1, 19, 20, -1, -1, -1, -1, -1, -1, - -1, 28, -1, 30, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 40, 3, 4, 5, 6, 7, 8, - 9, 10, 11, 12, 13, 14, 15, 16, -1, -1, - 19, 20, -1, -1, -1, -1, -1, -1, -1, 28, - -1, 30, 153, -1, -1, 156, -1, -1, 159, -1, - 161, 40, 3, 4, 5, 6, 7, 8, 9, 10, + -1, -1, -1, -1, -1, 28, -1, 30, 154, -1, + -1, 157, -1, 159, 160, -1, 162, 3, 4, 5, + 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, + 16, -1, -1, 19, 20, -1, -1, -1, -1, -1, + -1, -1, 28, -1, 30, -1, -1, -1, -1, -1, + -1, -1, -1, 154, -1, -1, 157, -1, -1, 160, + -1, 162, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, -1, -1, 19, 20, -1, -1, -1, -1, -1, -1, -1, 28, -1, 30, - 153, -1, -1, 156, -1, 158, 159, -1, 161, 3, - 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, - 14, 15, 16, -1, -1, 19, 20, -1, -1, -1, - -1, -1, -1, -1, 28, -1, 30, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 153, -1, -1, 156, - -1, -1, 159, -1, 161, 3, 4, 5, 6, 7, - 8, 9, 10, 11, 12, 13, 14, 15, 16, -1, - -1, 19, 20, -1, -1, -1, -1, -1, -1, -1, - 28, -1, 30, -1, 153, -1, -1, 156, -1, -1, - 159, -1, 161, 3, 4, 5, 6, 7, 8, 9, - 10, 11, 12, 13, 14, 15, 16, -1, -1, 19, - 20, -1, -1, -1, -1, -1, -1, -1, 28, -1, - 30, -1, 153, -1, -1, 156, -1, -1, 159, -1, - 161, -1, 27, 28, -1, 30, -1, -1, -1, 34, - 35, 36, -1, -1, -1, -1, -1, 42, 43, 44, - 45, 46, 47, 48, -1, 50, 51, -1, -1, 153, - -1, -1, 156, 58, 59, 159, -1, 161, 63, -1, + -1, -1, 154, -1, -1, 157, -1, -1, 160, -1, + 162, 3, 4, 5, 6, 7, 8, 9, 10, 11, + 12, 13, 14, 15, 16, -1, -1, 19, 20, -1, + -1, -1, -1, -1, -1, -1, 28, -1, 30, -1, + -1, 154, -1, -1, 157, -1, -1, 160, -1, 162, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 19, 20, -1, 22, 23, 24, -1, -1, -1, - 28, -1, 30, -1, -1, 153, -1, -1, 156, -1, - -1, 159, -1, 161, -1, -1, -1, -1, -1, -1, + -1, 19, 20, -1, 22, 23, 24, -1, 154, -1, + 28, 157, 30, -1, 160, -1, 162, -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, 153, -1, -1, 156, -1, -1, 159, - -1, 161, 80, 81, 82, 83, 84, 85, 86, 87, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 154, -1, -1, 157, -1, -1, 160, + -1, 162, -1, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, - 98, 99, 100, 101, -1, -1, -1, -1, 17, 18, - 19, 20, 21, 22, 23, 24, 25, 26, -1, 28, - -1, 30, -1, -1, -1, -1, -1, -1, -1, 127, - -1, 129, 130, 131, 132, 133, -1, 135, 136, 137, + 98, 99, 100, 101, 102, -1, -1, -1, -1, -1, + -1, -1, 154, -1, -1, 157, -1, -1, 160, -1, + 162, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 128, -1, 130, 131, 132, 133, 134, -1, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, - 148, 149, 150, 62, -1, -1, -1, -1, 156, -1, - -1, 159, -1, 161, -1, -1, 164, -1, -1, -1, - -1, 80, 81, 82, 83, 84, 85, 86, 87, 88, + 148, 149, 150, 151, -1, -1, -1, -1, -1, 157, + -1, -1, 160, -1, 162, -1, -1, 165, 17, 18, + 19, 20, 21, 22, 23, 24, 25, 26, -1, 28, + -1, 30, -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, 63, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, - 99, 100, 101, -1, -1, -1, -1, 17, 18, -1, + 99, 100, 101, 102, -1, -1, -1, 17, 18, -1, -1, 21, 22, 23, 24, 25, 26, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 127, -1, - 129, 130, 131, 132, 133, -1, 135, 136, 137, 138, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 128, + -1, 130, 131, 132, 133, 134, -1, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, - 149, 150, 62, -1, -1, -1, -1, -1, -1, -1, - 159, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, + 149, 150, 151, 63, -1, -1, -1, -1, -1, -1, + -1, 160, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, - 100, 101, -1, -1, -1, -1, -1, -1, -1, -1, + 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 127, -1, 129, - 130, 131, 132, 133, -1, 135, 136, 137, 138, 139, + -1, -1, -1, -1, -1, -1, -1, -1, 128, -1, + 130, 131, 132, 133, 134, -1, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, - 150, 38, -1, -1, -1, -1, -1, -1, -1, 159, - -1, -1, 49, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 60, 61, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 76, - -1, -1, -1, 80, 81, 82, 83, 84, 85, 86, + 150, 151, 39, -1, -1, -1, -1, -1, -1, -1, + 160, -1, -1, 50, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 61, 62, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 77, -1, -1, -1, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, - 97, 98, 99, 100, 101, -1, -1, -1, -1, -1, + 97, 98, 99, 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 122, 123, 124, -1, -1, - 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, + -1, -1, -1, -1, -1, -1, 123, 124, 125, -1, + -1, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, - 147, 148, 149, 150 + 147, 148, 149, 150, 151 }; /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing symbol of state STATE-NUM. */ static const unsigned char yystos[] = { - 0, 199, 200, 202, 0, 31, 34, 42, 43, 44, - 45, 46, 47, 48, 63, 180, 215, 217, 219, 28, - 30, 51, 59, 63, 179, 208, 219, 45, 47, 218, - 62, 65, 66, 67, 68, 69, 70, 71, 181, 213, - 29, 225, 226, 227, 52, 53, 54, 72, 205, 151, - 62, 27, 45, 47, 50, 58, 180, 201, 151, 213, - 30, 203, 18, 3, 4, 5, 6, 7, 8, 9, - 10, 11, 12, 13, 14, 15, 16, 19, 20, 153, - 156, 159, 161, 166, 188, 189, 190, 191, 192, 208, - 222, 32, 161, 214, 33, 162, 216, 226, 73, 74, - 75, 77, 78, 79, 179, 228, 229, 231, 151, 151, - 151, 151, 156, 206, 203, 188, 35, 36, 198, 198, - 198, 198, 18, 18, 18, 3, 162, 192, 193, 208, - 154, 163, 3, 190, 224, 4, 15, 5, 6, 7, - 8, 9, 10, 11, 12, 175, 176, 177, 38, 49, - 60, 61, 76, 80, 81, 82, 83, 84, 85, 86, - 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, - 97, 98, 99, 100, 101, 122, 123, 124, 127, 128, - 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, - 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, - 149, 150, 168, 169, 170, 173, 174, 235, 236, 238, - 239, 30, 55, 56, 204, 18, 30, 30, 207, 190, - 190, 4, 5, 6, 7, 8, 9, 10, 11, 12, - 13, 14, 175, 176, 178, 190, 195, 190, 157, 157, - 152, 162, 154, 40, 193, 194, 17, 18, 21, 22, - 23, 24, 25, 26, 62, 100, 101, 127, 129, 135, - 136, 137, 159, 168, 169, 170, 173, 174, 196, 221, - 222, 223, 223, 223, 223, 224, 60, 181, 102, 103, - 104, 105, 106, 107, 118, 119, 120, 121, 171, 25, - 26, 108, 109, 110, 111, 112, 113, 114, 115, 116, - 117, 118, 119, 120, 121, 172, 190, 190, 224, 190, - 190, 232, 224, 224, 224, 224, 224, 190, 190, 190, - 224, 224, 181, 125, 126, 152, 158, 152, 186, 186, - 25, 26, 17, 18, 167, 18, 21, 22, 23, 24, - 156, 159, 161, 164, 196, 222, 186, 186, 192, 192, - 192, 40, 190, 210, 211, 212, 152, 155, 64, 220, - 171, 172, 154, 154, 154, 154, 154, 195, 197, 154, - 154, 154, 154, 154, 152, 152, 188, 190, 190, 152, - 183, 152, 183, 223, 156, 152, 152, 152, 152, 152, - 152, 223, 223, 223, 152, 39, 188, 190, 224, 30, - 37, 57, 184, 187, 158, 197, 197, 162, 197, 30, - 158, 160, 208, 209, 152, 155, 40, 30, 154, 154, - 195, 195, 195, 195, 195, 152, 160, 195, 195, 195, - 195, 195, 15, 15, 223, 223, 223, 10, 57, 10, - 152, 237, 223, 156, 224, 190, 224, 224, 224, 152, - 152, 152, 224, 190, 223, 223, 152, 30, 18, 186, - 158, 160, 162, 40, 210, 184, 185, 152, 195, 195, - 237, 152, 152, 152, 152, 195, 152, 152, 152, 152, - 39, 223, 223, 154, 152, 152, 223, 18, 223, 224, - 233, 152, 223, 152, 152, 152, 223, 223, 223, 154, - 190, 57, 182, 30, 152, 152, 155, 195, 195, 195, - 195, 195, 195, 195, 195, 190, 152, 156, 233, 234, - 223, 223, 152, 183, 183, 152, 223, 152, 224, 224, - 224, 234, 223, 18, 195, 195, 152, 155, 152, 152, - 155, 155, 155, 155, 155, 15, 158, 177, 230, 155, - 155, 155, 224, 158, 223, 155, 155, 155, 195, 195, - 195, 223, 221, 158, 177, 39, 158, 155, 155, 155, - 152, 221, 15, 15, 152, 223, 223, 15, 228, 223, - 15, 223 + 0, 200, 201, 203, 0, 31, 34, 35, 43, 44, + 45, 46, 47, 48, 49, 64, 181, 216, 218, 220, + 28, 30, 52, 60, 64, 180, 209, 220, 46, 48, + 219, 181, 63, 66, 67, 68, 69, 70, 71, 72, + 182, 214, 29, 226, 227, 228, 53, 54, 55, 73, + 206, 152, 63, 27, 46, 48, 51, 59, 181, 202, + 152, 214, 214, 30, 204, 18, 3, 4, 5, 6, + 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, + 19, 20, 154, 157, 160, 162, 167, 189, 190, 191, + 192, 193, 209, 223, 32, 162, 215, 33, 163, 217, + 227, 74, 75, 76, 78, 79, 80, 180, 229, 230, + 232, 152, 152, 152, 152, 157, 207, 204, 189, 36, + 37, 199, 199, 199, 199, 215, 18, 18, 18, 162, + 3, 163, 193, 194, 209, 155, 164, 3, 191, 225, + 4, 15, 5, 6, 7, 8, 9, 10, 11, 12, + 176, 177, 178, 39, 50, 61, 62, 77, 81, 82, + 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, + 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, + 123, 124, 125, 128, 129, 130, 131, 132, 133, 134, + 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, + 145, 146, 147, 148, 149, 150, 151, 169, 170, 171, + 174, 175, 236, 237, 239, 240, 30, 56, 57, 205, + 18, 30, 30, 208, 191, 191, 4, 5, 6, 7, + 8, 9, 10, 11, 12, 13, 14, 176, 177, 179, + 191, 196, 191, 158, 158, 163, 194, 153, 163, 155, + 41, 194, 195, 17, 18, 21, 22, 23, 24, 25, + 26, 63, 101, 102, 128, 130, 136, 137, 138, 160, + 169, 170, 171, 174, 175, 197, 222, 223, 224, 224, + 224, 224, 225, 61, 182, 103, 104, 105, 106, 107, + 108, 119, 120, 121, 122, 172, 25, 26, 109, 110, + 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, + 121, 122, 173, 191, 191, 225, 191, 191, 233, 225, + 225, 225, 225, 225, 191, 191, 191, 225, 225, 182, + 126, 127, 153, 159, 153, 187, 187, 25, 26, 17, + 18, 168, 18, 21, 22, 23, 24, 157, 160, 162, + 165, 197, 223, 187, 187, 193, 193, 161, 163, 193, + 41, 191, 211, 212, 213, 153, 156, 65, 221, 172, + 173, 155, 155, 155, 155, 155, 196, 198, 155, 155, + 155, 155, 155, 153, 153, 189, 191, 191, 153, 184, + 153, 184, 224, 157, 153, 153, 153, 153, 153, 153, + 224, 224, 224, 153, 40, 189, 191, 225, 30, 38, + 58, 185, 188, 159, 198, 198, 163, 198, 30, 159, + 161, 161, 209, 210, 153, 156, 41, 30, 155, 155, + 196, 196, 196, 196, 196, 153, 161, 196, 196, 196, + 196, 196, 15, 15, 224, 224, 224, 10, 58, 10, + 153, 238, 224, 157, 225, 191, 225, 225, 225, 153, + 153, 153, 225, 191, 224, 224, 153, 30, 18, 187, + 159, 161, 163, 41, 211, 185, 186, 153, 196, 196, + 238, 153, 153, 153, 153, 196, 153, 153, 153, 153, + 40, 224, 224, 155, 153, 153, 224, 18, 224, 225, + 234, 153, 224, 153, 153, 153, 224, 224, 224, 155, + 191, 58, 183, 30, 153, 153, 156, 196, 196, 196, + 196, 196, 196, 196, 196, 191, 153, 157, 234, 235, + 224, 224, 153, 184, 184, 153, 224, 153, 225, 225, + 225, 235, 224, 18, 196, 196, 153, 156, 153, 153, + 156, 156, 156, 156, 156, 15, 159, 178, 231, 156, + 225, 159, 224, 156, 156, 156, 196, 196, 196, 224, + 222, 159, 178, 40, 159, 156, 156, 156, 153, 222, + 15, 15, 153, 224, 224, 15, 229, 224, 15, 224 }; #define yyerrok (yyerrstatus = 0) @@ -2398,26 +2419,26 @@ switch (yyn) { case 81: -#line 363 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" +#line 363 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { (yyval.String) = (yyvsp[-1].String); ;} break; case 82: -#line 366 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" +#line 366 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { (yyval.String) = new std::string(""); ;} break; case 90: -#line 373 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" +#line 373 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { (yyval.String) = new std::string(""); ;} break; case 97: -#line 378 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" +#line 378 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { *(yyvsp[-1].String) += *(yyvsp[0].String); delete (yyvsp[0].String); @@ -2426,27 +2447,27 @@ break; case 98: -#line 383 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" +#line 383 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { (yyval.String) = new std::string(""); ;} break; case 99: -#line 388 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" +#line 388 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { (yyval.String) = new std::string(); ;} break; case 100: -#line 389 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" +#line 389 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { *(yyvsp[-1].String) += " " + *(yyvsp[0].String); delete (yyvsp[0].String); (yyval.String) = (yyvsp[-1].String); ;} break; case 101: -#line 392 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" +#line 392 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { (yyval.String) = new std::string(); ;} break; case 102: -#line 393 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" +#line 393 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { (yyvsp[-1].String)->insert(0, ", "); *(yyvsp[-1].String) += " " + *(yyvsp[0].String); @@ -2456,7 +2477,7 @@ break; case 103: -#line 401 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" +#line 401 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { *(yyvsp[-1].String) += " " + *(yyvsp[0].String); delete (yyvsp[0].String); @@ -2465,17 +2486,17 @@ break; case 104: -#line 407 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" +#line 407 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { (yyval.String) = new std::string(); ;} break; case 106: -#line 411 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" +#line 411 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { (yyval.String) = new std::string(); ;} break; case 107: -#line 412 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" +#line 412 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { (yyvsp[-1].String)->insert(0, ", "); if (!(yyvsp[0].String)->empty()) @@ -2486,7 +2507,7 @@ break; case 109: -#line 422 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" +#line 422 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { *(yyvsp[-1].String) += " " + *(yyvsp[0].String); delete (yyvsp[0].String); @@ -2495,7 +2516,7 @@ break; case 127: -#line 444 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" +#line 444 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { (yyval.Type).newTy = (yyvsp[0].String); (yyval.Type).oldTy = OpaqueTy; @@ -2503,7 +2524,7 @@ break; case 128: -#line 448 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" +#line 448 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { (yyval.Type).newTy = (yyvsp[0].String); (yyval.Type).oldTy = UnresolvedTy; @@ -2511,14 +2532,14 @@ break; case 129: -#line 452 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" +#line 452 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { (yyval.Type) = (yyvsp[0].Type); ;} break; case 130: -#line 455 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" +#line 455 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { // Type UpReference (yyvsp[0].String)->insert(0, "\\"); (yyval.Type).newTy = (yyvsp[0].String); @@ -2527,7 +2548,7 @@ break; case 131: -#line 460 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" +#line 460 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { // Function derived type? *(yyvsp[-3].Type).newTy += "( " + *(yyvsp[-1].String) + " )"; delete (yyvsp[-1].String); @@ -2537,7 +2558,7 @@ break; case 132: -#line 466 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" +#line 466 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { // Sized array type? (yyvsp[-3].String)->insert(0,"[ "); *(yyvsp[-3].String) += " x " + *(yyvsp[-1].Type).newTy + " ]"; @@ -2549,7 +2570,7 @@ break; case 133: -#line 474 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" +#line 474 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { // Packed array type? (yyvsp[-3].String)->insert(0,"< "); *(yyvsp[-3].String) += " x " + *(yyvsp[-1].Type).newTy + " >"; @@ -2561,7 +2582,7 @@ break; case 134: -#line 482 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" +#line 482 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { // Structure type? (yyvsp[-1].String)->insert(0, "{ "); *(yyvsp[-1].String) += " }"; @@ -2571,7 +2592,7 @@ break; case 135: -#line 488 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" +#line 488 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { // Empty structure type? (yyval.Type).newTy = new std::string("{}"); (yyval.Type).oldTy = StructTy; @@ -2579,7 +2600,25 @@ break; case 136: -#line 492 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" +#line 492 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" + { // Packed Structure type? + (yyvsp[-2].String)->insert(0, "<{ "); + *(yyvsp[-2].String) += " }>"; + (yyval.Type).newTy = (yyvsp[-2].String); + (yyval.Type).oldTy = StructTy; + ;} + break; + + case 137: +#line 498 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" + { // Empty packed structure type? + (yyval.Type).newTy = new std::string("<{}>"); + (yyval.Type).oldTy = StructTy; + ;} + break; + + case 138: +#line 502 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { // Pointer type? *(yyvsp[-1].Type).newTy += '*'; (yyval.Type).elemTy = (yyvsp[-1].Type).oldTy; @@ -2588,15 +2627,15 @@ ;} break; - case 137: -#line 503 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 139: +#line 513 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { (yyval.String) = (yyvsp[0].Type).newTy; ;} break; - case 138: -#line 506 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 140: +#line 516 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { *(yyvsp[-2].String) += ", " + *(yyvsp[0].Type).newTy; delete (yyvsp[0].Type).newTy; @@ -2604,8 +2643,8 @@ ;} break; - case 140: -#line 515 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 142: +#line 525 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { *(yyvsp[-2].String) += ", ..."; delete (yyvsp[0].String); @@ -2613,22 +2652,22 @@ ;} break; - case 141: -#line 520 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 143: +#line 530 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { (yyval.String) = (yyvsp[0].String); ;} break; - case 142: -#line 523 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 144: +#line 533 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { (yyval.String) = new std::string(); ;} break; - case 143: -#line 533 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 145: +#line 543 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { // Nonempty unsized arr (yyval.Const).type = (yyvsp[-3].Type); (yyval.Const).cnst = new std::string(*(yyvsp[-3].Type).newTy); @@ -2637,8 +2676,8 @@ ;} break; - case 144: -#line 539 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 146: +#line 549 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { (yyval.Const).type = (yyvsp[-2].Type); (yyval.Const).cnst = new std::string(*(yyvsp[-2].Type).newTy); @@ -2646,8 +2685,8 @@ ;} break; - case 145: -#line 544 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 147: +#line 554 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { (yyval.Const).type = (yyvsp[-2].Type); (yyval.Const).cnst = new std::string(*(yyvsp[-2].Type).newTy); @@ -2656,8 +2695,8 @@ ;} break; - case 146: -#line 550 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 148: +#line 560 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { // Nonempty unsized arr (yyval.Const).type = (yyvsp[-3].Type); (yyval.Const).cnst = new std::string(*(yyvsp[-3].Type).newTy); @@ -2666,8 +2705,8 @@ ;} break; - case 147: -#line 556 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 149: +#line 566 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { (yyval.Const).type = (yyvsp[-3].Type); (yyval.Const).cnst = new std::string(*(yyvsp[-3].Type).newTy); @@ -2676,8 +2715,8 @@ ;} break; - case 148: -#line 562 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 150: +#line 572 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { (yyval.Const).type = (yyvsp[-2].Type); (yyval.Const).cnst = new std::string(*(yyvsp[-2].Type).newTy); @@ -2685,8 +2724,8 @@ ;} break; - case 149: -#line 567 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 151: +#line 577 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { (yyval.Const).type = (yyvsp[-1].Type); (yyval.Const).cnst = new std::string(*(yyvsp[-1].Type).newTy); @@ -2695,8 +2734,8 @@ ;} break; - case 150: -#line 573 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 152: +#line 583 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { (yyval.Const).type = (yyvsp[-1].Type); (yyval.Const).cnst = new std::string(*(yyvsp[-1].Type).newTy); @@ -2705,8 +2744,8 @@ ;} break; - case 151: -#line 579 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 153: +#line 589 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { (yyval.Const).type = (yyvsp[-1].Type); (yyval.Const).cnst = new std::string(*(yyvsp[-1].Type).newTy); @@ -2715,8 +2754,8 @@ ;} break; - case 152: -#line 585 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 154: +#line 595 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { (yyval.Const).type = (yyvsp[-1].Type); (yyval.Const).cnst = new std::string(*(yyvsp[-1].Type).newTy); @@ -2725,8 +2764,8 @@ ;} break; - case 153: -#line 591 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 155: +#line 601 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { (yyval.Const).type = (yyvsp[-1].Type); (yyval.Const).cnst = new std::string(*(yyvsp[-1].Type).newTy); @@ -2735,8 +2774,8 @@ ;} break; - case 154: -#line 597 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 156: +#line 607 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { // integral constants (yyval.Const).type = (yyvsp[-1].Type); (yyval.Const).cnst = new std::string(*(yyvsp[-1].Type).newTy); @@ -2745,8 +2784,8 @@ ;} break; - case 155: -#line 603 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 157: +#line 613 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { // integral constants (yyval.Const).type = (yyvsp[-1].Type); (yyval.Const).cnst = new std::string(*(yyvsp[-1].Type).newTy); @@ -2755,8 +2794,8 @@ ;} break; - case 156: -#line 609 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 158: +#line 619 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { // Boolean constants (yyval.Const).type = (yyvsp[-1].Type); (yyval.Const).cnst = new std::string(*(yyvsp[-1].Type).newTy); @@ -2765,8 +2804,8 @@ ;} break; - case 157: -#line 615 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 159: +#line 625 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { // Boolean constants (yyval.Const).type = (yyvsp[-1].Type); (yyval.Const).cnst = new std::string(*(yyvsp[-1].Type).newTy); @@ -2775,8 +2814,8 @@ ;} break; - case 158: -#line 621 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 160: +#line 631 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { // Float & Double constants (yyval.Const).type = (yyvsp[-1].Type); (yyval.Const).cnst = new std::string(*(yyvsp[-1].Type).newTy); @@ -2785,8 +2824,8 @@ ;} break; - case 159: -#line 629 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 161: +#line 639 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { std::string source = *(yyvsp[-3].Const).cnst; TypeInfo DstTy = (yyvsp[-1].Type); @@ -2803,8 +2842,8 @@ ;} break; - case 160: -#line 643 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 162: +#line 653 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { *(yyvsp[-4].String) += "(" + *(yyvsp[-2].Const).cnst; for (unsigned i = 0; i < (yyvsp[-1].ValList)->size(); ++i) { @@ -2819,8 +2858,8 @@ ;} break; - case 161: -#line 655 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 163: +#line 665 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { *(yyvsp[-7].String) += "(" + *(yyvsp[-5].Const).cnst + "," + *(yyvsp[-3].Const).cnst + "," + *(yyvsp[-1].Const).cnst + ")"; (yyvsp[-5].Const).destroy(); (yyvsp[-3].Const).destroy(); (yyvsp[-1].Const).destroy(); @@ -2828,8 +2867,8 @@ ;} break; - case 162: -#line 660 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 164: +#line 670 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { const char* op = getDivRemOpcode(*(yyvsp[-5].String), (yyvsp[-3].Const).type); (yyval.String) = new std::string(op); @@ -2838,8 +2877,8 @@ ;} break; - case 163: -#line 666 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 165: +#line 676 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { *(yyvsp[-5].String) += "(" + *(yyvsp[-3].Const).cnst + "," + *(yyvsp[-1].Const).cnst + ")"; (yyvsp[-3].Const).destroy(); (yyvsp[-1].Const).destroy(); @@ -2847,8 +2886,8 @@ ;} break; - case 164: -#line 671 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 166: +#line 681 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { *(yyvsp[-5].String) = getCompareOp(*(yyvsp[-5].String), (yyvsp[-3].Const).type); *(yyvsp[-5].String) += "(" + *(yyvsp[-3].Const).cnst + "," + *(yyvsp[-1].Const).cnst + ")"; @@ -2857,8 +2896,8 @@ ;} break; - case 165: -#line 677 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 167: +#line 687 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { *(yyvsp[-6].String) += "(" + *(yyvsp[-5].String) + "," + *(yyvsp[-3].Const).cnst + "," + *(yyvsp[-1].Const).cnst + ")"; delete (yyvsp[-5].String); (yyvsp[-3].Const).destroy(); (yyvsp[-1].Const).destroy(); @@ -2866,8 +2905,8 @@ ;} break; - case 166: -#line 682 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 168: +#line 692 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { *(yyvsp[-6].String) += "(" + *(yyvsp[-5].String) + "," + *(yyvsp[-3].Const).cnst + "," + *(yyvsp[-1].Const).cnst + ")"; delete (yyvsp[-5].String); (yyvsp[-3].Const).destroy(); (yyvsp[-1].Const).destroy(); @@ -2875,8 +2914,8 @@ ;} break; - case 167: -#line 687 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 169: +#line 697 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { const char* shiftop = (yyvsp[-5].String)->c_str(); if (*(yyvsp[-5].String) == "shr") @@ -2887,8 +2926,8 @@ ;} break; - case 168: -#line 695 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 170: +#line 705 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { *(yyvsp[-5].String) += "(" + *(yyvsp[-3].Const).cnst + "," + *(yyvsp[-1].Const).cnst + ")"; (yyvsp[-3].Const).destroy(); (yyvsp[-1].Const).destroy(); @@ -2896,8 +2935,8 @@ ;} break; - case 169: -#line 700 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 171: +#line 710 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { *(yyvsp[-7].String) += "(" + *(yyvsp[-5].Const).cnst + "," + *(yyvsp[-3].Const).cnst + "," + *(yyvsp[-1].Const).cnst + ")"; (yyvsp[-5].Const).destroy(); (yyvsp[-3].Const).destroy(); (yyvsp[-1].Const).destroy(); @@ -2905,8 +2944,8 @@ ;} break; - case 170: -#line 705 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 172: +#line 715 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { *(yyvsp[-7].String) += "(" + *(yyvsp[-5].Const).cnst + "," + *(yyvsp[-3].Const).cnst + "," + *(yyvsp[-1].Const).cnst + ")"; (yyvsp[-5].Const).destroy(); (yyvsp[-3].Const).destroy(); (yyvsp[-1].Const).destroy(); @@ -2914,8 +2953,8 @@ ;} break; - case 171: -#line 715 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 173: +#line 725 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { *(yyvsp[-2].String) += ", " + *(yyvsp[0].Const).cnst; (yyvsp[0].Const).destroy(); @@ -2923,61 +2962,61 @@ ;} break; - case 172: -#line 720 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 174: +#line 730 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { (yyval.String) = new std::string(*(yyvsp[0].Const).cnst); (yyvsp[0].Const).destroy(); ;} break; - case 175: -#line 735 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 177: +#line 745 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { ;} break; - case 176: -#line 740 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 178: +#line 750 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { (yyval.String) = 0; ;} break; - case 177: -#line 743 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 179: +#line 753 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { - *O << *(yyvsp[0].String) << "\n"; + *O << *(yyvsp[0].String) << '\n'; delete (yyvsp[0].String); (yyval.String) = 0; ;} break; - case 178: -#line 748 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 180: +#line 758 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { - *O << "module asm " << " " << *(yyvsp[0].String) << "\n"; + *O << "module asm " << ' ' << *(yyvsp[0].String) << '\n'; (yyval.String) = 0; ;} break; - case 179: -#line 752 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 181: +#line 762 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { *O << "implementation\n"; (yyval.String) = 0; ;} break; - case 180: -#line 756 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 182: +#line 766 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { (yyval.String) = 0; ;} break; - case 182: -#line 758 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 184: +#line 768 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { (yyval.String) = (yyvsp[0].String); *(yyval.String) = "external"; ;} break; - case 183: -#line 761 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 185: +#line 771 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { EnumeratedTypes.push_back((yyvsp[0].Type)); if (!(yyvsp[-2].String)->empty()) { @@ -2986,109 +3025,109 @@ NamedTypes[*(yyvsp[-2].String)].elemTy = (yyvsp[0].Type).elemTy; *O << *(yyvsp[-2].String) << " = "; } - *O << "type " << *(yyvsp[0].Type).newTy << "\n"; + *O << "type " << *(yyvsp[0].Type).newTy << '\n'; delete (yyvsp[-2].String); delete (yyvsp[-1].String); (yyvsp[0].Type).destroy(); (yyval.String) = 0; ;} break; - case 184: -#line 773 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 186: +#line 783 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { // Function prototypes can be in const pool - *O << *(yyvsp[0].String) << "\n"; + *O << *(yyvsp[0].String) << '\n'; delete (yyvsp[0].String); (yyval.String) = 0; ;} break; - case 185: -#line 778 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 187: +#line 788 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { // Asm blocks can be in the const pool - *O << *(yyvsp[-2].String) << " " << *(yyvsp[-1].String) << " " << *(yyvsp[0].String) << "\n"; + *O << *(yyvsp[-2].String) << ' ' << *(yyvsp[-1].String) << ' ' << *(yyvsp[0].String) << '\n'; delete (yyvsp[-2].String); delete (yyvsp[-1].String); delete (yyvsp[0].String); (yyval.String) = 0; ;} break; - case 186: -#line 783 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 188: +#line 793 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { if (!(yyvsp[-4].String)->empty()) { *O << *(yyvsp[-4].String) << " = "; Globals[*(yyvsp[-4].String)] = (yyvsp[-1].Const).type.clone(); } - *O << *(yyvsp[-3].String) << " " << *(yyvsp[-2].String) << " " << *(yyvsp[-1].Const).cnst << " " << *(yyvsp[0].String) << "\n"; + *O << *(yyvsp[-3].String) << ' ' << *(yyvsp[-2].String) << ' ' << *(yyvsp[-1].Const).cnst << ' ' << *(yyvsp[0].String) << '\n'; delete (yyvsp[-4].String); delete (yyvsp[-3].String); delete (yyvsp[-2].String); (yyvsp[-1].Const).destroy(); delete (yyvsp[0].String); (yyval.String) = 0; ;} break; - case 187: -#line 792 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 189: +#line 802 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { if (!(yyvsp[-4].String)->empty()) { *O << *(yyvsp[-4].String) << " = "; Globals[*(yyvsp[-4].String)] = (yyvsp[-1].Type).clone(); } - *O << *(yyvsp[-3].String) << " " << *(yyvsp[-2].String) << " " << *(yyvsp[-1].Type).newTy << " " << *(yyvsp[0].String) << "\n"; + *O << *(yyvsp[-3].String) << ' ' << *(yyvsp[-2].String) << ' ' << *(yyvsp[-1].Type).newTy << ' ' << *(yyvsp[0].String) << '\n'; delete (yyvsp[-4].String); delete (yyvsp[-3].String); delete (yyvsp[-2].String); (yyvsp[-1].Type).destroy(); delete (yyvsp[0].String); (yyval.String) = 0; ;} break; - case 188: -#line 801 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 190: +#line 811 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { if (!(yyvsp[-4].String)->empty()) { *O << *(yyvsp[-4].String) << " = "; Globals[*(yyvsp[-4].String)] = (yyvsp[-1].Type).clone(); } - *O << *(yyvsp[-3].String) << " " << *(yyvsp[-2].String) << " " << *(yyvsp[-1].Type).newTy << " " << *(yyvsp[0].String) << "\n"; + *O << *(yyvsp[-3].String) << ' ' << *(yyvsp[-2].String) << ' ' << *(yyvsp[-1].Type).newTy << ' ' << *(yyvsp[0].String) << '\n'; delete (yyvsp[-4].String); delete (yyvsp[-3].String); delete (yyvsp[-2].String); (yyvsp[-1].Type).destroy(); delete (yyvsp[0].String); (yyval.String) = 0; ;} break; - case 189: -#line 810 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 191: +#line 820 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { if (!(yyvsp[-4].String)->empty()) { *O << *(yyvsp[-4].String) << " = "; Globals[*(yyvsp[-4].String)] = (yyvsp[-1].Type).clone(); } - *O << *(yyvsp[-3].String) << " " << *(yyvsp[-2].String) << " " << *(yyvsp[-1].Type).newTy << " " << *(yyvsp[0].String) << "\n"; + *O << *(yyvsp[-3].String) << ' ' << *(yyvsp[-2].String) << ' ' << *(yyvsp[-1].Type).newTy << ' ' << *(yyvsp[0].String) << '\n'; delete (yyvsp[-4].String); delete (yyvsp[-3].String); delete (yyvsp[-2].String); (yyvsp[-1].Type).destroy(); delete (yyvsp[0].String); (yyval.String) = 0; ;} break; - case 190: -#line 819 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 192: +#line 829 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { - *O << *(yyvsp[-1].String) << " " << *(yyvsp[0].String) << "\n"; + *O << *(yyvsp[-1].String) << ' ' << *(yyvsp[0].String) << '\n'; delete (yyvsp[-1].String); delete (yyvsp[0].String); (yyval.String) = 0; ;} break; - case 191: -#line 824 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 193: +#line 834 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { - *O << *(yyvsp[-2].String) << " = " << *(yyvsp[0].String) << "\n"; + *O << *(yyvsp[-2].String) << " = " << *(yyvsp[0].String) << '\n'; delete (yyvsp[-2].String); delete (yyvsp[0].String); (yyval.String) = 0; ;} break; - case 192: -#line 829 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 194: +#line 839 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { (yyval.String) = 0; ;} break; - case 196: -#line 839 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 198: +#line 849 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { *(yyvsp[-2].String) += " = " + *(yyvsp[0].String); delete (yyvsp[0].String); @@ -3096,8 +3135,8 @@ ;} break; - case 197: -#line 844 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 199: +#line 854 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { *(yyvsp[-2].String) += " = " + *(yyvsp[0].String); if (*(yyvsp[0].String) == "64") @@ -3107,8 +3146,8 @@ ;} break; - case 198: -#line 851 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 200: +#line 861 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { *(yyvsp[-2].String) += " = " + *(yyvsp[0].String); delete (yyvsp[0].String); @@ -3116,8 +3155,8 @@ ;} break; - case 199: -#line 856 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 201: +#line 866 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { *(yyvsp[-2].String) += " = " + *(yyvsp[0].String); delete (yyvsp[0].String); @@ -3125,8 +3164,8 @@ ;} break; - case 200: -#line 863 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 202: +#line 873 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { (yyvsp[-1].String)->insert(0, "[ "); *(yyvsp[-1].String) += " ]"; @@ -3134,8 +3173,8 @@ ;} break; - case 201: -#line 870 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 203: +#line 880 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { *(yyvsp[-2].String) += ", " + *(yyvsp[0].String); delete (yyvsp[0].String); @@ -3143,20 +3182,20 @@ ;} break; - case 203: -#line 876 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 205: +#line 886 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { (yyval.String) = new std::string(); ;} break; - case 207: -#line 885 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 209: +#line 895 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { (yyval.String) = new std::string(); ;} break; - case 208: -#line 887 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 210: +#line 897 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { (yyval.String) = (yyvsp[-1].Type).newTy; if (!(yyvsp[0].String)->empty()) @@ -3165,30 +3204,30 @@ ;} break; - case 209: -#line 894 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 211: +#line 904 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { *(yyvsp[-2].String) += ", " + *(yyvsp[0].String); delete (yyvsp[0].String); ;} break; - case 210: -#line 898 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 212: +#line 908 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { (yyval.String) = (yyvsp[0].String); ;} break; - case 211: -#line 902 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 213: +#line 912 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { (yyval.String) = (yyvsp[0].String); ;} break; - case 212: -#line 905 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 214: +#line 915 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { *(yyvsp[-2].String) += ", ..."; (yyval.String) = (yyvsp[-2].String); @@ -3196,20 +3235,20 @@ ;} break; - case 213: -#line 910 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 215: +#line 920 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { (yyval.String) = (yyvsp[0].String); ;} break; - case 214: -#line 913 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 216: +#line 923 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { (yyval.String) = new std::string(); ;} break; - case 215: -#line 916 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 217: +#line 926 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { if (!(yyvsp[-7].String)->empty()) { *(yyvsp[-7].String) += " "; @@ -3230,55 +3269,69 @@ ;} break; - case 216: -#line 935 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 218: +#line 945 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { (yyval.String) = new std::string("{"); delete (yyvsp[0].String); ;} break; - case 217: -#line 936 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 219: +#line 946 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { (yyval.String) = new std::string ("{"); ;} break; - case 218: -#line 938 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 220: +#line 949 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { - if (!(yyvsp[-2].String)->empty()) { - *O << *(yyvsp[-2].String) << " "; - } - *O << *(yyvsp[-1].String) << " " << *(yyvsp[0].String) << "\n"; - delete (yyvsp[-2].String); delete (yyvsp[-1].String); delete (yyvsp[0].String); - (yyval.String) = 0; -;} + *O << "define "; + if (!(yyvsp[-2].String)->empty()) { + *O << *(yyvsp[-2].String) << ' '; + } + *O << *(yyvsp[-1].String) << ' ' << *(yyvsp[0].String) << '\n'; + delete (yyvsp[-2].String); delete (yyvsp[-1].String); delete (yyvsp[0].String); + (yyval.String) = 0; + ;} break; - case 219: -#line 947 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 221: +#line 958 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" + { + *O << *(yyvsp[-3].String) << ' '; + if (!(yyvsp[-2].String)->empty()) { + *O << *(yyvsp[-2].String) << ' '; + } + *O << *(yyvsp[-1].String) << ' ' << *(yyvsp[0].String) << '\n'; + delete (yyvsp[-3].String); delete (yyvsp[-2].String); delete (yyvsp[-1].String); delete (yyvsp[0].String); + (yyval.String) = 0; + ;} + break; + + case 222: +#line 969 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { (yyval.String) = new std::string("}"); delete (yyvsp[0].String); ;} break; - case 220: -#line 948 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 223: +#line 970 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { (yyval.String) = new std::string("}"); ;} break; - case 221: -#line 950 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 224: +#line 972 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { if ((yyvsp[-1].String)) *O << *(yyvsp[-1].String); - *O << '\n' << *(yyvsp[0].String) << "\n"; + *O << '\n' << *(yyvsp[0].String) << '\n'; (yyval.String) = 0; ;} break; - case 222: -#line 958 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 225: +#line 980 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { (yyval.String) = new std::string(); ;} break; - case 225: -#line 964 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 228: +#line 986 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { if (!(yyvsp[-1].String)->empty()) *(yyvsp[-2].String) += " " + *(yyvsp[-1].String); @@ -3289,13 +3342,13 @@ ;} break; - case 226: -#line 977 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 229: +#line 999 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { (yyval.String) = new std::string(); ;} break; - case 236: -#line 983 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 239: +#line 1005 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { (yyvsp[-1].String)->insert(0, "<"); *(yyvsp[-1].String) += ">"; @@ -3303,8 +3356,8 @@ ;} break; - case 238: -#line 989 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 241: +#line 1011 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { if (!(yyvsp[-3].String)->empty()) { *(yyvsp[-4].String) += " " + *(yyvsp[-3].String); @@ -3315,8 +3368,8 @@ ;} break; - case 241: -#line 1002 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 244: +#line 1024 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { (yyval.Value).val = (yyvsp[0].String); (yyval.Value).constant = false; @@ -3325,8 +3378,8 @@ ;} break; - case 242: -#line 1008 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 245: +#line 1030 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { (yyval.Value).val = (yyvsp[0].String); (yyval.Value).constant = true; @@ -3335,8 +3388,8 @@ ;} break; - case 243: -#line 1019 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 246: +#line 1041 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { (yyval.Value) = (yyvsp[0].Value); (yyval.Value).type = (yyvsp[-1].Type); @@ -3344,124 +3397,124 @@ ;} break; - case 244: -#line 1025 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 247: +#line 1047 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { (yyval.String) = 0; ;} break; - case 245: -#line 1028 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 248: +#line 1050 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { // Do not allow functions with 0 basic blocks (yyval.String) = 0; ;} break; - case 246: -#line 1036 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 249: +#line 1058 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { (yyval.String) = 0; ;} break; - case 247: -#line 1040 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 250: +#line 1062 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { - *O << " " << *(yyvsp[0].String) << "\n"; + *O << " " << *(yyvsp[0].String) << '\n'; delete (yyvsp[0].String); (yyval.String) = 0; ;} break; - case 248: -#line 1045 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 251: +#line 1067 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { (yyval.String) = 0; ;} break; - case 249: -#line 1048 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 252: +#line 1070 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { - *O << *(yyvsp[0].String) << "\n"; + *O << *(yyvsp[0].String) << '\n'; delete (yyvsp[0].String); (yyval.String) = 0; ;} break; - case 251: -#line 1054 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 254: +#line 1076 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { (yyval.String) = (yyvsp[0].String); *(yyval.String) = "unwind"; ;} break; - case 252: -#line 1056 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 255: +#line 1078 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { // Return with a result... - *O << " " << *(yyvsp[-1].String) << " " << *(yyvsp[0].Value).val << "\n"; + *O << " " << *(yyvsp[-1].String) << ' ' << *(yyvsp[0].Value).val << '\n'; delete (yyvsp[-1].String); (yyvsp[0].Value).destroy(); (yyval.String) = 0; ;} break; - case 253: -#line 1061 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 256: +#line 1083 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { // Return with no result... - *O << " " << *(yyvsp[-1].String) << " " << *(yyvsp[0].Type).newTy << "\n"; + *O << " " << *(yyvsp[-1].String) << ' ' << *(yyvsp[0].Type).newTy << '\n'; delete (yyvsp[-1].String); (yyvsp[0].Type).destroy(); (yyval.String) = 0; ;} break; - case 254: -#line 1066 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 257: +#line 1088 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { // Unconditional Branch... - *O << " " << *(yyvsp[-2].String) << " " << *(yyvsp[-1].Type).newTy << " " << *(yyvsp[0].Value).val << "\n"; + *O << " " << *(yyvsp[-2].String) << ' ' << *(yyvsp[-1].Type).newTy << ' ' << *(yyvsp[0].Value).val << '\n'; delete (yyvsp[-2].String); (yyvsp[-1].Type).destroy(); (yyvsp[0].Value).destroy(); (yyval.String) = 0; ;} break; - case 255: -#line 1071 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 258: +#line 1093 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { - *O << " " << *(yyvsp[-8].String) << " " << *(yyvsp[-7].Type).newTy << " " << *(yyvsp[-6].Value).val << ", " - << *(yyvsp[-4].Type).newTy << " " << *(yyvsp[-3].Value).val << ", " << *(yyvsp[-1].Type).newTy << " " - << *(yyvsp[0].Value).val << "\n"; + *O << " " << *(yyvsp[-8].String) << ' ' << *(yyvsp[-7].Type).newTy << ' ' << *(yyvsp[-6].Value).val << ", " + << *(yyvsp[-4].Type).newTy << ' ' << *(yyvsp[-3].Value).val << ", " << *(yyvsp[-1].Type).newTy << ' ' + << *(yyvsp[0].Value).val << '\n'; delete (yyvsp[-8].String); (yyvsp[-7].Type).destroy(); (yyvsp[-6].Value).destroy(); (yyvsp[-4].Type).destroy(); (yyvsp[-3].Value).destroy(); (yyvsp[-1].Type).destroy(); (yyvsp[0].Value).destroy(); (yyval.String) = 0; ;} break; - case 256: -#line 1079 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 259: +#line 1101 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { - *O << " " << *(yyvsp[-8].String) << " " << *(yyvsp[-7].Type).newTy << " " << *(yyvsp[-6].Value).val << ", " - << *(yyvsp[-4].Type).newTy << " " << *(yyvsp[-3].Value).val << " [" << *(yyvsp[-1].String) << " ]\n"; + *O << " " << *(yyvsp[-8].String) << ' ' << *(yyvsp[-7].Type).newTy << ' ' << *(yyvsp[-6].Value).val << ", " + << *(yyvsp[-4].Type).newTy << ' ' << *(yyvsp[-3].Value).val << " [" << *(yyvsp[-1].String) << " ]\n"; delete (yyvsp[-8].String); (yyvsp[-7].Type).destroy(); (yyvsp[-6].Value).destroy(); (yyvsp[-4].Type).destroy(); (yyvsp[-3].Value).destroy(); delete (yyvsp[-1].String); (yyval.String) = 0; ;} break; - case 257: -#line 1086 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 260: +#line 1108 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { - *O << " " << *(yyvsp[-7].String) << " " << *(yyvsp[-6].Type).newTy << " " << *(yyvsp[-5].Value).val << ", " - << *(yyvsp[-3].Type).newTy << " " << *(yyvsp[-2].Value).val << "[]\n"; + *O << " " << *(yyvsp[-7].String) << ' ' << *(yyvsp[-6].Type).newTy << ' ' << *(yyvsp[-5].Value).val << ", " + << *(yyvsp[-3].Type).newTy << ' ' << *(yyvsp[-2].Value).val << "[]\n"; delete (yyvsp[-7].String); (yyvsp[-6].Type).destroy(); (yyvsp[-5].Value).destroy(); (yyvsp[-3].Type).destroy(); (yyvsp[-2].Value).destroy(); (yyval.String) = 0; ;} break; - case 258: -#line 1093 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 261: +#line 1115 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { *O << " "; if (!(yyvsp[-13].String)->empty()) *O << *(yyvsp[-13].String) << " = "; - *O << *(yyvsp[-12].String) << " " << *(yyvsp[-11].String) << " " << *(yyvsp[-10].Type).newTy << " " << *(yyvsp[-9].Value).val << " ("; + *O << *(yyvsp[-12].String) << ' ' << *(yyvsp[-11].String) << ' ' << *(yyvsp[-10].Type).newTy << ' ' << *(yyvsp[-9].Value).val << " ("; for (unsigned i = 0; i < (yyvsp[-7].ValList)->size(); ++i) { ValueInfo& VI = (*(yyvsp[-7].ValList))[i]; *O << *VI.val; @@ -3469,8 +3522,8 @@ *O << ", "; VI.destroy(); } - *O << ") " << *(yyvsp[-5].String) << " " << *(yyvsp[-4].Type).newTy << " " << *(yyvsp[-3].Value).val << " " - << *(yyvsp[-2].String) << " " << *(yyvsp[-1].Type).newTy << " " << *(yyvsp[0].Value).val << "\n"; + *O << ") " << *(yyvsp[-5].String) << ' ' << *(yyvsp[-4].Type).newTy << ' ' << *(yyvsp[-3].Value).val << ' ' + << *(yyvsp[-2].String) << ' ' << *(yyvsp[-1].Type).newTy << ' ' << *(yyvsp[0].Value).val << '\n'; delete (yyvsp[-13].String); delete (yyvsp[-12].String); delete (yyvsp[-11].String); (yyvsp[-10].Type).destroy(); (yyvsp[-9].Value).destroy(); delete (yyvsp[-7].ValList); delete (yyvsp[-5].String); (yyvsp[-4].Type).destroy(); (yyvsp[-3].Value).destroy(); delete (yyvsp[-2].String); (yyvsp[-1].Type).destroy(); (yyvsp[0].Value).destroy(); @@ -3478,26 +3531,26 @@ ;} break; - case 259: -#line 1112 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 262: +#line 1134 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { - *O << " " << *(yyvsp[0].String) << "\n"; + *O << " " << *(yyvsp[0].String) << '\n'; delete (yyvsp[0].String); (yyval.String) = 0; ;} break; - case 260: -#line 1117 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 263: +#line 1139 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { - *O << " " << *(yyvsp[0].String) << "\n"; + *O << " " << *(yyvsp[0].String) << '\n'; delete (yyvsp[0].String); (yyval.String) = 0; ;} break; - case 261: -#line 1123 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 264: +#line 1145 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { *(yyvsp[-5].String) += " " + *(yyvsp[-4].Type).newTy + " " + *(yyvsp[-3].String) + ", " + *(yyvsp[-1].Type).newTy + " " + *(yyvsp[0].Value).val; (yyvsp[-4].Type).destroy(); delete (yyvsp[-3].String); (yyvsp[-1].Type).destroy(); (yyvsp[0].Value).destroy(); @@ -3505,8 +3558,8 @@ ;} break; - case 262: -#line 1128 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 265: +#line 1150 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { (yyvsp[-3].String)->insert(0, *(yyvsp[-4].Type).newTy + " " ); *(yyvsp[-3].String) += ", " + *(yyvsp[-1].Type).newTy + " " + *(yyvsp[0].Value).val; @@ -3515,8 +3568,8 @@ ;} break; - case 263: -#line 1136 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 266: +#line 1158 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { if (!(yyvsp[-1].String)->empty()) *(yyvsp[-1].String) += " = "; @@ -3526,8 +3579,8 @@ ;} break; - case 264: -#line 1145 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 267: +#line 1167 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { // Used for PHI nodes (yyvsp[-3].Value).val->insert(0, *(yyvsp[-5].Type).newTy + "["); *(yyvsp[-3].Value).val += "," + *(yyvsp[-1].Value).val + "]"; @@ -3537,8 +3590,8 @@ ;} break; - case 265: -#line 1152 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 268: +#line 1174 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { *(yyvsp[-6].String) += ", [" + *(yyvsp[-3].Value).val + "," + *(yyvsp[-1].Value).val + "]"; (yyvsp[-3].Value).destroy(); (yyvsp[-1].Value).destroy(); @@ -3546,34 +3599,34 @@ ;} break; - case 266: -#line 1160 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 269: +#line 1182 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { (yyval.ValList) = new ValueList(); (yyval.ValList)->push_back((yyvsp[0].Value)); ;} break; - case 267: -#line 1164 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 270: +#line 1186 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { (yyvsp[-2].ValList)->push_back((yyvsp[0].Value)); (yyval.ValList) = (yyvsp[-2].ValList); ;} break; - case 268: -#line 1171 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 271: +#line 1193 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { (yyval.ValList) = (yyvsp[0].ValList); ;} break; - case 269: -#line 1172 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 272: +#line 1194 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { (yyval.ValList) = new ValueList(); ;} break; - case 270: -#line 1176 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 273: +#line 1198 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { *(yyvsp[-1].String) += " " + *(yyvsp[0].String); delete (yyvsp[0].String); @@ -3581,8 +3634,8 @@ ;} break; - case 272: -#line 1184 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 275: +#line 1206 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { const char* op = getDivRemOpcode(*(yyvsp[-4].String), (yyvsp[-3].Type)); (yyval.String) = new std::string(op); @@ -3591,8 +3644,8 @@ ;} break; - case 273: -#line 1190 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 276: +#line 1212 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { *(yyvsp[-4].String) += " " + *(yyvsp[-3].Type).newTy + " " + *(yyvsp[-2].Value).val + ", " + *(yyvsp[0].Value).val; (yyvsp[-3].Type).destroy(); (yyvsp[-2].Value).destroy(); (yyvsp[0].Value).destroy(); @@ -3600,8 +3653,8 @@ ;} break; - case 274: -#line 1195 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 277: +#line 1217 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { *(yyvsp[-4].String) = getCompareOp(*(yyvsp[-4].String), (yyvsp[-3].Type)); *(yyvsp[-4].String) += " " + *(yyvsp[-3].Type).newTy + " " + *(yyvsp[-2].Value).val + ", " + *(yyvsp[0].Value).val; @@ -3610,26 +3663,26 @@ ;} break; - case 275: -#line 1201 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 278: +#line 1223 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { - *(yyvsp[-6].String) += " " + *(yyvsp[-5].String) + " " + *(yyvsp[-3].Value).val + "," + *(yyvsp[-1].Value).val + ")"; - delete (yyvsp[-5].String); (yyvsp[-3].Value).destroy(); (yyvsp[-1].Value).destroy(); - (yyval.String) = (yyvsp[-6].String); + *(yyvsp[-5].String) += " " + *(yyvsp[-4].String) + " " + *(yyvsp[-3].Type).newTy + " " + *(yyvsp[-2].Value).val + "," + *(yyvsp[0].Value).val; + delete (yyvsp[-4].String); (yyvsp[-2].Value).destroy(); (yyvsp[0].Value).destroy(); + (yyval.String) = (yyvsp[-5].String); ;} break; - case 276: -#line 1206 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 279: +#line 1228 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { - *(yyvsp[-6].String) += " " + *(yyvsp[-5].String) + " " + *(yyvsp[-3].Value).val + "," + *(yyvsp[-1].Value).val + ")"; - delete (yyvsp[-5].String); (yyvsp[-3].Value).destroy(); (yyvsp[-1].Value).destroy(); - (yyval.String) = (yyvsp[-6].String); + *(yyvsp[-5].String) += " " + *(yyvsp[-4].String) + " " + *(yyvsp[-3].Type).newTy + " " + *(yyvsp[-2].Value).val + "," + *(yyvsp[0].Value).val; + delete (yyvsp[-4].String); (yyvsp[-2].Value).destroy(); (yyvsp[0].Value).destroy(); + (yyval.String) = (yyvsp[-5].String); ;} break; - case 277: -#line 1211 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 280: +#line 1233 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { *(yyvsp[-1].String) += " " + *(yyvsp[0].Value).val; (yyvsp[0].Value).destroy(); @@ -3637,8 +3690,8 @@ ;} break; - case 278: -#line 1216 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 281: +#line 1238 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { const char* shiftop = (yyvsp[-3].String)->c_str(); if (*(yyvsp[-3].String) == "shr") @@ -3649,8 +3702,8 @@ ;} break; - case 279: -#line 1224 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 282: +#line 1246 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { std::string source = *(yyvsp[-2].Value).val; TypeInfo SrcTy = (yyvsp[-2].Value).type; @@ -3667,8 +3720,8 @@ ;} break; - case 280: -#line 1238 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 283: +#line 1260 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { *(yyvsp[-5].String) += " " + *(yyvsp[-4].Value).val + ", " + *(yyvsp[-2].Value).val + ", " + *(yyvsp[0].Value).val; (yyvsp[-4].Value).destroy(); (yyvsp[-2].Value).destroy(); (yyvsp[0].Value).destroy(); @@ -3676,8 +3729,8 @@ ;} break; - case 281: -#line 1243 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 284: +#line 1265 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { *(yyvsp[-3].String) += " " + *(yyvsp[-2].Value).val + ", " + *(yyvsp[0].Type).newTy; (yyvsp[-2].Value).destroy(); (yyvsp[0].Type).destroy(); @@ -3685,8 +3738,8 @@ ;} break; - case 282: -#line 1248 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 285: +#line 1270 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { *(yyvsp[-3].String) += " " + *(yyvsp[-2].Value).val + ", " + *(yyvsp[0].Value).val; (yyvsp[-2].Value).destroy(); (yyvsp[0].Value).destroy(); @@ -3694,8 +3747,8 @@ ;} break; - case 283: -#line 1253 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 286: +#line 1275 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { *(yyvsp[-5].String) += " " + *(yyvsp[-4].Value).val + ", " + *(yyvsp[-2].Value).val + ", " + *(yyvsp[0].Value).val; (yyvsp[-4].Value).destroy(); (yyvsp[-2].Value).destroy(); (yyvsp[0].Value).destroy(); @@ -3703,8 +3756,8 @@ ;} break; - case 284: -#line 1258 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 287: +#line 1280 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { *(yyvsp[-5].String) += " " + *(yyvsp[-4].Value).val + ", " + *(yyvsp[-2].Value).val + ", " + *(yyvsp[0].Value).val; (yyvsp[-4].Value).destroy(); (yyvsp[-2].Value).destroy(); (yyvsp[0].Value).destroy(); @@ -3712,8 +3765,8 @@ ;} break; - case 285: -#line 1263 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 288: +#line 1285 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { *(yyvsp[-1].String) += " " + *(yyvsp[0].String); delete (yyvsp[0].String); @@ -3721,8 +3774,8 @@ ;} break; - case 286: -#line 1268 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 289: +#line 1290 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { if (!(yyvsp[-5].String)->empty()) *(yyvsp[-6].String) += " " + *(yyvsp[-5].String); @@ -3742,23 +3795,23 @@ ;} break; - case 288: -#line 1290 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 291: +#line 1312 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { (yyval.ValList) = (yyvsp[0].ValList); ;} break; - case 289: -#line 1291 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 292: +#line 1313 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { (yyval.ValList) = new ValueList(); ;} break; - case 291: -#line 1296 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 294: +#line 1318 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { (yyval.String) = new std::string(); ;} break; - case 292: -#line 1299 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 295: +#line 1321 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { *(yyvsp[-2].String) += " " + *(yyvsp[-1].Type).newTy; if (!(yyvsp[0].String)->empty()) @@ -3768,8 +3821,8 @@ ;} break; - case 293: -#line 1306 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 296: +#line 1328 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { *(yyvsp[-5].String) += " " + *(yyvsp[-4].Type).newTy + ", " + *(yyvsp[-2].Type).newTy + " " + *(yyvsp[-1].Value).val; if (!(yyvsp[0].String)->empty()) @@ -3779,8 +3832,8 @@ ;} break; - case 294: -#line 1313 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 297: +#line 1335 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { *(yyvsp[-2].String) += " " + *(yyvsp[-1].Type).newTy; if (!(yyvsp[0].String)->empty()) @@ -3790,8 +3843,8 @@ ;} break; - case 295: -#line 1320 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 298: +#line 1342 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { *(yyvsp[-5].String) += " " + *(yyvsp[-4].Type).newTy + ", " + *(yyvsp[-2].Type).newTy + " " + *(yyvsp[-1].Value).val; if (!(yyvsp[0].String)->empty()) @@ -3801,8 +3854,8 @@ ;} break; - case 296: -#line 1327 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 299: +#line 1349 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { *(yyvsp[-1].String) += " " + *(yyvsp[0].Value).val; (yyvsp[0].Value).destroy(); @@ -3810,8 +3863,8 @@ ;} break; - case 297: -#line 1332 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 300: +#line 1354 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { if (!(yyvsp[-3].String)->empty()) *(yyvsp[-3].String) += " "; @@ -3821,8 +3874,8 @@ ;} break; - case 298: -#line 1339 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 301: +#line 1361 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { if (!(yyvsp[-5].String)->empty()) *(yyvsp[-5].String) += " "; @@ -3832,8 +3885,8 @@ ;} break; - case 299: -#line 1346 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" + case 302: +#line 1368 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { // Upgrade the indices for (unsigned i = 0; i < (yyvsp[0].ValList)->size(); ++i) { @@ -3864,7 +3917,7 @@ } /* Line 1126 of yacc.c. */ -#line 3868 "UpgradeParser.tab.c" +#line 3921 "UpgradeParser.tab.c" yyvsp -= yylen; yyssp -= yylen; @@ -4132,7 +4185,7 @@ } -#line 1370 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" +#line 1392 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" int yyerror(const char *ErrorMsg) { Index: llvm/tools/llvm-upgrade/UpgradeParser.h diff -u llvm/tools/llvm-upgrade/UpgradeParser.h:1.20 llvm/tools/llvm-upgrade/UpgradeParser.h:1.21 --- llvm/tools/llvm-upgrade/UpgradeParser.h:1.20 Sat Dec 23 00:05:41 2006 +++ llvm/tools/llvm-upgrade/UpgradeParser.h Fri Dec 29 14:35:03 2006 @@ -61,122 +61,123 @@ BEGINTOK = 287, ENDTOK = 288, DECLARE = 289, - GLOBAL = 290, - CONSTANT = 291, - SECTION = 292, - VOLATILE = 293, - TO = 294, - DOTDOTDOT = 295, - CONST = 296, - INTERNAL = 297, - LINKONCE = 298, - WEAK = 299, - DLLIMPORT = 300, - DLLEXPORT = 301, - EXTERN_WEAK = 302, - APPENDING = 303, - NOT = 304, - EXTERNAL = 305, - TARGET = 306, - TRIPLE = 307, - ENDIAN = 308, - POINTERSIZE = 309, - LITTLE = 310, - BIG = 311, - ALIGN = 312, - UNINITIALIZED = 313, - DEPLIBS = 314, - CALL = 315, - TAIL = 316, - ASM_TOK = 317, - MODULE = 318, - SIDEEFFECT = 319, - CC_TOK = 320, - CCC_TOK = 321, - CSRETCC_TOK = 322, - FASTCC_TOK = 323, - COLDCC_TOK = 324, - X86_STDCALLCC_TOK = 325, - X86_FASTCALLCC_TOK = 326, - DATALAYOUT = 327, - RET = 328, - BR = 329, - SWITCH = 330, - INVOKE = 331, - EXCEPT = 332, - UNWIND = 333, - UNREACHABLE = 334, - ADD = 335, - SUB = 336, - MUL = 337, - DIV = 338, - UDIV = 339, - SDIV = 340, - FDIV = 341, - REM = 342, - UREM = 343, - SREM = 344, - FREM = 345, - AND = 346, - OR = 347, - XOR = 348, - SETLE = 349, - SETGE = 350, - SETLT = 351, - SETGT = 352, - SETEQ = 353, - SETNE = 354, - ICMP = 355, - FCMP = 356, - EQ = 357, - NE = 358, - SLT = 359, - SGT = 360, - SLE = 361, - SGE = 362, - OEQ = 363, - ONE = 364, - OLT = 365, - OGT = 366, - OLE = 367, - OGE = 368, - ORD = 369, - UNO = 370, - UEQ = 371, - UNE = 372, - ULT = 373, - UGT = 374, - ULE = 375, - UGE = 376, - MALLOC = 377, - ALLOCA = 378, - FREE = 379, - LOAD = 380, - STORE = 381, - GETELEMENTPTR = 382, - PHI_TOK = 383, - SELECT = 384, - SHL = 385, - SHR = 386, - ASHR = 387, - LSHR = 388, - VAARG = 389, - EXTRACTELEMENT = 390, - INSERTELEMENT = 391, - SHUFFLEVECTOR = 392, - CAST = 393, - TRUNC = 394, - ZEXT = 395, - SEXT = 396, - FPTRUNC = 397, - FPEXT = 398, - FPTOUI = 399, - FPTOSI = 400, - UITOFP = 401, - SITOFP = 402, - PTRTOINT = 403, - INTTOPTR = 404, - BITCAST = 405 + DEFINE = 290, + GLOBAL = 291, + CONSTANT = 292, + SECTION = 293, + VOLATILE = 294, + TO = 295, + DOTDOTDOT = 296, + CONST = 297, + INTERNAL = 298, + LINKONCE = 299, + WEAK = 300, + DLLIMPORT = 301, + DLLEXPORT = 302, + EXTERN_WEAK = 303, + APPENDING = 304, + NOT = 305, + EXTERNAL = 306, + TARGET = 307, + TRIPLE = 308, + ENDIAN = 309, + POINTERSIZE = 310, + LITTLE = 311, + BIG = 312, + ALIGN = 313, + UNINITIALIZED = 314, + DEPLIBS = 315, + CALL = 316, + TAIL = 317, + ASM_TOK = 318, + MODULE = 319, + SIDEEFFECT = 320, + CC_TOK = 321, + CCC_TOK = 322, + CSRETCC_TOK = 323, + FASTCC_TOK = 324, + COLDCC_TOK = 325, + X86_STDCALLCC_TOK = 326, + X86_FASTCALLCC_TOK = 327, + DATALAYOUT = 328, + RET = 329, + BR = 330, + SWITCH = 331, + INVOKE = 332, + EXCEPT = 333, + UNWIND = 334, + UNREACHABLE = 335, + ADD = 336, + SUB = 337, + MUL = 338, + DIV = 339, + UDIV = 340, + SDIV = 341, + FDIV = 342, + REM = 343, + UREM = 344, + SREM = 345, + FREM = 346, + AND = 347, + OR = 348, + XOR = 349, + SETLE = 350, + SETGE = 351, + SETLT = 352, + SETGT = 353, + SETEQ = 354, + SETNE = 355, + ICMP = 356, + FCMP = 357, + EQ = 358, + NE = 359, + SLT = 360, + SGT = 361, + SLE = 362, + SGE = 363, + OEQ = 364, + ONE = 365, + OLT = 366, + OGT = 367, + OLE = 368, + OGE = 369, + ORD = 370, + UNO = 371, + UEQ = 372, + UNE = 373, + ULT = 374, + UGT = 375, + ULE = 376, + UGE = 377, + MALLOC = 378, + ALLOCA = 379, + FREE = 380, + LOAD = 381, + STORE = 382, + GETELEMENTPTR = 383, + PHI_TOK = 384, + SELECT = 385, + SHL = 386, + SHR = 387, + ASHR = 388, + LSHR = 389, + VAARG = 390, + EXTRACTELEMENT = 391, + INSERTELEMENT = 392, + SHUFFLEVECTOR = 393, + CAST = 394, + TRUNC = 395, + ZEXT = 396, + SEXT = 397, + FPTRUNC = 398, + FPEXT = 399, + FPTOUI = 400, + FPTOSI = 401, + UITOFP = 402, + SITOFP = 403, + PTRTOINT = 404, + INTTOPTR = 405, + BITCAST = 406 }; #endif /* Tokens. */ @@ -212,128 +213,129 @@ #define BEGINTOK 287 #define ENDTOK 288 #define DECLARE 289 -#define GLOBAL 290 -#define CONSTANT 291 -#define SECTION 292 -#define VOLATILE 293 -#define TO 294 -#define DOTDOTDOT 295 -#define CONST 296 -#define INTERNAL 297 -#define LINKONCE 298 -#define WEAK 299 -#define DLLIMPORT 300 -#define DLLEXPORT 301 -#define EXTERN_WEAK 302 -#define APPENDING 303 -#define NOT 304 -#define EXTERNAL 305 -#define TARGET 306 -#define TRIPLE 307 -#define ENDIAN 308 -#define POINTERSIZE 309 -#define LITTLE 310 -#define BIG 311 -#define ALIGN 312 -#define UNINITIALIZED 313 -#define DEPLIBS 314 -#define CALL 315 -#define TAIL 316 -#define ASM_TOK 317 -#define MODULE 318 -#define SIDEEFFECT 319 -#define CC_TOK 320 -#define CCC_TOK 321 -#define CSRETCC_TOK 322 -#define FASTCC_TOK 323 -#define COLDCC_TOK 324 -#define X86_STDCALLCC_TOK 325 -#define X86_FASTCALLCC_TOK 326 -#define DATALAYOUT 327 -#define RET 328 -#define BR 329 -#define SWITCH 330 -#define INVOKE 331 -#define EXCEPT 332 -#define UNWIND 333 -#define UNREACHABLE 334 -#define ADD 335 -#define SUB 336 -#define MUL 337 -#define DIV 338 -#define UDIV 339 -#define SDIV 340 -#define FDIV 341 -#define REM 342 -#define UREM 343 -#define SREM 344 -#define FREM 345 -#define AND 346 -#define OR 347 -#define XOR 348 -#define SETLE 349 -#define SETGE 350 -#define SETLT 351 -#define SETGT 352 -#define SETEQ 353 -#define SETNE 354 -#define ICMP 355 -#define FCMP 356 -#define EQ 357 -#define NE 358 -#define SLT 359 -#define SGT 360 -#define SLE 361 -#define SGE 362 -#define OEQ 363 -#define ONE 364 -#define OLT 365 -#define OGT 366 -#define OLE 367 -#define OGE 368 -#define ORD 369 -#define UNO 370 -#define UEQ 371 -#define UNE 372 -#define ULT 373 -#define UGT 374 -#define ULE 375 -#define UGE 376 -#define MALLOC 377 -#define ALLOCA 378 -#define FREE 379 -#define LOAD 380 -#define STORE 381 -#define GETELEMENTPTR 382 -#define PHI_TOK 383 -#define SELECT 384 -#define SHL 385 -#define SHR 386 -#define ASHR 387 -#define LSHR 388 -#define VAARG 389 -#define EXTRACTELEMENT 390 -#define INSERTELEMENT 391 -#define SHUFFLEVECTOR 392 -#define CAST 393 -#define TRUNC 394 -#define ZEXT 395 -#define SEXT 396 -#define FPTRUNC 397 -#define FPEXT 398 -#define FPTOUI 399 -#define FPTOSI 400 -#define UITOFP 401 -#define SITOFP 402 -#define PTRTOINT 403 -#define INTTOPTR 404 -#define BITCAST 405 +#define DEFINE 290 +#define GLOBAL 291 +#define CONSTANT 292 +#define SECTION 293 +#define VOLATILE 294 +#define TO 295 +#define DOTDOTDOT 296 +#define CONST 297 +#define INTERNAL 298 +#define LINKONCE 299 +#define WEAK 300 +#define DLLIMPORT 301 +#define DLLEXPORT 302 +#define EXTERN_WEAK 303 +#define APPENDING 304 +#define NOT 305 +#define EXTERNAL 306 +#define TARGET 307 +#define TRIPLE 308 +#define ENDIAN 309 +#define POINTERSIZE 310 +#define LITTLE 311 +#define BIG 312 +#define ALIGN 313 +#define UNINITIALIZED 314 +#define DEPLIBS 315 +#define CALL 316 +#define TAIL 317 +#define ASM_TOK 318 +#define MODULE 319 +#define SIDEEFFECT 320 +#define CC_TOK 321 +#define CCC_TOK 322 +#define CSRETCC_TOK 323 +#define FASTCC_TOK 324 +#define COLDCC_TOK 325 +#define X86_STDCALLCC_TOK 326 +#define X86_FASTCALLCC_TOK 327 +#define DATALAYOUT 328 +#define RET 329 +#define BR 330 +#define SWITCH 331 +#define INVOKE 332 +#define EXCEPT 333 +#define UNWIND 334 +#define UNREACHABLE 335 +#define ADD 336 +#define SUB 337 +#define MUL 338 +#define DIV 339 +#define UDIV 340 +#define SDIV 341 +#define FDIV 342 +#define REM 343 +#define UREM 344 +#define SREM 345 +#define FREM 346 +#define AND 347 +#define OR 348 +#define XOR 349 +#define SETLE 350 +#define SETGE 351 +#define SETLT 352 +#define SETGT 353 +#define SETEQ 354 +#define SETNE 355 +#define ICMP 356 +#define FCMP 357 +#define EQ 358 +#define NE 359 +#define SLT 360 +#define SGT 361 +#define SLE 362 +#define SGE 363 +#define OEQ 364 +#define ONE 365 +#define OLT 366 +#define OGT 367 +#define OLE 368 +#define OGE 369 +#define ORD 370 +#define UNO 371 +#define UEQ 372 +#define UNE 373 +#define ULT 374 +#define UGT 375 +#define ULE 376 +#define UGE 377 +#define MALLOC 378 +#define ALLOCA 379 +#define FREE 380 +#define LOAD 381 +#define STORE 382 +#define GETELEMENTPTR 383 +#define PHI_TOK 384 +#define SELECT 385 +#define SHL 386 +#define SHR 387 +#define ASHR 388 +#define LSHR 389 +#define VAARG 390 +#define EXTRACTELEMENT 391 +#define INSERTELEMENT 392 +#define SHUFFLEVECTOR 393 +#define CAST 394 +#define TRUNC 395 +#define ZEXT 396 +#define SEXT 397 +#define FPTRUNC 398 +#define FPEXT 399 +#define FPTOUI 400 +#define FPTOSI 401 +#define UITOFP 402 +#define SITOFP 403 +#define PTRTOINT 404 +#define INTTOPTR 405 +#define BITCAST 406 #if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED) -#line 275 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" +#line 275 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" typedef union YYSTYPE { std::string* String; TypeInfo Type; @@ -342,7 +344,7 @@ ValueList* ValList; } YYSTYPE; /* Line 1447 of yacc.c. */ -#line 346 "UpgradeParser.tab.h" +#line 348 "UpgradeParser.tab.h" # define yystype YYSTYPE /* obsolescent; will be withdrawn */ # define YYSTYPE_IS_DECLARED 1 # define YYSTYPE_IS_TRIVIAL 1 Index: llvm/tools/llvm-upgrade/UpgradeParser.h.cvs diff -u llvm/tools/llvm-upgrade/UpgradeParser.h.cvs:1.18 llvm/tools/llvm-upgrade/UpgradeParser.h.cvs:1.19 --- llvm/tools/llvm-upgrade/UpgradeParser.h.cvs:1.18 Sat Dec 23 00:05:41 2006 +++ llvm/tools/llvm-upgrade/UpgradeParser.h.cvs Fri Dec 29 14:35:03 2006 @@ -61,122 +61,123 @@ BEGINTOK = 287, ENDTOK = 288, DECLARE = 289, - GLOBAL = 290, - CONSTANT = 291, - SECTION = 292, - VOLATILE = 293, - TO = 294, - DOTDOTDOT = 295, - CONST = 296, - INTERNAL = 297, - LINKONCE = 298, - WEAK = 299, - DLLIMPORT = 300, - DLLEXPORT = 301, - EXTERN_WEAK = 302, - APPENDING = 303, - NOT = 304, - EXTERNAL = 305, - TARGET = 306, - TRIPLE = 307, - ENDIAN = 308, - POINTERSIZE = 309, - LITTLE = 310, - BIG = 311, - ALIGN = 312, - UNINITIALIZED = 313, - DEPLIBS = 314, - CALL = 315, - TAIL = 316, - ASM_TOK = 317, - MODULE = 318, - SIDEEFFECT = 319, - CC_TOK = 320, - CCC_TOK = 321, - CSRETCC_TOK = 322, - FASTCC_TOK = 323, - COLDCC_TOK = 324, - X86_STDCALLCC_TOK = 325, - X86_FASTCALLCC_TOK = 326, - DATALAYOUT = 327, - RET = 328, - BR = 329, - SWITCH = 330, - INVOKE = 331, - EXCEPT = 332, - UNWIND = 333, - UNREACHABLE = 334, - ADD = 335, - SUB = 336, - MUL = 337, - DIV = 338, - UDIV = 339, - SDIV = 340, - FDIV = 341, - REM = 342, - UREM = 343, - SREM = 344, - FREM = 345, - AND = 346, - OR = 347, - XOR = 348, - SETLE = 349, - SETGE = 350, - SETLT = 351, - SETGT = 352, - SETEQ = 353, - SETNE = 354, - ICMP = 355, - FCMP = 356, - EQ = 357, - NE = 358, - SLT = 359, - SGT = 360, - SLE = 361, - SGE = 362, - OEQ = 363, - ONE = 364, - OLT = 365, - OGT = 366, - OLE = 367, - OGE = 368, - ORD = 369, - UNO = 370, - UEQ = 371, - UNE = 372, - ULT = 373, - UGT = 374, - ULE = 375, - UGE = 376, - MALLOC = 377, - ALLOCA = 378, - FREE = 379, - LOAD = 380, - STORE = 381, - GETELEMENTPTR = 382, - PHI_TOK = 383, - SELECT = 384, - SHL = 385, - SHR = 386, - ASHR = 387, - LSHR = 388, - VAARG = 389, - EXTRACTELEMENT = 390, - INSERTELEMENT = 391, - SHUFFLEVECTOR = 392, - CAST = 393, - TRUNC = 394, - ZEXT = 395, - SEXT = 396, - FPTRUNC = 397, - FPEXT = 398, - FPTOUI = 399, - FPTOSI = 400, - UITOFP = 401, - SITOFP = 402, - PTRTOINT = 403, - INTTOPTR = 404, - BITCAST = 405 + DEFINE = 290, + GLOBAL = 291, + CONSTANT = 292, + SECTION = 293, + VOLATILE = 294, + TO = 295, + DOTDOTDOT = 296, + CONST = 297, + INTERNAL = 298, + LINKONCE = 299, + WEAK = 300, + DLLIMPORT = 301, + DLLEXPORT = 302, + EXTERN_WEAK = 303, + APPENDING = 304, + NOT = 305, + EXTERNAL = 306, + TARGET = 307, + TRIPLE = 308, + ENDIAN = 309, + POINTERSIZE = 310, + LITTLE = 311, + BIG = 312, + ALIGN = 313, + UNINITIALIZED = 314, + DEPLIBS = 315, + CALL = 316, + TAIL = 317, + ASM_TOK = 318, + MODULE = 319, + SIDEEFFECT = 320, + CC_TOK = 321, + CCC_TOK = 322, + CSRETCC_TOK = 323, + FASTCC_TOK = 324, + COLDCC_TOK = 325, + X86_STDCALLCC_TOK = 326, + X86_FASTCALLCC_TOK = 327, + DATALAYOUT = 328, + RET = 329, + BR = 330, + SWITCH = 331, + INVOKE = 332, + EXCEPT = 333, + UNWIND = 334, + UNREACHABLE = 335, + ADD = 336, + SUB = 337, + MUL = 338, + DIV = 339, + UDIV = 340, + SDIV = 341, + FDIV = 342, + REM = 343, + UREM = 344, + SREM = 345, + FREM = 346, + AND = 347, + OR = 348, + XOR = 349, + SETLE = 350, + SETGE = 351, + SETLT = 352, + SETGT = 353, + SETEQ = 354, + SETNE = 355, + ICMP = 356, + FCMP = 357, + EQ = 358, + NE = 359, + SLT = 360, + SGT = 361, + SLE = 362, + SGE = 363, + OEQ = 364, + ONE = 365, + OLT = 366, + OGT = 367, + OLE = 368, + OGE = 369, + ORD = 370, + UNO = 371, + UEQ = 372, + UNE = 373, + ULT = 374, + UGT = 375, + ULE = 376, + UGE = 377, + MALLOC = 378, + ALLOCA = 379, + FREE = 380, + LOAD = 381, + STORE = 382, + GETELEMENTPTR = 383, + PHI_TOK = 384, + SELECT = 385, + SHL = 386, + SHR = 387, + ASHR = 388, + LSHR = 389, + VAARG = 390, + EXTRACTELEMENT = 391, + INSERTELEMENT = 392, + SHUFFLEVECTOR = 393, + CAST = 394, + TRUNC = 395, + ZEXT = 396, + SEXT = 397, + FPTRUNC = 398, + FPEXT = 399, + FPTOUI = 400, + FPTOSI = 401, + UITOFP = 402, + SITOFP = 403, + PTRTOINT = 404, + INTTOPTR = 405, + BITCAST = 406 }; #endif /* Tokens. */ @@ -212,128 +213,129 @@ #define BEGINTOK 287 #define ENDTOK 288 #define DECLARE 289 -#define GLOBAL 290 -#define CONSTANT 291 -#define SECTION 292 -#define VOLATILE 293 -#define TO 294 -#define DOTDOTDOT 295 -#define CONST 296 -#define INTERNAL 297 -#define LINKONCE 298 -#define WEAK 299 -#define DLLIMPORT 300 -#define DLLEXPORT 301 -#define EXTERN_WEAK 302 -#define APPENDING 303 -#define NOT 304 -#define EXTERNAL 305 -#define TARGET 306 -#define TRIPLE 307 -#define ENDIAN 308 -#define POINTERSIZE 309 -#define LITTLE 310 -#define BIG 311 -#define ALIGN 312 -#define UNINITIALIZED 313 -#define DEPLIBS 314 -#define CALL 315 -#define TAIL 316 -#define ASM_TOK 317 -#define MODULE 318 -#define SIDEEFFECT 319 -#define CC_TOK 320 -#define CCC_TOK 321 -#define CSRETCC_TOK 322 -#define FASTCC_TOK 323 -#define COLDCC_TOK 324 -#define X86_STDCALLCC_TOK 325 -#define X86_FASTCALLCC_TOK 326 -#define DATALAYOUT 327 -#define RET 328 -#define BR 329 -#define SWITCH 330 -#define INVOKE 331 -#define EXCEPT 332 -#define UNWIND 333 -#define UNREACHABLE 334 -#define ADD 335 -#define SUB 336 -#define MUL 337 -#define DIV 338 -#define UDIV 339 -#define SDIV 340 -#define FDIV 341 -#define REM 342 -#define UREM 343 -#define SREM 344 -#define FREM 345 -#define AND 346 -#define OR 347 -#define XOR 348 -#define SETLE 349 -#define SETGE 350 -#define SETLT 351 -#define SETGT 352 -#define SETEQ 353 -#define SETNE 354 -#define ICMP 355 -#define FCMP 356 -#define EQ 357 -#define NE 358 -#define SLT 359 -#define SGT 360 -#define SLE 361 -#define SGE 362 -#define OEQ 363 -#define ONE 364 -#define OLT 365 -#define OGT 366 -#define OLE 367 -#define OGE 368 -#define ORD 369 -#define UNO 370 -#define UEQ 371 -#define UNE 372 -#define ULT 373 -#define UGT 374 -#define ULE 375 -#define UGE 376 -#define MALLOC 377 -#define ALLOCA 378 -#define FREE 379 -#define LOAD 380 -#define STORE 381 -#define GETELEMENTPTR 382 -#define PHI_TOK 383 -#define SELECT 384 -#define SHL 385 -#define SHR 386 -#define ASHR 387 -#define LSHR 388 -#define VAARG 389 -#define EXTRACTELEMENT 390 -#define INSERTELEMENT 391 -#define SHUFFLEVECTOR 392 -#define CAST 393 -#define TRUNC 394 -#define ZEXT 395 -#define SEXT 396 -#define FPTRUNC 397 -#define FPEXT 398 -#define FPTOUI 399 -#define FPTOSI 400 -#define UITOFP 401 -#define SITOFP 402 -#define PTRTOINT 403 -#define INTTOPTR 404 -#define BITCAST 405 +#define DEFINE 290 +#define GLOBAL 291 +#define CONSTANT 292 +#define SECTION 293 +#define VOLATILE 294 +#define TO 295 +#define DOTDOTDOT 296 +#define CONST 297 +#define INTERNAL 298 +#define LINKONCE 299 +#define WEAK 300 +#define DLLIMPORT 301 +#define DLLEXPORT 302 +#define EXTERN_WEAK 303 +#define APPENDING 304 +#define NOT 305 +#define EXTERNAL 306 +#define TARGET 307 +#define TRIPLE 308 +#define ENDIAN 309 +#define POINTERSIZE 310 +#define LITTLE 311 +#define BIG 312 +#define ALIGN 313 +#define UNINITIALIZED 314 +#define DEPLIBS 315 +#define CALL 316 +#define TAIL 317 +#define ASM_TOK 318 +#define MODULE 319 +#define SIDEEFFECT 320 +#define CC_TOK 321 +#define CCC_TOK 322 +#define CSRETCC_TOK 323 +#define FASTCC_TOK 324 +#define COLDCC_TOK 325 +#define X86_STDCALLCC_TOK 326 +#define X86_FASTCALLCC_TOK 327 +#define DATALAYOUT 328 +#define RET 329 +#define BR 330 +#define SWITCH 331 +#define INVOKE 332 +#define EXCEPT 333 +#define UNWIND 334 +#define UNREACHABLE 335 +#define ADD 336 +#define SUB 337 +#define MUL 338 +#define DIV 339 +#define UDIV 340 +#define SDIV 341 +#define FDIV 342 +#define REM 343 +#define UREM 344 +#define SREM 345 +#define FREM 346 +#define AND 347 +#define OR 348 +#define XOR 349 +#define SETLE 350 +#define SETGE 351 +#define SETLT 352 +#define SETGT 353 +#define SETEQ 354 +#define SETNE 355 +#define ICMP 356 +#define FCMP 357 +#define EQ 358 +#define NE 359 +#define SLT 360 +#define SGT 361 +#define SLE 362 +#define SGE 363 +#define OEQ 364 +#define ONE 365 +#define OLT 366 +#define OGT 367 +#define OLE 368 +#define OGE 369 +#define ORD 370 +#define UNO 371 +#define UEQ 372 +#define UNE 373 +#define ULT 374 +#define UGT 375 +#define ULE 376 +#define UGE 377 +#define MALLOC 378 +#define ALLOCA 379 +#define FREE 380 +#define LOAD 381 +#define STORE 382 +#define GETELEMENTPTR 383 +#define PHI_TOK 384 +#define SELECT 385 +#define SHL 386 +#define SHR 387 +#define ASHR 388 +#define LSHR 389 +#define VAARG 390 +#define EXTRACTELEMENT 391 +#define INSERTELEMENT 392 +#define SHUFFLEVECTOR 393 +#define CAST 394 +#define TRUNC 395 +#define ZEXT 396 +#define SEXT 397 +#define FPTRUNC 398 +#define FPEXT 399 +#define FPTOUI 400 +#define FPTOSI 401 +#define UITOFP 402 +#define SITOFP 403 +#define PTRTOINT 404 +#define INTTOPTR 405 +#define BITCAST 406 #if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED) -#line 275 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" +#line 275 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" typedef union YYSTYPE { std::string* String; TypeInfo Type; @@ -342,7 +344,7 @@ ValueList* ValList; } YYSTYPE; /* Line 1447 of yacc.c. */ -#line 346 "UpgradeParser.tab.h" +#line 348 "UpgradeParser.tab.h" # define yystype YYSTYPE /* obsolescent; will be withdrawn */ # define YYSTYPE_IS_DECLARED 1 # define YYSTYPE_IS_TRIVIAL 1 Index: llvm/tools/llvm-upgrade/UpgradeParser.y.cvs diff -u llvm/tools/llvm-upgrade/UpgradeParser.y.cvs:1.24 llvm/tools/llvm-upgrade/UpgradeParser.y.cvs:1.25 --- llvm/tools/llvm-upgrade/UpgradeParser.y.cvs:1.24 Sat Dec 23 00:05:41 2006 +++ llvm/tools/llvm-upgrade/UpgradeParser.y.cvs Fri Dec 29 14:35:03 2006 @@ -286,7 +286,7 @@ %token NULL_TOK UNDEF ZEROINITIALIZER TRUETOK FALSETOK %token TYPE VAR_ID LABELSTR STRINGCONSTANT %token IMPLEMENTATION BEGINTOK ENDTOK -%token DECLARE GLOBAL CONSTANT SECTION VOLATILE +%token DECLARE DEFINE GLOBAL CONSTANT SECTION VOLATILE %token TO DOTDOTDOT CONST INTERNAL LINKONCE WEAK %token DLLIMPORT DLLEXPORT EXTERN_WEAK APPENDING %token NOT EXTERNAL TARGET TRIPLE ENDIAN POINTERSIZE LITTLE BIG @@ -489,6 +489,16 @@ $$.newTy = new std::string("{}"); $$.oldTy = StructTy; } + | '<' '{' TypeListI '}' '>' { // Packed Structure type? + $3->insert(0, "<{ "); + *$3 += " }>"; + $$.newTy = $3; + $$.oldTy = StructTy; + } + | '<' '{' '}' '>' { // Empty packed structure type? + $$.newTy = new std::string("<{}>"); + $$.oldTy = StructTy; + } | UpRTypes '*' { // Pointer type? *$1.newTy += '*'; $$.elemTy = $1.oldTy; @@ -741,12 +751,12 @@ $$ = 0; } | DefinitionList FunctionProto { - *O << *$2 << "\n"; + *O << *$2 << '\n'; delete $2; $$ = 0; } | DefinitionList MODULE ASM_TOK AsmBlock { - *O << "module asm " << " " << *$4 << "\n"; + *O << "module asm " << ' ' << *$4 << '\n'; $$ = 0; } | DefinitionList IMPLEMENTATION { @@ -766,17 +776,17 @@ NamedTypes[*$2].elemTy = $4.elemTy; *O << *$2 << " = "; } - *O << "type " << *$4.newTy << "\n"; + *O << "type " << *$4.newTy << '\n'; delete $2; delete $3; $4.destroy(); $$ = 0; } | ConstPool FunctionProto { // Function prototypes can be in const pool - *O << *$2 << "\n"; + *O << *$2 << '\n'; delete $2; $$ = 0; } | ConstPool MODULE ASM_TOK AsmBlock { // Asm blocks can be in the const pool - *O << *$2 << " " << *$3 << " " << *$4 << "\n"; + *O << *$2 << ' ' << *$3 << ' ' << *$4 << '\n'; delete $2; delete $3; delete $4; $$ = 0; } @@ -785,7 +795,7 @@ *O << *$2 << " = "; Globals[*$2] = $5.type.clone(); } - *O << *$3 << " " << *$4 << " " << *$5.cnst << " " << *$6 << "\n"; + *O << *$3 << ' ' << *$4 << ' ' << *$5.cnst << ' ' << *$6 << '\n'; delete $2; delete $3; delete $4; $5.destroy(); delete $6; $$ = 0; } @@ -794,7 +804,7 @@ *O << *$2 << " = "; Globals[*$2] = $5.clone(); } - *O << *$3 << " " << *$4 << " " << *$5.newTy << " " << *$6 << "\n"; + *O << *$3 << ' ' << *$4 << ' ' << *$5.newTy << ' ' << *$6 << '\n'; delete $2; delete $3; delete $4; $5.destroy(); delete $6; $$ = 0; } @@ -803,7 +813,7 @@ *O << *$2 << " = "; Globals[*$2] = $5.clone(); } - *O << *$3 << " " << *$4 << " " << *$5.newTy << " " << *$6 << "\n"; + *O << *$3 << ' ' << *$4 << ' ' << *$5.newTy << ' ' << *$6 << '\n'; delete $2; delete $3; delete $4; $5.destroy(); delete $6; $$ = 0; } @@ -812,17 +822,17 @@ *O << *$2 << " = "; Globals[*$2] = $5.clone(); } - *O << *$3 << " " << *$4 << " " << *$5.newTy << " " << *$6 << "\n"; + *O << *$3 << ' ' << *$4 << ' ' << *$5.newTy << ' ' << *$6 << '\n'; delete $2; delete $3; delete $4; $5.destroy(); delete $6; $$ = 0; } | ConstPool TARGET TargetDefinition { - *O << *$2 << " " << *$3 << "\n"; + *O << *$2 << ' ' << *$3 << '\n'; delete $2; delete $3; $$ = 0; } | ConstPool DEPLIBS '=' LibrariesDefinition { - *O << *$2 << " = " << *$4 << "\n"; + *O << *$2 << " = " << *$4 << '\n'; delete $2; delete $4; $$ = 0; } @@ -935,14 +945,26 @@ BEGIN : BEGINTOK { $$ = new std::string("{"); delete $1; } | '{' { $$ = new std::string ("{"); } -FunctionHeader : OptLinkage FunctionHeaderH BEGIN { - if (!$1->empty()) { - *O << *$1 << " "; +FunctionHeader + : OptLinkage FunctionHeaderH BEGIN { + *O << "define "; + if (!$1->empty()) { + *O << *$1 << ' '; + } + *O << *$2 << ' ' << *$3 << '\n'; + delete $1; delete $2; delete $3; + $$ = 0; } - *O << *$2 << " " << *$3 << "\n"; - delete $1; delete $2; delete $3; - $$ = 0; -}; + | DEFINE OptLinkage FunctionHeaderH BEGIN { + *O << *$1 << ' '; + if (!$2->empty()) { + *O << *$2 << ' '; + } + *O << *$3 << ' ' << *$4 << '\n'; + delete $1; delete $2; delete $3; delete $4; + $$ = 0; + } + ; END : ENDTOK { $$ = new std::string("}"); delete $1; } | '}' { $$ = new std::string("}"); }; @@ -950,7 +972,7 @@ Function : FunctionHeader BasicBlockList END { if ($2) *O << *$2; - *O << '\n' << *$3 << "\n"; + *O << '\n' << *$3 << '\n'; $$ = 0; }; @@ -1038,7 +1060,7 @@ }; InstructionList : InstructionList Inst { - *O << " " << *$2 << "\n"; + *O << " " << *$2 << '\n'; delete $2; $$ = 0; } @@ -1046,7 +1068,7 @@ $$ = 0; } | LABELSTR { - *O << *$1 << "\n"; + *O << *$1 << '\n'; delete $1; $$ = 0; }; @@ -1054,38 +1076,38 @@ Unwind : UNWIND | EXCEPT { $$ = $1; *$$ = "unwind"; } BBTerminatorInst : RET ResolvedVal { // Return with a result... - *O << " " << *$1 << " " << *$2.val << "\n"; + *O << " " << *$1 << ' ' << *$2.val << '\n'; delete $1; $2.destroy(); $$ = 0; } | RET VOID { // Return with no result... - *O << " " << *$1 << " " << *$2.newTy << "\n"; + *O << " " << *$1 << ' ' << *$2.newTy << '\n'; delete $1; $2.destroy(); $$ = 0; } | BR LABEL ValueRef { // Unconditional Branch... - *O << " " << *$1 << " " << *$2.newTy << " " << *$3.val << "\n"; + *O << " " << *$1 << ' ' << *$2.newTy << ' ' << *$3.val << '\n'; delete $1; $2.destroy(); $3.destroy(); $$ = 0; } // Conditional Branch... | BR BOOL ValueRef ',' LABEL ValueRef ',' LABEL ValueRef { - *O << " " << *$1 << " " << *$2.newTy << " " << *$3.val << ", " - << *$5.newTy << " " << *$6.val << ", " << *$8.newTy << " " - << *$9.val << "\n"; + *O << " " << *$1 << ' ' << *$2.newTy << ' ' << *$3.val << ", " + << *$5.newTy << ' ' << *$6.val << ", " << *$8.newTy << ' ' + << *$9.val << '\n'; delete $1; $2.destroy(); $3.destroy(); $5.destroy(); $6.destroy(); $8.destroy(); $9.destroy(); $$ = 0; } | SWITCH IntType ValueRef ',' LABEL ValueRef '[' JumpTable ']' { - *O << " " << *$1 << " " << *$2.newTy << " " << *$3.val << ", " - << *$5.newTy << " " << *$6.val << " [" << *$8 << " ]\n"; + *O << " " << *$1 << ' ' << *$2.newTy << ' ' << *$3.val << ", " + << *$5.newTy << ' ' << *$6.val << " [" << *$8 << " ]\n"; delete $1; $2.destroy(); $3.destroy(); $5.destroy(); $6.destroy(); delete $8; $$ = 0; } | SWITCH IntType ValueRef ',' LABEL ValueRef '[' ']' { - *O << " " << *$1 << " " << *$2.newTy << " " << *$3.val << ", " - << *$5.newTy << " " << *$6.val << "[]\n"; + *O << " " << *$1 << ' ' << *$2.newTy << ' ' << *$3.val << ", " + << *$5.newTy << ' ' << *$6.val << "[]\n"; delete $1; $2.destroy(); $3.destroy(); $5.destroy(); $6.destroy(); $$ = 0; } @@ -1094,7 +1116,7 @@ *O << " "; if (!$1->empty()) *O << *$1 << " = "; - *O << *$2 << " " << *$3 << " " << *$4.newTy << " " << *$5.val << " ("; + *O << *$2 << ' ' << *$3 << ' ' << *$4.newTy << ' ' << *$5.val << " ("; for (unsigned i = 0; i < $7->size(); ++i) { ValueInfo& VI = (*$7)[i]; *O << *VI.val; @@ -1102,20 +1124,20 @@ *O << ", "; VI.destroy(); } - *O << ") " << *$9 << " " << *$10.newTy << " " << *$11.val << " " - << *$12 << " " << *$13.newTy << " " << *$14.val << "\n"; + *O << ") " << *$9 << ' ' << *$10.newTy << ' ' << *$11.val << ' ' + << *$12 << ' ' << *$13.newTy << ' ' << *$14.val << '\n'; delete $1; delete $2; delete $3; $4.destroy(); $5.destroy(); delete $7; delete $9; $10.destroy(); $11.destroy(); delete $12; $13.destroy(); $14.destroy(); $$ = 0; } | Unwind { - *O << " " << *$1 << "\n"; + *O << " " << *$1 << '\n'; delete $1; $$ = 0; } | UNREACHABLE { - *O << " " << *$1 << "\n"; + *O << " " << *$1 << '\n'; delete $1; $$ = 0; }; @@ -1198,13 +1220,13 @@ $2.destroy(); $3.destroy(); $5.destroy(); $$ = $1; } - | ICMP IPredicates Types ValueRef ',' ValueRef ')' { - *$1 += " " + *$2 + " " + *$4.val + "," + *$6.val + ")"; + | ICMP IPredicates Types ValueRef ',' ValueRef { + *$1 += " " + *$2 + " " + *$3.newTy + " " + *$4.val + "," + *$6.val; delete $2; $4.destroy(); $6.destroy(); $$ = $1; } - | FCMP FPredicates Types ValueRef ',' ValueRef ')' { - *$1 += " " + *$2 + " " + *$4.val + "," + *$6.val + ")"; + | FCMP FPredicates Types ValueRef ',' ValueRef { + *$1 += " " + *$2 + " " + *$3.newTy + " " + *$4.val + "," + *$6.val; delete $2; $4.destroy(); $6.destroy(); $$ = $1; } From reid at x10sys.com Fri Dec 29 14:02:25 2006 From: reid at x10sys.com (Reid Spencer) Date: Fri, 29 Dec 2006 14:02:25 -0600 Subject: [llvm-commits] CVS: llvm/test/Regression/CodeGen/CBackend/2006-12-11-Float-Bitcast.ll Message-ID: <200612292002.kBTK2PAk004064@zion.cs.uiuc.edu> Changes in directory llvm/test/Regression/CodeGen/CBackend: 2006-12-11-Float-Bitcast.ll updated: 1.2 -> 1.3 --- Log message: Update tests that need to be run through llvm-upgrade. This is necessary for upcoming changes to the llvm assembly grammar. --- Diffs of the changes: (+3 -2) 2006-12-11-Float-Bitcast.ll | 5 +++-- 1 files changed, 3 insertions(+), 2 deletions(-) Index: llvm/test/Regression/CodeGen/CBackend/2006-12-11-Float-Bitcast.ll diff -u llvm/test/Regression/CodeGen/CBackend/2006-12-11-Float-Bitcast.ll:1.2 llvm/test/Regression/CodeGen/CBackend/2006-12-11-Float-Bitcast.ll:1.3 --- llvm/test/Regression/CodeGen/CBackend/2006-12-11-Float-Bitcast.ll:1.2 Mon Dec 11 18:53:31 2006 +++ llvm/test/Regression/CodeGen/CBackend/2006-12-11-Float-Bitcast.ll Fri Dec 29 14:01:32 2006 @@ -1,5 +1,6 @@ -; RUN: llvm-as < %s | llc -march=c && -; RUN: llvm-as < %s | llc -march=c | grep '__BITCAST' | wc -l | grep 14 +; RUN: llvm-upgrade < %s | llvm-as | llc -march=c && +; RUN: llvm-upgrade < %s | llvm-as | llc -march=c | \ +; RUN: grep '__BITCAST' | wc -l | grep 14 int %test1(float %F) { %X = bitcast float %F to int From reid at x10sys.com Fri Dec 29 14:02:24 2006 From: reid at x10sys.com (Reid Spencer) Date: Fri, 29 Dec 2006 14:02:24 -0600 Subject: [llvm-commits] CVS: llvm/test/Regression/CodeGen/ARM/arm-asm.ll Message-ID: <200612292002.kBTK2O60004042@zion.cs.uiuc.edu> Changes in directory llvm/test/Regression/CodeGen/ARM: arm-asm.ll updated: 1.1 -> 1.2 --- Log message: Update tests that need to be run through llvm-upgrade. This is necessary for upcoming changes to the llvm assembly grammar. --- Diffs of the changes: (+1 -1) arm-asm.ll | 2 +- 1 files changed, 1 insertion(+), 1 deletion(-) Index: llvm/test/Regression/CodeGen/ARM/arm-asm.ll diff -u llvm/test/Regression/CodeGen/ARM/arm-asm.ll:1.1 llvm/test/Regression/CodeGen/ARM/arm-asm.ll:1.2 --- llvm/test/Regression/CodeGen/ARM/arm-asm.ll:1.1 Tue Dec 5 11:37:31 2006 +++ llvm/test/Regression/CodeGen/ARM/arm-asm.ll Fri Dec 29 14:01:32 2006 @@ -1,4 +1,4 @@ -; RUN: llvm-as < %s | llc -march=arm +; RUN: llvm-upgrade < %s | llvm-as | llc -march=arm void %frame_dummy() { entry: From reid at x10sys.com Fri Dec 29 14:30:57 2006 From: reid at x10sys.com (Reid Spencer) Date: Fri, 29 Dec 2006 14:30:57 -0600 Subject: [llvm-commits] CVS: llvm/lib/AsmParser/Lexer.cpp.cvs Lexer.l.cvs llvmAsmParser.cpp.cvs llvmAsmParser.h.cvs llvmAsmParser.y.cvs Message-ID: <200612292030.kBTKUvGZ004731@zion.cs.uiuc.edu> Changes in directory llvm/lib/AsmParser: Lexer.cpp.cvs updated: 1.19 -> 1.20 Lexer.l.cvs updated: 1.15 -> 1.16 llvmAsmParser.cpp.cvs updated: 1.38 -> 1.39 llvmAsmParser.h.cvs updated: 1.31 -> 1.32 llvmAsmParser.y.cvs updated: 1.39 -> 1.40 --- Log message: Regenerate. --- Diffs of the changes: (+2393 -2369) Lexer.cpp.cvs | 1420 +++++++++++++------------ Lexer.l.cvs | 1 llvmAsmParser.cpp.cvs | 2745 +++++++++++++++++++++++++------------------------- llvmAsmParser.h.cvs | 442 ++++---- llvmAsmParser.y.cvs | 154 +- 5 files changed, 2393 insertions(+), 2369 deletions(-) Index: llvm/lib/AsmParser/Lexer.cpp.cvs diff -u llvm/lib/AsmParser/Lexer.cpp.cvs:1.19 llvm/lib/AsmParser/Lexer.cpp.cvs:1.20 --- llvm/lib/AsmParser/Lexer.cpp.cvs:1.19 Sat Dec 23 00:05:40 2006 +++ llvm/lib/AsmParser/Lexer.cpp.cvs Fri Dec 29 14:30:42 2006 @@ -20,7 +20,7 @@ /* A lexical scanner generated by flex*/ /* Scanner skeleton version: - * $Header: /var/cvs/llvm/llvm/lib/AsmParser/Lexer.cpp.cvs,v 1.19 2006/12/23 06:05:40 reid Exp $ + * $Header: /var/cvs/llvm/llvm/lib/AsmParser/Lexer.cpp.cvs,v 1.20 2006/12/29 20:30:42 reid Exp $ */ #define FLEX_SCANNER @@ -317,37 +317,37 @@ *yy_cp = '\0'; \ yy_c_buf_p = yy_cp; -#define YY_NUM_RULES 141 -#define YY_END_OF_BUFFER 142 -static yyconst short int yy_acclist[219] = +#define YY_NUM_RULES 142 +#define YY_END_OF_BUFFER 143 +static yyconst short int yy_acclist[220] = { 0, - 142, 140, 141, 139, 140, 141, 139, 141, 140, 141, - 140, 141, 140, 141, 140, 141, 140, 141, 140, 141, - 132, 140, 141, 132, 140, 141, 1, 140, 141, 140, - 141, 140, 141, 140, 141, 140, 141, 140, 141, 140, - 141, 140, 141, 140, 141, 140, 141, 140, 141, 140, - 141, 140, 141, 140, 141, 140, 141, 140, 141, 140, - 141, 140, 141, 140, 141, 140, 141, 140, 141, 140, - 141, 131, 129, 128, 128, 135, 133, 137, 132, 1, - 114, 38, 74, 75, 70, 22, 131, 128, 128, 136, - 137, 19, 137, 138, 60, 69, 36, 31, 39, 3, - - 51, 62, 84, 89, 87, 88, 86, 85, 90, 94, - 113, 79, 77, 109, 78, 76, 61, 92, 83, 81, - 82, 80, 93, 91, 71, 130, 137, 137, 111, 46, - 95, 73, 65, 121, 68, 72, 122, 53, 110, 21, - 134, 64, 98, 67, 23, 4, 58, 63, 52, 66, - 45, 11, 97, 137, 33, 2, 5, 55, 100, 57, - 47, 49, 123, 96, 48, 54, 20, 120, 42, 56, - 27, 41, 104, 103, 7, 116, 30, 119, 35, 59, - 108, 102, 115, 24, 25, 101, 117, 50, 112, 107, - 40, 6, 26, 99, 34, 8, 16, 9, 105, 10, + 143, 141, 142, 140, 141, 142, 140, 142, 141, 142, + 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, + 133, 141, 142, 133, 141, 142, 1, 141, 142, 141, + 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, + 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, + 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, + 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, + 142, 132, 130, 129, 129, 136, 134, 138, 133, 1, + 115, 39, 75, 76, 71, 23, 132, 129, 129, 137, + 138, 20, 138, 139, 61, 70, 37, 32, 40, 3, + + 52, 63, 85, 90, 88, 89, 87, 86, 91, 95, + 114, 80, 78, 110, 79, 77, 62, 93, 84, 82, + 83, 81, 94, 92, 72, 131, 138, 138, 112, 47, + 96, 74, 66, 122, 69, 73, 123, 54, 111, 22, + 135, 65, 99, 68, 24, 4, 59, 64, 53, 67, + 46, 12, 98, 138, 34, 2, 5, 56, 101, 58, + 48, 50, 124, 97, 49, 55, 21, 121, 43, 7, + 57, 28, 42, 105, 104, 8, 117, 31, 120, 36, + 60, 109, 103, 116, 25, 26, 102, 118, 51, 113, + 108, 41, 6, 27, 100, 35, 9, 17, 10, 106, - 106, 32, 12, 14, 13, 29, 37, 15, 28, 118, - 124, 126, 127, 43, 125, 17, 44, 18 + 11, 107, 33, 13, 15, 14, 30, 38, 16, 29, + 119, 125, 127, 128, 44, 126, 18, 45, 19 } ; -static yyconst short int yy_accept[570] = +static yyconst short int yy_accept[574] = { 0, 1, 1, 1, 2, 4, 7, 9, 11, 13, 15, 17, 19, 21, 24, 27, 30, 32, 34, 36, 38, @@ -366,51 +366,52 @@ 87, 87, 88, 89, 91, 92, 93, 94, 94, 95, 96, 96, 96, 97, 97, 97, 98, 98, 99, 99, 99, 99, 100, 100, 100, 100, 100, 100, 100, 100, - 100, 101, 101, 101, 101, 101, 101, 101, 101, 101, - 101, 101, 101, 101, 101, 101, 102, 102, 102, 102, - 102, 102, 102, 102, 102, 102, 103, 103, 104, 105, - 106, 107, 108, 109, 109, 110, 111, 111, 111, 112, - - 112, 112, 112, 112, 112, 112, 113, 114, 115, 115, - 115, 115, 115, 116, 117, 117, 117, 118, 118, 118, - 118, 118, 118, 118, 118, 118, 119, 120, 121, 121, - 121, 122, 122, 123, 123, 124, 125, 125, 125, 125, - 125, 125, 125, 125, 125, 125, 126, 126, 126, 127, - 128, 128, 128, 128, 129, 129, 129, 129, 130, 130, - 130, 131, 132, 132, 132, 132, 132, 132, 132, 132, - 132, 132, 132, 132, 132, 132, 132, 133, 134, 134, - 134, 134, 134, 135, 136, 136, 136, 137, 137, 137, - 137, 137, 137, 137, 137, 137, 138, 139, 140, 140, - - 140, 141, 141, 141, 141, 142, 142, 143, 143, 143, - 144, 144, 144, 144, 144, 145, 145, 145, 146, 146, - 146, 147, 147, 148, 148, 149, 150, 150, 150, 150, - 150, 150, 151, 151, 151, 152, 152, 153, 153, 153, - 154, 155, 156, 156, 156, 157, 157, 157, 157, 157, - 157, 157, 157, 157, 157, 157, 157, 157, 157, 158, - 158, 159, 160, 160, 160, 160, 160, 160, 160, 160, - 160, 160, 160, 161, 161, 161, 161, 161, 161, 161, - 161, 162, 162, 162, 163, 163, 163, 163, 164, 164, - 164, 164, 165, 166, 166, 167, 168, 168, 168, 168, - - 168, 168, 168, 168, 168, 169, 169, 169, 170, 170, - 170, 170, 170, 170, 170, 170, 171, 172, 172, 172, - 173, 174, 175, 175, 175, 176, 176, 176, 176, 176, - 177, 177, 178, 179, 180, 181, 181, 181, 181, 182, - 182, 182, 183, 184, 185, 186, 187, 187, 188, 189, - 190, 190, 190, 190, 190, 190, 191, 191, 192, 192, - 193, 194, 194, 194, 194, 194, 194, 195, 195, 195, - 195, 195, 195, 195, 195, 195, 196, 196, 196, 196, - 196, 196, 196, 196, 196, 197, 197, 197, 197, 197, - 198, 198, 198, 198, 198, 199, 200, 201, 201, 202, - - 202, 202, 202, 203, 203, 203, 203, 204, 204, 205, - 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, - 206, 206, 206, 207, 207, 207, 207, 207, 207, 207, - 207, 208, 208, 208, 208, 208, 209, 209, 209, 209, - 209, 210, 210, 211, 211, 211, 211, 211, 211, 211, - 211, 211, 211, 211, 211, 211, 212, 212, 213, 214, - 214, 215, 215, 216, 217, 218, 218, 219, 219 + 100, 100, 101, 101, 101, 101, 101, 101, 101, 101, + 101, 101, 101, 101, 101, 101, 101, 102, 102, 102, + 102, 102, 102, 102, 102, 102, 102, 103, 103, 104, + 105, 106, 107, 108, 109, 109, 110, 111, 111, 111, + + 112, 112, 112, 112, 112, 112, 112, 113, 114, 115, + 115, 115, 115, 115, 116, 117, 117, 117, 118, 118, + 118, 118, 118, 118, 118, 118, 118, 119, 120, 121, + 121, 121, 122, 122, 123, 123, 124, 125, 125, 125, + 125, 125, 125, 125, 125, 125, 125, 126, 126, 126, + 127, 128, 128, 128, 128, 129, 129, 129, 129, 130, + 130, 130, 131, 132, 132, 132, 132, 132, 132, 132, + 132, 132, 132, 132, 132, 132, 132, 132, 132, 133, + 134, 134, 134, 134, 134, 135, 136, 136, 136, 137, + 137, 137, 137, 137, 137, 137, 137, 137, 138, 139, + + 140, 140, 140, 141, 141, 141, 141, 142, 142, 143, + 143, 143, 144, 144, 144, 144, 144, 145, 145, 145, + 146, 146, 146, 147, 147, 148, 148, 149, 150, 150, + 150, 150, 150, 150, 151, 151, 151, 152, 152, 153, + 153, 153, 154, 155, 156, 156, 156, 157, 157, 157, + 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, + 157, 157, 158, 158, 159, 160, 160, 160, 160, 160, + 160, 160, 160, 160, 160, 160, 161, 161, 161, 161, + 161, 161, 161, 161, 162, 162, 162, 163, 163, 163, + 163, 164, 164, 164, 164, 165, 166, 166, 167, 168, + + 168, 168, 168, 168, 168, 168, 168, 168, 169, 169, + 169, 170, 170, 170, 170, 170, 171, 171, 171, 171, + 172, 173, 173, 173, 174, 175, 176, 176, 176, 177, + 177, 177, 177, 177, 178, 178, 179, 180, 181, 182, + 182, 182, 182, 183, 183, 183, 184, 185, 186, 187, + 188, 188, 189, 190, 191, 191, 191, 191, 191, 191, + 192, 192, 193, 193, 194, 195, 195, 195, 195, 195, + 195, 196, 196, 196, 196, 196, 196, 196, 196, 196, + 197, 197, 197, 197, 197, 197, 197, 197, 197, 198, + 198, 198, 198, 198, 199, 199, 199, 199, 199, 200, + + 201, 202, 202, 203, 203, 203, 203, 204, 204, 204, + 204, 205, 205, 206, 207, 207, 207, 207, 207, 207, + 207, 207, 207, 207, 207, 207, 207, 208, 208, 208, + 208, 208, 208, 208, 208, 209, 209, 209, 209, 209, + 210, 210, 210, 210, 210, 211, 211, 212, 212, 212, + 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, + 213, 213, 214, 215, 215, 216, 216, 217, 218, 219, + 219, 220, 220 } ; static yyconst int yy_ec[256] = @@ -454,141 +455,141 @@ 3, 3, 3 } ; -static yyconst short int yy_base[574] = +static yyconst short int yy_base[578] = { 0, - 0, 0, 1226, 1227, 1227, 1227, 1221, 1210, 36, 40, + 0, 0, 1234, 1235, 1235, 1235, 1229, 1218, 36, 40, 44, 50, 56, 62, 0, 63, 66, 81, 89, 47, 108, 91, 95, 92, 72, 109, 134, 119, 117, 160, - 120, 191, 139, 121, 136, 150, 1219, 1227, 1208, 1227, + 120, 191, 139, 121, 136, 150, 1227, 1235, 1216, 1235, 0, 165, 180, 197, 219, 70, 224, 239, 244, 0, - 68, 152, 93, 128, 158, 190, 245, 31, 1207, 188, - 182, 211, 48, 207, 248, 210, 122, 124, 1206, 209, - 257, 258, 185, 259, 260, 261, 262, 263, 264, 265, - 266, 276, 273, 287, 286, 278, 294, 295, 1205, 297, - 299, 300, 305, 306, 303, 313, 307, 311, 301, 316, - - 46, 317, 318, 325, 326, 329, 333, 327, 334, 330, - 351, 342, 346, 1204, 358, 354, 337, 361, 360, 363, - 362, 366, 369, 383, 364, 271, 381, 388, 231, 370, - 397, 1203, 0, 402, 406, 1202, 429, 446, 0, 1201, - 406, 412, 1200, 407, 410, 1199, 408, 1198, 413, 419, - 422, 1197, 433, 414, 447, 448, 435, 449, 452, 451, - 454, 459, 455, 458, 460, 180, 466, 462, 469, 475, - 463, 470, 473, 478, 474, 485, 482, 486, 488, 496, - 497, 498, 499, 501, 503, 1196, 506, 1195, 1194, 1193, - 1192, 1191, 1190, 504, 1189, 1188, 511, 507, 1187, 535, - - 512, 514, 513, 517, 523, 1186, 1185, 1184, 529, 515, - 547, 548, 1183, 1182, 549, 551, 1181, 552, 553, 558, - 554, 561, 555, 557, 559, 1180, 1179, 1178, 560, 563, - 1177, 562, 1176, 567, 1175, 1174, 577, 574, 582, 571, - 585, 510, 588, 591, 592, 1173, 594, 595, 1227, 604, - 623, 612, 627, 632, 597, 599, 633, 1172, 634, 635, - 1171, 1170, 636, 615, 637, 639, 641, 642, 644, 645, - 647, 648, 649, 652, 656, 659, 1169, 1168, 658, 663, - 667, 664, 1167, 1166, 668, 669, 1165, 673, 672, 675, - 676, 678, 680, 679, 684, 1164, 1163, 1162, 685, 687, - - 1161, 677, 690, 698, 0, 700, 1160, 704, 705, 1159, - 706, 708, 710, 711, 1158, 714, 715, 1157, 724, 720, - 1156, 725, 1155, 727, 1154, 1153, 728, 726, 730, 734, - 731, 1152, 741, 742, 1151, 743, 1150, 745, 744, 1149, - 753, 1148, 753, 746, 1147, 747, 761, 759, 765, 770, - 756, 773, 771, 774, 776, 778, 780, 781, 1146, 782, - 1145, 1144, 783, 786, 784, 791, 787, 792, 794, 798, - 803, 804, 1143, 806, 805, 809, 810, 811, 812, 818, - 1142, 807, 824, 1141, 826, 827, 829, 1140, 411, 828, - 830, 1139, 1138, 833, 1137, 1136, 835, 832, 834, 838, - - 843, 845, 836, 844, 1135, 853, 846, 1134, 854, 855, - 858, 863, 860, 865, 867, 1133, 1132, 870, 864, 1131, - 1130, 1129, 873, 868, 1128, 879, 881, 889, 876, 1127, - 891, 1126, 1125, 1124, 1123, 892, 878, 893, 1122, 896, - 897, 1121, 1120, 1119, 1118, 1117, 900, 1116, 1115, 1114, - 901, 902, 903, 904, 906, 1113, 908, 1112, 909, 1111, - 1110, 914, 915, 918, 919, 920, 1109, 921, 922, 925, - 926, 928, 933, 932, 937, 1108, 938, 943, 945, 946, - 947, 951, 948, 953, 1107, 956, 959, 961, 957, 1106, - 962, 968, 965, 967, 1105, 1104, 1103, 973, 1102, 969, - - 972, 975, 1101, 983, 987, 989, 1098, 974, 1088, 1086, - 991, 994, 993, 995, 998, 999, 1001, 1004, 1005, 1006, - 1007, 1010, 1085, 1009, 1013, 1012, 1017, 1021, 1024, 1018, - 1084, 1025, 1032, 1035, 1036, 1083, 1037, 1019, 1026, 1038, - 1082, 1043, 1077, 1044, 1045, 1049, 1048, 1053, 1054, 1056, - 1057, 1060, 1063, 1058, 1066, 1076, 1064, 1073, 877, 1068, - 760, 1071, 707, 604, 522, 1069, 368, 1227, 1104, 1106, - 349, 1110, 151 + 68, 152, 93, 128, 158, 190, 245, 31, 1215, 188, + 182, 211, 48, 207, 248, 210, 122, 124, 1214, 209, + 257, 259, 185, 260, 261, 262, 263, 264, 265, 266, + 269, 274, 273, 283, 277, 287, 293, 295, 1213, 297, + 298, 299, 304, 305, 306, 307, 303, 317, 319, 309, + + 46, 320, 321, 324, 326, 323, 329, 333, 336, 325, + 344, 346, 353, 1212, 354, 357, 355, 358, 360, 361, + 362, 363, 382, 364, 365, 388, 389, 393, 231, 375, + 394, 1211, 0, 413, 420, 1210, 434, 451, 0, 1209, + 395, 369, 1208, 405, 399, 1207, 413, 1206, 428, 407, + 424, 1205, 438, 436, 452, 454, 425, 442, 441, 453, + 457, 460, 465, 467, 464, 469, 180, 470, 468, 472, + 476, 471, 477, 478, 479, 482, 496, 481, 498, 500, + 501, 502, 504, 506, 503, 484, 1204, 511, 1203, 1202, + 1201, 1200, 1199, 1198, 509, 1197, 1196, 513, 512, 1195, + + 540, 517, 516, 521, 522, 528, 1194, 1193, 1192, 532, + 523, 525, 552, 1191, 1190, 555, 554, 1189, 556, 557, + 558, 559, 564, 565, 560, 561, 1188, 1187, 1186, 562, + 566, 1185, 563, 1184, 567, 1183, 1182, 568, 582, 587, + 588, 589, 590, 591, 593, 397, 1181, 592, 597, 1235, + 615, 629, 603, 633, 638, 604, 608, 639, 1180, 640, + 641, 1179, 1178, 609, 619, 643, 644, 645, 647, 648, + 649, 651, 653, 655, 652, 658, 662, 665, 1177, 1176, + 654, 669, 674, 670, 1175, 1174, 675, 678, 1173, 679, + 680, 681, 682, 685, 689, 687, 691, 1172, 1171, 1170, + + 693, 695, 1169, 684, 686, 697, 0, 703, 1168, 707, + 714, 1167, 713, 716, 718, 719, 1166, 722, 717, 1165, + 723, 725, 1164, 728, 1163, 730, 1162, 1161, 733, 734, + 737, 741, 738, 1160, 742, 744, 1159, 748, 1158, 750, + 749, 1157, 755, 1156, 756, 758, 1155, 757, 767, 759, + 768, 773, 769, 776, 777, 770, 780, 782, 781, 784, + 786, 1154, 787, 1153, 1152, 792, 795, 796, 788, 800, + 802, 803, 804, 806, 807, 1151, 810, 811, 812, 814, + 822, 824, 817, 1150, 828, 809, 1149, 829, 835, 834, + 1148, 605, 836, 838, 1147, 1146, 837, 1145, 1144, 841, + + 842, 839, 840, 852, 849, 843, 855, 1143, 857, 858, + 1142, 860, 861, 863, 864, 1141, 867, 869, 874, 1140, + 1139, 871, 878, 1138, 1137, 1136, 879, 880, 1135, 884, + 885, 883, 882, 1134, 890, 1133, 1132, 1131, 1130, 895, + 898, 900, 1129, 899, 902, 1128, 1127, 1126, 1125, 1124, + 906, 1123, 1122, 1121, 904, 903, 913, 907, 909, 1120, + 910, 1119, 911, 1118, 1117, 914, 922, 923, 924, 927, + 1116, 928, 930, 931, 938, 934, 932, 940, 942, 1115, + 944, 945, 951, 948, 950, 952, 958, 960, 1114, 961, + 963, 964, 966, 1113, 967, 972, 968, 970, 1112, 1111, + + 1110, 977, 1109, 974, 988, 978, 1106, 992, 993, 994, + 1097, 980, 1095, 1094, 996, 997, 1000, 1004, 1002, 976, + 1008, 1010, 1011, 1012, 1013, 1014, 1093, 1016, 1020, 1021, + 1022, 1025, 1029, 1024, 1091, 1032, 1027, 1031, 1035, 1090, + 1039, 1037, 1043, 1044, 1089, 1049, 1088, 1051, 1052, 1055, + 1053, 1054, 1058, 1057, 1062, 1064, 1065, 1063, 1073, 1085, + 1069, 1084, 1082, 1074, 1079, 1078, 520, 427, 368, 1077, + 328, 1235, 1112, 1114, 287, 1118, 151 } ; -static yyconst short int yy_def[574] = +static yyconst short int yy_def[578] = { 0, - 568, 1, 568, 568, 568, 568, 569, 570, 571, 568, - 570, 570, 570, 570, 572, 570, 570, 570, 570, 570, - 570, 570, 570, 570, 570, 570, 570, 570, 570, 570, - 570, 570, 570, 570, 570, 570, 569, 568, 570, 568, - 573, 573, 568, 568, 570, 570, 570, 570, 570, 572, - 570, 570, 570, 570, 570, 570, 570, 570, 570, 570, - 570, 570, 570, 570, 570, 570, 570, 570, 570, 570, - 570, 570, 570, 570, 570, 570, 570, 570, 570, 570, - 570, 570, 570, 570, 570, 570, 570, 570, 570, 570, - 570, 570, 570, 570, 570, 570, 570, 570, 570, 570, - - 570, 570, 570, 570, 570, 570, 570, 570, 570, 570, - 570, 570, 570, 570, 570, 570, 570, 570, 570, 570, - 570, 570, 570, 570, 570, 570, 570, 570, 570, 570, - 570, 568, 573, 573, 568, 570, 570, 570, 49, 570, - 570, 570, 570, 570, 570, 570, 570, 570, 570, 570, - 570, 570, 570, 570, 570, 570, 570, 570, 570, 570, - 570, 570, 570, 570, 570, 570, 570, 570, 570, 570, - 570, 570, 570, 570, 570, 570, 570, 570, 570, 570, - 570, 570, 570, 570, 570, 570, 570, 570, 570, 570, - 570, 570, 570, 570, 570, 570, 570, 570, 570, 49, - - 570, 570, 570, 570, 570, 570, 570, 570, 570, 570, - 570, 570, 570, 570, 570, 570, 570, 570, 570, 570, - 570, 570, 570, 570, 570, 570, 570, 570, 570, 570, - 570, 570, 570, 570, 570, 570, 570, 570, 570, 570, - 570, 570, 570, 570, 570, 570, 570, 570, 568, 568, - 568, 568, 570, 570, 570, 570, 570, 570, 570, 570, - 570, 570, 570, 570, 570, 570, 570, 570, 570, 570, - 570, 570, 570, 570, 570, 570, 570, 570, 570, 570, - 570, 570, 570, 570, 570, 570, 570, 570, 570, 570, - 570, 570, 570, 570, 570, 570, 570, 570, 570, 570, - - 570, 570, 570, 570, 200, 570, 570, 570, 570, 570, - 570, 570, 570, 570, 570, 570, 570, 570, 570, 570, - 570, 570, 570, 570, 570, 570, 570, 570, 570, 570, - 570, 570, 570, 570, 570, 570, 570, 570, 570, 570, - 568, 570, 570, 570, 570, 570, 570, 570, 570, 570, - 570, 570, 570, 570, 570, 570, 570, 570, 570, 570, - 570, 570, 570, 570, 570, 570, 570, 570, 570, 570, - 570, 570, 570, 570, 570, 570, 570, 570, 570, 570, - 570, 570, 570, 570, 570, 570, 570, 570, 570, 570, - 570, 570, 570, 570, 570, 570, 570, 570, 570, 570, - - 570, 570, 570, 570, 570, 570, 570, 570, 570, 570, - 570, 570, 570, 570, 570, 570, 570, 570, 570, 570, - 570, 570, 570, 570, 570, 570, 570, 570, 570, 570, - 570, 570, 570, 570, 570, 570, 570, 570, 570, 570, - 570, 570, 570, 570, 570, 570, 570, 570, 570, 570, - 570, 570, 570, 570, 570, 570, 570, 570, 570, 570, - 570, 570, 570, 570, 570, 570, 570, 570, 570, 570, - 570, 570, 570, 570, 570, 570, 570, 570, 570, 570, - 570, 570, 570, 570, 570, 570, 570, 570, 570, 570, - 570, 570, 570, 570, 570, 570, 570, 570, 570, 570, - - 570, 570, 570, 570, 570, 570, 570, 570, 570, 570, - 570, 570, 570, 570, 570, 570, 570, 570, 570, 570, - 570, 570, 570, 570, 570, 570, 570, 570, 570, 570, - 570, 570, 570, 570, 570, 570, 570, 570, 570, 570, - 570, 570, 570, 570, 570, 570, 570, 570, 570, 570, - 570, 570, 570, 570, 570, 570, 570, 570, 570, 570, - 570, 570, 570, 570, 570, 570, 570, 0, 568, 568, - 568, 568, 568 + 572, 1, 572, 572, 572, 572, 573, 574, 575, 572, + 574, 574, 574, 574, 576, 574, 574, 574, 574, 574, + 574, 574, 574, 574, 574, 574, 574, 574, 574, 574, + 574, 574, 574, 574, 574, 574, 573, 572, 574, 572, + 577, 577, 572, 572, 574, 574, 574, 574, 574, 576, + 574, 574, 574, 574, 574, 574, 574, 574, 574, 574, + 574, 574, 574, 574, 574, 574, 574, 574, 574, 574, + 574, 574, 574, 574, 574, 574, 574, 574, 574, 574, + 574, 574, 574, 574, 574, 574, 574, 574, 574, 574, + 574, 574, 574, 574, 574, 574, 574, 574, 574, 574, + + 574, 574, 574, 574, 574, 574, 574, 574, 574, 574, + 574, 574, 574, 574, 574, 574, 574, 574, 574, 574, + 574, 574, 574, 574, 574, 574, 574, 574, 574, 574, + 574, 572, 577, 577, 572, 574, 574, 574, 49, 574, + 574, 574, 574, 574, 574, 574, 574, 574, 574, 574, + 574, 574, 574, 574, 574, 574, 574, 574, 574, 574, + 574, 574, 574, 574, 574, 574, 574, 574, 574, 574, + 574, 574, 574, 574, 574, 574, 574, 574, 574, 574, + 574, 574, 574, 574, 574, 574, 574, 574, 574, 574, + 574, 574, 574, 574, 574, 574, 574, 574, 574, 574, + + 49, 574, 574, 574, 574, 574, 574, 574, 574, 574, + 574, 574, 574, 574, 574, 574, 574, 574, 574, 574, + 574, 574, 574, 574, 574, 574, 574, 574, 574, 574, + 574, 574, 574, 574, 574, 574, 574, 574, 574, 574, + 574, 574, 574, 574, 574, 574, 574, 574, 574, 572, + 572, 572, 572, 574, 574, 574, 574, 574, 574, 574, + 574, 574, 574, 574, 574, 574, 574, 574, 574, 574, + 574, 574, 574, 574, 574, 574, 574, 574, 574, 574, + 574, 574, 574, 574, 574, 574, 574, 574, 574, 574, + 574, 574, 574, 574, 574, 574, 574, 574, 574, 574, + + 574, 574, 574, 574, 574, 574, 201, 574, 574, 574, + 574, 574, 574, 574, 574, 574, 574, 574, 574, 574, + 574, 574, 574, 574, 574, 574, 574, 574, 574, 574, + 574, 574, 574, 574, 574, 574, 574, 574, 574, 574, + 574, 574, 572, 574, 574, 574, 574, 574, 574, 574, + 574, 574, 574, 574, 574, 574, 574, 574, 574, 574, + 574, 574, 574, 574, 574, 574, 574, 574, 574, 574, + 574, 574, 574, 574, 574, 574, 574, 574, 574, 574, + 574, 574, 574, 574, 574, 574, 574, 574, 574, 574, + 574, 574, 574, 574, 574, 574, 574, 574, 574, 574, + + 574, 574, 574, 574, 574, 574, 574, 574, 574, 574, + 574, 574, 574, 574, 574, 574, 574, 574, 574, 574, + 574, 574, 574, 574, 574, 574, 574, 574, 574, 574, + 574, 574, 574, 574, 574, 574, 574, 574, 574, 574, + 574, 574, 574, 574, 574, 574, 574, 574, 574, 574, + 574, 574, 574, 574, 574, 574, 574, 574, 574, 574, + 574, 574, 574, 574, 574, 574, 574, 574, 574, 574, + 574, 574, 574, 574, 574, 574, 574, 574, 574, 574, + 574, 574, 574, 574, 574, 574, 574, 574, 574, 574, + 574, 574, 574, 574, 574, 574, 574, 574, 574, 574, + + 574, 574, 574, 574, 574, 574, 574, 574, 574, 574, + 574, 574, 574, 574, 574, 574, 574, 574, 574, 574, + 574, 574, 574, 574, 574, 574, 574, 574, 574, 574, + 574, 574, 574, 574, 574, 574, 574, 574, 574, 574, + 574, 574, 574, 574, 574, 574, 574, 574, 574, 574, + 574, 574, 574, 574, 574, 574, 574, 574, 574, 574, + 574, 574, 574, 574, 574, 574, 574, 574, 574, 574, + 574, 0, 572, 572, 572, 572, 572 } ; -static yyconst short int yy_nxt[1271] = +static yyconst short int yy_nxt[1279] = { 0, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 14, 14, 4, 15, 8, 8, 8, 16, 17, @@ -598,122 +599,122 @@ 44, 44, 44, 45, 45, 45, 45, 40, 46, 40, 40, 40, 150, 40, 47, 48, 48, 48, 48, 40, 47, 48, 48, 48, 48, 40, 40, 68, 136, 40, - 69, 40, 155, 40, 51, 40, 200, 70, 56, 140, + 69, 40, 155, 40, 51, 40, 201, 70, 56, 140, 86, 52, 57, 53, 40, 54, 49, 58, 55, 60, 59, 61, 40, 87, 40, 40, 40, 64, 40, 88, 82, 65, 62, 77, 143, 79, 63, 66, 83, 78, 67, 40, 40, 84, 80, 81, 71, 85, 72, 73, 40, 89, 40, 40, 40, 40, 74, 40, 113, 100, - 75, 40, 76, 128, 97, 161, 90, 40, 129, 40, - 98, 114, 40, 133, 115, 99, 91, 126, 92, 160, + 75, 40, 76, 128, 97, 162, 90, 40, 129, 40, + 98, 114, 40, 133, 115, 99, 91, 126, 92, 161, 144, 116, 93, 40, 94, 40, 95, 130, 96, 101, 127, 40, 131, 40, 134, 134, 134, 134, 141, 102, 142, 103, 104, 145, 105, 106, 107, 146, 108, 43, 43, 43, 43, 40, 109, 40, 110, 111, 40, 112, 101, 40, 152, 40, 40, 135, 44, 44, 44, 44, - 117, 166, 118, 119, 147, 120, 151, 121, 278, 122, + 117, 167, 118, 119, 147, 120, 151, 121, 280, 122, 40, 123, 40, 40, 40, 124, 125, 47, 45, 45, - 45, 45, 40, 137, 137, 137, 137, 40, 159, 153, - 138, 154, 245, 156, 40, 162, 138, 47, 48, 48, + 45, 45, 40, 137, 137, 137, 137, 40, 160, 153, + 138, 154, 246, 156, 40, 163, 138, 47, 48, 48, 48, 48, 40, 139, 139, 139, 139, 40, 40, 139, 139, 40, 139, 139, 139, 139, 139, 139, 157, 148, + 40, 158, 40, 40, 40, 40, 40, 40, 40, 40, + 159, 149, 40, 169, 171, 164, 40, 40, 166, 41, + 40, 168, 165, 179, 174, 173, 40, 170, 175, 172, + + 40, 182, 184, 180, 176, 177, 40, 178, 40, 181, + 40, 40, 40, 183, 186, 185, 40, 40, 40, 40, + 40, 190, 40, 187, 195, 188, 192, 194, 196, 197, + 40, 189, 40, 40, 40, 191, 40, 40, 40, 40, + 193, 40, 40, 198, 204, 200, 40, 203, 207, 40, + 212, 209, 205, 199, 210, 214, 217, 40, 216, 40, + 211, 202, 208, 218, 206, 213, 40, 40, 40, 215, + 40, 40, 219, 40, 40, 40, 40, 40, 40, 220, + 222, 40, 40, 228, 226, 232, 240, 221, 40, 224, + 241, 223, 230, 227, 233, 40, 225, 229, 231, 234, + + 257, 40, 40, 235, 236, 242, 40, 40, 40, 247, + 40, 245, 40, 237, 340, 243, 238, 244, 40, 256, + 40, 239, 134, 134, 134, 134, 40, 258, 248, 251, + 251, 251, 251, 259, 249, 262, 252, 40, 40, 260, + 40, 40, 252, 137, 137, 137, 137, 40, 261, 40, + 138, 40, 263, 268, 40, 40, 138, 253, 254, 264, + 255, 255, 255, 255, 40, 40, 40, 40, 269, 270, + 40, 265, 267, 40, 266, 271, 273, 40, 40, 272, + 40, 40, 40, 40, 40, 40, 274, 275, 281, 40, + 40, 40, 40, 287, 40, 40, 288, 40, 285, 276, + + 278, 279, 277, 283, 291, 286, 284, 290, 282, 40, + 289, 40, 294, 40, 40, 40, 40, 40, 292, 40, + 295, 302, 40, 298, 40, 40, 40, 296, 299, 40, + 40, 301, 293, 40, 40, 40, 40, 297, 40, 303, + 300, 40, 304, 305, 311, 40, 314, 315, 306, 307, + 307, 307, 307, 308, 309, 307, 307, 310, 307, 307, + 307, 307, 307, 307, 312, 40, 313, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, - 158, 149, 168, 170, 40, 163, 40, 165, 241, 40, - 167, 40, 164, 173, 172, 178, 169, 174, 171, 40, + 40, 40, 321, 316, 317, 320, 323, 325, 318, 331, + 332, 322, 319, 330, 324, 40, 326, 329, 328, 327, - 40, 175, 176, 179, 177, 181, 184, 40, 40, 180, - 40, 183, 40, 40, 40, 185, 40, 182, 40, 40, - 40, 194, 189, 186, 40, 187, 40, 191, 193, 40, - 40, 40, 188, 196, 195, 198, 190, 197, 40, 40, - 40, 192, 40, 40, 202, 203, 40, 40, 206, 213, - 40, 41, 199, 204, 211, 40, 215, 208, 201, 40, - 209, 216, 207, 214, 40, 205, 210, 40, 218, 212, - 217, 40, 219, 40, 40, 40, 40, 40, 224, 40, - 220, 40, 40, 40, 221, 227, 223, 225, 231, 240, - 234, 235, 229, 226, 40, 222, 40, 232, 230, 228, - - 236, 40, 233, 237, 246, 239, 244, 242, 238, 243, - 40, 134, 134, 134, 134, 250, 250, 250, 250, 40, - 40, 40, 251, 40, 40, 40, 40, 40, 251, 257, - 255, 247, 40, 260, 259, 40, 443, 248, 137, 137, - 137, 137, 40, 256, 258, 138, 40, 261, 40, 264, - 262, 138, 252, 253, 263, 254, 254, 254, 254, 40, - 40, 40, 40, 267, 40, 40, 266, 40, 40, 265, - 271, 40, 40, 40, 269, 40, 40, 268, 270, 40, - 272, 273, 40, 40, 279, 285, 40, 40, 40, 286, - 275, 40, 277, 274, 276, 40, 289, 283, 40, 40, - - 281, 40, 280, 282, 284, 287, 288, 290, 293, 40, - 40, 40, 40, 292, 40, 294, 40, 40, 296, 40, - 40, 291, 297, 40, 40, 40, 40, 40, 40, 299, - 40, 335, 295, 298, 301, 40, 40, 302, 312, 309, - 300, 303, 40, 304, 305, 305, 305, 305, 306, 308, - 305, 305, 307, 305, 305, 305, 305, 305, 305, 310, - 40, 40, 40, 311, 40, 40, 40, 40, 40, 313, - 40, 40, 40, 40, 40, 40, 40, 323, 315, 314, - 40, 318, 319, 321, 40, 316, 320, 40, 317, 329, - 40, 322, 328, 324, 327, 40, 326, 325, 40, 330, - - 331, 40, 333, 334, 40, 40, 336, 40, 40, 338, - 40, 332, 40, 250, 250, 250, 250, 40, 337, 343, - 251, 341, 341, 341, 341, 339, 251, 342, 40, 252, - 252, 340, 341, 341, 341, 341, 254, 254, 254, 254, - 40, 254, 254, 254, 254, 40, 40, 40, 40, 40, - 40, 348, 40, 346, 40, 40, 347, 40, 40, 351, - 40, 40, 40, 344, 345, 40, 356, 350, 352, 40, - 358, 40, 40, 349, 354, 355, 40, 40, 359, 360, - 40, 40, 40, 357, 353, 40, 40, 367, 40, 40, - 40, 40, 40, 40, 361, 368, 366, 40, 40, 362, - - 40, 365, 363, 40, 364, 372, 369, 371, 373, 370, - 374, 40, 375, 40, 378, 377, 376, 40, 40, 40, - 40, 40, 381, 40, 40, 383, 379, 40, 40, 380, - 382, 385, 386, 40, 387, 389, 388, 40, 40, 40, - 40, 40, 384, 40, 40, 392, 390, 40, 391, 393, - 395, 394, 397, 396, 40, 40, 40, 40, 40, 40, - 40, 398, 341, 341, 341, 341, 40, 406, 402, 40, - 404, 405, 40, 40, 40, 399, 400, 409, 40, 401, - 403, 408, 407, 40, 40, 410, 40, 40, 411, 40, - 412, 40, 413, 40, 40, 40, 40, 40, 416, 40, - - 40, 419, 420, 414, 40, 40, 415, 40, 417, 421, - 418, 40, 422, 424, 423, 425, 40, 40, 40, 40, - 40, 426, 40, 40, 40, 40, 430, 432, 428, 433, - 427, 40, 434, 435, 436, 429, 431, 40, 438, 40, - 40, 40, 40, 40, 437, 40, 40, 40, 40, 40, - 441, 40, 445, 448, 440, 447, 40, 40, 40, 40, - 439, 442, 450, 452, 444, 446, 40, 40, 40, 451, - 449, 40, 453, 40, 454, 458, 40, 40, 40, 455, - 40, 40, 456, 40, 457, 460, 40, 464, 465, 40, - 40, 40, 40, 467, 40, 461, 462, 468, 463, 459, - - 466, 469, 40, 470, 40, 40, 40, 471, 475, 40, - 40, 473, 472, 40, 40, 40, 40, 40, 477, 40, - 478, 40, 40, 476, 482, 479, 474, 40, 40, 480, - 483, 40, 40, 40, 40, 40, 484, 481, 40, 40, - 486, 40, 491, 492, 485, 40, 40, 490, 487, 488, - 40, 40, 493, 494, 495, 497, 40, 489, 40, 40, - 40, 40, 496, 502, 40, 501, 40, 498, 503, 40, - 40, 505, 40, 499, 40, 40, 500, 507, 40, 511, - 40, 40, 40, 504, 506, 40, 40, 40, 40, 515, - 512, 517, 518, 508, 519, 509, 40, 510, 513, 516, - - 40, 514, 40, 520, 40, 521, 40, 40, 40, 524, - 523, 40, 40, 527, 40, 522, 525, 40, 40, 40, - 40, 530, 40, 40, 533, 40, 40, 528, 535, 526, - 40, 40, 40, 532, 40, 534, 536, 40, 40, 40, - 531, 529, 537, 540, 538, 40, 541, 543, 40, 40, - 40, 40, 549, 539, 542, 548, 40, 40, 40, 547, - 544, 40, 40, 545, 546, 553, 40, 40, 550, 40, - 40, 40, 552, 40, 551, 554, 40, 40, 555, 40, - 560, 40, 40, 561, 40, 557, 40, 556, 565, 40, - 40, 559, 558, 566, 564, 40, 40, 40, 40, 40, - - 562, 40, 563, 567, 37, 37, 37, 37, 39, 39, - 50, 40, 50, 50, 40, 40, 40, 40, 40, 40, - 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, + 40, 40, 40, 40, 40, 40, 40, 336, 333, 338, + 40, 337, 343, 343, 343, 343, 334, 40, 40, 335, + 339, 40, 40, 341, 251, 251, 251, 251, 345, 349, + 447, 252, 40, 342, 344, 253, 253, 252, 343, 343, + 343, 343, 255, 255, 255, 255, 40, 255, 255, 255, + 255, 40, 40, 40, 40, 350, 40, 40, 40, 348, + 40, 40, 40, 353, 40, 40, 40, 40, 40, 346, + 347, 40, 352, 359, 355, 40, 361, 354, 40, 351, + 357, 358, 40, 40, 362, 363, 360, 40, 40, 356, + 364, 40, 40, 40, 40, 40, 370, 40, 40, 40, + + 40, 371, 40, 369, 40, 365, 40, 368, 40, 366, + 40, 367, 375, 374, 372, 373, 40, 376, 377, 378, + 40, 381, 382, 380, 379, 384, 40, 40, 383, 40, + 40, 40, 40, 385, 386, 40, 40, 392, 40, 388, + 389, 40, 390, 40, 391, 393, 40, 40, 395, 387, + 40, 40, 396, 394, 40, 40, 397, 40, 398, 400, + 399, 40, 40, 40, 343, 343, 343, 343, 401, 40, + 40, 40, 40, 405, 408, 407, 402, 412, 403, 409, + 40, 40, 40, 40, 404, 406, 40, 411, 413, 40, + 40, 414, 410, 40, 40, 40, 417, 40, 416, 40, + + 40, 40, 418, 415, 420, 40, 423, 424, 40, 40, + 428, 421, 419, 40, 422, 40, 40, 40, 425, 40, + 40, 426, 40, 40, 40, 40, 427, 40, 429, 434, + 40, 430, 437, 436, 432, 40, 438, 40, 433, 431, + 435, 40, 40, 441, 439, 443, 440, 40, 40, 40, + 40, 40, 40, 40, 40, 40, 40, 444, 445, 442, + 449, 451, 40, 452, 454, 40, 446, 456, 40, 450, + 40, 40, 448, 40, 40, 453, 40, 40, 455, 457, + 40, 462, 40, 459, 40, 458, 464, 40, 468, 469, + 461, 40, 40, 40, 460, 40, 40, 40, 40, 471, + + 466, 475, 465, 40, 463, 467, 473, 474, 40, 472, + 477, 40, 40, 40, 470, 40, 40, 40, 476, 40, + 40, 481, 40, 40, 40, 482, 40, 40, 479, 478, + 480, 483, 484, 487, 486, 40, 40, 40, 485, 488, + 40, 40, 490, 40, 40, 40, 489, 40, 491, 495, + 496, 40, 494, 40, 501, 40, 492, 40, 40, 498, + 497, 40, 493, 40, 40, 40, 499, 505, 500, 506, + 507, 40, 509, 40, 40, 502, 40, 40, 503, 40, + 40, 40, 504, 40, 511, 40, 508, 40, 515, 40, + 40, 40, 519, 40, 510, 516, 521, 523, 512, 513, + + 514, 40, 517, 520, 518, 40, 40, 40, 522, 40, + 40, 525, 524, 40, 528, 40, 527, 40, 533, 529, + 526, 40, 531, 40, 40, 40, 40, 40, 534, 40, + 537, 532, 539, 40, 40, 40, 530, 40, 40, 536, + 40, 538, 40, 540, 40, 40, 535, 544, 40, 541, + 40, 545, 40, 542, 547, 548, 40, 40, 543, 549, + 546, 551, 40, 550, 40, 40, 40, 40, 40, 553, + 40, 40, 557, 552, 554, 40, 40, 40, 40, 556, + 555, 558, 40, 559, 564, 565, 40, 40, 560, 561, + 40, 40, 40, 562, 569, 40, 563, 40, 40, 568, + + 570, 40, 40, 40, 40, 566, 40, 40, 40, 567, + 40, 571, 37, 37, 37, 37, 39, 39, 50, 40, + 50, 50, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, @@ -723,15 +724,16 @@ 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, - 40, 40, 40, 40, 40, 40, 249, 40, 40, 40, - 40, 40, 132, 40, 38, 568, 3, 568, 568, 568, - 568, 568, 568, 568, 568, 568, 568, 568, 568, 568, - 568, 568, 568, 568, 568, 568, 568, 568, 568, 568, - 568, 568, 568, 568, 568, 568, 568, 568, 568, 568, - 568, 568, 568, 568, 568, 568, 568, 568, 568, 568 + 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, + 40, 40, 40, 40, 250, 40, 40, 40, 40, 40, + 132, 40, 38, 572, 3, 572, 572, 572, 572, 572, + 572, 572, 572, 572, 572, 572, 572, 572, 572, 572, + 572, 572, 572, 572, 572, 572, 572, 572, 572, 572, + 572, 572, 572, 572, 572, 572, 572, 572, 572, 572, + 572, 572, 572, 572, 572, 572, 572, 572 } ; -static yyconst short int yy_chk[1271] = +static yyconst short int yy_chk[1279] = { 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -749,129 +751,130 @@ 19, 21, 26, 24, 23, 23, 21, 24, 21, 21, 29, 26, 28, 31, 34, 67, 21, 68, 31, 29, 21, 54, 21, 34, 28, 68, 26, 27, 35, 35, - 28, 31, 33, 573, 31, 28, 27, 33, 27, 67, + 28, 31, 33, 577, 31, 28, 27, 33, 27, 67, 54, 31, 27, 36, 27, 52, 27, 35, 27, 30, 33, 55, 36, 30, 42, 42, 42, 42, 52, 30, 52, 30, 30, 55, 30, 30, 30, 55, 30, 43, - 43, 43, 43, 166, 30, 61, 30, 30, 73, 30, + 43, 43, 43, 167, 30, 61, 30, 30, 73, 30, 32, 60, 61, 56, 32, 44, 44, 44, 44, 44, - 32, 73, 32, 32, 56, 32, 60, 32, 166, 32, + 32, 73, 32, 32, 56, 32, 60, 32, 167, 32, 64, 32, 70, 66, 62, 32, 32, 45, 45, 45, 45, 45, 45, 47, 47, 47, 47, 47, 66, 62, 47, 62, 129, 64, 129, 70, 47, 48, 48, 48, 48, 48, 48, 49, 49, 49, 49, 49, 57, 49, 49, 65, 49, 49, 49, 49, 49, 49, 65, 57, - 71, 72, 74, 75, 76, 77, 78, 79, 80, 81, - 65, 57, 75, 76, 126, 71, 83, 72, 126, 82, - 74, 86, 71, 79, 78, 82, 75, 80, 77, 85, - - 84, 81, 81, 83, 81, 84, 86, 87, 88, 83, - 90, 85, 91, 92, 99, 87, 95, 84, 93, 94, - 97, 95, 92, 88, 98, 90, 96, 93, 94, 100, - 102, 103, 91, 97, 96, 99, 92, 98, 104, 105, - 108, 93, 106, 110, 103, 104, 107, 109, 105, 108, - 117, 571, 100, 104, 107, 112, 109, 106, 102, 113, - 106, 110, 105, 108, 111, 104, 106, 116, 112, 107, - 111, 115, 113, 119, 118, 121, 120, 125, 117, 122, - 113, 567, 123, 130, 115, 120, 116, 118, 122, 125, - 123, 123, 121, 119, 127, 115, 124, 122, 121, 120, - - 123, 128, 122, 123, 130, 124, 128, 127, 123, 127, - 131, 134, 134, 134, 134, 135, 135, 135, 135, 141, - 144, 147, 135, 145, 389, 142, 149, 154, 135, 144, - 141, 131, 150, 149, 147, 151, 389, 131, 137, 137, - 137, 137, 137, 142, 145, 137, 153, 150, 157, 154, - 151, 137, 138, 138, 153, 138, 138, 138, 138, 138, - 155, 156, 158, 157, 160, 159, 156, 161, 163, 155, - 160, 164, 162, 165, 159, 168, 171, 158, 159, 167, - 161, 162, 169, 172, 167, 171, 173, 175, 170, 172, - 163, 174, 165, 162, 164, 177, 175, 170, 176, 178, - - 169, 179, 168, 169, 170, 173, 174, 176, 178, 180, - 181, 182, 183, 177, 184, 179, 185, 194, 181, 187, - 198, 176, 182, 242, 197, 201, 203, 202, 210, 184, - 204, 242, 180, 183, 187, 565, 205, 194, 210, 204, - 185, 197, 209, 198, 200, 200, 200, 200, 201, 203, - 200, 200, 202, 200, 200, 200, 200, 200, 200, 205, - 211, 212, 215, 209, 216, 218, 219, 221, 223, 211, - 224, 220, 225, 229, 222, 232, 230, 223, 215, 212, - 234, 219, 220, 222, 240, 216, 221, 238, 218, 234, - 237, 222, 232, 224, 230, 239, 229, 225, 241, 237, - - 238, 243, 240, 241, 244, 245, 243, 247, 248, 245, - 255, 239, 256, 250, 250, 250, 250, 564, 244, 256, - 250, 252, 252, 252, 252, 247, 250, 255, 264, 251, - 251, 248, 251, 251, 251, 251, 253, 253, 253, 253, - 253, 254, 254, 254, 254, 254, 257, 259, 260, 263, - 265, 264, 266, 260, 267, 268, 263, 269, 270, 267, - 271, 272, 273, 257, 259, 274, 272, 266, 268, 275, - 274, 279, 276, 265, 270, 271, 280, 282, 275, 276, - 281, 285, 286, 273, 269, 289, 288, 286, 290, 291, - 302, 292, 294, 293, 279, 288, 285, 295, 299, 280, - - 300, 282, 281, 303, 281, 292, 289, 291, 293, 290, - 294, 304, 295, 306, 302, 300, 299, 308, 309, 311, - 563, 312, 306, 313, 314, 309, 303, 316, 317, 304, - 308, 312, 313, 320, 314, 317, 316, 319, 322, 328, - 324, 327, 311, 329, 331, 322, 319, 330, 320, 324, - 328, 327, 330, 329, 333, 334, 336, 339, 338, 344, - 346, 331, 341, 341, 341, 341, 343, 344, 338, 351, - 339, 343, 348, 561, 347, 333, 334, 348, 349, 336, - 338, 347, 346, 350, 353, 349, 352, 354, 350, 355, - 351, 356, 352, 357, 358, 360, 363, 365, 355, 364, - - 367, 358, 360, 353, 366, 368, 354, 369, 356, 363, - 357, 370, 364, 366, 365, 367, 371, 372, 375, 374, - 382, 368, 376, 377, 378, 379, 372, 375, 370, 376, - 369, 380, 377, 378, 379, 371, 374, 383, 382, 385, - 386, 390, 387, 391, 380, 398, 394, 399, 397, 403, - 386, 400, 391, 398, 385, 397, 401, 404, 402, 407, - 383, 387, 400, 402, 390, 394, 406, 409, 410, 401, - 399, 411, 403, 413, 404, 410, 412, 419, 414, 406, - 415, 424, 407, 418, 409, 412, 423, 418, 418, 429, - 559, 437, 426, 423, 427, 413, 414, 424, 415, 411, - - 419, 426, 428, 427, 431, 436, 438, 428, 437, 440, - 441, 431, 429, 447, 451, 452, 453, 454, 440, 455, - 441, 457, 459, 438, 453, 447, 436, 462, 463, 451, - 454, 464, 465, 466, 468, 469, 455, 452, 470, 471, - 459, 472, 466, 468, 457, 474, 473, 465, 462, 463, - 475, 477, 469, 470, 471, 473, 478, 464, 479, 480, - 481, 483, 472, 479, 482, 478, 484, 474, 480, 486, - 489, 482, 487, 475, 488, 491, 477, 484, 493, 489, - 494, 492, 500, 481, 483, 501, 498, 508, 502, 494, - 491, 500, 501, 486, 502, 487, 504, 488, 492, 498, - - 505, 493, 506, 504, 511, 505, 513, 512, 514, 511, - 508, 515, 516, 514, 517, 506, 512, 518, 519, 520, - 521, 517, 524, 522, 520, 526, 525, 515, 522, 513, - 527, 530, 538, 519, 528, 521, 524, 529, 532, 539, - 518, 516, 525, 528, 526, 533, 529, 532, 534, 535, - 537, 540, 539, 527, 530, 538, 542, 544, 545, 537, - 533, 547, 546, 534, 535, 545, 548, 549, 540, 550, - 551, 554, 544, 552, 542, 546, 553, 557, 547, 555, - 552, 560, 566, 553, 562, 549, 558, 548, 560, 556, - 543, 551, 550, 562, 557, 541, 536, 531, 523, 510, - - 554, 509, 555, 566, 569, 569, 569, 569, 570, 570, - 572, 507, 572, 572, 503, 499, 497, 496, 495, 490, - 485, 476, 467, 461, 460, 458, 456, 450, 449, 448, - 446, 445, 444, 443, 442, 439, 435, 434, 433, 432, - 430, 425, 422, 421, 420, 417, 416, 408, 405, 396, - 395, 393, 392, 388, 384, 381, 373, 362, 361, 359, - 345, 342, 340, 337, 335, 332, 326, 325, 323, 321, - 318, 315, 310, 307, 301, 298, 297, 296, 287, 284, - 283, 278, 277, 262, 261, 258, 246, 236, 235, 233, - 231, 228, 227, 226, 217, 214, 213, 208, 207, 206, - - 199, 196, 195, 193, 192, 191, 190, 189, 188, 186, - 152, 148, 146, 143, 140, 136, 132, 114, 89, 69, - 59, 39, 37, 8, 7, 3, 568, 568, 568, 568, - 568, 568, 568, 568, 568, 568, 568, 568, 568, 568, - 568, 568, 568, 568, 568, 568, 568, 568, 568, 568, - 568, 568, 568, 568, 568, 568, 568, 568, 568, 568, - 568, 568, 568, 568, 568, 568, 568, 568, 568, 568 + 71, 65, 72, 74, 75, 76, 77, 78, 79, 80, + 65, 57, 81, 75, 76, 71, 83, 82, 72, 575, + 85, 74, 71, 82, 79, 78, 84, 75, 80, 77, + + 86, 84, 85, 83, 81, 81, 87, 81, 88, 83, + 90, 91, 92, 84, 87, 86, 97, 93, 94, 95, + 96, 92, 100, 88, 95, 90, 93, 94, 96, 97, + 98, 91, 99, 102, 103, 92, 106, 104, 110, 105, + 93, 571, 107, 98, 104, 100, 108, 103, 105, 109, + 107, 106, 104, 99, 106, 108, 110, 111, 109, 112, + 106, 102, 105, 111, 104, 107, 113, 115, 117, 108, + 116, 118, 112, 119, 120, 121, 122, 124, 125, 113, + 115, 569, 142, 120, 118, 122, 124, 113, 130, 116, + 125, 115, 121, 119, 122, 123, 117, 120, 121, 122, + + 142, 126, 127, 123, 123, 126, 128, 131, 141, 130, + 246, 128, 145, 123, 246, 127, 123, 127, 144, 141, + 150, 123, 134, 134, 134, 134, 147, 144, 131, 135, + 135, 135, 135, 145, 131, 150, 135, 151, 157, 147, + 568, 149, 135, 137, 137, 137, 137, 137, 149, 154, + 137, 153, 151, 157, 159, 158, 137, 138, 138, 153, + 138, 138, 138, 138, 138, 155, 160, 156, 158, 159, + 161, 154, 156, 162, 155, 160, 161, 165, 163, 160, + 164, 169, 166, 168, 172, 170, 162, 163, 168, 171, + 173, 174, 175, 172, 178, 176, 173, 186, 171, 163, + + 165, 166, 164, 170, 176, 171, 170, 175, 169, 177, + 174, 179, 178, 180, 181, 182, 185, 183, 177, 184, + 179, 186, 195, 182, 188, 199, 198, 180, 183, 203, + 202, 185, 177, 567, 204, 205, 211, 181, 212, 188, + 184, 206, 195, 198, 205, 210, 211, 212, 199, 201, + 201, 201, 201, 202, 203, 201, 201, 204, 201, 201, + 201, 201, 201, 201, 206, 213, 210, 217, 216, 219, + 220, 221, 222, 225, 226, 230, 233, 223, 224, 231, + 235, 238, 221, 213, 216, 220, 223, 224, 217, 235, + 238, 222, 219, 233, 223, 239, 225, 231, 230, 226, + + 240, 241, 242, 243, 244, 248, 245, 242, 239, 244, + 249, 243, 253, 253, 253, 253, 240, 256, 392, 241, + 245, 257, 264, 248, 251, 251, 251, 251, 257, 264, + 392, 251, 265, 249, 256, 252, 252, 251, 252, 252, + 252, 252, 254, 254, 254, 254, 254, 255, 255, 255, + 255, 255, 258, 260, 261, 265, 266, 267, 268, 261, + 269, 270, 271, 268, 272, 275, 273, 281, 274, 258, + 260, 276, 267, 274, 270, 277, 276, 269, 278, 266, + 272, 273, 282, 284, 277, 278, 275, 283, 287, 271, + 281, 288, 290, 291, 292, 293, 288, 304, 294, 305, + + 296, 290, 295, 287, 297, 282, 301, 284, 302, 283, + 306, 283, 294, 293, 291, 292, 308, 295, 296, 297, + 310, 304, 305, 302, 301, 308, 313, 311, 306, 314, + 319, 315, 316, 310, 311, 318, 321, 319, 322, 314, + 315, 324, 316, 326, 318, 321, 329, 330, 324, 313, + 331, 333, 326, 322, 332, 335, 329, 336, 330, 332, + 331, 338, 341, 340, 343, 343, 343, 343, 333, 345, + 348, 346, 350, 340, 345, 341, 335, 350, 336, 346, + 349, 351, 353, 356, 338, 340, 352, 349, 351, 354, + 355, 352, 348, 357, 359, 358, 355, 360, 354, 361, + + 363, 369, 356, 353, 358, 366, 361, 363, 367, 368, + 369, 359, 357, 370, 360, 371, 372, 373, 366, 374, + 375, 367, 386, 377, 378, 379, 368, 380, 370, 375, + 383, 371, 379, 378, 373, 381, 380, 382, 374, 372, + 377, 385, 388, 383, 381, 386, 382, 390, 389, 393, + 397, 394, 402, 403, 400, 401, 406, 388, 389, 385, + 394, 400, 405, 401, 403, 404, 390, 405, 407, 397, + 409, 410, 393, 412, 413, 402, 414, 415, 404, 406, + 417, 413, 418, 409, 422, 407, 415, 419, 422, 422, + 412, 423, 427, 428, 410, 433, 432, 430, 431, 427, + + 418, 432, 417, 435, 414, 419, 430, 431, 440, 428, + 435, 441, 444, 442, 423, 445, 456, 455, 433, 451, + 458, 444, 459, 461, 463, 445, 457, 466, 441, 440, + 442, 451, 455, 458, 457, 467, 468, 469, 456, 459, + 470, 472, 463, 473, 474, 477, 461, 476, 466, 470, + 472, 475, 469, 478, 477, 479, 467, 481, 482, 474, + 473, 484, 468, 485, 483, 486, 475, 482, 476, 483, + 484, 487, 486, 488, 490, 478, 491, 492, 479, 493, + 495, 497, 481, 498, 488, 496, 485, 504, 493, 520, + 502, 506, 498, 512, 487, 495, 504, 506, 490, 491, + + 492, 505, 496, 502, 497, 508, 509, 510, 505, 515, + 516, 509, 508, 517, 515, 519, 512, 518, 520, 516, + 510, 521, 518, 522, 523, 524, 525, 526, 521, 528, + 524, 519, 526, 529, 530, 531, 517, 534, 532, 523, + 537, 525, 533, 528, 538, 536, 522, 532, 539, 529, + 542, 533, 541, 530, 536, 537, 543, 544, 531, 538, + 534, 541, 546, 539, 548, 549, 551, 552, 550, 543, + 554, 553, 549, 542, 544, 555, 558, 556, 557, 548, + 546, 550, 561, 551, 556, 557, 559, 564, 552, 553, + 570, 566, 565, 554, 564, 563, 555, 562, 560, 561, + + 566, 547, 545, 540, 535, 558, 527, 514, 513, 559, + 511, 570, 573, 573, 573, 573, 574, 574, 576, 507, + 576, 576, 503, 501, 500, 499, 494, 489, 480, 471, + 465, 464, 462, 460, 454, 453, 452, 450, 449, 448, + 447, 446, 443, 439, 438, 437, 436, 434, 429, 426, + 425, 424, 421, 420, 416, 411, 408, 399, 398, 396, + 395, 391, 387, 384, 376, 365, 364, 362, 347, 344, + 342, 339, 337, 334, 328, 327, 325, 323, 320, 317, + 312, 309, 303, 300, 299, 298, 289, 286, 285, 280, + 279, 263, 262, 259, 247, 237, 236, 234, 232, 229, + + 228, 227, 218, 215, 214, 209, 208, 207, 200, 197, + 196, 194, 193, 192, 191, 190, 189, 187, 152, 148, + 146, 143, 140, 136, 132, 114, 89, 69, 59, 39, + 37, 8, 7, 3, 572, 572, 572, 572, 572, 572, + 572, 572, 572, 572, 572, 572, 572, 572, 572, 572, + 572, 572, 572, 572, 572, 572, 572, 572, 572, 572, + 572, 572, 572, 572, 572, 572, 572, 572, 572, 572, + 572, 572, 572, 572, 572, 572, 572, 572 } ; static yy_state_type yy_state_buf[YY_BUF_SIZE + 2], *yy_state_ptr; @@ -888,7 +891,7 @@ #define YY_MORE_ADJ 0 #define YY_RESTORE_YY_MORE_OFFSET char *yytext; -#line 1 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" +#line 1 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" #define INITIAL 0 /*===-- Lexer.l - Scanner for llvm assembly files --------------*- C++ -*--===// // @@ -903,7 +906,7 @@ // //===----------------------------------------------------------------------===*/ #define YY_NEVER_INTERACTIVE 1 -#line 28 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" +#line 28 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" #include "ParserInternals.h" #include "llvm/Module.h" #include @@ -1036,7 +1039,7 @@ /* HexIntConstant - Hexadecimal constant generated by the CFE to avoid forcing * it to deal with 64 bit numbers. */ -#line 1040 "Lexer.cpp" +#line 1043 "Lexer.cpp" /* Macros after this point can all be overridden by user definitions in * section 1. @@ -1187,10 +1190,10 @@ register char *yy_cp = NULL, *yy_bp = NULL; register int yy_act; -#line 186 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" +#line 186 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" -#line 1194 "Lexer.cpp" +#line 1197 "Lexer.cpp" if ( yy_init ) { @@ -1238,14 +1241,14 @@ while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 569 ) + if ( yy_current_state >= 573 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; *yy_state_ptr++ = yy_current_state; ++yy_cp; } - while ( yy_current_state != 568 ); + while ( yy_current_state != 572 ); yy_find_action: yy_current_state = *--yy_state_ptr; @@ -1283,651 +1286,656 @@ { /* beginning of action switch */ case 1: YY_RULE_SETUP -#line 188 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" +#line 188 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" { /* Ignore comments for now */ } YY_BREAK case 2: YY_RULE_SETUP -#line 190 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" +#line 190 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" { return BEGINTOK; } YY_BREAK case 3: YY_RULE_SETUP -#line 191 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" +#line 191 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" { return ENDTOK; } YY_BREAK case 4: YY_RULE_SETUP -#line 192 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" +#line 192 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" { return TRUETOK; } YY_BREAK case 5: YY_RULE_SETUP -#line 193 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" +#line 193 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" { return FALSETOK; } YY_BREAK case 6: YY_RULE_SETUP -#line 194 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" +#line 194 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" { return DECLARE; } YY_BREAK case 7: YY_RULE_SETUP -#line 195 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" -{ return GLOBAL; } +#line 195 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +{ return DEFINE; } YY_BREAK case 8: YY_RULE_SETUP -#line 196 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" -{ return CONSTANT; } +#line 196 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +{ return GLOBAL; } YY_BREAK case 9: YY_RULE_SETUP -#line 197 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" -{ return INTERNAL; } +#line 197 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +{ return CONSTANT; } YY_BREAK case 10: YY_RULE_SETUP -#line 198 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" -{ return LINKONCE; } +#line 198 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +{ return INTERNAL; } YY_BREAK case 11: YY_RULE_SETUP -#line 199 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" -{ return WEAK; } +#line 199 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +{ return LINKONCE; } YY_BREAK case 12: YY_RULE_SETUP -#line 200 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" -{ return APPENDING; } +#line 200 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +{ return WEAK; } YY_BREAK case 13: YY_RULE_SETUP -#line 201 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" -{ return DLLIMPORT; } +#line 201 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +{ return APPENDING; } YY_BREAK case 14: YY_RULE_SETUP -#line 202 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" -{ return DLLEXPORT; } +#line 202 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +{ return DLLIMPORT; } YY_BREAK case 15: YY_RULE_SETUP -#line 203 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" -{ return EXTERN_WEAK; } +#line 203 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +{ return DLLEXPORT; } YY_BREAK case 16: YY_RULE_SETUP -#line 204 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" -{ return EXTERNAL; } +#line 204 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +{ return EXTERN_WEAK; } YY_BREAK case 17: YY_RULE_SETUP -#line 205 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" -{ return IMPLEMENTATION; } +#line 205 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +{ return EXTERNAL; } YY_BREAK case 18: YY_RULE_SETUP -#line 206 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" -{ return ZEROINITIALIZER; } +#line 206 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +{ return IMPLEMENTATION; } YY_BREAK case 19: YY_RULE_SETUP -#line 207 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" -{ return DOTDOTDOT; } +#line 207 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +{ return ZEROINITIALIZER; } YY_BREAK case 20: YY_RULE_SETUP -#line 208 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" -{ return UNDEF; } +#line 208 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +{ return DOTDOTDOT; } YY_BREAK case 21: YY_RULE_SETUP -#line 209 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" -{ return NULL_TOK; } +#line 209 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +{ return UNDEF; } YY_BREAK case 22: YY_RULE_SETUP -#line 210 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" -{ return TO; } +#line 210 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +{ return NULL_TOK; } YY_BREAK case 23: YY_RULE_SETUP -#line 211 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" -{ return TAIL; } +#line 211 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +{ return TO; } YY_BREAK case 24: YY_RULE_SETUP -#line 212 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" -{ return TARGET; } +#line 212 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +{ return TAIL; } YY_BREAK case 25: YY_RULE_SETUP -#line 213 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" -{ return TRIPLE; } +#line 213 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +{ return TARGET; } YY_BREAK case 26: YY_RULE_SETUP -#line 214 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" -{ return DEPLIBS; } +#line 214 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +{ return TRIPLE; } YY_BREAK case 27: YY_RULE_SETUP -#line 215 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" -{ return ENDIAN; } +#line 215 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +{ return DEPLIBS; } YY_BREAK case 28: YY_RULE_SETUP -#line 216 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" -{ return POINTERSIZE; } +#line 216 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +{ return ENDIAN; } YY_BREAK case 29: YY_RULE_SETUP -#line 217 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" -{ return DATALAYOUT; } +#line 217 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +{ return POINTERSIZE; } YY_BREAK case 30: YY_RULE_SETUP -#line 218 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" -{ return LITTLE; } +#line 218 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +{ return DATALAYOUT; } YY_BREAK case 31: YY_RULE_SETUP -#line 219 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" -{ return BIG; } +#line 219 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +{ return LITTLE; } YY_BREAK case 32: YY_RULE_SETUP -#line 220 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" -{ return VOLATILE; } +#line 220 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +{ return BIG; } YY_BREAK case 33: YY_RULE_SETUP -#line 221 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" -{ return ALIGN; } +#line 221 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +{ return VOLATILE; } YY_BREAK case 34: YY_RULE_SETUP -#line 222 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" -{ return SECTION; } +#line 222 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +{ return ALIGN; } YY_BREAK case 35: YY_RULE_SETUP -#line 223 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" -{ return MODULE; } +#line 223 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +{ return SECTION; } YY_BREAK case 36: YY_RULE_SETUP -#line 224 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" -{ return ASM_TOK; } +#line 224 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +{ return MODULE; } YY_BREAK case 37: YY_RULE_SETUP -#line 225 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" -{ return SIDEEFFECT; } +#line 225 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +{ return ASM_TOK; } YY_BREAK case 38: YY_RULE_SETUP -#line 227 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" -{ return CC_TOK; } +#line 226 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +{ return SIDEEFFECT; } YY_BREAK case 39: YY_RULE_SETUP -#line 228 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" -{ return CCC_TOK; } +#line 228 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +{ return CC_TOK; } YY_BREAK case 40: YY_RULE_SETUP -#line 229 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" -{ return CSRETCC_TOK; } +#line 229 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +{ return CCC_TOK; } YY_BREAK case 41: YY_RULE_SETUP -#line 230 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" -{ return FASTCC_TOK; } +#line 230 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +{ return CSRETCC_TOK; } YY_BREAK case 42: YY_RULE_SETUP -#line 231 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" -{ return COLDCC_TOK; } +#line 231 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +{ return FASTCC_TOK; } YY_BREAK case 43: YY_RULE_SETUP -#line 232 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" -{ return X86_STDCALLCC_TOK; } +#line 232 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +{ return COLDCC_TOK; } YY_BREAK case 44: YY_RULE_SETUP -#line 233 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" -{ return X86_FASTCALLCC_TOK; } +#line 233 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +{ return X86_STDCALLCC_TOK; } YY_BREAK case 45: YY_RULE_SETUP -#line 235 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" -{ RET_TY(Type::VoidTy, VOID); } +#line 234 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +{ return X86_FASTCALLCC_TOK; } YY_BREAK case 46: YY_RULE_SETUP -#line 236 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" -{ RET_TY(Type::BoolTy, BOOL); } +#line 236 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +{ RET_TY(Type::VoidTy, VOID); } YY_BREAK case 47: YY_RULE_SETUP -#line 237 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" -{ RET_TY(Type::SByteTy, SBYTE); } +#line 237 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +{ RET_TY(Type::BoolTy, BOOL); } YY_BREAK case 48: YY_RULE_SETUP -#line 238 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" -{ RET_TY(Type::UByteTy, UBYTE); } +#line 238 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +{ RET_TY(Type::SByteTy, SBYTE); } YY_BREAK case 49: YY_RULE_SETUP -#line 239 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" -{ RET_TY(Type::ShortTy, SHORT); } +#line 239 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +{ RET_TY(Type::UByteTy, UBYTE); } YY_BREAK case 50: YY_RULE_SETUP -#line 240 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" -{ RET_TY(Type::UShortTy,USHORT);} +#line 240 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +{ RET_TY(Type::ShortTy, SHORT); } YY_BREAK case 51: YY_RULE_SETUP -#line 241 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" -{ RET_TY(Type::IntTy, INT); } +#line 241 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +{ RET_TY(Type::UShortTy,USHORT);} YY_BREAK case 52: YY_RULE_SETUP -#line 242 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" -{ RET_TY(Type::UIntTy, UINT); } +#line 242 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +{ RET_TY(Type::IntTy, INT); } YY_BREAK case 53: YY_RULE_SETUP -#line 243 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" -{ RET_TY(Type::LongTy, LONG); } +#line 243 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +{ RET_TY(Type::UIntTy, UINT); } YY_BREAK case 54: YY_RULE_SETUP -#line 244 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" -{ RET_TY(Type::ULongTy, ULONG); } +#line 244 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +{ RET_TY(Type::LongTy, LONG); } YY_BREAK case 55: YY_RULE_SETUP -#line 245 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" -{ RET_TY(Type::FloatTy, FLOAT); } +#line 245 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +{ RET_TY(Type::ULongTy, ULONG); } YY_BREAK case 56: YY_RULE_SETUP -#line 246 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" -{ RET_TY(Type::DoubleTy,DOUBLE);} +#line 246 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +{ RET_TY(Type::FloatTy, FLOAT); } YY_BREAK case 57: YY_RULE_SETUP -#line 247 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" -{ RET_TY(Type::LabelTy, LABEL); } +#line 247 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +{ RET_TY(Type::DoubleTy,DOUBLE);} YY_BREAK case 58: YY_RULE_SETUP -#line 248 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" -{ return TYPE; } +#line 248 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +{ RET_TY(Type::LabelTy, LABEL); } YY_BREAK case 59: YY_RULE_SETUP -#line 249 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" -{ return OPAQUE; } +#line 249 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +{ return TYPE; } YY_BREAK case 60: YY_RULE_SETUP -#line 251 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" -{ RET_TOK(BinaryOpVal, Add, ADD); } +#line 250 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +{ return OPAQUE; } YY_BREAK case 61: YY_RULE_SETUP -#line 252 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" -{ RET_TOK(BinaryOpVal, Sub, SUB); } +#line 252 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +{ RET_TOK(BinaryOpVal, Add, ADD); } YY_BREAK case 62: YY_RULE_SETUP -#line 253 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" -{ RET_TOK(BinaryOpVal, Mul, MUL); } +#line 253 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +{ RET_TOK(BinaryOpVal, Sub, SUB); } YY_BREAK case 63: YY_RULE_SETUP -#line 254 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" -{ RET_TOK(BinaryOpVal, UDiv, UDIV); } +#line 254 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +{ RET_TOK(BinaryOpVal, Mul, MUL); } YY_BREAK case 64: YY_RULE_SETUP -#line 255 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" -{ RET_TOK(BinaryOpVal, SDiv, SDIV); } +#line 255 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +{ RET_TOK(BinaryOpVal, UDiv, UDIV); } YY_BREAK case 65: YY_RULE_SETUP -#line 256 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" -{ RET_TOK(BinaryOpVal, FDiv, FDIV); } +#line 256 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +{ RET_TOK(BinaryOpVal, SDiv, SDIV); } YY_BREAK case 66: YY_RULE_SETUP -#line 257 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" -{ RET_TOK(BinaryOpVal, URem, UREM); } +#line 257 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +{ RET_TOK(BinaryOpVal, FDiv, FDIV); } YY_BREAK case 67: YY_RULE_SETUP -#line 258 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" -{ RET_TOK(BinaryOpVal, SRem, SREM); } +#line 258 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +{ RET_TOK(BinaryOpVal, URem, UREM); } YY_BREAK case 68: YY_RULE_SETUP -#line 259 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" -{ RET_TOK(BinaryOpVal, FRem, FREM); } +#line 259 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +{ RET_TOK(BinaryOpVal, SRem, SREM); } YY_BREAK case 69: YY_RULE_SETUP -#line 260 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" -{ RET_TOK(BinaryOpVal, And, AND); } +#line 260 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +{ RET_TOK(BinaryOpVal, FRem, FREM); } YY_BREAK case 70: YY_RULE_SETUP -#line 261 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" -{ RET_TOK(BinaryOpVal, Or , OR ); } +#line 261 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +{ RET_TOK(BinaryOpVal, And, AND); } YY_BREAK case 71: YY_RULE_SETUP -#line 262 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" -{ RET_TOK(BinaryOpVal, Xor, XOR); } +#line 262 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +{ RET_TOK(BinaryOpVal, Or , OR ); } YY_BREAK case 72: YY_RULE_SETUP -#line 263 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" -{ RET_TOK(OtherOpVal, ICmp, ICMP); } +#line 263 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +{ RET_TOK(BinaryOpVal, Xor, XOR); } YY_BREAK case 73: YY_RULE_SETUP -#line 264 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" -{ RET_TOK(OtherOpVal, FCmp, FCMP); } +#line 264 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +{ RET_TOK(OtherOpVal, ICmp, ICMP); } YY_BREAK case 74: YY_RULE_SETUP -#line 265 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" -{ return EQ; } +#line 265 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +{ RET_TOK(OtherOpVal, FCmp, FCMP); } YY_BREAK case 75: YY_RULE_SETUP -#line 266 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" -{ return NE; } +#line 266 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +{ return EQ; } YY_BREAK case 76: YY_RULE_SETUP -#line 267 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" -{ return SLT; } +#line 267 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +{ return NE; } YY_BREAK case 77: YY_RULE_SETUP -#line 268 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" -{ return SGT; } +#line 268 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +{ return SLT; } YY_BREAK case 78: YY_RULE_SETUP -#line 269 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" -{ return SLE; } +#line 269 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +{ return SGT; } YY_BREAK case 79: YY_RULE_SETUP -#line 270 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" -{ return SGE; } +#line 270 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +{ return SLE; } YY_BREAK case 80: YY_RULE_SETUP -#line 271 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" -{ return ULT; } +#line 271 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +{ return SGE; } YY_BREAK case 81: YY_RULE_SETUP -#line 272 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" -{ return UGT; } +#line 272 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +{ return ULT; } YY_BREAK case 82: YY_RULE_SETUP -#line 273 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" -{ return ULE; } +#line 273 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +{ return UGT; } YY_BREAK case 83: YY_RULE_SETUP -#line 274 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" -{ return UGE; } +#line 274 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +{ return ULE; } YY_BREAK case 84: YY_RULE_SETUP -#line 275 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" -{ return OEQ; } +#line 275 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +{ return UGE; } YY_BREAK case 85: YY_RULE_SETUP -#line 276 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" -{ return ONE; } +#line 276 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +{ return OEQ; } YY_BREAK case 86: YY_RULE_SETUP -#line 277 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" -{ return OLT; } +#line 277 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +{ return ONE; } YY_BREAK case 87: YY_RULE_SETUP -#line 278 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" -{ return OGT; } +#line 278 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +{ return OLT; } YY_BREAK case 88: YY_RULE_SETUP -#line 279 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" -{ return OLE; } +#line 279 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +{ return OGT; } YY_BREAK case 89: YY_RULE_SETUP -#line 280 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" -{ return OGE; } +#line 280 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +{ return OLE; } YY_BREAK case 90: YY_RULE_SETUP -#line 281 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" -{ return ORD; } +#line 281 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +{ return OGE; } YY_BREAK case 91: YY_RULE_SETUP -#line 282 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" -{ return UNO; } +#line 282 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +{ return ORD; } YY_BREAK case 92: YY_RULE_SETUP -#line 283 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" -{ return UEQ; } +#line 283 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +{ return UNO; } YY_BREAK case 93: YY_RULE_SETUP -#line 284 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" -{ return UNE; } +#line 284 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +{ return UEQ; } YY_BREAK case 94: YY_RULE_SETUP -#line 286 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" -{ RET_TOK(OtherOpVal, PHI, PHI_TOK); } +#line 285 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +{ return UNE; } YY_BREAK case 95: YY_RULE_SETUP -#line 287 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" -{ RET_TOK(OtherOpVal, Call, CALL); } +#line 287 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +{ RET_TOK(OtherOpVal, PHI, PHI_TOK); } YY_BREAK case 96: YY_RULE_SETUP -#line 288 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" -{ RET_TOK(CastOpVal, Trunc, TRUNC); } +#line 288 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +{ RET_TOK(OtherOpVal, Call, CALL); } YY_BREAK case 97: YY_RULE_SETUP -#line 289 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" -{ RET_TOK(CastOpVal, ZExt, ZEXT); } +#line 289 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +{ RET_TOK(CastOpVal, Trunc, TRUNC); } YY_BREAK case 98: YY_RULE_SETUP -#line 290 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" -{ RET_TOK(CastOpVal, SExt, SEXT); } +#line 290 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +{ RET_TOK(CastOpVal, ZExt, ZEXT); } YY_BREAK case 99: YY_RULE_SETUP -#line 291 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" -{ RET_TOK(CastOpVal, FPTrunc, FPTRUNC); } +#line 291 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +{ RET_TOK(CastOpVal, SExt, SEXT); } YY_BREAK case 100: YY_RULE_SETUP -#line 292 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" -{ RET_TOK(CastOpVal, FPExt, FPEXT); } +#line 292 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +{ RET_TOK(CastOpVal, FPTrunc, FPTRUNC); } YY_BREAK case 101: YY_RULE_SETUP -#line 293 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" -{ RET_TOK(CastOpVal, UIToFP, UITOFP); } +#line 293 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +{ RET_TOK(CastOpVal, FPExt, FPEXT); } YY_BREAK case 102: YY_RULE_SETUP -#line 294 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" -{ RET_TOK(CastOpVal, SIToFP, SITOFP); } +#line 294 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +{ RET_TOK(CastOpVal, UIToFP, UITOFP); } YY_BREAK case 103: YY_RULE_SETUP -#line 295 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" -{ RET_TOK(CastOpVal, FPToUI, FPTOUI); } +#line 295 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +{ RET_TOK(CastOpVal, SIToFP, SITOFP); } YY_BREAK case 104: YY_RULE_SETUP -#line 296 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" -{ RET_TOK(CastOpVal, FPToSI, FPTOSI); } +#line 296 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +{ RET_TOK(CastOpVal, FPToUI, FPTOUI); } YY_BREAK case 105: YY_RULE_SETUP -#line 297 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" -{ RET_TOK(CastOpVal, IntToPtr, INTTOPTR); } +#line 297 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +{ RET_TOK(CastOpVal, FPToSI, FPTOSI); } YY_BREAK case 106: YY_RULE_SETUP -#line 298 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" -{ RET_TOK(CastOpVal, PtrToInt, PTRTOINT); } +#line 298 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +{ RET_TOK(CastOpVal, IntToPtr, INTTOPTR); } YY_BREAK case 107: YY_RULE_SETUP -#line 299 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" -{ RET_TOK(CastOpVal, BitCast, BITCAST); } +#line 299 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +{ RET_TOK(CastOpVal, PtrToInt, PTRTOINT); } YY_BREAK case 108: YY_RULE_SETUP -#line 300 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" -{ RET_TOK(OtherOpVal, Select, SELECT); } +#line 300 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +{ RET_TOK(CastOpVal, BitCast, BITCAST); } YY_BREAK case 109: YY_RULE_SETUP -#line 301 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" -{ RET_TOK(OtherOpVal, Shl, SHL); } +#line 301 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +{ RET_TOK(OtherOpVal, Select, SELECT); } YY_BREAK case 110: YY_RULE_SETUP -#line 302 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" -{ RET_TOK(OtherOpVal, LShr, LSHR); } +#line 302 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +{ RET_TOK(OtherOpVal, Shl, SHL); } YY_BREAK case 111: YY_RULE_SETUP -#line 303 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" -{ RET_TOK(OtherOpVal, AShr, ASHR); } +#line 303 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +{ RET_TOK(OtherOpVal, LShr, LSHR); } YY_BREAK case 112: YY_RULE_SETUP -#line 304 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" -{ RET_TOK(OtherOpVal, VAArg , VAARG); } +#line 304 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +{ RET_TOK(OtherOpVal, AShr, ASHR); } YY_BREAK case 113: YY_RULE_SETUP -#line 305 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" -{ RET_TOK(TermOpVal, Ret, RET); } +#line 305 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +{ RET_TOK(OtherOpVal, VAArg , VAARG); } YY_BREAK case 114: YY_RULE_SETUP -#line 306 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" -{ RET_TOK(TermOpVal, Br, BR); } +#line 306 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +{ RET_TOK(TermOpVal, Ret, RET); } YY_BREAK case 115: YY_RULE_SETUP -#line 307 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" -{ RET_TOK(TermOpVal, Switch, SWITCH); } +#line 307 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +{ RET_TOK(TermOpVal, Br, BR); } YY_BREAK case 116: YY_RULE_SETUP -#line 308 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" -{ RET_TOK(TermOpVal, Invoke, INVOKE); } +#line 308 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +{ RET_TOK(TermOpVal, Switch, SWITCH); } YY_BREAK case 117: YY_RULE_SETUP -#line 309 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" -{ RET_TOK(TermOpVal, Unwind, UNWIND); } +#line 309 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +{ RET_TOK(TermOpVal, Invoke, INVOKE); } YY_BREAK case 118: YY_RULE_SETUP -#line 310 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" -{ RET_TOK(TermOpVal, Unreachable, UNREACHABLE); } +#line 310 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +{ RET_TOK(TermOpVal, Unwind, UNWIND); } YY_BREAK case 119: YY_RULE_SETUP -#line 312 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" -{ RET_TOK(MemOpVal, Malloc, MALLOC); } +#line 311 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +{ RET_TOK(TermOpVal, Unreachable, UNREACHABLE); } YY_BREAK case 120: YY_RULE_SETUP -#line 313 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" -{ RET_TOK(MemOpVal, Alloca, ALLOCA); } +#line 313 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +{ RET_TOK(MemOpVal, Malloc, MALLOC); } YY_BREAK case 121: YY_RULE_SETUP -#line 314 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" -{ RET_TOK(MemOpVal, Free, FREE); } +#line 314 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +{ RET_TOK(MemOpVal, Alloca, ALLOCA); } YY_BREAK case 122: YY_RULE_SETUP -#line 315 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" -{ RET_TOK(MemOpVal, Load, LOAD); } +#line 315 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +{ RET_TOK(MemOpVal, Free, FREE); } YY_BREAK case 123: YY_RULE_SETUP -#line 316 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" -{ RET_TOK(MemOpVal, Store, STORE); } +#line 316 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +{ RET_TOK(MemOpVal, Load, LOAD); } YY_BREAK case 124: YY_RULE_SETUP -#line 317 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" -{ RET_TOK(MemOpVal, GetElementPtr, GETELEMENTPTR); } +#line 317 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +{ RET_TOK(MemOpVal, Store, STORE); } YY_BREAK case 125: YY_RULE_SETUP -#line 319 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" -{ RET_TOK(OtherOpVal, ExtractElement, EXTRACTELEMENT); } +#line 318 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +{ RET_TOK(MemOpVal, GetElementPtr, GETELEMENTPTR); } YY_BREAK case 126: YY_RULE_SETUP -#line 320 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" -{ RET_TOK(OtherOpVal, InsertElement, INSERTELEMENT); } +#line 320 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +{ RET_TOK(OtherOpVal, ExtractElement, EXTRACTELEMENT); } YY_BREAK case 127: YY_RULE_SETUP -#line 321 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" -{ RET_TOK(OtherOpVal, ShuffleVector, SHUFFLEVECTOR); } +#line 321 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +{ RET_TOK(OtherOpVal, InsertElement, INSERTELEMENT); } YY_BREAK case 128: YY_RULE_SETUP -#line 324 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" +#line 322 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +{ RET_TOK(OtherOpVal, ShuffleVector, SHUFFLEVECTOR); } + YY_BREAK +case 129: +YY_RULE_SETUP +#line 325 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" { UnEscapeLexed(yytext+1); llvmAsmlval.StrVal = strdup(yytext+1); // Skip % return VAR_ID; } YY_BREAK -case 129: +case 130: YY_RULE_SETUP -#line 329 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" +#line 330 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" { yytext[strlen(yytext)-1] = 0; // nuke colon UnEscapeLexed(yytext); @@ -1935,9 +1943,9 @@ return LABELSTR; } YY_BREAK -case 130: +case 131: YY_RULE_SETUP -#line 335 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" +#line 336 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" { yytext[strlen(yytext)-2] = 0; // nuke colon, end quote UnEscapeLexed(yytext+1); @@ -1945,9 +1953,9 @@ return LABELSTR; } YY_BREAK -case 131: +case 132: YY_RULE_SETUP -#line 342 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" +#line 343 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" { // Note that we cannot unescape a string constant here! The // string constant might contain a \00 which would not be // understood by the string stuff. It is valid to make a @@ -1958,14 +1966,14 @@ return STRINGCONSTANT; } YY_BREAK -case 132: +case 133: YY_RULE_SETUP -#line 353 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" +#line 354 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" { llvmAsmlval.UInt64Val = atoull(yytext); return EUINT64VAL; } YY_BREAK -case 133: +case 134: YY_RULE_SETUP -#line 354 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" +#line 355 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" { uint64_t Val = atoull(yytext+1); // +1: we have bigger negative range @@ -1975,17 +1983,17 @@ return ESINT64VAL; } YY_BREAK -case 134: +case 135: YY_RULE_SETUP -#line 362 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" +#line 363 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" { llvmAsmlval.UInt64Val = HexIntToVal(yytext+3); return yytext[0] == 's' ? ESINT64VAL : EUINT64VAL; } YY_BREAK -case 135: +case 136: YY_RULE_SETUP -#line 367 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" +#line 368 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" { uint64_t Val = atoull(yytext+1); if ((unsigned)Val != Val) @@ -1994,9 +2002,9 @@ return UINTVAL; } YY_BREAK -case 136: +case 137: YY_RULE_SETUP -#line 374 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" +#line 375 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" { uint64_t Val = atoull(yytext+2); // +1: we have bigger negative range @@ -2006,18 +2014,18 @@ return SINTVAL; } YY_BREAK -case 137: +case 138: YY_RULE_SETUP -#line 383 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" +#line 384 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" { llvmAsmlval.FPVal = atof(yytext); return FPVAL; } YY_BREAK -case 138: +case 139: YY_RULE_SETUP -#line 384 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" +#line 385 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" { llvmAsmlval.FPVal = HexToFP(yytext); return FPVAL; } YY_BREAK case YY_STATE_EOF(INITIAL): -#line 386 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" +#line 387 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" { /* Make sure to free the internal buffers for flex when we are * done reading our input! @@ -2026,22 +2034,22 @@ return EOF; } YY_BREAK -case 139: +case 140: YY_RULE_SETUP -#line 394 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" +#line 395 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" { /* Ignore whitespace */ } YY_BREAK -case 140: +case 141: YY_RULE_SETUP -#line 395 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" +#line 396 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" { return yytext[0]; } YY_BREAK -case 141: +case 142: YY_RULE_SETUP -#line 397 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" +#line 398 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" YY_FATAL_ERROR( "flex scanner jammed" ); YY_BREAK -#line 2045 "Lexer.cpp" +#line 2053 "Lexer.cpp" case YY_END_OF_BUFFER: { @@ -2328,7 +2336,7 @@ while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 569 ) + if ( yy_current_state >= 573 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; @@ -2358,11 +2366,11 @@ while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 569 ) + if ( yy_current_state >= 573 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; - yy_is_jam = (yy_current_state == 568); + yy_is_jam = (yy_current_state == 572); if ( ! yy_is_jam ) *yy_state_ptr++ = yy_current_state; @@ -2919,5 +2927,5 @@ return 0; } #endif -#line 397 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" +#line 398 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" Index: llvm/lib/AsmParser/Lexer.l.cvs diff -u llvm/lib/AsmParser/Lexer.l.cvs:1.15 llvm/lib/AsmParser/Lexer.l.cvs:1.16 --- llvm/lib/AsmParser/Lexer.l.cvs:1.15 Sat Dec 23 00:05:40 2006 +++ llvm/lib/AsmParser/Lexer.l.cvs Fri Dec 29 14:30:42 2006 @@ -192,6 +192,7 @@ true { return TRUETOK; } false { return FALSETOK; } declare { return DECLARE; } +define { return DEFINE; } global { return GLOBAL; } constant { return CONSTANT; } internal { return INTERNAL; } Index: llvm/lib/AsmParser/llvmAsmParser.cpp.cvs diff -u llvm/lib/AsmParser/llvmAsmParser.cpp.cvs:1.38 llvm/lib/AsmParser/llvmAsmParser.cpp.cvs:1.39 --- llvm/lib/AsmParser/llvmAsmParser.cpp.cvs:1.38 Sat Dec 23 00:05:40 2006 +++ llvm/lib/AsmParser/llvmAsmParser.cpp.cvs Fri Dec 29 14:30:42 2006 @@ -81,8 +81,8 @@ ULONG = 272, FLOAT = 273, DOUBLE = 274, - TYPE = 275, - LABEL = 276, + LABEL = 275, + TYPE = 276, VAR_ID = 277, LABELSTR = 278, STRINGCONSTANT = 279, @@ -93,113 +93,114 @@ BEGINTOK = 284, ENDTOK = 285, DECLARE = 286, - GLOBAL = 287, - CONSTANT = 288, - SECTION = 289, - VOLATILE = 290, - TO = 291, - DOTDOTDOT = 292, - NULL_TOK = 293, - UNDEF = 294, - CONST = 295, - INTERNAL = 296, - LINKONCE = 297, - WEAK = 298, - APPENDING = 299, - DLLIMPORT = 300, - DLLEXPORT = 301, - EXTERN_WEAK = 302, - OPAQUE = 303, - NOT = 304, - EXTERNAL = 305, - TARGET = 306, - TRIPLE = 307, - ENDIAN = 308, - POINTERSIZE = 309, - LITTLE = 310, - BIG = 311, - ALIGN = 312, - DEPLIBS = 313, - CALL = 314, - TAIL = 315, - ASM_TOK = 316, - MODULE = 317, - SIDEEFFECT = 318, - CC_TOK = 319, - CCC_TOK = 320, - CSRETCC_TOK = 321, - FASTCC_TOK = 322, - COLDCC_TOK = 323, - X86_STDCALLCC_TOK = 324, - X86_FASTCALLCC_TOK = 325, - DATALAYOUT = 326, - RET = 327, - BR = 328, - SWITCH = 329, - INVOKE = 330, - UNWIND = 331, - UNREACHABLE = 332, - ADD = 333, - SUB = 334, - MUL = 335, - UDIV = 336, - SDIV = 337, - FDIV = 338, - UREM = 339, - SREM = 340, - FREM = 341, - AND = 342, - OR = 343, - XOR = 344, - ICMP = 345, - FCMP = 346, - EQ = 347, - NE = 348, - SLT = 349, - SGT = 350, - SLE = 351, - SGE = 352, - ULT = 353, - UGT = 354, - ULE = 355, - UGE = 356, - OEQ = 357, - ONE = 358, - OLT = 359, - OGT = 360, - OLE = 361, - OGE = 362, - ORD = 363, - UNO = 364, - UEQ = 365, - UNE = 366, - MALLOC = 367, - ALLOCA = 368, - FREE = 369, - LOAD = 370, - STORE = 371, - GETELEMENTPTR = 372, - TRUNC = 373, - ZEXT = 374, - SEXT = 375, - FPTRUNC = 376, - FPEXT = 377, - BITCAST = 378, - UITOFP = 379, - SITOFP = 380, - FPTOUI = 381, - FPTOSI = 382, - INTTOPTR = 383, - PTRTOINT = 384, - PHI_TOK = 385, - SELECT = 386, - SHL = 387, - LSHR = 388, - ASHR = 389, - VAARG = 390, - EXTRACTELEMENT = 391, - INSERTELEMENT = 392, - SHUFFLEVECTOR = 393 + DEFINE = 287, + GLOBAL = 288, + CONSTANT = 289, + SECTION = 290, + VOLATILE = 291, + TO = 292, + DOTDOTDOT = 293, + NULL_TOK = 294, + UNDEF = 295, + CONST = 296, + INTERNAL = 297, + LINKONCE = 298, + WEAK = 299, + APPENDING = 300, + DLLIMPORT = 301, + DLLEXPORT = 302, + EXTERN_WEAK = 303, + OPAQUE = 304, + NOT = 305, + EXTERNAL = 306, + TARGET = 307, + TRIPLE = 308, + ENDIAN = 309, + POINTERSIZE = 310, + LITTLE = 311, + BIG = 312, + ALIGN = 313, + DEPLIBS = 314, + CALL = 315, + TAIL = 316, + ASM_TOK = 317, + MODULE = 318, + SIDEEFFECT = 319, + CC_TOK = 320, + CCC_TOK = 321, + CSRETCC_TOK = 322, + FASTCC_TOK = 323, + COLDCC_TOK = 324, + X86_STDCALLCC_TOK = 325, + X86_FASTCALLCC_TOK = 326, + DATALAYOUT = 327, + RET = 328, + BR = 329, + SWITCH = 330, + INVOKE = 331, + UNWIND = 332, + UNREACHABLE = 333, + ADD = 334, + SUB = 335, + MUL = 336, + UDIV = 337, + SDIV = 338, + FDIV = 339, + UREM = 340, + SREM = 341, + FREM = 342, + AND = 343, + OR = 344, + XOR = 345, + ICMP = 346, + FCMP = 347, + EQ = 348, + NE = 349, + SLT = 350, + SGT = 351, + SLE = 352, + SGE = 353, + ULT = 354, + UGT = 355, + ULE = 356, + UGE = 357, + OEQ = 358, + ONE = 359, + OLT = 360, + OGT = 361, + OLE = 362, + OGE = 363, + ORD = 364, + UNO = 365, + UEQ = 366, + UNE = 367, + MALLOC = 368, + ALLOCA = 369, + FREE = 370, + LOAD = 371, + STORE = 372, + GETELEMENTPTR = 373, + TRUNC = 374, + ZEXT = 375, + SEXT = 376, + FPTRUNC = 377, + FPEXT = 378, + BITCAST = 379, + UITOFP = 380, + SITOFP = 381, + FPTOUI = 382, + FPTOSI = 383, + INTTOPTR = 384, + PTRTOINT = 385, + PHI_TOK = 386, + SELECT = 387, + SHL = 388, + LSHR = 389, + ASHR = 390, + VAARG = 391, + EXTRACTELEMENT = 392, + INSERTELEMENT = 393, + SHUFFLEVECTOR = 394 }; #endif /* Tokens. */ @@ -220,8 +221,8 @@ #define ULONG 272 #define FLOAT 273 #define DOUBLE 274 -#define TYPE 275 -#define LABEL 276 +#define LABEL 275 +#define TYPE 276 #define VAR_ID 277 #define LABELSTR 278 #define STRINGCONSTANT 279 @@ -232,119 +233,120 @@ #define BEGINTOK 284 #define ENDTOK 285 #define DECLARE 286 -#define GLOBAL 287 -#define CONSTANT 288 -#define SECTION 289 -#define VOLATILE 290 -#define TO 291 -#define DOTDOTDOT 292 -#define NULL_TOK 293 -#define UNDEF 294 -#define CONST 295 -#define INTERNAL 296 -#define LINKONCE 297 -#define WEAK 298 -#define APPENDING 299 -#define DLLIMPORT 300 -#define DLLEXPORT 301 -#define EXTERN_WEAK 302 -#define OPAQUE 303 -#define NOT 304 -#define EXTERNAL 305 -#define TARGET 306 -#define TRIPLE 307 -#define ENDIAN 308 -#define POINTERSIZE 309 -#define LITTLE 310 -#define BIG 311 -#define ALIGN 312 -#define DEPLIBS 313 -#define CALL 314 -#define TAIL 315 -#define ASM_TOK 316 -#define MODULE 317 -#define SIDEEFFECT 318 -#define CC_TOK 319 -#define CCC_TOK 320 -#define CSRETCC_TOK 321 -#define FASTCC_TOK 322 -#define COLDCC_TOK 323 -#define X86_STDCALLCC_TOK 324 -#define X86_FASTCALLCC_TOK 325 -#define DATALAYOUT 326 -#define RET 327 -#define BR 328 -#define SWITCH 329 -#define INVOKE 330 -#define UNWIND 331 -#define UNREACHABLE 332 -#define ADD 333 -#define SUB 334 -#define MUL 335 -#define UDIV 336 -#define SDIV 337 -#define FDIV 338 -#define UREM 339 -#define SREM 340 -#define FREM 341 -#define AND 342 -#define OR 343 -#define XOR 344 -#define ICMP 345 -#define FCMP 346 -#define EQ 347 -#define NE 348 -#define SLT 349 -#define SGT 350 -#define SLE 351 -#define SGE 352 -#define ULT 353 -#define UGT 354 -#define ULE 355 -#define UGE 356 -#define OEQ 357 -#define ONE 358 -#define OLT 359 -#define OGT 360 -#define OLE 361 -#define OGE 362 -#define ORD 363 -#define UNO 364 -#define UEQ 365 -#define UNE 366 -#define MALLOC 367 -#define ALLOCA 368 -#define FREE 369 -#define LOAD 370 -#define STORE 371 -#define GETELEMENTPTR 372 -#define TRUNC 373 -#define ZEXT 374 -#define SEXT 375 -#define FPTRUNC 376 -#define FPEXT 377 -#define BITCAST 378 -#define UITOFP 379 -#define SITOFP 380 -#define FPTOUI 381 -#define FPTOSI 382 -#define INTTOPTR 383 -#define PTRTOINT 384 -#define PHI_TOK 385 -#define SELECT 386 -#define SHL 387 -#define LSHR 388 -#define ASHR 389 -#define VAARG 390 -#define EXTRACTELEMENT 391 -#define INSERTELEMENT 392 -#define SHUFFLEVECTOR 393 +#define DEFINE 287 +#define GLOBAL 288 +#define CONSTANT 289 +#define SECTION 290 +#define VOLATILE 291 +#define TO 292 +#define DOTDOTDOT 293 +#define NULL_TOK 294 +#define UNDEF 295 +#define CONST 296 +#define INTERNAL 297 +#define LINKONCE 298 +#define WEAK 299 +#define APPENDING 300 +#define DLLIMPORT 301 +#define DLLEXPORT 302 +#define EXTERN_WEAK 303 +#define OPAQUE 304 +#define NOT 305 +#define EXTERNAL 306 +#define TARGET 307 +#define TRIPLE 308 +#define ENDIAN 309 +#define POINTERSIZE 310 +#define LITTLE 311 +#define BIG 312 +#define ALIGN 313 +#define DEPLIBS 314 +#define CALL 315 +#define TAIL 316 +#define ASM_TOK 317 +#define MODULE 318 +#define SIDEEFFECT 319 +#define CC_TOK 320 +#define CCC_TOK 321 +#define CSRETCC_TOK 322 +#define FASTCC_TOK 323 +#define COLDCC_TOK 324 +#define X86_STDCALLCC_TOK 325 +#define X86_FASTCALLCC_TOK 326 +#define DATALAYOUT 327 +#define RET 328 +#define BR 329 +#define SWITCH 330 +#define INVOKE 331 +#define UNWIND 332 +#define UNREACHABLE 333 +#define ADD 334 +#define SUB 335 +#define MUL 336 +#define UDIV 337 +#define SDIV 338 +#define FDIV 339 +#define UREM 340 +#define SREM 341 +#define FREM 342 +#define AND 343 +#define OR 344 +#define XOR 345 +#define ICMP 346 +#define FCMP 347 +#define EQ 348 +#define NE 349 +#define SLT 350 +#define SGT 351 +#define SLE 352 +#define SGE 353 +#define ULT 354 +#define UGT 355 +#define ULE 356 +#define UGE 357 +#define OEQ 358 +#define ONE 359 +#define OLT 360 +#define OGT 361 +#define OLE 362 +#define OGE 363 +#define ORD 364 +#define UNO 365 +#define UEQ 366 +#define UNE 367 +#define MALLOC 368 +#define ALLOCA 369 +#define FREE 370 +#define LOAD 371 +#define STORE 372 +#define GETELEMENTPTR 373 +#define TRUNC 374 +#define ZEXT 375 +#define SEXT 376 +#define FPTRUNC 377 +#define FPEXT 378 +#define BITCAST 379 +#define UITOFP 380 +#define SITOFP 381 +#define FPTOUI 382 +#define FPTOSI 383 +#define INTTOPTR 384 +#define PTRTOINT 385 +#define PHI_TOK 386 +#define SELECT 387 +#define SHL 388 +#define LSHR 389 +#define ASHR 390 +#define VAARG 391 +#define EXTRACTELEMENT 392 +#define INSERTELEMENT 393 +#define SHUFFLEVECTOR 394 /* Copy the first part of user declarations. */ -#line 14 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" +#line 14 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" #include "ParserInternals.h" #include "llvm/CallingConv.h" @@ -1205,7 +1207,7 @@ #endif #if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED) -#line 855 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" +#line 855 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" typedef union YYSTYPE { llvm::Module *ModuleVal; llvm::Function *FunctionVal; @@ -1249,7 +1251,7 @@ llvm::FCmpInst::Predicate FPredicate; } YYSTYPE; /* Line 196 of yacc.c. */ -#line 1253 "llvmAsmParser.tab.c" +#line 1255 "llvmAsmParser.tab.c" # define yystype YYSTYPE /* obsolescent; will be withdrawn */ # define YYSTYPE_IS_DECLARED 1 # define YYSTYPE_IS_TRIVIAL 1 @@ -1261,7 +1263,7 @@ /* Line 219 of yacc.c. */ -#line 1265 "llvmAsmParser.tab.c" +#line 1267 "llvmAsmParser.tab.c" #if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__) # define YYSIZE_T __SIZE_TYPE__ @@ -1410,22 +1412,22 @@ #endif /* YYFINAL -- State number of the termination state. */ -#define YYFINAL 4 +#define YYFINAL 37 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 1390 +#define YYLAST 1478 /* YYNTOKENS -- Number of terminals. */ -#define YYNTOKENS 153 +#define YYNTOKENS 154 /* YYNNTS -- Number of nonterminals. */ -#define YYNNTS 76 +#define YYNNTS 78 /* YYNRULES -- Number of rules. */ -#define YYNRULES 291 +#define YYNRULES 293 /* YYNRULES -- Number of states. */ -#define YYNSTATES 567 +#define YYNSTATES 564 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ #define YYUNDEFTOK 2 -#define YYMAXUTOK 393 +#define YYMAXUTOK 394 #define YYTRANSLATE(YYX) \ ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) @@ -1437,15 +1439,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, - 142, 143, 151, 2, 140, 2, 2, 2, 2, 2, + 143, 144, 152, 2, 141, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 147, 139, 148, 2, 2, 2, 2, 2, 2, 2, + 148, 140, 149, 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, 144, 141, 146, 2, 2, 2, 2, 2, 152, + 2, 145, 142, 147, 2, 2, 2, 2, 2, 153, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 145, 2, 2, 149, 2, 150, 2, 2, 2, 2, + 146, 2, 2, 150, 2, 151, 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, @@ -1472,7 +1474,7 @@ 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, - 135, 136, 137, 138 + 135, 136, 137, 138, 139 }; #if YYDEBUG @@ -1487,161 +1489,159 @@ 79, 81, 83, 85, 87, 89, 91, 93, 95, 97, 99, 101, 103, 105, 107, 109, 111, 113, 115, 117, 119, 121, 123, 125, 127, 129, 131, 133, 135, 137, - 140, 141, 143, 145, 147, 149, 151, 153, 155, 156, - 157, 159, 161, 163, 165, 167, 169, 172, 173, 176, - 177, 181, 184, 185, 187, 188, 192, 194, 197, 199, - 201, 203, 205, 207, 209, 211, 213, 215, 217, 219, - 221, 223, 225, 227, 229, 231, 233, 235, 237, 239, - 242, 247, 253, 259, 263, 266, 272, 277, 280, 282, - 286, 288, 292, 294, 295, 300, 304, 308, 313, 318, - 322, 325, 328, 331, 334, 337, 340, 343, 346, 349, - 352, 355, 358, 365, 371, 380, 387, 394, 402, 410, - 417, 424, 433, 442, 446, 448, 450, 452, 454, 457, - 460, 465, 468, 470, 475, 478, 483, 484, 492, 493, - 501, 502, 510, 511, 519, 523, 528, 529, 531, 533, - 535, 539, 543, 547, 551, 555, 559, 561, 562, 564, - 566, 568, 569, 572, 576, 578, 580, 584, 586, 587, - 596, 598, 600, 604, 606, 608, 611, 612, 614, 616, - 617, 622, 623, 625, 627, 629, 631, 633, 635, 637, - 639, 641, 645, 647, 653, 655, 657, 659, 661, 664, - 667, 670, 674, 677, 678, 680, 683, 686, 690, 700, - 710, 719, 733, 735, 737, 744, 750, 753, 760, 768, - 770, 774, 776, 777, 780, 782, 788, 794, 801, 808, - 811, 816, 821, 828, 833, 838, 845, 852, 855, 863, - 865, 868, 869, 871, 872, 876, 883, 887, 894, 897, - 902, 909 + 140, 141, 143, 145, 147, 149, 151, 153, 155, 157, + 158, 160, 162, 164, 166, 168, 170, 171, 172, 174, + 176, 178, 180, 182, 184, 187, 188, 191, 192, 196, + 199, 200, 202, 203, 207, 209, 212, 214, 216, 218, + 220, 222, 224, 226, 228, 230, 232, 234, 236, 238, + 240, 242, 244, 246, 248, 250, 252, 255, 260, 266, + 272, 276, 279, 285, 290, 293, 295, 299, 301, 305, + 307, 308, 313, 317, 321, 326, 331, 335, 338, 341, + 344, 347, 350, 353, 356, 359, 362, 365, 368, 371, + 378, 384, 393, 400, 407, 415, 423, 430, 437, 446, + 455, 459, 461, 463, 465, 467, 468, 470, 473, 474, + 478, 479, 483, 487, 489, 493, 494, 500, 501, 508, + 509, 516, 519, 523, 525, 527, 529, 533, 537, 541, + 545, 549, 553, 555, 556, 558, 560, 562, 563, 566, + 570, 572, 574, 578, 580, 581, 590, 592, 594, 598, + 600, 602, 605, 608, 609, 611, 613, 615, 617, 619, + 621, 623, 625, 627, 631, 633, 639, 641, 643, 645, + 647, 650, 653, 656, 660, 663, 664, 666, 669, 672, + 676, 686, 696, 705, 719, 721, 723, 730, 736, 739, + 746, 754, 756, 760, 762, 763, 766, 768, 774, 780, + 787, 794, 797, 802, 807, 814, 819, 824, 831, 838, + 841, 849, 851, 854, 855, 857, 858, 862, 869, 873, + 880, 883, 888, 895 }; /* YYRHS -- A `-1'-separated list of the rules' RHS. */ static const short int yyrhs[] = { - 185, 0, -1, 5, -1, 6, -1, 78, -1, 79, - -1, 80, -1, 81, -1, 82, -1, 83, -1, 84, - -1, 85, -1, 86, -1, 87, -1, 88, -1, 89, - -1, 118, -1, 119, -1, 120, -1, 121, -1, 122, - -1, 123, -1, 124, -1, 125, -1, 126, -1, 127, - -1, 128, -1, 129, -1, 132, -1, 133, -1, 134, - -1, 92, -1, 93, -1, 94, -1, 95, -1, 96, - -1, 97, -1, 98, -1, 99, -1, 100, -1, 101, - -1, 102, -1, 103, -1, 104, -1, 105, -1, 106, - -1, 107, -1, 108, -1, 109, -1, 110, -1, 111, - -1, 98, -1, 99, -1, 100, -1, 101, -1, 27, + 189, 0, -1, 5, -1, 6, -1, 79, -1, 80, + -1, 81, -1, 82, -1, 83, -1, 84, -1, 85, + -1, 86, -1, 87, -1, 88, -1, 89, -1, 90, + -1, 119, -1, 120, -1, 121, -1, 122, -1, 123, + -1, 124, -1, 125, -1, 126, -1, 127, -1, 128, + -1, 129, -1, 130, -1, 133, -1, 134, -1, 135, + -1, 93, -1, 94, -1, 95, -1, 96, -1, 97, + -1, 98, -1, 99, -1, 100, -1, 101, -1, 102, + -1, 103, -1, 104, -1, 105, -1, 106, -1, 107, + -1, 108, -1, 109, -1, 110, -1, 111, -1, 112, + -1, 99, -1, 100, -1, 101, -1, 102, -1, 27, -1, 28, -1, 16, -1, 14, -1, 12, -1, 10, - -1, 17, -1, 15, -1, 13, -1, 11, -1, 161, - -1, 162, -1, 18, -1, 19, -1, 197, 139, -1, - -1, 41, -1, 42, -1, 43, -1, 44, -1, 45, - -1, 46, -1, 47, -1, -1, -1, 65, -1, 66, - -1, 67, -1, 68, -1, 69, -1, 70, -1, 64, - 4, -1, -1, 57, 4, -1, -1, 140, 57, 4, - -1, 34, 24, -1, -1, 170, -1, -1, 140, 173, - 172, -1, 170, -1, 57, 4, -1, 176, -1, 8, - -1, 178, -1, 8, -1, 178, -1, 9, -1, 10, - -1, 11, -1, 12, -1, 13, -1, 14, -1, 15, - -1, 16, -1, 17, -1, 18, -1, 19, -1, 20, - -1, 21, -1, 48, -1, 177, -1, 212, -1, 141, - 4, -1, 175, 142, 180, 143, -1, 144, 4, 145, - 178, 146, -1, 147, 4, 145, 178, 148, -1, 149, - 179, 150, -1, 149, 150, -1, 147, 149, 179, 150, - 148, -1, 147, 149, 150, 148, -1, 178, 151, -1, - 178, -1, 179, 140, 178, -1, 179, -1, 179, 140, - 37, -1, 37, -1, -1, 176, 144, 183, 146, -1, - 176, 144, 146, -1, 176, 152, 24, -1, 176, 147, - 183, 148, -1, 176, 149, 183, 150, -1, 176, 149, - 150, -1, 176, 38, -1, 176, 39, -1, 176, 212, - -1, 176, 182, -1, 176, 26, -1, 161, 3, -1, - 161, 4, -1, 162, 4, -1, 162, 3, -1, 9, - 27, -1, 9, 28, -1, 164, 7, -1, 157, 142, - 181, 36, 176, 143, -1, 117, 142, 181, 226, 143, - -1, 131, 142, 181, 140, 181, 140, 181, 143, -1, - 155, 142, 181, 140, 181, 143, -1, 156, 142, 181, - 140, 181, 143, -1, 90, 159, 142, 181, 140, 181, - 143, -1, 91, 160, 142, 181, 140, 181, 143, -1, - 158, 142, 181, 140, 181, 143, -1, 136, 142, 181, - 140, 181, 143, -1, 137, 142, 181, 140, 181, 140, - 181, 143, -1, 138, 142, 181, 140, 181, 140, 181, - 143, -1, 183, 140, 181, -1, 181, -1, 32, -1, - 33, -1, 186, -1, 186, 206, -1, 186, 208, -1, - 186, 62, 61, 192, -1, 186, 25, -1, 187, -1, - 187, 165, 20, 174, -1, 187, 208, -1, 187, 62, - 61, 192, -1, -1, 187, 165, 166, 184, 181, 188, - 172, -1, -1, 187, 165, 50, 184, 176, 189, 172, - -1, -1, 187, 165, 45, 184, 176, 190, 172, -1, - -1, 187, 165, 47, 184, 176, 191, 172, -1, 187, - 51, 194, -1, 187, 58, 139, 195, -1, -1, 24, - -1, 56, -1, 55, -1, 53, 139, 193, -1, 54, - 139, 4, -1, 52, 139, 24, -1, 71, 139, 24, - -1, 144, 196, 146, -1, 196, 140, 24, -1, 24, - -1, -1, 22, -1, 24, -1, 197, -1, -1, 176, - 198, -1, 200, 140, 199, -1, 199, -1, 200, -1, - 200, 140, 37, -1, 37, -1, -1, 167, 174, 197, - 142, 201, 143, 171, 168, -1, 29, -1, 149, -1, - 166, 202, 203, -1, 30, -1, 150, -1, 215, 205, - -1, -1, 45, -1, 47, -1, -1, 31, 209, 207, - 202, -1, -1, 63, -1, 3, -1, 4, -1, 7, - -1, 27, -1, 28, -1, 38, -1, 39, -1, 26, - -1, 147, 183, 148, -1, 182, -1, 61, 210, 24, - 140, 24, -1, 154, -1, 197, -1, 212, -1, 211, - -1, 176, 213, -1, 215, 216, -1, 204, 216, -1, - 217, 165, 218, -1, 217, 220, -1, -1, 23, -1, - 72, 214, -1, 72, 8, -1, 73, 21, 213, -1, - 73, 9, 213, 140, 21, 213, 140, 21, 213, -1, - 74, 163, 213, 140, 21, 213, 144, 219, 146, -1, - 74, 163, 213, 140, 21, 213, 144, 146, -1, 75, - 167, 174, 213, 142, 223, 143, 36, 21, 213, 76, - 21, 213, -1, 76, -1, 77, -1, 219, 163, 211, - 140, 21, 213, -1, 163, 211, 140, 21, 213, -1, - 165, 225, -1, 176, 144, 213, 140, 213, 146, -1, - 221, 140, 144, 213, 140, 213, 146, -1, 214, -1, - 222, 140, 214, -1, 222, -1, -1, 60, 59, -1, - 59, -1, 155, 176, 213, 140, 213, -1, 156, 176, - 213, 140, 213, -1, 90, 159, 176, 213, 140, 213, - -1, 91, 160, 176, 213, 140, 213, -1, 49, 214, - -1, 158, 214, 140, 214, -1, 157, 214, 36, 176, - -1, 131, 214, 140, 214, 140, 214, -1, 135, 214, - 140, 176, -1, 136, 214, 140, 214, -1, 137, 214, - 140, 214, 140, 214, -1, 138, 214, 140, 214, 140, - 214, -1, 130, 221, -1, 224, 167, 174, 213, 142, - 223, 143, -1, 228, -1, 140, 222, -1, -1, 35, - -1, -1, 112, 176, 169, -1, 112, 176, 140, 15, - 213, 169, -1, 113, 176, 169, -1, 113, 176, 140, - 15, 213, 169, -1, 114, 214, -1, 227, 115, 176, - 213, -1, 227, 116, 214, 140, 176, 213, -1, 117, - 176, 213, 226, -1 + -1, 17, -1, 15, -1, 13, -1, 11, -1, 162, + -1, 163, -1, 18, -1, 19, -1, 202, 140, -1, + -1, 42, -1, 44, -1, 43, -1, 45, -1, 47, + -1, 46, -1, 48, -1, 51, -1, -1, 46, -1, + 48, -1, 42, -1, 43, -1, 44, -1, 47, -1, + -1, -1, 66, -1, 67, -1, 68, -1, 69, -1, + 70, -1, 71, -1, 65, 4, -1, -1, 58, 4, + -1, -1, 141, 58, 4, -1, 35, 24, -1, -1, + 174, -1, -1, 141, 177, 176, -1, 174, -1, 58, + 4, -1, 180, -1, 8, -1, 182, -1, 8, -1, + 182, -1, 9, -1, 10, -1, 11, -1, 12, -1, + 13, -1, 14, -1, 15, -1, 16, -1, 17, -1, + 18, -1, 19, -1, 20, -1, 49, -1, 181, -1, + 215, -1, 142, 4, -1, 179, 143, 184, 144, -1, + 145, 4, 146, 182, 147, -1, 148, 4, 146, 182, + 149, -1, 150, 183, 151, -1, 150, 151, -1, 148, + 150, 183, 151, 149, -1, 148, 150, 151, 149, -1, + 182, 152, -1, 182, -1, 183, 141, 182, -1, 183, + -1, 183, 141, 38, -1, 38, -1, -1, 180, 145, + 187, 147, -1, 180, 145, 147, -1, 180, 153, 24, + -1, 180, 148, 187, 149, -1, 180, 150, 187, 151, + -1, 180, 150, 151, -1, 180, 39, -1, 180, 40, + -1, 180, 215, -1, 180, 186, -1, 180, 26, -1, + 162, 3, -1, 162, 4, -1, 163, 4, -1, 163, + 3, -1, 9, 27, -1, 9, 28, -1, 165, 7, + -1, 158, 143, 185, 37, 180, 144, -1, 118, 143, + 185, 229, 144, -1, 132, 143, 185, 141, 185, 141, + 185, 144, -1, 156, 143, 185, 141, 185, 144, -1, + 157, 143, 185, 141, 185, 144, -1, 91, 160, 143, + 185, 141, 185, 144, -1, 92, 161, 143, 185, 141, + 185, 144, -1, 159, 143, 185, 141, 185, 144, -1, + 137, 143, 185, 141, 185, 144, -1, 138, 143, 185, + 141, 185, 141, 185, 144, -1, 139, 143, 185, 141, + 185, 141, 185, 144, -1, 187, 141, 185, -1, 185, + -1, 33, -1, 34, -1, 190, -1, -1, 191, -1, + 190, 191, -1, -1, 32, 192, 211, -1, -1, 31, + 193, 212, -1, 63, 62, 197, -1, 25, -1, 166, + 21, 178, -1, -1, 166, 188, 185, 194, 176, -1, + -1, 166, 167, 188, 185, 195, 176, -1, -1, 166, + 168, 188, 180, 196, 176, -1, 52, 199, -1, 59, + 140, 200, -1, 24, -1, 57, -1, 56, -1, 54, + 140, 198, -1, 55, 140, 4, -1, 53, 140, 24, + -1, 72, 140, 24, -1, 145, 201, 147, -1, 201, + 141, 24, -1, 24, -1, -1, 22, -1, 24, -1, + 202, -1, -1, 180, 203, -1, 205, 141, 204, -1, + 204, -1, 205, -1, 205, 141, 38, -1, 38, -1, + -1, 171, 178, 202, 143, 206, 144, 175, 172, -1, + 29, -1, 150, -1, 170, 207, 208, -1, 30, -1, + 151, -1, 218, 210, -1, 169, 207, -1, -1, 64, + -1, 3, -1, 4, -1, 7, -1, 27, -1, 28, + -1, 39, -1, 40, -1, 26, -1, 148, 187, 149, + -1, 186, -1, 62, 213, 24, 141, 24, -1, 155, + -1, 202, -1, 215, -1, 214, -1, 180, 216, -1, + 218, 219, -1, 209, 219, -1, 220, 166, 221, -1, + 220, 223, -1, -1, 23, -1, 73, 217, -1, 73, + 8, -1, 74, 20, 216, -1, 74, 9, 216, 141, + 20, 216, 141, 20, 216, -1, 75, 164, 216, 141, + 20, 216, 145, 222, 147, -1, 75, 164, 216, 141, + 20, 216, 145, 147, -1, 76, 171, 178, 216, 143, + 226, 144, 37, 20, 216, 77, 20, 216, -1, 77, + -1, 78, -1, 222, 164, 214, 141, 20, 216, -1, + 164, 214, 141, 20, 216, -1, 166, 228, -1, 180, + 145, 216, 141, 216, 147, -1, 224, 141, 145, 216, + 141, 216, 147, -1, 217, -1, 225, 141, 217, -1, + 225, -1, -1, 61, 60, -1, 60, -1, 156, 180, + 216, 141, 216, -1, 157, 180, 216, 141, 216, -1, + 91, 160, 180, 216, 141, 216, -1, 92, 161, 180, + 216, 141, 216, -1, 50, 217, -1, 159, 217, 141, + 217, -1, 158, 217, 37, 180, -1, 132, 217, 141, + 217, 141, 217, -1, 136, 217, 141, 180, -1, 137, + 217, 141, 217, -1, 138, 217, 141, 217, 141, 217, + -1, 139, 217, 141, 217, 141, 217, -1, 131, 224, + -1, 227, 171, 178, 216, 143, 226, 144, -1, 231, + -1, 141, 225, -1, -1, 36, -1, -1, 113, 180, + 173, -1, 113, 180, 141, 15, 216, 173, -1, 114, + 180, 173, -1, 114, 180, 141, 15, 216, 173, -1, + 115, 217, -1, 230, 116, 180, 216, -1, 230, 117, + 217, 141, 180, 216, -1, 118, 180, 216, 229, -1 }; /* YYRLINE[YYN] -- source line where rule number YYN was defined. */ static const unsigned short int yyrline[] = { - 0, 988, 988, 989, 999, 999, 999, 999, 999, 999, - 999, 999, 999, 1000, 1000, 1000, 1001, 1001, 1001, 1001, - 1001, 1001, 1002, 1002, 1002, 1002, 1002, 1002, 1003, 1003, - 1003, 1005, 1005, 1006, 1006, 1007, 1007, 1008, 1008, 1009, - 1009, 1013, 1013, 1014, 1014, 1015, 1015, 1016, 1016, 1017, - 1017, 1018, 1018, 1019, 1019, 1020, 1021, 1026, 1026, 1026, - 1026, 1027, 1027, 1027, 1027, 1028, 1028, 1029, 1029, 1032, - 1036, 1041, 1042, 1043, 1044, 1045, 1046, 1047, 1048, 1050, - 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1066, 1067, 1073, - 1074, 1082, 1090, 1091, 1096, 1097, 1098, 1103, 1117, 1117, - 1118, 1118, 1120, 1130, 1130, 1130, 1130, 1130, 1130, 1130, - 1131, 1131, 1131, 1131, 1131, 1131, 1132, 1136, 1140, 1148, - 1156, 1169, 1174, 1186, 1196, 1200, 1210, 1214, 1225, 1230, - 1236, 1237, 1241, 1245, 1256, 1282, 1296, 1326, 1352, 1373, - 1386, 1396, 1401, 1462, 1469, 1477, 1483, 1489, 1495, 1501, - 1505, 1509, 1517, 1529, 1550, 1558, 1564, 1575, 1580, 1585, - 1594, 1600, 1606, 1615, 1619, 1627, 1627, 1637, 1645, 1650, - 1654, 1658, 1662, 1677, 1699, 1702, 1705, 1705, 1713, 1713, - 1721, 1721, 1729, 1729, 1738, 1741, 1744, 1748, 1761, 1762, - 1764, 1768, 1777, 1781, 1786, 1788, 1793, 1798, 1807, 1807, - 1808, 1808, 1810, 1817, 1823, 1830, 1834, 1840, 1845, 1850, - 1945, 1945, 1947, 1955, 1955, 1957, 1962, 1963, 1964, 1966, - 1966, 1976, 1980, 1985, 1989, 1993, 1997, 2001, 2005, 2009, - 2013, 2017, 2042, 2046, 2060, 2064, 2070, 2070, 2076, 2081, - 2085, 2094, 2105, 2114, 2126, 2139, 2143, 2147, 2152, 2161, - 2180, 2189, 2245, 2249, 2256, 2267, 2280, 2289, 2298, 2308, - 2312, 2319, 2319, 2321, 2325, 2330, 2349, 2364, 2375, 2386, - 2399, 2408, 2419, 2427, 2432, 2438, 2444, 2450, 2465, 2524, - 2531, 2534, 2539, 2543, 2550, 2555, 2561, 2566, 2572, 2580, - 2592, 2607 + 0, 989, 989, 990, 1000, 1000, 1000, 1000, 1000, 1000, + 1000, 1000, 1000, 1001, 1001, 1001, 1002, 1002, 1002, 1002, + 1002, 1002, 1003, 1003, 1003, 1003, 1003, 1003, 1004, 1004, + 1004, 1006, 1006, 1007, 1007, 1008, 1008, 1009, 1009, 1010, + 1010, 1014, 1014, 1015, 1015, 1016, 1016, 1017, 1017, 1018, + 1018, 1019, 1019, 1020, 1020, 1021, 1022, 1027, 1027, 1027, + 1027, 1028, 1028, 1028, 1028, 1029, 1029, 1030, 1030, 1033, + 1037, 1043, 1044, 1045, 1046, 1047, 1051, 1052, 1053, 1057, + 1058, 1059, 1063, 1064, 1065, 1066, 1067, 1070, 1071, 1072, + 1073, 1074, 1075, 1076, 1077, 1086, 1087, 1093, 1094, 1102, + 1110, 1111, 1116, 1117, 1118, 1123, 1137, 1137, 1138, 1138, + 1140, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1151, 1151, + 1151, 1151, 1151, 1152, 1156, 1160, 1168, 1176, 1189, 1194, + 1206, 1216, 1220, 1230, 1234, 1245, 1250, 1256, 1257, 1261, + 1265, 1276, 1302, 1316, 1346, 1372, 1393, 1406, 1416, 1421, + 1482, 1489, 1497, 1503, 1509, 1515, 1521, 1525, 1529, 1537, + 1549, 1570, 1578, 1584, 1595, 1600, 1605, 1614, 1620, 1626, + 1635, 1639, 1647, 1647, 1658, 1663, 1671, 1672, 1676, 1676, + 1680, 1680, 1683, 1686, 1698, 1720, 1720, 1729, 1729, 1737, + 1737, 1745, 1748, 1754, 1767, 1768, 1770, 1774, 1783, 1787, + 1792, 1794, 1799, 1804, 1813, 1813, 1814, 1814, 1816, 1823, + 1829, 1836, 1840, 1846, 1851, 1856, 1951, 1951, 1953, 1961, + 1961, 1963, 1968, 1978, 1982, 1987, 1991, 1995, 1999, 2003, + 2007, 2011, 2015, 2019, 2044, 2048, 2062, 2066, 2072, 2072, + 2078, 2083, 2087, 2096, 2107, 2116, 2128, 2141, 2145, 2149, + 2154, 2163, 2182, 2191, 2247, 2251, 2258, 2269, 2282, 2291, + 2300, 2310, 2314, 2321, 2321, 2323, 2327, 2332, 2351, 2366, + 2377, 2388, 2401, 2410, 2421, 2429, 2434, 2440, 2446, 2452, + 2467, 2526, 2533, 2536, 2541, 2545, 2552, 2557, 2563, 2568, + 2574, 2582, 2594, 2609 }; #endif @@ -1652,10 +1652,10 @@ { "$end", "error", "$undefined", "ESINT64VAL", "EUINT64VAL", "SINTVAL", "UINTVAL", "FPVAL", "VOID", "BOOL", "SBYTE", "UBYTE", "SHORT", "USHORT", - "INT", "UINT", "LONG", "ULONG", "FLOAT", "DOUBLE", "TYPE", "LABEL", + "INT", "UINT", "LONG", "ULONG", "FLOAT", "DOUBLE", "LABEL", "TYPE", "VAR_ID", "LABELSTR", "STRINGCONSTANT", "IMPLEMENTATION", "ZEROINITIALIZER", "TRUETOK", "FALSETOK", "BEGINTOK", "ENDTOK", - "DECLARE", "GLOBAL", "CONSTANT", "SECTION", "VOLATILE", "TO", + "DECLARE", "DEFINE", "GLOBAL", "CONSTANT", "SECTION", "VOLATILE", "TO", "DOTDOTDOT", "NULL_TOK", "UNDEF", "CONST", "INTERNAL", "LINKONCE", "WEAK", "APPENDING", "DLLIMPORT", "DLLEXPORT", "EXTERN_WEAK", "OPAQUE", "NOT", "EXTERNAL", "TARGET", "TRIPLE", "ENDIAN", "POINTERSIZE", "LITTLE", @@ -1674,20 +1674,20 @@ "'['", "'x'", "']'", "'<'", "'>'", "'{'", "'}'", "'*'", "'c'", "$accept", "INTVAL", "ArithmeticOps", "LogicalOps", "CastOps", "ShiftOps", "IPredicates", "FPredicates", "SIntType", "UIntType", "IntType", - "FPType", "OptAssign", "OptLinkage", "OptCallingConv", "OptAlign", + "FPType", "OptAssign", "GVInternalLinkage", "GVExternalLinkage", + "FnDeclareLinkage", "FunctionLinkage", "OptCallingConv", "OptAlign", "OptCAlign", "SectionString", "OptSection", "GlobalVarAttributes", "GlobalVarAttribute", "TypesV", "UpRTypesV", "Types", "PrimType", "UpRTypes", "TypeListI", "ArgTypeListI", "ConstVal", "ConstExpr", - "ConstVector", "GlobalType", "Module", "FunctionList", "ConstPool", "@1", - "@2", "@3", "@4", "AsmBlock", "BigOrLittle", "TargetDefinition", - "LibrariesDefinition", "LibList", "Name", "OptName", "ArgVal", - "ArgListH", "ArgList", "FunctionHeaderH", "BEGIN", "FunctionHeader", - "END", "Function", "FnDeclareLinkage", "FunctionProto", "@5", - "OptSideEffect", "ConstValueRef", "SymbolicValueRef", "ValueRef", - "ResolvedVal", "BasicBlockList", "BasicBlock", "InstructionList", - "BBTerminatorInst", "JumpTable", "Inst", "PHIList", "ValueRefList", - "ValueRefListE", "OptTailCall", "InstVal", "IndexList", "OptVolatile", - "MemoryInst", 0 + "ConstVector", "GlobalType", "Module", "DefinitionList", "Definition", + "@1", "@2", "@3", "@4", "@5", "AsmBlock", "BigOrLittle", + "TargetDefinition", "LibrariesDefinition", "LibList", "Name", "OptName", + "ArgVal", "ArgListH", "ArgList", "FunctionHeaderH", "BEGIN", + "FunctionHeader", "END", "Function", "FunctionProto", "OptSideEffect", + "ConstValueRef", "SymbolicValueRef", "ValueRef", "ResolvedVal", + "BasicBlockList", "BasicBlock", "InstructionList", "BBTerminatorInst", + "JumpTable", "Inst", "PHIList", "ValueRefList", "ValueRefListE", + "OptTailCall", "InstVal", "IndexList", "OptVolatile", "MemoryInst", 0 }; #endif @@ -1709,45 +1709,45 @@ 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, - 385, 386, 387, 388, 389, 390, 391, 392, 393, 61, - 44, 92, 40, 41, 91, 120, 93, 60, 62, 123, - 125, 42, 99 + 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, + 61, 44, 92, 40, 41, 91, 120, 93, 60, 62, + 123, 125, 42, 99 }; # endif /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ static const unsigned char yyr1[] = { - 0, 153, 154, 154, 155, 155, 155, 155, 155, 155, - 155, 155, 155, 156, 156, 156, 157, 157, 157, 157, - 157, 157, 157, 157, 157, 157, 157, 157, 158, 158, - 158, 159, 159, 159, 159, 159, 159, 159, 159, 159, + 0, 154, 155, 155, 156, 156, 156, 156, 156, 156, + 156, 156, 156, 157, 157, 157, 158, 158, 158, 158, + 158, 158, 158, 158, 158, 158, 158, 158, 159, 159, 159, 160, 160, 160, 160, 160, 160, 160, 160, 160, - 160, 160, 160, 160, 160, 160, 160, 161, 161, 161, - 161, 162, 162, 162, 162, 163, 163, 164, 164, 165, - 165, 166, 166, 166, 166, 166, 166, 166, 166, 167, - 167, 167, 167, 167, 167, 167, 167, 168, 168, 169, - 169, 170, 171, 171, 172, 172, 173, 173, 174, 174, - 175, 175, 176, 177, 177, 177, 177, 177, 177, 177, - 177, 177, 177, 177, 177, 177, 178, 178, 178, 178, - 178, 178, 178, 178, 178, 178, 178, 178, 179, 179, - 180, 180, 180, 180, 181, 181, 181, 181, 181, 181, - 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, - 181, 181, 182, 182, 182, 182, 182, 182, 182, 182, - 182, 182, 182, 183, 183, 184, 184, 185, 186, 186, - 186, 186, 186, 187, 187, 187, 188, 187, 189, 187, - 190, 187, 191, 187, 187, 187, 187, 192, 193, 193, - 194, 194, 194, 194, 195, 196, 196, 196, 197, 197, - 198, 198, 199, 200, 200, 201, 201, 201, 201, 202, - 203, 203, 204, 205, 205, 206, 207, 207, 207, 209, - 208, 210, 210, 211, 211, 211, 211, 211, 211, 211, - 211, 211, 211, 211, 212, 212, 213, 213, 214, 215, - 215, 216, 217, 217, 217, 218, 218, 218, 218, 218, - 218, 218, 218, 218, 219, 219, 220, 221, 221, 222, - 222, 223, 223, 224, 224, 225, 225, 225, 225, 225, - 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, - 226, 226, 227, 227, 228, 228, 228, 228, 228, 228, - 228, 228 + 160, 161, 161, 161, 161, 161, 161, 161, 161, 161, + 161, 161, 161, 161, 161, 161, 161, 162, 162, 162, + 162, 163, 163, 163, 163, 164, 164, 165, 165, 166, + 166, 167, 167, 167, 167, 167, 168, 168, 168, 169, + 169, 169, 170, 170, 170, 170, 170, 171, 171, 171, + 171, 171, 171, 171, 171, 172, 172, 173, 173, 174, + 175, 175, 176, 176, 177, 177, 178, 178, 179, 179, + 180, 181, 181, 181, 181, 181, 181, 181, 181, 181, + 181, 181, 181, 182, 182, 182, 182, 182, 182, 182, + 182, 182, 182, 182, 182, 183, 183, 184, 184, 184, + 184, 185, 185, 185, 185, 185, 185, 185, 185, 185, + 185, 185, 185, 185, 185, 185, 185, 185, 185, 186, + 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, + 187, 187, 188, 188, 189, 189, 190, 190, 192, 191, + 193, 191, 191, 191, 191, 194, 191, 195, 191, 196, + 191, 191, 191, 197, 198, 198, 199, 199, 199, 199, + 200, 201, 201, 201, 202, 202, 203, 203, 204, 205, + 205, 206, 206, 206, 206, 207, 208, 208, 209, 210, + 210, 211, 212, 213, 213, 214, 214, 214, 214, 214, + 214, 214, 214, 214, 214, 214, 215, 215, 216, 216, + 217, 218, 218, 219, 220, 220, 220, 221, 221, 221, + 221, 221, 221, 221, 221, 221, 222, 222, 223, 224, + 224, 225, 225, 226, 226, 227, 227, 228, 228, 228, + 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, + 228, 228, 229, 229, 230, 230, 231, 231, 231, 231, + 231, 231, 231, 231 }; /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ @@ -1760,29 +1760,29 @@ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, - 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, - 1, 1, 1, 1, 1, 1, 2, 0, 2, 0, - 3, 2, 0, 1, 0, 3, 1, 2, 1, 1, + 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, + 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, + 1, 1, 1, 1, 2, 0, 2, 0, 3, 2, + 0, 1, 0, 3, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, - 4, 5, 5, 3, 2, 5, 4, 2, 1, 3, - 1, 3, 1, 0, 4, 3, 3, 4, 4, 3, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 6, 5, 8, 6, 6, 7, 7, 6, - 6, 8, 8, 3, 1, 1, 1, 1, 2, 2, - 4, 2, 1, 4, 2, 4, 0, 7, 0, 7, - 0, 7, 0, 7, 3, 4, 0, 1, 1, 1, - 3, 3, 3, 3, 3, 3, 1, 0, 1, 1, - 1, 0, 2, 3, 1, 1, 3, 1, 0, 8, - 1, 1, 3, 1, 1, 2, 0, 1, 1, 0, - 4, 0, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 3, 1, 5, 1, 1, 1, 1, 2, 2, - 2, 3, 2, 0, 1, 2, 2, 3, 9, 9, - 8, 13, 1, 1, 6, 5, 2, 6, 7, 1, - 3, 1, 0, 2, 1, 5, 5, 6, 6, 2, - 4, 4, 6, 4, 4, 6, 6, 2, 7, 1, - 2, 0, 1, 0, 3, 6, 3, 6, 2, 4, - 6, 4 + 1, 1, 1, 1, 1, 1, 2, 4, 5, 5, + 3, 2, 5, 4, 2, 1, 3, 1, 3, 1, + 0, 4, 3, 3, 4, 4, 3, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 6, + 5, 8, 6, 6, 7, 7, 6, 6, 8, 8, + 3, 1, 1, 1, 1, 0, 1, 2, 0, 3, + 0, 3, 3, 1, 3, 0, 5, 0, 6, 0, + 6, 2, 3, 1, 1, 1, 3, 3, 3, 3, + 3, 3, 1, 0, 1, 1, 1, 0, 2, 3, + 1, 1, 3, 1, 0, 8, 1, 1, 3, 1, + 1, 2, 2, 0, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 3, 1, 5, 1, 1, 1, 1, + 2, 2, 2, 3, 2, 0, 1, 2, 2, 3, + 9, 9, 8, 13, 1, 1, 6, 5, 2, 6, + 7, 1, 3, 1, 0, 2, 1, 5, 5, 6, + 6, 2, 4, 4, 6, 4, 4, 6, 6, 2, + 7, 1, 2, 0, 1, 0, 3, 6, 3, 6, + 2, 4, 6, 4 }; /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state @@ -1790,509 +1790,525 @@ means the default is an error. */ static const unsigned short int yydefact[] = { - 186, 0, 78, 172, 1, 171, 219, 71, 72, 73, - 74, 75, 76, 77, 0, 79, 243, 168, 169, 243, - 198, 199, 0, 0, 0, 78, 0, 174, 216, 0, - 0, 80, 81, 82, 83, 84, 85, 0, 0, 244, - 240, 70, 213, 214, 215, 239, 0, 0, 0, 0, - 184, 0, 0, 0, 0, 0, 0, 0, 69, 217, - 218, 79, 187, 170, 86, 2, 3, 99, 103, 104, - 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, - 115, 116, 0, 0, 0, 0, 234, 0, 0, 98, - 117, 102, 235, 118, 210, 211, 212, 283, 242, 0, - 0, 0, 0, 197, 185, 175, 173, 165, 166, 0, - 0, 0, 0, 220, 119, 0, 0, 0, 101, 124, - 128, 0, 0, 133, 127, 282, 0, 264, 0, 0, - 0, 0, 79, 252, 253, 4, 5, 6, 7, 8, - 9, 10, 11, 12, 13, 14, 15, 0, 0, 0, - 0, 0, 0, 16, 17, 18, 19, 20, 21, 22, - 23, 24, 25, 26, 27, 0, 0, 28, 29, 30, - 0, 0, 0, 0, 0, 0, 0, 0, 241, 79, - 256, 0, 279, 192, 189, 188, 190, 191, 193, 196, - 0, 180, 182, 178, 103, 104, 105, 106, 107, 108, - 109, 110, 111, 112, 113, 0, 0, 0, 0, 176, - 0, 0, 0, 0, 0, 123, 208, 132, 130, 0, - 0, 269, 263, 246, 245, 0, 0, 60, 64, 59, - 63, 58, 62, 57, 61, 65, 66, 0, 0, 31, - 32, 33, 34, 35, 36, 37, 38, 39, 40, 0, - 55, 56, 51, 52, 53, 54, 41, 42, 43, 44, - 45, 46, 47, 48, 49, 50, 0, 89, 89, 288, - 0, 0, 277, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 194, 94, 94, 94, - 149, 150, 145, 146, 148, 147, 151, 144, 140, 141, + 70, 204, 205, 183, 180, 178, 0, 0, 0, 0, + 0, 70, 176, 0, 79, 86, 0, 0, 0, 0, + 191, 0, 0, 0, 172, 173, 71, 73, 72, 74, + 76, 75, 77, 78, 0, 0, 0, 1, 177, 69, + 80, 81, 87, 181, 82, 83, 84, 85, 87, 245, + 179, 245, 0, 0, 0, 0, 203, 192, 193, 182, + 2, 3, 107, 111, 112, 113, 114, 115, 116, 117, + 118, 119, 120, 121, 122, 123, 0, 0, 0, 0, + 236, 184, 0, 106, 124, 110, 237, 125, 0, 0, + 109, 111, 112, 113, 114, 115, 116, 117, 118, 119, + 120, 121, 0, 0, 0, 0, 185, 0, 88, 89, + 90, 91, 92, 93, 0, 222, 0, 246, 242, 70, + 219, 220, 221, 241, 198, 195, 194, 196, 197, 199, + 202, 0, 126, 0, 0, 0, 131, 135, 0, 140, + 134, 187, 189, 156, 157, 152, 153, 155, 154, 158, + 151, 147, 148, 4, 5, 6, 7, 8, 9, 10, + 11, 12, 13, 14, 15, 0, 0, 0, 16, 17, + 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, + 0, 28, 29, 30, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 150, 149, 102, 94, 0, + 216, 217, 218, 285, 244, 0, 200, 0, 0, 0, + 0, 0, 130, 139, 137, 0, 102, 102, 31, 32, + 33, 34, 35, 36, 37, 38, 39, 40, 0, 55, + 56, 51, 52, 53, 54, 41, 42, 43, 44, 45, + 46, 47, 48, 49, 50, 0, 0, 0, 0, 0, + 0, 142, 171, 0, 0, 146, 0, 143, 0, 0, + 0, 0, 0, 186, 0, 284, 0, 266, 0, 0, + 0, 0, 87, 254, 255, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 243, 87, 258, 0, 281, 201, 108, 108, 133, + 0, 136, 0, 127, 188, 190, 0, 0, 283, 0, + 0, 0, 0, 0, 141, 144, 145, 0, 0, 0, + 0, 0, 0, 104, 102, 214, 0, 271, 265, 248, + 247, 0, 0, 60, 64, 59, 63, 58, 62, 57, + 61, 65, 66, 0, 0, 0, 0, 97, 97, 290, + 0, 0, 279, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 128, 129, 132, 138, 0, + 0, 0, 0, 0, 0, 0, 0, 170, 0, 0, + 0, 0, 99, 105, 103, 213, 207, 210, 211, 0, + 225, 226, 227, 232, 228, 229, 230, 231, 223, 0, + 234, 239, 238, 240, 0, 249, 0, 0, 0, 0, + 0, 286, 0, 288, 283, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 143, 142, 94, 100, 100, - 126, 0, 129, 207, 201, 204, 205, 0, 0, 120, - 223, 224, 225, 230, 226, 227, 228, 229, 221, 0, - 232, 237, 236, 238, 0, 247, 0, 0, 0, 0, - 0, 284, 0, 286, 281, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 195, - 0, 181, 183, 179, 0, 0, 0, 0, 0, 0, - 0, 135, 164, 0, 0, 139, 0, 136, 0, 0, - 0, 0, 177, 121, 122, 125, 200, 202, 0, 92, - 131, 222, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 291, 0, 0, 0, 273, 274, 0, - 0, 0, 0, 271, 270, 0, 289, 0, 0, 0, - 96, 94, 0, 0, 281, 0, 0, 0, 0, 0, - 134, 137, 138, 0, 0, 0, 0, 206, 203, 93, - 87, 0, 231, 0, 0, 262, 0, 0, 89, 90, - 89, 259, 280, 0, 0, 0, 0, 0, 265, 266, - 262, 0, 91, 97, 95, 0, 0, 0, 0, 0, - 0, 0, 163, 0, 0, 0, 0, 0, 209, 0, - 0, 0, 261, 0, 267, 268, 0, 285, 287, 0, - 0, 0, 272, 275, 276, 0, 290, 0, 0, 153, - 0, 0, 0, 0, 0, 0, 0, 0, 88, 233, - 0, 0, 0, 260, 257, 0, 278, 0, 0, 0, - 160, 0, 0, 155, 156, 152, 159, 0, 250, 0, - 0, 0, 258, 157, 158, 0, 0, 0, 248, 0, - 249, 0, 0, 154, 161, 162, 0, 0, 0, 0, - 0, 0, 255, 0, 0, 254, 251 + 0, 261, 282, 160, 0, 0, 0, 0, 0, 0, + 0, 0, 206, 208, 0, 100, 224, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 293, 0, 0, + 0, 275, 276, 0, 0, 0, 0, 273, 272, 0, + 291, 0, 0, 0, 0, 0, 167, 0, 0, 162, + 163, 159, 166, 212, 209, 101, 95, 0, 233, 0, + 0, 264, 0, 0, 97, 98, 97, 0, 0, 0, + 0, 0, 267, 268, 264, 0, 164, 165, 262, 0, + 0, 0, 0, 215, 0, 0, 0, 263, 0, 269, + 270, 0, 287, 289, 0, 0, 274, 277, 278, 0, + 292, 161, 168, 169, 96, 235, 0, 0, 0, 259, + 0, 280, 0, 252, 0, 0, 0, 260, 250, 0, + 251, 0, 0, 0, 0, 0, 0, 0, 0, 257, + 0, 0, 256, 253 }; /* YYDEFGOTO[NTERM-NUM]. */ static const short int yydefgoto[] = { - -1, 86, 311, 312, 313, 314, 249, 266, 205, 206, - 237, 207, 25, 15, 37, 488, 351, 430, 450, 371, - 431, 87, 88, 208, 90, 91, 121, 219, 382, 340, - 383, 109, 1, 2, 3, 317, 289, 287, 288, 63, - 186, 50, 104, 190, 92, 397, 325, 326, 327, 38, - 96, 16, 44, 17, 61, 18, 28, 402, 341, 93, - 343, 461, 19, 40, 41, 178, 540, 98, 272, 492, - 493, 179, 180, 413, 181, 182 + -1, 80, 191, 192, 193, 194, 228, 245, 102, 103, + 343, 104, 9, 34, 35, 42, 48, 114, 513, 411, + 323, 486, 263, 324, 81, 82, 105, 84, 85, 138, + 215, 252, 400, 253, 36, 10, 11, 12, 15, 14, + 197, 216, 217, 59, 127, 20, 57, 131, 86, 443, + 387, 388, 389, 115, 202, 49, 122, 50, 43, 447, + 401, 87, 403, 431, 51, 118, 119, 291, 545, 204, + 352, 517, 518, 292, 293, 372, 294, 295 }; /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing STATE-NUM. */ -#define YYPACT_NINF -514 +#define YYPACT_NINF -420 static const short int yypact[] = { - -514, 47, 80, 817, -514, -514, -514, -514, -514, -514, - -514, -514, -514, -514, -3, 79, 67, -514, -514, -9, - -514, -514, 33, -46, 42, 139, -29, -514, -2, 95, - 126, -514, -514, -514, -514, -514, -514, 1112, -18, -514, - -514, 96, -514, -514, -514, -514, -7, 29, 56, 61, - -514, 34, 95, 1112, 74, 74, 74, 74, -514, -514, - -514, 79, -514, -514, -514, -514, -514, 45, -514, -514, - -514, -514, -514, -514, -514, -514, -514, -514, -514, -514, - -514, -514, 209, 211, 2, 538, -514, 96, 77, -514, - -514, -118, -514, -514, -514, -514, -514, 1252, -514, 201, - 102, 224, 206, 215, -514, -514, -514, -514, -514, 1153, - 1153, 1153, 1173, -514, -514, 112, 115, 598, -514, -514, - -118, -111, 99, 643, -514, -514, 1153, -514, 207, 1214, - 14, 239, 79, -514, -514, -514, -514, -514, -514, -514, - -514, -514, -514, -514, -514, -514, -514, 110, 190, 1153, - 1153, 1153, 1153, -514, -514, -514, -514, -514, -514, -514, - -514, -514, -514, -514, -514, 1153, 1153, -514, -514, -514, - 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, -514, 79, - -514, 48, -514, -514, -514, -514, -514, -514, -514, -514, - -94, -514, -514, -514, 138, 171, 173, 187, 189, 195, - 218, 220, 230, 258, 260, 232, 234, 267, 393, -514, - 1153, 1153, 129, -99, 1153, -514, 967, -514, 140, 135, - 691, -514, -514, 45, -514, 691, 691, -514, -514, -514, - -514, -514, -514, -514, -514, -514, -514, 691, 1112, -514, - -514, -514, -514, -514, -514, -514, -514, -514, -514, 1153, - -514, -514, -514, -514, -514, -514, -514, -514, -514, -514, - -514, -514, -514, -514, -514, -514, 1153, 145, 146, -514, - 691, 158, 163, 164, 165, 167, 169, 170, 691, 691, - 243, 172, 1112, 1153, 1153, 287, -514, 174, 174, 174, - -514, -514, -514, -514, -514, -514, -514, -514, -514, -514, - 110, 190, 176, 177, 188, 191, 192, 914, 1173, 618, - 289, 193, 194, 196, 197, -514, -514, 174, -119, -60, - -514, 181, -118, -514, 96, -514, 175, 198, 1008, -514, - -514, -514, -514, -514, -514, -514, -514, -514, 274, 1173, - -514, -514, -514, -514, 200, -514, 203, 691, 691, 691, - 0, -514, 13, -514, 204, 691, 202, 1153, 1153, 1153, - 1153, 1153, 205, 212, 1153, 1153, 691, 691, 213, -514, - -17, -514, -514, -514, 214, 216, 1173, 1173, 1173, 1173, - 1173, -514, -514, 15, -32, -514, -69, -514, 1173, 1173, - 1173, 1173, -514, -514, -514, -514, -514, -514, 1059, 313, - -514, -514, 327, -31, 333, 334, 217, 222, 223, 691, - 356, 691, 1153, -514, 225, 691, 226, -514, -514, 227, - 238, 691, 691, -514, -514, 228, -514, 1153, 357, 376, - -514, 174, 1173, 1173, 204, 244, 248, 249, 254, 1173, - -514, -514, -514, 255, 256, 347, 257, -514, -514, -514, - 345, 263, -514, 691, 691, 1153, 691, 691, 266, -514, - 266, -514, 268, 691, 269, 1153, 1153, 1153, -514, -514, - 1153, 691, -514, -514, -514, 272, 273, 264, 1173, 1173, - 1173, 1173, -514, 1173, 1173, 1153, 1173, 410, -514, 392, - 280, 277, 268, 283, -514, -514, 366, -514, -514, 1153, - 281, 691, -514, -514, -514, 291, -514, 1173, 1173, -514, - 295, 293, 297, 298, 296, 299, 300, 301, -514, -514, - 419, 51, 405, -514, -514, 304, -514, 302, 303, 1173, - -514, 1173, 1173, -514, -514, -514, -514, 691, -514, 827, - 85, 430, -514, -514, -514, 309, 311, 312, -514, 316, - -514, 827, 691, -514, -514, -514, 436, 318, 385, 691, - 442, 443, -514, 691, 691, -514, -514 + 64, -420, -420, -420, -420, -420, 45, -80, 49, 59, + 124, 118, -420, -14, -33, 159, 8, 11, 32, 38, + -420, -10, 121, 1149, -420, -420, -420, -420, -420, -420, + -420, -420, -420, -420, 141, 141, 1195, -420, -420, -420, + -420, -420, 143, -420, -420, -420, -420, -420, 143, 157, + -420, -12, 191, 148, 179, 197, 201, -420, -420, -420, + -420, -420, 90, -420, -420, -420, -420, -420, -420, -420, + -420, -420, -420, -420, -420, -420, 227, 233, 4, 34, + -420, -420, 99, -420, -420, -62, -420, -420, 1195, 1240, + -420, 190, 216, 220, 232, 241, 247, 267, 269, 271, + 246, 285, 275, 277, 287, 523, -420, 278, -420, -420, + -420, -420, -420, -420, 1149, -420, -19, -420, -420, 63, + -420, -420, -420, -420, -420, -420, -420, -420, -420, -420, + -420, -13, -420, 149, 150, 574, -420, -62, -84, 934, + -420, -420, -420, -420, -420, -420, -420, -420, -420, -420, + -420, -420, -420, -420, -420, -420, -420, -420, -420, -420, + -420, -420, -420, -420, -420, 231, 87, 154, -420, -420, + -420, -420, -420, -420, -420, -420, -420, -420, -420, -420, + 155, -420, -420, -420, 156, 158, 160, 982, 1195, 669, + 280, 162, 163, 165, 166, -420, -420, 169, -420, 63, + -420, -420, -420, 1339, -420, 288, -420, 1240, 1240, 164, + -57, 1240, -420, -420, 170, 173, 169, 169, -420, -420, + -420, -420, -420, -420, -420, -420, -420, -420, 171, -420, + -420, -420, -420, -420, -420, -420, -420, -420, -420, -420, + -420, -420, -420, -420, -420, 175, 1195, 1195, 1195, 1195, + 1195, -420, -420, 5, -86, -420, -32, -420, 1195, 1195, + 1195, 1195, 24, -420, 176, -420, 1240, -420, 260, 1260, + 88, 147, 143, -420, -420, 231, 87, 1240, 1240, 1240, + 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, + 1240, -420, 143, -420, 168, -420, -420, 19, -5, -420, + 185, -62, 1002, -420, -420, -420, 1195, 1195, 194, 195, + 196, 202, 203, 1195, -420, -420, -420, 204, 205, 301, + 206, 318, 345, -420, 169, 1047, 704, -420, -420, 90, + -420, 704, 704, -420, -420, -420, -420, -420, -420, -420, + -420, -420, -420, 704, 1149, 1240, 1240, 209, 210, -420, + 704, 207, 219, 221, 222, 226, 228, 229, 704, 704, + 331, 230, 1149, 1240, 1240, -420, -420, -420, -420, 234, + 235, 1240, 236, 1195, 1195, 1195, 1195, -420, 1195, 1195, + 1240, 1195, -420, -420, -420, -420, 63, -420, 237, 238, + -420, -420, -420, -420, -420, -420, -420, -420, 309, 1195, + -420, -420, -420, -420, 240, -420, 244, 704, 704, 704, + 20, -420, 21, -420, 194, 704, 243, 1240, 1240, 1240, + 1240, 1240, 245, 248, 1240, 1240, 704, 704, 249, 1195, + 1195, -420, 250, -420, 251, 255, 252, 259, 261, 262, + 268, 270, -420, -420, 1093, 339, -420, 353, -28, 359, + 383, 272, 263, 276, 704, 414, 704, -420, 279, 704, + 283, -420, -420, 284, 286, 704, 704, -420, -420, 289, + -420, 1240, 292, 293, 1240, 1195, -420, 1195, 1195, -420, + -420, -420, -420, -420, -420, -420, 370, 290, -420, 704, + 704, 1240, 704, 704, 297, -420, 297, 704, 298, 1240, + 1240, 1240, -420, -420, 1240, 704, -420, -420, -420, 296, + 299, 300, 425, -420, 406, 304, 307, 250, 312, -420, + -420, 375, -420, -420, 294, 704, -420, -420, -420, 315, + -420, -420, -420, -420, -420, -420, 422, 9, 416, -420, + 313, -420, 704, -420, 841, 60, 441, -420, -420, 322, + -420, 841, 704, 444, 324, 389, 704, 447, 449, -420, + 704, 704, -420, -420 }; /* YYPGOTO[NTERM-NUM]. */ static const short int yypgoto[] = { - -514, -514, 368, 369, 370, 371, 185, 168, -130, -129, - -503, -514, 429, 461, -110, -514, -264, 88, -514, -281, - -514, -50, -514, -37, -514, -41, 39, -514, -107, 282, - -289, 22, -514, -514, -514, -514, -514, -514, -514, 437, - -514, -514, -514, -514, 7, -514, 90, -514, -514, 432, - -514, -514, -514, -514, -514, 493, -514, -514, -513, -195, - 38, -117, -514, 478, -514, -514, -514, -514, -514, 86, - 30, -514, -514, 65, -514, -514 + -420, -420, 291, 295, 302, 303, 198, 199, -269, -268, + -415, -420, 351, -420, -420, -420, -420, -231, -420, -341, + 26, -420, -188, -420, -110, -420, -23, -420, -70, -6, + -420, -20, 367, -183, 256, -420, -420, 463, -420, -420, + -420, -420, -420, -420, -420, -420, -420, -420, 1, -420, + 35, -420, -420, 432, -420, -420, -420, -420, -420, -420, + -419, -43, 76, -252, -420, 435, -420, -420, -420, -420, + -420, 116, -16, -420, -420, 75, -420, -420 }; /* 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 -168 +#define YYTABLE_NINF -176 static const short int yytable[] = { - 89, 235, 236, 106, 353, 209, 116, 372, 373, 221, - 26, 94, 224, 316, 39, 409, 89, 428, 539, 384, - 386, 42, 238, 225, -100, 342, 549, 393, 411, 214, - 342, 342, 124, 124, 269, 226, 392, 551, 557, 215, - 429, 214, 342, 59, 120, 60, 285, 4, 26, 273, - 403, 321, 286, 274, 275, 276, 277, 410, 29, 280, - 281, 227, 228, 229, 230, 231, 232, 233, 234, 282, - 410, 439, 191, 192, 193, 342, 120, 110, 111, 112, - -167, 442, 120, 342, 342, 46, 47, 48, 394, 220, - 39, 124, 220, 51, 122, 227, 228, 229, 230, 231, - 232, 233, 234, 52, 49, 5, 107, 108, 439, 439, - 58, 6, 267, 268, 220, 270, 441, 452, 20, 62, - 21, 7, 8, 9, 10, 11, 12, 13, 271, 220, - 64, 95, 99, 220, 220, 220, 220, 278, 279, 220, - 220, 43, 14, 30, 31, 32, 33, 34, 35, 36, - 474, 117, 342, 342, 342, 439, 213, 184, 185, 53, - 342, 440, 218, 283, 284, 290, 291, 368, 100, 318, - 319, 342, 342, 322, -60, -60, -64, -64, 103, 324, - 7, 8, 9, 10, 54, 12, 55, -101, 347, 56, - -59, -59, -63, -63, 497, 101, 498, 538, -58, -58, - 102, 89, 239, 240, 241, 242, 243, 244, 245, 246, - 247, 248, 348, 114, 342, 115, 342, 250, 251, 123, - 342, -62, -62, -57, -57, 183, 342, 342, 187, 349, - 188, 550, 366, -61, -61, 292, 293, 294, 295, 189, - 416, 216, 418, 419, 420, 89, 367, 220, 424, 227, - 228, 229, 230, 231, 232, 233, 234, 210, 342, 342, - 211, 342, 342, 344, 345, -67, 222, -68, 342, 434, - 435, 436, 437, 438, 296, 346, 342, 320, 329, 364, - 328, 443, 444, 445, 446, 350, 352, 322, 252, 253, - 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, - 264, 265, 355, 356, 357, 358, 342, 359, 354, 360, - 361, 369, 365, 387, 370, 398, 362, 363, 376, 377, - 220, 417, 220, 220, 220, 475, 476, 423, 220, 395, - 378, 396, 482, 379, 380, 388, 389, 401, 390, 391, - 404, 399, 342, 405, 412, 421, 415, 428, 502, 503, - 504, 451, 422, 427, 453, 454, 432, 342, 433, 455, - 459, 324, 456, 457, 342, 463, 465, 466, 342, 342, - 470, 510, 511, 512, 513, 220, 514, 515, 467, 517, - 473, 472, 523, 485, 478, 406, 407, 408, 479, 480, - 471, 235, 236, 414, 481, 483, 484, 486, 65, 66, - 527, 528, 487, 489, 425, 426, 496, 509, 499, 501, - 235, 236, 507, 508, 518, 20, 519, 21, 220, 297, - 520, 521, 545, 410, 546, 547, 522, 524, 220, 220, - 220, 298, 299, 220, 526, 529, 530, 531, 532, 533, - 537, 541, 534, 535, 536, 543, 544, 458, 516, 460, - 542, 552, 553, 464, 554, 555, 556, 559, 560, 468, - 469, 561, 220, 563, 564, 174, 175, 176, 177, 375, - 97, 135, 136, 137, 138, 139, 140, 141, 142, 143, - 144, 145, 146, 300, 301, 374, 57, 449, 448, 105, - 315, 490, 491, 113, 494, 495, 27, 45, 462, 477, - 505, 500, 0, 0, 0, 0, 0, 0, 0, 506, - 302, 153, 154, 155, 156, 157, 158, 159, 160, 161, - 162, 163, 164, 0, 303, 167, 168, 169, 0, 304, - 305, 306, 0, 0, 0, 0, 0, 307, 0, 525, - 308, 0, 309, 65, 66, 310, 118, 68, 69, 70, - 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, - 20, 0, 21, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 548, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 81, 0, 0, 0, - 558, 0, 0, 0, 0, 0, 0, 562, 0, 0, - 0, 565, 566, 65, 66, 0, 118, 68, 69, 70, - 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, - 20, 0, 21, 65, 66, 0, 118, 194, 195, 196, - 197, 198, 199, 200, 201, 202, 203, 204, 79, 80, - 20, 0, 21, 0, 0, 0, 81, 0, 65, 66, - 0, 118, 68, 69, 70, 71, 72, 73, 74, 75, - 76, 77, 78, 79, 80, 20, 81, 21, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, - 217, 0, 83, 0, 0, 84, 0, 85, 119, 0, - 0, 81, 0, 0, 330, 331, 65, 66, 332, 0, + 83, 13, 341, 342, 199, 254, 256, 413, 134, 137, + 200, 117, 13, 40, 327, 41, 106, 330, 120, 333, + 334, 335, 336, 337, 338, 339, 340, 349, 304, 305, + 353, 354, 355, 356, 357, 454, 456, 360, 361, 60, + 61, 344, 90, 63, 64, 65, 66, 67, 68, 69, + 70, 71, 72, 73, 74, 313, 1, 211, 2, 321, + 21, 362, 196, 315, -175, 137, 142, 212, 141, 137, + 333, 334, 335, 336, 337, 338, 339, 340, 455, 455, + 23, -108, 322, 75, 211, 1, 1, 2, 2, 3, + 140, 83, 24, 25, 300, 4, 5, 331, 16, 17, + 18, 26, 27, 28, 29, 30, 31, 32, 332, 313, + 33, 22, 428, 313, 229, 230, 6, 19, -174, 316, + 13, 488, 544, 7, 37, 549, 39, 8, 205, 210, + 551, 201, 554, 214, 206, 56, 384, 297, 298, 121, + 1, 301, 2, 3, 366, 58, 313, 140, 52, 4, + 5, 53, 314, 522, 135, 523, 543, 333, 334, 335, + 336, 337, 338, 339, 340, 460, 365, 462, 463, 464, + 6, 140, 54, 468, 24, 25, 76, 7, 55, 77, + 117, 8, 78, 128, 79, 136, 231, 232, 233, 234, + 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, + 264, 44, 45, 46, 125, 126, 47, 550, 107, 108, + 109, 110, 111, 112, 113, 124, 448, 143, 144, -60, + -60, 129, 508, -64, -64, 130, 308, 309, 310, 311, + 312, 132, 301, -109, 407, -59, -59, 133, 317, 318, + 319, 320, 139, 326, -63, -63, 326, 526, 527, 528, + -58, -58, 426, -67, 347, 348, 326, 350, 351, 326, + 326, 326, 326, 326, 358, 359, 326, 326, 341, 342, + -62, -62, -57, -57, -61, -61, 341, 342, 145, 146, + 147, 148, 198, 402, 363, 364, 369, 370, 402, 402, + 88, 89, -68, 377, 149, 207, 208, 246, 247, 248, + 402, 249, 386, 250, 257, 258, 259, 402, 260, 261, + 262, 302, 296, 299, 306, 402, 402, 303, 307, 325, + 328, 83, 408, 409, 218, 219, 220, 221, 222, 223, + 224, 225, 226, 227, 367, 371, 373, 374, 380, 83, + 427, 326, 382, 375, 376, 378, 379, 381, 326, 383, + 410, 412, 415, 434, 435, 436, 437, 440, 438, 439, + 416, 441, 417, 418, 402, 402, 402, 419, 424, 420, + 421, 425, 402, 446, 321, 429, 430, 487, 444, 489, + 433, 449, 445, 402, 402, 450, 465, 442, 459, 466, + 471, 474, 475, 477, 326, 461, 326, 326, 326, 476, + 478, 467, 326, 490, 492, 479, 480, 404, 405, 472, + 473, 402, 481, 402, 482, 491, 402, 493, 495, 406, + 497, 386, 402, 402, 499, 500, 414, 501, 512, 534, + 535, 514, 504, 455, 422, 423, 506, 507, 521, 525, + 531, 539, 542, 532, 533, 536, 402, 402, 505, 402, + 402, 326, 537, 546, 402, 509, 538, 510, 511, 541, + 547, 552, 402, 553, 556, 557, 558, 560, 326, 561, + 203, 485, 195, 345, 38, 346, 326, 326, 326, 484, + 116, 326, 402, 451, 452, 453, 123, 432, 529, 457, + 0, 458, 0, 0, 287, 0, 0, 0, 288, 402, + 0, 0, 469, 470, 0, 289, 290, 0, 0, 402, + 0, 0, 0, 402, 0, 0, 0, 402, 402, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 60, 61, + 494, 0, 496, 0, 0, 498, 0, 0, 0, 0, + 0, 502, 503, 0, 0, 1, 0, 2, 0, 150, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 151, 152, 0, 515, 516, 0, 519, 520, + 0, 0, 0, 524, 0, 0, 0, 0, 0, 60, + 61, 530, 90, 63, 64, 65, 66, 67, 68, 69, + 70, 71, 72, 73, 74, 0, 1, 0, 2, 0, + 0, 540, 153, 154, 155, 156, 157, 158, 159, 160, + 161, 162, 163, 164, 165, 166, 0, 0, 548, 0, + 0, 0, 0, 75, 0, 0, 0, 0, 555, 0, + 0, 0, 559, 0, 0, 0, 562, 563, 0, 0, + 0, 167, 168, 169, 170, 171, 172, 173, 174, 175, + 176, 177, 178, 179, 0, 180, 181, 182, 183, 0, + 184, 185, 186, 0, 0, 0, 0, 0, 187, 0, + 0, 188, 0, 189, 60, 61, 190, 90, 91, 92, + 93, 94, 95, 96, 97, 98, 99, 100, 101, 74, + 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 390, 391, 60, + 61, 392, 0, 0, 0, 0, 76, 0, 75, 77, + 0, 0, 78, 0, 79, 209, 1, 0, 2, 0, + 393, 394, 395, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 396, 397, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 398, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 153, 154, 155, 156, 157, 158, 159, + 160, 161, 162, 163, 164, 165, 166, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 20, 0, 21, 0, 333, 334, 335, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 336, - 337, 0, 0, 0, 0, 0, 0, 0, 0, 82, - 0, 0, 83, 0, 0, 84, 0, 85, 212, 0, - 0, 0, 338, 0, 0, 0, 0, 0, 0, 82, - 0, 0, 83, 0, 0, 84, 0, 85, 385, 135, - 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, - 146, 300, 301, 0, 82, 0, 0, 83, 0, 0, - 84, 0, 85, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 302, 153, - 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, - 164, 0, 303, 167, 168, 169, 0, 304, 305, 306, - 330, 331, 0, 0, 332, 0, 0, -70, 339, 20, - 0, 21, 0, 0, 0, 0, 0, 0, 6, -70, - -70, 0, 0, 333, 334, 335, 0, 0, -70, -70, - -70, -70, -70, -70, -70, 336, 337, -70, 22, 0, - 0, 0, 0, 0, 0, 23, 0, 0, 0, 24, - 0, 0, 0, 0, 0, 0, 0, 0, 338, 0, + 0, 76, 0, 0, 77, 0, 0, 78, 0, 79, + 255, 0, 167, 168, 169, 170, 171, 172, 173, 174, + 175, 176, 177, 178, 179, 0, 180, 181, 182, 183, + 0, 184, 185, 186, 390, 391, 0, 0, 392, 0, + 0, 0, 399, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 393, 394, 395, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 135, 136, 137, 138, 139, - 140, 141, 142, 143, 144, 145, 146, 300, 301, 65, - 66, 0, 118, 194, 195, 196, 197, 198, 199, 200, - 201, 202, 203, 204, 79, 80, 20, 0, 21, 0, - 0, 0, 0, 0, 302, 153, 154, 155, 156, 157, - 158, 159, 160, 161, 162, 163, 164, 0, 303, 167, - 168, 169, 81, 304, 305, 306, 0, 0, 0, 0, - 0, 0, 65, 66, 339, 118, 68, 69, 70, 71, - 72, 73, 74, 75, 76, 77, 78, 79, 80, 20, - 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 323, 0, 0, 0, 0, 0, - 0, 0, 0, 65, 66, 81, 118, 68, 69, 70, - 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, - 20, 0, 21, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 400, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 82, 81, 0, 83, 0, - 381, 84, 0, 85, 65, 66, 0, 118, 68, 69, - 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, - 80, 20, 0, 21, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 447, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 81, 82, 0, - 0, 83, 0, 0, 84, 0, 85, 65, 66, 0, - 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, - 77, 78, 79, 80, 20, 0, 21, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, - 0, 0, 83, 0, 0, 84, 0, 85, 65, 66, - 81, 118, 68, 69, 70, 71, 72, 73, 74, 75, - 76, 77, 78, 79, 80, 20, 0, 21, 65, 66, - 0, 118, 194, 195, 196, 197, 198, 199, 200, 201, - 202, 203, 204, 79, 80, 20, 0, 21, 0, 0, - 82, 81, 0, 83, 0, 0, 84, 0, 85, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 65, - 66, 81, 223, 68, 69, 70, 71, 72, 73, 74, - 75, 76, 77, 78, 79, 80, 20, 0, 21, 0, + 396, 397, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 82, 0, 0, 83, 0, 0, 84, - 0, 85, 81, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 398, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 125, 0, 0, - 0, 0, 0, 0, 82, 0, 0, 83, 0, 0, - 84, 126, 85, 0, 0, 0, 0, 0, 0, 0, - 0, 127, 128, 0, 82, 0, 0, 83, 0, 0, - 84, 0, 85, 0, 129, 130, 131, 132, 133, 134, - 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, - 145, 146, 147, 148, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 82, 0, 0, 83, 0, - 0, 84, 0, 85, 149, 150, 151, 0, 0, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, - 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, - 173 + 163, 164, 165, 166, 0, 0, 0, 0, 0, 60, + 61, 0, 90, 63, 64, 65, 66, 67, 68, 69, + 70, 71, 72, 73, 74, 0, 1, 0, 2, 167, + 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, + 178, 179, 213, 180, 181, 182, 183, 0, 184, 185, + 186, 0, 0, 75, 0, 0, 0, 60, 61, 399, + 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, + 100, 101, 74, 0, 1, 0, 2, 60, 61, 0, + 90, 63, 64, 65, 66, 67, 68, 69, 70, 71, + 72, 73, 74, 0, 1, 0, 2, 0, 0, 0, + 0, 75, 0, 0, 0, 0, 0, 0, 0, 0, + 368, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 75, 60, 61, 0, 90, 63, 64, 65, 66, + 67, 68, 69, 70, 71, 72, 73, 74, 0, 1, + 0, 2, 0, 0, 0, 0, 76, 0, 0, 77, + 0, 0, 78, 0, 79, 385, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 75, 0, 60, 61, + 0, 90, 63, 64, 65, 66, 67, 68, 69, 70, + 71, 72, 73, 74, 0, 1, 0, 2, 0, 0, + 0, 0, 0, 0, 76, 0, 0, 77, 0, 251, + 78, 483, 79, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 75, 0, 76, 0, 0, 77, 0, 0, + 78, 0, 79, 0, 60, 61, 0, 62, 63, 64, + 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, + 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 76, + 0, 0, 77, 0, 0, 78, 0, 79, 75, 0, + 60, 61, 0, 90, 91, 92, 93, 94, 95, 96, + 97, 98, 99, 100, 101, 74, 0, 1, 0, 2, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 76, 0, 0, 77, 0, + 0, 78, 0, 79, 75, 60, 61, 0, 90, 63, + 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, + 74, 0, 1, 0, 2, 60, 61, 0, 329, 63, + 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, + 74, 0, 1, 0, 2, 0, 0, 0, 0, 75, + 0, 76, 0, 0, 77, 0, 0, 78, 0, 79, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 75, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 76, 0, 0, + 77, 0, 0, 78, 0, 79, 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, 265, 0, 0, 0, 0, + 0, 0, 76, 0, 0, 77, 0, 0, 78, 266, + 79, 0, 0, 0, 0, 0, 0, 0, 0, 267, + 268, 0, 76, 0, 0, 77, 0, 0, 78, 0, + 79, 0, 269, 270, 271, 272, 273, 274, 153, 154, + 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, + 275, 276, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 277, 278, 279, 0, 0, 280, 168, 169, + 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, + 281, 282, 181, 182, 183, 283, 284, 285, 286 }; static const short int yycheck[] = { - 37, 131, 131, 53, 268, 112, 4, 288, 289, 126, - 3, 29, 129, 208, 23, 15, 53, 34, 521, 308, - 309, 30, 132, 9, 142, 220, 539, 146, 15, 140, - 225, 226, 151, 151, 151, 21, 317, 540, 551, 150, - 57, 140, 237, 45, 85, 47, 140, 0, 41, 166, - 339, 150, 146, 170, 171, 172, 173, 57, 61, 176, - 177, 10, 11, 12, 13, 14, 15, 16, 17, 179, - 57, 140, 109, 110, 111, 270, 117, 55, 56, 57, - 0, 150, 123, 278, 279, 52, 53, 54, 148, 126, - 23, 151, 129, 139, 87, 10, 11, 12, 13, 14, - 15, 16, 17, 61, 71, 25, 32, 33, 140, 140, - 139, 31, 149, 150, 151, 152, 148, 148, 22, 24, - 24, 41, 42, 43, 44, 45, 46, 47, 165, 166, - 4, 149, 139, 170, 171, 172, 173, 174, 175, 176, - 177, 150, 62, 64, 65, 66, 67, 68, 69, 70, - 431, 149, 347, 348, 349, 140, 117, 55, 56, 20, - 355, 146, 123, 115, 116, 27, 28, 284, 139, 210, - 211, 366, 367, 214, 3, 4, 3, 4, 144, 216, - 41, 42, 43, 44, 45, 46, 47, 142, 238, 50, - 3, 4, 3, 4, 458, 139, 460, 146, 3, 4, - 139, 238, 92, 93, 94, 95, 96, 97, 98, 99, - 100, 101, 249, 4, 409, 4, 411, 27, 28, 142, - 415, 3, 4, 3, 4, 24, 421, 422, 4, 266, - 24, 146, 282, 3, 4, 3, 4, 3, 4, 24, - 357, 142, 359, 360, 361, 282, 283, 284, 365, 10, - 11, 12, 13, 14, 15, 16, 17, 145, 453, 454, - 145, 456, 457, 225, 226, 7, 59, 7, 463, 376, - 377, 378, 379, 380, 7, 237, 471, 148, 143, 36, - 140, 388, 389, 390, 391, 140, 140, 328, 98, 99, - 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, - 110, 111, 144, 140, 140, 140, 501, 140, 270, 140, - 140, 24, 140, 24, 140, 140, 278, 279, 142, 142, - 357, 358, 359, 360, 361, 432, 433, 364, 365, 148, - 142, 324, 439, 142, 142, 142, 142, 63, 142, 142, - 140, 143, 537, 140, 140, 140, 144, 34, 465, 466, - 467, 24, 140, 140, 21, 21, 142, 552, 142, 142, - 4, 398, 140, 140, 559, 140, 140, 140, 563, 564, - 142, 478, 479, 480, 481, 412, 483, 484, 140, 486, - 4, 24, 499, 36, 140, 347, 348, 349, 140, 140, - 427, 521, 521, 355, 140, 140, 140, 140, 5, 6, - 507, 508, 57, 140, 366, 367, 140, 143, 140, 140, - 540, 540, 140, 140, 4, 22, 24, 24, 455, 26, - 140, 144, 529, 57, 531, 532, 143, 146, 465, 466, - 467, 38, 39, 470, 143, 140, 143, 140, 140, 143, - 21, 36, 143, 143, 143, 143, 143, 409, 485, 411, - 146, 21, 143, 415, 143, 143, 140, 21, 140, 421, - 422, 76, 499, 21, 21, 97, 97, 97, 97, 301, - 41, 78, 79, 80, 81, 82, 83, 84, 85, 86, - 87, 88, 89, 90, 91, 300, 25, 399, 398, 52, - 208, 453, 454, 61, 456, 457, 3, 19, 412, 434, - 470, 463, -1, -1, -1, -1, -1, -1, -1, 471, - 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, - 127, 128, 129, -1, 131, 132, 133, 134, -1, 136, - 137, 138, -1, -1, -1, -1, -1, 144, -1, 501, - 147, -1, 149, 5, 6, 152, 8, 9, 10, 11, - 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, - 22, -1, 24, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 537, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 48, -1, -1, -1, - 552, -1, -1, -1, -1, -1, -1, 559, -1, -1, - -1, 563, 564, 5, 6, -1, 8, 9, 10, 11, - 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, - 22, -1, 24, 5, 6, -1, 8, 9, 10, 11, - 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, - 22, -1, 24, -1, -1, -1, 48, -1, 5, 6, - -1, 8, 9, 10, 11, 12, 13, 14, 15, 16, - 17, 18, 19, 20, 21, 22, 48, 24, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 141, - 37, -1, 144, -1, -1, 147, -1, 149, 150, -1, - -1, 48, -1, -1, 3, 4, 5, 6, 7, -1, + 23, 0, 271, 271, 114, 188, 189, 348, 4, 79, + 29, 23, 11, 46, 266, 48, 36, 269, 30, 10, + 11, 12, 13, 14, 15, 16, 17, 279, 216, 217, + 282, 283, 284, 285, 286, 15, 15, 289, 290, 5, + 6, 272, 8, 9, 10, 11, 12, 13, 14, 15, + 16, 17, 18, 19, 20, 141, 22, 141, 24, 35, + 140, 292, 105, 149, 0, 135, 89, 151, 88, 139, + 10, 11, 12, 13, 14, 15, 16, 17, 58, 58, + 21, 143, 58, 49, 141, 22, 22, 24, 24, 25, + 152, 114, 33, 34, 151, 31, 32, 9, 53, 54, + 55, 42, 43, 44, 45, 46, 47, 48, 20, 141, + 51, 62, 364, 141, 27, 28, 52, 72, 0, 151, + 119, 149, 537, 59, 0, 544, 140, 63, 141, 135, + 545, 150, 551, 139, 147, 145, 324, 207, 208, 151, + 22, 211, 24, 25, 149, 24, 141, 152, 140, 31, + 32, 140, 147, 494, 150, 496, 147, 10, 11, 12, + 13, 14, 15, 16, 17, 417, 147, 419, 420, 421, + 52, 152, 140, 425, 33, 34, 142, 59, 140, 145, + 23, 63, 148, 4, 150, 151, 99, 100, 101, 102, + 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, + 199, 42, 43, 44, 56, 57, 47, 147, 65, 66, + 67, 68, 69, 70, 71, 24, 399, 27, 28, 3, + 4, 24, 474, 3, 4, 24, 246, 247, 248, 249, + 250, 4, 302, 143, 344, 3, 4, 4, 258, 259, + 260, 261, 143, 266, 3, 4, 269, 499, 500, 501, + 3, 4, 362, 7, 277, 278, 279, 280, 281, 282, + 283, 284, 285, 286, 287, 288, 289, 290, 537, 537, + 3, 4, 3, 4, 3, 4, 545, 545, 3, 4, + 3, 4, 4, 326, 116, 117, 306, 307, 331, 332, + 34, 35, 7, 313, 7, 146, 146, 143, 143, 143, + 343, 143, 325, 143, 24, 143, 143, 350, 143, 143, + 141, 141, 24, 149, 143, 358, 359, 144, 143, 143, + 60, 344, 345, 346, 93, 94, 95, 96, 97, 98, + 99, 100, 101, 102, 149, 141, 141, 141, 37, 362, + 363, 364, 24, 141, 141, 141, 141, 141, 371, 4, + 141, 141, 145, 373, 374, 375, 376, 380, 378, 379, + 141, 381, 141, 141, 407, 408, 409, 141, 37, 141, + 141, 141, 415, 64, 35, 141, 141, 24, 141, 20, + 144, 141, 144, 426, 427, 141, 141, 386, 145, 141, + 141, 141, 141, 141, 417, 418, 419, 420, 421, 144, + 141, 424, 425, 20, 141, 144, 144, 331, 332, 429, + 430, 454, 144, 456, 144, 143, 459, 141, 4, 343, + 141, 444, 465, 466, 141, 141, 350, 141, 58, 4, + 24, 141, 143, 58, 358, 359, 144, 144, 141, 141, + 144, 147, 20, 144, 144, 141, 489, 490, 471, 492, + 493, 474, 145, 37, 497, 475, 144, 477, 478, 144, + 147, 20, 505, 141, 20, 141, 77, 20, 491, 20, + 119, 445, 105, 275, 11, 276, 499, 500, 501, 444, + 48, 504, 525, 407, 408, 409, 51, 371, 504, 414, + -1, 415, -1, -1, 203, -1, -1, -1, 203, 542, + -1, -1, 426, 427, -1, 203, 203, -1, -1, 552, + -1, -1, -1, 556, -1, -1, -1, 560, 561, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 5, 6, + 454, -1, 456, -1, -1, 459, -1, -1, -1, -1, + -1, 465, 466, -1, -1, 22, -1, 24, -1, 26, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 22, -1, 24, -1, 26, 27, 28, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 38, - 39, -1, -1, -1, -1, -1, -1, -1, -1, 141, - -1, -1, 144, -1, -1, 147, -1, 149, 150, -1, - -1, -1, 61, -1, -1, -1, -1, -1, -1, 141, - -1, -1, 144, -1, -1, 147, -1, 149, 150, 78, - 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, - 89, 90, 91, -1, 141, -1, -1, 144, -1, -1, - 147, -1, 149, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 117, 118, - 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, - 129, -1, 131, 132, 133, 134, -1, 136, 137, 138, - 3, 4, -1, -1, 7, -1, -1, 20, 147, 22, - -1, 24, -1, -1, -1, -1, -1, -1, 31, 32, - 33, -1, -1, 26, 27, 28, -1, -1, 41, 42, - 43, 44, 45, 46, 47, 38, 39, 50, 51, -1, - -1, -1, -1, -1, -1, 58, -1, -1, -1, 62, - -1, -1, -1, -1, -1, -1, -1, -1, 61, -1, + -1, -1, 39, 40, -1, 489, 490, -1, 492, 493, + -1, -1, -1, 497, -1, -1, -1, -1, -1, 5, + 6, 505, 8, 9, 10, 11, 12, 13, 14, 15, + 16, 17, 18, 19, 20, -1, 22, -1, 24, -1, + -1, 525, 79, 80, 81, 82, 83, 84, 85, 86, + 87, 88, 89, 90, 91, 92, -1, -1, 542, -1, + -1, -1, -1, 49, -1, -1, -1, -1, 552, -1, + -1, -1, 556, -1, -1, -1, 560, 561, -1, -1, + -1, 118, 119, 120, 121, 122, 123, 124, 125, 126, + 127, 128, 129, 130, -1, 132, 133, 134, 135, -1, + 137, 138, 139, -1, -1, -1, -1, -1, 145, -1, + -1, 148, -1, 150, 5, 6, 153, 8, 9, 10, + 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, + -1, 22, -1, 24, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 3, 4, 5, + 6, 7, -1, -1, -1, -1, 142, -1, 49, 145, + -1, -1, 148, -1, 150, 151, 22, -1, 24, -1, + 26, 27, 28, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 39, 40, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 62, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 79, 80, 81, 82, 83, 84, 85, + 86, 87, 88, 89, 90, 91, 92, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 142, -1, -1, 145, -1, -1, 148, -1, 150, + 151, -1, 118, 119, 120, 121, 122, 123, 124, 125, + 126, 127, 128, 129, 130, -1, 132, 133, 134, 135, + -1, 137, 138, 139, 3, 4, -1, -1, 7, -1, + -1, -1, 148, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 26, 27, 28, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 78, 79, 80, 81, 82, - 83, 84, 85, 86, 87, 88, 89, 90, 91, 5, + 39, 40, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 62, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, + 89, 90, 91, 92, -1, -1, -1, -1, -1, 5, 6, -1, 8, 9, 10, 11, 12, 13, 14, 15, - 16, 17, 18, 19, 20, 21, 22, -1, 24, -1, - -1, -1, -1, -1, 117, 118, 119, 120, 121, 122, - 123, 124, 125, 126, 127, 128, 129, -1, 131, 132, - 133, 134, 48, 136, 137, 138, -1, -1, -1, -1, - -1, -1, 5, 6, 147, 8, 9, 10, 11, 12, - 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, - -1, 24, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 37, -1, -1, -1, -1, -1, - -1, -1, -1, 5, 6, 48, 8, 9, 10, 11, - 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, - 22, -1, 24, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 37, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 141, 48, -1, 144, -1, - 146, 147, -1, 149, 5, 6, -1, 8, 9, 10, - 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, - 21, 22, -1, 24, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 37, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 48, 141, -1, - -1, 144, -1, -1, 147, -1, 149, 5, 6, -1, + 16, 17, 18, 19, 20, -1, 22, -1, 24, 118, + 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, + 129, 130, 38, 132, 133, 134, 135, -1, 137, 138, + 139, -1, -1, 49, -1, -1, -1, 5, 6, 148, + 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, + 18, 19, 20, -1, 22, -1, 24, 5, 6, -1, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, - 18, 19, 20, 21, 22, -1, 24, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 141, - -1, -1, 144, -1, -1, 147, -1, 149, 5, 6, - 48, 8, 9, 10, 11, 12, 13, 14, 15, 16, - 17, 18, 19, 20, 21, 22, -1, 24, 5, 6, + 18, 19, 20, -1, 22, -1, 24, -1, -1, -1, + -1, 49, -1, -1, -1, -1, -1, -1, -1, -1, + 38, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 49, 5, 6, -1, 8, 9, 10, 11, 12, + 13, 14, 15, 16, 17, 18, 19, 20, -1, 22, + -1, 24, -1, -1, -1, -1, 142, -1, -1, 145, + -1, -1, 148, -1, 150, 38, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 49, -1, 5, 6, -1, 8, 9, 10, 11, 12, 13, 14, 15, 16, - 17, 18, 19, 20, 21, 22, -1, 24, -1, -1, - 141, 48, -1, 144, -1, -1, 147, -1, 149, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 5, - 6, 48, 8, 9, 10, 11, 12, 13, 14, 15, - 16, 17, 18, 19, 20, 21, 22, -1, 24, -1, + 17, 18, 19, 20, -1, 22, -1, 24, -1, -1, + -1, -1, -1, -1, 142, -1, -1, 145, -1, 147, + 148, 38, 150, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 49, -1, 142, -1, -1, 145, -1, -1, + 148, -1, 150, -1, 5, 6, -1, 8, 9, 10, + 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, + -1, 22, -1, 24, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 142, + -1, -1, 145, -1, -1, 148, -1, 150, 49, -1, + 5, 6, -1, 8, 9, 10, 11, 12, 13, 14, + 15, 16, 17, 18, 19, 20, -1, 22, -1, 24, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 141, -1, -1, 144, -1, -1, 147, - -1, 149, 48, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 142, -1, -1, 145, -1, + -1, 148, -1, 150, 49, 5, 6, -1, 8, 9, + 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, + 20, -1, 22, -1, 24, 5, 6, -1, 8, 9, + 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, + 20, -1, 22, -1, 24, -1, -1, -1, -1, 49, + -1, 142, -1, -1, 145, -1, -1, 148, -1, 150, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 49, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 35, -1, -1, - -1, -1, -1, -1, 141, -1, -1, 144, -1, -1, - 147, 49, 149, -1, -1, -1, -1, -1, -1, -1, - -1, 59, 60, -1, 141, -1, -1, 144, -1, -1, - 147, -1, 149, -1, 72, 73, 74, 75, 76, 77, - 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, - 88, 89, 90, 91, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 141, -1, -1, 144, -1, - -1, 147, -1, 149, 112, 113, 114, -1, -1, 117, - 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, - 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, - 138 + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 142, -1, -1, + 145, -1, -1, 148, -1, 150, -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, -1, -1, -1, -1, + -1, -1, 142, -1, -1, 145, -1, -1, 148, 50, + 150, -1, -1, -1, -1, -1, -1, -1, -1, 60, + 61, -1, 142, -1, -1, 145, -1, -1, 148, -1, + 150, -1, 73, 74, 75, 76, 77, 78, 79, 80, + 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, + 91, 92, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 113, 114, 115, -1, -1, 118, 119, 120, + 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, + 131, 132, 133, 134, 135, 136, 137, 138, 139 }; /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing symbol of state STATE-NUM. */ static const unsigned char yystos[] = { - 0, 185, 186, 187, 0, 25, 31, 41, 42, 43, - 44, 45, 46, 47, 62, 166, 204, 206, 208, 215, - 22, 24, 51, 58, 62, 165, 197, 208, 209, 61, - 64, 65, 66, 67, 68, 69, 70, 167, 202, 23, - 216, 217, 30, 150, 205, 216, 52, 53, 54, 71, - 194, 139, 61, 20, 45, 47, 50, 166, 139, 45, - 47, 207, 24, 192, 4, 5, 6, 8, 9, 10, - 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, - 21, 48, 141, 144, 147, 149, 154, 174, 175, 176, - 177, 178, 197, 212, 29, 149, 203, 165, 220, 139, - 139, 139, 139, 144, 195, 192, 174, 32, 33, 184, - 184, 184, 184, 202, 4, 4, 4, 149, 8, 150, - 178, 179, 197, 142, 151, 35, 49, 59, 60, 72, - 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, - 83, 84, 85, 86, 87, 88, 89, 90, 91, 112, - 113, 114, 117, 118, 119, 120, 121, 122, 123, 124, - 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, - 135, 136, 137, 138, 155, 156, 157, 158, 218, 224, - 225, 227, 228, 24, 55, 56, 193, 4, 24, 24, - 196, 176, 176, 176, 9, 10, 11, 12, 13, 14, - 15, 16, 17, 18, 19, 161, 162, 164, 176, 181, - 145, 145, 150, 179, 140, 150, 142, 37, 179, 180, - 176, 214, 59, 8, 214, 9, 21, 10, 11, 12, - 13, 14, 15, 16, 17, 161, 162, 163, 167, 92, - 93, 94, 95, 96, 97, 98, 99, 100, 101, 159, - 27, 28, 98, 99, 100, 101, 102, 103, 104, 105, - 106, 107, 108, 109, 110, 111, 160, 176, 176, 214, - 176, 176, 221, 214, 214, 214, 214, 214, 176, 176, - 214, 214, 167, 115, 116, 140, 146, 190, 191, 189, - 27, 28, 3, 4, 3, 4, 7, 26, 38, 39, - 90, 91, 117, 131, 136, 137, 138, 144, 147, 149, - 152, 155, 156, 157, 158, 182, 212, 188, 178, 178, - 148, 150, 178, 37, 176, 199, 200, 201, 140, 143, - 3, 4, 7, 26, 27, 28, 38, 39, 61, 147, - 182, 211, 212, 213, 213, 213, 213, 174, 176, 176, - 140, 169, 140, 169, 213, 144, 140, 140, 140, 140, - 140, 140, 213, 213, 36, 140, 174, 176, 214, 24, - 140, 172, 172, 172, 159, 160, 142, 142, 142, 142, - 142, 146, 181, 183, 183, 150, 183, 24, 142, 142, - 142, 142, 172, 146, 148, 148, 197, 198, 140, 143, - 37, 63, 210, 183, 140, 140, 213, 213, 213, 15, - 57, 15, 140, 226, 213, 144, 214, 176, 214, 214, - 214, 140, 140, 176, 214, 213, 213, 140, 34, 57, - 170, 173, 142, 142, 181, 181, 181, 181, 181, 140, - 146, 148, 150, 181, 181, 181, 181, 37, 199, 170, - 171, 24, 148, 21, 21, 142, 140, 140, 213, 4, - 213, 214, 222, 140, 213, 140, 140, 140, 213, 213, - 142, 176, 24, 4, 172, 181, 181, 226, 140, 140, - 140, 140, 181, 140, 140, 36, 140, 57, 168, 140, - 213, 213, 222, 223, 213, 213, 140, 169, 169, 140, - 213, 140, 214, 214, 214, 223, 213, 140, 140, 143, - 181, 181, 181, 181, 181, 181, 176, 181, 4, 24, - 140, 144, 143, 214, 146, 213, 143, 181, 181, 140, - 143, 140, 140, 143, 143, 143, 143, 21, 146, 163, - 219, 36, 146, 143, 143, 181, 181, 181, 213, 211, - 146, 163, 21, 143, 143, 143, 140, 211, 213, 21, - 140, 76, 213, 21, 21, 213, 213 + 0, 22, 24, 25, 31, 32, 52, 59, 63, 166, + 189, 190, 191, 202, 193, 192, 53, 54, 55, 72, + 199, 140, 62, 21, 33, 34, 42, 43, 44, 45, + 46, 47, 48, 51, 167, 168, 188, 0, 191, 140, + 46, 48, 169, 212, 42, 43, 44, 47, 170, 209, + 211, 218, 140, 140, 140, 140, 145, 200, 24, 197, + 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, + 16, 17, 18, 19, 20, 49, 142, 145, 148, 150, + 155, 178, 179, 180, 181, 182, 202, 215, 188, 188, + 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, + 18, 19, 162, 163, 165, 180, 185, 65, 66, 67, + 68, 69, 70, 71, 171, 207, 207, 23, 219, 220, + 30, 151, 210, 219, 24, 56, 57, 198, 4, 24, + 24, 201, 4, 4, 4, 150, 151, 182, 183, 143, + 152, 185, 180, 27, 28, 3, 4, 3, 4, 7, + 26, 39, 40, 79, 80, 81, 82, 83, 84, 85, + 86, 87, 88, 89, 90, 91, 92, 118, 119, 120, + 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, + 132, 133, 134, 135, 137, 138, 139, 145, 148, 150, + 153, 156, 157, 158, 159, 186, 215, 194, 4, 178, + 29, 150, 208, 166, 223, 141, 147, 146, 146, 151, + 183, 141, 151, 38, 183, 184, 195, 196, 93, 94, + 95, 96, 97, 98, 99, 100, 101, 102, 160, 27, + 28, 99, 100, 101, 102, 103, 104, 105, 106, 107, + 108, 109, 110, 111, 112, 161, 143, 143, 143, 143, + 143, 147, 185, 187, 187, 151, 187, 24, 143, 143, + 143, 143, 141, 176, 202, 36, 50, 60, 61, 73, + 74, 75, 76, 77, 78, 91, 92, 113, 114, 115, + 118, 131, 132, 136, 137, 138, 139, 156, 157, 158, + 159, 221, 227, 228, 230, 231, 24, 182, 182, 149, + 151, 182, 141, 144, 176, 176, 143, 143, 185, 185, + 185, 185, 185, 141, 147, 149, 151, 185, 185, 185, + 185, 35, 58, 174, 177, 143, 180, 217, 60, 8, + 217, 9, 20, 10, 11, 12, 13, 14, 15, 16, + 17, 162, 163, 164, 171, 160, 161, 180, 180, 217, + 180, 180, 224, 217, 217, 217, 217, 217, 180, 180, + 217, 217, 171, 116, 117, 147, 149, 149, 38, 185, + 185, 141, 229, 141, 141, 141, 141, 185, 141, 141, + 37, 141, 24, 4, 176, 38, 180, 204, 205, 206, + 3, 4, 7, 26, 27, 28, 39, 40, 62, 148, + 186, 214, 215, 216, 216, 216, 216, 178, 180, 180, + 141, 173, 141, 173, 216, 145, 141, 141, 141, 141, + 141, 141, 216, 216, 37, 141, 178, 180, 217, 141, + 141, 217, 225, 144, 185, 185, 185, 185, 185, 185, + 180, 185, 202, 203, 141, 144, 64, 213, 187, 141, + 141, 216, 216, 216, 15, 58, 15, 229, 216, 145, + 217, 180, 217, 217, 217, 141, 141, 180, 217, 216, + 216, 141, 185, 185, 141, 141, 144, 141, 141, 144, + 144, 144, 144, 38, 204, 174, 175, 24, 149, 20, + 20, 143, 141, 141, 216, 4, 216, 141, 216, 141, + 141, 141, 216, 216, 143, 180, 144, 144, 217, 185, + 185, 185, 58, 172, 141, 216, 216, 225, 226, 216, + 216, 141, 173, 173, 216, 141, 217, 217, 217, 226, + 216, 144, 144, 144, 4, 24, 141, 145, 144, 147, + 216, 144, 20, 147, 164, 222, 37, 147, 216, 214, + 147, 164, 20, 141, 214, 216, 20, 141, 77, 216, + 20, 20, 216, 216 }; #define yyerrok (yyerrstatus = 0) @@ -2962,7 +2978,7 @@ switch (yyn) { case 3: -#line 989 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" +#line 990 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { if ((yyvsp[0].UIntVal) > (uint32_t)INT32_MAX) // Outside of my range! GEN_ERROR("Value too large for type!"); @@ -2972,137 +2988,137 @@ break; case 31: -#line 1005 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" +#line 1006 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { (yyval.IPredicate) = ICmpInst::ICMP_EQ; ;} break; case 32: -#line 1005 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" +#line 1006 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { (yyval.IPredicate) = ICmpInst::ICMP_NE; ;} break; case 33: -#line 1006 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" +#line 1007 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { (yyval.IPredicate) = ICmpInst::ICMP_SLT; ;} break; case 34: -#line 1006 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" +#line 1007 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { (yyval.IPredicate) = ICmpInst::ICMP_SGT; ;} break; case 35: -#line 1007 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" +#line 1008 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { (yyval.IPredicate) = ICmpInst::ICMP_SLE; ;} break; case 36: -#line 1007 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" +#line 1008 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { (yyval.IPredicate) = ICmpInst::ICMP_SGE; ;} break; case 37: -#line 1008 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" +#line 1009 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { (yyval.IPredicate) = ICmpInst::ICMP_ULT; ;} break; case 38: -#line 1008 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" +#line 1009 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { (yyval.IPredicate) = ICmpInst::ICMP_UGT; ;} break; case 39: -#line 1009 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" +#line 1010 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { (yyval.IPredicate) = ICmpInst::ICMP_ULE; ;} break; case 40: -#line 1009 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" +#line 1010 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { (yyval.IPredicate) = ICmpInst::ICMP_UGE; ;} break; case 41: -#line 1013 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" +#line 1014 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { (yyval.FPredicate) = FCmpInst::FCMP_OEQ; ;} break; case 42: -#line 1013 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" +#line 1014 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { (yyval.FPredicate) = FCmpInst::FCMP_ONE; ;} break; case 43: -#line 1014 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" +#line 1015 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { (yyval.FPredicate) = FCmpInst::FCMP_OLT; ;} break; case 44: -#line 1014 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" +#line 1015 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { (yyval.FPredicate) = FCmpInst::FCMP_OGT; ;} break; case 45: -#line 1015 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" +#line 1016 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { (yyval.FPredicate) = FCmpInst::FCMP_OLE; ;} break; case 46: -#line 1015 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" +#line 1016 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { (yyval.FPredicate) = FCmpInst::FCMP_OGE; ;} break; case 47: -#line 1016 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" +#line 1017 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { (yyval.FPredicate) = FCmpInst::FCMP_ORD; ;} break; case 48: -#line 1016 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" +#line 1017 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { (yyval.FPredicate) = FCmpInst::FCMP_UNO; ;} break; case 49: -#line 1017 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" +#line 1018 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { (yyval.FPredicate) = FCmpInst::FCMP_UEQ; ;} break; case 50: -#line 1017 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" +#line 1018 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { (yyval.FPredicate) = FCmpInst::FCMP_UNE; ;} break; case 51: -#line 1018 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" +#line 1019 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { (yyval.FPredicate) = FCmpInst::FCMP_ULT; ;} break; case 52: -#line 1018 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" +#line 1019 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { (yyval.FPredicate) = FCmpInst::FCMP_UGT; ;} break; case 53: -#line 1019 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" +#line 1020 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { (yyval.FPredicate) = FCmpInst::FCMP_ULE; ;} break; case 54: -#line 1019 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" +#line 1020 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { (yyval.FPredicate) = FCmpInst::FCMP_UGE; ;} break; case 55: -#line 1020 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" +#line 1021 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { (yyval.FPredicate) = FCmpInst::FCMP_TRUE; ;} break; case 56: -#line 1021 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" +#line 1022 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { (yyval.FPredicate) = FCmpInst::FCMP_FALSE; ;} break; case 69: -#line 1032 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" +#line 1033 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { (yyval.StrVal) = (yyvsp[-1].StrVal); CHECK_FOR_ERROR @@ -3110,7 +3126,7 @@ break; case 70: -#line 1036 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" +#line 1037 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { (yyval.StrVal) = 0; CHECK_FOR_ERROR @@ -3118,82 +3134,122 @@ break; case 71: -#line 1041 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" +#line 1043 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { (yyval.Linkage) = GlobalValue::InternalLinkage; ;} break; case 72: -#line 1042 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" - { (yyval.Linkage) = GlobalValue::LinkOnceLinkage; ;} +#line 1044 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + { (yyval.Linkage) = GlobalValue::WeakLinkage; ;} break; case 73: -#line 1043 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" - { (yyval.Linkage) = GlobalValue::WeakLinkage; ;} +#line 1045 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + { (yyval.Linkage) = GlobalValue::LinkOnceLinkage; ;} break; case 74: -#line 1044 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" +#line 1046 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { (yyval.Linkage) = GlobalValue::AppendingLinkage; ;} break; case 75: -#line 1045 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" - { (yyval.Linkage) = GlobalValue::DLLImportLinkage; ;} +#line 1047 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + { (yyval.Linkage) = GlobalValue::DLLExportLinkage; ;} break; case 76: -#line 1046 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" - { (yyval.Linkage) = GlobalValue::DLLExportLinkage; ;} +#line 1051 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + { (yyval.Linkage) = GlobalValue::DLLImportLinkage; ;} break; case 77: -#line 1047 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" +#line 1052 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { (yyval.Linkage) = GlobalValue::ExternalWeakLinkage; ;} break; case 78: -#line 1048 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" +#line 1053 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { (yyval.Linkage) = GlobalValue::ExternalLinkage; ;} break; case 79: -#line 1050 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" - { (yyval.UIntVal) = CallingConv::C; ;} +#line 1057 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + { /*default*/ ;} break; case 80: -#line 1051 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" - { (yyval.UIntVal) = CallingConv::C; ;} +#line 1058 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + { CurFun.Linkage = GlobalValue::DLLImportLinkage; ;} break; case 81: -#line 1052 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" - { (yyval.UIntVal) = CallingConv::CSRet; ;} +#line 1059 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + { CurFun.Linkage = GlobalValue::ExternalWeakLinkage; ;} break; case 82: -#line 1053 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" - { (yyval.UIntVal) = CallingConv::Fast; ;} +#line 1063 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + { (yyval.Linkage) = GlobalValue::InternalLinkage; ;} break; case 83: -#line 1054 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" - { (yyval.UIntVal) = CallingConv::Cold; ;} +#line 1064 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + { (yyval.Linkage) = GlobalValue::LinkOnceLinkage; ;} break; case 84: -#line 1055 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" - { (yyval.UIntVal) = CallingConv::X86_StdCall; ;} +#line 1065 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + { (yyval.Linkage) = GlobalValue::WeakLinkage; ;} break; case 85: -#line 1056 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" - { (yyval.UIntVal) = CallingConv::X86_FastCall; ;} +#line 1066 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + { (yyval.Linkage) = GlobalValue::DLLExportLinkage; ;} break; case 86: -#line 1057 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" +#line 1067 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + { (yyval.Linkage) = GlobalValue::ExternalLinkage; ;} + break; + + case 87: +#line 1070 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + { (yyval.UIntVal) = CallingConv::C; ;} + break; + + case 88: +#line 1071 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + { (yyval.UIntVal) = CallingConv::C; ;} + break; + + case 89: +#line 1072 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + { (yyval.UIntVal) = CallingConv::CSRet; ;} + break; + + case 90: +#line 1073 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + { (yyval.UIntVal) = CallingConv::Fast; ;} + break; + + case 91: +#line 1074 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + { (yyval.UIntVal) = CallingConv::Cold; ;} + break; + + case 92: +#line 1075 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + { (yyval.UIntVal) = CallingConv::X86_StdCall; ;} + break; + + case 93: +#line 1076 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + { (yyval.UIntVal) = CallingConv::X86_FastCall; ;} + break; + + case 94: +#line 1077 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { if ((unsigned)(yyvsp[0].UInt64Val) != (yyvsp[0].UInt64Val)) GEN_ERROR("Calling conv too large!"); @@ -3202,13 +3258,13 @@ ;} break; - case 87: -#line 1066 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + case 95: +#line 1086 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { (yyval.UIntVal) = 0; ;} break; - case 88: -#line 1067 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + case 96: +#line 1087 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { (yyval.UIntVal) = (yyvsp[0].UInt64Val); if ((yyval.UIntVal) != 0 && !isPowerOf2_32((yyval.UIntVal))) @@ -3217,13 +3273,13 @@ ;} break; - case 89: -#line 1073 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + case 97: +#line 1093 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { (yyval.UIntVal) = 0; ;} break; - case 90: -#line 1074 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + case 98: +#line 1094 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { (yyval.UIntVal) = (yyvsp[0].UInt64Val); if ((yyval.UIntVal) != 0 && !isPowerOf2_32((yyval.UIntVal))) @@ -3232,8 +3288,8 @@ ;} break; - case 91: -#line 1082 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + case 99: +#line 1102 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { for (unsigned i = 0, e = strlen((yyvsp[0].StrVal)); i != e; ++i) if ((yyvsp[0].StrVal)[i] == '"' || (yyvsp[0].StrVal)[i] == '\\') @@ -3243,28 +3299,28 @@ ;} break; - case 92: -#line 1090 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + case 100: +#line 1110 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { (yyval.StrVal) = 0; ;} break; - case 93: -#line 1091 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + case 101: +#line 1111 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { (yyval.StrVal) = (yyvsp[0].StrVal); ;} break; - case 94: -#line 1096 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + case 102: +#line 1116 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" {;} break; - case 95: -#line 1097 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + case 103: +#line 1117 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" {;} break; - case 96: -#line 1098 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + case 104: +#line 1118 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { CurGV->setSection((yyvsp[0].StrVal)); free((yyvsp[0].StrVal)); @@ -3272,8 +3328,8 @@ ;} break; - case 97: -#line 1103 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + case 105: +#line 1123 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { if ((yyvsp[0].UInt64Val) != 0 && !isPowerOf2_32((yyvsp[0].UInt64Val))) GEN_ERROR("Alignment must be a power of two!"); @@ -3282,18 +3338,18 @@ ;} break; - case 99: -#line 1117 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + case 107: +#line 1137 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { (yyval.TypeVal) = new PATypeHolder((yyvsp[0].PrimType)); ;} break; - case 101: -#line 1118 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + case 109: +#line 1138 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { (yyval.TypeVal) = new PATypeHolder((yyvsp[0].PrimType)); ;} break; - case 102: -#line 1120 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + case 110: +#line 1140 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { if (!UpRefs.empty()) GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[0].TypeVal))->getDescription()); @@ -3302,24 +3358,24 @@ ;} break; - case 116: -#line 1132 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + case 123: +#line 1152 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { (yyval.TypeVal) = new PATypeHolder(OpaqueType::get()); CHECK_FOR_ERROR ;} break; - case 117: -#line 1136 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + case 124: +#line 1156 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { (yyval.TypeVal) = new PATypeHolder((yyvsp[0].PrimType)); CHECK_FOR_ERROR ;} break; - case 118: -#line 1140 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + case 125: +#line 1160 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { // Named types are also simple types... const Type* tmp = getTypeVal((yyvsp[0].ValIDVal)); CHECK_FOR_ERROR @@ -3327,8 +3383,8 @@ ;} break; - case 119: -#line 1148 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + case 126: +#line 1168 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { // Type UpReference if ((yyvsp[0].UInt64Val) > (uint64_t)~0U) GEN_ERROR("Value out of range!"); OpaqueType *OT = OpaqueType::get(); // Use temporary placeholder @@ -3339,8 +3395,8 @@ ;} break; - case 120: -#line 1156 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + case 127: +#line 1176 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { // Function derived type? std::vector Params; for (std::list::iterator I = (yyvsp[-1].TypeList)->begin(), @@ -3356,8 +3412,8 @@ ;} break; - case 121: -#line 1169 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + case 128: +#line 1189 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { // Sized array type? (yyval.TypeVal) = new PATypeHolder(HandleUpRefs(ArrayType::get(*(yyvsp[-1].TypeVal), (unsigned)(yyvsp[-3].UInt64Val)))); delete (yyvsp[-1].TypeVal); @@ -3365,8 +3421,8 @@ ;} break; - case 122: -#line 1174 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + case 129: +#line 1194 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { // Packed array type? const llvm::Type* ElemTy = (yyvsp[-1].TypeVal)->get(); if ((unsigned)(yyvsp[-3].UInt64Val) != (yyvsp[-3].UInt64Val)) @@ -3381,8 +3437,8 @@ ;} break; - case 123: -#line 1186 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + case 130: +#line 1206 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { // Structure type? std::vector Elements; for (std::list::iterator I = (yyvsp[-1].TypeList)->begin(), @@ -3395,16 +3451,16 @@ ;} break; - case 124: -#line 1196 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + case 131: +#line 1216 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { // Empty structure type? (yyval.TypeVal) = new PATypeHolder(StructType::get(std::vector())); CHECK_FOR_ERROR ;} break; - case 125: -#line 1200 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + case 132: +#line 1220 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { std::vector Elements; for (std::list::iterator I = (yyvsp[-2].TypeList)->begin(), @@ -3417,16 +3473,16 @@ ;} break; - case 126: -#line 1210 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + case 133: +#line 1230 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { // Empty structure type? (yyval.TypeVal) = new PATypeHolder(StructType::get(std::vector(), true)); CHECK_FOR_ERROR ;} break; - case 127: -#line 1214 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + case 134: +#line 1234 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { // Pointer type? if (*(yyvsp[-1].TypeVal) == Type::LabelTy) GEN_ERROR("Cannot form a pointer to a basic block"); @@ -3436,8 +3492,8 @@ ;} break; - case 128: -#line 1225 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + case 135: +#line 1245 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { (yyval.TypeList) = new std::list(); (yyval.TypeList)->push_back(*(yyvsp[0].TypeVal)); delete (yyvsp[0].TypeVal); @@ -3445,40 +3501,40 @@ ;} break; - case 129: -#line 1230 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + case 136: +#line 1250 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { ((yyval.TypeList)=(yyvsp[-2].TypeList))->push_back(*(yyvsp[0].TypeVal)); delete (yyvsp[0].TypeVal); CHECK_FOR_ERROR ;} break; - case 131: -#line 1237 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + case 138: +#line 1257 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { ((yyval.TypeList)=(yyvsp[-2].TypeList))->push_back(Type::VoidTy); CHECK_FOR_ERROR ;} break; - case 132: -#line 1241 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + case 139: +#line 1261 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { ((yyval.TypeList) = new std::list())->push_back(Type::VoidTy); CHECK_FOR_ERROR ;} break; - case 133: -#line 1245 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + case 140: +#line 1265 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { (yyval.TypeList) = new std::list(); CHECK_FOR_ERROR ;} break; - case 134: -#line 1256 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + case 141: +#line 1276 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { // Nonempty unsized arr const ArrayType *ATy = dyn_cast((yyvsp[-3].TypeVal)->get()); if (ATy == 0) @@ -3507,8 +3563,8 @@ ;} break; - case 135: -#line 1282 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + case 142: +#line 1302 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { const ArrayType *ATy = dyn_cast((yyvsp[-2].TypeVal)->get()); if (ATy == 0) @@ -3525,8 +3581,8 @@ ;} break; - case 136: -#line 1296 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + case 143: +#line 1316 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { const ArrayType *ATy = dyn_cast((yyvsp[-2].TypeVal)->get()); if (ATy == 0) @@ -3559,8 +3615,8 @@ ;} break; - case 137: -#line 1326 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + case 144: +#line 1346 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { // Nonempty unsized arr const PackedType *PTy = dyn_cast((yyvsp[-3].TypeVal)->get()); if (PTy == 0) @@ -3589,8 +3645,8 @@ ;} break; - case 138: -#line 1352 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + case 145: +#line 1372 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { const StructType *STy = dyn_cast((yyvsp[-3].TypeVal)->get()); if (STy == 0) @@ -3614,8 +3670,8 @@ ;} break; - case 139: -#line 1373 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + case 146: +#line 1393 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { const StructType *STy = dyn_cast((yyvsp[-2].TypeVal)->get()); if (STy == 0) @@ -3631,8 +3687,8 @@ ;} break; - case 140: -#line 1386 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + case 147: +#line 1406 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { const PointerType *PTy = dyn_cast((yyvsp[-1].TypeVal)->get()); if (PTy == 0) @@ -3645,8 +3701,8 @@ ;} break; - case 141: -#line 1396 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + case 148: +#line 1416 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { (yyval.ConstVal) = UndefValue::get((yyvsp[-1].TypeVal)->get()); delete (yyvsp[-1].TypeVal); @@ -3654,8 +3710,8 @@ ;} break; - case 142: -#line 1401 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + case 149: +#line 1421 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { const PointerType *Ty = dyn_cast((yyvsp[-1].TypeVal)->get()); if (Ty == 0) @@ -3719,8 +3775,8 @@ ;} break; - case 143: -#line 1462 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + case 150: +#line 1482 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { if ((yyvsp[-1].TypeVal)->get() != (yyvsp[0].ConstVal)->getType()) GEN_ERROR("Mismatched types for constant expression!"); @@ -3730,8 +3786,8 @@ ;} break; - case 144: -#line 1469 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + case 151: +#line 1489 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { const Type *Ty = (yyvsp[-1].TypeVal)->get(); if (isa(Ty) || Ty == Type::LabelTy || isa(Ty)) @@ -3742,8 +3798,8 @@ ;} break; - case 145: -#line 1477 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + case 152: +#line 1497 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { // integral constants if (!ConstantInt::isValueValidForType((yyvsp[-1].PrimType), (yyvsp[0].SInt64Val))) GEN_ERROR("Constant value doesn't fit in type!"); @@ -3752,8 +3808,8 @@ ;} break; - case 146: -#line 1483 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + case 153: +#line 1503 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { // integral constants if (!ConstantInt::isValueValidForType((yyvsp[-1].PrimType), (yyvsp[0].UInt64Val))) GEN_ERROR("Constant value doesn't fit in type!"); @@ -3762,8 +3818,8 @@ ;} break; - case 147: -#line 1489 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + case 154: +#line 1509 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { // integral constants if (!ConstantInt::isValueValidForType((yyvsp[-1].PrimType), (yyvsp[0].UInt64Val))) GEN_ERROR("Constant value doesn't fit in type!"); @@ -3772,8 +3828,8 @@ ;} break; - case 148: -#line 1495 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + case 155: +#line 1515 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { if (!ConstantInt::isValueValidForType((yyvsp[-1].PrimType), (yyvsp[0].SInt64Val))) GEN_ERROR("Constant value doesn't fit in type!"); @@ -3782,24 +3838,24 @@ ;} break; - case 149: -#line 1501 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + case 156: +#line 1521 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { // Boolean constants (yyval.ConstVal) = ConstantBool::getTrue(); CHECK_FOR_ERROR ;} break; - case 150: -#line 1505 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + case 157: +#line 1525 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { // Boolean constants (yyval.ConstVal) = ConstantBool::getFalse(); CHECK_FOR_ERROR ;} break; - case 151: -#line 1509 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + case 158: +#line 1529 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { // Float & Double constants if (!ConstantFP::isValueValidForType((yyvsp[-1].PrimType), (yyvsp[0].FPVal))) GEN_ERROR("Floating point constant invalid for type!!"); @@ -3808,8 +3864,8 @@ ;} break; - case 152: -#line 1517 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + case 159: +#line 1537 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { Constant *Val = (yyvsp[-3].ConstVal); const Type *Ty = (yyvsp[-1].TypeVal)->get(); @@ -3824,8 +3880,8 @@ ;} break; - case 153: -#line 1529 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + case 160: +#line 1549 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { if (!isa((yyvsp[-2].ConstVal)->getType())) GEN_ERROR("GetElementPtr requires a pointer operand!"); @@ -3849,8 +3905,8 @@ ;} break; - case 154: -#line 1550 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + case 161: +#line 1570 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { if ((yyvsp[-5].ConstVal)->getType() != Type::BoolTy) GEN_ERROR("Select condition must be of boolean type!"); @@ -3861,8 +3917,8 @@ ;} break; - case 155: -#line 1558 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + case 162: +#line 1578 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { if ((yyvsp[-3].ConstVal)->getType() != (yyvsp[-1].ConstVal)->getType()) GEN_ERROR("Binary operator types must match!"); @@ -3871,8 +3927,8 @@ ;} break; - case 156: -#line 1564 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + case 163: +#line 1584 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { if ((yyvsp[-3].ConstVal)->getType() != (yyvsp[-1].ConstVal)->getType()) GEN_ERROR("Logical operator types must match!"); @@ -3886,8 +3942,8 @@ ;} break; - case 157: -#line 1575 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + case 164: +#line 1595 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { if ((yyvsp[-3].ConstVal)->getType() != (yyvsp[-1].ConstVal)->getType()) GEN_ERROR("icmp operand types must match!"); @@ -3895,8 +3951,8 @@ ;} break; - case 158: -#line 1580 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + case 165: +#line 1600 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { if ((yyvsp[-3].ConstVal)->getType() != (yyvsp[-1].ConstVal)->getType()) GEN_ERROR("fcmp operand types must match!"); @@ -3904,8 +3960,8 @@ ;} break; - case 159: -#line 1585 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + case 166: +#line 1605 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { if ((yyvsp[-1].ConstVal)->getType() != Type::UByteTy) GEN_ERROR("Shift count for shift constant must be unsigned byte!"); @@ -3917,8 +3973,8 @@ ;} break; - case 160: -#line 1594 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + case 167: +#line 1614 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { if (!ExtractElementInst::isValidOperands((yyvsp[-3].ConstVal), (yyvsp[-1].ConstVal))) GEN_ERROR("Invalid extractelement operands!"); @@ -3927,8 +3983,8 @@ ;} break; - case 161: -#line 1600 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + case 168: +#line 1620 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { if (!InsertElementInst::isValidOperands((yyvsp[-5].ConstVal), (yyvsp[-3].ConstVal), (yyvsp[-1].ConstVal))) GEN_ERROR("Invalid insertelement operands!"); @@ -3937,8 +3993,8 @@ ;} break; - case 162: -#line 1606 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + case 169: +#line 1626 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { if (!ShuffleVectorInst::isValidOperands((yyvsp[-5].ConstVal), (yyvsp[-3].ConstVal), (yyvsp[-1].ConstVal))) GEN_ERROR("Invalid shufflevector operands!"); @@ -3947,16 +4003,16 @@ ;} break; - case 163: -#line 1615 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + case 170: +#line 1635 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { ((yyval.ConstVector) = (yyvsp[-2].ConstVector))->push_back((yyvsp[0].ConstVal)); CHECK_FOR_ERROR ;} break; - case 164: -#line 1619 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + case 171: +#line 1639 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { (yyval.ConstVector) = new std::vector(); (yyval.ConstVector)->push_back((yyvsp[0].ConstVal)); @@ -3964,62 +4020,69 @@ ;} break; - case 165: -#line 1627 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + case 172: +#line 1647 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { (yyval.BoolVal) = false; ;} break; - case 166: -#line 1627 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + case 173: +#line 1647 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { (yyval.BoolVal) = true; ;} break; - case 167: -#line 1637 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + case 174: +#line 1658 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { - (yyval.ModuleVal) = ParserResult = (yyvsp[0].ModuleVal); - CurModule.ModuleDone(); - CHECK_FOR_ERROR; -;} + (yyval.ModuleVal) = ParserResult = CurModule.CurrentModule; + CurModule.ModuleDone(); + CHECK_FOR_ERROR; + ;} break; - case 168: -#line 1645 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + case 175: +#line 1663 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { - (yyval.ModuleVal) = (yyvsp[-1].ModuleVal); - CurFun.FunctionDone(); - CHECK_FOR_ERROR + (yyval.ModuleVal) = ParserResult = CurModule.CurrentModule; + CurModule.ModuleDone(); + CHECK_FOR_ERROR; ;} break; - case 169: -#line 1650 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + case 178: +#line 1676 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + { CurFun.isDeclare = false ;} + break; + + case 179: +#line 1676 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { - (yyval.ModuleVal) = (yyvsp[-1].ModuleVal); + CurFun.FunctionDone(); CHECK_FOR_ERROR ;} break; - case 170: -#line 1654 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + case 180: +#line 1680 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + { CurFun.isDeclare = true; ;} + break; + + case 181: +#line 1680 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { - (yyval.ModuleVal) = (yyvsp[-3].ModuleVal); CHECK_FOR_ERROR ;} break; - case 171: -#line 1658 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + case 182: +#line 1683 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { - (yyval.ModuleVal) = (yyvsp[-1].ModuleVal); CHECK_FOR_ERROR ;} break; - case 172: -#line 1662 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + case 183: +#line 1686 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { - (yyval.ModuleVal) = CurModule.CurrentModule; // Emit an error if there are any unresolved types left. if (!CurModule.LateResolveTypes.empty()) { const ValID &DID = CurModule.LateResolveTypes.begin()->first; @@ -4033,8 +4096,8 @@ ;} break; - case 173: -#line 1677 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + case 184: +#line 1698 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { // Eagerly resolve types. This is not an optimization, this is a // requirement that is due to the fact that we could have this: @@ -4059,111 +4122,74 @@ ;} break; - case 174: -#line 1699 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" - { // Function prototypes can be in const pool - CHECK_FOR_ERROR - ;} - break; - - case 175: -#line 1702 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" - { // Asm blocks can be in the const pool - CHECK_FOR_ERROR - ;} - break; - - case 176: -#line 1705 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" - { + case 185: +#line 1720 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + { /* "Externally Visible" Linkage */ if ((yyvsp[0].ConstVal) == 0) GEN_ERROR("Global value initializer is not a constant!"); - CurGV = ParseGlobalVariable((yyvsp[-3].StrVal), (yyvsp[-2].Linkage), (yyvsp[-1].BoolVal), (yyvsp[0].ConstVal)->getType(), (yyvsp[0].ConstVal)); - CHECK_FOR_ERROR - ;} - break; - - case 177: -#line 1710 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" - { - CurGV = 0; - ;} - break; - - case 178: -#line 1713 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" - { - CurGV = ParseGlobalVariable((yyvsp[-3].StrVal), GlobalValue::ExternalLinkage, (yyvsp[-1].BoolVal), *(yyvsp[0].TypeVal), 0); + CurGV = ParseGlobalVariable((yyvsp[-2].StrVal), GlobalValue::ExternalLinkage, (yyvsp[-1].BoolVal), + (yyvsp[0].ConstVal)->getType(), (yyvsp[0].ConstVal)); CHECK_FOR_ERROR - delete (yyvsp[0].TypeVal); ;} break; - case 179: -#line 1717 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + case 186: +#line 1726 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { CurGV = 0; - CHECK_FOR_ERROR ;} break; - case 180: -#line 1721 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + case 187: +#line 1729 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { - CurGV = ParseGlobalVariable((yyvsp[-3].StrVal), GlobalValue::DLLImportLinkage, (yyvsp[-1].BoolVal), *(yyvsp[0].TypeVal), 0); + if ((yyvsp[0].ConstVal) == 0) + GEN_ERROR("Global value initializer is not a constant!"); + CurGV = ParseGlobalVariable((yyvsp[-3].StrVal), (yyvsp[-2].Linkage), (yyvsp[-1].BoolVal), (yyvsp[0].ConstVal)->getType(), (yyvsp[0].ConstVal)); CHECK_FOR_ERROR - delete (yyvsp[0].TypeVal); ;} break; - case 181: -#line 1725 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + case 188: +#line 1734 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { CurGV = 0; - CHECK_FOR_ERROR ;} break; - case 182: -#line 1729 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + case 189: +#line 1737 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { - CurGV = - ParseGlobalVariable((yyvsp[-3].StrVal), GlobalValue::ExternalWeakLinkage, (yyvsp[-1].BoolVal), *(yyvsp[0].TypeVal), 0); + CurGV = ParseGlobalVariable((yyvsp[-3].StrVal), (yyvsp[-2].Linkage), (yyvsp[-1].BoolVal), *(yyvsp[0].TypeVal), 0); CHECK_FOR_ERROR delete (yyvsp[0].TypeVal); ;} break; - case 183: -#line 1734 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + case 190: +#line 1741 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { CurGV = 0; CHECK_FOR_ERROR ;} break; - case 184: -#line 1738 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + case 191: +#line 1745 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { CHECK_FOR_ERROR ;} break; - case 185: -#line 1741 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + case 192: +#line 1748 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { CHECK_FOR_ERROR ;} break; - case 186: -#line 1744 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" - { - ;} - break; - - case 187: -#line 1748 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + case 193: +#line 1754 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { const std::string &AsmSoFar = CurModule.CurrentModule->getModuleInlineAsm(); char *EndStr = UnEscapeLexed((yyvsp[0].StrVal), true); @@ -4178,26 +4204,26 @@ ;} break; - case 188: -#line 1761 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + case 194: +#line 1767 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { (yyval.Endianness) = Module::BigEndian; ;} break; - case 189: -#line 1762 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + case 195: +#line 1768 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { (yyval.Endianness) = Module::LittleEndian; ;} break; - case 190: -#line 1764 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + case 196: +#line 1770 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { CurModule.CurrentModule->setEndianness((yyvsp[0].Endianness)); CHECK_FOR_ERROR ;} break; - case 191: -#line 1768 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + case 197: +#line 1774 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { if ((yyvsp[0].UInt64Val) == 32) CurModule.CurrentModule->setPointerSize(Module::Pointer32); @@ -4209,24 +4235,24 @@ ;} break; - case 192: -#line 1777 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + case 198: +#line 1783 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { CurModule.CurrentModule->setTargetTriple((yyvsp[0].StrVal)); free((yyvsp[0].StrVal)); ;} break; - case 193: -#line 1781 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + case 199: +#line 1787 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { CurModule.CurrentModule->setDataLayout((yyvsp[0].StrVal)); free((yyvsp[0].StrVal)); ;} break; - case 195: -#line 1788 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + case 201: +#line 1794 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { CurModule.CurrentModule->addLibrary((yyvsp[0].StrVal)); free((yyvsp[0].StrVal)); @@ -4234,8 +4260,8 @@ ;} break; - case 196: -#line 1793 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + case 202: +#line 1799 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { CurModule.CurrentModule->addLibrary((yyvsp[0].StrVal)); free((yyvsp[0].StrVal)); @@ -4243,20 +4269,20 @@ ;} break; - case 197: -#line 1798 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + case 203: +#line 1804 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { CHECK_FOR_ERROR ;} break; - case 201: -#line 1808 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + case 207: +#line 1814 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { (yyval.StrVal) = 0; ;} break; - case 202: -#line 1810 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + case 208: +#line 1816 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { if (*(yyvsp[-1].TypeVal) == Type::VoidTy) GEN_ERROR("void typed arguments are invalid!"); @@ -4265,8 +4291,8 @@ ;} break; - case 203: -#line 1817 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + case 209: +#line 1823 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { (yyval.ArgList) = (yyvsp[-2].ArgList); (yyvsp[-2].ArgList)->push_back(*(yyvsp[0].ArgVal)); @@ -4275,8 +4301,8 @@ ;} break; - case 204: -#line 1823 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + case 210: +#line 1829 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { (yyval.ArgList) = new std::vector >(); (yyval.ArgList)->push_back(*(yyvsp[0].ArgVal)); @@ -4285,16 +4311,16 @@ ;} break; - case 205: -#line 1830 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + case 211: +#line 1836 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { (yyval.ArgList) = (yyvsp[0].ArgList); CHECK_FOR_ERROR ;} break; - case 206: -#line 1834 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + case 212: +#line 1840 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { (yyval.ArgList) = (yyvsp[-2].ArgList); (yyval.ArgList)->push_back(std::pair >(); (yyval.ArgList)->push_back(std::make_pair(new PATypeHolder(Type::VoidTy), (char*)0)); @@ -4312,16 +4338,16 @@ ;} break; - case 208: -#line 1845 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + case 214: +#line 1851 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { (yyval.ArgList) = 0; CHECK_FOR_ERROR ;} break; - case 209: -#line 1851 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + case 215: +#line 1857 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { UnEscapeLexed((yyvsp[-5].StrVal)); std::string FunctionName((yyvsp[-5].StrVal)); @@ -4417,8 +4443,8 @@ ;} break; - case 212: -#line 1947 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + case 218: +#line 1953 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { (yyval.FunctionVal) = CurFun.CurrentFunction; @@ -4428,31 +4454,16 @@ ;} break; - case 215: -#line 1957 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + case 221: +#line 1963 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { (yyval.FunctionVal) = (yyvsp[-1].FunctionVal); CHECK_FOR_ERROR ;} break; - case 217: -#line 1963 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" - { CurFun.Linkage = GlobalValue::DLLImportLinkage; ;} - break; - - case 218: -#line 1964 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" - { CurFun.Linkage = GlobalValue::ExternalWeakLinkage; ;} - break; - - case 219: -#line 1966 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" - { CurFun.isDeclare = true; ;} - break; - - case 220: -#line 1966 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + case 222: +#line 1968 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { (yyval.FunctionVal) = CurFun.CurrentFunction; CurFun.FunctionDone(); @@ -4460,88 +4471,88 @@ ;} break; - case 221: -#line 1976 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + case 223: +#line 1978 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { (yyval.BoolVal) = false; CHECK_FOR_ERROR ;} break; - case 222: -#line 1980 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + case 224: +#line 1982 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { (yyval.BoolVal) = true; CHECK_FOR_ERROR ;} break; - case 223: -#line 1985 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + case 225: +#line 1987 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { // A reference to a direct constant (yyval.ValIDVal) = ValID::create((yyvsp[0].SInt64Val)); CHECK_FOR_ERROR ;} break; - case 224: -#line 1989 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + case 226: +#line 1991 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { (yyval.ValIDVal) = ValID::create((yyvsp[0].UInt64Val)); CHECK_FOR_ERROR ;} break; - case 225: -#line 1993 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + case 227: +#line 1995 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { // Perhaps it's an FP constant? (yyval.ValIDVal) = ValID::create((yyvsp[0].FPVal)); CHECK_FOR_ERROR ;} break; - case 226: -#line 1997 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + case 228: +#line 1999 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { (yyval.ValIDVal) = ValID::create(ConstantBool::getTrue()); CHECK_FOR_ERROR ;} break; - case 227: -#line 2001 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + case 229: +#line 2003 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { (yyval.ValIDVal) = ValID::create(ConstantBool::getFalse()); CHECK_FOR_ERROR ;} break; - case 228: -#line 2005 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + case 230: +#line 2007 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { (yyval.ValIDVal) = ValID::createNull(); CHECK_FOR_ERROR ;} break; - case 229: -#line 2009 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + case 231: +#line 2011 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { (yyval.ValIDVal) = ValID::createUndef(); CHECK_FOR_ERROR ;} break; - case 230: -#line 2013 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + case 232: +#line 2015 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { // A vector zero constant. (yyval.ValIDVal) = ValID::createZeroInit(); CHECK_FOR_ERROR ;} break; - case 231: -#line 2017 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + case 233: +#line 2019 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { // Nonempty unsized packed vector const Type *ETy = (*(yyvsp[-1].ConstVector))[0]->getType(); int NumElements = (yyvsp[-1].ConstVector)->size(); @@ -4569,16 +4580,16 @@ ;} break; - case 232: -#line 2042 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + case 234: +#line 2044 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { (yyval.ValIDVal) = ValID::create((yyvsp[0].ConstVal)); CHECK_FOR_ERROR ;} break; - case 233: -#line 2046 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + case 235: +#line 2048 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { char *End = UnEscapeLexed((yyvsp[-2].StrVal), true); std::string AsmStr = std::string((yyvsp[-2].StrVal), End); @@ -4591,48 +4602,48 @@ ;} break; - case 234: -#line 2060 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + case 236: +#line 2062 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { // Is it an integer reference...? (yyval.ValIDVal) = ValID::create((yyvsp[0].SIntVal)); CHECK_FOR_ERROR ;} break; - case 235: -#line 2064 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + case 237: +#line 2066 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { // Is it a named reference...? (yyval.ValIDVal) = ValID::create((yyvsp[0].StrVal)); CHECK_FOR_ERROR ;} break; - case 238: -#line 2076 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + case 240: +#line 2078 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { (yyval.ValueVal) = getVal(*(yyvsp[-1].TypeVal), (yyvsp[0].ValIDVal)); delete (yyvsp[-1].TypeVal); CHECK_FOR_ERROR ;} break; - case 239: -#line 2081 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + case 241: +#line 2083 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { (yyval.FunctionVal) = (yyvsp[-1].FunctionVal); CHECK_FOR_ERROR ;} break; - case 240: -#line 2085 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + case 242: +#line 2087 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { // Do not allow functions with 0 basic blocks (yyval.FunctionVal) = (yyvsp[-1].FunctionVal); CHECK_FOR_ERROR ;} break; - case 241: -#line 2094 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + case 243: +#line 2096 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { setValueName((yyvsp[0].TermInstVal), (yyvsp[-1].StrVal)); CHECK_FOR_ERROR @@ -4645,8 +4656,8 @@ ;} break; - case 242: -#line 2105 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + case 244: +#line 2107 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { if (CastInst *CI1 = dyn_cast((yyvsp[0].InstVal))) if (CastInst *CI2 = dyn_cast(CI1->getOperand(0))) @@ -4658,8 +4669,8 @@ ;} break; - case 243: -#line 2114 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + case 245: +#line 2116 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { (yyval.BasicBlockVal) = getBBVal(ValID::create((int)CurFun.NextBBNum++), true); CHECK_FOR_ERROR @@ -4674,8 +4685,8 @@ ;} break; - case 244: -#line 2126 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + case 246: +#line 2128 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { (yyval.BasicBlockVal) = getBBVal(ValID::create((yyvsp[0].StrVal)), true); CHECK_FOR_ERROR @@ -4690,24 +4701,24 @@ ;} break; - case 245: -#line 2139 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + case 247: +#line 2141 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { // Return with a result... (yyval.TermInstVal) = new ReturnInst((yyvsp[0].ValueVal)); CHECK_FOR_ERROR ;} break; - case 246: -#line 2143 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + case 248: +#line 2145 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { // Return with no result... (yyval.TermInstVal) = new ReturnInst(); CHECK_FOR_ERROR ;} break; - case 247: -#line 2147 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + case 249: +#line 2149 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { // Unconditional Branch... BasicBlock* tmpBB = getBBVal((yyvsp[0].ValIDVal)); CHECK_FOR_ERROR @@ -4715,8 +4726,8 @@ ;} break; - case 248: -#line 2152 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + case 250: +#line 2154 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { BasicBlock* tmpBBA = getBBVal((yyvsp[-3].ValIDVal)); CHECK_FOR_ERROR @@ -4728,8 +4739,8 @@ ;} break; - case 249: -#line 2161 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + case 251: +#line 2163 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { Value* tmpVal = getVal((yyvsp[-7].PrimType), (yyvsp[-6].ValIDVal)); CHECK_FOR_ERROR @@ -4751,8 +4762,8 @@ ;} break; - case 250: -#line 2180 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + case 252: +#line 2182 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { Value* tmpVal = getVal((yyvsp[-6].PrimType), (yyvsp[-5].ValIDVal)); CHECK_FOR_ERROR @@ -4764,8 +4775,8 @@ ;} break; - case 251: -#line 2190 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + case 253: +#line 2192 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { const PointerType *PFTy; const FunctionType *Ty; @@ -4823,24 +4834,24 @@ ;} break; - case 252: -#line 2245 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + case 254: +#line 2247 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { (yyval.TermInstVal) = new UnwindInst(); CHECK_FOR_ERROR ;} break; - case 253: -#line 2249 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + case 255: +#line 2251 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { (yyval.TermInstVal) = new UnreachableInst(); CHECK_FOR_ERROR ;} break; - case 254: -#line 2256 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + case 256: +#line 2258 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { (yyval.JumpTable) = (yyvsp[-5].JumpTable); Constant *V = cast(getValNonImprovising((yyvsp[-4].PrimType), (yyvsp[-3].ValIDVal))); @@ -4854,8 +4865,8 @@ ;} break; - case 255: -#line 2267 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + case 257: +#line 2269 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { (yyval.JumpTable) = new std::vector >(); Constant *V = cast(getValNonImprovising((yyvsp[-4].PrimType), (yyvsp[-3].ValIDVal))); @@ -4870,8 +4881,8 @@ ;} break; - case 256: -#line 2280 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + case 258: +#line 2282 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { // Is this definition named?? if so, assign the name... setValueName((yyvsp[0].InstVal), (yyvsp[-1].StrVal)); @@ -4882,8 +4893,8 @@ ;} break; - case 257: -#line 2289 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + case 259: +#line 2291 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { // Used for PHI nodes (yyval.PHIList) = new std::list >(); Value* tmpVal = getVal(*(yyvsp[-5].TypeVal), (yyvsp[-3].ValIDVal)); @@ -4895,8 +4906,8 @@ ;} break; - case 258: -#line 2298 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + case 260: +#line 2300 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { (yyval.PHIList) = (yyvsp[-6].PHIList); Value* tmpVal = getVal((yyvsp[-6].PHIList)->front().first->getType(), (yyvsp[-3].ValIDVal)); @@ -4907,16 +4918,16 @@ ;} break; - case 259: -#line 2308 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + case 261: +#line 2310 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { // Used for call statements, and memory insts... (yyval.ValueList) = new std::vector(); (yyval.ValueList)->push_back((yyvsp[0].ValueVal)); ;} break; - case 260: -#line 2312 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + case 262: +#line 2314 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { (yyval.ValueList) = (yyvsp[-2].ValueList); (yyvsp[-2].ValueList)->push_back((yyvsp[0].ValueVal)); @@ -4924,29 +4935,29 @@ ;} break; - case 262: -#line 2319 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + case 264: +#line 2321 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { (yyval.ValueList) = 0; ;} break; - case 263: -#line 2321 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + case 265: +#line 2323 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { (yyval.BoolVal) = true; CHECK_FOR_ERROR ;} break; - case 264: -#line 2325 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + case 266: +#line 2327 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { (yyval.BoolVal) = false; CHECK_FOR_ERROR ;} break; - case 265: -#line 2330 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + case 267: +#line 2332 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { if (!(*(yyvsp[-3].TypeVal))->isInteger() && !(*(yyvsp[-3].TypeVal))->isFloatingPoint() && !isa((*(yyvsp[-3].TypeVal)).get())) @@ -4968,8 +4979,8 @@ ;} break; - case 266: -#line 2349 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + case 268: +#line 2351 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { if (!(*(yyvsp[-3].TypeVal))->isIntegral()) { if (!isa((yyvsp[-3].TypeVal)->get()) || @@ -4987,8 +4998,8 @@ ;} break; - case 267: -#line 2364 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + case 269: +#line 2366 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { if (isa((*(yyvsp[-3].TypeVal)).get())) GEN_ERROR("Packed types not supported by icmp instruction"); @@ -5002,8 +5013,8 @@ ;} break; - case 268: -#line 2375 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + case 270: +#line 2377 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { if (isa((*(yyvsp[-3].TypeVal)).get())) GEN_ERROR("Packed types not supported by fcmp instruction"); @@ -5017,8 +5028,8 @@ ;} break; - case 269: -#line 2386 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + case 271: +#line 2388 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { cerr << "WARNING: Use of eliminated 'not' instruction:" << " Replacing with 'xor'.\n"; @@ -5034,8 +5045,8 @@ ;} break; - case 270: -#line 2399 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + case 272: +#line 2401 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { if ((yyvsp[0].ValueVal)->getType() != Type::UByteTy) GEN_ERROR("Shift amount must be ubyte!"); @@ -5047,8 +5058,8 @@ ;} break; - case 271: -#line 2408 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + case 273: +#line 2410 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { Value* Val = (yyvsp[-2].ValueVal); const Type* Ty = (yyvsp[0].TypeVal)->get(); @@ -5062,8 +5073,8 @@ ;} break; - case 272: -#line 2419 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + case 274: +#line 2421 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { if ((yyvsp[-4].ValueVal)->getType() != Type::BoolTy) GEN_ERROR("select condition must be boolean!"); @@ -5074,8 +5085,8 @@ ;} break; - case 273: -#line 2427 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + case 275: +#line 2429 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { (yyval.InstVal) = new VAArgInst((yyvsp[-2].ValueVal), *(yyvsp[0].TypeVal)); delete (yyvsp[0].TypeVal); @@ -5083,8 +5094,8 @@ ;} break; - case 274: -#line 2432 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + case 276: +#line 2434 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { if (!ExtractElementInst::isValidOperands((yyvsp[-2].ValueVal), (yyvsp[0].ValueVal))) GEN_ERROR("Invalid extractelement operands!"); @@ -5093,8 +5104,8 @@ ;} break; - case 275: -#line 2438 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + case 277: +#line 2440 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { if (!InsertElementInst::isValidOperands((yyvsp[-4].ValueVal), (yyvsp[-2].ValueVal), (yyvsp[0].ValueVal))) GEN_ERROR("Invalid insertelement operands!"); @@ -5103,8 +5114,8 @@ ;} break; - case 276: -#line 2444 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + case 278: +#line 2446 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { if (!ShuffleVectorInst::isValidOperands((yyvsp[-4].ValueVal), (yyvsp[-2].ValueVal), (yyvsp[0].ValueVal))) GEN_ERROR("Invalid shufflevector operands!"); @@ -5113,8 +5124,8 @@ ;} break; - case 277: -#line 2450 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + case 279: +#line 2452 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { const Type *Ty = (yyvsp[0].PHIList)->front().first->getType(); if (!Ty->isFirstClassType()) @@ -5132,8 +5143,8 @@ ;} break; - case 278: -#line 2465 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + case 280: +#line 2467 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { const PointerType *PFTy = 0; const FunctionType *Ty = 0; @@ -5195,48 +5206,48 @@ ;} break; - case 279: -#line 2524 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + case 281: +#line 2526 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { (yyval.InstVal) = (yyvsp[0].InstVal); CHECK_FOR_ERROR ;} break; - case 280: -#line 2531 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + case 282: +#line 2533 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { (yyval.ValueList) = (yyvsp[0].ValueList); CHECK_FOR_ERROR ;} break; - case 281: -#line 2534 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + case 283: +#line 2536 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { (yyval.ValueList) = new std::vector(); CHECK_FOR_ERROR ;} break; - case 282: -#line 2539 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + case 284: +#line 2541 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { (yyval.BoolVal) = true; CHECK_FOR_ERROR ;} break; - case 283: -#line 2543 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + case 285: +#line 2545 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { (yyval.BoolVal) = false; CHECK_FOR_ERROR ;} break; - case 284: -#line 2550 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + case 286: +#line 2552 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { (yyval.InstVal) = new MallocInst(*(yyvsp[-1].TypeVal), 0, (yyvsp[0].UIntVal)); delete (yyvsp[-1].TypeVal); @@ -5244,8 +5255,8 @@ ;} break; - case 285: -#line 2555 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + case 287: +#line 2557 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { Value* tmpVal = getVal((yyvsp[-2].PrimType), (yyvsp[-1].ValIDVal)); CHECK_FOR_ERROR @@ -5254,8 +5265,8 @@ ;} break; - case 286: -#line 2561 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + case 288: +#line 2563 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { (yyval.InstVal) = new AllocaInst(*(yyvsp[-1].TypeVal), 0, (yyvsp[0].UIntVal)); delete (yyvsp[-1].TypeVal); @@ -5263,8 +5274,8 @@ ;} break; - case 287: -#line 2566 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + case 289: +#line 2568 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { Value* tmpVal = getVal((yyvsp[-2].PrimType), (yyvsp[-1].ValIDVal)); CHECK_FOR_ERROR @@ -5273,8 +5284,8 @@ ;} break; - case 288: -#line 2572 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + case 290: +#line 2574 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { if (!isa((yyvsp[0].ValueVal)->getType())) GEN_ERROR("Trying to free nonpointer type " + @@ -5284,8 +5295,8 @@ ;} break; - case 289: -#line 2580 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + case 291: +#line 2582 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { if (!isa((yyvsp[-1].TypeVal)->get())) GEN_ERROR("Can't load from nonpointer type: " + @@ -5300,8 +5311,8 @@ ;} break; - case 290: -#line 2592 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + case 292: +#line 2594 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { const PointerType *PT = dyn_cast((yyvsp[-1].TypeVal)->get()); if (!PT) @@ -5319,8 +5330,8 @@ ;} break; - case 291: -#line 2607 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + case 293: +#line 2609 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" { if (!isa((yyvsp[-2].TypeVal)->get())) GEN_ERROR("getelementptr insn requires pointer operand!"); @@ -5341,7 +5352,7 @@ } /* Line 1126 of yacc.c. */ -#line 5345 "llvmAsmParser.tab.c" +#line 5356 "llvmAsmParser.tab.c" yyvsp -= yylen; yyssp -= yylen; @@ -5609,7 +5620,7 @@ } -#line 2622 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" +#line 2624 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" void llvm::GenerateError(const std::string &message, int LineNo) { Index: llvm/lib/AsmParser/llvmAsmParser.h.cvs diff -u llvm/lib/AsmParser/llvmAsmParser.h.cvs:1.31 llvm/lib/AsmParser/llvmAsmParser.h.cvs:1.32 --- llvm/lib/AsmParser/llvmAsmParser.h.cvs:1.31 Sat Dec 23 00:05:40 2006 +++ llvm/lib/AsmParser/llvmAsmParser.h.cvs Fri Dec 29 14:30:42 2006 @@ -46,8 +46,8 @@ ULONG = 272, FLOAT = 273, DOUBLE = 274, - TYPE = 275, - LABEL = 276, + LABEL = 275, + TYPE = 276, VAR_ID = 277, LABELSTR = 278, STRINGCONSTANT = 279, @@ -58,113 +58,114 @@ BEGINTOK = 284, ENDTOK = 285, DECLARE = 286, - GLOBAL = 287, - CONSTANT = 288, - SECTION = 289, - VOLATILE = 290, - TO = 291, - DOTDOTDOT = 292, - NULL_TOK = 293, - UNDEF = 294, - CONST = 295, - INTERNAL = 296, - LINKONCE = 297, - WEAK = 298, - APPENDING = 299, - DLLIMPORT = 300, - DLLEXPORT = 301, - EXTERN_WEAK = 302, - OPAQUE = 303, - NOT = 304, - EXTERNAL = 305, - TARGET = 306, - TRIPLE = 307, - ENDIAN = 308, - POINTERSIZE = 309, - LITTLE = 310, - BIG = 311, - ALIGN = 312, - DEPLIBS = 313, - CALL = 314, - TAIL = 315, - ASM_TOK = 316, - MODULE = 317, - SIDEEFFECT = 318, - CC_TOK = 319, - CCC_TOK = 320, - CSRETCC_TOK = 321, - FASTCC_TOK = 322, - COLDCC_TOK = 323, - X86_STDCALLCC_TOK = 324, - X86_FASTCALLCC_TOK = 325, - DATALAYOUT = 326, - RET = 327, - BR = 328, - SWITCH = 329, - INVOKE = 330, - UNWIND = 331, - UNREACHABLE = 332, - ADD = 333, - SUB = 334, - MUL = 335, - UDIV = 336, - SDIV = 337, - FDIV = 338, - UREM = 339, - SREM = 340, - FREM = 341, - AND = 342, - OR = 343, - XOR = 344, - ICMP = 345, - FCMP = 346, - EQ = 347, - NE = 348, - SLT = 349, - SGT = 350, - SLE = 351, - SGE = 352, - ULT = 353, - UGT = 354, - ULE = 355, - UGE = 356, - OEQ = 357, - ONE = 358, - OLT = 359, - OGT = 360, - OLE = 361, - OGE = 362, - ORD = 363, - UNO = 364, - UEQ = 365, - UNE = 366, - MALLOC = 367, - ALLOCA = 368, - FREE = 369, - LOAD = 370, - STORE = 371, - GETELEMENTPTR = 372, - TRUNC = 373, - ZEXT = 374, - SEXT = 375, - FPTRUNC = 376, - FPEXT = 377, - BITCAST = 378, - UITOFP = 379, - SITOFP = 380, - FPTOUI = 381, - FPTOSI = 382, - INTTOPTR = 383, - PTRTOINT = 384, - PHI_TOK = 385, - SELECT = 386, - SHL = 387, - LSHR = 388, - ASHR = 389, - VAARG = 390, - EXTRACTELEMENT = 391, - INSERTELEMENT = 392, - SHUFFLEVECTOR = 393 + DEFINE = 287, + GLOBAL = 288, + CONSTANT = 289, + SECTION = 290, + VOLATILE = 291, + TO = 292, + DOTDOTDOT = 293, + NULL_TOK = 294, + UNDEF = 295, + CONST = 296, + INTERNAL = 297, + LINKONCE = 298, + WEAK = 299, + APPENDING = 300, + DLLIMPORT = 301, + DLLEXPORT = 302, + EXTERN_WEAK = 303, + OPAQUE = 304, + NOT = 305, + EXTERNAL = 306, + TARGET = 307, + TRIPLE = 308, + ENDIAN = 309, + POINTERSIZE = 310, + LITTLE = 311, + BIG = 312, + ALIGN = 313, + DEPLIBS = 314, + CALL = 315, + TAIL = 316, + ASM_TOK = 317, + MODULE = 318, + SIDEEFFECT = 319, + CC_TOK = 320, + CCC_TOK = 321, + CSRETCC_TOK = 322, + FASTCC_TOK = 323, + COLDCC_TOK = 324, + X86_STDCALLCC_TOK = 325, + X86_FASTCALLCC_TOK = 326, + DATALAYOUT = 327, + RET = 328, + BR = 329, + SWITCH = 330, + INVOKE = 331, + UNWIND = 332, + UNREACHABLE = 333, + ADD = 334, + SUB = 335, + MUL = 336, + UDIV = 337, + SDIV = 338, + FDIV = 339, + UREM = 340, + SREM = 341, + FREM = 342, + AND = 343, + OR = 344, + XOR = 345, + ICMP = 346, + FCMP = 347, + EQ = 348, + NE = 349, + SLT = 350, + SGT = 351, + SLE = 352, + SGE = 353, + ULT = 354, + UGT = 355, + ULE = 356, + UGE = 357, + OEQ = 358, + ONE = 359, + OLT = 360, + OGT = 361, + OLE = 362, + OGE = 363, + ORD = 364, + UNO = 365, + UEQ = 366, + UNE = 367, + MALLOC = 368, + ALLOCA = 369, + FREE = 370, + LOAD = 371, + STORE = 372, + GETELEMENTPTR = 373, + TRUNC = 374, + ZEXT = 375, + SEXT = 376, + FPTRUNC = 377, + FPEXT = 378, + BITCAST = 379, + UITOFP = 380, + SITOFP = 381, + FPTOUI = 382, + FPTOSI = 383, + INTTOPTR = 384, + PTRTOINT = 385, + PHI_TOK = 386, + SELECT = 387, + SHL = 388, + LSHR = 389, + ASHR = 390, + VAARG = 391, + EXTRACTELEMENT = 392, + INSERTELEMENT = 393, + SHUFFLEVECTOR = 394 }; #endif /* Tokens. */ @@ -185,8 +186,8 @@ #define ULONG 272 #define FLOAT 273 #define DOUBLE 274 -#define TYPE 275 -#define LABEL 276 +#define LABEL 275 +#define TYPE 276 #define VAR_ID 277 #define LABELSTR 278 #define STRINGCONSTANT 279 @@ -197,119 +198,120 @@ #define BEGINTOK 284 #define ENDTOK 285 #define DECLARE 286 -#define GLOBAL 287 -#define CONSTANT 288 -#define SECTION 289 -#define VOLATILE 290 -#define TO 291 -#define DOTDOTDOT 292 -#define NULL_TOK 293 -#define UNDEF 294 -#define CONST 295 -#define INTERNAL 296 -#define LINKONCE 297 -#define WEAK 298 -#define APPENDING 299 -#define DLLIMPORT 300 -#define DLLEXPORT 301 -#define EXTERN_WEAK 302 -#define OPAQUE 303 -#define NOT 304 -#define EXTERNAL 305 -#define TARGET 306 -#define TRIPLE 307 -#define ENDIAN 308 -#define POINTERSIZE 309 -#define LITTLE 310 -#define BIG 311 -#define ALIGN 312 -#define DEPLIBS 313 -#define CALL 314 -#define TAIL 315 -#define ASM_TOK 316 -#define MODULE 317 -#define SIDEEFFECT 318 -#define CC_TOK 319 -#define CCC_TOK 320 -#define CSRETCC_TOK 321 -#define FASTCC_TOK 322 -#define COLDCC_TOK 323 -#define X86_STDCALLCC_TOK 324 -#define X86_FASTCALLCC_TOK 325 -#define DATALAYOUT 326 -#define RET 327 -#define BR 328 -#define SWITCH 329 -#define INVOKE 330 -#define UNWIND 331 -#define UNREACHABLE 332 -#define ADD 333 -#define SUB 334 -#define MUL 335 -#define UDIV 336 -#define SDIV 337 -#define FDIV 338 -#define UREM 339 -#define SREM 340 -#define FREM 341 -#define AND 342 -#define OR 343 -#define XOR 344 -#define ICMP 345 -#define FCMP 346 -#define EQ 347 -#define NE 348 -#define SLT 349 -#define SGT 350 -#define SLE 351 -#define SGE 352 -#define ULT 353 -#define UGT 354 -#define ULE 355 -#define UGE 356 -#define OEQ 357 -#define ONE 358 -#define OLT 359 -#define OGT 360 -#define OLE 361 -#define OGE 362 -#define ORD 363 -#define UNO 364 -#define UEQ 365 -#define UNE 366 -#define MALLOC 367 -#define ALLOCA 368 -#define FREE 369 -#define LOAD 370 -#define STORE 371 -#define GETELEMENTPTR 372 -#define TRUNC 373 -#define ZEXT 374 -#define SEXT 375 -#define FPTRUNC 376 -#define FPEXT 377 -#define BITCAST 378 -#define UITOFP 379 -#define SITOFP 380 -#define FPTOUI 381 -#define FPTOSI 382 -#define INTTOPTR 383 -#define PTRTOINT 384 -#define PHI_TOK 385 -#define SELECT 386 -#define SHL 387 -#define LSHR 388 -#define ASHR 389 -#define VAARG 390 -#define EXTRACTELEMENT 391 -#define INSERTELEMENT 392 -#define SHUFFLEVECTOR 393 +#define DEFINE 287 +#define GLOBAL 288 +#define CONSTANT 289 +#define SECTION 290 +#define VOLATILE 291 +#define TO 292 +#define DOTDOTDOT 293 +#define NULL_TOK 294 +#define UNDEF 295 +#define CONST 296 +#define INTERNAL 297 +#define LINKONCE 298 +#define WEAK 299 +#define APPENDING 300 +#define DLLIMPORT 301 +#define DLLEXPORT 302 +#define EXTERN_WEAK 303 +#define OPAQUE 304 +#define NOT 305 +#define EXTERNAL 306 +#define TARGET 307 +#define TRIPLE 308 +#define ENDIAN 309 +#define POINTERSIZE 310 +#define LITTLE 311 +#define BIG 312 +#define ALIGN 313 +#define DEPLIBS 314 +#define CALL 315 +#define TAIL 316 +#define ASM_TOK 317 +#define MODULE 318 +#define SIDEEFFECT 319 +#define CC_TOK 320 +#define CCC_TOK 321 +#define CSRETCC_TOK 322 +#define FASTCC_TOK 323 +#define COLDCC_TOK 324 +#define X86_STDCALLCC_TOK 325 +#define X86_FASTCALLCC_TOK 326 +#define DATALAYOUT 327 +#define RET 328 +#define BR 329 +#define SWITCH 330 +#define INVOKE 331 +#define UNWIND 332 +#define UNREACHABLE 333 +#define ADD 334 +#define SUB 335 +#define MUL 336 +#define UDIV 337 +#define SDIV 338 +#define FDIV 339 +#define UREM 340 +#define SREM 341 +#define FREM 342 +#define AND 343 +#define OR 344 +#define XOR 345 +#define ICMP 346 +#define FCMP 347 +#define EQ 348 +#define NE 349 +#define SLT 350 +#define SGT 351 +#define SLE 352 +#define SGE 353 +#define ULT 354 +#define UGT 355 +#define ULE 356 +#define UGE 357 +#define OEQ 358 +#define ONE 359 +#define OLT 360 +#define OGT 361 +#define OLE 362 +#define OGE 363 +#define ORD 364 +#define UNO 365 +#define UEQ 366 +#define UNE 367 +#define MALLOC 368 +#define ALLOCA 369 +#define FREE 370 +#define LOAD 371 +#define STORE 372 +#define GETELEMENTPTR 373 +#define TRUNC 374 +#define ZEXT 375 +#define SEXT 376 +#define FPTRUNC 377 +#define FPEXT 378 +#define BITCAST 379 +#define UITOFP 380 +#define SITOFP 381 +#define FPTOUI 382 +#define FPTOSI 383 +#define INTTOPTR 384 +#define PTRTOINT 385 +#define PHI_TOK 386 +#define SELECT 387 +#define SHL 388 +#define LSHR 389 +#define ASHR 390 +#define VAARG 391 +#define EXTRACTELEMENT 392 +#define INSERTELEMENT 393 +#define SHUFFLEVECTOR 394 #if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED) -#line 855 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" +#line 855 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" typedef union YYSTYPE { llvm::Module *ModuleVal; llvm::Function *FunctionVal; @@ -353,7 +355,7 @@ llvm::FCmpInst::Predicate FPredicate; } YYSTYPE; /* Line 1447 of yacc.c. */ -#line 357 "llvmAsmParser.tab.h" +#line 359 "llvmAsmParser.tab.h" # define yystype YYSTYPE /* obsolescent; will be withdrawn */ # define YYSTYPE_IS_DECLARED 1 # define YYSTYPE_IS_TRIVIAL 1 Index: llvm/lib/AsmParser/llvmAsmParser.y.cvs diff -u llvm/lib/AsmParser/llvmAsmParser.y.cvs:1.39 llvm/lib/AsmParser/llvmAsmParser.y.cvs:1.40 --- llvm/lib/AsmParser/llvmAsmParser.y.cvs:1.39 Sat Dec 23 00:05:40 2006 +++ llvm/lib/AsmParser/llvmAsmParser.y.cvs Fri Dec 29 14:30:42 2006 @@ -895,7 +895,7 @@ llvm::FCmpInst::Predicate FPredicate; } -%type Module FunctionList +%type Module %type Function FunctionProto FunctionHeader BasicBlockList %type BasicBlock InstructionList %type BBTerminatorInst @@ -913,7 +913,7 @@ %type OptVolatile // 'volatile' or not %type OptTailCall // TAIL CALL or plain CALL. %type OptSideEffect // 'sideeffect' or not. -%type OptLinkage +%type FunctionLinkage GVInternalLinkage GVExternalLinkage %type BigOrLittle // ValueRef - Unresolved reference to a definition or BB @@ -936,7 +936,8 @@ %type Types TypesV UpRTypes UpRTypesV %type SIntType UIntType IntType FPType PrimType // Classifications %token VOID BOOL SBYTE UBYTE SHORT USHORT INT UINT LONG ULONG -%token FLOAT DOUBLE TYPE LABEL +%token FLOAT DOUBLE LABEL +%token TYPE %token VAR_ID LABELSTR STRINGCONSTANT %type Name OptName OptAssign @@ -944,7 +945,7 @@ %type OptSection SectionString %token IMPLEMENTATION ZEROINITIALIZER TRUETOK FALSETOK BEGINTOK ENDTOK -%token DECLARE GLOBAL CONSTANT SECTION VOLATILE +%token DECLARE DEFINE GLOBAL CONSTANT SECTION VOLATILE %token TO DOTDOTDOT NULL_TOK UNDEF CONST INTERNAL LINKONCE WEAK APPENDING %token DLLIMPORT DLLEXPORT EXTERN_WEAK %token OPAQUE NOT EXTERNAL TARGET TRIPLE ENDIAN POINTERSIZE LITTLE BIG ALIGN @@ -1038,14 +1039,33 @@ CHECK_FOR_ERROR }; -OptLinkage : INTERNAL { $$ = GlobalValue::InternalLinkage; } | - LINKONCE { $$ = GlobalValue::LinkOnceLinkage; } | - WEAK { $$ = GlobalValue::WeakLinkage; } | - APPENDING { $$ = GlobalValue::AppendingLinkage; } | - DLLIMPORT { $$ = GlobalValue::DLLImportLinkage; } | - DLLEXPORT { $$ = GlobalValue::DLLExportLinkage; } | - EXTERN_WEAK { $$ = GlobalValue::ExternalWeakLinkage; } | - /*empty*/ { $$ = GlobalValue::ExternalLinkage; }; +GVInternalLinkage + : INTERNAL { $$ = GlobalValue::InternalLinkage; } + | WEAK { $$ = GlobalValue::WeakLinkage; } + | LINKONCE { $$ = GlobalValue::LinkOnceLinkage; } + | APPENDING { $$ = GlobalValue::AppendingLinkage; } + | DLLEXPORT { $$ = GlobalValue::DLLExportLinkage; } + ; + +GVExternalLinkage + : DLLIMPORT { $$ = GlobalValue::DLLImportLinkage; } + | EXTERN_WEAK { $$ = GlobalValue::ExternalWeakLinkage; } + | EXTERNAL { $$ = GlobalValue::ExternalLinkage; } + ; + +FnDeclareLinkage + : /*empty*/ { /*default*/ } + | DLLIMPORT { CurFun.Linkage = GlobalValue::DLLImportLinkage; } + | EXTERN_WEAK { CurFun.Linkage = GlobalValue::ExternalWeakLinkage; } + ; + +FunctionLinkage + : INTERNAL { $$ = GlobalValue::InternalLinkage; } + | LINKONCE { $$ = GlobalValue::LinkOnceLinkage; } + | WEAK { $$ = GlobalValue::WeakLinkage; } + | DLLEXPORT { $$ = GlobalValue::DLLExportLinkage; } + | /*empty*/ { $$ = GlobalValue::ExternalLinkage; } + ; OptCallingConv : /*empty*/ { $$ = CallingConv::C; } | CCC_TOK { $$ = CallingConv::C; } | @@ -1128,7 +1148,7 @@ // Derived types are added later... // PrimType : BOOL | SBYTE | UBYTE | SHORT | USHORT | INT | UINT ; -PrimType : LONG | ULONG | FLOAT | DOUBLE | TYPE | LABEL; +PrimType : LONG | ULONG | FLOAT | DOUBLE | LABEL ; UpRTypes : OPAQUE { $$ = new PATypeHolder(OpaqueType::get()); CHECK_FOR_ERROR @@ -1634,33 +1654,36 @@ // Module rule: Capture the result of parsing the whole file into a result // variable... // -Module : FunctionList { - $$ = ParserResult = $1; - CurModule.ModuleDone(); - CHECK_FOR_ERROR; -}; +Module + : DefinitionList { + $$ = ParserResult = CurModule.CurrentModule; + CurModule.ModuleDone(); + CHECK_FOR_ERROR; + } + | /*empty*/ { + $$ = ParserResult = CurModule.CurrentModule; + CurModule.ModuleDone(); + CHECK_FOR_ERROR; + } + ; -// FunctionList - A list of functions, preceeded by a constant pool. -// -FunctionList : FunctionList Function { - $$ = $1; +DefinitionList + : Definition + | DefinitionList Definition + ; + +Definition + : DEFINE { CurFun.isDeclare = false } Function { CurFun.FunctionDone(); CHECK_FOR_ERROR - } - | FunctionList FunctionProto { - $$ = $1; + } + | DECLARE { CurFun.isDeclare = true; } FunctionProto { CHECK_FOR_ERROR } - | FunctionList MODULE ASM_TOK AsmBlock { - $$ = $1; + | MODULE ASM_TOK AsmBlock { CHECK_FOR_ERROR } - | FunctionList IMPLEMENTATION { - $$ = $1; - CHECK_FOR_ERROR - } - | ConstPool { - $$ = CurModule.CurrentModule; + | IMPLEMENTATION { // Emit an error if there are any unresolved types left. if (!CurModule.LateResolveTypes.empty()) { const ValID &DID = CurModule.LateResolveTypes.begin()->first; @@ -1671,10 +1694,8 @@ } } CHECK_FOR_ERROR - }; - -// ConstPool - Constants with optional names assigned to them. -ConstPool : ConstPool OptAssign TYPE TypesV { + } + | OptAssign TYPE TypesV { // Eagerly resolve types. This is not an optimization, this is a // requirement that is due to the fact that we could have this: // @@ -1684,65 +1705,50 @@ // If types are not resolved eagerly, then the two types will not be // determined to be the same type! // - ResolveTypeTo($2, *$4); + ResolveTypeTo($1, *$3); - if (!setTypeName(*$4, $2) && !$2) { + if (!setTypeName(*$3, $1) && !$1) { CHECK_FOR_ERROR // If this is a named type that is not a redefinition, add it to the slot // table. - CurModule.Types.push_back(*$4); + CurModule.Types.push_back(*$3); } - delete $4; - CHECK_FOR_ERROR - } - | ConstPool FunctionProto { // Function prototypes can be in const pool - CHECK_FOR_ERROR - } - | ConstPool MODULE ASM_TOK AsmBlock { // Asm blocks can be in the const pool + delete $3; CHECK_FOR_ERROR } - | ConstPool OptAssign OptLinkage GlobalType ConstVal { - if ($5 == 0) + | OptAssign GlobalType ConstVal { /* "Externally Visible" Linkage */ + if ($3 == 0) GEN_ERROR("Global value initializer is not a constant!"); - CurGV = ParseGlobalVariable($2, $3, $4, $5->getType(), $5); + CurGV = ParseGlobalVariable($1, GlobalValue::ExternalLinkage, $2, + $3->getType(), $3); CHECK_FOR_ERROR } GlobalVarAttributes { CurGV = 0; } - | ConstPool OptAssign EXTERNAL GlobalType Types { - CurGV = ParseGlobalVariable($2, GlobalValue::ExternalLinkage, $4, *$5, 0); - CHECK_FOR_ERROR - delete $5; - } GlobalVarAttributes { - CurGV = 0; - CHECK_FOR_ERROR - } - | ConstPool OptAssign DLLIMPORT GlobalType Types { - CurGV = ParseGlobalVariable($2, GlobalValue::DLLImportLinkage, $4, *$5, 0); + | OptAssign GVInternalLinkage GlobalType ConstVal { + if ($4 == 0) + GEN_ERROR("Global value initializer is not a constant!"); + CurGV = ParseGlobalVariable($1, $2, $3, $4->getType(), $4); CHECK_FOR_ERROR - delete $5; } GlobalVarAttributes { CurGV = 0; - CHECK_FOR_ERROR } - | ConstPool OptAssign EXTERN_WEAK GlobalType Types { - CurGV = - ParseGlobalVariable($2, GlobalValue::ExternalWeakLinkage, $4, *$5, 0); + | OptAssign GVExternalLinkage GlobalType Types { + CurGV = ParseGlobalVariable($1, $2, $3, *$4, 0); CHECK_FOR_ERROR - delete $5; + delete $4; } GlobalVarAttributes { CurGV = 0; CHECK_FOR_ERROR } - | ConstPool TARGET TargetDefinition { + | TARGET TargetDefinition { CHECK_FOR_ERROR } - | ConstPool DEPLIBS '=' LibrariesDefinition { + | DEPLIBS '=' LibrariesDefinition { CHECK_FOR_ERROR } - | /* empty: end of list */ { - }; + ; AsmBlock : STRINGCONSTANT { @@ -1944,7 +1950,7 @@ BEGIN : BEGINTOK | '{'; // Allow BEGIN or '{' to start a function -FunctionHeader : OptLinkage FunctionHeaderH BEGIN { +FunctionHeader : FunctionLinkage FunctionHeaderH BEGIN { $$ = CurFun.CurrentFunction; // Make sure that we keep track of the linkage type even if there was a @@ -1959,11 +1965,7 @@ CHECK_FOR_ERROR }; -FnDeclareLinkage: /*default*/ | - DLLIMPORT { CurFun.Linkage = GlobalValue::DLLImportLinkage; } | - EXTERN_WEAK { CurFun.Linkage = GlobalValue::ExternalWeakLinkage; }; - -FunctionProto : DECLARE { CurFun.isDeclare = true; } FnDeclareLinkage FunctionHeaderH { +FunctionProto : FnDeclareLinkage FunctionHeaderH { $$ = CurFun.CurrentFunction; CurFun.FunctionDone(); CHECK_FOR_ERROR From rafael.espindola at gmail.com Sat Dec 30 07:38:59 2006 From: rafael.espindola at gmail.com (=?UTF-8?Q?Rafael_Esp=C3=ADndola?=) Date: Sat, 30 Dec 2006 11:38:59 -0200 Subject: [llvm-commits] [llvm-gcc] SETCC Removal Patch (Please Commit) In-Reply-To: <1166854083.18862.18.camel@bashful.x10sys.com> References: <1166854083.18862.18.camel@bashful.x10sys.com> Message-ID: <564d96fb0612300538s344135b7q995eb77a694e87c1@mail.gmail.com> I don't have a normative document at hand, but I believe that in C != should return true if one of the operands is unordered. Currently, llvm-gcc produces a "fcmp one". I have patched llvm-conver.cpp:TreeToLLVM::Emit to emit a "fcmp une" in the NE_EXPR case. The generated code now is: %tmp = fcmp une float %a, %b %tmp2 = tail call bool %llvm.isunordered.f32( float %a, float %b ) %tmp3 = or bool %tmp2, %tmp Correct, but redundant. The call to llvm.isunordered is added by TreeToLLVM::EmitCompare. Simply removing the "if" produces the correct code. It looks like the call to isunordered is a leftover of the old compare instruction. An updated patch is attached. Comments? Best Regards, Rafael From rspencer at reidspencer.com Sat Dec 30 10:18:53 2006 From: rspencer at reidspencer.com (Reid Spencer) Date: Sat, 30 Dec 2006 08:18:53 -0800 Subject: [llvm-commits] [llvm-gcc] SETCC Removal Patch (Please Commit) In-Reply-To: <564d96fb0612300538s344135b7q995eb77a694e87c1@mail.gmail.com> References: <1166854083.18862.18.camel@bashful.x10sys.com> <564d96fb0612300538s344135b7q995eb77a694e87c1@mail.gmail.com> Message-ID: <1167495533.25999.102.camel@bashful.x10sys.com> Rafael, Nothing was attached to your message. Reid. On Sat, 2006-12-30 at 11:38 -0200, Rafael Esp?ndola wrote: > I don't have a normative document at hand, but I believe that in C != > should return true if one of the operands is unordered. Currently, > llvm-gcc produces a "fcmp one". > > I have patched llvm-conver.cpp:TreeToLLVM::Emit to emit a "fcmp une" > in the NE_EXPR case. The generated code now is: > > %tmp = fcmp une float %a, %b > %tmp2 = tail call bool %llvm.isunordered.f32( float %a, float %b ) > %tmp3 = or bool %tmp2, %tmp > > Correct, but redundant. The call to llvm.isunordered is added by > TreeToLLVM::EmitCompare. Simply removing the "if" produces the correct > code. It looks like the call to isunordered is a leftover of the old > compare instruction. > > An updated patch is attached. > > Comments? > > Best Regards, > Rafael From reid at x10sys.com Sat Dec 30 10:31:17 2006 From: reid at x10sys.com (Reid Spencer) Date: Sat, 30 Dec 2006 10:31:17 -0600 Subject: [llvm-commits] CVS: llvm/Makefile.rules Message-ID: <200612301631.kBUGVH5r032305@zion.cs.uiuc.edu> Changes in directory llvm: Makefile.rules updated: 1.416 -> 1.417 --- Log message: When compiling a C or C++ file to assembly, make the assembly output depend on the compiler. This works around problems in the Stacker runtime when the CFE changes in such a way that the assembly file needs to be updated. --- Diffs of the changes: (+6 -6) Makefile.rules | 12 ++++++------ 1 files changed, 6 insertions(+), 6 deletions(-) Index: llvm/Makefile.rules diff -u llvm/Makefile.rules:1.416 llvm/Makefile.rules:1.417 --- llvm/Makefile.rules:1.416 Sat Dec 16 16:07:52 2006 +++ llvm/Makefile.rules Sat Dec 30 10:31:02 2006 @@ -1042,7 +1042,7 @@ # Create .bc files in the ObjDir directory from .cpp .cc and .c files... #--------------------------------------------------------- -$(ObjDir)/%.ll: %.cpp $(ObjDir)/.dir $(BUILT_SOURCES) +$(ObjDir)/%.ll: %.cpp $(ObjDir)/.dir $(BUILT_SOURCES) $(LLVMGXX) $(Echo) "Compiling $*.cpp for $(BuildMode) build (bytecode)" $(Verb) if $(BCCompile.CXX) -MD -MT $@ -MP -MF "$(ObjDir)/$*.BCCXXd" \ $< -o $@ -S -emit-llvm ; \ @@ -1051,7 +1051,7 @@ $(call UPGRADE_MSG,$@) $(call UPGRADE_LL,$@) -$(ObjDir)/%.ll: %.cc $(ObjDir)/.dir $(BUILT_SOURCES) +$(ObjDir)/%.ll: %.cc $(ObjDir)/.dir $(BUILT_SOURCES) $(LLVMGXX) $(Echo) "Compiling $*.cc for $(BuildMode) build (bytecode)" $(Verb) if $(BCCompile.CXX) -MD -MT $@ -MP -MF "$(ObjDir)/$*.BCCXXd" \ $< -o $@ -S -emit-llvm ; \ @@ -1060,7 +1060,7 @@ $(call UPGRADE_MSG,$@) $(call UPGRADE_LL,$@) -$(ObjDir)/%.ll: %.c $(ObjDir)/.dir $(BUILT_SOURCES) +$(ObjDir)/%.ll: %.c $(ObjDir)/.dir $(BUILT_SOURCES) $(LLVMGCC) $(Echo) "Compiling $*.c for $(BuildMode) build (bytecode)" $(Verb) if $(BCCompile.C) -MD -MT $@ -MP -MF "$(ObjDir)/$*.BCCd" \ $< -o $@ -S -emit-llvm ; \ @@ -1084,19 +1084,19 @@ $(Echo) "Compiling $*.c for $(BuildMode) build" $(PIC_FLAG) $(MAYBE_PIC_Compile.C) $< -o $@ -$(ObjDir)/%.ll: %.cpp $(ObjDir)/.dir $(BUILT_SOURCES) +$(ObjDir)/%.ll: %.cpp $(ObjDir)/.dir $(BUILT_SOURCES) $(LLVMGXX) $(Echo) "Compiling $*.cpp for $(BuildMode) build (bytecode)" $(BCCompile.CXX) $< -o $@ -S -emit-llvm $(call UPGRADE_MSG,$@) $(call UPGRADE_LL,$@) -$(ObjDir)/%.ll: %.cc $(ObjDir)/.dir $(BUILT_SOURCES) +$(ObjDir)/%.ll: %.cc $(ObjDir)/.dir $(BUILT_SOURCES) $(LLVMGXX) $(Echo) "Compiling $*.cc for $(BuildMode) build (bytecode)" $(BCCompile.CXX) $< -o $@ -S -emit-llvm $(call UPGRADE_MSG,$@) $(call UPGRADE_LL,$@) -$(ObjDir)/%.ll: %.c $(ObjDir)/.dir $(BUILT_SOURCES) +$(ObjDir)/%.ll: %.c $(ObjDir)/.dir $(BUILT_SOURCES) $(LLVMGCC) $(Echo) "Compiling $*.c for $(BuildMode) build (bytecode)" $(BCCompile.C) $< -o $@ -S -emit-llvm $(call UPGRADE_MSG,@) From rafael.espindola at gmail.com Sat Dec 30 18:28:15 2006 From: rafael.espindola at gmail.com (=?UTF-8?Q?Rafael_Esp=C3=ADndola?=) Date: Sat, 30 Dec 2006 22:28:15 -0200 Subject: [llvm-commits] [llvm-gcc] SETCC Removal Patch (Please Commit) In-Reply-To: <1167495533.25999.102.camel@bashful.x10sys.com> References: <1166854083.18862.18.camel@bashful.x10sys.com> <564d96fb0612300538s344135b7q995eb77a694e87c1@mail.gmail.com> <1167495533.25999.102.camel@bashful.x10sys.com> Message-ID: <564d96fb0612301628n5d0e8005sdbc742f3f1828237@mail.gmail.com> On 12/30/06, Reid Spencer wrote: > Rafael, > > Nothing was attached to your message. oops! Rafael -------------- next part -------------- A non-text attachment was scrubbed... Name: llvm.patch Type: text/x-patch Size: 13945 bytes Desc: not available Url : http://lists.cs.uiuc.edu/pipermail/llvm-commits/attachments/20061230/d7f54ecf/attachment.bin From nicholas at mxc.ca Sat Dec 30 21:44:23 2006 From: nicholas at mxc.ca (Nick Lewycky) Date: Sat, 30 Dec 2006 21:44:23 -0600 Subject: [llvm-commits] CVS: llvm/docs/Stacker.html Message-ID: <200612310344.kBV3iN11009781@zion.cs.uiuc.edu> Changes in directory llvm/docs: Stacker.html updated: 1.22 -> 1.23 --- Log message: Typo. --- Diffs of the changes: (+2 -2) Stacker.html | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) Index: llvm/docs/Stacker.html diff -u llvm/docs/Stacker.html:1.22 llvm/docs/Stacker.html:1.23 --- llvm/docs/Stacker.html:1.22 Tue Dec 19 13:47:54 2006 +++ llvm/docs/Stacker.html Sat Dec 30 21:44:08 2006 @@ -198,7 +198,7 @@
  • Create your blocks early. While writing your compiler, you will encounter several situations where you know apriori that you will need several blocks. For example, if-then-else, switch, while, and for - statements in C/C++ all need multiple blocks for expression in LVVM. + statements in C/C++ all need multiple blocks for expression in LLVM. The rule is, create them early.
  • Terminate your blocks early. This just reduces the chances that you forget to terminate your blocks which is required (go @@ -1405,7 +1405,7 @@ Reid Spencer
    LLVM Compiler Infrastructure
    - Last modified: $Date: 2006/12/19 19:47:54 $ + Last modified: $Date: 2006/12/31 03:44:08 $ From reid at x10sys.com Sat Dec 30 23:21:06 2006 From: reid at x10sys.com (Reid Spencer) Date: Sat, 30 Dec 2006 23:21:06 -0600 Subject: [llvm-commits] CVS: llvm/include/llvm/Type.h Message-ID: <200612310521.kBV5L6ia011246@zion.cs.uiuc.edu> Changes in directory llvm/include/llvm: Type.h updated: 1.96 -> 1.97 --- Log message: For PR950: http://llvm.org/PR950 : Make integer types signless: Rename [US]Byte->Int8, [U]Short->Int16, [U]Int->Int32, [U]Long->Int64 Remove methods pertaining to sign of integer types. --- Diffs of the changes: (+11 -42) Type.h | 53 +++++++++++------------------------------------------ 1 files changed, 11 insertions(+), 42 deletions(-) Index: llvm/include/llvm/Type.h diff -u llvm/include/llvm/Type.h:1.96 llvm/include/llvm/Type.h:1.97 --- llvm/include/llvm/Type.h:1.96 Sat Dec 16 23:15:12 2006 +++ llvm/include/llvm/Type.h Sat Dec 30 23:20:51 2006 @@ -72,12 +72,12 @@ enum TypeID { // PrimitiveTypes .. make sure LastPrimitiveTyID stays up to date VoidTyID = 0 , BoolTyID, // 0, 1: Basics... - UByteTyID , SByteTyID, // 2, 3: 8 bit types... - UShortTyID , ShortTyID, // 4, 5: 16 bit types... - UIntTyID , IntTyID, // 6, 7: 32 bit types... - ULongTyID , LongTyID, // 8, 9: 64 bit types... - FloatTyID , DoubleTyID, // 10,11: Floating point types... - LabelTyID , // 12 : Labels... + Int8TyID, // 2 : 8 bit type... + Int16TyID, // 3 : 16 bit type... + Int32TyID, // 4 : 32 bit type... + Int64TyID, // 5 : 64 bit type... + FloatTyID, DoubleTyID, // 6, 7: Floating point types... + LabelTyID, // 8 : Labels... // Derived types... see DerivedTypes.h file... // Make sure FirstDerivedTyID stays up to date!!! @@ -160,28 +160,9 @@ /// getDescription - Return the string representation of the type... const std::string &getDescription() const; - /// isSigned - Return whether an integral numeric type is signed. This is - /// true for SByteTy, ShortTy, IntTy, LongTy. Note that this is not true for - /// Float and Double. - /// - bool isSigned() const { - return ID == SByteTyID || ID == ShortTyID || - ID == IntTyID || ID == LongTyID; - } - - /// isUnsigned - Return whether a numeric type is unsigned. This is not quite - /// the complement of isSigned... nonnumeric types return false as they do - /// with isSigned. This returns true for UByteTy, UShortTy, UIntTy, and - /// ULongTy - /// - bool isUnsigned() const { - return ID == UByteTyID || ID == UShortTyID || - ID == UIntTyID || ID == ULongTyID; - } - /// isInteger - Equivalent to isSigned() || isUnsigned() /// - bool isInteger() const { return ID >= UByteTyID && ID <= LongTyID; } + bool isInteger() const { return ID >= Int8TyID && ID <= Int64TyID; } /// isIntegral - Returns true if this is an integral type, which is either /// BoolTy or one of the Integer types. @@ -246,14 +227,6 @@ unsigned getPrimitiveSize() const; unsigned getPrimitiveSizeInBits() const; - /// getUnsignedVersion - If this is an integer type, return the unsigned - /// variant of this type. For example int -> uint. - const Type *getUnsignedVersion() const; - - /// getSignedVersion - If this is an integer type, return the signed variant - /// of this type. For example uint -> int. - const Type *getSignedVersion() const; - /// getIntegralTypeMask - Return a bitmask with ones set for all of the bits /// that can be set by an unsigned version of this type. This is 0xFF for /// sbyte/ubyte, 0xFFFF for shorts, etc. @@ -275,10 +248,8 @@ /// will be promoted to if passed through a variable argument /// function. const Type *getVAArgsPromotedType() const { - if (ID == BoolTyID || ID == UByteTyID || ID == UShortTyID) - return Type::UIntTy; - else if (ID == SByteTyID || ID == ShortTyID) - return Type::IntTy; + if (ID == BoolTyID || ID == Int8TyID || ID == Int16TyID) + return Type::Int32Ty; else if (ID == FloatTyID) return Type::DoubleTy; else @@ -318,10 +289,8 @@ // These are the builtin types that are always available... // static Type *VoidTy , *BoolTy; - static Type *SByteTy, *UByteTy, - *ShortTy, *UShortTy, - *IntTy , *UIntTy, - *LongTy , *ULongTy; + static Type *Int8Ty , *Int16Ty, + *Int32Ty, *Int64Ty; static Type *FloatTy, *DoubleTy; static Type* LabelTy; From reid at x10sys.com Sat Dec 30 23:22:27 2006 From: reid at x10sys.com (Reid Spencer) Date: Sat, 30 Dec 2006 23:22:27 -0600 Subject: [llvm-commits] CVS: llvm/include/llvm/DerivedTypes.h Message-ID: <200612310522.kBV5MRdX011284@zion.cs.uiuc.edu> Changes in directory llvm/include/llvm: DerivedTypes.h updated: 1.74 -> 1.75 --- Log message: For PR950: http://llvm.org/PR950 : Add a new feature to FunctionType, Parameter Attributes. This allows tags such as "sext" and "zext" to be associated with a faunction's arguments or return type. This allows signedness information to be carried forward from the frontend to the backend for arguments and result types. --- Diffs of the changes: (+43 -5) DerivedTypes.h | 48 +++++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 43 insertions(+), 5 deletions(-) Index: llvm/include/llvm/DerivedTypes.h diff -u llvm/include/llvm/DerivedTypes.h:1.74 llvm/include/llvm/DerivedTypes.h:1.75 --- llvm/include/llvm/DerivedTypes.h:1.74 Thu Dec 28 22:12:03 2006 +++ llvm/include/llvm/DerivedTypes.h Sat Dec 30 23:22:12 2006 @@ -75,21 +75,40 @@ /// FunctionType - Class to represent function types /// class FunctionType : public DerivedType { +public: + /// Function parameters can have attributes to indicate how they should be + /// treated by optimizations and code generation. This enumeration lists the + /// set of possible attributes. + /// @brief Function parameter attributes enumeration. + enum ParameterAttributes { + NoAttributeSet = 0, ///< No attribute value has been set on the parameter + ZExtAttribute = 1, ///< The parameter should be zero extended before call + SExtAttribute = 2 ///< The parameter should be sign extended before call + }; + typedef std::vector ParamAttrsList; +private: friend class TypeMap; bool isVarArgs; + ParamAttrsList *ParamAttrs; FunctionType(const FunctionType &); // Do not implement const FunctionType &operator=(const FunctionType &); // Do not implement FunctionType(const Type *Result, const std::vector &Params, - bool IsVarArgs); + bool IsVarArgs, const ParamAttrsList &Attrs); public: /// FunctionType::get - This static method is the primary way of constructing - /// a FunctionType + /// a FunctionType. /// - static FunctionType *get(const Type *Result, - const std::vector &Params, - bool isVarArg); + static FunctionType *get( + const Type *Result, ///< The result type + const std::vector &Params, ///< The types of the parameters + bool isVarArg, ///< Whether this is a variable argument length function + const ParamAttrsList & Attrs = ParamAttrsList() + ///< Indicates the parameter attributes to use, if any. The 0th entry + ///< in the list refers to the return type. Parameters are numbered + ///< starting at 1. + ); inline bool isVarArg() const { return isVarArgs; } inline const Type *getReturnType() const { return ContainedTys[0]; } @@ -106,6 +125,25 @@ /// unsigned getNumParams() const { return unsigned(ContainedTys.size()-1); } + /// The parameter attributes for the \p ith parameter are returned. The 0th + /// parameter refers to the return type of the function. + /// @returns The ParameterAttributes for the \p ith parameter. + /// @brief Get the attributes for a parameter + ParameterAttributes getParamAttrs(unsigned i) const; + + /// @brief Determine if a parameter attribute is set + bool paramHasAttr(unsigned i, ParameterAttributes attr) const { + return getParamAttrs(i) & attr; + } + + /// @brief Return the number of parameter attributes this type has. + unsigned getNumAttrs() const { + return (ParamAttrs ? unsigned(ParamAttrs->size()) : 0); + } + + /// @brief Convert a ParameterAttribute into its assembly text + static const char * getParamAttrsText(ParameterAttributes Attr); + // Implement the AbstractTypeUser interface. virtual void refineAbstractType(const DerivedType *OldTy, const Type *NewTy); virtual void typeBecameConcrete(const DerivedType *AbsTy); From reid at x10sys.com Sat Dec 30 23:23:36 2006 From: reid at x10sys.com (Reid Spencer) Date: Sat, 30 Dec 2006 23:23:36 -0600 Subject: [llvm-commits] CVS: llvm/include/llvm/Target/TargetLowering.h Message-ID: <200612310523.kBV5Namm011321@zion.cs.uiuc.edu> Changes in directory llvm/include/llvm/Target: TargetLowering.h updated: 1.94 -> 1.95 --- Log message: For PR950: http://llvm.org/PR950 : Change integer type names for signless integer types --- Diffs of the changes: (+13 -12) TargetLowering.h | 25 +++++++++++++------------ 1 files changed, 13 insertions(+), 12 deletions(-) Index: llvm/include/llvm/Target/TargetLowering.h diff -u llvm/include/llvm/Target/TargetLowering.h:1.94 llvm/include/llvm/Target/TargetLowering.h:1.95 --- llvm/include/llvm/Target/TargetLowering.h:1.94 Wed Dec 13 14:52:00 2006 +++ llvm/include/llvm/Target/TargetLowering.h Sat Dec 30 23:23:18 2006 @@ -343,14 +343,10 @@ default: assert(0 && "Unknown type!"); case Type::VoidTyID: return MVT::isVoid; case Type::BoolTyID: return MVT::i1; - case Type::UByteTyID: - case Type::SByteTyID: return MVT::i8; - case Type::ShortTyID: - case Type::UShortTyID: return MVT::i16; - case Type::IntTyID: - case Type::UIntTyID: return MVT::i32; - case Type::LongTyID: - case Type::ULongTyID: return MVT::i64; + case Type::Int8TyID: return MVT::i8; + case Type::Int16TyID: return MVT::i16; + case Type::Int32TyID: return MVT::i32; + case Type::Int64TyID: return MVT::i64; case Type::FloatTyID: return MVT::f32; case Type::DoubleTyID: return MVT::f64; case Type::PointerTyID: return PointerTy; @@ -743,11 +739,16 @@ /// actual call. This returns a pair of operands. The first element is the /// return value for the function (if RetTy is not VoidTy). The second /// element is the outgoing token chain. - typedef std::vector > ArgListTy; + struct ArgListEntry { + SDOperand Node; + const Type* Ty; + bool isSigned; + }; + typedef std::vector ArgListTy; virtual std::pair - LowerCallTo(SDOperand Chain, const Type *RetTy, bool isVarArg, - unsigned CallingConv, bool isTailCall, SDOperand Callee, - ArgListTy &Args, SelectionDAG &DAG); + LowerCallTo(SDOperand Chain, const Type *RetTy, bool RetTyIsSigned, + bool isVarArg, unsigned CallingConv, bool isTailCall, + SDOperand Callee, ArgListTy &Args, SelectionDAG &DAG); /// LowerFrameReturnAddress - This hook lowers a call to llvm.returnaddress or /// llvm.frameaddress (depending on the value of the first argument). The From reid at x10sys.com Sat Dec 30 23:23:37 2006 From: reid at x10sys.com (Reid Spencer) Date: Sat, 30 Dec 2006 23:23:37 -0600 Subject: [llvm-commits] CVS: llvm/include/llvm/InstrTypes.h Intrinsics.td Message-ID: <200612310523.kBV5Nb1C011331@zion.cs.uiuc.edu> Changes in directory llvm/include/llvm: InstrTypes.h updated: 1.57 -> 1.58 Intrinsics.td updated: 1.35 -> 1.36 --- Log message: For PR950: http://llvm.org/PR950 : Change integer type names for signless integer types --- Diffs of the changes: (+9 -9) InstrTypes.h | 2 +- Intrinsics.td | 16 ++++++++-------- 2 files changed, 9 insertions(+), 9 deletions(-) Index: llvm/include/llvm/InstrTypes.h diff -u llvm/include/llvm/InstrTypes.h:1.57 llvm/include/llvm/InstrTypes.h:1.58 --- llvm/include/llvm/InstrTypes.h:1.57 Sat Dec 23 13:06:54 2006 +++ llvm/include/llvm/InstrTypes.h Sat Dec 30 23:23:18 2006 @@ -427,7 +427,7 @@ /// involving Integer and Pointer types. They are no-op casts if the integer /// is the same size as the pointer. However, pointer size varies with /// platform. Generally, the result of TargetData::getIntPtrType() should be - /// passed in. If that's not available, use Type::ULongTy, which will make + /// passed in. If that's not available, use Type::Int64Ty, which will make /// the isNoopCast call conservative. /// @brief Determine if this cast is a no-op cast. bool isNoopCast( Index: llvm/include/llvm/Intrinsics.td diff -u llvm/include/llvm/Intrinsics.td:1.35 llvm/include/llvm/Intrinsics.td:1.36 --- llvm/include/llvm/Intrinsics.td:1.35 Fri Sep 8 01:43:00 2006 +++ llvm/include/llvm/Intrinsics.td Sat Dec 30 23:23:18 2006 @@ -65,14 +65,14 @@ def llvm_void_ty : LLVMType; def llvm_bool_ty : LLVMType; -def llvm_sbyte_ty : LLVMType; -def llvm_short_ty : LLVMType; -def llvm_int_ty : LLVMType; -def llvm_long_ty : LLVMType; -def llvm_ubyte_ty : LLVMType; -def llvm_ushort_ty : LLVMType; -def llvm_uint_ty : LLVMType; -def llvm_ulong_ty : LLVMType; +def llvm_sbyte_ty : LLVMType; +def llvm_short_ty : LLVMType; +def llvm_int_ty : LLVMType; +def llvm_long_ty : LLVMType; +def llvm_ubyte_ty : LLVMType; +def llvm_ushort_ty : LLVMType; +def llvm_uint_ty : LLVMType; +def llvm_ulong_ty : LLVMType; def llvm_float_ty : LLVMType; def llvm_double_ty : LLVMType; def llvm_ptr_ty : LLVMType; // sbyte* From reid at x10sys.com Sat Dec 30 23:23:37 2006 From: reid at x10sys.com (Reid Spencer) Date: Sat, 30 Dec 2006 23:23:37 -0600 Subject: [llvm-commits] CVS: llvm/include/llvm/ExecutionEngine/GenericValue.h Message-ID: <200612310523.kBV5Nbak011326@zion.cs.uiuc.edu> Changes in directory llvm/include/llvm/ExecutionEngine: GenericValue.h updated: 1.7 -> 1.8 --- Log message: For PR950: http://llvm.org/PR950 : Change integer type names for signless integer types --- Diffs of the changes: (+4 -8) GenericValue.h | 12 ++++-------- 1 files changed, 4 insertions(+), 8 deletions(-) Index: llvm/include/llvm/ExecutionEngine/GenericValue.h diff -u llvm/include/llvm/ExecutionEngine/GenericValue.h:1.7 llvm/include/llvm/ExecutionEngine/GenericValue.h:1.8 --- llvm/include/llvm/ExecutionEngine/GenericValue.h:1.7 Thu Apr 21 15:39:54 2005 +++ llvm/include/llvm/ExecutionEngine/GenericValue.h Sat Dec 30 23:23:18 2006 @@ -23,14 +23,10 @@ union GenericValue { bool BoolVal; - unsigned char UByteVal; - signed char SByteVal; - unsigned short UShortVal; - signed short ShortVal; - unsigned int UIntVal; - signed int IntVal; - uint64_t ULongVal; - int64_t LongVal; + unsigned char Int8Val; + unsigned short Int16Val; + unsigned int Int32Val; + uint64_t Int64Val; double DoubleVal; float FloatVal; struct { unsigned int first; unsigned int second; } UIntPairVal; From reid at x10sys.com Sat Dec 30 23:25:05 2006 From: reid at x10sys.com (Reid Spencer) Date: Sat, 30 Dec 2006 23:25:05 -0600 Subject: [llvm-commits] CVS: llvm/lib/VMCore/AsmWriter.cpp Message-ID: <200612310525.kBV5P5jk011363@zion.cs.uiuc.edu> Changes in directory llvm/lib/VMCore: AsmWriter.cpp updated: 1.231 -> 1.232 --- Log message: For PR950: http://llvm.org/PR950 : * Change integer type name from signed to signless * Implement printing of FunctionType parameter attributes. --- Diffs of the changes: (+49 -16) AsmWriter.cpp | 65 +++++++++++++++++++++++++++++++++++++++++++--------------- 1 files changed, 49 insertions(+), 16 deletions(-) Index: llvm/lib/VMCore/AsmWriter.cpp diff -u llvm/lib/VMCore/AsmWriter.cpp:1.231 llvm/lib/VMCore/AsmWriter.cpp:1.232 --- llvm/lib/VMCore/AsmWriter.cpp:1.231 Fri Dec 29 14:29:48 2006 +++ llvm/lib/VMCore/AsmWriter.cpp Sat Dec 30 23:24:50 2006 @@ -271,12 +271,22 @@ case Type::FunctionTyID: { const FunctionType *FTy = cast(Ty); calcTypeName(FTy->getReturnType(), TypeStack, TypeNames, Result); + if (FTy->getParamAttrs(0)) { + Result += " "; + Result += FunctionType::getParamAttrsText(FTy->getParamAttrs(0)); + } Result += " ("; + unsigned Idx = 1; for (FunctionType::param_iterator I = FTy->param_begin(), E = FTy->param_end(); I != E; ++I) { if (I != FTy->param_begin()) Result += ", "; calcTypeName(*I, TypeStack, TypeNames, Result); + if (FTy->getParamAttrs(Idx)) { + Result += + " "; + Result += FunctionType::getParamAttrsText(FTy->getParamAttrs(Idx)); + } + Idx++; } if (FTy->isVarArg()) { if (FTy->getNumParams()) Result += ", "; @@ -660,7 +670,7 @@ void printConstant(const Constant *CPV); void printGlobal(const GlobalVariable *GV); void printFunction(const Function *F); - void printArgument(const Argument *FA); + void printArgument(const Argument *FA, FunctionType::ParameterAttributes A); void printBasicBlock(const BasicBlock *BB); void printInstruction(const Instruction &I); @@ -687,12 +697,20 @@ /// std::ostream &AssemblyWriter::printTypeAtLeastOneLevel(const Type *Ty) { if (const FunctionType *FTy = dyn_cast(Ty)) { - printType(FTy->getReturnType()) << " ("; + printType(FTy->getReturnType()); + if (FTy->getParamAttrs(0)) + Out << ' ' << FunctionType::getParamAttrsText(FTy->getParamAttrs(0)); + Out << " ("; + unsigned Idx = 1; for (FunctionType::param_iterator I = FTy->param_begin(), E = FTy->param_end(); I != E; ++I) { if (I != FTy->param_begin()) Out << ", "; printType(*I); + if (FTy->getParamAttrs(Idx)) { + Out << " " << FunctionType::getParamAttrsText(FTy->getParamAttrs(Idx)); + } + Idx++; } if (FTy->isVarArg()) { if (FTy->getNumParams()) Out << ", "; @@ -949,7 +967,10 @@ default: Out << "cc" << F->getCallingConv() << " "; break; } + const FunctionType *FT = F->getFunctionType(); printType(F->getReturnType()) << ' '; + if (FT->getParamAttrs(0)) + Out << FunctionType::getParamAttrsText(FT->getParamAttrs(0)) << ' '; if (!F->getName().empty()) Out << getLLVMName(F->getName()); else @@ -958,11 +979,15 @@ Machine.incorporateFunction(F); // Loop over the arguments, printing them... - const FunctionType *FT = F->getFunctionType(); + unsigned Idx = 1; for (Function::const_arg_iterator I = F->arg_begin(), E = F->arg_end(); - I != E; ++I) - printArgument(I); + I != E; ++I) { + // Insert commas as we go... the first arg doesn't get a comma + if (I != F->arg_begin()) Out << ", "; + printArgument(I, FT->getParamAttrs(Idx)); + Idx++; + } // Finish printing arguments... if (FT->isVarArg()) { @@ -994,13 +1019,14 @@ /// printArgument - This member is called for every argument that is passed into /// the function. Simply print it out /// -void AssemblyWriter::printArgument(const Argument *Arg) { - // Insert commas as we go... the first arg doesn't get a comma - if (Arg != Arg->getParent()->arg_begin()) Out << ", "; - +void AssemblyWriter::printArgument(const Argument *Arg, + FunctionType::ParameterAttributes attrs) { // Output type... printType(Arg->getType()); + if (attrs != FunctionType::NoAttributeSet) + Out << ' ' << FunctionType::getParamAttrsText(attrs); + // Output name, if available... if (Arg->hasName()) Out << ' ' << getLLVMName(Arg->getName()); @@ -1160,17 +1186,20 @@ (!isa(RetTy) || !isa(cast(RetTy)->getElementType()))) { Out << ' '; printType(RetTy); + if (FTy->getParamAttrs(0) != FunctionType::NoAttributeSet) + Out << " " << FTy->getParamAttrsText(FTy->getParamAttrs(0)); writeOperand(Operand, false); } else { writeOperand(Operand, true); } Out << '('; - if (CI->getNumOperands() > 1) writeOperand(CI->getOperand(1), true); - for (unsigned op = 2, Eop = I.getNumOperands(); op < Eop; ++op) { - Out << ','; + for (unsigned op = 1, Eop = I.getNumOperands(); op < Eop; ++op) { + if (op > 1) + Out << ','; writeOperand(I.getOperand(op), true); + if (FTy->getParamAttrs(op) != FunctionType::NoAttributeSet) + Out << " " << FTy->getParamAttrsText(FTy->getParamAttrs(op)); } - Out << " )"; } else if (const InvokeInst *II = dyn_cast(&I)) { const PointerType *PTy = cast(Operand->getType()); @@ -1196,16 +1225,20 @@ (!isa(RetTy) || !isa(cast(RetTy)->getElementType()))) { Out << ' '; printType(RetTy); + if (FTy->getParamAttrs(0) != FunctionType::NoAttributeSet) + Out << " " << FTy->getParamAttrsText(FTy->getParamAttrs(0)); writeOperand(Operand, false); } else { writeOperand(Operand, true); } Out << '('; - if (I.getNumOperands() > 3) writeOperand(I.getOperand(3), true); - for (unsigned op = 4, Eop = I.getNumOperands(); op < Eop; ++op) { - Out << ','; + for (unsigned op = 3, Eop = I.getNumOperands(); op < Eop; ++op) { + if (op > 3) + Out << ','; writeOperand(I.getOperand(op), true); + if (FTy->getParamAttrs(op) != FunctionType::NoAttributeSet) + Out << " " << FTy->getParamAttrsText(FTy->getParamAttrs(op)); } Out << " )\n\t\t\tto"; From reid at x10sys.com Sat Dec 30 23:25:49 2006 From: reid at x10sys.com (Reid Spencer) Date: Sat, 30 Dec 2006 23:25:49 -0600 Subject: [llvm-commits] CVS: llvm/lib/VMCore/Type.cpp Message-ID: <200612310525.kBV5Pn6v011385@zion.cs.uiuc.edu> Changes in directory llvm/lib/VMCore: Type.cpp updated: 1.152 -> 1.153 --- Log message: For PR950: http://llvm.org/PR950 : Implement signless integer types and FunctionType parameter attributes. --- Diffs of the changes: (+90 -98) Type.cpp | 188 ++++++++++++++++++++++++++++++--------------------------------- 1 files changed, 90 insertions(+), 98 deletions(-) Index: llvm/lib/VMCore/Type.cpp diff -u llvm/lib/VMCore/Type.cpp:1.152 llvm/lib/VMCore/Type.cpp:1.153 --- llvm/lib/VMCore/Type.cpp:1.152 Fri Dec 8 12:06:16 2006 +++ llvm/lib/VMCore/Type.cpp Sat Dec 30 23:25:34 2006 @@ -74,14 +74,10 @@ switch (IDNumber) { case VoidTyID : return VoidTy; case BoolTyID : return BoolTy; - case UByteTyID : return UByteTy; - case SByteTyID : return SByteTy; - case UShortTyID: return UShortTy; - case ShortTyID : return ShortTy; - case UIntTyID : return UIntTy; - case IntTyID : return IntTy; - case ULongTyID : return ULongTy; - case LongTyID : return LongTy; + case Int8TyID : return Int8Ty; + case Int16TyID : return Int16Ty; + case Int32TyID : return Int32Ty; + case Int64TyID : return Int64Ty; case FloatTyID : return FloatTy; case DoubleTyID: return DoubleTy; case LabelTyID : return LabelTy; @@ -120,57 +116,11 @@ // At this point we have only various mismatches of the first class types // remaining and ptr->ptr. Just select the lossless conversions. Everything // else is not lossless. - switch (getTypeID()) { - case Type::UByteTyID: return Ty == Type::SByteTy; - case Type::SByteTyID: return Ty == Type::UByteTy; - case Type::UShortTyID: return Ty == Type::ShortTy; - case Type::ShortTyID: return Ty == Type::UShortTy; - case Type::UIntTyID: return Ty == Type::IntTy; - case Type::IntTyID: return Ty == Type::UIntTy; - case Type::ULongTyID: return Ty == Type::LongTy; - case Type::LongTyID: return Ty == Type::ULongTy; - case Type::PointerTyID: return isa(Ty); - default: - break; - } + if (getTypeID() == Type::PointerTyID) + return isa(Ty); return false; // Other types have no identity values } -/// getUnsignedVersion - If this is an integer type, return the unsigned -/// variant of this type. For example int -> uint. -const Type *Type::getUnsignedVersion() const { - switch (getTypeID()) { - default: - assert(isInteger()&&"Type::getUnsignedVersion is only valid for integers!"); - case Type::UByteTyID: - case Type::SByteTyID: return Type::UByteTy; - case Type::UShortTyID: - case Type::ShortTyID: return Type::UShortTy; - case Type::UIntTyID: - case Type::IntTyID: return Type::UIntTy; - case Type::ULongTyID: - case Type::LongTyID: return Type::ULongTy; - } -} - -/// getSignedVersion - If this is an integer type, return the signed variant -/// of this type. For example uint -> int. -const Type *Type::getSignedVersion() const { - switch (getTypeID()) { - default: - assert(isInteger() && "Type::getSignedVersion is only valid for integers!"); - case Type::UByteTyID: - case Type::SByteTyID: return Type::SByteTy; - case Type::UShortTyID: - case Type::ShortTyID: return Type::ShortTy; - case Type::UIntTyID: - case Type::IntTyID: return Type::IntTy; - case Type::ULongTyID: - case Type::LongTyID: return Type::LongTy; - } -} - - // getPrimitiveSize - Return the basic size of this type if it is a primitive // type. These are fixed by LLVM and are not target dependent. This will // return zero if the type does not have a size or is not a primitive type. @@ -178,15 +128,11 @@ unsigned Type::getPrimitiveSize() const { switch (getTypeID()) { case Type::BoolTyID: - case Type::SByteTyID: - case Type::UByteTyID: return 1; - case Type::UShortTyID: - case Type::ShortTyID: return 2; + case Type::Int8TyID: return 1; + case Type::Int16TyID: return 2; case Type::FloatTyID: - case Type::IntTyID: - case Type::UIntTyID: return 4; - case Type::LongTyID: - case Type::ULongTyID: + case Type::Int32TyID: return 4; + case Type::Int64TyID: case Type::DoubleTyID: return 8; default: return 0; } @@ -195,15 +141,11 @@ unsigned Type::getPrimitiveSizeInBits() const { switch (getTypeID()) { case Type::BoolTyID: return 1; - case Type::SByteTyID: - case Type::UByteTyID: return 8; - case Type::UShortTyID: - case Type::ShortTyID: return 16; + case Type::Int8TyID: return 8; + case Type::Int16TyID: return 16; case Type::FloatTyID: - case Type::IntTyID: - case Type::UIntTyID: return 32; - case Type::LongTyID: - case Type::ULongTyID: + case Type::Int32TyID:return 32; + case Type::Int64TyID: case Type::DoubleTyID: return 64; case Type::PackedTyID: { const PackedType *PTy = cast(this); @@ -303,11 +245,21 @@ switch (Ty->getTypeID()) { case Type::FunctionTyID: { const FunctionType *FTy = cast(Ty); - Result = getTypeDescription(FTy->getReturnType(), TypeStack) + " ("; + Result = FunctionType::getParamAttrsText(FTy->getParamAttrs(0)); + if (!Result.empty()) + Result += " "; + Result += getTypeDescription(FTy->getReturnType(), TypeStack) + " ("; + unsigned Idx = 1; for (FunctionType::param_iterator I = FTy->param_begin(), E = FTy->param_end(); I != E; ++I) { if (I != FTy->param_begin()) Result += ", "; + const char *PA = FunctionType::getParamAttrsText(FTy->getParamAttrs(Idx)); + if (PA[0] != 0) { + Result += PA; + Result += " "; + } + Idx++; Result += getTypeDescription(*I, TypeStack); } if (FTy->isVarArg()) { @@ -387,8 +339,8 @@ bool StructType::indexValid(const Value *V) const { - // Structure indexes require unsigned integer constants. - if (V->getType() == Type::UIntTy) + // Structure indexes require 32-bit integer constants. + if (V->getType() == Type::Int32Ty) if (const ConstantInt *CU = dyn_cast(V)) return CU->getZExtValue() < ContainedTys.size(); return false; @@ -419,14 +371,10 @@ DeclarePrimType(Void, "void"); DeclarePrimType(Bool, "bool"); -DeclarePrimType(SByte, "sbyte"); -DeclarePrimType(UByte, "ubyte"); -DeclarePrimType(Short, "short"); -DeclarePrimType(UShort, "ushort"); -DeclarePrimType(Int, "int"); -DeclarePrimType(UInt, "uint"); -DeclarePrimType(Long, "long"); -DeclarePrimType(ULong, "ulong"); +DeclarePrimType(Int8, "i8"); +DeclarePrimType(Int16, "i16"); +DeclarePrimType(Int32, "i32"); +DeclarePrimType(Int64, "i64"); DeclarePrimType(Float, "float"); DeclarePrimType(Double, "double"); DeclarePrimType(Label, "label"); @@ -439,8 +387,8 @@ FunctionType::FunctionType(const Type *Result, const std::vector &Params, - bool IsVarArgs) : DerivedType(FunctionTyID), - isVarArgs(IsVarArgs) { + bool IsVarArgs, const ParamAttrsList &Attrs) + : DerivedType(FunctionTyID), isVarArgs(IsVarArgs) { assert((Result->isFirstClassType() || Result == Type::VoidTy || isa(Result)) && "LLVM functions cannot return aggregates"); @@ -456,8 +404,15 @@ isAbstract |= Params[i]->isAbstract(); } + // Set the ParameterAttributes + if (!Attrs.empty()) + ParamAttrs = new ParamAttrsList(Attrs); + else + ParamAttrs = 0; + // Calculate whether or not this type is abstract setAbstract(isAbstract); + } StructType::StructType(const std::vector &Types, bool isPacked) @@ -520,7 +475,7 @@ // pick so long as it doesn't point back to this type. We choose something // concrete to avoid overhead for adding to AbstracTypeUser lists and stuff. for (unsigned i = 1, e = ContainedTys.size(); i != e; ++i) - ContainedTys[i] = Type::IntTy; + ContainedTys[i] = Type::Int32Ty; } } @@ -976,18 +931,22 @@ class FunctionValType { const Type *RetTy; std::vector ArgTypes; + std::vector ParamAttrs; bool isVarArg; public: FunctionValType(const Type *ret, const std::vector &args, - bool IVA) : RetTy(ret), isVarArg(IVA) { + bool IVA, const FunctionType::ParamAttrsList &attrs) + : RetTy(ret), isVarArg(IVA) { for (unsigned i = 0; i < args.size(); ++i) ArgTypes.push_back(args[i]); + for (unsigned i = 0; i < attrs.size(); ++i) + ParamAttrs.push_back(attrs[i]); } static FunctionValType get(const FunctionType *FT); static unsigned hashTypeStructure(const FunctionType *FT) { - return FT->getNumParams()*2+FT->isVarArg(); + return FT->getNumParams()*64+FT->getNumAttrs()*2+FT->isVarArg(); } // Subclass should override this... to update self as usual @@ -1000,9 +959,10 @@ inline bool operator<(const FunctionValType &MTV) const { if (RetTy < MTV.RetTy) return true; if (RetTy > MTV.RetTy) return false; - + if (isVarArg < MTV.isVarArg) return true; + if (isVarArg > MTV.isVarArg) return false; if (ArgTypes < MTV.ArgTypes) return true; - return ArgTypes == MTV.ArgTypes && isVarArg < MTV.isVarArg; + return ArgTypes == MTV.ArgTypes && ParamAttrs < MTV.ParamAttrs; } }; } @@ -1013,22 +973,38 @@ FunctionValType FunctionValType::get(const FunctionType *FT) { // Build up a FunctionValType std::vector ParamTypes; + std::vector ParamAttrs; ParamTypes.reserve(FT->getNumParams()); for (unsigned i = 0, e = FT->getNumParams(); i != e; ++i) ParamTypes.push_back(FT->getParamType(i)); - return FunctionValType(FT->getReturnType(), ParamTypes, FT->isVarArg()); + for (unsigned i = 0, e = FT->getNumAttrs(); i != e; ++i) + ParamAttrs.push_back(FT->getParamAttrs(i)); + return FunctionValType(FT->getReturnType(), ParamTypes, FT->isVarArg(), + ParamAttrs); } // FunctionType::get - The factory function for the FunctionType class... FunctionType *FunctionType::get(const Type *ReturnType, const std::vector &Params, - bool isVarArg) { - FunctionValType VT(ReturnType, Params, isVarArg); + bool isVarArg, + const std::vector &Attrs) { + bool noAttrs = true; + for (unsigned i = 0, e = Attrs.size(); i < e; ++i) + if (Attrs[i] != FunctionType::NoAttributeSet) { + noAttrs = false; + break; + } + const std::vector NullAttrs; + const std::vector *TheAttrs = &Attrs; + if (noAttrs) + TheAttrs = &NullAttrs; + FunctionValType VT(ReturnType, Params, isVarArg, *TheAttrs); FunctionType *MT = FunctionTypes->get(VT); if (MT) return MT; - FunctionTypes->add(VT, MT = new FunctionType(ReturnType, Params, isVarArg)); + MT = new FunctionType(ReturnType, Params, isVarArg, *TheAttrs); + FunctionTypes->add(VT, MT); #ifdef DEBUG_MERGE_TYPES DOUT << "Derived new type: " << MT << "\n"; @@ -1036,6 +1012,24 @@ return MT; } +FunctionType::ParameterAttributes +FunctionType::getParamAttrs(unsigned Idx) const { + if (!ParamAttrs) + return ParameterAttributes(0); + if (Idx > ParamAttrs->size()) + return ParameterAttributes(0); + return (*ParamAttrs)[Idx]; +} + +const char *FunctionType::getParamAttrsText(ParameterAttributes Attr) { + switch (Attr) { + default: assert(0 && "Invalid ParameterAttribute value"); + case 0: return ""; + case ZExtAttribute: return "@zext"; + case SExtAttribute: return "@sext"; + } +} + //===----------------------------------------------------------------------===// // Array Type Factory... // @@ -1443,10 +1437,8 @@ bool SequentialType::indexValid(const Value *V) const { const Type *Ty = V->getType(); switch (Ty->getTypeID()) { - case Type::IntTyID: - case Type::UIntTyID: - case Type::LongTyID: - case Type::ULongTyID: + case Type::Int32TyID: + case Type::Int64TyID: return true; default: return false; From reid at x10sys.com Sat Dec 30 23:27:00 2006 From: reid at x10sys.com (Reid Spencer) Date: Sat, 30 Dec 2006 23:27:00 -0600 Subject: [llvm-commits] CVS: llvm/lib/VMCore/ConstantFolding.cpp Constants.cpp Function.cpp Instructions.cpp Module.cpp ValueTypes.cpp Verifier.cpp Message-ID: <200612310527.kBV5R03V011424@zion.cs.uiuc.edu> Changes in directory llvm/lib/VMCore: ConstantFolding.cpp updated: 1.121 -> 1.122 Constants.cpp updated: 1.192 -> 1.193 Function.cpp updated: 1.107 -> 1.108 Instructions.cpp updated: 1.57 -> 1.58 Module.cpp updated: 1.69 -> 1.70 ValueTypes.cpp updated: 1.8 -> 1.9 Verifier.cpp updated: 1.179 -> 1.180 --- Log message: For PR950: http://llvm.org/PR950 : Change signed integer type names to unsigned equivalents. --- Diffs of the changes: (+82 -137) ConstantFolding.cpp | 37 +++++++--------- Constants.cpp | 117 +++++++++++++++++----------------------------------- Function.cpp | 2 Instructions.cpp | 38 +++++----------- Module.cpp | 15 +++--- ValueTypes.cpp | 8 +-- Verifier.cpp | 2 7 files changed, 82 insertions(+), 137 deletions(-) Index: llvm/lib/VMCore/ConstantFolding.cpp diff -u llvm/lib/VMCore/ConstantFolding.cpp:1.121 llvm/lib/VMCore/ConstantFolding.cpp:1.122 --- llvm/lib/VMCore/ConstantFolding.cpp:1.121 Sun Dec 24 12:52:08 2006 +++ llvm/lib/VMCore/ConstantFolding.cpp Sat Dec 30 23:26:44 2006 @@ -87,7 +87,7 @@ for (unsigned i = 0; i != SrcNumElts; ++i) { uint64_t V = DoubleToBits(cast(CP->getOperand(i))->getValue()); - Constant *C = ConstantInt::get(Type::ULongTy, V); + Constant *C = ConstantInt::get(Type::Int64Ty, V); Result.push_back(ConstantExpr::getBitCast(C, DstEltTy )); } return ConstantPacked::get(Result); @@ -96,7 +96,7 @@ assert(SrcEltTy->getTypeID() == Type::FloatTyID); for (unsigned i = 0; i != SrcNumElts; ++i) { uint32_t V = FloatToBits(cast(CP->getOperand(i))->getValue()); - Constant *C = ConstantInt::get(Type::UIntTy, V); + Constant *C = ConstantInt::get(Type::Int32Ty, V); Result.push_back(ConstantExpr::getBitCast(C, DstEltTy)); } return ConstantPacked::get(Result); @@ -132,7 +132,7 @@ // Let CastInst::isEliminableCastPair do the heavy lifting. return CastInst::isEliminableCastPair(firstOp, secondOp, SrcTy, MidTy, DstTy, - Type::ULongTy); + Type::Int64Ty); } Constant *llvm::ConstantFoldCastInstruction(unsigned opc, const Constant *V, @@ -217,13 +217,13 @@ if (const PointerType *PTy = dyn_cast(V->getType())) if (const PointerType *DPTy = dyn_cast(DestTy)) { std::vector IdxList; - IdxList.push_back(Constant::getNullValue(Type::IntTy)); + IdxList.push_back(Constant::getNullValue(Type::Int32Ty)); const Type *ElTy = PTy->getElementType(); while (ElTy != DPTy->getElementType()) { if (const StructType *STy = dyn_cast(ElTy)) { if (STy->getNumElements() == 0) break; ElTy = STy->getElementType(0); - IdxList.push_back(Constant::getNullValue(Type::UIntTy)); + IdxList.push_back(Constant::getNullValue(Type::Int32Ty)); } else if (const SequentialType *STy = dyn_cast(ElTy)) { if (isa(ElTy)) break; // Can't index into pointers! @@ -296,10 +296,10 @@ if (const ConstantFP *FP = dyn_cast(V)) { // FP -> Integral. if (DestTy->isIntegral()) { - if (DestTy == Type::IntTy || DestTy == Type::UIntTy) + if (DestTy == Type::Int32Ty) return ConstantInt::get(DestTy, FloatToBits(FP->getValue())); - assert((DestTy == Type::LongTy || DestTy == Type::ULongTy) - && "Incorrect integer type for bitcast!"); + assert(DestTy == Type::Int64Ty && + "Incorrect integer type for bitcast!"); return ConstantInt::get(DestTy, DoubleToBits(FP->getValue())); } } @@ -712,16 +712,13 @@ // Ok, we have two differing integer indices. Sign extend them to be the same // type. Long is always big enough, so we use it. - if (C1->getType() != Type::LongTy && C1->getType() != Type::ULongTy) - C1 = ConstantExpr::getSExt(C1, Type::LongTy); - else - C1 = ConstantExpr::getBitCast(C1, Type::LongTy); - if (C2->getType() != Type::LongTy && C1->getType() != Type::ULongTy) - C2 = ConstantExpr::getSExt(C2, Type::LongTy); - else - C2 = ConstantExpr::getBitCast(C2, Type::LongTy); + if (C1->getType() != Type::Int64Ty) + C1 = ConstantExpr::getSExt(C1, Type::Int64Ty); + + if (C2->getType() != Type::Int64Ty) + C1 = ConstantExpr::getSExt(C2, Type::Int64Ty); - if (C1 == C2) return 0; // Are they just differing types? + if (C1 == C2) return 0; // They are equal // If the type being indexed over is really just a zero sized type, there is // no pointer difference being made here. @@ -1324,7 +1321,7 @@ if (uint32_t ElSize = ElTy->getPrimitiveSize()) { // gep null, C is equal to C*sizeof(nullty). If nullty is a known llvm // type, we can statically fold this. - Constant *R = ConstantInt::get(Type::UIntTy, ElSize); + Constant *R = ConstantInt::get(Type::Int32Ty, ElSize); // We know R is unsigned, Idx0 is signed because it must be an index // through a sequential type (gep pointer operand) which is always // signed. @@ -1360,9 +1357,9 @@ if (!Idx0->isNullValue()) { const Type *IdxTy = Combined->getType(); if (IdxTy != Idx0->getType()) { - Constant *C1 = ConstantExpr::getSExtOrBitCast(Idx0, Type::LongTy); + Constant *C1 = ConstantExpr::getSExtOrBitCast(Idx0, Type::Int64Ty); Constant *C2 = ConstantExpr::getSExtOrBitCast(Combined, - Type::LongTy); + Type::Int64Ty); Combined = ConstantExpr::get(Instruction::Add, C1, C2); } else { Combined = Index: llvm/lib/VMCore/Constants.cpp diff -u llvm/lib/VMCore/Constants.cpp:1.192 llvm/lib/VMCore/Constants.cpp:1.193 --- llvm/lib/VMCore/Constants.cpp:1.192 Sun Dec 24 12:42:29 2006 +++ llvm/lib/VMCore/Constants.cpp Sat Dec 30 23:26:44 2006 @@ -96,39 +96,22 @@ static Constant *NullBool = ConstantBool::get(false); return NullBool; } - case Type::SByteTyID: { - static Constant *NullSByte = ConstantInt::get(Type::SByteTy, 0); - return NullSByte; - } - case Type::UByteTyID: { - static Constant *NullUByte = ConstantInt::get(Type::UByteTy, 0); - return NullUByte; - } - case Type::ShortTyID: { - static Constant *NullShort = ConstantInt::get(Type::ShortTy, 0); - return NullShort; - } - case Type::UShortTyID: { - static Constant *NullUShort = ConstantInt::get(Type::UShortTy, 0); - return NullUShort; - } - case Type::IntTyID: { - static Constant *NullInt = ConstantInt::get(Type::IntTy, 0); - return NullInt; - } - case Type::UIntTyID: { - static Constant *NullUInt = ConstantInt::get(Type::UIntTy, 0); - return NullUInt; - } - case Type::LongTyID: { - static Constant *NullLong = ConstantInt::get(Type::LongTy, 0); - return NullLong; - } - case Type::ULongTyID: { - static Constant *NullULong = ConstantInt::get(Type::ULongTy, 0); - return NullULong; + case Type::Int8TyID: { + static Constant *NullInt8 = ConstantInt::get(Type::Int8Ty, 0); + return NullInt8; + } + case Type::Int16TyID: { + static Constant *NullInt16 = ConstantInt::get(Type::Int16Ty, 0); + return NullInt16; + } + case Type::Int32TyID: { + static Constant *NullInt32 = ConstantInt::get(Type::Int32Ty, 0); + return NullInt32; + } + case Type::Int64TyID: { + static Constant *NullInt64 = ConstantInt::get(Type::Int64Ty, 0); + return NullInt64; } - case Type::FloatTyID: { static Constant *NullFloat = ConstantFP::get(Type::FloatTy, 0); return NullFloat; @@ -137,10 +120,8 @@ static Constant *NullDouble = ConstantFP::get(Type::DoubleTy, 0); return NullDouble; } - case Type::PointerTyID: return ConstantPointerNull::get(cast(Ty)); - case Type::StructTyID: case Type::ArrayTyID: case Type::PackedTyID: @@ -157,21 +138,10 @@ ConstantIntegral *ConstantIntegral::getAllOnesValue(const Type *Ty) { switch (Ty->getTypeID()) { case Type::BoolTyID: return ConstantBool::getTrue(); - case Type::SByteTyID: - case Type::ShortTyID: - case Type::IntTyID: - case Type::LongTyID: return ConstantInt::get(Ty, -1); - - case Type::UByteTyID: - case Type::UShortTyID: - case Type::UIntTyID: - case Type::ULongTyID: { - // Calculate ~0 of the right type... - unsigned TypeBits = Ty->getPrimitiveSize()*8; - uint64_t Val = ~0ULL; // All ones - Val >>= 64-TypeBits; // Shift out unwanted 1 bits... - return ConstantInt::get(Ty, Val); - } + case Type::Int8TyID: + case Type::Int16TyID: + case Type::Int32TyID: + case Type::Int64TyID: return ConstantInt::get(Ty, int64_t(-1)); default: return 0; } } @@ -573,28 +543,20 @@ bool ConstantInt::isValueValidForType(const Type *Ty, uint64_t Val) { switch (Ty->getTypeID()) { default: return false; // These can't be represented as integers! - case Type::SByteTyID: - case Type::UByteTyID: return Val <= UINT8_MAX; - case Type::ShortTyID: - case Type::UShortTyID:return Val <= UINT16_MAX; - case Type::IntTyID: - case Type::UIntTyID: return Val <= UINT32_MAX; - case Type::LongTyID: - case Type::ULongTyID: return true; // always true, has to fit in largest type + case Type::Int8TyID: return Val <= UINT8_MAX; + case Type::Int16TyID: return Val <= UINT16_MAX; + case Type::Int32TyID: return Val <= UINT32_MAX; + case Type::Int64TyID: return true; // always true, has to fit in largest type } } bool ConstantInt::isValueValidForType(const Type *Ty, int64_t Val) { switch (Ty->getTypeID()) { default: return false; // These can't be represented as integers! - case Type::SByteTyID: - case Type::UByteTyID: return (Val >= INT8_MIN && Val <= INT8_MAX); - case Type::ShortTyID: - case Type::UShortTyID:return (Val >= INT16_MIN && Val <= UINT16_MAX); - case Type::IntTyID: - case Type::UIntTyID: return (Val >= INT32_MIN && Val <= UINT32_MAX); - case Type::LongTyID: - case Type::ULongTyID: return true; // always true, has to fit in largest type + case Type::Int8TyID: return (Val >= INT8_MIN && Val <= INT8_MAX); + case Type::Int16TyID: return (Val >= INT16_MIN && Val <= UINT16_MAX); + case Type::Int32TyID: return (Val >= INT32_MIN && Val <= UINT32_MAX); + case Type::Int64TyID: return true; // always true, has to fit in largest type } } @@ -1029,14 +991,14 @@ Constant *ConstantArray::get(const std::string &Str, bool AddNull) { std::vector ElementVals; for (unsigned i = 0; i < Str.length(); ++i) - ElementVals.push_back(ConstantInt::get(Type::SByteTy, Str[i])); + ElementVals.push_back(ConstantInt::get(Type::Int8Ty, Str[i])); // Add a null terminator to the string... if (AddNull) { - ElementVals.push_back(ConstantInt::get(Type::SByteTy, 0)); + ElementVals.push_back(ConstantInt::get(Type::Int8Ty, 0)); } - ArrayType *ATy = ArrayType::get(Type::SByteTy, ElementVals.size()); + ArrayType *ATy = ArrayType::get(Type::Int8Ty, ElementVals.size()); return ConstantArray::get(ATy, ElementVals); } @@ -1044,8 +1006,7 @@ /// ubyte, and if the elements of the array are all ConstantInt's. bool ConstantArray::isString() const { // Check the element type for sbyte or ubyte... - if (getType()->getElementType() != Type::UByteTy && - getType()->getElementType() != Type::SByteTy) + if (getType()->getElementType() != Type::Int8Ty) return false; // Check the elements to make sure they are all integers, not constant // expressions. @@ -1060,8 +1021,7 @@ /// null bytes except its terminator. bool ConstantArray::isCString() const { // Check the element type for sbyte or ubyte... - if (getType()->getElementType() != Type::UByteTy && - getType()->getElementType() != Type::SByteTy) + if (getType()->getElementType() != Type::Int8Ty) return false; Constant *Zero = Constant::getNullValue(getOperand(0)->getType()); // Last element must be a null. @@ -1292,6 +1252,7 @@ //---- ConstantExpr::get() implementations... // + struct ExprMapKeyType { explicit ExprMapKeyType(unsigned opc, std::vector ops, unsigned short pred = 0) : opcode(opc), predicate(pred), operands(ops) { } @@ -1612,12 +1573,12 @@ // sizeof is implemented as: (ulong) gep (Ty*)null, 1 return getCast(Instruction::PtrToInt, getGetElementPtr(getNullValue( PointerType::get(Ty)), std::vector(1, - ConstantInt::get(Type::UIntTy, 1))), Type::ULongTy); + ConstantInt::get(Type::Int32Ty, 1))), Type::Int64Ty); } Constant *ConstantExpr::getPtrPtrFromArrayPtr(Constant *C) { // pointer from array is implemented as: getelementptr arr ptr, 0, 0 - static std::vector Indices(2, ConstantInt::get(Type::UIntTy, 0)); + static std::vector Indices(2, ConstantInt::get(Type::Int32Ty, 0)); return ConstantExpr::getGetElementPtr(C, Indices); } @@ -1710,7 +1671,7 @@ case Instruction::Shl: case Instruction::LShr: case Instruction::AShr: - assert(C2->getType() == Type::UByteTy && "Shift should be by ubyte!"); + assert(C2->getType() == Type::Int8Ty && "Shift should be by ubyte!"); assert(C1->getType()->isInteger() && "Tried to create a shift operation on a non-integer type!"); break; @@ -1753,7 +1714,7 @@ Opcode == Instruction::LShr || Opcode == Instruction::AShr) && "Invalid opcode in binary constant expression"); - assert(C1->getType()->isIntegral() && C2->getType() == Type::UByteTy && + assert(C1->getType()->isIntegral() && C2->getType() == Type::Int8Ty && "Invalid operand types for Shift constant expr!"); if (Constant *FC = ConstantFoldBinaryInstruction(Opcode, C1, C2)) @@ -1854,7 +1815,7 @@ Constant *ConstantExpr::getExtractElement(Constant *Val, Constant *Idx) { assert(isa(Val->getType()) && "Tried to create extractelement operation on non-packed type!"); - assert(Idx->getType() == Type::UIntTy && + assert(Idx->getType() == Type::Int32Ty && "Extractelement index must be uint type!"); return getExtractElementTy(cast(Val->getType())->getElementType(), Val, Idx); @@ -1878,7 +1839,7 @@ "Tried to create insertelement operation on non-packed type!"); assert(Elt->getType() == cast(Val->getType())->getElementType() && "Insertelement types must match!"); - assert(Idx->getType() == Type::UIntTy && + assert(Idx->getType() == Type::Int32Ty && "Insertelement index must be uint type!"); return getInsertElementTy(cast(Val->getType())->getElementType(), Val, Elt, Idx); Index: llvm/lib/VMCore/Function.cpp diff -u llvm/lib/VMCore/Function.cpp:1.107 llvm/lib/VMCore/Function.cpp:1.108 --- llvm/lib/VMCore/Function.cpp:1.107 Sun Nov 26 19:05:10 2006 +++ llvm/lib/VMCore/Function.cpp Sat Dec 30 23:26:44 2006 @@ -32,7 +32,7 @@ } Argument *ilist_traits::createSentinel() { - Argument *Ret = new Argument(Type::IntTy); + Argument *Ret = new Argument(Type::Int32Ty); // This should not be garbage monitored. LeakDetector::removeGarbageObject(Ret); return Ret; Index: llvm/lib/VMCore/Instructions.cpp diff -u llvm/lib/VMCore/Instructions.cpp:1.57 llvm/lib/VMCore/Instructions.cpp:1.58 --- llvm/lib/VMCore/Instructions.cpp:1.57 Sat Dec 23 00:05:41 2006 +++ llvm/lib/VMCore/Instructions.cpp Sat Dec 30 23:26:44 2006 @@ -513,11 +513,11 @@ static Value *getAISize(Value *Amt) { if (!Amt) - Amt = ConstantInt::get(Type::UIntTy, 1); + Amt = ConstantInt::get(Type::Int32Ty, 1); else { assert(!isa(Amt) && "Passed basic block into allocation size parameter! Ue other ctor"); - assert(Amt->getType() == Type::UIntTy && + assert(Amt->getType() == Type::Int32Ty && "Malloc/Allocation array size != UIntTy!"); } return Amt; @@ -849,7 +849,7 @@ Instruction *InsertBef) : Instruction(cast(Val->getType())->getElementType(), ExtractElement, Ops, 2, Name, InsertBef) { - Constant *Index = ConstantInt::get(Type::UIntTy, IndexV); + Constant *Index = ConstantInt::get(Type::Int32Ty, IndexV); assert(isValidOperands(Val, Index) && "Invalid extractelement instruction operands!"); Ops[0].init(Val, this); @@ -874,7 +874,7 @@ BasicBlock *InsertAE) : Instruction(cast(Val->getType())->getElementType(), ExtractElement, Ops, 2, Name, InsertAE) { - Constant *Index = ConstantInt::get(Type::UIntTy, IndexV); + Constant *Index = ConstantInt::get(Type::Int32Ty, IndexV); assert(isValidOperands(Val, Index) && "Invalid extractelement instruction operands!"); @@ -884,7 +884,7 @@ bool ExtractElementInst::isValidOperands(const Value *Val, const Value *Index) { - if (!isa(Val->getType()) || Index->getType() != Type::UIntTy) + if (!isa(Val->getType()) || Index->getType() != Type::Int32Ty) return false; return true; } @@ -915,7 +915,7 @@ const std::string &Name, Instruction *InsertBef) : Instruction(Vec->getType(), InsertElement, Ops, 3, Name, InsertBef) { - Constant *Index = ConstantInt::get(Type::UIntTy, IndexV); + Constant *Index = ConstantInt::get(Type::Int32Ty, IndexV); assert(isValidOperands(Vec, Elt, Index) && "Invalid insertelement instruction operands!"); Ops[0].init(Vec, this); @@ -940,7 +940,7 @@ const std::string &Name, BasicBlock *InsertAE) : Instruction(Vec->getType(), InsertElement, Ops, 3, Name, InsertAE) { - Constant *Index = ConstantInt::get(Type::UIntTy, IndexV); + Constant *Index = ConstantInt::get(Type::Int32Ty, IndexV); assert(isValidOperands(Vec, Elt, Index) && "Invalid insertelement instruction operands!"); @@ -957,7 +957,7 @@ if (Elt->getType() != cast(Vec->getType())->getElementType()) return false;// Second operand of insertelement must be packed element type. - if (Index->getType() != Type::UIntTy) + if (Index->getType() != Type::Int32Ty) return false; // Third operand of insertelement must be uint. return true; } @@ -1002,7 +1002,7 @@ if (!isa(V1->getType())) return false; if (V1->getType() != V2->getType()) return false; if (!isa(Mask->getType()) || - cast(Mask->getType())->getElementType() != Type::UIntTy || + cast(Mask->getType())->getElementType() != Type::Int32Ty || cast(Mask->getType())->getNumElements() != cast(V1->getType())->getNumElements()) return false; @@ -1233,23 +1233,9 @@ if (SrcTy == DstTy) return true; - // The remaining possibilities are lossless if the typeID of the source type - // matches the type ID of the destination in size and fundamental type. This - // prevents things like int -> ptr, int -> float, packed -> int, mismatched - // packed types of the same size, and etc. - switch (SrcTy->getTypeID()) { - case Type::UByteTyID: return DstTy == Type::SByteTy; - case Type::SByteTyID: return DstTy == Type::UByteTy; - case Type::UShortTyID: return DstTy == Type::ShortTy; - case Type::ShortTyID: return DstTy == Type::UShortTy; - case Type::UIntTyID: return DstTy == Type::IntTy; - case Type::IntTyID: return DstTy == Type::UIntTy; - case Type::ULongTyID: return DstTy == Type::LongTy; - case Type::LongTyID: return DstTy == Type::ULongTy; - case Type::PointerTyID: return isa(DstTy); - default: - break; - } + // Pointer to pointer is always lossless. + if (isa(SrcTy)) + return isa(DstTy); return false; // Other types have no identity values } Index: llvm/lib/VMCore/Module.cpp diff -u llvm/lib/VMCore/Module.cpp:1.69 llvm/lib/VMCore/Module.cpp:1.70 --- llvm/lib/VMCore/Module.cpp:1.69 Thu Dec 7 14:04:42 2006 +++ llvm/lib/VMCore/Module.cpp Sat Dec 30 23:26:44 2006 @@ -31,14 +31,15 @@ Function *ilist_traits::createSentinel() { FunctionType *FTy = - FunctionType::get(Type::VoidTy, std::vector(), false); + FunctionType::get(Type::VoidTy, std::vector(), false, + std::vector() ); Function *Ret = new Function(FTy, GlobalValue::ExternalLinkage); // This should not be garbage monitored. LeakDetector::removeGarbageObject(Ret); return Ret; } GlobalVariable *ilist_traits::createSentinel() { - GlobalVariable *Ret = new GlobalVariable(Type::IntTy, false, + GlobalVariable *Ret = new GlobalVariable(Type::Int32Ty, false, GlobalValue::ExternalLinkage); // This should not be garbage monitored. LeakDetector::removeGarbageObject(Ret); @@ -206,7 +207,7 @@ std::vector Params; // int main(void)... - if (Function *F = getFunction("main", FunctionType::get(Type::IntTy, + if (Function *F = getFunction("main", FunctionType::get(Type::Int32Ty, Params, false))) return F; @@ -215,10 +216,10 @@ Params, false))) return F; - Params.push_back(Type::IntTy); + Params.push_back(Type::Int32Ty); // int main(int argc)... - if (Function *F = getFunction("main", FunctionType::get(Type::IntTy, + if (Function *F = getFunction("main", FunctionType::get(Type::Int32Ty, Params, false))) return F; @@ -228,10 +229,10 @@ return F; for (unsigned i = 0; i != 2; ++i) { // Check argv and envp - Params.push_back(PointerType::get(PointerType::get(Type::SByteTy))); + Params.push_back(PointerType::get(PointerType::get(Type::Int8Ty))); // int main(int argc, char **argv)... - if (Function *F = getFunction("main", FunctionType::get(Type::IntTy, + if (Function *F = getFunction("main", FunctionType::get(Type::Int32Ty, Params, false))) return F; Index: llvm/lib/VMCore/ValueTypes.cpp diff -u llvm/lib/VMCore/ValueTypes.cpp:1.8 llvm/lib/VMCore/ValueTypes.cpp:1.9 --- llvm/lib/VMCore/ValueTypes.cpp:1.8 Tue Jul 18 19:40:45 2006 +++ llvm/lib/VMCore/ValueTypes.cpp Sat Dec 30 23:26:44 2006 @@ -88,10 +88,10 @@ default: assert(0 && "ValueType does not correspond to LLVM type!"); case MVT::isVoid:return Type::VoidTy; case MVT::i1: return Type::BoolTy; - case MVT::i8: return Type::UByteTy; - case MVT::i16: return Type::UShortTy; - case MVT::i32: return Type::UIntTy; - case MVT::i64: return Type::ULongTy; + case MVT::i8: return Type::Int8Ty; + case MVT::i16: return Type::Int16Ty; + case MVT::i32: return Type::Int32Ty; + case MVT::i64: return Type::Int64Ty; case MVT::f32: return Type::FloatTy; case MVT::f64: return Type::DoubleTy; } Index: llvm/lib/VMCore/Verifier.cpp diff -u llvm/lib/VMCore/Verifier.cpp:1.179 llvm/lib/VMCore/Verifier.cpp:1.180 --- llvm/lib/VMCore/Verifier.cpp:1.179 Sat Dec 23 00:05:41 2006 +++ llvm/lib/VMCore/Verifier.cpp Sat Dec 30 23:26:44 2006 @@ -764,7 +764,7 @@ "Shift must return an integer result!", &SI); Assert1(SI.getType() == SI.getOperand(0)->getType(), "Shift return type must be same as first operand!", &SI); - Assert1(SI.getOperand(1)->getType() == Type::UByteTy, + Assert1(SI.getOperand(1)->getType() == Type::Int8Ty, "Second operand to shift must be ubyte type!", &SI); visitInstruction(SI); } From reid at x10sys.com Sat Dec 30 23:40:27 2006 From: reid at x10sys.com (Reid Spencer) Date: Sat, 30 Dec 2006 23:40:27 -0600 Subject: [llvm-commits] CVS: llvm/lib/AsmParser/Lexer.l llvmAsmParser.y Message-ID: <200612310540.kBV5eRSY011649@zion.cs.uiuc.edu> Changes in directory llvm/lib/AsmParser: Lexer.l updated: 1.89 -> 1.90 llvmAsmParser.y updated: 1.292 -> 1.293 --- Log message: For PR950: http://llvm.org/PR950 : Major reorganization. This patch introduces the signedness changes for the new integer types (i8, i16, i32, i64) which replace the old signed versions (ubyte, sbyte, ushort, short, etc). This patch also implements the function type parameter attributes feature. Together these conspired to introduce new reduce/reduce errors into the grammar. Consequently, it was necessary to introduce a new keyword into the grammar in order to disambiguate. Without this, yacc would make incorrect shift/reduce and reduce/reduce decisions and fail to parse the intended assembly. Changes in assembly: 1. The "implementation" keyword is superfluous but still supported. You can use it as a sentry which will ensure there are no remaining up reference types. However, this is optional as those checks are also performed elsewhere. 2. Parameter attributes are now implemented using an at sign to indicate the attribute. The attributes are placed after the type in a function declaration or after the argument value in a function call. For example: i8 @sext %myfunc(i16 @zext) call i8 @sext %myfunc(i16 @zext %someVal) The facility is available for supporting additional attributes and they can be combined using the @(attr1,attr2,attr3) syntax. Right now the only two supported are @sext and @zext 3. Functions must now be defined with the "define" keyword which is analagous to the "declare" keyword for function declarations. The introduction of this keyword disambiguates situations where a named result type is confused with a new type or gvar definition. For example: %MyType = type i16 %MyType %func(%MyType) { ... } With the introduction of optional parameter attributes between the function name and the function result type, yacc will pick the wrong rule to reduce unless it is disambiguated with "define" before the function definition, as in: define %MyType @zext %func(%MyType %someArg) { ... } --- Diffs of the changes: (+413 -253) Lexer.l | 12 - llvmAsmParser.y | 654 +++++++++++++++++++++++++++++++++++--------------------- 2 files changed, 413 insertions(+), 253 deletions(-) Index: llvm/lib/AsmParser/Lexer.l diff -u llvm/lib/AsmParser/Lexer.l:1.89 llvm/lib/AsmParser/Lexer.l:1.90 --- llvm/lib/AsmParser/Lexer.l:1.89 Fri Dec 29 14:29:48 2006 +++ llvm/lib/AsmParser/Lexer.l Sat Dec 30 23:40:12 2006 @@ -235,14 +235,10 @@ void { RET_TY(Type::VoidTy, VOID); } bool { RET_TY(Type::BoolTy, BOOL); } -sbyte { RET_TY(Type::SByteTy, SBYTE); } -ubyte { RET_TY(Type::UByteTy, UBYTE); } -short { RET_TY(Type::ShortTy, SHORT); } -ushort { RET_TY(Type::UShortTy,USHORT);} -int { RET_TY(Type::IntTy, INT); } -uint { RET_TY(Type::UIntTy, UINT); } -long { RET_TY(Type::LongTy, LONG); } -ulong { RET_TY(Type::ULongTy, ULONG); } +i8 { RET_TY(Type::Int8Ty, INT8); } +i16 { RET_TY(Type::Int16Ty, INT16); } +i32 { RET_TY(Type::Int32Ty, INT32); } +i64 { RET_TY(Type::Int64Ty, INT64); } float { RET_TY(Type::FloatTy, FLOAT); } double { RET_TY(Type::DoubleTy,DOUBLE);} label { RET_TY(Type::LabelTy, LABEL); } Index: llvm/lib/AsmParser/llvmAsmParser.y diff -u llvm/lib/AsmParser/llvmAsmParser.y:1.292 llvm/lib/AsmParser/llvmAsmParser.y:1.293 --- llvm/lib/AsmParser/llvmAsmParser.y:1.292 Fri Dec 29 14:29:48 2006 +++ llvm/lib/AsmParser/llvmAsmParser.y Sat Dec 30 23:40:12 2006 @@ -19,12 +19,16 @@ #include "llvm/Module.h" #include "llvm/SymbolTable.h" #include "llvm/Support/GetElementPtrTypeIterator.h" +#include "llvm/Support/CommandLine.h" #include "llvm/ADT/STLExtras.h" #include "llvm/Support/MathExtras.h" #include "llvm/Support/Streams.h" #include #include #include +#ifndef NDEBUG +#define YYDEBUG 1 +#endif // The following is a gross hack. In order to rid the libAsmParser library of // exceptions, we have to have a way of getting the yyparse function to go into @@ -47,6 +51,11 @@ namespace llvm { std::string CurFilename; +#if YYDEBUG +static cl::opt +Debug("debug-yacc", cl::desc("Print yacc debug state changes"), + cl::Hidden, cl::init(false)); +#endif } using namespace llvm; @@ -71,6 +80,7 @@ // destroyed when the function is completed. // typedef std::vector ValueList; // Numbered defs + static void ResolveDefinitions(std::map &LateResolvers, std::map *FutureLateResolvers = 0); @@ -804,34 +814,12 @@ return Ty; } -// common code from the two 'RunVMAsmParser' functions -static Module* RunParser(Module * M) { - - llvmAsmlineno = 1; // Reset the current line number... - CurModule.CurrentModule = M; - - // Check to make sure the parser succeeded - if (yyparse()) { - if (ParserResult) - delete ParserResult; - return 0; - } - - // Check to make sure that parsing produced a result - if (!ParserResult) - return 0; - - // Reset ParserResult variable while saving its value for the result. - Module *Result = ParserResult; - ParserResult = 0; - - return Result; -} - //===----------------------------------------------------------------------===// // RunVMAsmParser - Define an interface to this parser //===----------------------------------------------------------------------===// // +static Module* RunParser(Module * M); + Module *llvm::RunVMAsmParser(const std::string &Filename, FILE *F) { set_scan_file(F); @@ -855,19 +843,21 @@ %union { llvm::Module *ModuleVal; llvm::Function *FunctionVal; - std::pair *ArgVal; llvm::BasicBlock *BasicBlockVal; llvm::TerminatorInst *TermInstVal; llvm::Instruction *InstVal; llvm::Constant *ConstVal; const llvm::Type *PrimType; + std::list *TypeList; llvm::PATypeHolder *TypeVal; llvm::Value *ValueVal; - - std::vector > *ArgList; std::vector *ValueList; - std::list *TypeList; + llvm::ArgListType *ArgList; + llvm::TypeWithAttrs TypeWithAttrs; + llvm::TypeWithAttrsList *TypeWithAttrsList; + llvm::ValueRefList *ValueRefList; + // Represent the RHS of PHI node std::list > *PHIList; @@ -875,6 +865,7 @@ std::vector *ConstVector; llvm::GlobalValue::LinkageTypes Linkage; + llvm::FunctionType::ParameterAttributes ParamAttrs; int64_t SInt64Val; uint64_t UInt64Val; int SIntVal; @@ -895,7 +886,7 @@ llvm::FCmpInst::Predicate FPredicate; } -%type Module +%type Module %type Function FunctionProto FunctionHeader BasicBlockList %type BasicBlock InstructionList %type BBTerminatorInst @@ -903,17 +894,19 @@ %type ConstVal ConstExpr %type ConstVector %type ArgList ArgListH -%type ArgVal %type PHIList -%type ValueRefList ValueRefListE // For call param lists -%type IndexList // For GEP derived indices -%type TypeListI ArgTypeListI +%type ValueRefList // For call param lists & GEP indices +%type IndexList // For GEP indices +%type TypeListI +%type ArgTypeList ArgTypeListI +%type ArgType ResultType %type JumpTable %type GlobalType // GLOBAL or CONSTANT? %type OptVolatile // 'volatile' or not %type OptTailCall // TAIL CALL or plain CALL. %type OptSideEffect // 'sideeffect' or not. -%type FunctionLinkage GVInternalLinkage GVExternalLinkage +%type GVInternalLinkage GVExternalLinkage +%type FunctionDefineLinkage FunctionDeclareLinkage %type BigOrLittle // ValueRef - Unresolved reference to a definition or BB @@ -933,9 +926,9 @@ %token FPVAL // Float or Double constant // Built in types... -%type Types TypesV UpRTypes UpRTypesV -%type SIntType UIntType IntType FPType PrimType // Classifications -%token VOID BOOL SBYTE UBYTE SHORT USHORT INT UINT LONG ULONG +%type Types +%type IntType FPType PrimType // Classifications +%token VOID BOOL INT8 INT16 INT32 INT64 %token FLOAT DOUBLE LABEL %token TYPE @@ -946,7 +939,7 @@ %token IMPLEMENTATION ZEROINITIALIZER TRUETOK FALSETOK BEGINTOK ENDTOK %token DECLARE DEFINE GLOBAL CONSTANT SECTION VOLATILE -%token TO DOTDOTDOT NULL_TOK UNDEF CONST INTERNAL LINKONCE WEAK APPENDING +%token TO DOTDOTDOT NULL_TOK UNDEF INTERNAL LINKONCE WEAK APPENDING %token DLLIMPORT DLLEXPORT EXTERN_WEAK %token OPAQUE NOT EXTERNAL TARGET TRIPLE ENDIAN POINTERSIZE LITTLE BIG ALIGN %token DEPLIBS CALL TAIL ASM_TOK MODULE SIDEEFFECT @@ -954,6 +947,7 @@ %token X86_STDCALLCC_TOK X86_FASTCALLCC_TOK %token DATALAYOUT %type OptCallingConv +%type OptParamAttrs ParamAttrList ParamAttr // Basic Block Terminating Operators %token RET BR SWITCH INVOKE UNWIND UNREACHABLE @@ -1024,9 +1018,7 @@ // These are some types that allow classification if we only want a particular // thing... for example, only a signed, unsigned, or integral type. -SIntType : LONG | INT | SHORT | SBYTE; -UIntType : ULONG | UINT | USHORT | UBYTE; -IntType : SIntType | UIntType; +IntType : INT64 | INT32 | INT16 | INT8; FPType : FLOAT | DOUBLE; // OptAssign - Value producing statements have an optional assignment component @@ -1053,18 +1045,18 @@ | EXTERNAL { $$ = GlobalValue::ExternalLinkage; } ; -FnDeclareLinkage - : /*empty*/ { /*default*/ } - | DLLIMPORT { CurFun.Linkage = GlobalValue::DLLImportLinkage; } - | EXTERN_WEAK { CurFun.Linkage = GlobalValue::ExternalWeakLinkage; } +FunctionDeclareLinkage + : /*empty*/ { $$ = GlobalValue::ExternalLinkage; } + | DLLIMPORT { $$ = GlobalValue::DLLImportLinkage; } + | EXTERN_WEAK { $$ = GlobalValue::ExternalWeakLinkage; } ; -FunctionLinkage - : INTERNAL { $$ = GlobalValue::InternalLinkage; } +FunctionDefineLinkage + : /*empty*/ { $$ = GlobalValue::ExternalLinkage; } + | INTERNAL { $$ = GlobalValue::InternalLinkage; } | LINKONCE { $$ = GlobalValue::LinkOnceLinkage; } | WEAK { $$ = GlobalValue::WeakLinkage; } | DLLEXPORT { $$ = GlobalValue::DLLExportLinkage; } - | /*empty*/ { $$ = GlobalValue::ExternalLinkage; } ; OptCallingConv : /*empty*/ { $$ = CallingConv::C; } | @@ -1081,6 +1073,21 @@ CHECK_FOR_ERROR }; +ParamAttr : ZEXT { $$ = FunctionType::ZExtAttribute; } + | SEXT { $$ = FunctionType::SExtAttribute; } + ; + +ParamAttrList : ParamAttr { $$ = $1; } + | ParamAttrList ',' ParamAttr { + $$ = FunctionType::ParameterAttributes($1 | $3); + } + ; + +OptParamAttrs : /* empty */ { $$ = FunctionType::NoAttributeSet; } + | '@' ParamAttr { $$ = $2; } + | '@' '(' ParamAttrList ')' { $$ = $3; } + ; + // OptAlign/OptCAlign - An optional alignment, and an optional alignment with // a comma before it. OptAlign : /*empty*/ { $$ = 0; } | @@ -1129,43 +1136,34 @@ //===----------------------------------------------------------------------===// // Types includes all predefined types... except void, because it can only be -// used in specific contexts (function returning void for example). To have -// access to it, a user must explicitly use TypesV. -// - -// TypesV includes all of 'Types', but it also includes the void type. -TypesV : Types | VOID { $$ = new PATypeHolder($1); }; -UpRTypesV : UpRTypes | VOID { $$ = new PATypeHolder($1); }; - -Types : UpRTypes { - if (!UpRefs.empty()) - GEN_ERROR("Invalid upreference in type: " + (*$1)->getDescription()); - $$ = $1; - CHECK_FOR_ERROR - }; - +// used in specific contexts (function returning void for example). // Derived types are added later... // -PrimType : BOOL | SBYTE | UBYTE | SHORT | USHORT | INT | UINT ; -PrimType : LONG | ULONG | FLOAT | DOUBLE | LABEL ; -UpRTypes : OPAQUE { +PrimType : BOOL | INT8 | INT16 | INT32 | INT64 | FLOAT | DOUBLE | LABEL ; + +Types + : OPAQUE { $$ = new PATypeHolder(OpaqueType::get()); CHECK_FOR_ERROR } | PrimType { $$ = new PATypeHolder($1); CHECK_FOR_ERROR - }; -UpRTypes : SymbolicValueRef { // Named types are also simple types... - const Type* tmp = getTypeVal($1); - CHECK_FOR_ERROR - $$ = new PATypeHolder(tmp); -}; - -// Include derived types in the Types production. -// -UpRTypes : '\\' EUINT64VAL { // Type UpReference + } + | Types '*' { // Pointer type? + if (*$1 == Type::LabelTy) + GEN_ERROR("Cannot form a pointer to a basic block"); + $$ = new PATypeHolder(HandleUpRefs(PointerType::get(*$1))); + delete $1; + CHECK_FOR_ERROR + } + | SymbolicValueRef { // Named types are also simple types... + const Type* tmp = getTypeVal($1); + CHECK_FOR_ERROR + $$ = new PATypeHolder(tmp); + } + | '\\' EUINT64VAL { // Type UpReference if ($2 > (uint64_t)~0U) GEN_ERROR("Value out of range!"); OpaqueType *OT = OpaqueType::get(); // Use temporary placeholder UpRefs.push_back(UpRefRecord((unsigned)$2, OT)); // Add to vector... @@ -1173,25 +1171,48 @@ UR_OUT("New Upreference!\n"); CHECK_FOR_ERROR } - | UpRTypesV '(' ArgTypeListI ')' { // Function derived type? + | Types OptParamAttrs '(' ArgTypeListI ')' { std::vector Params; - for (std::list::iterator I = $3->begin(), - E = $3->end(); I != E; ++I) - Params.push_back(*I); + std::vector Attrs; + Attrs.push_back($2); + for (TypeWithAttrsList::iterator I=$4->begin(), E=$4->end(); I != E; ++I) { + Params.push_back(I->Ty->get()); + if (I->Ty->get() != Type::VoidTy) + Attrs.push_back(I->Attrs); + } + bool isVarArg = Params.size() && Params.back() == Type::VoidTy; + if (isVarArg) Params.pop_back(); + + FunctionType *FT = FunctionType::get(*$1, Params, isVarArg, Attrs); + delete $4; // Delete the argument list + delete $1; // Delete the return type handle + $$ = new PATypeHolder(HandleUpRefs(FT)); + CHECK_FOR_ERROR + } + | VOID OptParamAttrs '(' ArgTypeListI ')' { + std::vector Params; + std::vector Attrs; + Attrs.push_back($2); + for (TypeWithAttrsList::iterator I=$4->begin(), E=$4->end(); I != E; ++I) { + Params.push_back(I->Ty->get()); + if (I->Ty->get() != Type::VoidTy) + Attrs.push_back(I->Attrs); + } bool isVarArg = Params.size() && Params.back() == Type::VoidTy; if (isVarArg) Params.pop_back(); - $$ = new PATypeHolder(HandleUpRefs(FunctionType::get(*$1,Params,isVarArg))); - delete $3; // Delete the argument list - delete $1; // Delete the return type handle + FunctionType *FT = FunctionType::get($1, Params, isVarArg, Attrs); + delete $4; // Delete the argument list + $$ = new PATypeHolder(HandleUpRefs(FT)); CHECK_FOR_ERROR } - | '[' EUINT64VAL 'x' UpRTypes ']' { // Sized array type? + + | '[' EUINT64VAL 'x' Types ']' { // Sized array type? $$ = new PATypeHolder(HandleUpRefs(ArrayType::get(*$4, (unsigned)$2))); delete $4; CHECK_FOR_ERROR } - | '<' EUINT64VAL 'x' UpRTypes '>' { // Packed array type? + | '<' EUINT64VAL 'x' Types '>' { // Packed array type? const llvm::Type* ElemTy = $4->get(); if ((unsigned)$2 != $2) GEN_ERROR("Unsigned result not equal to signed result"); @@ -1231,39 +1252,72 @@ $$ = new PATypeHolder(StructType::get(std::vector(), true)); CHECK_FOR_ERROR } - | UpRTypes '*' { // Pointer type? - if (*$1 == Type::LabelTy) - GEN_ERROR("Cannot form a pointer to a basic block"); - $$ = new PATypeHolder(HandleUpRefs(PointerType::get(*$1))); - delete $1; - CHECK_FOR_ERROR - }; + ; -// TypeList - Used for struct declarations and as a basis for function type -// declaration type lists -// -TypeListI : UpRTypes { - $$ = new std::list(); - $$->push_back(*$1); delete $1; +ArgType + : Types OptParamAttrs { + $$.Ty = $1; + $$.Attrs = $2; + } + ; + +ResultType + : Types OptParamAttrs { + if (!UpRefs.empty()) + GEN_ERROR("Invalid upreference in type: " + (*$1)->getDescription()); + if (!(*$1)->isFirstClassType()) + GEN_ERROR("LLVM functions cannot return aggregate types!"); + $$.Ty = $1; + $$.Attrs = $2; + } + | VOID OptParamAttrs { + $$.Ty = new PATypeHolder(Type::VoidTy); + $$.Attrs = $2; + } + ; + +ArgTypeList : ArgType { + $$ = new TypeWithAttrsList(); + $$->push_back($1); CHECK_FOR_ERROR } - | TypeListI ',' UpRTypes { - ($$=$1)->push_back(*$3); delete $3; + | ArgTypeList ',' ArgType { + ($$=$1)->push_back($3); CHECK_FOR_ERROR - }; + } + ; -// ArgTypeList - List of types for a function type declaration... -ArgTypeListI : TypeListI - | TypeListI ',' DOTDOTDOT { - ($$=$1)->push_back(Type::VoidTy); +ArgTypeListI + : ArgTypeList + | ArgTypeList ',' DOTDOTDOT { + $$=$1; + TypeWithAttrs TWA; TWA.Attrs = FunctionType::NoAttributeSet; + TWA.Ty = new PATypeHolder(Type::VoidTy); + $$->push_back(TWA); CHECK_FOR_ERROR } | DOTDOTDOT { - ($$ = new std::list())->push_back(Type::VoidTy); + $$ = new TypeWithAttrsList; + TypeWithAttrs TWA; TWA.Attrs = FunctionType::NoAttributeSet; + TWA.Ty = new PATypeHolder(Type::VoidTy); + $$->push_back(TWA); CHECK_FOR_ERROR } | /*empty*/ { + $$ = new TypeWithAttrsList(); + CHECK_FOR_ERROR + }; + +// TypeList - Used for struct declarations and as a basis for function type +// declaration type lists +// +TypeListI : Types { $$ = new std::list(); + $$->push_back(*$1); delete $1; + CHECK_FOR_ERROR + } + | TypeListI ',' Types { + ($$=$1)->push_back(*$3); delete $3; CHECK_FOR_ERROR }; @@ -1274,6 +1328,8 @@ // ResolvedVal, ValueRef and ConstValueRef productions. // ConstVal: Types '[' ConstVector ']' { // Nonempty unsized arr + if (!UpRefs.empty()) + GEN_ERROR("Invalid upreference in type: " + (*$1)->getDescription()); const ArrayType *ATy = dyn_cast($1->get()); if (ATy == 0) GEN_ERROR("Cannot make array constant with type: '" + @@ -1300,6 +1356,8 @@ CHECK_FOR_ERROR } | Types '[' ']' { + if (!UpRefs.empty()) + GEN_ERROR("Invalid upreference in type: " + (*$1)->getDescription()); const ArrayType *ATy = dyn_cast($1->get()); if (ATy == 0) GEN_ERROR("Cannot make array constant with type: '" + @@ -1314,6 +1372,8 @@ CHECK_FOR_ERROR } | Types 'c' STRINGCONSTANT { + if (!UpRefs.empty()) + GEN_ERROR("Invalid upreference in type: " + (*$1)->getDescription()); const ArrayType *ATy = dyn_cast($1->get()); if (ATy == 0) GEN_ERROR("Cannot make array constant with type: '" + @@ -1327,13 +1387,10 @@ itostr((int)(EndStr-$3)) + " when array has size " + itostr(NumElements) + "!"); std::vector Vals; - if (ETy == Type::SByteTy) { - for (signed char *C = (signed char *)$3; C != (signed char *)EndStr; ++C) - Vals.push_back(ConstantInt::get(ETy, *C)); - } else if (ETy == Type::UByteTy) { + if (ETy == Type::Int8Ty) { for (unsigned char *C = (unsigned char *)$3; - C != (unsigned char*)EndStr; ++C) - Vals.push_back(ConstantInt::get(ETy, *C)); + C != (unsigned char*)EndStr; ++C) + Vals.push_back(ConstantInt::get(ETy, *C)); } else { free($3); GEN_ERROR("Cannot build string arrays of non byte sized elements!"); @@ -1344,6 +1401,8 @@ CHECK_FOR_ERROR } | Types '<' ConstVector '>' { // Nonempty unsized arr + if (!UpRefs.empty()) + GEN_ERROR("Invalid upreference in type: " + (*$1)->getDescription()); const PackedType *PTy = dyn_cast($1->get()); if (PTy == 0) GEN_ERROR("Cannot make packed constant with type: '" + @@ -1391,6 +1450,8 @@ CHECK_FOR_ERROR } | Types '{' '}' { + if (!UpRefs.empty()) + GEN_ERROR("Invalid upreference in type: " + (*$1)->getDescription()); const StructType *STy = dyn_cast($1->get()); if (STy == 0) GEN_ERROR("Cannot make struct constant with type: '" + @@ -1404,6 +1465,8 @@ CHECK_FOR_ERROR } | Types NULL_TOK { + if (!UpRefs.empty()) + GEN_ERROR("Invalid upreference in type: " + (*$1)->getDescription()); const PointerType *PTy = dyn_cast($1->get()); if (PTy == 0) GEN_ERROR("Cannot make null pointer constant with type: '" + @@ -1414,11 +1477,15 @@ CHECK_FOR_ERROR } | Types UNDEF { + if (!UpRefs.empty()) + GEN_ERROR("Invalid upreference in type: " + (*$1)->getDescription()); $$ = UndefValue::get($1->get()); delete $1; CHECK_FOR_ERROR } | Types SymbolicValueRef { + if (!UpRefs.empty()) + GEN_ERROR("Invalid upreference in type: " + (*$1)->getDescription()); const PointerType *Ty = dyn_cast($1->get()); if (Ty == 0) GEN_ERROR("Global const reference must be a pointer type!"); @@ -1480,6 +1547,8 @@ CHECK_FOR_ERROR } | Types ConstExpr { + if (!UpRefs.empty()) + GEN_ERROR("Invalid upreference in type: " + (*$1)->getDescription()); if ($1->get() != $2->getType()) GEN_ERROR("Mismatched types for constant expression!"); $$ = $2; @@ -1487,6 +1556,8 @@ CHECK_FOR_ERROR } | Types ZEROINITIALIZER { + if (!UpRefs.empty()) + GEN_ERROR("Invalid upreference in type: " + (*$1)->getDescription()); const Type *Ty = $1->get(); if (isa(Ty) || Ty == Type::LabelTy || isa(Ty)) GEN_ERROR("Cannot create a null initialized value of this type!"); @@ -1494,25 +1565,13 @@ delete $1; CHECK_FOR_ERROR } - | SIntType ESINT64VAL { // integral constants - if (!ConstantInt::isValueValidForType($1, $2)) - GEN_ERROR("Constant value doesn't fit in type!"); - $$ = ConstantInt::get($1, $2); - CHECK_FOR_ERROR - } - | SIntType EUINT64VAL { // integral constants - if (!ConstantInt::isValueValidForType($1, $2)) - GEN_ERROR("Constant value doesn't fit in type!"); - $$ = ConstantInt::get($1, $2); - CHECK_FOR_ERROR - } - | UIntType EUINT64VAL { // integral constants + | IntType ESINT64VAL { // integral constants if (!ConstantInt::isValueValidForType($1, $2)) GEN_ERROR("Constant value doesn't fit in type!"); $$ = ConstantInt::get($1, $2); CHECK_FOR_ERROR } - | UIntType ESINT64VAL { + | IntType EUINT64VAL { // integral constants if (!ConstantInt::isValueValidForType($1, $2)) GEN_ERROR("Constant value doesn't fit in type!"); $$ = ConstantInt::get($1, $2); @@ -1535,6 +1594,8 @@ ConstExpr: CastOps '(' ConstVal TO Types ')' { + if (!UpRefs.empty()) + GEN_ERROR("Invalid upreference in type: " + (*$5)->getDescription()); Constant *Val = $3; const Type *Ty = $5->get(); if (!Val->getType()->isFirstClassType()) @@ -1603,8 +1664,8 @@ $$ = ConstantExpr::getFCmp($2, $4, $6); } | ShiftOps '(' ConstVal ',' ConstVal ')' { - if ($5->getType() != Type::UByteTy) - GEN_ERROR("Shift count for shift constant must be unsigned byte!"); + if ($5->getType() != Type::Int8Ty) + GEN_ERROR("Shift count for shift constant must be i8 type!"); if (!$3->getType()->isInteger()) GEN_ERROR("Shift constant expression requires integer operand!"); CHECK_FOR_ERROR; @@ -1695,7 +1756,9 @@ } CHECK_FOR_ERROR } - | OptAssign TYPE TypesV { + | OptAssign TYPE Types { + if (!UpRefs.empty()) + GEN_ERROR("Invalid upreference in type: " + (*$3)->getDescription()); // Eagerly resolve types. This is not an optimization, this is a // requirement that is due to the fact that we could have this: // @@ -1717,6 +1780,17 @@ delete $3; CHECK_FOR_ERROR } + | OptAssign TYPE VOID { + ResolveTypeTo($1, $3); + + if (!setTypeName($3, $1) && !$1) { + CHECK_FOR_ERROR + // If this is a named type that is not a redefinition, add it to the slot + // table. + CurModule.Types.push_back($3); + } + CHECK_FOR_ERROR + } | OptAssign GlobalType ConstVal { /* "Externally Visible" Linkage */ if ($3 == 0) GEN_ERROR("Global value initializer is not a constant!"); @@ -1735,6 +1809,8 @@ CurGV = 0; } | OptAssign GVExternalLinkage GlobalType Types { + if (!UpRefs.empty()) + GEN_ERROR("Invalid upreference in type: " + (*$4)->getDescription()); CurGV = ParseGlobalVariable($1, $2, $3, *$4, 0); CHECK_FOR_ERROR delete $4; @@ -1813,23 +1889,24 @@ Name : VAR_ID | STRINGCONSTANT; OptName : Name | /*empty*/ { $$ = 0; }; -ArgVal : Types OptName { - if (*$1 == Type::VoidTy) - GEN_ERROR("void typed arguments are invalid!"); - $$ = new std::pair($1, $2); - CHECK_FOR_ERROR -}; - -ArgListH : ArgListH ',' ArgVal { +ArgListH : ArgListH ',' Types OptParamAttrs OptName { + if (!UpRefs.empty()) + GEN_ERROR("Invalid upreference in type: " + (*$3)->getDescription()); + if (*$3 == Type::VoidTy) + GEN_ERROR("void typed arguments are invalid!"); + ArgListEntry E; E.Attrs = $4; E.Ty = $3; E.Name = $5; $$ = $1; - $1->push_back(*$3); - delete $3; + $1->push_back(E); CHECK_FOR_ERROR } - | ArgVal { - $$ = new std::vector >(); - $$->push_back(*$1); - delete $1; + | Types OptParamAttrs OptName { + if (!UpRefs.empty()) + GEN_ERROR("Invalid upreference in type: " + (*$1)->getDescription()); + if (*$1 == Type::VoidTy) + GEN_ERROR("void typed arguments are invalid!"); + ArgListEntry E; E.Attrs = $2; E.Ty = $1; E.Name = $3; + $$ = new ArgListType; + $$->push_back(E); CHECK_FOR_ERROR }; @@ -1839,13 +1916,20 @@ } | ArgListH ',' DOTDOTDOT { $$ = $1; - $$->push_back(std::pair(new PATypeHolder(Type::VoidTy), 0)); + struct ArgListEntry E; + E.Ty = new PATypeHolder(Type::VoidTy); + E.Name = 0; + E.Attrs = FunctionType::NoAttributeSet; + $$->push_back(E); CHECK_FOR_ERROR } | DOTDOTDOT { - $$ = new std::vector >(); - $$->push_back(std::make_pair(new PATypeHolder(Type::VoidTy), (char*)0)); + $$ = new ArgListType; + struct ArgListEntry E; + E.Ty = new PATypeHolder(Type::VoidTy); + E.Name = 0; + E.Attrs = FunctionType::NoAttributeSet; + $$->push_back(E); CHECK_FOR_ERROR } | /* empty */ { @@ -1853,28 +1937,31 @@ CHECK_FOR_ERROR }; -FunctionHeaderH : OptCallingConv TypesV Name '(' ArgList ')' +FunctionHeaderH : OptCallingConv ResultType Name '(' ArgList ')' OptSection OptAlign { UnEscapeLexed($3); std::string FunctionName($3); free($3); // Free strdup'd memory! - if (!(*$2)->isFirstClassType() && *$2 != Type::VoidTy) - GEN_ERROR("LLVM functions cannot return aggregate types!"); - std::vector ParamTypeList; + std::vector ParamAttrs; + ParamAttrs.push_back($2.Attrs); if ($5) { // If there are arguments... - for (std::vector >::iterator I = $5->begin(); - I != $5->end(); ++I) - ParamTypeList.push_back(I->first->get()); + for (ArgListType::iterator I = $5->begin(); I != $5->end(); ++I) { + const Type* Ty = I->Ty->get(); + ParamTypeList.push_back(Ty); + if (Ty != Type::VoidTy) + ParamAttrs.push_back(I->Attrs); + } } bool isVarArg = ParamTypeList.size() && ParamTypeList.back() == Type::VoidTy; if (isVarArg) ParamTypeList.pop_back(); - const FunctionType *FT = FunctionType::get(*$2, ParamTypeList, isVarArg); + FunctionType *FT = FunctionType::get(*$2.Ty, ParamTypeList, isVarArg, + ParamAttrs); const PointerType *PFT = PointerType::get(FT); - delete $2; + delete $2.Ty; ValID ID; if (!FunctionName.empty()) { @@ -1928,19 +2015,19 @@ // Add all of the arguments we parsed to the function... if ($5) { // Is null if empty... if (isVarArg) { // Nuke the last entry - assert($5->back().first->get() == Type::VoidTy && $5->back().second == 0&& + assert($5->back().Ty->get() == Type::VoidTy && $5->back().Name == 0&& "Not a varargs marker!"); - delete $5->back().first; + delete $5->back().Ty; $5->pop_back(); // Delete the last entry } Function::arg_iterator ArgIt = Fn->arg_begin(); - for (std::vector >::iterator I = $5->begin(); - I != $5->end(); ++I, ++ArgIt) { - delete I->first; // Delete the typeholder... - - setValueName(ArgIt, I->second); // Insert arg into symtab... + unsigned Idx = 1; + for (ArgListType::iterator I = $5->begin(); I != $5->end(); ++I, ++ArgIt) { + delete I->Ty; // Delete the typeholder... + setValueName(ArgIt, I->Name); // Insert arg into symtab... CHECK_FOR_ERROR InsertValue(ArgIt); + Idx++; } delete $5; // We're now done with the argument list @@ -1950,7 +2037,7 @@ BEGIN : BEGINTOK | '{'; // Allow BEGIN or '{' to start a function -FunctionHeader : FunctionLinkage FunctionHeaderH BEGIN { +FunctionHeader : FunctionDefineLinkage FunctionHeaderH BEGIN { $$ = CurFun.CurrentFunction; // Make sure that we keep track of the linkage type even if there was a @@ -1965,7 +2052,8 @@ CHECK_FOR_ERROR }; -FunctionProto : FnDeclareLinkage FunctionHeaderH { +FunctionProto : FunctionDeclareLinkage FunctionHeaderH { + CurFun.CurrentFunction->setLinkage($1); $$ = CurFun.CurrentFunction; CurFun.FunctionDone(); CHECK_FOR_ERROR @@ -2076,9 +2164,13 @@ // type immediately preceeds the value reference, and allows complex constant // pool references (for things like: 'ret [2 x int] [ int 12, int 42]') ResolvedVal : Types ValueRef { - $$ = getVal(*$1, $2); delete $1; + if (!UpRefs.empty()) + GEN_ERROR("Invalid upreference in type: " + (*$1)->getDescription()); + $$ = getVal(*$1, $2); + delete $1; CHECK_FOR_ERROR - }; + } + ; BasicBlockList : BasicBlockList BasicBlock { $$ = $1; @@ -2188,25 +2280,27 @@ $$ = S; CHECK_FOR_ERROR } - | INVOKE OptCallingConv TypesV ValueRef '(' ValueRefListE ')' + | INVOKE OptCallingConv ResultType ValueRef '(' ValueRefList ')' TO LABEL ValueRef UNWIND LABEL ValueRef { - const PointerType *PFTy; - const FunctionType *Ty; - if (!(PFTy = dyn_cast($3->get())) || + // Handle the short syntax + const PointerType *PFTy = 0; + const FunctionType *Ty = 0; + if (!(PFTy = dyn_cast($3.Ty->get())) || !(Ty = dyn_cast(PFTy->getElementType()))) { // Pull out the types of all of the arguments... std::vector ParamTypes; - if ($6) { - for (std::vector::iterator I = $6->begin(), E = $6->end(); - I != E; ++I) - ParamTypes.push_back((*I)->getType()); + FunctionType::ParamAttrsList ParamAttrs; + ParamAttrs.push_back($3.Attrs); + for (ValueRefList::iterator I = $6->begin(), E = $6->end(); I != E; ++I) { + const Type *Ty = I->Val->getType(); + if (Ty == Type::VoidTy) + GEN_ERROR("Short call syntax cannot be used with varargs"); + ParamTypes.push_back(Ty); + ParamAttrs.push_back(I->Attrs); } - bool isVarArg = ParamTypes.size() && ParamTypes.back() == Type::VoidTy; - if (isVarArg) ParamTypes.pop_back(); - - Ty = FunctionType::get($3->get(), ParamTypes, isVarArg); + Ty = FunctionType::get($3.Ty->get(), ParamTypes, false, ParamAttrs); PFTy = PointerType::get(Ty); } @@ -2217,30 +2311,39 @@ BasicBlock *Except = getBBVal($13); CHECK_FOR_ERROR - // Create the call node... - if (!$6) { // Has no arguments? - $$ = new InvokeInst(V, Normal, Except, std::vector()); + // Check the arguments + ValueList Args; + if ($6->empty()) { // Has no arguments? + // Make sure no arguments is a good thing! + if (Ty->getNumParams() != 0) + GEN_ERROR("No arguments passed to a function that " + "expects arguments!"); } else { // Has arguments? // Loop through FunctionType's arguments and ensure they are specified // correctly! - // FunctionType::param_iterator I = Ty->param_begin(); FunctionType::param_iterator E = Ty->param_end(); - std::vector::iterator ArgI = $6->begin(), ArgE = $6->end(); + ValueRefList::iterator ArgI = $6->begin(), ArgE = $6->end(); - for (; ArgI != ArgE && I != E; ++ArgI, ++I) - if ((*ArgI)->getType() != *I) - GEN_ERROR("Parameter " +(*ArgI)->getName()+ " is not of type '" + + for (; ArgI != ArgE && I != E; ++ArgI, ++I) { + if (ArgI->Val->getType() != *I) + GEN_ERROR("Parameter " + ArgI->Val->getName()+ " is not of type '" + (*I)->getDescription() + "'!"); + Args.push_back(ArgI->Val); + } - if (I != E || (ArgI != ArgE && !Ty->isVarArg())) + if (Ty->isVarArg()) { + if (I == E) + for (; ArgI != ArgE; ++ArgI) + Args.push_back(ArgI->Val); // push the remaining varargs + } else if (I != E || ArgI != ArgE) GEN_ERROR("Invalid number of parameters detected!"); - - $$ = new InvokeInst(V, Normal, Except, *$6); } - cast($$)->setCallingConv($2); - - delete $3; + + // Create the InvokeInst + InvokeInst *II = new InvokeInst(V, Normal, Except, Args); + II->setCallingConv($2); + $$ = II; delete $6; CHECK_FOR_ERROR } @@ -2289,6 +2392,8 @@ }; PHIList : Types '[' ValueRef ',' ValueRef ']' { // Used for PHI nodes + if (!UpRefs.empty()) + GEN_ERROR("Invalid upreference in type: " + (*$1)->getDescription()); $$ = new std::list >(); Value* tmpVal = getVal(*$1, $3); CHECK_FOR_ERROR @@ -2307,18 +2412,31 @@ }; -ValueRefList : ResolvedVal { // Used for call statements, and memory insts... - $$ = new std::vector(); - $$->push_back($1); +ValueRefList : Types ValueRef OptParamAttrs { + if (!UpRefs.empty()) + GEN_ERROR("Invalid upreference in type: " + (*$1)->getDescription()); + // Used for call and invoke instructions + $$ = new ValueRefList(); + ValueRefListEntry E; E.Attrs = $3; E.Val = getVal($1->get(), $2); + $$->push_back(E); } - | ValueRefList ',' ResolvedVal { + | ValueRefList ',' Types ValueRef OptParamAttrs { + if (!UpRefs.empty()) + GEN_ERROR("Invalid upreference in type: " + (*$3)->getDescription()); $$ = $1; - $1->push_back($3); + ValueRefListEntry E; E.Attrs = $5; E.Val = getVal($3->get(), $4); + $$->push_back(E); CHECK_FOR_ERROR - }; + } + | /*empty*/ { $$ = new ValueRefList(); }; -// ValueRefListE - Just like ValueRefList, except that it may also be empty! -ValueRefListE : ValueRefList | /*empty*/ { $$ = 0; }; +IndexList // Used for gep instructions and constant expressions + : /*empty*/ { $$ = new std::vector(); }; + | IndexList ',' ResolvedVal { + $$ = $1; + $$->push_back($3); + CHECK_FOR_ERROR + } OptTailCall : TAIL CALL { $$ = true; @@ -2330,6 +2448,8 @@ }; InstVal : ArithmeticOps Types ValueRef ',' ValueRef { + if (!UpRefs.empty()) + GEN_ERROR("Invalid upreference in type: " + (*$2)->getDescription()); if (!(*$2)->isInteger() && !(*$2)->isFloatingPoint() && !isa((*$2).get())) GEN_ERROR( @@ -2349,6 +2469,8 @@ delete $2; } | LogicalOps Types ValueRef ',' ValueRef { + if (!UpRefs.empty()) + GEN_ERROR("Invalid upreference in type: " + (*$2)->getDescription()); if (!(*$2)->isIntegral()) { if (!isa($2->get()) || !cast($2->get())->getElementType()->isIntegral()) @@ -2364,6 +2486,8 @@ delete $2; } | ICMP IPredicates Types ValueRef ',' ValueRef { + if (!UpRefs.empty()) + GEN_ERROR("Invalid upreference in type: " + (*$3)->getDescription()); if (isa((*$3).get())) GEN_ERROR("Packed types not supported by icmp instruction"); Value* tmpVal1 = getVal(*$3, $4); @@ -2375,6 +2499,8 @@ GEN_ERROR("icmp operator returned null!"); } | FCMP FPredicates Types ValueRef ',' ValueRef { + if (!UpRefs.empty()) + GEN_ERROR("Invalid upreference in type: " + (*$3)->getDescription()); if (isa((*$3).get())) GEN_ERROR("Packed types not supported by fcmp instruction"); Value* tmpVal1 = getVal(*$3, $4); @@ -2399,8 +2525,8 @@ CHECK_FOR_ERROR } | ShiftOps ResolvedVal ',' ResolvedVal { - if ($4->getType() != Type::UByteTy) - GEN_ERROR("Shift amount must be ubyte!"); + if ($4->getType() != Type::Int8Ty) + GEN_ERROR("Shift amount must be i8 type!"); if (!$2->getType()->isInteger()) GEN_ERROR("Shift constant expression requires integer operand!"); CHECK_FOR_ERROR; @@ -2408,6 +2534,8 @@ CHECK_FOR_ERROR } | CastOps ResolvedVal TO Types { + if (!UpRefs.empty()) + GEN_ERROR("Invalid upreference in type: " + (*$4)->getDescription()); Value* Val = $2; const Type* Ty = $4->get(); if (!Val->getType()->isFirstClassType()) @@ -2415,7 +2543,7 @@ Val->getType()->getDescription() + "'!"); if (!Ty->isFirstClassType()) GEN_ERROR("cast to a non-primitive type: '" + Ty->getDescription() +"'!"); - $$ = CastInst::create($1, $2, $4->get()); + $$ = CastInst::create($1, Val, $4->get()); delete $4; } | SELECT ResolvedVal ',' ResolvedVal ',' ResolvedVal { @@ -2427,6 +2555,8 @@ CHECK_FOR_ERROR } | VAARG ResolvedVal ',' Types { + if (!UpRefs.empty()) + GEN_ERROR("Invalid upreference in type: " + (*$4)->getDescription()); $$ = new VAArgInst($2, *$4); delete $4; CHECK_FOR_ERROR @@ -2464,62 +2594,65 @@ delete $2; // Free the list... CHECK_FOR_ERROR } - | OptTailCall OptCallingConv TypesV ValueRef '(' ValueRefListE ')' { + | OptTailCall OptCallingConv ResultType ValueRef '(' ValueRefList ')' { + + // Handle the short syntax const PointerType *PFTy = 0; const FunctionType *Ty = 0; - - if (!(PFTy = dyn_cast($3->get())) || + if (!(PFTy = dyn_cast($3.Ty->get())) || !(Ty = dyn_cast(PFTy->getElementType()))) { // Pull out the types of all of the arguments... std::vector ParamTypes; - if ($6) { - for (std::vector::iterator I = $6->begin(), E = $6->end(); - I != E; ++I) - ParamTypes.push_back((*I)->getType()); + FunctionType::ParamAttrsList ParamAttrs; + ParamAttrs.push_back($3.Attrs); + for (ValueRefList::iterator I = $6->begin(), E = $6->end(); I != E; ++I) { + const Type *Ty = I->Val->getType(); + if (Ty == Type::VoidTy) + GEN_ERROR("Short call syntax cannot be used with varargs"); + ParamTypes.push_back(Ty); + ParamAttrs.push_back(I->Attrs); } - bool isVarArg = ParamTypes.size() && ParamTypes.back() == Type::VoidTy; - if (isVarArg) ParamTypes.pop_back(); - - if (!(*$3)->isFirstClassType() && *$3 != Type::VoidTy) - GEN_ERROR("LLVM functions cannot return aggregate types!"); - - Ty = FunctionType::get($3->get(), ParamTypes, isVarArg); + Ty = FunctionType::get($3.Ty->get(), ParamTypes, false, ParamAttrs); PFTy = PointerType::get(Ty); } Value *V = getVal(PFTy, $4); // Get the function we're calling... CHECK_FOR_ERROR - // Create the call node... - if (!$6) { // Has no arguments? + // Check the arguments + ValueList Args; + if ($6->empty()) { // Has no arguments? // Make sure no arguments is a good thing! if (Ty->getNumParams() != 0) GEN_ERROR("No arguments passed to a function that " "expects arguments!"); - - $$ = new CallInst(V, std::vector()); } else { // Has arguments? // Loop through FunctionType's arguments and ensure they are specified // correctly! // FunctionType::param_iterator I = Ty->param_begin(); FunctionType::param_iterator E = Ty->param_end(); - std::vector::iterator ArgI = $6->begin(), ArgE = $6->end(); + ValueRefList::iterator ArgI = $6->begin(), ArgE = $6->end(); - for (; ArgI != ArgE && I != E; ++ArgI, ++I) - if ((*ArgI)->getType() != *I) - GEN_ERROR("Parameter " +(*ArgI)->getName()+ " is not of type '" + + for (; ArgI != ArgE && I != E; ++ArgI, ++I) { + if (ArgI->Val->getType() != *I) + GEN_ERROR("Parameter " + ArgI->Val->getName()+ " is not of type '" + (*I)->getDescription() + "'!"); - - if (I != E || (ArgI != ArgE && !Ty->isVarArg())) + Args.push_back(ArgI->Val); + } + if (Ty->isVarArg()) { + if (I == E) + for (; ArgI != ArgE; ++ArgI) + Args.push_back(ArgI->Val); // push the remaining varargs + } else if (I != E || ArgI != ArgE) GEN_ERROR("Invalid number of parameters detected!"); - - $$ = new CallInst(V, *$6); } - cast($$)->setTailCall($1); - cast($$)->setCallingConv($2); - delete $3; + // Create the call node + CallInst *CI = new CallInst(V, Args); + CI->setTailCall($1); + CI->setCallingConv($2); + $$ = CI; delete $6; CHECK_FOR_ERROR } @@ -2528,16 +2661,6 @@ CHECK_FOR_ERROR }; - -// IndexList - List of indices for GEP based instructions... -IndexList : ',' ValueRefList { - $$ = $2; - CHECK_FOR_ERROR - } | /* empty */ { - $$ = new std::vector(); - CHECK_FOR_ERROR - }; - OptVolatile : VOLATILE { $$ = true; CHECK_FOR_ERROR @@ -2550,22 +2673,30 @@ MemoryInst : MALLOC Types OptCAlign { + if (!UpRefs.empty()) + GEN_ERROR("Invalid upreference in type: " + (*$2)->getDescription()); $$ = new MallocInst(*$2, 0, $3); delete $2; CHECK_FOR_ERROR } - | MALLOC Types ',' UINT ValueRef OptCAlign { + | MALLOC Types ',' INT32 ValueRef OptCAlign { + if (!UpRefs.empty()) + GEN_ERROR("Invalid upreference in type: " + (*$2)->getDescription()); Value* tmpVal = getVal($4, $5); CHECK_FOR_ERROR $$ = new MallocInst(*$2, tmpVal, $6); delete $2; } | ALLOCA Types OptCAlign { + if (!UpRefs.empty()) + GEN_ERROR("Invalid upreference in type: " + (*$2)->getDescription()); $$ = new AllocaInst(*$2, 0, $3); delete $2; CHECK_FOR_ERROR } - | ALLOCA Types ',' UINT ValueRef OptCAlign { + | ALLOCA Types ',' INT32 ValueRef OptCAlign { + if (!UpRefs.empty()) + GEN_ERROR("Invalid upreference in type: " + (*$2)->getDescription()); Value* tmpVal = getVal($4, $5); CHECK_FOR_ERROR $$ = new AllocaInst(*$2, tmpVal, $6); @@ -2580,6 +2711,8 @@ } | OptVolatile LOAD Types ValueRef { + if (!UpRefs.empty()) + GEN_ERROR("Invalid upreference in type: " + (*$3)->getDescription()); if (!isa($3->get())) GEN_ERROR("Can't load from nonpointer type: " + (*$3)->getDescription()); @@ -2592,6 +2725,8 @@ delete $3; } | OptVolatile STORE ResolvedVal ',' Types ValueRef { + if (!UpRefs.empty()) + GEN_ERROR("Invalid upreference in type: " + (*$5)->getDescription()); const PointerType *PT = dyn_cast($5->get()); if (!PT) GEN_ERROR("Can't store to a nonpointer type: " + @@ -2607,6 +2742,8 @@ delete $5; } | GETELEMENTPTR Types ValueRef IndexList { + if (!UpRefs.empty()) + GEN_ERROR("Invalid upreference in type: " + (*$2)->getDescription()); if (!isa($2->get())) GEN_ERROR("getelementptr insn requires pointer operand!"); @@ -2623,6 +2760,33 @@ %% +// common code from the two 'RunVMAsmParser' functions +static Module* RunParser(Module * M) { + + llvmAsmlineno = 1; // Reset the current line number... + CurModule.CurrentModule = M; +#if YYDEBUG + yydebug = Debug; +#endif + + // Check to make sure the parser succeeded + if (yyparse()) { + if (ParserResult) + delete ParserResult; + return 0; + } + + // Check to make sure that parsing produced a result + if (!ParserResult) + return 0; + + // Reset ParserResult variable while saving its value for the result. + Module *Result = ParserResult; + ParserResult = 0; + + return Result; +} + void llvm::GenerateError(const std::string &message, int LineNo) { if (LineNo == -1) LineNo = llvmAsmlineno; // TODO: column number in exception From reid at x10sys.com Sat Dec 30 23:41:07 2006 From: reid at x10sys.com (Reid Spencer) Date: Sat, 30 Dec 2006 23:41:07 -0600 Subject: [llvm-commits] CVS: llvm/lib/AsmParser/Lexer.cpp.cvs Lexer.l.cvs ParserInternals.h llvmAsmParser.cpp.cvs llvmAsmParser.h.cvs llvmAsmParser.y.cvs Message-ID: <200612310541.kBV5f7x2011680@zion.cs.uiuc.edu> Changes in directory llvm/lib/AsmParser: Lexer.cpp.cvs updated: 1.20 -> 1.21 Lexer.l.cvs updated: 1.16 -> 1.17 ParserInternals.h updated: 1.50 -> 1.51 llvmAsmParser.cpp.cvs updated: 1.39 -> 1.40 llvmAsmParser.h.cvs updated: 1.32 -> 1.33 llvmAsmParser.y.cvs updated: 1.40 -> 1.41 --- Log message: For PR950: http://llvm.org/PR950 : Regenerate --- Diffs of the changes: (+3192 -2862) Lexer.cpp.cvs | 1470 ++++++++++----------- Lexer.l.cvs | 12 ParserInternals.h | 23 llvmAsmParser.cpp.cvs | 3370 ++++++++++++++++++++++++++------------------------ llvmAsmParser.h.cvs | 525 +++---- llvmAsmParser.y.cvs | 654 ++++++--- 6 files changed, 3192 insertions(+), 2862 deletions(-) Index: llvm/lib/AsmParser/Lexer.cpp.cvs diff -u llvm/lib/AsmParser/Lexer.cpp.cvs:1.20 llvm/lib/AsmParser/Lexer.cpp.cvs:1.21 --- llvm/lib/AsmParser/Lexer.cpp.cvs:1.20 Fri Dec 29 14:30:42 2006 +++ llvm/lib/AsmParser/Lexer.cpp.cvs Sat Dec 30 23:40:51 2006 @@ -20,7 +20,7 @@ /* A lexical scanner generated by flex*/ /* Scanner skeleton version: - * $Header: /var/cvs/llvm/llvm/lib/AsmParser/Lexer.cpp.cvs,v 1.20 2006/12/29 20:30:42 reid Exp $ + * $Header: /var/cvs/llvm/llvm/lib/AsmParser/Lexer.cpp.cvs,v 1.21 2006/12/31 05:40:51 reid Exp $ */ #define FLEX_SCANNER @@ -317,37 +317,37 @@ *yy_cp = '\0'; \ yy_c_buf_p = yy_cp; -#define YY_NUM_RULES 142 -#define YY_END_OF_BUFFER 143 -static yyconst short int yy_acclist[220] = +#define YY_NUM_RULES 138 +#define YY_END_OF_BUFFER 139 +static yyconst short int yy_acclist[216] = { 0, - 143, 141, 142, 140, 141, 142, 140, 142, 141, 142, - 141, 142, 141, 142, 141, 142, 141, 142, 141, 142, - 133, 141, 142, 133, 141, 142, 1, 141, 142, 141, - 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, - 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, - 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, - 142, 141, 142, 141, 142, 141, 142, 141, 142, 141, - 142, 132, 130, 129, 129, 136, 134, 138, 133, 1, - 115, 39, 75, 76, 71, 23, 132, 129, 129, 137, - 138, 20, 138, 139, 61, 70, 37, 32, 40, 3, - - 52, 63, 85, 90, 88, 89, 87, 86, 91, 95, - 114, 80, 78, 110, 79, 77, 62, 93, 84, 82, - 83, 81, 94, 92, 72, 131, 138, 138, 112, 47, - 96, 74, 66, 122, 69, 73, 123, 54, 111, 22, - 135, 65, 99, 68, 24, 4, 59, 64, 53, 67, - 46, 12, 98, 138, 34, 2, 5, 56, 101, 58, - 48, 50, 124, 97, 49, 55, 21, 121, 43, 7, - 57, 28, 42, 105, 104, 8, 117, 31, 120, 36, - 60, 109, 103, 116, 25, 26, 102, 118, 51, 113, - 108, 41, 6, 27, 100, 35, 9, 17, 10, 106, + 139, 137, 138, 136, 137, 138, 136, 138, 137, 138, + 137, 138, 137, 138, 137, 138, 137, 138, 137, 138, + 129, 137, 138, 129, 137, 138, 1, 137, 138, 137, + 138, 137, 138, 137, 138, 137, 138, 137, 138, 137, + 138, 137, 138, 137, 138, 137, 138, 137, 138, 137, + 138, 137, 138, 137, 138, 137, 138, 137, 138, 137, + 138, 137, 138, 137, 138, 137, 138, 137, 138, 137, + 138, 128, 126, 125, 125, 132, 130, 134, 129, 1, + 111, 39, 71, 48, 72, 67, 23, 128, 125, 125, + 133, 134, 20, 134, 135, 57, 66, 37, 32, 40, + + 3, 49, 50, 51, 59, 81, 86, 84, 85, 83, + 82, 87, 91, 110, 76, 74, 106, 75, 73, 58, + 89, 80, 78, 79, 77, 90, 88, 68, 127, 134, + 134, 108, 47, 92, 70, 62, 118, 65, 69, 119, + 107, 22, 131, 61, 95, 64, 24, 4, 55, 60, + 63, 46, 12, 94, 134, 34, 2, 5, 52, 97, + 54, 120, 93, 21, 117, 43, 7, 53, 28, 42, + 101, 100, 8, 113, 31, 116, 36, 56, 105, 99, + 112, 25, 26, 98, 114, 109, 104, 41, 6, 27, + 96, 35, 9, 17, 10, 102, 11, 103, 33, 13, - 11, 107, 33, 13, 15, 14, 30, 38, 16, 29, - 119, 125, 127, 128, 44, 126, 18, 45, 19 + 15, 14, 30, 38, 16, 29, 115, 121, 123, 124, + 44, 122, 18, 45, 19 } ; -static yyconst short int yy_accept[574] = +static yyconst short int yy_accept[558] = { 0, 1, 1, 1, 2, 4, 7, 9, 11, 13, 15, 17, 19, 21, 24, 27, 30, 32, 34, 36, 38, @@ -357,61 +357,59 @@ 81, 81, 81, 81, 81, 81, 81, 81, 81, 82, 82, 83, 83, 83, 83, 83, 83, 83, 83, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, - 84, 84, 84, 84, 84, 84, 84, 84, 84, 85, - 85, 85, 85, 85, 85, 85, 86, 86, 86, 86, + 84, 84, 85, 85, 85, 85, 85, 85, 85, 85, + 85, 85, 85, 86, 86, 86, 86, 86, 86, 86, - 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, - 86, 86, 86, 86, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, - 87, 87, 88, 89, 91, 92, 93, 94, 94, 95, - 96, 96, 96, 97, 97, 97, 98, 98, 99, 99, - 99, 99, 100, 100, 100, 100, 100, 100, 100, 100, - 100, 100, 101, 101, 101, 101, 101, 101, 101, 101, - 101, 101, 101, 101, 101, 101, 101, 102, 102, 102, - 102, 102, 102, 102, 102, 102, 102, 103, 103, 104, - 105, 106, 107, 108, 109, 109, 110, 111, 111, 111, - - 112, 112, 112, 112, 112, 112, 112, 113, 114, 115, - 115, 115, 115, 115, 116, 117, 117, 117, 118, 118, - 118, 118, 118, 118, 118, 118, 118, 119, 120, 121, - 121, 121, 122, 122, 123, 123, 124, 125, 125, 125, - 125, 125, 125, 125, 125, 125, 125, 126, 126, 126, - 127, 128, 128, 128, 128, 129, 129, 129, 129, 130, - 130, 130, 131, 132, 132, 132, 132, 132, 132, 132, - 132, 132, 132, 132, 132, 132, 132, 132, 132, 133, - 134, 134, 134, 134, 134, 135, 136, 136, 136, 137, - 137, 137, 137, 137, 137, 137, 137, 137, 138, 139, - - 140, 140, 140, 141, 141, 141, 141, 142, 142, 143, - 143, 143, 144, 144, 144, 144, 144, 145, 145, 145, - 146, 146, 146, 147, 147, 148, 148, 149, 150, 150, - 150, 150, 150, 150, 151, 151, 151, 152, 152, 153, - 153, 153, 154, 155, 156, 156, 156, 157, 157, 157, - 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, - 157, 157, 158, 158, 159, 160, 160, 160, 160, 160, - 160, 160, 160, 160, 160, 160, 161, 161, 161, 161, - 161, 161, 161, 161, 162, 162, 162, 163, 163, 163, - 163, 164, 164, 164, 164, 165, 166, 166, 167, 168, - - 168, 168, 168, 168, 168, 168, 168, 168, 169, 169, - 169, 170, 170, 170, 170, 170, 171, 171, 171, 171, - 172, 173, 173, 173, 174, 175, 176, 176, 176, 177, - 177, 177, 177, 177, 178, 178, 179, 180, 181, 182, - 182, 182, 182, 183, 183, 183, 184, 185, 186, 187, - 188, 188, 189, 190, 191, 191, 191, 191, 191, 191, - 192, 192, 193, 193, 194, 195, 195, 195, 195, 195, - 195, 196, 196, 196, 196, 196, 196, 196, 196, 196, - 197, 197, 197, 197, 197, 197, 197, 197, 197, 198, - 198, 198, 198, 198, 199, 199, 199, 199, 199, 200, - - 201, 202, 202, 203, 203, 203, 203, 204, 204, 204, - 204, 205, 205, 206, 207, 207, 207, 207, 207, 207, - 207, 207, 207, 207, 207, 207, 207, 208, 208, 208, - 208, 208, 208, 208, 208, 209, 209, 209, 209, 209, - 210, 210, 210, 210, 210, 211, 211, 212, 212, 212, - 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, - 213, 213, 214, 215, 215, 216, 216, 217, 218, 219, - 219, 220, 220 + 87, 87, 87, 87, 87, 87, 87, 88, 88, 88, + 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, + 88, 88, 88, 89, 90, 92, 93, 94, 95, 95, + 96, 97, 97, 97, 98, 98, 98, 99, 99, 100, + 100, 100, 100, 101, 101, 101, 101, 101, 101, 101, + 101, 101, 101, 102, 102, 102, 102, 102, 102, 102, + 102, 102, 102, 102, 102, 103, 104, 105, 105, 105, + 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, + 106, 106, 107, 108, 109, 110, 111, 112, 112, 113, + + 114, 114, 114, 115, 115, 115, 115, 115, 115, 116, + 117, 118, 118, 118, 118, 119, 120, 120, 120, 121, + 121, 121, 121, 121, 121, 121, 121, 122, 123, 124, + 124, 125, 126, 126, 127, 128, 128, 128, 128, 128, + 128, 128, 128, 128, 129, 129, 129, 130, 131, 131, + 131, 131, 132, 132, 132, 132, 133, 133, 133, 134, + 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, + 135, 135, 135, 135, 135, 135, 136, 137, 137, 137, + 137, 137, 138, 139, 139, 139, 140, 140, 140, 140, + 140, 140, 140, 140, 140, 141, 142, 142, 142, 143, + + 143, 143, 143, 144, 145, 145, 145, 146, 146, 146, + 146, 147, 147, 147, 148, 148, 148, 149, 149, 150, + 151, 151, 151, 151, 151, 152, 152, 153, 153, 154, + 154, 154, 155, 156, 157, 157, 157, 158, 158, 158, + 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, + 158, 158, 159, 159, 160, 161, 161, 161, 161, 161, + 161, 161, 161, 161, 161, 161, 162, 162, 162, 162, + 162, 162, 162, 162, 162, 162, 162, 162, 162, 163, + 163, 163, 163, 164, 164, 165, 165, 165, 165, 165, + 165, 165, 165, 166, 166, 166, 167, 167, 167, 167, + + 167, 168, 168, 168, 168, 169, 170, 170, 170, 171, + 172, 173, 173, 173, 174, 174, 174, 174, 174, 175, + 175, 176, 177, 178, 179, 179, 179, 179, 180, 180, + 180, 181, 182, 183, 184, 185, 185, 186, 187, 187, + 187, 187, 187, 187, 188, 188, 189, 189, 190, 191, + 191, 191, 191, 191, 191, 192, 192, 192, 192, 192, + 192, 192, 192, 192, 193, 193, 193, 193, 193, 193, + 193, 193, 193, 194, 194, 194, 194, 194, 195, 195, + 195, 195, 195, 196, 197, 198, 198, 199, 199, 199, + 199, 200, 200, 200, 200, 201, 201, 202, 203, 203, + + 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, + 203, 204, 204, 204, 204, 204, 204, 204, 204, 205, + 205, 205, 205, 205, 206, 206, 206, 206, 206, 207, + 207, 208, 208, 208, 208, 208, 208, 208, 208, 208, + 208, 208, 208, 208, 209, 209, 210, 211, 211, 212, + 212, 213, 214, 215, 215, 216, 216 } ; static yyconst int yy_ec[256] = @@ -420,16 +418,16 @@ 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 4, 1, 5, 6, 1, 1, 1, - 1, 1, 7, 1, 8, 9, 1, 10, 11, 11, - 11, 11, 11, 12, 11, 13, 11, 14, 15, 1, - 1, 1, 1, 1, 16, 16, 16, 16, 17, 16, + 1, 1, 7, 1, 8, 9, 1, 10, 11, 12, + 13, 14, 15, 16, 15, 17, 15, 18, 19, 1, + 1, 1, 1, 1, 20, 20, 20, 20, 21, 20, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 1, 1, 1, 1, 18, 1, 19, 20, 21, 22, + 1, 1, 1, 1, 22, 1, 23, 24, 25, 26, - 23, 24, 25, 26, 27, 5, 28, 29, 30, 31, - 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, - 42, 43, 1, 1, 1, 1, 1, 1, 1, 1, + 27, 28, 29, 30, 31, 5, 32, 33, 34, 35, + 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, + 46, 47, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -446,435 +444,427 @@ 1, 1, 1, 1, 1 } ; -static yyconst int yy_meta[44] = +static yyconst int yy_meta[48] = { 0, - 1, 1, 2, 1, 3, 1, 1, 3, 3, 3, - 3, 3, 3, 4, 1, 3, 3, 3, 3, 3, + 1, 1, 2, 1, 3, 1, 4, 5, 3, 6, + 6, 6, 6, 6, 6, 6, 6, 7, 1, 3, + 8, 3, 3, 3, 3, 3, 8, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3 + 3, 3, 3, 3, 3, 3, 3 } ; -static yyconst short int yy_base[578] = +static yyconst short int yy_base[566] = { 0, - 0, 0, 1234, 1235, 1235, 1235, 1229, 1218, 36, 40, - 44, 50, 56, 62, 0, 63, 66, 81, 89, 47, - 108, 91, 95, 92, 72, 109, 134, 119, 117, 160, - 120, 191, 139, 121, 136, 150, 1227, 1235, 1216, 1235, - 0, 165, 180, 197, 219, 70, 224, 239, 244, 0, - 68, 152, 93, 128, 158, 190, 245, 31, 1215, 188, - 182, 211, 48, 207, 248, 210, 122, 124, 1214, 209, - 257, 259, 185, 260, 261, 262, 263, 264, 265, 266, - 269, 274, 273, 283, 277, 287, 293, 295, 1213, 297, - 298, 299, 304, 305, 306, 307, 303, 317, 319, 309, - - 46, 320, 321, 324, 326, 323, 329, 333, 336, 325, - 344, 346, 353, 1212, 354, 357, 355, 358, 360, 361, - 362, 363, 382, 364, 365, 388, 389, 393, 231, 375, - 394, 1211, 0, 413, 420, 1210, 434, 451, 0, 1209, - 395, 369, 1208, 405, 399, 1207, 413, 1206, 428, 407, - 424, 1205, 438, 436, 452, 454, 425, 442, 441, 453, - 457, 460, 465, 467, 464, 469, 180, 470, 468, 472, - 476, 471, 477, 478, 479, 482, 496, 481, 498, 500, - 501, 502, 504, 506, 503, 484, 1204, 511, 1203, 1202, - 1201, 1200, 1199, 1198, 509, 1197, 1196, 513, 512, 1195, - - 540, 517, 516, 521, 522, 528, 1194, 1193, 1192, 532, - 523, 525, 552, 1191, 1190, 555, 554, 1189, 556, 557, - 558, 559, 564, 565, 560, 561, 1188, 1187, 1186, 562, - 566, 1185, 563, 1184, 567, 1183, 1182, 568, 582, 587, - 588, 589, 590, 591, 593, 397, 1181, 592, 597, 1235, - 615, 629, 603, 633, 638, 604, 608, 639, 1180, 640, - 641, 1179, 1178, 609, 619, 643, 644, 645, 647, 648, - 649, 651, 653, 655, 652, 658, 662, 665, 1177, 1176, - 654, 669, 674, 670, 1175, 1174, 675, 678, 1173, 679, - 680, 681, 682, 685, 689, 687, 691, 1172, 1171, 1170, - - 693, 695, 1169, 684, 686, 697, 0, 703, 1168, 707, - 714, 1167, 713, 716, 718, 719, 1166, 722, 717, 1165, - 723, 725, 1164, 728, 1163, 730, 1162, 1161, 733, 734, - 737, 741, 738, 1160, 742, 744, 1159, 748, 1158, 750, - 749, 1157, 755, 1156, 756, 758, 1155, 757, 767, 759, - 768, 773, 769, 776, 777, 770, 780, 782, 781, 784, - 786, 1154, 787, 1153, 1152, 792, 795, 796, 788, 800, - 802, 803, 804, 806, 807, 1151, 810, 811, 812, 814, - 822, 824, 817, 1150, 828, 809, 1149, 829, 835, 834, - 1148, 605, 836, 838, 1147, 1146, 837, 1145, 1144, 841, - - 842, 839, 840, 852, 849, 843, 855, 1143, 857, 858, - 1142, 860, 861, 863, 864, 1141, 867, 869, 874, 1140, - 1139, 871, 878, 1138, 1137, 1136, 879, 880, 1135, 884, - 885, 883, 882, 1134, 890, 1133, 1132, 1131, 1130, 895, - 898, 900, 1129, 899, 902, 1128, 1127, 1126, 1125, 1124, - 906, 1123, 1122, 1121, 904, 903, 913, 907, 909, 1120, - 910, 1119, 911, 1118, 1117, 914, 922, 923, 924, 927, - 1116, 928, 930, 931, 938, 934, 932, 940, 942, 1115, - 944, 945, 951, 948, 950, 952, 958, 960, 1114, 961, - 963, 964, 966, 1113, 967, 972, 968, 970, 1112, 1111, - - 1110, 977, 1109, 974, 988, 978, 1106, 992, 993, 994, - 1097, 980, 1095, 1094, 996, 997, 1000, 1004, 1002, 976, - 1008, 1010, 1011, 1012, 1013, 1014, 1093, 1016, 1020, 1021, - 1022, 1025, 1029, 1024, 1091, 1032, 1027, 1031, 1035, 1090, - 1039, 1037, 1043, 1044, 1089, 1049, 1088, 1051, 1052, 1055, - 1053, 1054, 1058, 1057, 1062, 1064, 1065, 1063, 1073, 1085, - 1069, 1084, 1082, 1074, 1079, 1078, 520, 427, 368, 1077, - 328, 1235, 1112, 1114, 287, 1118, 151 + 0, 0, 1196, 1197, 1197, 1197, 1191, 1176, 40, 0, + 48, 58, 68, 1148, 0, 68, 71, 81, 91, 52, + 97, 98, 126, 110, 117, 120, 136, 138, 73, 170, + 159, 205, 134, 131, 56, 137, 1188, 1197, 1173, 1197, + 0, 235, 0, 1181, 1180, 158, 243, 1143, 261, 0, + 70, 154, 93, 31, 160, 163, 175, 57, 1169, 173, + 192, 189, 127, 54, 200, 202, 166, 195, 1168, 201, + 250, 114, 171, 225, 273, 212, 251, 244, 53, 215, + 249, 1167, 261, 275, 276, 278, 280, 281, 211, 285, + 279, 289, 1166, 290, 288, 283, 293, 309, 307, 311, + + 310, 313, 314, 315, 295, 317, 321, 320, 325, 324, + 333, 337, 327, 344, 339, 341, 1165, 351, 334, 355, + 357, 358, 359, 360, 370, 363, 361, 371, 380, 376, + 366, 373, 1164, 0, 0, 386, 1163, 0, 412, 0, + 1162, 392, 397, 1161, 390, 393, 1160, 412, 1159, 413, + 416, 417, 1158, 418, 419, 421, 422, 423, 424, 428, + 433, 429, 434, 436, 439, 440, 448, 444, 449, 450, + 452, 455, 451, 453, 1157, 1156, 1155, 456, 465, 472, + 474, 458, 478, 94, 462, 482, 468, 479, 484, 1154, + 486, 1153, 1152, 1151, 1150, 1149, 1148, 491, 1147, 1146, + + 488, 492, 1145, 524, 499, 502, 495, 512, 1144, 1143, + 1142, 493, 498, 496, 1141, 1140, 528, 536, 1139, 537, + 538, 539, 540, 545, 500, 541, 1138, 1137, 1136, 543, + 1135, 1134, 542, 1133, 1132, 546, 552, 547, 564, 548, + 567, 568, 506, 1131, 558, 570, 1197, 568, 258, 584, + 589, 591, 575, 583, 584, 1130, 585, 586, 1129, 1128, + 587, 588, 589, 595, 598, 596, 604, 597, 599, 605, + 609, 600, 618, 607, 619, 1127, 1126, 606, 608, 622, + 625, 1125, 1124, 627, 628, 1123, 630, 632, 634, 636, + 637, 635, 638, 643, 1122, 1121, 641, 645, 1120, 640, + + 647, 648, 0, 1119, 652, 661, 1118, 657, 662, 663, + 1117, 669, 672, 1116, 674, 675, 1115, 677, 1114, 1113, + 676, 681, 680, 682, 1112, 687, 1111, 688, 1110, 692, + 693, 1109, 0, 1108, 689, 695, 1107, 696, 697, 700, + 709, 707, 698, 701, 715, 713, 717, 720, 722, 723, + 724, 1106, 726, 1105, 1104, 725, 728, 727, 734, 730, + 735, 737, 742, 746, 747, 1103, 749, 748, 754, 753, + 755, 758, 750, 752, 768, 769, 771, 773, 1102, 774, + 772, 776, 1101, 775, 1100, 780, 782, 777, 783, 793, + 778, 789, 1099, 797, 779, 1098, 799, 800, 803, 804, + + 1097, 805, 808, 811, 1096, 1095, 814, 809, 1094, 1093, + 1092, 815, 812, 1091, 821, 824, 820, 817, 1090, 834, + 1089, 1088, 1087, 1086, 823, 835, 836, 1085, 837, 838, + 1084, 1083, 1082, 1081, 1080, 839, 1079, 1078, 842, 843, + 847, 845, 849, 1077, 850, 1076, 854, 1075, 1070, 856, + 859, 860, 861, 862, 1067, 869, 864, 867, 868, 863, + 870, 874, 875, 1064, 885, 888, 887, 890, 889, 893, + 891, 894, 1056, 895, 901, 902, 904, 1053, 903, 906, + 907, 908, 1050, 1044, 1033, 909, 1032, 911, 921, 926, + 1031, 927, 931, 916, 1030, 915, 1026, 1025, 935, 933, + + 937, 939, 941, 943, 945, 946, 947, 948, 949, 950, + 1024, 951, 954, 956, 958, 959, 967, 961, 1023, 971, + 963, 973, 974, 1022, 977, 979, 982, 966, 1018, 985, + 1016, 990, 987, 991, 992, 993, 997, 996, 999, 1000, + 1001, 998, 1006, 549, 1011, 513, 466, 1010, 398, 1012, + 331, 291, 208, 1013, 168, 1197, 1052, 1058, 1064, 177, + 1072, 1078, 123, 1081, 1086 } ; -static yyconst short int yy_def[578] = +static yyconst short int yy_def[566] = { 0, - 572, 1, 572, 572, 572, 572, 573, 574, 575, 572, - 574, 574, 574, 574, 576, 574, 574, 574, 574, 574, - 574, 574, 574, 574, 574, 574, 574, 574, 574, 574, - 574, 574, 574, 574, 574, 574, 573, 572, 574, 572, - 577, 577, 572, 572, 574, 574, 574, 574, 574, 576, - 574, 574, 574, 574, 574, 574, 574, 574, 574, 574, - 574, 574, 574, 574, 574, 574, 574, 574, 574, 574, - 574, 574, 574, 574, 574, 574, 574, 574, 574, 574, - 574, 574, 574, 574, 574, 574, 574, 574, 574, 574, - 574, 574, 574, 574, 574, 574, 574, 574, 574, 574, - - 574, 574, 574, 574, 574, 574, 574, 574, 574, 574, - 574, 574, 574, 574, 574, 574, 574, 574, 574, 574, - 574, 574, 574, 574, 574, 574, 574, 574, 574, 574, - 574, 572, 577, 577, 572, 574, 574, 574, 49, 574, - 574, 574, 574, 574, 574, 574, 574, 574, 574, 574, - 574, 574, 574, 574, 574, 574, 574, 574, 574, 574, - 574, 574, 574, 574, 574, 574, 574, 574, 574, 574, - 574, 574, 574, 574, 574, 574, 574, 574, 574, 574, - 574, 574, 574, 574, 574, 574, 574, 574, 574, 574, - 574, 574, 574, 574, 574, 574, 574, 574, 574, 574, - - 49, 574, 574, 574, 574, 574, 574, 574, 574, 574, - 574, 574, 574, 574, 574, 574, 574, 574, 574, 574, - 574, 574, 574, 574, 574, 574, 574, 574, 574, 574, - 574, 574, 574, 574, 574, 574, 574, 574, 574, 574, - 574, 574, 574, 574, 574, 574, 574, 574, 574, 572, - 572, 572, 572, 574, 574, 574, 574, 574, 574, 574, - 574, 574, 574, 574, 574, 574, 574, 574, 574, 574, - 574, 574, 574, 574, 574, 574, 574, 574, 574, 574, - 574, 574, 574, 574, 574, 574, 574, 574, 574, 574, - 574, 574, 574, 574, 574, 574, 574, 574, 574, 574, - - 574, 574, 574, 574, 574, 574, 201, 574, 574, 574, - 574, 574, 574, 574, 574, 574, 574, 574, 574, 574, - 574, 574, 574, 574, 574, 574, 574, 574, 574, 574, - 574, 574, 574, 574, 574, 574, 574, 574, 574, 574, - 574, 574, 572, 574, 574, 574, 574, 574, 574, 574, - 574, 574, 574, 574, 574, 574, 574, 574, 574, 574, - 574, 574, 574, 574, 574, 574, 574, 574, 574, 574, - 574, 574, 574, 574, 574, 574, 574, 574, 574, 574, - 574, 574, 574, 574, 574, 574, 574, 574, 574, 574, - 574, 574, 574, 574, 574, 574, 574, 574, 574, 574, - - 574, 574, 574, 574, 574, 574, 574, 574, 574, 574, - 574, 574, 574, 574, 574, 574, 574, 574, 574, 574, - 574, 574, 574, 574, 574, 574, 574, 574, 574, 574, - 574, 574, 574, 574, 574, 574, 574, 574, 574, 574, - 574, 574, 574, 574, 574, 574, 574, 574, 574, 574, - 574, 574, 574, 574, 574, 574, 574, 574, 574, 574, - 574, 574, 574, 574, 574, 574, 574, 574, 574, 574, - 574, 574, 574, 574, 574, 574, 574, 574, 574, 574, - 574, 574, 574, 574, 574, 574, 574, 574, 574, 574, - 574, 574, 574, 574, 574, 574, 574, 574, 574, 574, - - 574, 574, 574, 574, 574, 574, 574, 574, 574, 574, - 574, 574, 574, 574, 574, 574, 574, 574, 574, 574, - 574, 574, 574, 574, 574, 574, 574, 574, 574, 574, - 574, 574, 574, 574, 574, 574, 574, 574, 574, 574, - 574, 574, 574, 574, 574, 574, 574, 574, 574, 574, - 574, 574, 574, 574, 574, 574, 574, 574, 574, 574, - 574, 574, 574, 574, 574, 574, 574, 574, 574, 574, - 574, 0, 572, 572, 572, 572, 572 + 556, 1, 556, 556, 556, 556, 557, 558, 559, 560, + 558, 558, 11, 13, 561, 558, 558, 558, 558, 558, + 558, 558, 558, 558, 558, 558, 558, 558, 558, 558, + 558, 558, 558, 558, 558, 558, 557, 556, 558, 556, + 562, 562, 563, 560, 11, 558, 11, 13, 11, 561, + 558, 558, 558, 558, 558, 558, 558, 558, 558, 558, + 558, 558, 558, 558, 558, 558, 558, 558, 558, 558, + 558, 558, 558, 558, 558, 558, 558, 558, 558, 558, + 558, 558, 558, 558, 558, 558, 558, 558, 558, 558, + 558, 558, 558, 558, 558, 558, 558, 558, 558, 558, + + 558, 558, 558, 558, 558, 558, 558, 558, 558, 558, + 558, 558, 558, 558, 558, 558, 558, 558, 558, 558, + 558, 558, 558, 558, 558, 558, 558, 558, 558, 558, + 558, 558, 556, 562, 42, 564, 558, 47, 11, 49, + 558, 558, 558, 558, 558, 558, 558, 558, 558, 558, + 558, 558, 558, 558, 558, 558, 558, 558, 558, 558, + 558, 558, 558, 558, 558, 558, 558, 558, 558, 558, + 558, 558, 558, 558, 558, 558, 558, 558, 558, 558, + 558, 558, 558, 558, 558, 558, 558, 558, 558, 558, + 558, 558, 558, 558, 558, 558, 558, 558, 558, 558, + + 558, 558, 558, 49, 558, 558, 558, 558, 558, 558, + 558, 558, 558, 558, 558, 558, 558, 558, 558, 558, + 558, 558, 558, 558, 558, 558, 558, 558, 558, 558, + 558, 558, 558, 558, 558, 558, 558, 558, 558, 558, + 558, 558, 558, 558, 558, 558, 556, 564, 565, 565, + 139, 139, 558, 558, 558, 558, 558, 558, 558, 558, + 558, 558, 558, 558, 558, 558, 558, 558, 558, 558, + 558, 558, 558, 558, 558, 558, 558, 558, 558, 558, + 558, 558, 558, 558, 558, 558, 558, 558, 558, 558, + 558, 558, 558, 558, 558, 558, 558, 558, 558, 558, + + 558, 558, 204, 558, 558, 558, 558, 558, 558, 558, + 558, 558, 558, 558, 558, 558, 558, 558, 558, 558, + 558, 558, 558, 558, 558, 558, 558, 558, 558, 558, + 558, 558, 250, 558, 558, 558, 558, 558, 558, 558, + 558, 558, 558, 558, 558, 558, 558, 558, 558, 558, + 558, 558, 558, 558, 558, 558, 558, 558, 558, 558, + 558, 558, 558, 558, 558, 558, 558, 558, 558, 558, + 558, 558, 558, 558, 558, 558, 558, 558, 558, 558, + 558, 558, 558, 558, 558, 558, 558, 558, 558, 558, + 558, 558, 558, 558, 558, 558, 558, 558, 558, 558, + + 558, 558, 558, 558, 558, 558, 558, 558, 558, 558, + 558, 558, 558, 558, 558, 558, 558, 558, 558, 558, + 558, 558, 558, 558, 558, 558, 558, 558, 558, 558, + 558, 558, 558, 558, 558, 558, 558, 558, 558, 558, + 558, 558, 558, 558, 558, 558, 558, 558, 558, 558, + 558, 558, 558, 558, 558, 558, 558, 558, 558, 558, + 558, 558, 558, 558, 558, 558, 558, 558, 558, 558, + 558, 558, 558, 558, 558, 558, 558, 558, 558, 558, + 558, 558, 558, 558, 558, 558, 558, 558, 558, 558, + 558, 558, 558, 558, 558, 558, 558, 558, 558, 558, + + 558, 558, 558, 558, 558, 558, 558, 558, 558, 558, + 558, 558, 558, 558, 558, 558, 558, 558, 558, 558, + 558, 558, 558, 558, 558, 558, 558, 558, 558, 558, + 558, 558, 558, 558, 558, 558, 558, 558, 558, 558, + 558, 558, 558, 558, 558, 558, 558, 558, 558, 558, + 558, 558, 558, 558, 558, 0, 556, 556, 556, 556, + 556, 556, 556, 556, 556 } ; -static yyconst short int yy_nxt[1279] = +static yyconst short int yy_nxt[1245] = { 0, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, - 14, 14, 14, 4, 15, 8, 8, 8, 16, 17, - 18, 19, 20, 21, 22, 8, 23, 8, 24, 25, - 26, 27, 28, 8, 29, 30, 31, 32, 33, 34, - 35, 8, 36, 42, 40, 43, 43, 43, 43, 44, - 44, 44, 44, 45, 45, 45, 45, 40, 46, 40, - 40, 40, 150, 40, 47, 48, 48, 48, 48, 40, - 47, 48, 48, 48, 48, 40, 40, 68, 136, 40, - 69, 40, 155, 40, 51, 40, 201, 70, 56, 140, - 86, 52, 57, 53, 40, 54, 49, 58, 55, 60, - - 59, 61, 40, 87, 40, 40, 40, 64, 40, 88, - 82, 65, 62, 77, 143, 79, 63, 66, 83, 78, - 67, 40, 40, 84, 80, 81, 71, 85, 72, 73, - 40, 89, 40, 40, 40, 40, 74, 40, 113, 100, - 75, 40, 76, 128, 97, 162, 90, 40, 129, 40, - 98, 114, 40, 133, 115, 99, 91, 126, 92, 161, - 144, 116, 93, 40, 94, 40, 95, 130, 96, 101, - 127, 40, 131, 40, 134, 134, 134, 134, 141, 102, - 142, 103, 104, 145, 105, 106, 107, 146, 108, 43, - 43, 43, 43, 40, 109, 40, 110, 111, 40, 112, - - 101, 40, 152, 40, 40, 135, 44, 44, 44, 44, - 117, 167, 118, 119, 147, 120, 151, 121, 280, 122, - 40, 123, 40, 40, 40, 124, 125, 47, 45, 45, - 45, 45, 40, 137, 137, 137, 137, 40, 160, 153, - 138, 154, 246, 156, 40, 163, 138, 47, 48, 48, - 48, 48, 40, 139, 139, 139, 139, 40, 40, 139, - 139, 40, 139, 139, 139, 139, 139, 139, 157, 148, - 40, 158, 40, 40, 40, 40, 40, 40, 40, 40, - 159, 149, 40, 169, 171, 164, 40, 40, 166, 41, - 40, 168, 165, 179, 174, 173, 40, 170, 175, 172, - - 40, 182, 184, 180, 176, 177, 40, 178, 40, 181, - 40, 40, 40, 183, 186, 185, 40, 40, 40, 40, - 40, 190, 40, 187, 195, 188, 192, 194, 196, 197, - 40, 189, 40, 40, 40, 191, 40, 40, 40, 40, - 193, 40, 40, 198, 204, 200, 40, 203, 207, 40, - 212, 209, 205, 199, 210, 214, 217, 40, 216, 40, - 211, 202, 208, 218, 206, 213, 40, 40, 40, 215, - 40, 40, 219, 40, 40, 40, 40, 40, 40, 220, - 222, 40, 40, 228, 226, 232, 240, 221, 40, 224, - 241, 223, 230, 227, 233, 40, 225, 229, 231, 234, - - 257, 40, 40, 235, 236, 242, 40, 40, 40, 247, - 40, 245, 40, 237, 340, 243, 238, 244, 40, 256, - 40, 239, 134, 134, 134, 134, 40, 258, 248, 251, - 251, 251, 251, 259, 249, 262, 252, 40, 40, 260, - 40, 40, 252, 137, 137, 137, 137, 40, 261, 40, - 138, 40, 263, 268, 40, 40, 138, 253, 254, 264, - 255, 255, 255, 255, 40, 40, 40, 40, 269, 270, - 40, 265, 267, 40, 266, 271, 273, 40, 40, 272, - 40, 40, 40, 40, 40, 40, 274, 275, 281, 40, - 40, 40, 40, 287, 40, 40, 288, 40, 285, 276, - - 278, 279, 277, 283, 291, 286, 284, 290, 282, 40, - 289, 40, 294, 40, 40, 40, 40, 40, 292, 40, - 295, 302, 40, 298, 40, 40, 40, 296, 299, 40, - 40, 301, 293, 40, 40, 40, 40, 297, 40, 303, - 300, 40, 304, 305, 311, 40, 314, 315, 306, 307, - 307, 307, 307, 308, 309, 307, 307, 310, 307, 307, - 307, 307, 307, 307, 312, 40, 313, 40, 40, 40, - 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, - 40, 40, 321, 316, 317, 320, 323, 325, 318, 331, - 332, 322, 319, 330, 324, 40, 326, 329, 328, 327, + 14, 14, 14, 14, 14, 14, 14, 4, 15, 8, + 8, 8, 16, 17, 18, 19, 20, 21, 22, 8, + 23, 8, 24, 25, 26, 27, 28, 8, 29, 30, + 31, 32, 33, 34, 35, 8, 36, 42, 40, 43, + 43, 43, 43, 43, 43, 43, 43, 45, 45, 45, + 45, 45, 45, 45, 45, 40, 46, 145, 175, 40, + 40, 40, 130, 40, 40, 40, 47, 48, 48, 48, + 48, 48, 48, 48, 48, 40, 68, 40, 40, 69, + 40, 131, 151, 51, 157, 141, 70, 56, 40, 104, + + 52, 57, 53, 60, 54, 61, 58, 55, 40, 59, + 40, 40, 49, 64, 40, 40, 62, 65, 144, 71, + 63, 72, 73, 66, 77, 293, 67, 40, 43, 74, + 78, 40, 86, 75, 40, 76, 79, 40, 80, 90, + 87, 81, 82, 40, 40, 88, 93, 167, 40, 89, + 83, 40, 91, 40, 40, 40, 127, 129, 92, 84, + 85, 94, 95, 132, 96, 156, 137, 101, 97, 128, + 98, 40, 99, 102, 100, 40, 40, 40, 103, 105, + 40, 116, 44, 40, 142, 40, 143, 40, 40, 146, + 40, 148, 40, 147, 117, 106, 107, 118, 108, 109, + + 110, 168, 111, 149, 119, 152, 40, 162, 112, 40, + 113, 114, 40, 115, 105, 150, 153, 40, 40, 40, + 163, 154, 40, 155, 158, 40, 176, 159, 40, 40, + 120, 121, 40, 122, 161, 123, 160, 124, 172, 125, + 187, 164, 40, 126, 135, 135, 135, 135, 135, 135, + 135, 135, 138, 138, 138, 138, 138, 138, 138, 138, + 169, 40, 177, 139, 250, 250, 40, 40, 40, 139, + 140, 140, 140, 140, 140, 140, 140, 140, 40, 174, + 140, 140, 165, 140, 140, 140, 140, 140, 140, 166, + 40, 173, 40, 40, 178, 40, 40, 40, 40, 170, + + 40, 183, 40, 186, 189, 40, 40, 40, 40, 193, + 40, 179, 40, 171, 184, 180, 181, 188, 182, 195, + 185, 190, 191, 194, 40, 192, 40, 40, 40, 198, + 40, 40, 40, 196, 40, 197, 199, 40, 40, 204, + 200, 40, 40, 201, 40, 206, 209, 205, 40, 213, + 40, 40, 202, 207, 40, 203, 40, 211, 40, 215, + 210, 40, 218, 217, 214, 208, 212, 219, 40, 220, + 225, 221, 40, 216, 40, 40, 40, 40, 40, 222, + 40, 223, 239, 40, 228, 226, 231, 40, 40, 238, + 40, 243, 224, 40, 227, 233, 234, 40, 229, 230, + + 232, 240, 242, 241, 244, 235, 249, 40, 236, 40, + 40, 245, 249, 237, 40, 40, 255, 246, 250, 251, + 253, 252, 252, 252, 252, 252, 252, 252, 252, 40, + 40, 256, 254, 40, 40, 40, 40, 258, 40, 40, + 40, 40, 257, 261, 264, 40, 40, 263, 259, 260, + 40, 40, 270, 40, 266, 265, 40, 40, 262, 268, + 267, 40, 272, 269, 271, 40, 40, 40, 40, 40, + 40, 278, 40, 40, 273, 40, 285, 284, 274, 40, + 275, 282, 40, 40, 276, 40, 277, 280, 283, 40, + 281, 40, 286, 291, 279, 40, 40, 287, 288, 40, + + 289, 40, 294, 40, 292, 40, 296, 295, 40, 40, + 40, 297, 40, 40, 290, 40, 40, 40, 299, 40, + 308, 306, 301, 40, 309, 298, 319, 330, 300, 40, + 40, 310, 302, 303, 303, 303, 303, 303, 303, 303, + 303, 304, 305, 303, 303, 40, 303, 303, 303, 303, + 303, 303, 307, 40, 40, 40, 40, 40, 40, 40, + 40, 311, 40, 40, 40, 40, 40, 315, 322, 40, + 314, 317, 323, 327, 312, 40, 316, 313, 321, 318, + 325, 40, 324, 320, 40, 40, 326, 40, 249, 328, + 556, 556, 40, 331, 249, 556, 39, 556, 39, 329, + + 40, 40, 40, 40, 40, 40, 40, 335, 338, 334, + 332, 339, 40, 40, 40, 40, 40, 40, 336, 337, + 343, 40, 40, 40, 40, 40, 40, 342, 340, 341, + 344, 349, 347, 352, 345, 40, 40, 348, 350, 40, + 351, 346, 40, 353, 40, 40, 354, 40, 355, 40, + 360, 40, 40, 40, 40, 40, 361, 40, 40, 359, + 40, 356, 40, 357, 40, 40, 358, 366, 365, 40, + 362, 364, 363, 367, 40, 368, 369, 370, 40, 40, + 40, 371, 374, 373, 376, 375, 40, 372, 377, 40, + 378, 40, 40, 40, 40, 379, 380, 40, 40, 40, + + 381, 383, 386, 384, 40, 40, 40, 382, 385, 40, + 40, 393, 40, 40, 40, 40, 387, 40, 40, 390, + 394, 396, 397, 392, 40, 388, 40, 401, 389, 399, + 40, 391, 40, 398, 40, 395, 400, 40, 402, 40, + 40, 40, 40, 40, 40, 40, 405, 40, 408, 403, + 409, 40, 40, 404, 40, 410, 406, 407, 411, 40, + 413, 412, 414, 40, 40, 40, 40, 40, 415, 40, + 40, 40, 40, 419, 421, 40, 417, 416, 422, 423, + 426, 424, 418, 420, 425, 40, 40, 427, 40, 40, + 40, 40, 40, 40, 40, 40, 40, 40, 430, 40, + + 40, 429, 434, 432, 436, 438, 40, 437, 428, 431, + 40, 435, 433, 439, 40, 440, 40, 40, 441, 444, + 40, 40, 40, 442, 446, 40, 40, 443, 40, 40, + 448, 40, 40, 445, 40, 452, 453, 40, 40, 455, + 40, 40, 459, 450, 449, 456, 451, 457, 447, 454, + 458, 40, 40, 40, 40, 40, 40, 460, 461, 40, + 40, 462, 40, 465, 40, 466, 40, 40, 467, 463, + 464, 40, 470, 40, 468, 471, 40, 40, 40, 40, + 40, 40, 469, 472, 40, 40, 40, 40, 479, 474, + 473, 40, 40, 478, 475, 480, 485, 476, 481, 482, + + 483, 484, 40, 477, 40, 40, 40, 40, 40, 490, + 40, 40, 40, 486, 489, 487, 491, 493, 40, 40, + 40, 40, 495, 40, 40, 40, 40, 488, 40, 492, + 499, 494, 40, 40, 503, 500, 496, 505, 40, 504, + 501, 497, 498, 40, 40, 506, 510, 502, 40, 507, + 40, 508, 40, 509, 40, 511, 40, 512, 40, 513, + 40, 515, 40, 40, 40, 40, 40, 40, 40, 518, + 521, 40, 523, 40, 516, 40, 40, 514, 40, 520, + 40, 522, 524, 40, 40, 528, 519, 525, 40, 517, + 40, 40, 526, 529, 40, 532, 40, 531, 527, 40, + + 538, 530, 40, 535, 40, 533, 534, 40, 40, 40, + 40, 541, 537, 40, 40, 40, 40, 40, 40, 536, + 539, 542, 540, 40, 548, 549, 543, 40, 40, 40, + 40, 544, 545, 40, 553, 40, 546, 547, 554, 40, + 40, 40, 40, 40, 550, 552, 551, 40, 40, 40, + 40, 555, 37, 37, 37, 37, 37, 37, 37, 37, + 39, 40, 39, 39, 39, 39, 41, 40, 41, 41, + 40, 41, 50, 40, 50, 50, 50, 50, 50, 50, + 134, 40, 134, 134, 40, 134, 248, 40, 248, 333, + 333, 333, 40, 40, 40, 40, 40, 40, 40, 40, - 40, 40, 40, 40, 40, 40, 40, 336, 333, 338, - 40, 337, 343, 343, 343, 343, 334, 40, 40, 335, - 339, 40, 40, 341, 251, 251, 251, 251, 345, 349, - 447, 252, 40, 342, 344, 253, 253, 252, 343, 343, - 343, 343, 255, 255, 255, 255, 40, 255, 255, 255, - 255, 40, 40, 40, 40, 350, 40, 40, 40, 348, - 40, 40, 40, 353, 40, 40, 40, 40, 40, 346, - 347, 40, 352, 359, 355, 40, 361, 354, 40, 351, - 357, 358, 40, 40, 362, 363, 360, 40, 40, 356, - 364, 40, 40, 40, 40, 40, 370, 40, 40, 40, - - 40, 371, 40, 369, 40, 365, 40, 368, 40, 366, - 40, 367, 375, 374, 372, 373, 40, 376, 377, 378, - 40, 381, 382, 380, 379, 384, 40, 40, 383, 40, - 40, 40, 40, 385, 386, 40, 40, 392, 40, 388, - 389, 40, 390, 40, 391, 393, 40, 40, 395, 387, - 40, 40, 396, 394, 40, 40, 397, 40, 398, 400, - 399, 40, 40, 40, 343, 343, 343, 343, 401, 40, - 40, 40, 40, 405, 408, 407, 402, 412, 403, 409, - 40, 40, 40, 40, 404, 406, 40, 411, 413, 40, - 40, 414, 410, 40, 40, 40, 417, 40, 416, 40, - - 40, 40, 418, 415, 420, 40, 423, 424, 40, 40, - 428, 421, 419, 40, 422, 40, 40, 40, 425, 40, - 40, 426, 40, 40, 40, 40, 427, 40, 429, 434, - 40, 430, 437, 436, 432, 40, 438, 40, 433, 431, - 435, 40, 40, 441, 439, 443, 440, 40, 40, 40, - 40, 40, 40, 40, 40, 40, 40, 444, 445, 442, - 449, 451, 40, 452, 454, 40, 446, 456, 40, 450, - 40, 40, 448, 40, 40, 453, 40, 40, 455, 457, - 40, 462, 40, 459, 40, 458, 464, 40, 468, 469, - 461, 40, 40, 40, 460, 40, 40, 40, 40, 471, - - 466, 475, 465, 40, 463, 467, 473, 474, 40, 472, - 477, 40, 40, 40, 470, 40, 40, 40, 476, 40, - 40, 481, 40, 40, 40, 482, 40, 40, 479, 478, - 480, 483, 484, 487, 486, 40, 40, 40, 485, 488, - 40, 40, 490, 40, 40, 40, 489, 40, 491, 495, - 496, 40, 494, 40, 501, 40, 492, 40, 40, 498, - 497, 40, 493, 40, 40, 40, 499, 505, 500, 506, - 507, 40, 509, 40, 40, 502, 40, 40, 503, 40, - 40, 40, 504, 40, 511, 40, 508, 40, 515, 40, - 40, 40, 519, 40, 510, 516, 521, 523, 512, 513, - - 514, 40, 517, 520, 518, 40, 40, 40, 522, 40, - 40, 525, 524, 40, 528, 40, 527, 40, 533, 529, - 526, 40, 531, 40, 40, 40, 40, 40, 534, 40, - 537, 532, 539, 40, 40, 40, 530, 40, 40, 536, - 40, 538, 40, 540, 40, 40, 535, 544, 40, 541, - 40, 545, 40, 542, 547, 548, 40, 40, 543, 549, - 546, 551, 40, 550, 40, 40, 40, 40, 40, 553, - 40, 40, 557, 552, 554, 40, 40, 40, 40, 556, - 555, 558, 40, 559, 564, 565, 40, 40, 560, 561, - 40, 40, 40, 562, 569, 40, 563, 40, 40, 568, - - 570, 40, 40, 40, 40, 566, 40, 40, 40, 567, - 40, 571, 37, 37, 37, 37, 39, 39, 50, 40, - 50, 50, 40, 40, 40, 40, 40, 40, 40, 40, - 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, - 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, - 40, 40, 40, 40, 250, 40, 40, 40, 40, 40, - 132, 40, 38, 572, 3, 572, 572, 572, 572, 572, - 572, 572, 572, 572, 572, 572, 572, 572, 572, 572, - 572, 572, 572, 572, 572, 572, 572, 572, 572, 572, - 572, 572, 572, 572, 572, 572, 572, 572, 572, 572, - 572, 572, 572, 572, 572, 572, 572, 572 + 40, 247, 40, 40, 40, 40, 40, 39, 47, 136, + 40, 133, 39, 40, 38, 556, 3, 556, 556, 556, + + 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, + 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, + 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, + 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, + 556, 556, 556, 556 } ; -static yyconst short int yy_chk[1279] = +static yyconst short int yy_chk[1245] = { 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 9, 58, 9, 9, 9, 9, 10, - 10, 10, 10, 11, 11, 11, 11, 11, 12, 101, - 20, 63, 58, 12, 13, 13, 13, 13, 13, 13, - 14, 14, 14, 14, 14, 14, 16, 20, 46, 17, - 20, 51, 63, 46, 16, 25, 101, 20, 17, 51, - 25, 16, 17, 16, 18, 16, 13, 17, 16, 18, - - 17, 18, 19, 25, 22, 24, 53, 19, 23, 25, - 24, 19, 18, 22, 53, 23, 18, 19, 24, 22, - 19, 21, 26, 24, 23, 23, 21, 24, 21, 21, - 29, 26, 28, 31, 34, 67, 21, 68, 31, 29, - 21, 54, 21, 34, 28, 68, 26, 27, 35, 35, - 28, 31, 33, 577, 31, 28, 27, 33, 27, 67, - 54, 31, 27, 36, 27, 52, 27, 35, 27, 30, - 33, 55, 36, 30, 42, 42, 42, 42, 52, 30, - 52, 30, 30, 55, 30, 30, 30, 55, 30, 43, - 43, 43, 43, 167, 30, 61, 30, 30, 73, 30, - - 32, 60, 61, 56, 32, 44, 44, 44, 44, 44, - 32, 73, 32, 32, 56, 32, 60, 32, 167, 32, - 64, 32, 70, 66, 62, 32, 32, 45, 45, 45, - 45, 45, 45, 47, 47, 47, 47, 47, 66, 62, - 47, 62, 129, 64, 129, 70, 47, 48, 48, 48, - 48, 48, 48, 49, 49, 49, 49, 49, 57, 49, - 49, 65, 49, 49, 49, 49, 49, 49, 65, 57, - 71, 65, 72, 74, 75, 76, 77, 78, 79, 80, - 65, 57, 81, 75, 76, 71, 83, 82, 72, 575, - 85, 74, 71, 82, 79, 78, 84, 75, 80, 77, - - 86, 84, 85, 83, 81, 81, 87, 81, 88, 83, - 90, 91, 92, 84, 87, 86, 97, 93, 94, 95, - 96, 92, 100, 88, 95, 90, 93, 94, 96, 97, - 98, 91, 99, 102, 103, 92, 106, 104, 110, 105, - 93, 571, 107, 98, 104, 100, 108, 103, 105, 109, - 107, 106, 104, 99, 106, 108, 110, 111, 109, 112, - 106, 102, 105, 111, 104, 107, 113, 115, 117, 108, - 116, 118, 112, 119, 120, 121, 122, 124, 125, 113, - 115, 569, 142, 120, 118, 122, 124, 113, 130, 116, - 125, 115, 121, 119, 122, 123, 117, 120, 121, 122, - - 142, 126, 127, 123, 123, 126, 128, 131, 141, 130, - 246, 128, 145, 123, 246, 127, 123, 127, 144, 141, - 150, 123, 134, 134, 134, 134, 147, 144, 131, 135, - 135, 135, 135, 145, 131, 150, 135, 151, 157, 147, - 568, 149, 135, 137, 137, 137, 137, 137, 149, 154, - 137, 153, 151, 157, 159, 158, 137, 138, 138, 153, - 138, 138, 138, 138, 138, 155, 160, 156, 158, 159, - 161, 154, 156, 162, 155, 160, 161, 165, 163, 160, - 164, 169, 166, 168, 172, 170, 162, 163, 168, 171, - 173, 174, 175, 172, 178, 176, 173, 186, 171, 163, - - 165, 166, 164, 170, 176, 171, 170, 175, 169, 177, - 174, 179, 178, 180, 181, 182, 185, 183, 177, 184, - 179, 186, 195, 182, 188, 199, 198, 180, 183, 203, - 202, 185, 177, 567, 204, 205, 211, 181, 212, 188, - 184, 206, 195, 198, 205, 210, 211, 212, 199, 201, - 201, 201, 201, 202, 203, 201, 201, 204, 201, 201, - 201, 201, 201, 201, 206, 213, 210, 217, 216, 219, - 220, 221, 222, 225, 226, 230, 233, 223, 224, 231, - 235, 238, 221, 213, 216, 220, 223, 224, 217, 235, - 238, 222, 219, 233, 223, 239, 225, 231, 230, 226, - - 240, 241, 242, 243, 244, 248, 245, 242, 239, 244, - 249, 243, 253, 253, 253, 253, 240, 256, 392, 241, - 245, 257, 264, 248, 251, 251, 251, 251, 257, 264, - 392, 251, 265, 249, 256, 252, 252, 251, 252, 252, - 252, 252, 254, 254, 254, 254, 254, 255, 255, 255, - 255, 255, 258, 260, 261, 265, 266, 267, 268, 261, - 269, 270, 271, 268, 272, 275, 273, 281, 274, 258, - 260, 276, 267, 274, 270, 277, 276, 269, 278, 266, - 272, 273, 282, 284, 277, 278, 275, 283, 287, 271, - 281, 288, 290, 291, 292, 293, 288, 304, 294, 305, - - 296, 290, 295, 287, 297, 282, 301, 284, 302, 283, - 306, 283, 294, 293, 291, 292, 308, 295, 296, 297, - 310, 304, 305, 302, 301, 308, 313, 311, 306, 314, - 319, 315, 316, 310, 311, 318, 321, 319, 322, 314, - 315, 324, 316, 326, 318, 321, 329, 330, 324, 313, - 331, 333, 326, 322, 332, 335, 329, 336, 330, 332, - 331, 338, 341, 340, 343, 343, 343, 343, 333, 345, - 348, 346, 350, 340, 345, 341, 335, 350, 336, 346, - 349, 351, 353, 356, 338, 340, 352, 349, 351, 354, - 355, 352, 348, 357, 359, 358, 355, 360, 354, 361, - - 363, 369, 356, 353, 358, 366, 361, 363, 367, 368, - 369, 359, 357, 370, 360, 371, 372, 373, 366, 374, - 375, 367, 386, 377, 378, 379, 368, 380, 370, 375, - 383, 371, 379, 378, 373, 381, 380, 382, 374, 372, - 377, 385, 388, 383, 381, 386, 382, 390, 389, 393, - 397, 394, 402, 403, 400, 401, 406, 388, 389, 385, - 394, 400, 405, 401, 403, 404, 390, 405, 407, 397, - 409, 410, 393, 412, 413, 402, 414, 415, 404, 406, - 417, 413, 418, 409, 422, 407, 415, 419, 422, 422, - 412, 423, 427, 428, 410, 433, 432, 430, 431, 427, - - 418, 432, 417, 435, 414, 419, 430, 431, 440, 428, - 435, 441, 444, 442, 423, 445, 456, 455, 433, 451, - 458, 444, 459, 461, 463, 445, 457, 466, 441, 440, - 442, 451, 455, 458, 457, 467, 468, 469, 456, 459, - 470, 472, 463, 473, 474, 477, 461, 476, 466, 470, - 472, 475, 469, 478, 477, 479, 467, 481, 482, 474, - 473, 484, 468, 485, 483, 486, 475, 482, 476, 483, - 484, 487, 486, 488, 490, 478, 491, 492, 479, 493, - 495, 497, 481, 498, 488, 496, 485, 504, 493, 520, - 502, 506, 498, 512, 487, 495, 504, 506, 490, 491, - - 492, 505, 496, 502, 497, 508, 509, 510, 505, 515, - 516, 509, 508, 517, 515, 519, 512, 518, 520, 516, - 510, 521, 518, 522, 523, 524, 525, 526, 521, 528, - 524, 519, 526, 529, 530, 531, 517, 534, 532, 523, - 537, 525, 533, 528, 538, 536, 522, 532, 539, 529, - 542, 533, 541, 530, 536, 537, 543, 544, 531, 538, - 534, 541, 546, 539, 548, 549, 551, 552, 550, 543, - 554, 553, 549, 542, 544, 555, 558, 556, 557, 548, - 546, 550, 561, 551, 556, 557, 559, 564, 552, 553, - 570, 566, 565, 554, 564, 563, 555, 562, 560, 561, - - 566, 547, 545, 540, 535, 558, 527, 514, 513, 559, - 511, 570, 573, 573, 573, 573, 574, 574, 576, 507, - 576, 576, 503, 501, 500, 499, 494, 489, 480, 471, - 465, 464, 462, 460, 454, 453, 452, 450, 449, 448, - 447, 446, 443, 439, 438, 437, 436, 434, 429, 426, - 425, 424, 421, 420, 416, 411, 408, 399, 398, 396, - 395, 391, 387, 384, 376, 365, 364, 362, 347, 344, - 342, 339, 337, 334, 328, 327, 325, 323, 320, 317, - 312, 309, 303, 300, 299, 298, 289, 286, 285, 280, - 279, 263, 262, 259, 247, 237, 236, 234, 232, 229, - - 228, 227, 218, 215, 214, 209, 208, 207, 200, 197, - 196, 194, 193, 192, 191, 190, 189, 187, 152, 148, - 146, 143, 140, 136, 132, 114, 89, 69, 59, 39, - 37, 8, 7, 3, 572, 572, 572, 572, 572, 572, - 572, 572, 572, 572, 572, 572, 572, 572, 572, 572, - 572, 572, 572, 572, 572, 572, 572, 572, 572, 572, - 572, 572, 572, 572, 572, 572, 572, 572, 572, 572, - 572, 572, 572, 572, 572, 572, 572, 572 + 1, 1, 1, 1, 1, 1, 1, 9, 54, 9, + 9, 9, 9, 9, 9, 9, 9, 11, 11, 11, + 11, 11, 11, 11, 11, 11, 12, 54, 79, 20, + 79, 64, 35, 35, 58, 12, 13, 13, 13, 13, + 13, 13, 13, 13, 13, 16, 20, 51, 17, 20, + 29, 35, 58, 16, 64, 51, 20, 17, 18, 29, + + 16, 17, 16, 18, 16, 18, 17, 16, 19, 17, + 53, 184, 13, 19, 21, 22, 18, 19, 53, 21, + 18, 21, 21, 19, 22, 184, 19, 24, 563, 21, + 22, 72, 24, 21, 25, 21, 23, 26, 23, 25, + 24, 23, 23, 23, 63, 24, 26, 72, 34, 24, + 23, 33, 25, 27, 36, 28, 33, 34, 25, 23, + 23, 26, 27, 36, 27, 63, 46, 28, 27, 33, + 27, 52, 27, 28, 27, 46, 31, 55, 28, 30, + 56, 31, 560, 67, 52, 555, 52, 30, 73, 55, + 60, 56, 57, 55, 31, 30, 30, 31, 30, 30, + + 30, 73, 30, 57, 31, 60, 62, 67, 30, 61, + 30, 30, 68, 30, 32, 57, 61, 65, 70, 66, + 68, 62, 32, 62, 65, 553, 80, 65, 89, 76, + 32, 32, 80, 32, 66, 32, 65, 32, 76, 32, + 89, 70, 74, 32, 42, 42, 42, 42, 42, 42, + 42, 42, 47, 47, 47, 47, 47, 47, 47, 47, + 74, 78, 81, 47, 249, 249, 81, 71, 77, 47, + 49, 49, 49, 49, 49, 49, 49, 49, 83, 78, + 49, 49, 71, 49, 49, 49, 49, 49, 49, 71, + 75, 77, 84, 85, 83, 86, 91, 87, 88, 75, + + 96, 86, 90, 88, 91, 95, 92, 94, 552, 96, + 97, 84, 105, 75, 87, 85, 85, 90, 85, 97, + 87, 92, 94, 96, 99, 95, 98, 101, 100, 99, + 102, 103, 104, 97, 106, 98, 100, 108, 107, 105, + 101, 110, 109, 102, 113, 107, 108, 106, 551, 110, + 111, 119, 103, 107, 112, 104, 115, 109, 116, 111, + 108, 114, 113, 112, 110, 107, 109, 114, 118, 115, + 119, 116, 120, 111, 121, 122, 123, 124, 127, 116, + 126, 118, 127, 131, 122, 120, 124, 125, 128, 126, + 132, 130, 118, 130, 121, 125, 125, 129, 122, 123, + + 124, 128, 129, 128, 131, 125, 136, 145, 125, 142, + 146, 132, 136, 125, 143, 549, 145, 132, 139, 139, + 142, 139, 139, 139, 139, 139, 139, 139, 139, 148, + 150, 146, 143, 151, 152, 154, 155, 150, 156, 157, + 158, 159, 148, 154, 157, 160, 162, 156, 151, 152, + 161, 163, 162, 164, 159, 158, 165, 166, 155, 161, + 160, 168, 164, 161, 163, 167, 169, 170, 173, 171, + 174, 169, 172, 178, 164, 182, 174, 173, 165, 185, + 166, 172, 179, 547, 167, 187, 168, 171, 172, 180, + 171, 181, 178, 182, 170, 183, 188, 179, 180, 186, + + 181, 189, 185, 191, 183, 201, 187, 186, 198, 202, + 212, 188, 207, 214, 181, 213, 205, 225, 191, 206, + 212, 207, 201, 243, 213, 189, 225, 243, 198, 208, + 546, 214, 202, 204, 204, 204, 204, 204, 204, 204, + 204, 205, 206, 204, 204, 217, 204, 204, 204, 204, + 204, 204, 208, 218, 220, 221, 222, 223, 226, 233, + 230, 217, 224, 236, 238, 240, 544, 222, 233, 237, + 221, 224, 236, 240, 218, 245, 223, 220, 230, 224, + 238, 239, 237, 226, 241, 242, 239, 246, 248, 241, + 250, 250, 253, 245, 248, 251, 251, 252, 252, 242, + + 254, 255, 257, 258, 261, 262, 263, 254, 258, 253, + 246, 261, 264, 266, 268, 265, 269, 272, 255, 257, + 265, 267, 270, 278, 274, 279, 271, 264, 262, 263, + 266, 271, 269, 274, 267, 273, 275, 270, 272, 280, + 273, 268, 281, 275, 284, 285, 278, 287, 279, 288, + 285, 289, 292, 290, 291, 293, 287, 300, 297, 284, + 294, 280, 298, 280, 301, 302, 281, 292, 291, 305, + 288, 290, 289, 293, 308, 294, 297, 298, 306, 309, + 310, 300, 305, 302, 308, 306, 312, 301, 309, 313, + 310, 315, 316, 321, 318, 312, 313, 323, 322, 324, + + 315, 318, 323, 321, 326, 328, 335, 316, 322, 330, + 331, 335, 336, 338, 339, 343, 324, 340, 344, 330, + 336, 339, 340, 331, 342, 326, 341, 344, 328, 342, + 346, 330, 345, 341, 347, 338, 343, 348, 345, 349, + 350, 351, 356, 353, 358, 357, 348, 360, 351, 346, + 353, 359, 361, 347, 362, 356, 349, 350, 357, 363, + 359, 358, 360, 364, 365, 368, 367, 373, 361, 374, + 370, 369, 371, 365, 368, 372, 363, 362, 369, 370, + 373, 371, 364, 367, 372, 375, 376, 374, 377, 381, + 378, 380, 384, 382, 388, 391, 395, 386, 377, 387, + + 389, 376, 382, 380, 386, 388, 392, 387, 375, 378, + 390, 384, 381, 389, 394, 390, 397, 398, 391, 395, + 399, 400, 402, 392, 398, 403, 408, 394, 404, 413, + 400, 407, 412, 397, 418, 407, 407, 417, 415, 412, + 425, 416, 417, 403, 402, 413, 404, 415, 399, 408, + 416, 420, 426, 427, 429, 430, 436, 418, 420, 439, + 440, 425, 442, 429, 441, 430, 443, 445, 436, 426, + 427, 447, 441, 450, 439, 442, 451, 452, 453, 454, + 460, 457, 440, 443, 458, 459, 456, 461, 454, 447, + 445, 462, 463, 453, 450, 456, 461, 451, 457, 458, + + 459, 460, 465, 452, 467, 466, 469, 468, 471, 467, + 470, 472, 474, 462, 466, 463, 468, 470, 475, 476, + 479, 477, 472, 480, 481, 482, 486, 465, 488, 469, + 477, 471, 496, 494, 482, 479, 474, 488, 489, 486, + 480, 475, 476, 490, 492, 489, 494, 481, 493, 490, + 500, 492, 499, 493, 501, 496, 502, 499, 503, 500, + 504, 502, 505, 506, 507, 508, 509, 510, 512, 505, + 508, 513, 510, 514, 503, 515, 516, 501, 518, 507, + 521, 509, 512, 528, 517, 516, 506, 513, 520, 504, + 522, 523, 514, 517, 525, 521, 526, 520, 515, 527, + + 528, 518, 530, 525, 533, 522, 523, 532, 534, 535, + 536, 533, 527, 538, 537, 542, 539, 540, 541, 526, + 530, 534, 532, 543, 540, 541, 535, 548, 545, 550, + 554, 536, 537, 531, 548, 529, 538, 539, 550, 524, + 519, 511, 498, 497, 542, 545, 543, 495, 491, 487, + 485, 554, 557, 557, 557, 557, 557, 557, 557, 557, + 558, 484, 558, 558, 558, 558, 559, 483, 559, 559, + 478, 559, 561, 473, 561, 561, 561, 561, 561, 561, + 562, 464, 562, 562, 455, 562, 564, 449, 564, 565, + 565, 565, 448, 446, 444, 438, 437, 435, 434, 433, + + 432, 431, 428, 424, 423, 422, 421, 419, 414, 411, + 410, 409, 406, 405, 401, 396, 393, 385, 383, 379, + 366, 355, 354, 352, 337, 334, 332, 329, 327, 325, + 320, 319, 317, 314, 311, 307, 304, 299, 296, 295, + 286, 283, 282, 277, 276, 260, 259, 256, 244, 235, + 234, 232, 231, 229, 228, 227, 219, 216, 215, 211, + 210, 209, 203, 200, 199, 197, 196, 195, 194, 193, + 192, 190, 177, 176, 175, 153, 149, 147, 144, 141, + 137, 133, 117, 93, 82, 69, 59, 48, 45, 44, + 39, 37, 14, 8, 7, 3, 556, 556, 556, 556, + + 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, + 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, + 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, + 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, + 556, 556, 556, 556 } ; static yy_state_type yy_state_buf[YY_BUF_SIZE + 2], *yy_state_ptr; @@ -891,7 +881,7 @@ #define YY_MORE_ADJ 0 #define YY_RESTORE_YY_MORE_OFFSET char *yytext; -#line 1 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +#line 1 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" #define INITIAL 0 /*===-- Lexer.l - Scanner for llvm assembly files --------------*- C++ -*--===// // @@ -906,7 +896,7 @@ // //===----------------------------------------------------------------------===*/ #define YY_NEVER_INTERACTIVE 1 -#line 28 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +#line 28 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" #include "ParserInternals.h" #include "llvm/Module.h" #include @@ -1039,7 +1029,7 @@ /* HexIntConstant - Hexadecimal constant generated by the CFE to avoid forcing * it to deal with 64 bit numbers. */ -#line 1043 "Lexer.cpp" +#line 1033 "Lexer.cpp" /* Macros after this point can all be overridden by user definitions in * section 1. @@ -1190,10 +1180,10 @@ register char *yy_cp = NULL, *yy_bp = NULL; register int yy_act; -#line 186 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +#line 186 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" -#line 1197 "Lexer.cpp" +#line 1187 "Lexer.cpp" if ( yy_init ) { @@ -1241,14 +1231,14 @@ while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 573 ) + if ( yy_current_state >= 557 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; *yy_state_ptr++ = yy_current_state; ++yy_cp; } - while ( yy_current_state != 572 ); + while ( yy_current_state != 556 ); yy_find_action: yy_current_state = *--yy_state_ptr; @@ -1286,656 +1276,636 @@ { /* beginning of action switch */ case 1: YY_RULE_SETUP -#line 188 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +#line 188 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" { /* Ignore comments for now */ } YY_BREAK case 2: YY_RULE_SETUP -#line 190 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +#line 190 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" { return BEGINTOK; } YY_BREAK case 3: YY_RULE_SETUP -#line 191 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +#line 191 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" { return ENDTOK; } YY_BREAK case 4: YY_RULE_SETUP -#line 192 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +#line 192 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" { return TRUETOK; } YY_BREAK case 5: YY_RULE_SETUP -#line 193 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +#line 193 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" { return FALSETOK; } YY_BREAK case 6: YY_RULE_SETUP -#line 194 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +#line 194 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" { return DECLARE; } YY_BREAK case 7: YY_RULE_SETUP -#line 195 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +#line 195 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" { return DEFINE; } YY_BREAK case 8: YY_RULE_SETUP -#line 196 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +#line 196 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" { return GLOBAL; } YY_BREAK case 9: YY_RULE_SETUP -#line 197 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +#line 197 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" { return CONSTANT; } YY_BREAK case 10: YY_RULE_SETUP -#line 198 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +#line 198 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" { return INTERNAL; } YY_BREAK case 11: YY_RULE_SETUP -#line 199 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +#line 199 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" { return LINKONCE; } YY_BREAK case 12: YY_RULE_SETUP -#line 200 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +#line 200 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" { return WEAK; } YY_BREAK case 13: YY_RULE_SETUP -#line 201 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +#line 201 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" { return APPENDING; } YY_BREAK case 14: YY_RULE_SETUP -#line 202 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +#line 202 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" { return DLLIMPORT; } YY_BREAK case 15: YY_RULE_SETUP -#line 203 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +#line 203 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" { return DLLEXPORT; } YY_BREAK case 16: YY_RULE_SETUP -#line 204 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +#line 204 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" { return EXTERN_WEAK; } YY_BREAK case 17: YY_RULE_SETUP -#line 205 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +#line 205 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" { return EXTERNAL; } YY_BREAK case 18: YY_RULE_SETUP -#line 206 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +#line 206 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" { return IMPLEMENTATION; } YY_BREAK case 19: YY_RULE_SETUP -#line 207 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +#line 207 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" { return ZEROINITIALIZER; } YY_BREAK case 20: YY_RULE_SETUP -#line 208 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +#line 208 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" { return DOTDOTDOT; } YY_BREAK case 21: YY_RULE_SETUP -#line 209 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +#line 209 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" { return UNDEF; } YY_BREAK case 22: YY_RULE_SETUP -#line 210 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +#line 210 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" { return NULL_TOK; } YY_BREAK case 23: YY_RULE_SETUP -#line 211 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +#line 211 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" { return TO; } YY_BREAK case 24: YY_RULE_SETUP -#line 212 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +#line 212 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" { return TAIL; } YY_BREAK case 25: YY_RULE_SETUP -#line 213 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +#line 213 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" { return TARGET; } YY_BREAK case 26: YY_RULE_SETUP -#line 214 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +#line 214 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" { return TRIPLE; } YY_BREAK case 27: YY_RULE_SETUP -#line 215 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +#line 215 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" { return DEPLIBS; } YY_BREAK case 28: YY_RULE_SETUP -#line 216 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +#line 216 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" { return ENDIAN; } YY_BREAK case 29: YY_RULE_SETUP -#line 217 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +#line 217 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" { return POINTERSIZE; } YY_BREAK case 30: YY_RULE_SETUP -#line 218 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +#line 218 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" { return DATALAYOUT; } YY_BREAK case 31: YY_RULE_SETUP -#line 219 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +#line 219 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" { return LITTLE; } YY_BREAK case 32: YY_RULE_SETUP -#line 220 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +#line 220 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" { return BIG; } YY_BREAK case 33: YY_RULE_SETUP -#line 221 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +#line 221 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" { return VOLATILE; } YY_BREAK case 34: YY_RULE_SETUP -#line 222 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +#line 222 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" { return ALIGN; } YY_BREAK case 35: YY_RULE_SETUP -#line 223 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +#line 223 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" { return SECTION; } YY_BREAK case 36: YY_RULE_SETUP -#line 224 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +#line 224 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" { return MODULE; } YY_BREAK case 37: YY_RULE_SETUP -#line 225 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +#line 225 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" { return ASM_TOK; } YY_BREAK case 38: YY_RULE_SETUP -#line 226 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +#line 226 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" { return SIDEEFFECT; } YY_BREAK case 39: YY_RULE_SETUP -#line 228 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +#line 228 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" { return CC_TOK; } YY_BREAK case 40: YY_RULE_SETUP -#line 229 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +#line 229 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" { return CCC_TOK; } YY_BREAK case 41: YY_RULE_SETUP -#line 230 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +#line 230 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" { return CSRETCC_TOK; } YY_BREAK case 42: YY_RULE_SETUP -#line 231 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +#line 231 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" { return FASTCC_TOK; } YY_BREAK case 43: YY_RULE_SETUP -#line 232 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +#line 232 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" { return COLDCC_TOK; } YY_BREAK case 44: YY_RULE_SETUP -#line 233 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +#line 233 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" { return X86_STDCALLCC_TOK; } YY_BREAK case 45: YY_RULE_SETUP -#line 234 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +#line 234 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" { return X86_FASTCALLCC_TOK; } YY_BREAK case 46: YY_RULE_SETUP -#line 236 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +#line 236 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" { RET_TY(Type::VoidTy, VOID); } YY_BREAK case 47: YY_RULE_SETUP -#line 237 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +#line 237 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" { RET_TY(Type::BoolTy, BOOL); } YY_BREAK case 48: YY_RULE_SETUP -#line 238 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" -{ RET_TY(Type::SByteTy, SBYTE); } +#line 238 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" +{ RET_TY(Type::Int8Ty, INT8); } YY_BREAK case 49: YY_RULE_SETUP -#line 239 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" -{ RET_TY(Type::UByteTy, UBYTE); } +#line 239 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" +{ RET_TY(Type::Int16Ty, INT16); } YY_BREAK case 50: YY_RULE_SETUP -#line 240 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" -{ RET_TY(Type::ShortTy, SHORT); } +#line 240 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" +{ RET_TY(Type::Int32Ty, INT32); } YY_BREAK case 51: YY_RULE_SETUP -#line 241 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" -{ RET_TY(Type::UShortTy,USHORT);} +#line 241 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" +{ RET_TY(Type::Int64Ty, INT64); } YY_BREAK case 52: YY_RULE_SETUP -#line 242 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" -{ RET_TY(Type::IntTy, INT); } - YY_BREAK -case 53: -YY_RULE_SETUP -#line 243 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" -{ RET_TY(Type::UIntTy, UINT); } - YY_BREAK -case 54: -YY_RULE_SETUP -#line 244 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" -{ RET_TY(Type::LongTy, LONG); } - YY_BREAK -case 55: -YY_RULE_SETUP -#line 245 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" -{ RET_TY(Type::ULongTy, ULONG); } - YY_BREAK -case 56: -YY_RULE_SETUP -#line 246 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +#line 242 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" { RET_TY(Type::FloatTy, FLOAT); } YY_BREAK -case 57: +case 53: YY_RULE_SETUP -#line 247 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +#line 243 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" { RET_TY(Type::DoubleTy,DOUBLE);} YY_BREAK -case 58: +case 54: YY_RULE_SETUP -#line 248 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +#line 244 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" { RET_TY(Type::LabelTy, LABEL); } YY_BREAK -case 59: +case 55: YY_RULE_SETUP -#line 249 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +#line 245 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" { return TYPE; } YY_BREAK -case 60: +case 56: YY_RULE_SETUP -#line 250 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +#line 246 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" { return OPAQUE; } YY_BREAK -case 61: +case 57: YY_RULE_SETUP -#line 252 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +#line 248 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" { RET_TOK(BinaryOpVal, Add, ADD); } YY_BREAK -case 62: +case 58: YY_RULE_SETUP -#line 253 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +#line 249 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" { RET_TOK(BinaryOpVal, Sub, SUB); } YY_BREAK -case 63: +case 59: YY_RULE_SETUP -#line 254 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +#line 250 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" { RET_TOK(BinaryOpVal, Mul, MUL); } YY_BREAK -case 64: +case 60: YY_RULE_SETUP -#line 255 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +#line 251 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" { RET_TOK(BinaryOpVal, UDiv, UDIV); } YY_BREAK -case 65: +case 61: YY_RULE_SETUP -#line 256 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +#line 252 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" { RET_TOK(BinaryOpVal, SDiv, SDIV); } YY_BREAK -case 66: +case 62: YY_RULE_SETUP -#line 257 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +#line 253 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" { RET_TOK(BinaryOpVal, FDiv, FDIV); } YY_BREAK -case 67: +case 63: YY_RULE_SETUP -#line 258 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +#line 254 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" { RET_TOK(BinaryOpVal, URem, UREM); } YY_BREAK -case 68: +case 64: YY_RULE_SETUP -#line 259 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +#line 255 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" { RET_TOK(BinaryOpVal, SRem, SREM); } YY_BREAK -case 69: +case 65: YY_RULE_SETUP -#line 260 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +#line 256 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" { RET_TOK(BinaryOpVal, FRem, FREM); } YY_BREAK -case 70: +case 66: YY_RULE_SETUP -#line 261 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +#line 257 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" { RET_TOK(BinaryOpVal, And, AND); } YY_BREAK -case 71: +case 67: YY_RULE_SETUP -#line 262 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +#line 258 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" { RET_TOK(BinaryOpVal, Or , OR ); } YY_BREAK -case 72: +case 68: YY_RULE_SETUP -#line 263 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +#line 259 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" { RET_TOK(BinaryOpVal, Xor, XOR); } YY_BREAK -case 73: +case 69: YY_RULE_SETUP -#line 264 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +#line 260 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" { RET_TOK(OtherOpVal, ICmp, ICMP); } YY_BREAK -case 74: +case 70: YY_RULE_SETUP -#line 265 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +#line 261 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" { RET_TOK(OtherOpVal, FCmp, FCMP); } YY_BREAK -case 75: +case 71: YY_RULE_SETUP -#line 266 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +#line 262 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" { return EQ; } YY_BREAK -case 76: +case 72: YY_RULE_SETUP -#line 267 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +#line 263 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" { return NE; } YY_BREAK -case 77: +case 73: YY_RULE_SETUP -#line 268 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +#line 264 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" { return SLT; } YY_BREAK -case 78: +case 74: YY_RULE_SETUP -#line 269 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +#line 265 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" { return SGT; } YY_BREAK -case 79: +case 75: YY_RULE_SETUP -#line 270 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +#line 266 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" { return SLE; } YY_BREAK -case 80: +case 76: YY_RULE_SETUP -#line 271 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +#line 267 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" { return SGE; } YY_BREAK -case 81: +case 77: YY_RULE_SETUP -#line 272 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +#line 268 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" { return ULT; } YY_BREAK -case 82: +case 78: YY_RULE_SETUP -#line 273 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +#line 269 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" { return UGT; } YY_BREAK -case 83: +case 79: YY_RULE_SETUP -#line 274 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +#line 270 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" { return ULE; } YY_BREAK -case 84: +case 80: YY_RULE_SETUP -#line 275 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +#line 271 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" { return UGE; } YY_BREAK -case 85: +case 81: YY_RULE_SETUP -#line 276 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +#line 272 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" { return OEQ; } YY_BREAK -case 86: +case 82: YY_RULE_SETUP -#line 277 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +#line 273 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" { return ONE; } YY_BREAK -case 87: +case 83: YY_RULE_SETUP -#line 278 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +#line 274 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" { return OLT; } YY_BREAK -case 88: +case 84: YY_RULE_SETUP -#line 279 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +#line 275 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" { return OGT; } YY_BREAK -case 89: +case 85: YY_RULE_SETUP -#line 280 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +#line 276 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" { return OLE; } YY_BREAK -case 90: +case 86: YY_RULE_SETUP -#line 281 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +#line 277 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" { return OGE; } YY_BREAK -case 91: +case 87: YY_RULE_SETUP -#line 282 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +#line 278 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" { return ORD; } YY_BREAK -case 92: +case 88: YY_RULE_SETUP -#line 283 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +#line 279 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" { return UNO; } YY_BREAK -case 93: +case 89: YY_RULE_SETUP -#line 284 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +#line 280 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" { return UEQ; } YY_BREAK -case 94: +case 90: YY_RULE_SETUP -#line 285 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +#line 281 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" { return UNE; } YY_BREAK -case 95: +case 91: YY_RULE_SETUP -#line 287 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +#line 283 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" { RET_TOK(OtherOpVal, PHI, PHI_TOK); } YY_BREAK -case 96: +case 92: YY_RULE_SETUP -#line 288 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +#line 284 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" { RET_TOK(OtherOpVal, Call, CALL); } YY_BREAK -case 97: +case 93: YY_RULE_SETUP -#line 289 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +#line 285 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" { RET_TOK(CastOpVal, Trunc, TRUNC); } YY_BREAK -case 98: +case 94: YY_RULE_SETUP -#line 290 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +#line 286 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" { RET_TOK(CastOpVal, ZExt, ZEXT); } YY_BREAK -case 99: +case 95: YY_RULE_SETUP -#line 291 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +#line 287 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" { RET_TOK(CastOpVal, SExt, SEXT); } YY_BREAK -case 100: +case 96: YY_RULE_SETUP -#line 292 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +#line 288 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" { RET_TOK(CastOpVal, FPTrunc, FPTRUNC); } YY_BREAK -case 101: +case 97: YY_RULE_SETUP -#line 293 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +#line 289 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" { RET_TOK(CastOpVal, FPExt, FPEXT); } YY_BREAK -case 102: +case 98: YY_RULE_SETUP -#line 294 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +#line 290 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" { RET_TOK(CastOpVal, UIToFP, UITOFP); } YY_BREAK -case 103: +case 99: YY_RULE_SETUP -#line 295 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +#line 291 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" { RET_TOK(CastOpVal, SIToFP, SITOFP); } YY_BREAK -case 104: +case 100: YY_RULE_SETUP -#line 296 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +#line 292 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" { RET_TOK(CastOpVal, FPToUI, FPTOUI); } YY_BREAK -case 105: +case 101: YY_RULE_SETUP -#line 297 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +#line 293 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" { RET_TOK(CastOpVal, FPToSI, FPTOSI); } YY_BREAK -case 106: +case 102: YY_RULE_SETUP -#line 298 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +#line 294 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" { RET_TOK(CastOpVal, IntToPtr, INTTOPTR); } YY_BREAK -case 107: +case 103: YY_RULE_SETUP -#line 299 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +#line 295 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" { RET_TOK(CastOpVal, PtrToInt, PTRTOINT); } YY_BREAK -case 108: +case 104: YY_RULE_SETUP -#line 300 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +#line 296 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" { RET_TOK(CastOpVal, BitCast, BITCAST); } YY_BREAK -case 109: +case 105: YY_RULE_SETUP -#line 301 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +#line 297 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" { RET_TOK(OtherOpVal, Select, SELECT); } YY_BREAK -case 110: +case 106: YY_RULE_SETUP -#line 302 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +#line 298 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" { RET_TOK(OtherOpVal, Shl, SHL); } YY_BREAK -case 111: +case 107: YY_RULE_SETUP -#line 303 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +#line 299 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" { RET_TOK(OtherOpVal, LShr, LSHR); } YY_BREAK -case 112: +case 108: YY_RULE_SETUP -#line 304 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +#line 300 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" { RET_TOK(OtherOpVal, AShr, ASHR); } YY_BREAK -case 113: +case 109: YY_RULE_SETUP -#line 305 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +#line 301 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" { RET_TOK(OtherOpVal, VAArg , VAARG); } YY_BREAK -case 114: +case 110: YY_RULE_SETUP -#line 306 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +#line 302 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" { RET_TOK(TermOpVal, Ret, RET); } YY_BREAK -case 115: +case 111: YY_RULE_SETUP -#line 307 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +#line 303 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" { RET_TOK(TermOpVal, Br, BR); } YY_BREAK -case 116: +case 112: YY_RULE_SETUP -#line 308 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +#line 304 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" { RET_TOK(TermOpVal, Switch, SWITCH); } YY_BREAK -case 117: +case 113: YY_RULE_SETUP -#line 309 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +#line 305 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" { RET_TOK(TermOpVal, Invoke, INVOKE); } YY_BREAK -case 118: +case 114: YY_RULE_SETUP -#line 310 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +#line 306 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" { RET_TOK(TermOpVal, Unwind, UNWIND); } YY_BREAK -case 119: +case 115: YY_RULE_SETUP -#line 311 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +#line 307 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" { RET_TOK(TermOpVal, Unreachable, UNREACHABLE); } YY_BREAK -case 120: +case 116: YY_RULE_SETUP -#line 313 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +#line 309 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" { RET_TOK(MemOpVal, Malloc, MALLOC); } YY_BREAK -case 121: +case 117: YY_RULE_SETUP -#line 314 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +#line 310 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" { RET_TOK(MemOpVal, Alloca, ALLOCA); } YY_BREAK -case 122: +case 118: YY_RULE_SETUP -#line 315 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +#line 311 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" { RET_TOK(MemOpVal, Free, FREE); } YY_BREAK -case 123: +case 119: YY_RULE_SETUP -#line 316 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +#line 312 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" { RET_TOK(MemOpVal, Load, LOAD); } YY_BREAK -case 124: +case 120: YY_RULE_SETUP -#line 317 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +#line 313 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" { RET_TOK(MemOpVal, Store, STORE); } YY_BREAK -case 125: +case 121: YY_RULE_SETUP -#line 318 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +#line 314 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" { RET_TOK(MemOpVal, GetElementPtr, GETELEMENTPTR); } YY_BREAK -case 126: +case 122: YY_RULE_SETUP -#line 320 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +#line 316 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" { RET_TOK(OtherOpVal, ExtractElement, EXTRACTELEMENT); } YY_BREAK -case 127: +case 123: YY_RULE_SETUP -#line 321 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +#line 317 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" { RET_TOK(OtherOpVal, InsertElement, INSERTELEMENT); } YY_BREAK -case 128: +case 124: YY_RULE_SETUP -#line 322 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +#line 318 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" { RET_TOK(OtherOpVal, ShuffleVector, SHUFFLEVECTOR); } YY_BREAK -case 129: +case 125: YY_RULE_SETUP -#line 325 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +#line 321 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" { UnEscapeLexed(yytext+1); llvmAsmlval.StrVal = strdup(yytext+1); // Skip % return VAR_ID; } YY_BREAK -case 130: +case 126: YY_RULE_SETUP -#line 330 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +#line 326 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" { yytext[strlen(yytext)-1] = 0; // nuke colon UnEscapeLexed(yytext); @@ -1943,9 +1913,9 @@ return LABELSTR; } YY_BREAK -case 131: +case 127: YY_RULE_SETUP -#line 336 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +#line 332 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" { yytext[strlen(yytext)-2] = 0; // nuke colon, end quote UnEscapeLexed(yytext+1); @@ -1953,9 +1923,9 @@ return LABELSTR; } YY_BREAK -case 132: +case 128: YY_RULE_SETUP -#line 343 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +#line 339 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" { // Note that we cannot unescape a string constant here! The // string constant might contain a \00 which would not be // understood by the string stuff. It is valid to make a @@ -1966,14 +1936,14 @@ return STRINGCONSTANT; } YY_BREAK -case 133: +case 129: YY_RULE_SETUP -#line 354 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +#line 350 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" { llvmAsmlval.UInt64Val = atoull(yytext); return EUINT64VAL; } YY_BREAK -case 134: +case 130: YY_RULE_SETUP -#line 355 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +#line 351 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" { uint64_t Val = atoull(yytext+1); // +1: we have bigger negative range @@ -1983,17 +1953,17 @@ return ESINT64VAL; } YY_BREAK -case 135: +case 131: YY_RULE_SETUP -#line 363 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +#line 359 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" { llvmAsmlval.UInt64Val = HexIntToVal(yytext+3); return yytext[0] == 's' ? ESINT64VAL : EUINT64VAL; } YY_BREAK -case 136: +case 132: YY_RULE_SETUP -#line 368 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +#line 364 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" { uint64_t Val = atoull(yytext+1); if ((unsigned)Val != Val) @@ -2002,9 +1972,9 @@ return UINTVAL; } YY_BREAK -case 137: +case 133: YY_RULE_SETUP -#line 375 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +#line 371 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" { uint64_t Val = atoull(yytext+2); // +1: we have bigger negative range @@ -2014,18 +1984,18 @@ return SINTVAL; } YY_BREAK -case 138: +case 134: YY_RULE_SETUP -#line 384 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +#line 380 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" { llvmAsmlval.FPVal = atof(yytext); return FPVAL; } YY_BREAK -case 139: +case 135: YY_RULE_SETUP -#line 385 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +#line 381 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" { llvmAsmlval.FPVal = HexToFP(yytext); return FPVAL; } YY_BREAK case YY_STATE_EOF(INITIAL): -#line 387 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +#line 383 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" { /* Make sure to free the internal buffers for flex when we are * done reading our input! @@ -2034,22 +2004,22 @@ return EOF; } YY_BREAK -case 140: +case 136: YY_RULE_SETUP -#line 395 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +#line 391 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" { /* Ignore whitespace */ } YY_BREAK -case 141: +case 137: YY_RULE_SETUP -#line 396 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +#line 392 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" { return yytext[0]; } YY_BREAK -case 142: +case 138: YY_RULE_SETUP -#line 398 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +#line 394 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" YY_FATAL_ERROR( "flex scanner jammed" ); YY_BREAK -#line 2053 "Lexer.cpp" +#line 2023 "Lexer.cpp" case YY_END_OF_BUFFER: { @@ -2336,7 +2306,7 @@ while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 573 ) + if ( yy_current_state >= 557 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; @@ -2366,11 +2336,11 @@ while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 573 ) + if ( yy_current_state >= 557 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; - yy_is_jam = (yy_current_state == 572); + yy_is_jam = (yy_current_state == 556); if ( ! yy_is_jam ) *yy_state_ptr++ = yy_current_state; @@ -2927,5 +2897,5 @@ return 0; } #endif -#line 398 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l" +#line 394 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l" Index: llvm/lib/AsmParser/Lexer.l.cvs diff -u llvm/lib/AsmParser/Lexer.l.cvs:1.16 llvm/lib/AsmParser/Lexer.l.cvs:1.17 --- llvm/lib/AsmParser/Lexer.l.cvs:1.16 Fri Dec 29 14:30:42 2006 +++ llvm/lib/AsmParser/Lexer.l.cvs Sat Dec 30 23:40:51 2006 @@ -235,14 +235,10 @@ void { RET_TY(Type::VoidTy, VOID); } bool { RET_TY(Type::BoolTy, BOOL); } -sbyte { RET_TY(Type::SByteTy, SBYTE); } -ubyte { RET_TY(Type::UByteTy, UBYTE); } -short { RET_TY(Type::ShortTy, SHORT); } -ushort { RET_TY(Type::UShortTy,USHORT);} -int { RET_TY(Type::IntTy, INT); } -uint { RET_TY(Type::UIntTy, UINT); } -long { RET_TY(Type::LongTy, LONG); } -ulong { RET_TY(Type::ULongTy, ULONG); } +i8 { RET_TY(Type::Int8Ty, INT8); } +i16 { RET_TY(Type::Int16Ty, INT16); } +i32 { RET_TY(Type::Int32Ty, INT32); } +i64 { RET_TY(Type::Int64Ty, INT64); } float { RET_TY(Type::FloatTy, FLOAT); } double { RET_TY(Type::DoubleTy,DOUBLE);} label { RET_TY(Type::LabelTy, LABEL); } Index: llvm/lib/AsmParser/ParserInternals.h diff -u llvm/lib/AsmParser/ParserInternals.h:1.50 llvm/lib/AsmParser/ParserInternals.h:1.51 --- llvm/lib/AsmParser/ParserInternals.h:1.50 Sat Dec 2 23:45:44 2006 +++ llvm/lib/AsmParser/ParserInternals.h Sat Dec 30 23:40:51 2006 @@ -199,6 +199,29 @@ } }; +struct TypeWithAttrs { + llvm::PATypeHolder *Ty; + FunctionType::ParameterAttributes Attrs; +}; + +typedef std::vector TypeWithAttrsList; + +struct ArgListEntry { + FunctionType::ParameterAttributes Attrs; + llvm::PATypeHolder *Ty; + char *Name; +}; + +typedef std::vector ArgListType; + +struct ValueRefListEntry { + Value *Val; + FunctionType::ParameterAttributes Attrs; +}; + +typedef std::vector ValueRefList; + + } // End llvm namespace #endif Index: llvm/lib/AsmParser/llvmAsmParser.cpp.cvs diff -u llvm/lib/AsmParser/llvmAsmParser.cpp.cvs:1.39 llvm/lib/AsmParser/llvmAsmParser.cpp.cvs:1.40 --- llvm/lib/AsmParser/llvmAsmParser.cpp.cvs:1.39 Fri Dec 29 14:30:42 2006 +++ llvm/lib/AsmParser/llvmAsmParser.cpp.cvs Sat Dec 30 23:40:51 2006 @@ -71,136 +71,131 @@ FPVAL = 262, VOID = 263, BOOL = 264, - SBYTE = 265, - UBYTE = 266, - SHORT = 267, - USHORT = 268, - INT = 269, - UINT = 270, - LONG = 271, - ULONG = 272, - FLOAT = 273, - DOUBLE = 274, - LABEL = 275, - TYPE = 276, - VAR_ID = 277, - LABELSTR = 278, - STRINGCONSTANT = 279, - IMPLEMENTATION = 280, - ZEROINITIALIZER = 281, - TRUETOK = 282, - FALSETOK = 283, - BEGINTOK = 284, - ENDTOK = 285, - DECLARE = 286, - DEFINE = 287, - GLOBAL = 288, - CONSTANT = 289, - SECTION = 290, - VOLATILE = 291, - TO = 292, - DOTDOTDOT = 293, - NULL_TOK = 294, - UNDEF = 295, - CONST = 296, - INTERNAL = 297, - LINKONCE = 298, - WEAK = 299, - APPENDING = 300, - DLLIMPORT = 301, - DLLEXPORT = 302, - EXTERN_WEAK = 303, - OPAQUE = 304, - NOT = 305, - EXTERNAL = 306, - TARGET = 307, - TRIPLE = 308, - ENDIAN = 309, - POINTERSIZE = 310, - LITTLE = 311, - BIG = 312, - ALIGN = 313, - DEPLIBS = 314, - CALL = 315, - TAIL = 316, - ASM_TOK = 317, - MODULE = 318, - SIDEEFFECT = 319, - CC_TOK = 320, - CCC_TOK = 321, - CSRETCC_TOK = 322, - FASTCC_TOK = 323, - COLDCC_TOK = 324, - X86_STDCALLCC_TOK = 325, - X86_FASTCALLCC_TOK = 326, - DATALAYOUT = 327, - RET = 328, - BR = 329, - SWITCH = 330, - INVOKE = 331, - UNWIND = 332, - UNREACHABLE = 333, - ADD = 334, - SUB = 335, - MUL = 336, - UDIV = 337, - SDIV = 338, - FDIV = 339, - UREM = 340, - SREM = 341, - FREM = 342, - AND = 343, - OR = 344, - XOR = 345, - ICMP = 346, - FCMP = 347, - EQ = 348, - NE = 349, - SLT = 350, - SGT = 351, - SLE = 352, - SGE = 353, - ULT = 354, - UGT = 355, - ULE = 356, - UGE = 357, - OEQ = 358, - ONE = 359, - OLT = 360, - OGT = 361, - OLE = 362, - OGE = 363, - ORD = 364, - UNO = 365, - UEQ = 366, - UNE = 367, - MALLOC = 368, - ALLOCA = 369, - FREE = 370, - LOAD = 371, - STORE = 372, - GETELEMENTPTR = 373, - TRUNC = 374, - ZEXT = 375, - SEXT = 376, - FPTRUNC = 377, - FPEXT = 378, - BITCAST = 379, - UITOFP = 380, - SITOFP = 381, - FPTOUI = 382, - FPTOSI = 383, - INTTOPTR = 384, - PTRTOINT = 385, - PHI_TOK = 386, - SELECT = 387, - SHL = 388, - LSHR = 389, - ASHR = 390, - VAARG = 391, - EXTRACTELEMENT = 392, - INSERTELEMENT = 393, - SHUFFLEVECTOR = 394 + INT8 = 265, + INT16 = 266, + INT32 = 267, + INT64 = 268, + FLOAT = 269, + DOUBLE = 270, + LABEL = 271, + TYPE = 272, + VAR_ID = 273, + LABELSTR = 274, + STRINGCONSTANT = 275, + IMPLEMENTATION = 276, + ZEROINITIALIZER = 277, + TRUETOK = 278, + FALSETOK = 279, + BEGINTOK = 280, + ENDTOK = 281, + DECLARE = 282, + DEFINE = 283, + GLOBAL = 284, + CONSTANT = 285, + SECTION = 286, + VOLATILE = 287, + TO = 288, + DOTDOTDOT = 289, + NULL_TOK = 290, + UNDEF = 291, + INTERNAL = 292, + LINKONCE = 293, + WEAK = 294, + APPENDING = 295, + DLLIMPORT = 296, + DLLEXPORT = 297, + EXTERN_WEAK = 298, + OPAQUE = 299, + NOT = 300, + EXTERNAL = 301, + TARGET = 302, + TRIPLE = 303, + ENDIAN = 304, + POINTERSIZE = 305, + LITTLE = 306, + BIG = 307, + ALIGN = 308, + DEPLIBS = 309, + CALL = 310, + TAIL = 311, + ASM_TOK = 312, + MODULE = 313, + SIDEEFFECT = 314, + CC_TOK = 315, + CCC_TOK = 316, + CSRETCC_TOK = 317, + FASTCC_TOK = 318, + COLDCC_TOK = 319, + X86_STDCALLCC_TOK = 320, + X86_FASTCALLCC_TOK = 321, + DATALAYOUT = 322, + RET = 323, + BR = 324, + SWITCH = 325, + INVOKE = 326, + UNWIND = 327, + UNREACHABLE = 328, + ADD = 329, + SUB = 330, + MUL = 331, + UDIV = 332, + SDIV = 333, + FDIV = 334, + UREM = 335, + SREM = 336, + FREM = 337, + AND = 338, + OR = 339, + XOR = 340, + ICMP = 341, + FCMP = 342, + EQ = 343, + NE = 344, + SLT = 345, + SGT = 346, + SLE = 347, + SGE = 348, + ULT = 349, + UGT = 350, + ULE = 351, + UGE = 352, + OEQ = 353, + ONE = 354, + OLT = 355, + OGT = 356, + OLE = 357, + OGE = 358, + ORD = 359, + UNO = 360, + UEQ = 361, + UNE = 362, + MALLOC = 363, + ALLOCA = 364, + FREE = 365, + LOAD = 366, + STORE = 367, + GETELEMENTPTR = 368, + TRUNC = 369, + ZEXT = 370, + SEXT = 371, + FPTRUNC = 372, + FPEXT = 373, + BITCAST = 374, + UITOFP = 375, + SITOFP = 376, + FPTOUI = 377, + FPTOSI = 378, + INTTOPTR = 379, + PTRTOINT = 380, + PHI_TOK = 381, + SELECT = 382, + SHL = 383, + LSHR = 384, + ASHR = 385, + VAARG = 386, + EXTRACTELEMENT = 387, + INSERTELEMENT = 388, + SHUFFLEVECTOR = 389 }; #endif /* Tokens. */ @@ -211,142 +206,137 @@ #define FPVAL 262 #define VOID 263 #define BOOL 264 -#define SBYTE 265 -#define UBYTE 266 -#define SHORT 267 -#define USHORT 268 -#define INT 269 -#define UINT 270 -#define LONG 271 -#define ULONG 272 -#define FLOAT 273 -#define DOUBLE 274 -#define LABEL 275 -#define TYPE 276 -#define VAR_ID 277 -#define LABELSTR 278 -#define STRINGCONSTANT 279 -#define IMPLEMENTATION 280 -#define ZEROINITIALIZER 281 -#define TRUETOK 282 -#define FALSETOK 283 -#define BEGINTOK 284 -#define ENDTOK 285 -#define DECLARE 286 -#define DEFINE 287 -#define GLOBAL 288 -#define CONSTANT 289 -#define SECTION 290 -#define VOLATILE 291 -#define TO 292 -#define DOTDOTDOT 293 -#define NULL_TOK 294 -#define UNDEF 295 -#define CONST 296 -#define INTERNAL 297 -#define LINKONCE 298 -#define WEAK 299 -#define APPENDING 300 -#define DLLIMPORT 301 -#define DLLEXPORT 302 -#define EXTERN_WEAK 303 -#define OPAQUE 304 -#define NOT 305 -#define EXTERNAL 306 -#define TARGET 307 -#define TRIPLE 308 -#define ENDIAN 309 -#define POINTERSIZE 310 -#define LITTLE 311 -#define BIG 312 -#define ALIGN 313 -#define DEPLIBS 314 -#define CALL 315 -#define TAIL 316 -#define ASM_TOK 317 -#define MODULE 318 -#define SIDEEFFECT 319 -#define CC_TOK 320 -#define CCC_TOK 321 -#define CSRETCC_TOK 322 -#define FASTCC_TOK 323 -#define COLDCC_TOK 324 -#define X86_STDCALLCC_TOK 325 -#define X86_FASTCALLCC_TOK 326 -#define DATALAYOUT 327 -#define RET 328 -#define BR 329 -#define SWITCH 330 -#define INVOKE 331 -#define UNWIND 332 -#define UNREACHABLE 333 -#define ADD 334 -#define SUB 335 -#define MUL 336 -#define UDIV 337 -#define SDIV 338 -#define FDIV 339 -#define UREM 340 -#define SREM 341 -#define FREM 342 -#define AND 343 -#define OR 344 -#define XOR 345 -#define ICMP 346 -#define FCMP 347 -#define EQ 348 -#define NE 349 -#define SLT 350 -#define SGT 351 -#define SLE 352 -#define SGE 353 -#define ULT 354 -#define UGT 355 -#define ULE 356 -#define UGE 357 -#define OEQ 358 -#define ONE 359 -#define OLT 360 -#define OGT 361 -#define OLE 362 -#define OGE 363 -#define ORD 364 -#define UNO 365 -#define UEQ 366 -#define UNE 367 -#define MALLOC 368 -#define ALLOCA 369 -#define FREE 370 -#define LOAD 371 -#define STORE 372 -#define GETELEMENTPTR 373 -#define TRUNC 374 -#define ZEXT 375 -#define SEXT 376 -#define FPTRUNC 377 -#define FPEXT 378 -#define BITCAST 379 -#define UITOFP 380 -#define SITOFP 381 -#define FPTOUI 382 -#define FPTOSI 383 -#define INTTOPTR 384 -#define PTRTOINT 385 -#define PHI_TOK 386 -#define SELECT 387 -#define SHL 388 -#define LSHR 389 -#define ASHR 390 -#define VAARG 391 -#define EXTRACTELEMENT 392 -#define INSERTELEMENT 393 -#define SHUFFLEVECTOR 394 +#define INT8 265 +#define INT16 266 +#define INT32 267 +#define INT64 268 +#define FLOAT 269 +#define DOUBLE 270 +#define LABEL 271 +#define TYPE 272 +#define VAR_ID 273 +#define LABELSTR 274 +#define STRINGCONSTANT 275 +#define IMPLEMENTATION 276 +#define ZEROINITIALIZER 277 +#define TRUETOK 278 +#define FALSETOK 279 +#define BEGINTOK 280 +#define ENDTOK 281 +#define DECLARE 282 +#define DEFINE 283 +#define GLOBAL 284 +#define CONSTANT 285 +#define SECTION 286 +#define VOLATILE 287 +#define TO 288 +#define DOTDOTDOT 289 +#define NULL_TOK 290 +#define UNDEF 291 +#define INTERNAL 292 +#define LINKONCE 293 +#define WEAK 294 +#define APPENDING 295 +#define DLLIMPORT 296 +#define DLLEXPORT 297 +#define EXTERN_WEAK 298 +#define OPAQUE 299 +#define NOT 300 +#define EXTERNAL 301 +#define TARGET 302 +#define TRIPLE 303 +#define ENDIAN 304 +#define POINTERSIZE 305 +#define LITTLE 306 +#define BIG 307 +#define ALIGN 308 +#define DEPLIBS 309 +#define CALL 310 +#define TAIL 311 +#define ASM_TOK 312 +#define MODULE 313 +#define SIDEEFFECT 314 +#define CC_TOK 315 +#define CCC_TOK 316 +#define CSRETCC_TOK 317 +#define FASTCC_TOK 318 +#define COLDCC_TOK 319 +#define X86_STDCALLCC_TOK 320 +#define X86_FASTCALLCC_TOK 321 +#define DATALAYOUT 322 +#define RET 323 +#define BR 324 +#define SWITCH 325 +#define INVOKE 326 +#define UNWIND 327 +#define UNREACHABLE 328 +#define ADD 329 +#define SUB 330 +#define MUL 331 +#define UDIV 332 +#define SDIV 333 +#define FDIV 334 +#define UREM 335 +#define SREM 336 +#define FREM 337 +#define AND 338 +#define OR 339 +#define XOR 340 +#define ICMP 341 +#define FCMP 342 +#define EQ 343 +#define NE 344 +#define SLT 345 +#define SGT 346 +#define SLE 347 +#define SGE 348 +#define ULT 349 +#define UGT 350 +#define ULE 351 +#define UGE 352 +#define OEQ 353 +#define ONE 354 +#define OLT 355 +#define OGT 356 +#define OLE 357 +#define OGE 358 +#define ORD 359 +#define UNO 360 +#define UEQ 361 +#define UNE 362 +#define MALLOC 363 +#define ALLOCA 364 +#define FREE 365 +#define LOAD 366 +#define STORE 367 +#define GETELEMENTPTR 368 +#define TRUNC 369 +#define ZEXT 370 +#define SEXT 371 +#define FPTRUNC 372 +#define FPEXT 373 +#define BITCAST 374 +#define UITOFP 375 +#define SITOFP 376 +#define FPTOUI 377 +#define FPTOSI 378 +#define INTTOPTR 379 +#define PTRTOINT 380 +#define PHI_TOK 381 +#define SELECT 382 +#define SHL 383 +#define LSHR 384 +#define ASHR 385 +#define VAARG 386 +#define EXTRACTELEMENT 387 +#define INSERTELEMENT 388 +#define SHUFFLEVECTOR 389 /* Copy the first part of user declarations. */ -#line 14 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" +#line 14 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" #include "ParserInternals.h" #include "llvm/CallingConv.h" @@ -355,12 +345,16 @@ #include "llvm/Module.h" #include "llvm/SymbolTable.h" #include "llvm/Support/GetElementPtrTypeIterator.h" +#include "llvm/Support/CommandLine.h" #include "llvm/ADT/STLExtras.h" #include "llvm/Support/MathExtras.h" #include "llvm/Support/Streams.h" #include #include #include +#ifndef NDEBUG +#define YYDEBUG 1 +#endif // The following is a gross hack. In order to rid the libAsmParser library of // exceptions, we have to have a way of getting the yyparse function to go into @@ -383,6 +377,11 @@ namespace llvm { std::string CurFilename; +#if YYDEBUG +static cl::opt +Debug("debug-yacc", cl::desc("Print yacc debug state changes"), + cl::Hidden, cl::init(false)); +#endif } using namespace llvm; @@ -407,6 +406,7 @@ // destroyed when the function is completed. // typedef std::vector ValueList; // Numbered defs + static void ResolveDefinitions(std::map &LateResolvers, std::map *FutureLateResolvers = 0); @@ -1140,34 +1140,12 @@ return Ty; } -// common code from the two 'RunVMAsmParser' functions -static Module* RunParser(Module * M) { - - llvmAsmlineno = 1; // Reset the current line number... - CurModule.CurrentModule = M; - - // Check to make sure the parser succeeded - if (yyparse()) { - if (ParserResult) - delete ParserResult; - return 0; - } - - // Check to make sure that parsing produced a result - if (!ParserResult) - return 0; - - // Reset ParserResult variable while saving its value for the result. - Module *Result = ParserResult; - ParserResult = 0; - - return Result; -} - //===----------------------------------------------------------------------===// // RunVMAsmParser - Define an interface to this parser //===----------------------------------------------------------------------===// // +static Module* RunParser(Module * M); + Module *llvm::RunVMAsmParser(const std::string &Filename, FILE *F) { set_scan_file(F); @@ -1207,23 +1185,25 @@ #endif #if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED) -#line 855 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" +#line 843 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" typedef union YYSTYPE { llvm::Module *ModuleVal; llvm::Function *FunctionVal; - std::pair *ArgVal; llvm::BasicBlock *BasicBlockVal; llvm::TerminatorInst *TermInstVal; llvm::Instruction *InstVal; llvm::Constant *ConstVal; const llvm::Type *PrimType; + std::list *TypeList; llvm::PATypeHolder *TypeVal; llvm::Value *ValueVal; - - std::vector > *ArgList; std::vector *ValueList; - std::list *TypeList; + llvm::ArgListType *ArgList; + llvm::TypeWithAttrs TypeWithAttrs; + llvm::TypeWithAttrsList *TypeWithAttrsList; + llvm::ValueRefList *ValueRefList; + // Represent the RHS of PHI node std::list > *PHIList; @@ -1231,6 +1211,7 @@ std::vector *ConstVector; llvm::GlobalValue::LinkageTypes Linkage; + llvm::FunctionType::ParameterAttributes ParamAttrs; int64_t SInt64Val; uint64_t UInt64Val; int SIntVal; @@ -1251,7 +1232,7 @@ llvm::FCmpInst::Predicate FPredicate; } YYSTYPE; /* Line 196 of yacc.c. */ -#line 1255 "llvmAsmParser.tab.c" +#line 1236 "llvmAsmParser.tab.c" # define yystype YYSTYPE /* obsolescent; will be withdrawn */ # define YYSTYPE_IS_DECLARED 1 # define YYSTYPE_IS_TRIVIAL 1 @@ -1263,7 +1244,7 @@ /* Line 219 of yacc.c. */ -#line 1267 "llvmAsmParser.tab.c" +#line 1248 "llvmAsmParser.tab.c" #if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__) # define YYSIZE_T __SIZE_TYPE__ @@ -1414,20 +1395,20 @@ /* YYFINAL -- State number of the termination state. */ #define YYFINAL 37 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 1478 +#define YYLAST 1503 /* YYNTOKENS -- Number of terminals. */ -#define YYNTOKENS 154 +#define YYNTOKENS 150 /* YYNNTS -- Number of nonterminals. */ -#define YYNNTS 78 +#define YYNNTS 77 /* YYNRULES -- Number of rules. */ -#define YYNRULES 293 +#define YYNRULES 288 /* YYNRULES -- Number of states. */ -#define YYNSTATES 564 +#define YYNSTATES 572 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ #define YYUNDEFTOK 2 -#define YYMAXUTOK 394 +#define YYMAXUTOK 389 #define YYTRANSLATE(YYX) \ ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) @@ -1439,15 +1420,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, - 143, 144, 152, 2, 141, 2, 2, 2, 2, 2, + 138, 139, 140, 2, 136, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 148, 140, 149, 2, 2, 2, 2, 2, 2, 2, + 145, 135, 146, 2, 137, 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, 145, 142, 147, 2, 2, 2, 2, 2, 153, + 2, 142, 141, 144, 2, 2, 2, 2, 2, 149, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 146, 2, 2, 150, 2, 151, 2, 2, 2, 2, + 143, 2, 2, 147, 2, 148, 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, @@ -1473,8 +1454,7 @@ 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, - 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, - 135, 136, 137, 138, 139 + 125, 126, 127, 128, 129, 130, 131, 132, 133, 134 }; #if YYDEBUG @@ -1488,160 +1468,160 @@ 59, 61, 63, 65, 67, 69, 71, 73, 75, 77, 79, 81, 83, 85, 87, 89, 91, 93, 95, 97, 99, 101, 103, 105, 107, 109, 111, 113, 115, 117, - 119, 121, 123, 125, 127, 129, 131, 133, 135, 137, - 140, 141, 143, 145, 147, 149, 151, 153, 155, 157, - 158, 160, 162, 164, 166, 168, 170, 171, 172, 174, - 176, 178, 180, 182, 184, 187, 188, 191, 192, 196, - 199, 200, 202, 203, 207, 209, 212, 214, 216, 218, - 220, 222, 224, 226, 228, 230, 232, 234, 236, 238, - 240, 242, 244, 246, 248, 250, 252, 255, 260, 266, - 272, 276, 279, 285, 290, 293, 295, 299, 301, 305, - 307, 308, 313, 317, 321, 326, 331, 335, 338, 341, - 344, 347, 350, 353, 356, 359, 362, 365, 368, 371, - 378, 384, 393, 400, 407, 415, 423, 430, 437, 446, - 455, 459, 461, 463, 465, 467, 468, 470, 473, 474, - 478, 479, 483, 487, 489, 493, 494, 500, 501, 508, - 509, 516, 519, 523, 525, 527, 529, 533, 537, 541, - 545, 549, 553, 555, 556, 558, 560, 562, 563, 566, - 570, 572, 574, 578, 580, 581, 590, 592, 594, 598, - 600, 602, 605, 608, 609, 611, 613, 615, 617, 619, - 621, 623, 625, 627, 631, 633, 639, 641, 643, 645, - 647, 650, 653, 656, 660, 663, 664, 666, 669, 672, - 676, 686, 696, 705, 719, 721, 723, 730, 736, 739, - 746, 754, 756, 760, 762, 763, 766, 768, 774, 780, - 787, 794, 797, 802, 807, 814, 819, 824, 831, 838, - 841, 849, 851, 854, 855, 857, 858, 862, 869, 873, - 880, 883, 888, 895 + 119, 121, 123, 125, 128, 129, 131, 133, 135, 137, + 139, 141, 143, 145, 146, 148, 150, 151, 153, 155, + 157, 159, 160, 162, 164, 166, 168, 170, 172, 175, + 177, 179, 181, 185, 186, 189, 194, 195, 198, 199, + 203, 206, 207, 209, 210, 214, 216, 219, 221, 223, + 225, 227, 229, 231, 233, 235, 237, 239, 242, 244, + 247, 253, 259, 265, 271, 275, 278, 284, 289, 292, + 295, 298, 300, 304, 306, 310, 312, 313, 315, 319, + 324, 328, 332, 337, 342, 346, 349, 352, 355, 358, + 361, 364, 367, 370, 373, 376, 383, 389, 398, 405, + 412, 420, 428, 435, 442, 451, 460, 464, 466, 468, + 470, 472, 473, 475, 478, 479, 483, 484, 488, 492, + 494, 498, 502, 503, 509, 510, 517, 518, 525, 528, + 532, 534, 536, 538, 542, 546, 550, 554, 558, 562, + 564, 565, 567, 569, 571, 572, 578, 582, 584, 588, + 590, 591, 600, 602, 604, 608, 610, 612, 615, 618, + 619, 621, 623, 625, 627, 629, 631, 633, 635, 637, + 641, 643, 649, 651, 653, 655, 657, 660, 663, 666, + 670, 673, 674, 676, 679, 682, 686, 696, 706, 715, + 729, 731, 733, 740, 746, 749, 756, 764, 768, 774, + 775, 776, 780, 783, 785, 791, 797, 804, 811, 814, + 819, 824, 831, 836, 841, 848, 855, 858, 866, 868, + 870, 871, 875, 882, 886, 893, 896, 901, 908 }; /* YYRHS -- A `-1'-separated list of the rules' RHS. */ static const short int yyrhs[] = { - 189, 0, -1, 5, -1, 6, -1, 79, -1, 80, + 186, 0, -1, 5, -1, 6, -1, 74, -1, 75, + -1, 76, -1, 77, -1, 78, -1, 79, -1, 80, -1, 81, -1, 82, -1, 83, -1, 84, -1, 85, - -1, 86, -1, 87, -1, 88, -1, 89, -1, 90, + -1, 114, -1, 115, -1, 116, -1, 117, -1, 118, -1, 119, -1, 120, -1, 121, -1, 122, -1, 123, - -1, 124, -1, 125, -1, 126, -1, 127, -1, 128, - -1, 129, -1, 130, -1, 133, -1, 134, -1, 135, + -1, 124, -1, 125, -1, 128, -1, 129, -1, 130, + -1, 88, -1, 89, -1, 90, -1, 91, -1, 92, -1, 93, -1, 94, -1, 95, -1, 96, -1, 97, -1, 98, -1, 99, -1, 100, -1, 101, -1, 102, -1, 103, -1, 104, -1, 105, -1, 106, -1, 107, - -1, 108, -1, 109, -1, 110, -1, 111, -1, 112, - -1, 99, -1, 100, -1, 101, -1, 102, -1, 27, - -1, 28, -1, 16, -1, 14, -1, 12, -1, 10, - -1, 17, -1, 15, -1, 13, -1, 11, -1, 162, - -1, 163, -1, 18, -1, 19, -1, 202, 140, -1, - -1, 42, -1, 44, -1, 43, -1, 45, -1, 47, - -1, 46, -1, 48, -1, 51, -1, -1, 46, -1, - 48, -1, 42, -1, 43, -1, 44, -1, 47, -1, - -1, -1, 66, -1, 67, -1, 68, -1, 69, -1, - 70, -1, 71, -1, 65, 4, -1, -1, 58, 4, - -1, -1, 141, 58, 4, -1, 35, 24, -1, -1, - 174, -1, -1, 141, 177, 176, -1, 174, -1, 58, - 4, -1, 180, -1, 8, -1, 182, -1, 8, -1, - 182, -1, 9, -1, 10, -1, 11, -1, 12, -1, - 13, -1, 14, -1, 15, -1, 16, -1, 17, -1, - 18, -1, 19, -1, 20, -1, 49, -1, 181, -1, - 215, -1, 142, 4, -1, 179, 143, 184, 144, -1, - 145, 4, 146, 182, 147, -1, 148, 4, 146, 182, - 149, -1, 150, 183, 151, -1, 150, 151, -1, 148, - 150, 183, 151, 149, -1, 148, 150, 151, 149, -1, - 182, 152, -1, 182, -1, 183, 141, 182, -1, 183, - -1, 183, 141, 38, -1, 38, -1, -1, 180, 145, - 187, 147, -1, 180, 145, 147, -1, 180, 153, 24, - -1, 180, 148, 187, 149, -1, 180, 150, 187, 151, - -1, 180, 150, 151, -1, 180, 39, -1, 180, 40, - -1, 180, 215, -1, 180, 186, -1, 180, 26, -1, - 162, 3, -1, 162, 4, -1, 163, 4, -1, 163, - 3, -1, 9, 27, -1, 9, 28, -1, 165, 7, - -1, 158, 143, 185, 37, 180, 144, -1, 118, 143, - 185, 229, 144, -1, 132, 143, 185, 141, 185, 141, - 185, 144, -1, 156, 143, 185, 141, 185, 144, -1, - 157, 143, 185, 141, 185, 144, -1, 91, 160, 143, - 185, 141, 185, 144, -1, 92, 161, 143, 185, 141, - 185, 144, -1, 159, 143, 185, 141, 185, 144, -1, - 137, 143, 185, 141, 185, 144, -1, 138, 143, 185, - 141, 185, 141, 185, 144, -1, 139, 143, 185, 141, - 185, 141, 185, 144, -1, 187, 141, 185, -1, 185, - -1, 33, -1, 34, -1, 190, -1, -1, 191, -1, - 190, 191, -1, -1, 32, 192, 211, -1, -1, 31, - 193, 212, -1, 63, 62, 197, -1, 25, -1, 166, - 21, 178, -1, -1, 166, 188, 185, 194, 176, -1, - -1, 166, 167, 188, 185, 195, 176, -1, -1, 166, - 168, 188, 180, 196, 176, -1, 52, 199, -1, 59, - 140, 200, -1, 24, -1, 57, -1, 56, -1, 54, - 140, 198, -1, 55, 140, 4, -1, 53, 140, 24, - -1, 72, 140, 24, -1, 145, 201, 147, -1, 201, - 141, 24, -1, 24, -1, -1, 22, -1, 24, -1, - 202, -1, -1, 180, 203, -1, 205, 141, 204, -1, - 204, -1, 205, -1, 205, 141, 38, -1, 38, -1, - -1, 171, 178, 202, 143, 206, 144, 175, 172, -1, - 29, -1, 150, -1, 170, 207, 208, -1, 30, -1, - 151, -1, 218, 210, -1, 169, 207, -1, -1, 64, - -1, 3, -1, 4, -1, 7, -1, 27, -1, 28, - -1, 39, -1, 40, -1, 26, -1, 148, 187, 149, - -1, 186, -1, 62, 213, 24, 141, 24, -1, 155, - -1, 202, -1, 215, -1, 214, -1, 180, 216, -1, - 218, 219, -1, 209, 219, -1, 220, 166, 221, -1, - 220, 223, -1, -1, 23, -1, 73, 217, -1, 73, - 8, -1, 74, 20, 216, -1, 74, 9, 216, 141, - 20, 216, 141, 20, 216, -1, 75, 164, 216, 141, - 20, 216, 145, 222, 147, -1, 75, 164, 216, 141, - 20, 216, 145, 147, -1, 76, 171, 178, 216, 143, - 226, 144, 37, 20, 216, 77, 20, 216, -1, 77, - -1, 78, -1, 222, 164, 214, 141, 20, 216, -1, - 164, 214, 141, 20, 216, -1, 166, 228, -1, 180, - 145, 216, 141, 216, 147, -1, 224, 141, 145, 216, - 141, 216, 147, -1, 217, -1, 225, 141, 217, -1, - 225, -1, -1, 61, 60, -1, 60, -1, 156, 180, - 216, 141, 216, -1, 157, 180, 216, 141, 216, -1, - 91, 160, 180, 216, 141, 216, -1, 92, 161, 180, - 216, 141, 216, -1, 50, 217, -1, 159, 217, 141, - 217, -1, 158, 217, 37, 180, -1, 132, 217, 141, - 217, 141, 217, -1, 136, 217, 141, 180, -1, 137, - 217, 141, 217, -1, 138, 217, 141, 217, 141, 217, - -1, 139, 217, 141, 217, 141, 217, -1, 131, 224, - -1, 227, 171, 178, 216, 143, 226, 144, -1, 231, - -1, 141, 225, -1, -1, 36, -1, -1, 113, 180, - 173, -1, 113, 180, 141, 15, 216, 173, -1, 114, - 180, 173, -1, 114, 180, 141, 15, 216, 173, -1, - 115, 217, -1, 230, 116, 180, 216, -1, 230, 117, - 217, 141, 180, 216, -1, 118, 180, 216, 229, -1 + -1, 94, -1, 95, -1, 96, -1, 97, -1, 23, + -1, 24, -1, 13, -1, 12, -1, 11, -1, 10, + -1, 14, -1, 15, -1, 199, 135, -1, -1, 37, + -1, 39, -1, 38, -1, 40, -1, 42, -1, 41, + -1, 43, -1, 46, -1, -1, 41, -1, 43, -1, + -1, 37, -1, 38, -1, 39, -1, 42, -1, -1, + 61, -1, 62, -1, 63, -1, 64, -1, 65, -1, + 66, -1, 60, 4, -1, 115, -1, 116, -1, 166, + -1, 167, 136, 166, -1, -1, 137, 166, -1, 137, + 138, 167, 139, -1, -1, 53, 4, -1, -1, 136, + 53, 4, -1, 31, 20, -1, -1, 171, -1, -1, + 136, 174, 173, -1, 171, -1, 53, 4, -1, 9, + -1, 10, -1, 11, -1, 12, -1, 13, -1, 14, + -1, 15, -1, 16, -1, 44, -1, 175, -1, 176, + 140, -1, 211, -1, 141, 4, -1, 176, 168, 138, + 180, 139, -1, 8, 168, 138, 180, 139, -1, 142, + 4, 143, 176, 144, -1, 145, 4, 143, 176, 146, + -1, 147, 181, 148, -1, 147, 148, -1, 145, 147, + 181, 148, 146, -1, 145, 147, 148, 146, -1, 176, + 168, -1, 176, 168, -1, 8, 168, -1, 177, -1, + 179, 136, 177, -1, 179, -1, 179, 136, 34, -1, + 34, -1, -1, 176, -1, 181, 136, 176, -1, 176, + 142, 184, 144, -1, 176, 142, 144, -1, 176, 149, + 20, -1, 176, 145, 184, 146, -1, 176, 147, 184, + 148, -1, 176, 147, 148, -1, 176, 35, -1, 176, + 36, -1, 176, 211, -1, 176, 183, -1, 176, 22, + -1, 158, 3, -1, 158, 4, -1, 9, 23, -1, + 9, 24, -1, 159, 7, -1, 154, 138, 182, 33, + 176, 139, -1, 113, 138, 182, 222, 139, -1, 127, + 138, 182, 136, 182, 136, 182, 139, -1, 152, 138, + 182, 136, 182, 139, -1, 153, 138, 182, 136, 182, + 139, -1, 86, 156, 138, 182, 136, 182, 139, -1, + 87, 157, 138, 182, 136, 182, 139, -1, 155, 138, + 182, 136, 182, 139, -1, 132, 138, 182, 136, 182, + 139, -1, 133, 138, 182, 136, 182, 136, 182, 139, + -1, 134, 138, 182, 136, 182, 136, 182, 139, -1, + 184, 136, 182, -1, 182, -1, 29, -1, 30, -1, + 187, -1, -1, 188, -1, 187, 188, -1, -1, 28, + 189, 207, -1, -1, 27, 190, 208, -1, 58, 57, + 194, -1, 21, -1, 160, 17, 176, -1, 160, 17, + 8, -1, -1, 160, 185, 182, 191, 173, -1, -1, + 160, 161, 185, 182, 192, 173, -1, -1, 160, 162, + 185, 176, 193, 173, -1, 47, 196, -1, 54, 135, + 197, -1, 20, -1, 52, -1, 51, -1, 49, 135, + 195, -1, 50, 135, 4, -1, 48, 135, 20, -1, + 67, 135, 20, -1, 142, 198, 144, -1, 198, 136, + 20, -1, 20, -1, -1, 18, -1, 20, -1, 199, + -1, -1, 201, 136, 176, 168, 200, -1, 176, 168, + 200, -1, 201, -1, 201, 136, 34, -1, 34, -1, + -1, 165, 178, 199, 138, 202, 139, 172, 169, -1, + 25, -1, 147, -1, 164, 203, 204, -1, 26, -1, + 148, -1, 214, 206, -1, 163, 203, -1, -1, 59, + -1, 3, -1, 4, -1, 7, -1, 23, -1, 24, + -1, 35, -1, 36, -1, 22, -1, 145, 184, 146, + -1, 183, -1, 57, 209, 20, 136, 20, -1, 151, + -1, 199, -1, 211, -1, 210, -1, 176, 212, -1, + 214, 215, -1, 205, 215, -1, 216, 160, 217, -1, + 216, 219, -1, -1, 19, -1, 68, 213, -1, 68, + 8, -1, 69, 16, 212, -1, 69, 9, 212, 136, + 16, 212, 136, 16, 212, -1, 70, 158, 212, 136, + 16, 212, 142, 218, 144, -1, 70, 158, 212, 136, + 16, 212, 142, 144, -1, 71, 165, 178, 212, 138, + 221, 139, 33, 16, 212, 72, 16, 212, -1, 72, + -1, 73, -1, 218, 158, 210, 136, 16, 212, -1, + 158, 210, 136, 16, 212, -1, 160, 224, -1, 176, + 142, 212, 136, 212, 144, -1, 220, 136, 142, 212, + 136, 212, 144, -1, 176, 212, 168, -1, 221, 136, + 176, 212, 168, -1, -1, -1, 222, 136, 213, -1, + 56, 55, -1, 55, -1, 152, 176, 212, 136, 212, + -1, 153, 176, 212, 136, 212, -1, 86, 156, 176, + 212, 136, 212, -1, 87, 157, 176, 212, 136, 212, + -1, 45, 213, -1, 155, 213, 136, 213, -1, 154, + 213, 33, 176, -1, 127, 213, 136, 213, 136, 213, + -1, 131, 213, 136, 176, -1, 132, 213, 136, 213, + -1, 133, 213, 136, 213, 136, 213, -1, 134, 213, + 136, 213, 136, 213, -1, 126, 220, -1, 223, 165, + 178, 212, 138, 221, 139, -1, 226, -1, 32, -1, + -1, 108, 176, 170, -1, 108, 176, 136, 12, 212, + 170, -1, 109, 176, 170, -1, 109, 176, 136, 12, + 212, 170, -1, 110, 213, -1, 225, 111, 176, 212, + -1, 225, 112, 213, 136, 176, 212, -1, 113, 176, + 212, 222, -1 }; /* YYRLINE[YYN] -- source line where rule number YYN was defined. */ static const unsigned short int yyrline[] = { - 0, 989, 989, 990, 1000, 1000, 1000, 1000, 1000, 1000, - 1000, 1000, 1000, 1001, 1001, 1001, 1002, 1002, 1002, 1002, - 1002, 1002, 1003, 1003, 1003, 1003, 1003, 1003, 1004, 1004, - 1004, 1006, 1006, 1007, 1007, 1008, 1008, 1009, 1009, 1010, - 1010, 1014, 1014, 1015, 1015, 1016, 1016, 1017, 1017, 1018, - 1018, 1019, 1019, 1020, 1020, 1021, 1022, 1027, 1027, 1027, - 1027, 1028, 1028, 1028, 1028, 1029, 1029, 1030, 1030, 1033, - 1037, 1043, 1044, 1045, 1046, 1047, 1051, 1052, 1053, 1057, - 1058, 1059, 1063, 1064, 1065, 1066, 1067, 1070, 1071, 1072, - 1073, 1074, 1075, 1076, 1077, 1086, 1087, 1093, 1094, 1102, - 1110, 1111, 1116, 1117, 1118, 1123, 1137, 1137, 1138, 1138, - 1140, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1151, 1151, - 1151, 1151, 1151, 1152, 1156, 1160, 1168, 1176, 1189, 1194, - 1206, 1216, 1220, 1230, 1234, 1245, 1250, 1256, 1257, 1261, - 1265, 1276, 1302, 1316, 1346, 1372, 1393, 1406, 1416, 1421, - 1482, 1489, 1497, 1503, 1509, 1515, 1521, 1525, 1529, 1537, - 1549, 1570, 1578, 1584, 1595, 1600, 1605, 1614, 1620, 1626, - 1635, 1639, 1647, 1647, 1658, 1663, 1671, 1672, 1676, 1676, - 1680, 1680, 1683, 1686, 1698, 1720, 1720, 1729, 1729, 1737, - 1737, 1745, 1748, 1754, 1767, 1768, 1770, 1774, 1783, 1787, - 1792, 1794, 1799, 1804, 1813, 1813, 1814, 1814, 1816, 1823, - 1829, 1836, 1840, 1846, 1851, 1856, 1951, 1951, 1953, 1961, - 1961, 1963, 1968, 1978, 1982, 1987, 1991, 1995, 1999, 2003, - 2007, 2011, 2015, 2019, 2044, 2048, 2062, 2066, 2072, 2072, - 2078, 2083, 2087, 2096, 2107, 2116, 2128, 2141, 2145, 2149, - 2154, 2163, 2182, 2191, 2247, 2251, 2258, 2269, 2282, 2291, - 2300, 2310, 2314, 2321, 2321, 2323, 2327, 2332, 2351, 2366, - 2377, 2388, 2401, 2410, 2421, 2429, 2434, 2440, 2446, 2452, - 2467, 2526, 2533, 2536, 2541, 2545, 2552, 2557, 2563, 2568, - 2574, 2582, 2594, 2609 + 0, 983, 983, 984, 994, 994, 994, 994, 994, 994, + 994, 994, 994, 995, 995, 995, 996, 996, 996, 996, + 996, 996, 997, 997, 997, 997, 997, 997, 998, 998, + 998, 1000, 1000, 1001, 1001, 1002, 1002, 1003, 1003, 1004, + 1004, 1008, 1008, 1009, 1009, 1010, 1010, 1011, 1011, 1012, + 1012, 1013, 1013, 1014, 1014, 1015, 1016, 1021, 1021, 1021, + 1021, 1022, 1022, 1025, 1029, 1035, 1036, 1037, 1038, 1039, + 1043, 1044, 1045, 1049, 1050, 1051, 1055, 1056, 1057, 1058, + 1059, 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1076, + 1077, 1080, 1081, 1086, 1087, 1088, 1093, 1094, 1100, 1101, + 1109, 1117, 1118, 1123, 1124, 1125, 1130, 1143, 1143, 1143, + 1143, 1143, 1143, 1143, 1143, 1146, 1150, 1154, 1161, 1166, + 1174, 1192, 1210, 1215, 1227, 1237, 1241, 1251, 1258, 1265, + 1273, 1279, 1284, 1291, 1292, 1299, 1306, 1314, 1319, 1330, + 1358, 1374, 1403, 1431, 1452, 1467, 1479, 1486, 1549, 1558, + 1568, 1574, 1580, 1584, 1588, 1596, 1610, 1631, 1639, 1645, + 1656, 1661, 1666, 1675, 1681, 1687, 1696, 1700, 1708, 1708, + 1719, 1724, 1732, 1733, 1737, 1737, 1741, 1741, 1744, 1747, + 1759, 1783, 1794, 1794, 1803, 1803, 1811, 1811, 1821, 1824, + 1830, 1843, 1844, 1846, 1850, 1859, 1863, 1868, 1870, 1875, + 1880, 1889, 1889, 1890, 1890, 1892, 1902, 1913, 1917, 1926, + 1935, 1940, 2038, 2038, 2040, 2048, 2048, 2050, 2055, 2066, + 2070, 2075, 2079, 2083, 2087, 2091, 2095, 2099, 2103, 2107, + 2132, 2136, 2150, 2154, 2160, 2160, 2166, 2175, 2179, 2188, + 2199, 2208, 2220, 2233, 2237, 2241, 2246, 2255, 2274, 2283, + 2350, 2354, 2361, 2372, 2385, 2394, 2405, 2415, 2423, 2431, + 2434, 2435, 2441, 2445, 2450, 2471, 2488, 2501, 2514, 2527, + 2536, 2549, 2557, 2564, 2570, 2576, 2582, 2597, 2659, 2664, + 2668, 2675, 2682, 2690, 2697, 2705, 2713, 2727, 2744 }; #endif @@ -1651,43 +1631,43 @@ static const char *const yytname[] = { "$end", "error", "$undefined", "ESINT64VAL", "EUINT64VAL", "SINTVAL", - "UINTVAL", "FPVAL", "VOID", "BOOL", "SBYTE", "UBYTE", "SHORT", "USHORT", - "INT", "UINT", "LONG", "ULONG", "FLOAT", "DOUBLE", "LABEL", "TYPE", - "VAR_ID", "LABELSTR", "STRINGCONSTANT", "IMPLEMENTATION", - "ZEROINITIALIZER", "TRUETOK", "FALSETOK", "BEGINTOK", "ENDTOK", - "DECLARE", "DEFINE", "GLOBAL", "CONSTANT", "SECTION", "VOLATILE", "TO", - "DOTDOTDOT", "NULL_TOK", "UNDEF", "CONST", "INTERNAL", "LINKONCE", - "WEAK", "APPENDING", "DLLIMPORT", "DLLEXPORT", "EXTERN_WEAK", "OPAQUE", - "NOT", "EXTERNAL", "TARGET", "TRIPLE", "ENDIAN", "POINTERSIZE", "LITTLE", - "BIG", "ALIGN", "DEPLIBS", "CALL", "TAIL", "ASM_TOK", "MODULE", - "SIDEEFFECT", "CC_TOK", "CCC_TOK", "CSRETCC_TOK", "FASTCC_TOK", - "COLDCC_TOK", "X86_STDCALLCC_TOK", "X86_FASTCALLCC_TOK", "DATALAYOUT", - "RET", "BR", "SWITCH", "INVOKE", "UNWIND", "UNREACHABLE", "ADD", "SUB", - "MUL", "UDIV", "SDIV", "FDIV", "UREM", "SREM", "FREM", "AND", "OR", - "XOR", "ICMP", "FCMP", "EQ", "NE", "SLT", "SGT", "SLE", "SGE", "ULT", - "UGT", "ULE", "UGE", "OEQ", "ONE", "OLT", "OGT", "OLE", "OGE", "ORD", - "UNO", "UEQ", "UNE", "MALLOC", "ALLOCA", "FREE", "LOAD", "STORE", - "GETELEMENTPTR", "TRUNC", "ZEXT", "SEXT", "FPTRUNC", "FPEXT", "BITCAST", - "UITOFP", "SITOFP", "FPTOUI", "FPTOSI", "INTTOPTR", "PTRTOINT", - "PHI_TOK", "SELECT", "SHL", "LSHR", "ASHR", "VAARG", "EXTRACTELEMENT", - "INSERTELEMENT", "SHUFFLEVECTOR", "'='", "','", "'\\\\'", "'('", "')'", - "'['", "'x'", "']'", "'<'", "'>'", "'{'", "'}'", "'*'", "'c'", "$accept", - "INTVAL", "ArithmeticOps", "LogicalOps", "CastOps", "ShiftOps", - "IPredicates", "FPredicates", "SIntType", "UIntType", "IntType", - "FPType", "OptAssign", "GVInternalLinkage", "GVExternalLinkage", - "FnDeclareLinkage", "FunctionLinkage", "OptCallingConv", "OptAlign", - "OptCAlign", "SectionString", "OptSection", "GlobalVarAttributes", - "GlobalVarAttribute", "TypesV", "UpRTypesV", "Types", "PrimType", - "UpRTypes", "TypeListI", "ArgTypeListI", "ConstVal", "ConstExpr", - "ConstVector", "GlobalType", "Module", "DefinitionList", "Definition", - "@1", "@2", "@3", "@4", "@5", "AsmBlock", "BigOrLittle", - "TargetDefinition", "LibrariesDefinition", "LibList", "Name", "OptName", - "ArgVal", "ArgListH", "ArgList", "FunctionHeaderH", "BEGIN", + "UINTVAL", "FPVAL", "VOID", "BOOL", "INT8", "INT16", "INT32", "INT64", + "FLOAT", "DOUBLE", "LABEL", "TYPE", "VAR_ID", "LABELSTR", + "STRINGCONSTANT", "IMPLEMENTATION", "ZEROINITIALIZER", "TRUETOK", + "FALSETOK", "BEGINTOK", "ENDTOK", "DECLARE", "DEFINE", "GLOBAL", + "CONSTANT", "SECTION", "VOLATILE", "TO", "DOTDOTDOT", "NULL_TOK", + "UNDEF", "INTERNAL", "LINKONCE", "WEAK", "APPENDING", "DLLIMPORT", + "DLLEXPORT", "EXTERN_WEAK", "OPAQUE", "NOT", "EXTERNAL", "TARGET", + "TRIPLE", "ENDIAN", "POINTERSIZE", "LITTLE", "BIG", "ALIGN", "DEPLIBS", + "CALL", "TAIL", "ASM_TOK", "MODULE", "SIDEEFFECT", "CC_TOK", "CCC_TOK", + "CSRETCC_TOK", "FASTCC_TOK", "COLDCC_TOK", "X86_STDCALLCC_TOK", + "X86_FASTCALLCC_TOK", "DATALAYOUT", "RET", "BR", "SWITCH", "INVOKE", + "UNWIND", "UNREACHABLE", "ADD", "SUB", "MUL", "UDIV", "SDIV", "FDIV", + "UREM", "SREM", "FREM", "AND", "OR", "XOR", "ICMP", "FCMP", "EQ", "NE", + "SLT", "SGT", "SLE", "SGE", "ULT", "UGT", "ULE", "UGE", "OEQ", "ONE", + "OLT", "OGT", "OLE", "OGE", "ORD", "UNO", "UEQ", "UNE", "MALLOC", + "ALLOCA", "FREE", "LOAD", "STORE", "GETELEMENTPTR", "TRUNC", "ZEXT", + "SEXT", "FPTRUNC", "FPEXT", "BITCAST", "UITOFP", "SITOFP", "FPTOUI", + "FPTOSI", "INTTOPTR", "PTRTOINT", "PHI_TOK", "SELECT", "SHL", "LSHR", + "ASHR", "VAARG", "EXTRACTELEMENT", "INSERTELEMENT", "SHUFFLEVECTOR", + "'='", "','", "'@'", "'('", "')'", "'*'", "'\\\\'", "'['", "'x'", "']'", + "'<'", "'>'", "'{'", "'}'", "'c'", "$accept", "INTVAL", "ArithmeticOps", + "LogicalOps", "CastOps", "ShiftOps", "IPredicates", "FPredicates", + "IntType", "FPType", "OptAssign", "GVInternalLinkage", + "GVExternalLinkage", "FunctionDeclareLinkage", "FunctionDefineLinkage", + "OptCallingConv", "ParamAttr", "ParamAttrList", "OptParamAttrs", + "OptAlign", "OptCAlign", "SectionString", "OptSection", + "GlobalVarAttributes", "GlobalVarAttribute", "PrimType", "Types", + "ArgType", "ResultType", "ArgTypeList", "ArgTypeListI", "TypeListI", + "ConstVal", "ConstExpr", "ConstVector", "GlobalType", "Module", + "DefinitionList", "Definition", "@1", "@2", "@3", "@4", "@5", "AsmBlock", + "BigOrLittle", "TargetDefinition", "LibrariesDefinition", "LibList", + "Name", "OptName", "ArgListH", "ArgList", "FunctionHeaderH", "BEGIN", "FunctionHeader", "END", "Function", "FunctionProto", "OptSideEffect", "ConstValueRef", "SymbolicValueRef", "ValueRef", "ResolvedVal", "BasicBlockList", "BasicBlock", "InstructionList", "BBTerminatorInst", - "JumpTable", "Inst", "PHIList", "ValueRefList", "ValueRefListE", - "OptTailCall", "InstVal", "IndexList", "OptVolatile", "MemoryInst", 0 + "JumpTable", "Inst", "PHIList", "ValueRefList", "IndexList", + "OptTailCall", "InstVal", "OptVolatile", "MemoryInst", 0 }; #endif @@ -1709,45 +1689,43 @@ 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, - 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, - 61, 44, 92, 40, 41, 91, 120, 93, 60, 62, - 123, 125, 42, 99 + 385, 386, 387, 388, 389, 61, 44, 64, 40, 41, + 42, 92, 91, 120, 93, 60, 62, 123, 125, 99 }; # endif /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ static const unsigned char yyr1[] = { - 0, 154, 155, 155, 156, 156, 156, 156, 156, 156, - 156, 156, 156, 157, 157, 157, 158, 158, 158, 158, - 158, 158, 158, 158, 158, 158, 158, 158, 159, 159, - 159, 160, 160, 160, 160, 160, 160, 160, 160, 160, - 160, 161, 161, 161, 161, 161, 161, 161, 161, 161, - 161, 161, 161, 161, 161, 161, 161, 162, 162, 162, - 162, 163, 163, 163, 163, 164, 164, 165, 165, 166, - 166, 167, 167, 167, 167, 167, 168, 168, 168, 169, - 169, 169, 170, 170, 170, 170, 170, 171, 171, 171, - 171, 171, 171, 171, 171, 172, 172, 173, 173, 174, - 175, 175, 176, 176, 177, 177, 178, 178, 179, 179, - 180, 181, 181, 181, 181, 181, 181, 181, 181, 181, - 181, 181, 181, 182, 182, 182, 182, 182, 182, 182, - 182, 182, 182, 182, 182, 183, 183, 184, 184, 184, - 184, 185, 185, 185, 185, 185, 185, 185, 185, 185, - 185, 185, 185, 185, 185, 185, 185, 185, 185, 186, - 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, - 187, 187, 188, 188, 189, 189, 190, 190, 192, 191, - 193, 191, 191, 191, 191, 194, 191, 195, 191, 196, - 191, 191, 191, 197, 198, 198, 199, 199, 199, 199, - 200, 201, 201, 201, 202, 202, 203, 203, 204, 205, - 205, 206, 206, 206, 206, 207, 208, 208, 209, 210, - 210, 211, 212, 213, 213, 214, 214, 214, 214, 214, - 214, 214, 214, 214, 214, 214, 215, 215, 216, 216, - 217, 218, 218, 219, 220, 220, 220, 221, 221, 221, - 221, 221, 221, 221, 221, 221, 222, 222, 223, 224, - 224, 225, 225, 226, 226, 227, 227, 228, 228, 228, - 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, - 228, 228, 229, 229, 230, 230, 231, 231, 231, 231, - 231, 231, 231, 231 + 0, 150, 151, 151, 152, 152, 152, 152, 152, 152, + 152, 152, 152, 153, 153, 153, 154, 154, 154, 154, + 154, 154, 154, 154, 154, 154, 154, 154, 155, 155, + 155, 156, 156, 156, 156, 156, 156, 156, 156, 156, + 156, 157, 157, 157, 157, 157, 157, 157, 157, 157, + 157, 157, 157, 157, 157, 157, 157, 158, 158, 158, + 158, 159, 159, 160, 160, 161, 161, 161, 161, 161, + 162, 162, 162, 163, 163, 163, 164, 164, 164, 164, + 164, 165, 165, 165, 165, 165, 165, 165, 165, 166, + 166, 167, 167, 168, 168, 168, 169, 169, 170, 170, + 171, 172, 172, 173, 173, 174, 174, 175, 175, 175, + 175, 175, 175, 175, 175, 176, 176, 176, 176, 176, + 176, 176, 176, 176, 176, 176, 176, 176, 177, 178, + 178, 179, 179, 180, 180, 180, 180, 181, 181, 182, + 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, + 182, 182, 182, 182, 182, 183, 183, 183, 183, 183, + 183, 183, 183, 183, 183, 183, 184, 184, 185, 185, + 186, 186, 187, 187, 189, 188, 190, 188, 188, 188, + 188, 188, 191, 188, 192, 188, 193, 188, 188, 188, + 194, 195, 195, 196, 196, 196, 196, 197, 198, 198, + 198, 199, 199, 200, 200, 201, 201, 202, 202, 202, + 202, 203, 204, 204, 205, 206, 206, 207, 208, 209, + 209, 210, 210, 210, 210, 210, 210, 210, 210, 210, + 210, 210, 211, 211, 212, 212, 213, 214, 214, 215, + 216, 216, 216, 217, 217, 217, 217, 217, 217, 217, + 217, 217, 218, 218, 219, 220, 220, 221, 221, 221, + 222, 222, 223, 223, 224, 224, 224, 224, 224, 224, + 224, 224, 224, 224, 224, 224, 224, 224, 224, 225, + 225, 226, 226, 226, 226, 226, 226, 226, 226 }; /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ @@ -1759,30 +1737,29 @@ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, - 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, - 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, - 1, 1, 1, 1, 2, 0, 2, 0, 3, 2, - 0, 1, 0, 3, 1, 2, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 2, 4, 5, 5, - 3, 2, 5, 4, 2, 1, 3, 1, 3, 1, - 0, 4, 3, 3, 4, 4, 3, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 6, - 5, 8, 6, 6, 7, 7, 6, 6, 8, 8, - 3, 1, 1, 1, 1, 0, 1, 2, 0, 3, - 0, 3, 3, 1, 3, 0, 5, 0, 6, 0, - 6, 2, 3, 1, 1, 1, 3, 3, 3, 3, - 3, 3, 1, 0, 1, 1, 1, 0, 2, 3, - 1, 1, 3, 1, 0, 8, 1, 1, 3, 1, - 1, 2, 2, 0, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 3, 1, 5, 1, 1, 1, 1, - 2, 2, 2, 3, 2, 0, 1, 2, 2, 3, - 9, 9, 8, 13, 1, 1, 6, 5, 2, 6, - 7, 1, 3, 1, 0, 2, 1, 5, 5, 6, - 6, 2, 4, 4, 6, 4, 4, 6, 6, 2, - 7, 1, 2, 0, 1, 0, 3, 6, 3, 6, - 2, 4, 6, 4 + 1, 1, 1, 2, 0, 1, 1, 1, 1, 1, + 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, + 1, 0, 1, 1, 1, 1, 1, 1, 2, 1, + 1, 1, 3, 0, 2, 4, 0, 2, 0, 3, + 2, 0, 1, 0, 3, 1, 2, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 2, 1, 2, + 5, 5, 5, 5, 3, 2, 5, 4, 2, 2, + 2, 1, 3, 1, 3, 1, 0, 1, 3, 4, + 3, 3, 4, 4, 3, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 6, 5, 8, 6, 6, + 7, 7, 6, 6, 8, 8, 3, 1, 1, 1, + 1, 0, 1, 2, 0, 3, 0, 3, 3, 1, + 3, 3, 0, 5, 0, 6, 0, 6, 2, 3, + 1, 1, 1, 3, 3, 3, 3, 3, 3, 1, + 0, 1, 1, 1, 0, 5, 3, 1, 3, 1, + 0, 8, 1, 1, 3, 1, 1, 2, 2, 0, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, + 1, 5, 1, 1, 1, 1, 2, 2, 2, 3, + 2, 0, 1, 2, 2, 3, 9, 9, 8, 13, + 1, 1, 6, 5, 2, 6, 7, 3, 5, 0, + 0, 3, 2, 1, 5, 5, 6, 6, 2, 4, + 4, 6, 4, 4, 6, 6, 2, 7, 1, 1, + 0, 3, 6, 3, 6, 2, 4, 6, 4 }; /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state @@ -1790,525 +1767,534 @@ means the default is an error. */ static const unsigned short int yydefact[] = { - 70, 204, 205, 183, 180, 178, 0, 0, 0, 0, - 0, 70, 176, 0, 79, 86, 0, 0, 0, 0, - 191, 0, 0, 0, 172, 173, 71, 73, 72, 74, - 76, 75, 77, 78, 0, 0, 0, 1, 177, 69, - 80, 81, 87, 181, 82, 83, 84, 85, 87, 245, - 179, 245, 0, 0, 0, 0, 203, 192, 193, 182, - 2, 3, 107, 111, 112, 113, 114, 115, 116, 117, - 118, 119, 120, 121, 122, 123, 0, 0, 0, 0, - 236, 184, 0, 106, 124, 110, 237, 125, 0, 0, - 109, 111, 112, 113, 114, 115, 116, 117, 118, 119, - 120, 121, 0, 0, 0, 0, 185, 0, 88, 89, - 90, 91, 92, 93, 0, 222, 0, 246, 242, 70, - 219, 220, 221, 241, 198, 195, 194, 196, 197, 199, - 202, 0, 126, 0, 0, 0, 131, 135, 0, 140, - 134, 187, 189, 156, 157, 152, 153, 155, 154, 158, - 151, 147, 148, 4, 5, 6, 7, 8, 9, 10, - 11, 12, 13, 14, 15, 0, 0, 0, 16, 17, - 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, - 0, 28, 29, 30, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 150, 149, 102, 94, 0, - 216, 217, 218, 285, 244, 0, 200, 0, 0, 0, - 0, 0, 130, 139, 137, 0, 102, 102, 31, 32, - 33, 34, 35, 36, 37, 38, 39, 40, 0, 55, - 56, 51, 52, 53, 54, 41, 42, 43, 44, 45, - 46, 47, 48, 49, 50, 0, 0, 0, 0, 0, - 0, 142, 171, 0, 0, 146, 0, 143, 0, 0, - 0, 0, 0, 186, 0, 284, 0, 266, 0, 0, - 0, 0, 87, 254, 255, 0, 0, 0, 0, 0, + 64, 201, 202, 179, 176, 174, 0, 0, 0, 0, + 0, 64, 172, 0, 73, 76, 0, 0, 0, 0, + 188, 0, 0, 0, 168, 169, 65, 67, 66, 68, + 70, 69, 71, 72, 0, 0, 0, 1, 173, 63, + 74, 75, 81, 177, 77, 78, 79, 80, 81, 241, + 175, 241, 0, 0, 0, 0, 200, 189, 190, 178, + 2, 3, 181, 107, 108, 109, 110, 111, 112, 113, + 114, 115, 0, 0, 0, 0, 232, 116, 180, 233, + 118, 0, 0, 93, 107, 108, 109, 110, 111, 112, + 113, 0, 0, 93, 182, 0, 82, 83, 84, 85, + 86, 87, 0, 218, 0, 242, 238, 64, 215, 216, + 217, 237, 195, 192, 191, 193, 194, 196, 199, 0, + 0, 0, 119, 0, 0, 0, 125, 137, 0, 117, + 0, 184, 186, 152, 153, 150, 151, 154, 149, 145, + 146, 4, 5, 6, 7, 8, 9, 10, 11, 12, + 13, 14, 15, 0, 0, 0, 16, 17, 18, 19, + 20, 21, 22, 23, 24, 25, 26, 27, 0, 28, + 29, 30, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 148, 147, 103, 88, 93, 93, 0, + 212, 213, 214, 280, 240, 0, 197, 89, 90, 0, + 94, 136, 0, 0, 0, 0, 0, 124, 136, 103, + 103, 31, 32, 33, 34, 35, 36, 37, 38, 39, + 40, 0, 55, 56, 51, 52, 53, 54, 41, 42, + 43, 44, 45, 46, 47, 48, 49, 50, 0, 0, + 0, 0, 0, 0, 140, 167, 0, 0, 144, 0, + 141, 0, 0, 0, 0, 0, 183, 130, 129, 0, + 279, 0, 263, 0, 0, 0, 0, 81, 250, 251, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 243, 87, 258, 0, 281, 201, 108, 108, 133, - 0, 136, 0, 127, 188, 190, 0, 0, 283, 0, - 0, 0, 0, 0, 141, 144, 145, 0, 0, 0, - 0, 0, 0, 104, 102, 214, 0, 271, 265, 248, - 247, 0, 0, 60, 64, 59, 63, 58, 62, 57, - 61, 65, 66, 0, 0, 0, 0, 97, 97, 290, - 0, 0, 279, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 128, 129, 132, 138, 0, - 0, 0, 0, 0, 0, 0, 0, 170, 0, 0, - 0, 0, 99, 105, 103, 213, 207, 210, 211, 0, - 225, 226, 227, 232, 228, 229, 230, 231, 223, 0, - 234, 239, 238, 240, 0, 249, 0, 0, 0, 0, - 0, 286, 0, 288, 283, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 261, 282, 160, 0, 0, 0, 0, 0, 0, - 0, 0, 206, 208, 0, 100, 224, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 293, 0, 0, - 0, 275, 276, 0, 0, 0, 0, 273, 272, 0, - 291, 0, 0, 0, 0, 0, 167, 0, 0, 162, - 163, 159, 166, 212, 209, 101, 95, 0, 233, 0, - 0, 264, 0, 0, 97, 98, 97, 0, 0, 0, - 0, 0, 267, 268, 264, 0, 164, 165, 262, 0, - 0, 0, 0, 215, 0, 0, 0, 263, 0, 269, - 270, 0, 287, 289, 0, 0, 274, 277, 278, 0, - 292, 161, 168, 169, 96, 235, 0, 0, 0, 259, - 0, 280, 0, 252, 0, 0, 0, 260, 250, 0, - 251, 0, 0, 0, 0, 0, 0, 0, 0, 257, - 0, 0, 256, 253 + 0, 0, 0, 0, 0, 0, 239, 81, 254, 0, + 278, 198, 91, 0, 135, 93, 131, 133, 0, 93, + 93, 127, 0, 138, 0, 185, 187, 0, 0, 260, + 0, 0, 0, 0, 0, 139, 142, 143, 0, 0, + 0, 0, 0, 0, 105, 103, 210, 93, 268, 262, + 244, 243, 0, 0, 60, 59, 58, 57, 0, 0, + 0, 0, 98, 98, 285, 93, 93, 276, 0, 0, + 0, 0, 0, 93, 93, 0, 0, 0, 0, 0, + 0, 95, 128, 0, 121, 122, 123, 126, 120, 0, + 0, 0, 0, 0, 0, 0, 166, 0, 0, 0, + 0, 100, 106, 104, 209, 93, 207, 0, 221, 222, + 223, 228, 224, 225, 226, 227, 219, 0, 230, 235, + 234, 236, 0, 245, 0, 0, 93, 93, 0, 281, + 0, 283, 260, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 93, 0, 92, 134, 132, + 0, 0, 0, 156, 0, 0, 0, 0, 0, 0, + 93, 0, 204, 0, 101, 220, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 288, 0, 0, 0, + 272, 273, 0, 0, 0, 0, 270, 269, 0, 286, + 0, 0, 0, 261, 0, 163, 0, 0, 158, 159, + 155, 162, 203, 206, 208, 93, 102, 96, 0, 229, + 0, 0, 259, 0, 0, 98, 99, 98, 0, 0, + 0, 0, 0, 264, 265, 259, 93, 160, 161, 0, + 0, 0, 204, 0, 211, 0, 0, 0, 93, 0, + 266, 267, 0, 282, 284, 0, 0, 271, 274, 275, + 0, 287, 157, 164, 165, 205, 97, 231, 0, 0, + 93, 0, 0, 255, 0, 277, 0, 248, 0, 0, + 257, 93, 0, 256, 246, 0, 247, 0, 93, 0, + 0, 0, 258, 0, 0, 0, 0, 253, 0, 0, + 252, 249 }; /* YYDEFGOTO[NTERM-NUM]. */ static const short int yydefgoto[] = { - -1, 80, 191, 192, 193, 194, 228, 245, 102, 103, - 343, 104, 9, 34, 35, 42, 48, 114, 513, 411, - 323, 486, 263, 324, 81, 82, 105, 84, 85, 138, - 215, 252, 400, 253, 36, 10, 11, 12, 15, 14, - 197, 216, 217, 59, 127, 20, 57, 131, 86, 443, - 387, 388, 389, 115, 202, 49, 122, 50, 43, 447, - 401, 87, 403, 431, 51, 118, 119, 291, 545, 204, - 352, 517, 518, 292, 293, 372, 294, 295 + -1, 76, 179, 180, 181, 182, 221, 238, 91, 92, + 9, 34, 35, 42, 48, 102, 200, 293, 130, 514, + 409, 324, 487, 256, 325, 77, 93, 296, 189, 297, + 298, 128, 245, 398, 246, 36, 10, 11, 12, 15, + 14, 185, 209, 210, 59, 115, 20, 57, 119, 79, + 483, 386, 387, 103, 192, 49, 110, 50, 43, 446, + 399, 80, 401, 328, 51, 106, 107, 286, 549, 194, + 347, 519, 371, 287, 288, 289, 290 }; /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing STATE-NUM. */ -#define YYPACT_NINF -420 +#define YYPACT_NINF -444 static const short int yypact[] = { - 64, -420, -420, -420, -420, -420, 45, -80, 49, 59, - 124, 118, -420, -14, -33, 159, 8, 11, 32, 38, - -420, -10, 121, 1149, -420, -420, -420, -420, -420, -420, - -420, -420, -420, -420, 141, 141, 1195, -420, -420, -420, - -420, -420, 143, -420, -420, -420, -420, -420, 143, 157, - -420, -12, 191, 148, 179, 197, 201, -420, -420, -420, - -420, -420, 90, -420, -420, -420, -420, -420, -420, -420, - -420, -420, -420, -420, -420, -420, 227, 233, 4, 34, - -420, -420, 99, -420, -420, -62, -420, -420, 1195, 1240, - -420, 190, 216, 220, 232, 241, 247, 267, 269, 271, - 246, 285, 275, 277, 287, 523, -420, 278, -420, -420, - -420, -420, -420, -420, 1149, -420, -19, -420, -420, 63, - -420, -420, -420, -420, -420, -420, -420, -420, -420, -420, - -420, -13, -420, 149, 150, 574, -420, -62, -84, 934, - -420, -420, -420, -420, -420, -420, -420, -420, -420, -420, - -420, -420, -420, -420, -420, -420, -420, -420, -420, -420, - -420, -420, -420, -420, -420, 231, 87, 154, -420, -420, - -420, -420, -420, -420, -420, -420, -420, -420, -420, -420, - 155, -420, -420, -420, 156, 158, 160, 982, 1195, 669, - 280, 162, 163, 165, 166, -420, -420, 169, -420, 63, - -420, -420, -420, 1339, -420, 288, -420, 1240, 1240, 164, - -57, 1240, -420, -420, 170, 173, 169, 169, -420, -420, - -420, -420, -420, -420, -420, -420, -420, -420, 171, -420, - -420, -420, -420, -420, -420, -420, -420, -420, -420, -420, - -420, -420, -420, -420, -420, 175, 1195, 1195, 1195, 1195, - 1195, -420, -420, 5, -86, -420, -32, -420, 1195, 1195, - 1195, 1195, 24, -420, 176, -420, 1240, -420, 260, 1260, - 88, 147, 143, -420, -420, 231, 87, 1240, 1240, 1240, - 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, - 1240, -420, 143, -420, 168, -420, -420, 19, -5, -420, - 185, -62, 1002, -420, -420, -420, 1195, 1195, 194, 195, - 196, 202, 203, 1195, -420, -420, -420, 204, 205, 301, - 206, 318, 345, -420, 169, 1047, 704, -420, -420, 90, - -420, 704, 704, -420, -420, -420, -420, -420, -420, -420, - -420, -420, -420, 704, 1149, 1240, 1240, 209, 210, -420, - 704, 207, 219, 221, 222, 226, 228, 229, 704, 704, - 331, 230, 1149, 1240, 1240, -420, -420, -420, -420, 234, - 235, 1240, 236, 1195, 1195, 1195, 1195, -420, 1195, 1195, - 1240, 1195, -420, -420, -420, -420, 63, -420, 237, 238, - -420, -420, -420, -420, -420, -420, -420, -420, 309, 1195, - -420, -420, -420, -420, 240, -420, 244, 704, 704, 704, - 20, -420, 21, -420, 194, 704, 243, 1240, 1240, 1240, - 1240, 1240, 245, 248, 1240, 1240, 704, 704, 249, 1195, - 1195, -420, 250, -420, 251, 255, 252, 259, 261, 262, - 268, 270, -420, -420, 1093, 339, -420, 353, -28, 359, - 383, 272, 263, 276, 704, 414, 704, -420, 279, 704, - 283, -420, -420, 284, 286, 704, 704, -420, -420, 289, - -420, 1240, 292, 293, 1240, 1195, -420, 1195, 1195, -420, - -420, -420, -420, -420, -420, -420, 370, 290, -420, 704, - 704, 1240, 704, 704, 297, -420, 297, 704, 298, 1240, - 1240, 1240, -420, -420, 1240, 704, -420, -420, -420, 296, - 299, 300, 425, -420, 406, 304, 307, 250, 312, -420, - -420, 375, -420, -420, 294, 704, -420, -420, -420, 315, - -420, -420, -420, -420, -420, -420, 422, 9, 416, -420, - 313, -420, 704, -420, 841, 60, 441, -420, -420, 322, - -420, 841, 704, 444, 324, 389, 704, 447, 449, -420, - 704, 704, -420, -420 + 76, -444, -444, -444, -444, -444, -14, -77, 12, 548, + 89, 91, -444, -40, 79, 116, -36, -29, -11, -3, + -444, 14, 119, 949, -444, -444, -444, -444, -444, -444, + -444, -444, -444, -444, 15, 15, 1230, -444, -444, -444, + -444, -444, 131, -444, -444, -444, -444, -444, 131, 124, + -444, -2, 130, -12, 173, 179, 188, -444, -444, -444, + -444, -444, 25, -444, -444, -444, -444, -444, -444, -444, + -444, -444, 212, 214, 4, 72, -444, -444, 44, -444, + -444, 1230, 1271, 103, 152, 207, 225, 243, 260, 230, + 241, 262, 269, 575, -444, 263, -444, -444, -444, -444, + -444, -444, 1288, -444, -16, -444, -444, 117, -444, -444, + -444, -444, -444, -444, -444, -444, -444, -444, -444, -19, + -84, 140, -444, 136, 139, 539, -444, 44, -99, -444, + 150, -444, 44, -444, -444, -444, -444, -444, -444, -444, + -444, -444, -444, -444, -444, -444, -444, -444, -444, -444, + -444, -444, -444, 77, 283, 151, -444, -444, -444, -444, + -444, -444, -444, -444, -444, -444, -444, -444, 154, -444, + -444, -444, 156, 157, 158, 806, 1230, 720, 270, 159, + 162, 166, 170, -444, -444, 155, -444, 103, 20, 117, + -444, -444, -444, 1369, -444, 289, -444, -444, -444, 153, + -444, 1123, 1271, 1271, 164, -98, 1271, -444, 1123, 155, + 155, -444, -444, -444, -444, -444, -444, -444, -444, -444, + -444, 174, -444, -444, -444, -444, -444, -444, -444, -444, + -444, -444, -444, -444, -444, -444, -444, -444, 175, 1230, + 1230, 1230, 1230, 1230, -444, -444, -15, -90, -444, -93, + -444, 1230, 1230, 1230, 1230, -5, -444, 140, 150, 177, + -444, 1271, -444, 256, 1329, 84, 176, 131, -444, -444, + 77, 283, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, + 1271, 1271, 1271, 1271, 1271, 1271, -444, 131, -444, 160, + -444, -444, -444, 5, -444, 20, -444, 178, 180, -4, + -39, -444, 181, 44, 182, -444, -444, 1230, 1230, -444, + 184, 186, 187, 190, 1230, -444, -444, -444, 192, 193, + 291, 194, 311, 328, -444, 155, 1169, 756, -444, -444, + 25, -444, 899, 899, -444, -444, -444, -444, 899, 1288, + 1271, 1271, 67, 85, -444, 756, -27, 197, 201, 202, + 203, 205, 206, 756, 756, 310, 208, 1288, 1271, 1271, + 153, -444, 150, 1186, -444, -444, -444, -444, -444, 209, + 210, 73, 1230, 1230, 1230, 1230, -444, 1230, 1230, 1271, + 1230, -444, -444, -444, -444, 20, 211, 213, -444, -444, + -444, -444, -444, -444, -444, -444, 290, 1230, -444, -444, + -444, -444, 215, -444, 221, 899, 756, 756, 13, -444, + 17, -444, -444, 899, 216, 1271, 1271, 1271, 1271, 1271, + 223, 224, 1271, 1271, 899, 756, 226, -444, -444, -444, + 1230, 1230, 1271, -444, 231, 235, 234, 240, 236, 252, + -66, 258, 10, 1213, 317, -444, 330, -71, 382, 386, + 266, 271, 272, 899, 401, 899, 278, 279, 899, 281, + 44, -444, 282, 288, 899, 899, 44, -444, 292, -444, + 1271, 280, 287, -444, 1230, -444, 1230, 1230, -444, -444, + -444, -444, -444, -444, -444, 20, -444, 374, 293, -444, + 899, 899, 1271, 899, 899, 297, -444, 297, 899, 298, + 1271, 1271, 1271, -444, -444, 1271, 756, -444, -444, 296, + 301, 305, 10, 424, -444, 416, 309, 295, 756, 88, + -444, -444, 395, -444, -444, 306, 899, -444, -444, -444, + 100, -444, -444, -444, -444, -444, -444, -444, 433, 3, + 103, 1271, 418, -444, 308, -444, 899, -444, 1031, 8, + -444, 756, 437, -444, -444, 319, -444, 1031, 103, 899, + 440, 321, -444, 387, 899, 442, 444, -444, 899, 899, + -444, -444 }; /* YYPGOTO[NTERM-NUM]. */ static const short int yypgoto[] = { - -420, -420, 291, 295, 302, 303, 198, 199, -269, -268, - -415, -420, 351, -420, -420, -420, -420, -231, -420, -341, - 26, -420, -188, -420, -110, -420, -23, -420, -70, -6, - -420, -20, 367, -183, 256, -420, -420, 463, -420, -420, - -420, -420, -420, -420, -420, -420, -420, -420, 1, -420, - 35, -420, -420, 432, -420, -420, -420, -420, -420, -420, - -419, -43, 76, -252, -420, 435, -420, -420, -420, -420, - -420, 116, -16, -420, -420, 75, -420, -420 + -444, -444, 268, 277, 294, 299, 218, 191, -262, -444, + 356, -444, -444, -444, -444, -245, -196, -444, -60, -444, + -336, 27, -444, -199, -444, -444, -23, 101, -306, -444, + 264, 348, -9, 383, -171, 239, -444, -444, 464, -444, + -444, -444, -444, -444, -444, -444, -444, -444, -444, 1, + -31, -444, -444, 438, -444, -444, -444, -444, -444, -444, + -443, -52, 78, -217, -444, 439, -444, -444, -444, -444, + -444, -10, 81, -444, -444, -444, -444 }; /* 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 -176 +#define YYTABLE_NINF -172 static const short int yytable[] = { - 83, 13, 341, 342, 199, 254, 256, 413, 134, 137, - 200, 117, 13, 40, 327, 41, 106, 330, 120, 333, - 334, 335, 336, 337, 338, 339, 340, 349, 304, 305, - 353, 354, 355, 356, 357, 454, 456, 360, 361, 60, - 61, 344, 90, 63, 64, 65, 66, 67, 68, 69, - 70, 71, 72, 73, 74, 313, 1, 211, 2, 321, - 21, 362, 196, 315, -175, 137, 142, 212, 141, 137, - 333, 334, 335, 336, 337, 338, 339, 340, 455, 455, - 23, -108, 322, 75, 211, 1, 1, 2, 2, 3, - 140, 83, 24, 25, 300, 4, 5, 331, 16, 17, - 18, 26, 27, 28, 29, 30, 31, 32, 332, 313, - 33, 22, 428, 313, 229, 230, 6, 19, -174, 316, - 13, 488, 544, 7, 37, 549, 39, 8, 205, 210, - 551, 201, 554, 214, 206, 56, 384, 297, 298, 121, - 1, 301, 2, 3, 366, 58, 313, 140, 52, 4, - 5, 53, 314, 522, 135, 523, 543, 333, 334, 335, - 336, 337, 338, 339, 340, 460, 365, 462, 463, 464, - 6, 140, 54, 468, 24, 25, 76, 7, 55, 77, - 117, 8, 78, 128, 79, 136, 231, 232, 233, 234, - 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, - 264, 44, 45, 46, 125, 126, 47, 550, 107, 108, - 109, 110, 111, 112, 113, 124, 448, 143, 144, -60, - -60, 129, 508, -64, -64, 130, 308, 309, 310, 311, - 312, 132, 301, -109, 407, -59, -59, 133, 317, 318, - 319, 320, 139, 326, -63, -63, 326, 526, 527, 528, - -58, -58, 426, -67, 347, 348, 326, 350, 351, 326, - 326, 326, 326, 326, 358, 359, 326, 326, 341, 342, - -62, -62, -57, -57, -61, -61, 341, 342, 145, 146, - 147, 148, 198, 402, 363, 364, 369, 370, 402, 402, - 88, 89, -68, 377, 149, 207, 208, 246, 247, 248, - 402, 249, 386, 250, 257, 258, 259, 402, 260, 261, - 262, 302, 296, 299, 306, 402, 402, 303, 307, 325, - 328, 83, 408, 409, 218, 219, 220, 221, 222, 223, - 224, 225, 226, 227, 367, 371, 373, 374, 380, 83, - 427, 326, 382, 375, 376, 378, 379, 381, 326, 383, - 410, 412, 415, 434, 435, 436, 437, 440, 438, 439, - 416, 441, 417, 418, 402, 402, 402, 419, 424, 420, - 421, 425, 402, 446, 321, 429, 430, 487, 444, 489, - 433, 449, 445, 402, 402, 450, 465, 442, 459, 466, - 471, 474, 475, 477, 326, 461, 326, 326, 326, 476, - 478, 467, 326, 490, 492, 479, 480, 404, 405, 472, - 473, 402, 481, 402, 482, 491, 402, 493, 495, 406, - 497, 386, 402, 402, 499, 500, 414, 501, 512, 534, - 535, 514, 504, 455, 422, 423, 506, 507, 521, 525, - 531, 539, 542, 532, 533, 536, 402, 402, 505, 402, - 402, 326, 537, 546, 402, 509, 538, 510, 511, 541, - 547, 552, 402, 553, 556, 557, 558, 560, 326, 561, - 203, 485, 195, 345, 38, 346, 326, 326, 326, 484, - 116, 326, 402, 451, 452, 453, 123, 432, 529, 457, - 0, 458, 0, 0, 287, 0, 0, 0, 288, 402, - 0, 0, 469, 470, 0, 289, 290, 0, 0, 402, - 0, 0, 0, 402, 0, 0, 0, 402, 402, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 60, 61, - 494, 0, 496, 0, 0, 498, 0, 0, 0, 0, - 0, 502, 503, 0, 0, 1, 0, 2, 0, 150, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 151, 152, 0, 515, 516, 0, 519, 520, - 0, 0, 0, 524, 0, 0, 0, 0, 0, 60, - 61, 530, 90, 63, 64, 65, 66, 67, 68, 69, - 70, 71, 72, 73, 74, 0, 1, 0, 2, 0, - 0, 540, 153, 154, 155, 156, 157, 158, 159, 160, - 161, 162, 163, 164, 165, 166, 0, 0, 548, 0, - 0, 0, 0, 75, 0, 0, 0, 0, 555, 0, - 0, 0, 559, 0, 0, 0, 562, 563, 0, 0, - 0, 167, 168, 169, 170, 171, 172, 173, 174, 175, - 176, 177, 178, 179, 0, 180, 181, 182, 183, 0, - 184, 185, 186, 0, 0, 0, 0, 0, 187, 0, - 0, 188, 0, 189, 60, 61, 190, 90, 91, 92, - 93, 94, 95, 96, 97, 98, 99, 100, 101, 74, - 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 390, 391, 60, - 61, 392, 0, 0, 0, 0, 76, 0, 75, 77, - 0, 0, 78, 0, 79, 209, 1, 0, 2, 0, - 393, 394, 395, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 396, 397, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 398, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 153, 154, 155, 156, 157, 158, 159, - 160, 161, 162, 163, 164, 165, 166, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 76, 0, 0, 77, 0, 0, 78, 0, 79, - 255, 0, 167, 168, 169, 170, 171, 172, 173, 174, - 175, 176, 177, 178, 179, 0, 180, 181, 182, 183, - 0, 184, 185, 186, 390, 391, 0, 0, 392, 0, - 0, 0, 399, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 393, 394, 395, + 78, 13, 121, 292, 338, 247, 249, 411, 124, 190, + 305, 306, 13, 334, 335, 336, 337, 105, 334, 335, + 336, 337, 339, 121, 108, 453, 322, 94, 1, 455, + 2, 197, 198, 405, 16, 17, 18, 206, 206, 113, + 114, 184, 357, 314, 24, 25, 314, 331, 323, 207, + 302, 424, 127, 19, 199, 317, 316, 344, 21, 132, + 348, 349, 350, 351, 352, 314, 454, 355, 356, 22, + 454, 120, 131, 480, 129, 489, -171, 60, 61, 188, + 83, 63, 64, 65, 66, 67, 68, 69, 70, 37, + 1, -170, 2, 332, 1, 39, 2, 3, 120, 52, + 333, 129, 127, 4, 5, 555, 53, 366, 13, 1, + 120, 2, 3, 129, 561, 413, 71, 195, 4, 5, + 40, 314, 41, 6, 54, 196, 383, 257, 258, 315, + 7, 191, 55, 120, 8, 1, 129, 2, 6, 58, + 365, 360, 426, 105, 361, 7, 109, 547, 208, 8, + 112, 125, 556, 44, 45, 46, 56, 120, 47, 523, + 129, 524, 120, -93, 427, 211, 212, 213, 214, 215, + 216, 217, 218, 219, 220, 133, 134, 116, 295, 299, + 300, 120, -93, 303, 129, 295, 334, 335, 336, 337, + 259, 95, 96, 97, 98, 99, 100, 101, 459, 117, + 461, 462, 463, 408, 120, -93, 467, 129, 118, 432, + -60, -60, 433, 72, 73, 473, 122, 74, 123, 75, + 126, 410, 120, -93, 541, 129, 447, 542, -59, -59, + 309, 310, 311, 312, 313, 362, 541, -61, 327, 545, + 120, 327, 318, 319, 320, 321, -58, -58, -62, 342, + 343, 327, 345, 346, 327, 327, 327, 327, 327, 353, + 354, 327, 327, -57, -57, 135, 136, 186, 197, 198, + 121, 358, 359, 81, 82, 400, 137, 548, 201, 202, + 400, 400, 203, 527, 528, 529, 400, 557, 208, 239, + 250, 255, 240, 400, 241, 242, 243, 251, 369, 370, + 252, 400, 400, 385, 253, 376, 222, 223, 254, 291, + 301, 329, 307, 308, 363, 326, 188, 406, 407, 364, + 372, 368, 373, 374, 379, 442, 375, 367, 377, 378, + 380, 381, 382, 414, 188, 425, 327, 415, 416, 417, + 295, 418, 419, 422, 423, 430, 431, 443, 322, 445, + 488, 448, 444, 400, 400, 400, 440, 449, 458, 464, + 465, 400, 470, 434, 435, 436, 437, 474, 438, 439, + 476, 441, 400, 400, 475, 478, 477, 224, 225, 226, + 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, + 237, 479, 327, 460, 327, 327, 327, 481, 490, 466, + 327, 400, 491, 400, 492, 496, 400, 493, 494, 327, + 402, 403, 400, 400, 432, 498, 404, 500, 501, 507, + 485, 471, 472, 412, 502, 512, 508, 513, 536, 515, + 505, 420, 421, 522, 526, 532, 537, 539, 400, 400, + 533, 400, 400, 482, 534, 538, 400, 506, 454, 546, + 543, 552, 553, 559, 400, 560, 564, 565, 568, 566, + 569, 282, 341, 193, 429, 509, 400, 510, 511, 518, + 283, 486, 304, 205, 400, 38, 183, 327, 327, 327, + 550, 535, 518, 450, 451, 452, 104, 284, 340, 0, + 111, 457, 285, 456, 400, 530, 0, 0, 562, 400, + 0, 0, 468, 469, 0, 0, 0, 400, 0, 0, + 0, 0, 400, 482, 0, 0, 400, 400, 551, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 396, 397, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 495, 0, 497, 0, 0, 499, 0, 0, 0, + 0, 0, 503, 504, 60, 61, 0, 83, 63, 64, + 65, 66, 67, 68, 69, 70, 0, 1, 0, 2, + 0, 0, 0, 0, 0, 23, 0, 0, 516, 517, + 0, 520, 521, 0, 0, 0, 525, 24, 25, 0, + 60, 61, 0, 71, 531, 26, 27, 28, 29, 30, + 31, 32, 0, 1, 33, 2, 540, 138, 0, 0, + 0, 0, 0, 0, 544, 0, 0, 0, 0, 0, + 139, 140, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 554, 0, 0, 0, 0, 558, + 0, 0, 0, 0, 0, 0, 0, 563, 0, 0, + 0, 0, 567, 0, 0, 0, 570, 571, 0, 141, + 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, + 152, 153, 154, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 398, 0, 0, 0, 0, 0, 0, + 72, 73, 0, 0, 74, 0, 75, 204, 155, 156, + 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, + 167, 0, 168, 169, 170, 171, 0, 172, 173, 174, + 0, 0, 120, 0, 0, 129, 0, 175, 0, 0, + 176, 0, 177, 0, 178, 60, 61, 0, 83, 84, + 85, 86, 87, 88, 89, 90, 70, 0, 1, 0, + 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 388, + 389, 60, 61, 390, 71, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0, 2, 0, 391, 392, + 393, 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, 0, 0, 0, 0, - 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, - 163, 164, 165, 166, 0, 0, 0, 0, 0, 60, - 61, 0, 90, 63, 64, 65, 66, 67, 68, 69, - 70, 71, 72, 73, 74, 0, 1, 0, 2, 167, - 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, - 178, 179, 213, 180, 181, 182, 183, 0, 184, 185, - 186, 0, 0, 75, 0, 0, 0, 60, 61, 399, - 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, - 100, 101, 74, 0, 1, 0, 2, 60, 61, 0, - 90, 63, 64, 65, 66, 67, 68, 69, 70, 71, - 72, 73, 74, 0, 1, 0, 2, 0, 0, 0, - 0, 75, 0, 0, 0, 0, 0, 0, 0, 0, - 368, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 75, 60, 61, 0, 90, 63, 64, 65, 66, - 67, 68, 69, 70, 71, 72, 73, 74, 0, 1, - 0, 2, 0, 0, 0, 0, 76, 0, 0, 77, - 0, 0, 78, 0, 79, 385, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 75, 0, 60, 61, - 0, 90, 63, 64, 65, 66, 67, 68, 69, 70, - 71, 72, 73, 74, 0, 1, 0, 2, 0, 0, - 0, 0, 0, 0, 76, 0, 0, 77, 0, 251, - 78, 483, 79, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 75, 0, 76, 0, 0, 77, 0, 0, - 78, 0, 79, 0, 60, 61, 0, 62, 63, 64, - 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, - 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 76, - 0, 0, 77, 0, 0, 78, 0, 79, 75, 0, - 60, 61, 0, 90, 91, 92, 93, 94, 95, 96, - 97, 98, 99, 100, 101, 74, 0, 1, 0, 2, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 76, 0, 0, 77, 0, - 0, 78, 0, 79, 75, 60, 61, 0, 90, 63, - 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, - 74, 0, 1, 0, 2, 60, 61, 0, 329, 63, - 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, - 74, 0, 1, 0, 2, 0, 0, 0, 0, 75, - 0, 76, 0, 0, 77, 0, 0, 78, 0, 79, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 75, + 0, 60, 61, 396, 83, 84, 85, 86, 87, 88, + 89, 90, 70, 0, 1, 0, 2, 0, 0, 0, + 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, + 151, 152, 153, 154, 0, 0, 0, 0, 0, 0, + 71, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 72, 73, 0, 0, 74, 0, 75, 248, 155, + 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, + 166, 167, 0, 168, 169, 170, 171, 0, 172, 173, + 174, 0, 0, 120, 0, 0, 129, 0, 0, 0, + 0, 397, 388, 389, 60, 61, 390, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1, 0, 2, + 0, 391, 392, 393, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 394, 395, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 72, 73, 0, + 244, 74, 0, 75, 60, 61, 396, 62, 63, 64, + 65, 66, 67, 68, 69, 70, 0, 1, 0, 2, + 0, 0, 0, 141, 142, 143, 144, 145, 146, 147, + 148, 149, 150, 151, 152, 153, 154, 0, 0, 0, + 0, 0, 0, 71, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 155, 156, 157, 158, 159, 160, 161, 162, + 163, 164, 165, 166, 167, 0, 168, 169, 170, 171, + 0, 172, 173, 174, 388, 389, 0, 0, 390, 0, + 0, 0, 0, 0, 397, 0, 0, 0, 0, 0, + 0, 0, 0, 391, 392, 393, 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, 0, 0, 0, 0, 0, 0, 76, 0, 0, - 77, 0, 0, 78, 0, 79, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 396, 0, + 72, 73, 0, 0, 74, 0, 75, 0, 0, 0, + 0, 0, 0, 0, 0, 141, 142, 143, 144, 145, + 146, 147, 148, 149, 150, 151, 152, 153, 154, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 60, 61, + 0, 83, 63, 64, 65, 66, 67, 68, 69, 70, + 0, 1, 0, 2, 155, 156, 157, 158, 159, 160, + 161, 162, 163, 164, 165, 166, 167, 294, 168, 169, + 170, 171, 0, 172, 173, 174, 0, 71, 0, 0, + 0, 0, 0, 0, 60, 61, 397, 83, 63, 64, + 65, 66, 67, 68, 69, 70, 0, 1, 0, 2, + 0, 60, 61, 0, 83, 63, 64, 65, 66, 67, + 68, 69, 70, 384, 1, 0, 2, 0, 0, 0, + 0, 0, 0, 71, 0, 0, 0, 0, 60, 61, + 428, 83, 63, 64, 65, 66, 67, 68, 69, 70, + 71, 1, 0, 2, 0, 60, 61, 0, 83, 84, + 85, 86, 87, 88, 89, 90, 70, 484, 1, 0, + 2, 0, 0, 0, 0, 0, 0, 71, 0, 0, + 0, 0, 0, 0, 72, 73, 0, 0, 74, 0, + 75, 0, 0, 0, 71, 0, 60, 61, 0, 83, + 63, 64, 65, 66, 67, 68, 69, 70, 0, 1, + 0, 2, 0, 60, 61, 0, 187, 63, 64, 65, + 66, 67, 68, 69, 70, 0, 1, 0, 2, 0, + 72, 73, 0, 0, 74, 71, 75, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 72, 73, 0, + 0, 74, 71, 75, 60, 61, 0, 330, 63, 64, + 65, 66, 67, 68, 69, 70, 0, 1, 0, 2, + 0, 0, 0, 0, 72, 73, 0, 0, 74, 0, + 75, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 72, 73, 71, 0, 74, 0, 75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 265, 0, 0, 0, 0, - 0, 0, 76, 0, 0, 77, 0, 0, 78, 266, - 79, 0, 0, 0, 0, 0, 0, 0, 0, 267, - 268, 0, 76, 0, 0, 77, 0, 0, 78, 0, - 79, 0, 269, 270, 271, 272, 273, 274, 153, 154, - 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, - 275, 276, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 260, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 72, 73, 261, 0, 74, 0, 75, 0, + 0, 0, 0, 0, 262, 263, 0, 0, 0, 72, + 73, 0, 0, 74, 0, 75, 0, 264, 265, 266, + 267, 268, 269, 141, 142, 143, 144, 145, 146, 147, + 148, 149, 150, 151, 152, 270, 271, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 277, 278, 279, 0, 0, 280, 168, 169, - 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, - 281, 282, 181, 182, 183, 283, 284, 285, 286 + 72, 73, 0, 0, 74, 0, 75, 272, 273, 274, + 0, 0, 275, 156, 157, 158, 159, 160, 161, 162, + 163, 164, 165, 166, 167, 276, 277, 169, 170, 171, + 278, 279, 280, 281 }; static const short int yycheck[] = { - 23, 0, 271, 271, 114, 188, 189, 348, 4, 79, - 29, 23, 11, 46, 266, 48, 36, 269, 30, 10, - 11, 12, 13, 14, 15, 16, 17, 279, 216, 217, - 282, 283, 284, 285, 286, 15, 15, 289, 290, 5, - 6, 272, 8, 9, 10, 11, 12, 13, 14, 15, - 16, 17, 18, 19, 20, 141, 22, 141, 24, 35, - 140, 292, 105, 149, 0, 135, 89, 151, 88, 139, - 10, 11, 12, 13, 14, 15, 16, 17, 58, 58, - 21, 143, 58, 49, 141, 22, 22, 24, 24, 25, - 152, 114, 33, 34, 151, 31, 32, 9, 53, 54, - 55, 42, 43, 44, 45, 46, 47, 48, 20, 141, - 51, 62, 364, 141, 27, 28, 52, 72, 0, 151, - 119, 149, 537, 59, 0, 544, 140, 63, 141, 135, - 545, 150, 551, 139, 147, 145, 324, 207, 208, 151, - 22, 211, 24, 25, 149, 24, 141, 152, 140, 31, - 32, 140, 147, 494, 150, 496, 147, 10, 11, 12, - 13, 14, 15, 16, 17, 417, 147, 419, 420, 421, - 52, 152, 140, 425, 33, 34, 142, 59, 140, 145, - 23, 63, 148, 4, 150, 151, 99, 100, 101, 102, - 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, - 199, 42, 43, 44, 56, 57, 47, 147, 65, 66, - 67, 68, 69, 70, 71, 24, 399, 27, 28, 3, - 4, 24, 474, 3, 4, 24, 246, 247, 248, 249, - 250, 4, 302, 143, 344, 3, 4, 4, 258, 259, - 260, 261, 143, 266, 3, 4, 269, 499, 500, 501, - 3, 4, 362, 7, 277, 278, 279, 280, 281, 282, - 283, 284, 285, 286, 287, 288, 289, 290, 537, 537, - 3, 4, 3, 4, 3, 4, 545, 545, 3, 4, - 3, 4, 4, 326, 116, 117, 306, 307, 331, 332, - 34, 35, 7, 313, 7, 146, 146, 143, 143, 143, - 343, 143, 325, 143, 24, 143, 143, 350, 143, 143, - 141, 141, 24, 149, 143, 358, 359, 144, 143, 143, - 60, 344, 345, 346, 93, 94, 95, 96, 97, 98, - 99, 100, 101, 102, 149, 141, 141, 141, 37, 362, - 363, 364, 24, 141, 141, 141, 141, 141, 371, 4, - 141, 141, 145, 373, 374, 375, 376, 380, 378, 379, - 141, 381, 141, 141, 407, 408, 409, 141, 37, 141, - 141, 141, 415, 64, 35, 141, 141, 24, 141, 20, - 144, 141, 144, 426, 427, 141, 141, 386, 145, 141, - 141, 141, 141, 141, 417, 418, 419, 420, 421, 144, - 141, 424, 425, 20, 141, 144, 144, 331, 332, 429, - 430, 454, 144, 456, 144, 143, 459, 141, 4, 343, - 141, 444, 465, 466, 141, 141, 350, 141, 58, 4, - 24, 141, 143, 58, 358, 359, 144, 144, 141, 141, - 144, 147, 20, 144, 144, 141, 489, 490, 471, 492, - 493, 474, 145, 37, 497, 475, 144, 477, 478, 144, - 147, 20, 505, 141, 20, 141, 77, 20, 491, 20, - 119, 445, 105, 275, 11, 276, 499, 500, 501, 444, - 48, 504, 525, 407, 408, 409, 51, 371, 504, 414, - -1, 415, -1, -1, 203, -1, -1, -1, 203, 542, - -1, -1, 426, 427, -1, 203, 203, -1, -1, 552, - -1, -1, -1, 556, -1, -1, -1, 560, 561, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 5, 6, - 454, -1, 456, -1, -1, 459, -1, -1, -1, -1, - -1, 465, 466, -1, -1, 22, -1, 24, -1, 26, + 23, 0, 62, 199, 266, 176, 177, 343, 4, 25, + 209, 210, 11, 10, 11, 12, 13, 19, 10, 11, + 12, 13, 267, 83, 26, 12, 31, 36, 18, 12, + 20, 115, 116, 339, 48, 49, 50, 136, 136, 51, + 52, 93, 287, 136, 29, 30, 136, 264, 53, 148, + 148, 357, 75, 67, 138, 148, 146, 274, 135, 82, + 277, 278, 279, 280, 281, 136, 53, 284, 285, 57, + 53, 137, 81, 139, 140, 146, 0, 5, 6, 102, + 8, 9, 10, 11, 12, 13, 14, 15, 16, 0, + 18, 0, 20, 9, 18, 135, 20, 21, 137, 135, + 16, 140, 125, 27, 28, 548, 135, 146, 107, 18, + 137, 20, 21, 140, 557, 142, 44, 136, 27, 28, + 41, 136, 43, 47, 135, 144, 325, 187, 188, 144, + 54, 147, 135, 137, 58, 18, 140, 20, 47, 20, + 144, 136, 359, 19, 139, 54, 148, 144, 138, 58, + 20, 147, 144, 37, 38, 39, 142, 137, 42, 495, + 140, 497, 137, 138, 360, 88, 89, 90, 91, 92, + 93, 94, 95, 96, 97, 23, 24, 4, 201, 202, + 203, 137, 138, 206, 140, 208, 10, 11, 12, 13, + 189, 60, 61, 62, 63, 64, 65, 66, 415, 20, + 417, 418, 419, 136, 137, 138, 423, 140, 20, 136, + 3, 4, 139, 141, 142, 432, 4, 145, 4, 147, + 148, 136, 137, 138, 136, 140, 397, 139, 3, 4, + 239, 240, 241, 242, 243, 295, 136, 7, 261, 139, + 137, 264, 251, 252, 253, 254, 3, 4, 7, 272, + 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, + 283, 284, 285, 3, 4, 3, 4, 4, 115, 116, + 330, 111, 112, 34, 35, 327, 7, 539, 138, 143, + 332, 333, 143, 500, 501, 502, 338, 549, 138, 138, + 20, 136, 138, 345, 138, 138, 138, 138, 307, 308, + 138, 353, 354, 326, 138, 314, 23, 24, 138, 20, + 146, 55, 138, 138, 136, 138, 339, 340, 341, 139, + 136, 139, 136, 136, 33, 385, 136, 146, 136, 136, + 136, 20, 4, 136, 357, 358, 359, 136, 136, 136, + 363, 136, 136, 33, 136, 136, 136, 136, 31, 59, + 20, 136, 139, 405, 406, 407, 379, 136, 142, 136, + 136, 413, 136, 372, 373, 374, 375, 136, 377, 378, + 136, 380, 424, 425, 139, 139, 136, 94, 95, 96, + 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, + 107, 139, 415, 416, 417, 418, 419, 139, 16, 422, + 423, 453, 16, 455, 138, 4, 458, 136, 136, 432, + 332, 333, 464, 465, 136, 136, 338, 136, 136, 139, + 443, 430, 431, 345, 136, 485, 139, 53, 4, 136, + 138, 353, 354, 136, 136, 139, 20, 142, 490, 491, + 139, 493, 494, 442, 139, 136, 498, 470, 53, 16, + 144, 33, 144, 16, 506, 136, 16, 136, 16, 72, + 16, 193, 271, 107, 363, 474, 518, 476, 477, 492, + 193, 444, 208, 125, 526, 11, 93, 500, 501, 502, + 540, 512, 505, 405, 406, 407, 48, 193, 270, -1, + 51, 413, 193, 412, 546, 505, -1, -1, 558, 551, + -1, -1, 424, 425, -1, -1, -1, 559, -1, -1, + -1, -1, 564, 512, -1, -1, 568, 569, 541, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 39, 40, -1, 489, 490, -1, 492, 493, - -1, -1, -1, 497, -1, -1, -1, -1, -1, 5, - 6, 505, 8, 9, 10, 11, 12, 13, 14, 15, - 16, 17, 18, 19, 20, -1, 22, -1, 24, -1, - -1, 525, 79, 80, 81, 82, 83, 84, 85, 86, - 87, 88, 89, 90, 91, 92, -1, -1, 542, -1, - -1, -1, -1, 49, -1, -1, -1, -1, 552, -1, - -1, -1, 556, -1, -1, -1, 560, 561, -1, -1, - -1, 118, 119, 120, 121, 122, 123, 124, 125, 126, - 127, 128, 129, 130, -1, 132, 133, 134, 135, -1, - 137, 138, 139, -1, -1, -1, -1, -1, 145, -1, - -1, 148, -1, 150, 5, 6, 153, 8, 9, 10, - 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, - -1, 22, -1, 24, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 3, 4, 5, - 6, 7, -1, -1, -1, -1, 142, -1, 49, 145, - -1, -1, 148, -1, 150, 151, 22, -1, 24, -1, - 26, 27, 28, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 39, 40, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 62, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 79, 80, 81, 82, 83, 84, 85, - 86, 87, 88, 89, 90, 91, 92, -1, -1, -1, + -1, 453, -1, 455, -1, -1, 458, -1, -1, -1, + -1, -1, 464, 465, 5, 6, -1, 8, 9, 10, + 11, 12, 13, 14, 15, 16, -1, 18, -1, 20, + -1, -1, -1, -1, -1, 17, -1, -1, 490, 491, + -1, 493, 494, -1, -1, -1, 498, 29, 30, -1, + 5, 6, -1, 44, 506, 37, 38, 39, 40, 41, + 42, 43, -1, 18, 46, 20, 518, 22, -1, -1, + -1, -1, -1, -1, 526, -1, -1, -1, -1, -1, + 35, 36, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 546, -1, -1, -1, -1, 551, + -1, -1, -1, -1, -1, -1, -1, 559, -1, -1, + -1, -1, 564, -1, -1, -1, 568, 569, -1, 74, + 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, + 85, 86, 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 142, -1, -1, 145, -1, -1, 148, -1, 150, - 151, -1, 118, 119, 120, 121, 122, 123, 124, 125, - 126, 127, 128, 129, 130, -1, 132, 133, 134, 135, - -1, 137, 138, 139, 3, 4, -1, -1, 7, -1, - -1, -1, 148, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 26, 27, 28, + 141, 142, -1, -1, 145, -1, 147, 148, 113, 114, + 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, + 125, -1, 127, 128, 129, 130, -1, 132, 133, 134, + -1, -1, 137, -1, -1, 140, -1, 142, -1, -1, + 145, -1, 147, -1, 149, 5, 6, -1, 8, 9, + 10, 11, 12, 13, 14, 15, 16, -1, 18, -1, + 20, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 3, + 4, 5, 6, 7, 44, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 18, -1, 20, -1, 22, 23, + 24, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 35, 36, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 39, 40, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 5, 6, 57, 8, 9, 10, 11, 12, 13, + 14, 15, 16, -1, 18, -1, 20, -1, -1, -1, + 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, + 84, 85, 86, 87, -1, -1, -1, -1, -1, -1, + 44, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 141, 142, -1, -1, 145, -1, 147, 148, 113, + 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, + 124, 125, -1, 127, 128, 129, 130, -1, 132, 133, + 134, -1, -1, 137, -1, -1, 140, -1, -1, -1, + -1, 145, 3, 4, 5, 6, 7, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 18, -1, 20, + -1, 22, 23, 24, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 35, 36, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 141, 142, -1, + 144, 145, -1, 147, 5, 6, 57, 8, 9, 10, + 11, 12, 13, 14, 15, 16, -1, 18, -1, 20, + -1, -1, -1, 74, 75, 76, 77, 78, 79, 80, + 81, 82, 83, 84, 85, 86, 87, -1, -1, -1, + -1, -1, -1, 44, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 62, -1, -1, -1, -1, -1, -1, + -1, -1, 113, 114, 115, 116, 117, 118, 119, 120, + 121, 122, 123, 124, 125, -1, 127, 128, 129, 130, + -1, 132, 133, 134, 3, 4, -1, -1, 7, -1, + -1, -1, -1, -1, 145, -1, -1, -1, -1, -1, + -1, -1, -1, 22, 23, 24, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 35, 36, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, - 89, 90, 91, 92, -1, -1, -1, -1, -1, 5, - 6, -1, 8, 9, 10, 11, 12, 13, 14, 15, - 16, 17, 18, 19, 20, -1, 22, -1, 24, 118, - 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, - 129, 130, 38, 132, 133, 134, 135, -1, 137, 138, - 139, -1, -1, 49, -1, -1, -1, 5, 6, 148, - 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, - 18, 19, 20, -1, 22, -1, 24, 5, 6, -1, - 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, - 18, 19, 20, -1, 22, -1, 24, -1, -1, -1, - -1, 49, -1, -1, -1, -1, -1, -1, -1, -1, - 38, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 49, 5, 6, -1, 8, 9, 10, 11, 12, - 13, 14, 15, 16, 17, 18, 19, 20, -1, 22, - -1, 24, -1, -1, -1, -1, 142, -1, -1, 145, - -1, -1, 148, -1, 150, 38, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 49, -1, 5, 6, + -1, -1, -1, -1, -1, -1, -1, -1, 57, -1, + 141, 142, -1, -1, 145, -1, 147, -1, -1, -1, + -1, -1, -1, -1, -1, 74, 75, 76, 77, 78, + 79, 80, 81, 82, 83, 84, 85, 86, 87, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 5, 6, -1, 8, 9, 10, 11, 12, 13, 14, 15, 16, - 17, 18, 19, 20, -1, 22, -1, 24, -1, -1, - -1, -1, -1, -1, 142, -1, -1, 145, -1, 147, - 148, 38, 150, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 49, -1, 142, -1, -1, 145, -1, -1, - 148, -1, 150, -1, 5, 6, -1, 8, 9, 10, - 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, - -1, 22, -1, 24, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 142, - -1, -1, 145, -1, -1, 148, -1, 150, 49, -1, - 5, 6, -1, 8, 9, 10, 11, 12, 13, 14, - 15, 16, 17, 18, 19, 20, -1, 22, -1, 24, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 142, -1, -1, 145, -1, - -1, 148, -1, 150, 49, 5, 6, -1, 8, 9, - 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, - 20, -1, 22, -1, 24, 5, 6, -1, 8, 9, - 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, - 20, -1, 22, -1, 24, -1, -1, -1, -1, 49, - -1, 142, -1, -1, 145, -1, -1, 148, -1, 150, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 49, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 142, -1, -1, - 145, -1, -1, 148, -1, 150, -1, -1, -1, -1, + -1, 18, -1, 20, 113, 114, 115, 116, 117, 118, + 119, 120, 121, 122, 123, 124, 125, 34, 127, 128, + 129, 130, -1, 132, 133, 134, -1, 44, -1, -1, + -1, -1, -1, -1, 5, 6, 145, 8, 9, 10, + 11, 12, 13, 14, 15, 16, -1, 18, -1, 20, + -1, 5, 6, -1, 8, 9, 10, 11, 12, 13, + 14, 15, 16, 34, 18, -1, 20, -1, -1, -1, + -1, -1, -1, 44, -1, -1, -1, -1, 5, 6, + 34, 8, 9, 10, 11, 12, 13, 14, 15, 16, + 44, 18, -1, 20, -1, 5, 6, -1, 8, 9, + 10, 11, 12, 13, 14, 15, 16, 34, 18, -1, + 20, -1, -1, -1, -1, -1, -1, 44, -1, -1, + -1, -1, -1, -1, 141, 142, -1, -1, 145, -1, + 147, -1, -1, -1, 44, -1, 5, 6, -1, 8, + 9, 10, 11, 12, 13, 14, 15, 16, -1, 18, + -1, 20, -1, 5, 6, -1, 8, 9, 10, 11, + 12, 13, 14, 15, 16, -1, 18, -1, 20, -1, + 141, 142, -1, -1, 145, 44, 147, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 141, 142, -1, + -1, 145, 44, 147, 5, 6, -1, 8, 9, 10, + 11, 12, 13, 14, 15, 16, -1, 18, -1, 20, + -1, -1, -1, -1, 141, 142, -1, -1, 145, -1, + 147, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 141, 142, 44, -1, 145, -1, 147, -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, -1, -1, -1, -1, - -1, -1, 142, -1, -1, 145, -1, -1, 148, 50, - 150, -1, -1, -1, -1, -1, -1, -1, -1, 60, - 61, -1, 142, -1, -1, 145, -1, -1, 148, -1, - 150, -1, 73, 74, 75, 76, 77, 78, 79, 80, - 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, - 91, 92, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 32, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 141, 142, 45, -1, 145, -1, 147, -1, + -1, -1, -1, -1, 55, 56, -1, -1, -1, 141, + 142, -1, -1, 145, -1, 147, -1, 68, 69, 70, + 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, + 81, 82, 83, 84, 85, 86, 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 113, 114, 115, -1, -1, 118, 119, 120, + 141, 142, -1, -1, 145, -1, 147, 108, 109, 110, + -1, -1, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, - 131, 132, 133, 134, 135, 136, 137, 138, 139 + 131, 132, 133, 134 }; /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing symbol of state STATE-NUM. */ static const unsigned char yystos[] = { - 0, 22, 24, 25, 31, 32, 52, 59, 63, 166, - 189, 190, 191, 202, 193, 192, 53, 54, 55, 72, - 199, 140, 62, 21, 33, 34, 42, 43, 44, 45, - 46, 47, 48, 51, 167, 168, 188, 0, 191, 140, - 46, 48, 169, 212, 42, 43, 44, 47, 170, 209, - 211, 218, 140, 140, 140, 140, 145, 200, 24, 197, + 0, 18, 20, 21, 27, 28, 47, 54, 58, 160, + 186, 187, 188, 199, 190, 189, 48, 49, 50, 67, + 196, 135, 57, 17, 29, 30, 37, 38, 39, 40, + 41, 42, 43, 46, 161, 162, 185, 0, 188, 135, + 41, 43, 163, 208, 37, 38, 39, 42, 164, 205, + 207, 214, 135, 135, 135, 135, 142, 197, 20, 194, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, - 16, 17, 18, 19, 20, 49, 142, 145, 148, 150, - 155, 178, 179, 180, 181, 182, 202, 215, 188, 188, - 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, - 18, 19, 162, 163, 165, 180, 185, 65, 66, 67, - 68, 69, 70, 71, 171, 207, 207, 23, 219, 220, - 30, 151, 210, 219, 24, 56, 57, 198, 4, 24, - 24, 201, 4, 4, 4, 150, 151, 182, 183, 143, - 152, 185, 180, 27, 28, 3, 4, 3, 4, 7, - 26, 39, 40, 79, 80, 81, 82, 83, 84, 85, - 86, 87, 88, 89, 90, 91, 92, 118, 119, 120, - 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, - 132, 133, 134, 135, 137, 138, 139, 145, 148, 150, - 153, 156, 157, 158, 159, 186, 215, 194, 4, 178, - 29, 150, 208, 166, 223, 141, 147, 146, 146, 151, - 183, 141, 151, 38, 183, 184, 195, 196, 93, 94, - 95, 96, 97, 98, 99, 100, 101, 102, 160, 27, - 28, 99, 100, 101, 102, 103, 104, 105, 106, 107, - 108, 109, 110, 111, 112, 161, 143, 143, 143, 143, - 143, 147, 185, 187, 187, 151, 187, 24, 143, 143, - 143, 143, 141, 176, 202, 36, 50, 60, 61, 73, - 74, 75, 76, 77, 78, 91, 92, 113, 114, 115, - 118, 131, 132, 136, 137, 138, 139, 156, 157, 158, - 159, 221, 227, 228, 230, 231, 24, 182, 182, 149, - 151, 182, 141, 144, 176, 176, 143, 143, 185, 185, - 185, 185, 185, 141, 147, 149, 151, 185, 185, 185, - 185, 35, 58, 174, 177, 143, 180, 217, 60, 8, - 217, 9, 20, 10, 11, 12, 13, 14, 15, 16, - 17, 162, 163, 164, 171, 160, 161, 180, 180, 217, - 180, 180, 224, 217, 217, 217, 217, 217, 180, 180, - 217, 217, 171, 116, 117, 147, 149, 149, 38, 185, - 185, 141, 229, 141, 141, 141, 141, 185, 141, 141, - 37, 141, 24, 4, 176, 38, 180, 204, 205, 206, - 3, 4, 7, 26, 27, 28, 39, 40, 62, 148, - 186, 214, 215, 216, 216, 216, 216, 178, 180, 180, - 141, 173, 141, 173, 216, 145, 141, 141, 141, 141, - 141, 141, 216, 216, 37, 141, 178, 180, 217, 141, - 141, 217, 225, 144, 185, 185, 185, 185, 185, 185, - 180, 185, 202, 203, 141, 144, 64, 213, 187, 141, - 141, 216, 216, 216, 15, 58, 15, 229, 216, 145, - 217, 180, 217, 217, 217, 141, 141, 180, 217, 216, - 216, 141, 185, 185, 141, 141, 144, 141, 141, 144, - 144, 144, 144, 38, 204, 174, 175, 24, 149, 20, - 20, 143, 141, 141, 216, 4, 216, 141, 216, 141, - 141, 141, 216, 216, 143, 180, 144, 144, 217, 185, - 185, 185, 58, 172, 141, 216, 216, 225, 226, 216, - 216, 141, 173, 173, 216, 141, 217, 217, 217, 226, - 216, 144, 144, 144, 4, 24, 141, 145, 144, 147, - 216, 144, 20, 147, 164, 222, 37, 147, 216, 214, - 147, 164, 20, 141, 214, 216, 20, 141, 77, 216, - 20, 20, 216, 216 + 16, 44, 141, 142, 145, 147, 151, 175, 176, 199, + 211, 185, 185, 8, 9, 10, 11, 12, 13, 14, + 15, 158, 159, 176, 182, 60, 61, 62, 63, 64, + 65, 66, 165, 203, 203, 19, 215, 216, 26, 148, + 206, 215, 20, 51, 52, 195, 4, 20, 20, 198, + 137, 168, 4, 4, 4, 147, 148, 176, 181, 140, + 168, 182, 176, 23, 24, 3, 4, 7, 22, 35, + 36, 74, 75, 76, 77, 78, 79, 80, 81, 82, + 83, 84, 85, 86, 87, 113, 114, 115, 116, 117, + 118, 119, 120, 121, 122, 123, 124, 125, 127, 128, + 129, 130, 132, 133, 134, 142, 145, 147, 149, 152, + 153, 154, 155, 183, 211, 191, 4, 8, 176, 178, + 25, 147, 204, 160, 219, 136, 144, 115, 116, 138, + 166, 138, 143, 143, 148, 181, 136, 148, 138, 192, + 193, 88, 89, 90, 91, 92, 93, 94, 95, 96, + 97, 156, 23, 24, 94, 95, 96, 97, 98, 99, + 100, 101, 102, 103, 104, 105, 106, 107, 157, 138, + 138, 138, 138, 138, 144, 182, 184, 184, 148, 184, + 20, 138, 138, 138, 138, 136, 173, 168, 168, 199, + 32, 45, 55, 56, 68, 69, 70, 71, 72, 73, + 86, 87, 108, 109, 110, 113, 126, 127, 131, 132, + 133, 134, 152, 153, 154, 155, 217, 223, 224, 225, + 226, 20, 166, 167, 34, 176, 177, 179, 180, 176, + 176, 146, 148, 176, 180, 173, 173, 138, 138, 182, + 182, 182, 182, 182, 136, 144, 146, 148, 182, 182, + 182, 182, 31, 53, 171, 174, 138, 176, 213, 55, + 8, 213, 9, 16, 10, 11, 12, 13, 158, 165, + 156, 157, 176, 176, 213, 176, 176, 220, 213, 213, + 213, 213, 213, 176, 176, 213, 213, 165, 111, 112, + 136, 139, 168, 136, 139, 144, 146, 146, 139, 182, + 182, 222, 136, 136, 136, 136, 182, 136, 136, 33, + 136, 20, 4, 173, 34, 176, 201, 202, 3, 4, + 7, 22, 23, 24, 35, 36, 57, 145, 183, 210, + 211, 212, 212, 212, 212, 178, 176, 176, 136, 170, + 136, 170, 212, 142, 136, 136, 136, 136, 136, 136, + 212, 212, 33, 136, 178, 176, 213, 166, 34, 177, + 136, 136, 136, 139, 182, 182, 182, 182, 182, 182, + 176, 182, 168, 136, 139, 59, 209, 184, 136, 136, + 212, 212, 212, 12, 53, 12, 222, 212, 142, 213, + 176, 213, 213, 213, 136, 136, 176, 213, 212, 212, + 136, 182, 182, 213, 136, 139, 136, 136, 139, 139, + 139, 139, 199, 200, 34, 176, 171, 172, 20, 146, + 16, 16, 138, 136, 136, 212, 4, 212, 136, 212, + 136, 136, 136, 212, 212, 138, 176, 139, 139, 182, + 182, 182, 168, 53, 169, 136, 212, 212, 176, 221, + 212, 212, 136, 170, 170, 212, 136, 213, 213, 213, + 221, 212, 139, 139, 139, 200, 4, 20, 136, 142, + 212, 136, 139, 144, 212, 139, 16, 144, 158, 218, + 168, 176, 33, 144, 212, 210, 144, 158, 212, 16, + 136, 210, 168, 212, 16, 136, 72, 212, 16, 16, + 212, 212 }; #define yyerrok (yyerrstatus = 0) @@ -2978,7 +2964,7 @@ switch (yyn) { case 3: -#line 990 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" +#line 984 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { if ((yyvsp[0].UIntVal) > (uint32_t)INT32_MAX) // Outside of my range! GEN_ERROR("Value too large for type!"); @@ -2988,283 +2974,320 @@ break; case 31: -#line 1006 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" +#line 1000 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { (yyval.IPredicate) = ICmpInst::ICMP_EQ; ;} break; case 32: -#line 1006 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" +#line 1000 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { (yyval.IPredicate) = ICmpInst::ICMP_NE; ;} break; case 33: -#line 1007 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" +#line 1001 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { (yyval.IPredicate) = ICmpInst::ICMP_SLT; ;} break; case 34: -#line 1007 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" +#line 1001 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { (yyval.IPredicate) = ICmpInst::ICMP_SGT; ;} break; case 35: -#line 1008 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" +#line 1002 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { (yyval.IPredicate) = ICmpInst::ICMP_SLE; ;} break; case 36: -#line 1008 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" +#line 1002 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { (yyval.IPredicate) = ICmpInst::ICMP_SGE; ;} break; case 37: -#line 1009 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" +#line 1003 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { (yyval.IPredicate) = ICmpInst::ICMP_ULT; ;} break; case 38: -#line 1009 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" +#line 1003 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { (yyval.IPredicate) = ICmpInst::ICMP_UGT; ;} break; case 39: -#line 1010 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" +#line 1004 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { (yyval.IPredicate) = ICmpInst::ICMP_ULE; ;} break; case 40: -#line 1010 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" +#line 1004 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { (yyval.IPredicate) = ICmpInst::ICMP_UGE; ;} break; case 41: -#line 1014 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" +#line 1008 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { (yyval.FPredicate) = FCmpInst::FCMP_OEQ; ;} break; case 42: -#line 1014 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" +#line 1008 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { (yyval.FPredicate) = FCmpInst::FCMP_ONE; ;} break; case 43: -#line 1015 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" +#line 1009 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { (yyval.FPredicate) = FCmpInst::FCMP_OLT; ;} break; case 44: -#line 1015 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" +#line 1009 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { (yyval.FPredicate) = FCmpInst::FCMP_OGT; ;} break; case 45: -#line 1016 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" +#line 1010 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { (yyval.FPredicate) = FCmpInst::FCMP_OLE; ;} break; case 46: -#line 1016 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" +#line 1010 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { (yyval.FPredicate) = FCmpInst::FCMP_OGE; ;} break; case 47: -#line 1017 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" +#line 1011 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { (yyval.FPredicate) = FCmpInst::FCMP_ORD; ;} break; case 48: -#line 1017 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" +#line 1011 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { (yyval.FPredicate) = FCmpInst::FCMP_UNO; ;} break; case 49: -#line 1018 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" +#line 1012 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { (yyval.FPredicate) = FCmpInst::FCMP_UEQ; ;} break; case 50: -#line 1018 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" +#line 1012 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { (yyval.FPredicate) = FCmpInst::FCMP_UNE; ;} break; case 51: -#line 1019 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" +#line 1013 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { (yyval.FPredicate) = FCmpInst::FCMP_ULT; ;} break; case 52: -#line 1019 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" +#line 1013 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { (yyval.FPredicate) = FCmpInst::FCMP_UGT; ;} break; case 53: -#line 1020 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" +#line 1014 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { (yyval.FPredicate) = FCmpInst::FCMP_ULE; ;} break; case 54: -#line 1020 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" +#line 1014 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { (yyval.FPredicate) = FCmpInst::FCMP_UGE; ;} break; case 55: -#line 1021 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" +#line 1015 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { (yyval.FPredicate) = FCmpInst::FCMP_TRUE; ;} break; case 56: -#line 1022 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" +#line 1016 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { (yyval.FPredicate) = FCmpInst::FCMP_FALSE; ;} break; - case 69: -#line 1033 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + case 63: +#line 1025 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { (yyval.StrVal) = (yyvsp[-1].StrVal); CHECK_FOR_ERROR ;} break; - case 70: -#line 1037 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + case 64: +#line 1029 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { (yyval.StrVal) = 0; CHECK_FOR_ERROR ;} break; - case 71: -#line 1043 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + case 65: +#line 1035 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { (yyval.Linkage) = GlobalValue::InternalLinkage; ;} break; - case 72: -#line 1044 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + case 66: +#line 1036 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { (yyval.Linkage) = GlobalValue::WeakLinkage; ;} break; - case 73: -#line 1045 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + case 67: +#line 1037 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { (yyval.Linkage) = GlobalValue::LinkOnceLinkage; ;} break; - case 74: -#line 1046 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + case 68: +#line 1038 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { (yyval.Linkage) = GlobalValue::AppendingLinkage; ;} break; - case 75: -#line 1047 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + case 69: +#line 1039 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { (yyval.Linkage) = GlobalValue::DLLExportLinkage; ;} break; - case 76: -#line 1051 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + case 70: +#line 1043 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { (yyval.Linkage) = GlobalValue::DLLImportLinkage; ;} break; - case 77: -#line 1052 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + case 71: +#line 1044 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { (yyval.Linkage) = GlobalValue::ExternalWeakLinkage; ;} break; - case 78: -#line 1053 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + case 72: +#line 1045 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + { (yyval.Linkage) = GlobalValue::ExternalLinkage; ;} + break; + + case 73: +#line 1049 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + { (yyval.Linkage) = GlobalValue::ExternalLinkage; ;} + break; + + case 74: +#line 1050 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + { (yyval.Linkage) = GlobalValue::DLLImportLinkage; ;} + break; + + case 75: +#line 1051 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + { (yyval.Linkage) = GlobalValue::ExternalWeakLinkage; ;} + break; + + case 76: +#line 1055 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { (yyval.Linkage) = GlobalValue::ExternalLinkage; ;} break; + case 77: +#line 1056 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + { (yyval.Linkage) = GlobalValue::InternalLinkage; ;} + break; + + case 78: +#line 1057 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + { (yyval.Linkage) = GlobalValue::LinkOnceLinkage; ;} + break; + case 79: -#line 1057 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" - { /*default*/ ;} +#line 1058 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + { (yyval.Linkage) = GlobalValue::WeakLinkage; ;} break; case 80: -#line 1058 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" - { CurFun.Linkage = GlobalValue::DLLImportLinkage; ;} +#line 1059 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + { (yyval.Linkage) = GlobalValue::DLLExportLinkage; ;} break; case 81: -#line 1059 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" - { CurFun.Linkage = GlobalValue::ExternalWeakLinkage; ;} +#line 1062 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + { (yyval.UIntVal) = CallingConv::C; ;} break; case 82: -#line 1063 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" - { (yyval.Linkage) = GlobalValue::InternalLinkage; ;} +#line 1063 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + { (yyval.UIntVal) = CallingConv::C; ;} break; case 83: -#line 1064 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" - { (yyval.Linkage) = GlobalValue::LinkOnceLinkage; ;} +#line 1064 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + { (yyval.UIntVal) = CallingConv::CSRet; ;} break; case 84: -#line 1065 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" - { (yyval.Linkage) = GlobalValue::WeakLinkage; ;} +#line 1065 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + { (yyval.UIntVal) = CallingConv::Fast; ;} break; case 85: -#line 1066 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" - { (yyval.Linkage) = GlobalValue::DLLExportLinkage; ;} +#line 1066 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + { (yyval.UIntVal) = CallingConv::Cold; ;} break; case 86: -#line 1067 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" - { (yyval.Linkage) = GlobalValue::ExternalLinkage; ;} +#line 1067 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + { (yyval.UIntVal) = CallingConv::X86_StdCall; ;} break; case 87: -#line 1070 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" - { (yyval.UIntVal) = CallingConv::C; ;} +#line 1068 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + { (yyval.UIntVal) = CallingConv::X86_FastCall; ;} break; case 88: -#line 1071 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" - { (yyval.UIntVal) = CallingConv::C; ;} +#line 1069 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + { + if ((unsigned)(yyvsp[0].UInt64Val) != (yyvsp[0].UInt64Val)) + GEN_ERROR("Calling conv too large!"); + (yyval.UIntVal) = (yyvsp[0].UInt64Val); + CHECK_FOR_ERROR + ;} break; case 89: -#line 1072 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" - { (yyval.UIntVal) = CallingConv::CSRet; ;} +#line 1076 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + { (yyval.ParamAttrs) = FunctionType::ZExtAttribute; ;} break; case 90: -#line 1073 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" - { (yyval.UIntVal) = CallingConv::Fast; ;} +#line 1077 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + { (yyval.ParamAttrs) = FunctionType::SExtAttribute; ;} break; case 91: -#line 1074 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" - { (yyval.UIntVal) = CallingConv::Cold; ;} +#line 1080 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + { (yyval.ParamAttrs) = (yyvsp[0].ParamAttrs); ;} break; case 92: -#line 1075 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" - { (yyval.UIntVal) = CallingConv::X86_StdCall; ;} +#line 1081 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + { + (yyval.ParamAttrs) = FunctionType::ParameterAttributes((yyvsp[-2].ParamAttrs) | (yyvsp[0].ParamAttrs)); + ;} break; case 93: -#line 1076 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" - { (yyval.UIntVal) = CallingConv::X86_FastCall; ;} +#line 1086 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + { (yyval.ParamAttrs) = FunctionType::NoAttributeSet; ;} break; case 94: -#line 1077 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" - { - if ((unsigned)(yyvsp[0].UInt64Val) != (yyvsp[0].UInt64Val)) - GEN_ERROR("Calling conv too large!"); - (yyval.UIntVal) = (yyvsp[0].UInt64Val); - CHECK_FOR_ERROR - ;} +#line 1087 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + { (yyval.ParamAttrs) = (yyvsp[0].ParamAttrs); ;} break; case 95: -#line 1086 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" - { (yyval.UIntVal) = 0; ;} +#line 1088 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + { (yyval.ParamAttrs) = (yyvsp[-1].ParamAttrs); ;} break; case 96: -#line 1087 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" +#line 1093 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + { (yyval.UIntVal) = 0; ;} + break; + + case 97: +#line 1094 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { (yyval.UIntVal) = (yyvsp[0].UInt64Val); if ((yyval.UIntVal) != 0 && !isPowerOf2_32((yyval.UIntVal))) @@ -3273,13 +3296,13 @@ ;} break; - case 97: -#line 1093 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + case 98: +#line 1100 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { (yyval.UIntVal) = 0; ;} break; - case 98: -#line 1094 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + case 99: +#line 1101 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { (yyval.UIntVal) = (yyvsp[0].UInt64Val); if ((yyval.UIntVal) != 0 && !isPowerOf2_32((yyval.UIntVal))) @@ -3288,8 +3311,8 @@ ;} break; - case 99: -#line 1102 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + case 100: +#line 1109 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { for (unsigned i = 0, e = strlen((yyvsp[0].StrVal)); i != e; ++i) if ((yyvsp[0].StrVal)[i] == '"' || (yyvsp[0].StrVal)[i] == '\\') @@ -3299,28 +3322,28 @@ ;} break; - case 100: -#line 1110 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + case 101: +#line 1117 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { (yyval.StrVal) = 0; ;} break; - case 101: -#line 1111 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + case 102: +#line 1118 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { (yyval.StrVal) = (yyvsp[0].StrVal); ;} break; - case 102: -#line 1116 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + case 103: +#line 1123 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" {;} break; - case 103: -#line 1117 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + case 104: +#line 1124 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" {;} break; - case 104: -#line 1118 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + case 105: +#line 1125 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { CurGV->setSection((yyvsp[0].StrVal)); free((yyvsp[0].StrVal)); @@ -3328,8 +3351,8 @@ ;} break; - case 105: -#line 1123 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + case 106: +#line 1130 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { if ((yyvsp[0].UInt64Val) != 0 && !isPowerOf2_32((yyvsp[0].UInt64Val))) GEN_ERROR("Alignment must be a power of two!"); @@ -3338,53 +3361,44 @@ ;} break; - case 107: -#line 1137 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" - { (yyval.TypeVal) = new PATypeHolder((yyvsp[0].PrimType)); ;} - break; - - case 109: -#line 1138 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" - { (yyval.TypeVal) = new PATypeHolder((yyvsp[0].PrimType)); ;} - break; - - case 110: -#line 1140 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + case 115: +#line 1146 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { - if (!UpRefs.empty()) - GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[0].TypeVal))->getDescription()); - (yyval.TypeVal) = (yyvsp[0].TypeVal); + (yyval.TypeVal) = new PATypeHolder(OpaqueType::get()); CHECK_FOR_ERROR ;} break; - case 123: -#line 1152 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + case 116: +#line 1150 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { - (yyval.TypeVal) = new PATypeHolder(OpaqueType::get()); + (yyval.TypeVal) = new PATypeHolder((yyvsp[0].PrimType)); CHECK_FOR_ERROR ;} break; - case 124: -#line 1156 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" - { - (yyval.TypeVal) = new PATypeHolder((yyvsp[0].PrimType)); + case 117: +#line 1154 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + { // Pointer type? + if (*(yyvsp[-1].TypeVal) == Type::LabelTy) + GEN_ERROR("Cannot form a pointer to a basic block"); + (yyval.TypeVal) = new PATypeHolder(HandleUpRefs(PointerType::get(*(yyvsp[-1].TypeVal)))); + delete (yyvsp[-1].TypeVal); CHECK_FOR_ERROR ;} break; - case 125: -#line 1160 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + case 118: +#line 1161 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { // Named types are also simple types... - const Type* tmp = getTypeVal((yyvsp[0].ValIDVal)); - CHECK_FOR_ERROR - (yyval.TypeVal) = new PATypeHolder(tmp); -;} + const Type* tmp = getTypeVal((yyvsp[0].ValIDVal)); + CHECK_FOR_ERROR + (yyval.TypeVal) = new PATypeHolder(tmp); + ;} break; - case 126: -#line 1168 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + case 119: +#line 1166 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { // Type UpReference if ((yyvsp[0].UInt64Val) > (uint64_t)~0U) GEN_ERROR("Value out of range!"); OpaqueType *OT = OpaqueType::get(); // Use temporary placeholder @@ -3395,25 +3409,51 @@ ;} break; - case 127: -#line 1176 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" - { // Function derived type? + case 120: +#line 1174 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + { std::vector Params; - for (std::list::iterator I = (yyvsp[-1].TypeList)->begin(), - E = (yyvsp[-1].TypeList)->end(); I != E; ++I) - Params.push_back(*I); + std::vector Attrs; + Attrs.push_back((yyvsp[-3].ParamAttrs)); + for (TypeWithAttrsList::iterator I=(yyvsp[-1].TypeWithAttrsList)->begin(), E=(yyvsp[-1].TypeWithAttrsList)->end(); I != E; ++I) { + Params.push_back(I->Ty->get()); + if (I->Ty->get() != Type::VoidTy) + Attrs.push_back(I->Attrs); + } bool isVarArg = Params.size() && Params.back() == Type::VoidTy; if (isVarArg) Params.pop_back(); - (yyval.TypeVal) = new PATypeHolder(HandleUpRefs(FunctionType::get(*(yyvsp[-3].TypeVal),Params,isVarArg))); - delete (yyvsp[-1].TypeList); // Delete the argument list - delete (yyvsp[-3].TypeVal); // Delete the return type handle + FunctionType *FT = FunctionType::get(*(yyvsp[-4].TypeVal), Params, isVarArg, Attrs); + delete (yyvsp[-1].TypeWithAttrsList); // Delete the argument list + delete (yyvsp[-4].TypeVal); // Delete the return type handle + (yyval.TypeVal) = new PATypeHolder(HandleUpRefs(FT)); CHECK_FOR_ERROR ;} break; - case 128: -#line 1189 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + case 121: +#line 1192 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + { + std::vector Params; + std::vector Attrs; + Attrs.push_back((yyvsp[-3].ParamAttrs)); + for (TypeWithAttrsList::iterator I=(yyvsp[-1].TypeWithAttrsList)->begin(), E=(yyvsp[-1].TypeWithAttrsList)->end(); I != E; ++I) { + Params.push_back(I->Ty->get()); + if (I->Ty->get() != Type::VoidTy) + Attrs.push_back(I->Attrs); + } + bool isVarArg = Params.size() && Params.back() == Type::VoidTy; + if (isVarArg) Params.pop_back(); + + FunctionType *FT = FunctionType::get((yyvsp[-4].PrimType), Params, isVarArg, Attrs); + delete (yyvsp[-1].TypeWithAttrsList); // Delete the argument list + (yyval.TypeVal) = new PATypeHolder(HandleUpRefs(FT)); + CHECK_FOR_ERROR + ;} + break; + + case 122: +#line 1210 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { // Sized array type? (yyval.TypeVal) = new PATypeHolder(HandleUpRefs(ArrayType::get(*(yyvsp[-1].TypeVal), (unsigned)(yyvsp[-3].UInt64Val)))); delete (yyvsp[-1].TypeVal); @@ -3421,8 +3461,8 @@ ;} break; - case 129: -#line 1194 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + case 123: +#line 1215 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { // Packed array type? const llvm::Type* ElemTy = (yyvsp[-1].TypeVal)->get(); if ((unsigned)(yyvsp[-3].UInt64Val) != (yyvsp[-3].UInt64Val)) @@ -3437,8 +3477,8 @@ ;} break; - case 130: -#line 1206 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + case 124: +#line 1227 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { // Structure type? std::vector Elements; for (std::list::iterator I = (yyvsp[-1].TypeList)->begin(), @@ -3451,16 +3491,16 @@ ;} break; - case 131: -#line 1216 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + case 125: +#line 1237 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { // Empty structure type? (yyval.TypeVal) = new PATypeHolder(StructType::get(std::vector())); CHECK_FOR_ERROR ;} break; - case 132: -#line 1220 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + case 126: +#line 1241 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { std::vector Elements; for (std::list::iterator I = (yyvsp[-2].TypeList)->begin(), @@ -3473,69 +3513,111 @@ ;} break; - case 133: -#line 1230 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + case 127: +#line 1251 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { // Empty structure type? (yyval.TypeVal) = new PATypeHolder(StructType::get(std::vector(), true)); CHECK_FOR_ERROR ;} break; - case 134: -#line 1234 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" - { // Pointer type? - if (*(yyvsp[-1].TypeVal) == Type::LabelTy) - GEN_ERROR("Cannot form a pointer to a basic block"); - (yyval.TypeVal) = new PATypeHolder(HandleUpRefs(PointerType::get(*(yyvsp[-1].TypeVal)))); - delete (yyvsp[-1].TypeVal); + case 128: +#line 1258 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + { + (yyval.TypeWithAttrs).Ty = (yyvsp[-1].TypeVal); + (yyval.TypeWithAttrs).Attrs = (yyvsp[0].ParamAttrs); + ;} + break; + + case 129: +#line 1265 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + { + if (!UpRefs.empty()) + GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-1].TypeVal))->getDescription()); + if (!(*(yyvsp[-1].TypeVal))->isFirstClassType()) + GEN_ERROR("LLVM functions cannot return aggregate types!"); + (yyval.TypeWithAttrs).Ty = (yyvsp[-1].TypeVal); + (yyval.TypeWithAttrs).Attrs = (yyvsp[0].ParamAttrs); + ;} + break; + + case 130: +#line 1273 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + { + (yyval.TypeWithAttrs).Ty = new PATypeHolder(Type::VoidTy); + (yyval.TypeWithAttrs).Attrs = (yyvsp[0].ParamAttrs); + ;} + break; + + case 131: +#line 1279 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + { + (yyval.TypeWithAttrsList) = new TypeWithAttrsList(); + (yyval.TypeWithAttrsList)->push_back((yyvsp[0].TypeWithAttrs)); CHECK_FOR_ERROR ;} break; - case 135: -#line 1245 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + case 132: +#line 1284 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { - (yyval.TypeList) = new std::list(); - (yyval.TypeList)->push_back(*(yyvsp[0].TypeVal)); delete (yyvsp[0].TypeVal); + ((yyval.TypeWithAttrsList)=(yyvsp[-2].TypeWithAttrsList))->push_back((yyvsp[0].TypeWithAttrs)); CHECK_FOR_ERROR ;} break; - case 136: -#line 1250 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + case 134: +#line 1292 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { - ((yyval.TypeList)=(yyvsp[-2].TypeList))->push_back(*(yyvsp[0].TypeVal)); delete (yyvsp[0].TypeVal); + (yyval.TypeWithAttrsList)=(yyvsp[-2].TypeWithAttrsList); + TypeWithAttrs TWA; TWA.Attrs = FunctionType::NoAttributeSet; + TWA.Ty = new PATypeHolder(Type::VoidTy); + (yyval.TypeWithAttrsList)->push_back(TWA); CHECK_FOR_ERROR ;} break; - case 138: -#line 1257 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + case 135: +#line 1299 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { - ((yyval.TypeList)=(yyvsp[-2].TypeList))->push_back(Type::VoidTy); + (yyval.TypeWithAttrsList) = new TypeWithAttrsList; + TypeWithAttrs TWA; TWA.Attrs = FunctionType::NoAttributeSet; + TWA.Ty = new PATypeHolder(Type::VoidTy); + (yyval.TypeWithAttrsList)->push_back(TWA); CHECK_FOR_ERROR ;} break; - case 139: -#line 1261 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + case 136: +#line 1306 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { - ((yyval.TypeList) = new std::list())->push_back(Type::VoidTy); + (yyval.TypeWithAttrsList) = new TypeWithAttrsList(); CHECK_FOR_ERROR ;} break; - case 140: -#line 1265 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + case 137: +#line 1314 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { (yyval.TypeList) = new std::list(); + (yyval.TypeList)->push_back(*(yyvsp[0].TypeVal)); delete (yyvsp[0].TypeVal); CHECK_FOR_ERROR ;} break; - case 141: -#line 1276 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + case 138: +#line 1319 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + { + ((yyval.TypeList)=(yyvsp[-2].TypeList))->push_back(*(yyvsp[0].TypeVal)); delete (yyvsp[0].TypeVal); + CHECK_FOR_ERROR + ;} + break; + + case 139: +#line 1330 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { // Nonempty unsized arr + if (!UpRefs.empty()) + GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-3].TypeVal))->getDescription()); const ArrayType *ATy = dyn_cast((yyvsp[-3].TypeVal)->get()); if (ATy == 0) GEN_ERROR("Cannot make array constant with type: '" + @@ -3563,9 +3645,11 @@ ;} break; - case 142: -#line 1302 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + case 140: +#line 1358 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { + if (!UpRefs.empty()) + GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-2].TypeVal))->getDescription()); const ArrayType *ATy = dyn_cast((yyvsp[-2].TypeVal)->get()); if (ATy == 0) GEN_ERROR("Cannot make array constant with type: '" + @@ -3581,9 +3665,11 @@ ;} break; - case 143: -#line 1316 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + case 141: +#line 1374 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { + if (!UpRefs.empty()) + GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-2].TypeVal))->getDescription()); const ArrayType *ATy = dyn_cast((yyvsp[-2].TypeVal)->get()); if (ATy == 0) GEN_ERROR("Cannot make array constant with type: '" + @@ -3597,13 +3683,10 @@ itostr((int)(EndStr-(yyvsp[0].StrVal))) + " when array has size " + itostr(NumElements) + "!"); std::vector Vals; - if (ETy == Type::SByteTy) { - for (signed char *C = (signed char *)(yyvsp[0].StrVal); C != (signed char *)EndStr; ++C) - Vals.push_back(ConstantInt::get(ETy, *C)); - } else if (ETy == Type::UByteTy) { + if (ETy == Type::Int8Ty) { for (unsigned char *C = (unsigned char *)(yyvsp[0].StrVal); - C != (unsigned char*)EndStr; ++C) - Vals.push_back(ConstantInt::get(ETy, *C)); + C != (unsigned char*)EndStr; ++C) + Vals.push_back(ConstantInt::get(ETy, *C)); } else { free((yyvsp[0].StrVal)); GEN_ERROR("Cannot build string arrays of non byte sized elements!"); @@ -3615,9 +3698,11 @@ ;} break; - case 144: -#line 1346 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + case 142: +#line 1403 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { // Nonempty unsized arr + if (!UpRefs.empty()) + GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-3].TypeVal))->getDescription()); const PackedType *PTy = dyn_cast((yyvsp[-3].TypeVal)->get()); if (PTy == 0) GEN_ERROR("Cannot make packed constant with type: '" + @@ -3645,8 +3730,8 @@ ;} break; - case 145: -#line 1372 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + case 143: +#line 1431 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { const StructType *STy = dyn_cast((yyvsp[-3].TypeVal)->get()); if (STy == 0) @@ -3670,9 +3755,11 @@ ;} break; - case 146: -#line 1393 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + case 144: +#line 1452 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { + if (!UpRefs.empty()) + GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-2].TypeVal))->getDescription()); const StructType *STy = dyn_cast((yyvsp[-2].TypeVal)->get()); if (STy == 0) GEN_ERROR("Cannot make struct constant with type: '" + @@ -3687,9 +3774,11 @@ ;} break; - case 147: -#line 1406 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + case 145: +#line 1467 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { + if (!UpRefs.empty()) + GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-1].TypeVal))->getDescription()); const PointerType *PTy = dyn_cast((yyvsp[-1].TypeVal)->get()); if (PTy == 0) GEN_ERROR("Cannot make null pointer constant with type: '" + @@ -3701,18 +3790,22 @@ ;} break; - case 148: -#line 1416 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + case 146: +#line 1479 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { + if (!UpRefs.empty()) + GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-1].TypeVal))->getDescription()); (yyval.ConstVal) = UndefValue::get((yyvsp[-1].TypeVal)->get()); delete (yyvsp[-1].TypeVal); CHECK_FOR_ERROR ;} break; - case 149: -#line 1421 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + case 147: +#line 1486 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { + if (!UpRefs.empty()) + GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-1].TypeVal))->getDescription()); const PointerType *Ty = dyn_cast((yyvsp[-1].TypeVal)->get()); if (Ty == 0) GEN_ERROR("Global const reference must be a pointer type!"); @@ -3775,9 +3868,11 @@ ;} break; - case 150: -#line 1482 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + case 148: +#line 1549 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { + if (!UpRefs.empty()) + GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-1].TypeVal))->getDescription()); if ((yyvsp[-1].TypeVal)->get() != (yyvsp[0].ConstVal)->getType()) GEN_ERROR("Mismatched types for constant expression!"); (yyval.ConstVal) = (yyvsp[0].ConstVal); @@ -3786,9 +3881,11 @@ ;} break; - case 151: -#line 1489 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + case 149: +#line 1558 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { + if (!UpRefs.empty()) + GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-1].TypeVal))->getDescription()); const Type *Ty = (yyvsp[-1].TypeVal)->get(); if (isa(Ty) || Ty == Type::LabelTy || isa(Ty)) GEN_ERROR("Cannot create a null initialized value of this type!"); @@ -3798,8 +3895,8 @@ ;} break; - case 152: -#line 1497 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + case 150: +#line 1568 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { // integral constants if (!ConstantInt::isValueValidForType((yyvsp[-1].PrimType), (yyvsp[0].SInt64Val))) GEN_ERROR("Constant value doesn't fit in type!"); @@ -3808,8 +3905,8 @@ ;} break; - case 153: -#line 1503 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + case 151: +#line 1574 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { // integral constants if (!ConstantInt::isValueValidForType((yyvsp[-1].PrimType), (yyvsp[0].UInt64Val))) GEN_ERROR("Constant value doesn't fit in type!"); @@ -3818,44 +3915,24 @@ ;} break; - case 154: -#line 1509 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" - { // integral constants - if (!ConstantInt::isValueValidForType((yyvsp[-1].PrimType), (yyvsp[0].UInt64Val))) - GEN_ERROR("Constant value doesn't fit in type!"); - (yyval.ConstVal) = ConstantInt::get((yyvsp[-1].PrimType), (yyvsp[0].UInt64Val)); - CHECK_FOR_ERROR - ;} - break; - - case 155: -#line 1515 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" - { - if (!ConstantInt::isValueValidForType((yyvsp[-1].PrimType), (yyvsp[0].SInt64Val))) - GEN_ERROR("Constant value doesn't fit in type!"); - (yyval.ConstVal) = ConstantInt::get((yyvsp[-1].PrimType), (yyvsp[0].SInt64Val)); - CHECK_FOR_ERROR - ;} - break; - - case 156: -#line 1521 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + case 152: +#line 1580 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { // Boolean constants (yyval.ConstVal) = ConstantBool::getTrue(); CHECK_FOR_ERROR ;} break; - case 157: -#line 1525 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + case 153: +#line 1584 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { // Boolean constants (yyval.ConstVal) = ConstantBool::getFalse(); CHECK_FOR_ERROR ;} break; - case 158: -#line 1529 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + case 154: +#line 1588 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { // Float & Double constants if (!ConstantFP::isValueValidForType((yyvsp[-1].PrimType), (yyvsp[0].FPVal))) GEN_ERROR("Floating point constant invalid for type!!"); @@ -3864,9 +3941,11 @@ ;} break; - case 159: -#line 1537 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + case 155: +#line 1596 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { + if (!UpRefs.empty()) + GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-1].TypeVal))->getDescription()); Constant *Val = (yyvsp[-3].ConstVal); const Type *Ty = (yyvsp[-1].TypeVal)->get(); if (!Val->getType()->isFirstClassType()) @@ -3880,8 +3959,8 @@ ;} break; - case 160: -#line 1549 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + case 156: +#line 1610 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { if (!isa((yyvsp[-2].ConstVal)->getType())) GEN_ERROR("GetElementPtr requires a pointer operand!"); @@ -3905,8 +3984,8 @@ ;} break; - case 161: -#line 1570 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + case 157: +#line 1631 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { if ((yyvsp[-5].ConstVal)->getType() != Type::BoolTy) GEN_ERROR("Select condition must be of boolean type!"); @@ -3917,8 +3996,8 @@ ;} break; - case 162: -#line 1578 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + case 158: +#line 1639 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { if ((yyvsp[-3].ConstVal)->getType() != (yyvsp[-1].ConstVal)->getType()) GEN_ERROR("Binary operator types must match!"); @@ -3927,8 +4006,8 @@ ;} break; - case 163: -#line 1584 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + case 159: +#line 1645 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { if ((yyvsp[-3].ConstVal)->getType() != (yyvsp[-1].ConstVal)->getType()) GEN_ERROR("Logical operator types must match!"); @@ -3942,8 +4021,8 @@ ;} break; - case 164: -#line 1595 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + case 160: +#line 1656 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { if ((yyvsp[-3].ConstVal)->getType() != (yyvsp[-1].ConstVal)->getType()) GEN_ERROR("icmp operand types must match!"); @@ -3951,8 +4030,8 @@ ;} break; - case 165: -#line 1600 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + case 161: +#line 1661 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { if ((yyvsp[-3].ConstVal)->getType() != (yyvsp[-1].ConstVal)->getType()) GEN_ERROR("fcmp operand types must match!"); @@ -3960,11 +4039,11 @@ ;} break; - case 166: -#line 1605 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + case 162: +#line 1666 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { - if ((yyvsp[-1].ConstVal)->getType() != Type::UByteTy) - GEN_ERROR("Shift count for shift constant must be unsigned byte!"); + if ((yyvsp[-1].ConstVal)->getType() != Type::Int8Ty) + GEN_ERROR("Shift count for shift constant must be i8 type!"); if (!(yyvsp[-3].ConstVal)->getType()->isInteger()) GEN_ERROR("Shift constant expression requires integer operand!"); CHECK_FOR_ERROR; @@ -3973,8 +4052,8 @@ ;} break; - case 167: -#line 1614 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + case 163: +#line 1675 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { if (!ExtractElementInst::isValidOperands((yyvsp[-3].ConstVal), (yyvsp[-1].ConstVal))) GEN_ERROR("Invalid extractelement operands!"); @@ -3983,8 +4062,8 @@ ;} break; - case 168: -#line 1620 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + case 164: +#line 1681 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { if (!InsertElementInst::isValidOperands((yyvsp[-5].ConstVal), (yyvsp[-3].ConstVal), (yyvsp[-1].ConstVal))) GEN_ERROR("Invalid insertelement operands!"); @@ -3993,8 +4072,8 @@ ;} break; - case 169: -#line 1626 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + case 165: +#line 1687 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { if (!ShuffleVectorInst::isValidOperands((yyvsp[-5].ConstVal), (yyvsp[-3].ConstVal), (yyvsp[-1].ConstVal))) GEN_ERROR("Invalid shufflevector operands!"); @@ -4003,16 +4082,16 @@ ;} break; - case 170: -#line 1635 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + case 166: +#line 1696 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { ((yyval.ConstVector) = (yyvsp[-2].ConstVector))->push_back((yyvsp[0].ConstVal)); CHECK_FOR_ERROR ;} break; - case 171: -#line 1639 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + case 167: +#line 1700 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { (yyval.ConstVector) = new std::vector(); (yyval.ConstVector)->push_back((yyvsp[0].ConstVal)); @@ -4020,18 +4099,18 @@ ;} break; - case 172: -#line 1647 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + case 168: +#line 1708 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { (yyval.BoolVal) = false; ;} break; - case 173: -#line 1647 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + case 169: +#line 1708 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { (yyval.BoolVal) = true; ;} break; - case 174: -#line 1658 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + case 170: +#line 1719 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { (yyval.ModuleVal) = ParserResult = CurModule.CurrentModule; CurModule.ModuleDone(); @@ -4039,8 +4118,8 @@ ;} break; - case 175: -#line 1663 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + case 171: +#line 1724 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { (yyval.ModuleVal) = ParserResult = CurModule.CurrentModule; CurModule.ModuleDone(); @@ -4048,40 +4127,40 @@ ;} break; - case 178: -#line 1676 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + case 174: +#line 1737 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { CurFun.isDeclare = false ;} break; - case 179: -#line 1676 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + case 175: +#line 1737 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { CurFun.FunctionDone(); CHECK_FOR_ERROR ;} break; - case 180: -#line 1680 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + case 176: +#line 1741 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { CurFun.isDeclare = true; ;} break; - case 181: -#line 1680 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + case 177: +#line 1741 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { CHECK_FOR_ERROR ;} break; - case 182: -#line 1683 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + case 178: +#line 1744 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { CHECK_FOR_ERROR ;} break; - case 183: -#line 1686 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + case 179: +#line 1747 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { // Emit an error if there are any unresolved types left. if (!CurModule.LateResolveTypes.empty()) { @@ -4096,9 +4175,11 @@ ;} break; - case 184: -#line 1698 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + case 180: +#line 1759 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { + if (!UpRefs.empty()) + GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[0].TypeVal))->getDescription()); // Eagerly resolve types. This is not an optimization, this is a // requirement that is due to the fact that we could have this: // @@ -4122,8 +4203,23 @@ ;} break; - case 185: -#line 1720 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + case 181: +#line 1783 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + { + ResolveTypeTo((yyvsp[-2].StrVal), (yyvsp[0].PrimType)); + + if (!setTypeName((yyvsp[0].PrimType), (yyvsp[-2].StrVal)) && !(yyvsp[-2].StrVal)) { + CHECK_FOR_ERROR + // If this is a named type that is not a redefinition, add it to the slot + // table. + CurModule.Types.push_back((yyvsp[0].PrimType)); + } + CHECK_FOR_ERROR + ;} + break; + + case 182: +#line 1794 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { /* "Externally Visible" Linkage */ if ((yyvsp[0].ConstVal) == 0) GEN_ERROR("Global value initializer is not a constant!"); @@ -4133,15 +4229,15 @@ ;} break; - case 186: -#line 1726 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + case 183: +#line 1800 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { CurGV = 0; ;} break; - case 187: -#line 1729 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + case 184: +#line 1803 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { if ((yyvsp[0].ConstVal) == 0) GEN_ERROR("Global value initializer is not a constant!"); @@ -4150,46 +4246,48 @@ ;} break; - case 188: -#line 1734 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + case 185: +#line 1808 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { CurGV = 0; ;} break; - case 189: -#line 1737 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + case 186: +#line 1811 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { + if (!UpRefs.empty()) + GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[0].TypeVal))->getDescription()); CurGV = ParseGlobalVariable((yyvsp[-3].StrVal), (yyvsp[-2].Linkage), (yyvsp[-1].BoolVal), *(yyvsp[0].TypeVal), 0); CHECK_FOR_ERROR delete (yyvsp[0].TypeVal); ;} break; - case 190: -#line 1741 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + case 187: +#line 1817 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { CurGV = 0; CHECK_FOR_ERROR ;} break; - case 191: -#line 1745 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + case 188: +#line 1821 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { CHECK_FOR_ERROR ;} break; - case 192: -#line 1748 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + case 189: +#line 1824 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { CHECK_FOR_ERROR ;} break; - case 193: -#line 1754 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + case 190: +#line 1830 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { const std::string &AsmSoFar = CurModule.CurrentModule->getModuleInlineAsm(); char *EndStr = UnEscapeLexed((yyvsp[0].StrVal), true); @@ -4204,26 +4302,26 @@ ;} break; - case 194: -#line 1767 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + case 191: +#line 1843 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { (yyval.Endianness) = Module::BigEndian; ;} break; - case 195: -#line 1768 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + case 192: +#line 1844 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { (yyval.Endianness) = Module::LittleEndian; ;} break; - case 196: -#line 1770 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + case 193: +#line 1846 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { CurModule.CurrentModule->setEndianness((yyvsp[0].Endianness)); CHECK_FOR_ERROR ;} break; - case 197: -#line 1774 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + case 194: +#line 1850 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { if ((yyvsp[0].UInt64Val) == 32) CurModule.CurrentModule->setPointerSize(Module::Pointer32); @@ -4235,24 +4333,24 @@ ;} break; - case 198: -#line 1783 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + case 195: +#line 1859 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { CurModule.CurrentModule->setTargetTriple((yyvsp[0].StrVal)); free((yyvsp[0].StrVal)); ;} break; - case 199: -#line 1787 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + case 196: +#line 1863 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { CurModule.CurrentModule->setDataLayout((yyvsp[0].StrVal)); free((yyvsp[0].StrVal)); ;} break; - case 201: -#line 1794 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + case 198: +#line 1870 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { CurModule.CurrentModule->addLibrary((yyvsp[0].StrVal)); free((yyvsp[0].StrVal)); @@ -4260,8 +4358,8 @@ ;} break; - case 202: -#line 1799 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + case 199: +#line 1875 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { CurModule.CurrentModule->addLibrary((yyvsp[0].StrVal)); free((yyvsp[0].StrVal)); @@ -4269,106 +4367,114 @@ ;} break; - case 203: -#line 1804 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + case 200: +#line 1880 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { CHECK_FOR_ERROR ;} break; - case 207: -#line 1814 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + case 204: +#line 1890 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { (yyval.StrVal) = 0; ;} break; - case 208: -#line 1816 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + case 205: +#line 1892 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { - if (*(yyvsp[-1].TypeVal) == Type::VoidTy) - GEN_ERROR("void typed arguments are invalid!"); - (yyval.ArgVal) = new std::pair((yyvsp[-1].TypeVal), (yyvsp[0].StrVal)); - CHECK_FOR_ERROR -;} - break; - - case 209: -#line 1823 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" - { - (yyval.ArgList) = (yyvsp[-2].ArgList); - (yyvsp[-2].ArgList)->push_back(*(yyvsp[0].ArgVal)); - delete (yyvsp[0].ArgVal); + if (!UpRefs.empty()) + GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-2].TypeVal))->getDescription()); + if (*(yyvsp[-2].TypeVal) == Type::VoidTy) + GEN_ERROR("void typed arguments are invalid!"); + ArgListEntry E; E.Attrs = (yyvsp[-1].ParamAttrs); E.Ty = (yyvsp[-2].TypeVal); E.Name = (yyvsp[0].StrVal); + (yyval.ArgList) = (yyvsp[-4].ArgList); + (yyvsp[-4].ArgList)->push_back(E); CHECK_FOR_ERROR ;} break; - case 210: -#line 1829 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + case 206: +#line 1902 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { - (yyval.ArgList) = new std::vector >(); - (yyval.ArgList)->push_back(*(yyvsp[0].ArgVal)); - delete (yyvsp[0].ArgVal); + if (!UpRefs.empty()) + GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-2].TypeVal))->getDescription()); + if (*(yyvsp[-2].TypeVal) == Type::VoidTy) + GEN_ERROR("void typed arguments are invalid!"); + ArgListEntry E; E.Attrs = (yyvsp[-1].ParamAttrs); E.Ty = (yyvsp[-2].TypeVal); E.Name = (yyvsp[0].StrVal); + (yyval.ArgList) = new ArgListType; + (yyval.ArgList)->push_back(E); CHECK_FOR_ERROR ;} break; - case 211: -#line 1836 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + case 207: +#line 1913 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { (yyval.ArgList) = (yyvsp[0].ArgList); CHECK_FOR_ERROR ;} break; - case 212: -#line 1840 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + case 208: +#line 1917 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { (yyval.ArgList) = (yyvsp[-2].ArgList); - (yyval.ArgList)->push_back(std::pair(new PATypeHolder(Type::VoidTy), 0)); + struct ArgListEntry E; + E.Ty = new PATypeHolder(Type::VoidTy); + E.Name = 0; + E.Attrs = FunctionType::NoAttributeSet; + (yyval.ArgList)->push_back(E); CHECK_FOR_ERROR ;} break; - case 213: -#line 1846 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + case 209: +#line 1926 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { - (yyval.ArgList) = new std::vector >(); - (yyval.ArgList)->push_back(std::make_pair(new PATypeHolder(Type::VoidTy), (char*)0)); + (yyval.ArgList) = new ArgListType; + struct ArgListEntry E; + E.Ty = new PATypeHolder(Type::VoidTy); + E.Name = 0; + E.Attrs = FunctionType::NoAttributeSet; + (yyval.ArgList)->push_back(E); CHECK_FOR_ERROR ;} break; - case 214: -#line 1851 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + case 210: +#line 1935 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { (yyval.ArgList) = 0; CHECK_FOR_ERROR ;} break; - case 215: -#line 1857 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + case 211: +#line 1941 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { UnEscapeLexed((yyvsp[-5].StrVal)); std::string FunctionName((yyvsp[-5].StrVal)); free((yyvsp[-5].StrVal)); // Free strdup'd memory! - if (!(*(yyvsp[-6].TypeVal))->isFirstClassType() && *(yyvsp[-6].TypeVal) != Type::VoidTy) - GEN_ERROR("LLVM functions cannot return aggregate types!"); - std::vector ParamTypeList; + std::vector ParamAttrs; + ParamAttrs.push_back((yyvsp[-6].TypeWithAttrs).Attrs); if ((yyvsp[-3].ArgList)) { // If there are arguments... - for (std::vector >::iterator I = (yyvsp[-3].ArgList)->begin(); - I != (yyvsp[-3].ArgList)->end(); ++I) - ParamTypeList.push_back(I->first->get()); + for (ArgListType::iterator I = (yyvsp[-3].ArgList)->begin(); I != (yyvsp[-3].ArgList)->end(); ++I) { + const Type* Ty = I->Ty->get(); + ParamTypeList.push_back(Ty); + if (Ty != Type::VoidTy) + ParamAttrs.push_back(I->Attrs); + } } bool isVarArg = ParamTypeList.size() && ParamTypeList.back() == Type::VoidTy; if (isVarArg) ParamTypeList.pop_back(); - const FunctionType *FT = FunctionType::get(*(yyvsp[-6].TypeVal), ParamTypeList, isVarArg); + FunctionType *FT = FunctionType::get(*(yyvsp[-6].TypeWithAttrs).Ty, ParamTypeList, isVarArg, + ParamAttrs); const PointerType *PFT = PointerType::get(FT); - delete (yyvsp[-6].TypeVal); + delete (yyvsp[-6].TypeWithAttrs).Ty; ValID ID; if (!FunctionName.empty()) { @@ -4422,19 +4528,19 @@ // Add all of the arguments we parsed to the function... if ((yyvsp[-3].ArgList)) { // Is null if empty... if (isVarArg) { // Nuke the last entry - assert((yyvsp[-3].ArgList)->back().first->get() == Type::VoidTy && (yyvsp[-3].ArgList)->back().second == 0&& + assert((yyvsp[-3].ArgList)->back().Ty->get() == Type::VoidTy && (yyvsp[-3].ArgList)->back().Name == 0&& "Not a varargs marker!"); - delete (yyvsp[-3].ArgList)->back().first; + delete (yyvsp[-3].ArgList)->back().Ty; (yyvsp[-3].ArgList)->pop_back(); // Delete the last entry } Function::arg_iterator ArgIt = Fn->arg_begin(); - for (std::vector >::iterator I = (yyvsp[-3].ArgList)->begin(); - I != (yyvsp[-3].ArgList)->end(); ++I, ++ArgIt) { - delete I->first; // Delete the typeholder... - - setValueName(ArgIt, I->second); // Insert arg into symtab... + unsigned Idx = 1; + for (ArgListType::iterator I = (yyvsp[-3].ArgList)->begin(); I != (yyvsp[-3].ArgList)->end(); ++I, ++ArgIt) { + delete I->Ty; // Delete the typeholder... + setValueName(ArgIt, I->Name); // Insert arg into symtab... CHECK_FOR_ERROR InsertValue(ArgIt); + Idx++; } delete (yyvsp[-3].ArgList); // We're now done with the argument list @@ -4443,8 +4549,8 @@ ;} break; - case 218: -#line 1953 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + case 214: +#line 2040 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { (yyval.FunctionVal) = CurFun.CurrentFunction; @@ -4454,105 +4560,106 @@ ;} break; - case 221: -#line 1963 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + case 217: +#line 2050 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { (yyval.FunctionVal) = (yyvsp[-1].FunctionVal); CHECK_FOR_ERROR ;} break; - case 222: -#line 1968 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + case 218: +#line 2055 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { + CurFun.CurrentFunction->setLinkage((yyvsp[-1].Linkage)); (yyval.FunctionVal) = CurFun.CurrentFunction; CurFun.FunctionDone(); CHECK_FOR_ERROR ;} break; - case 223: -#line 1978 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + case 219: +#line 2066 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { (yyval.BoolVal) = false; CHECK_FOR_ERROR ;} break; - case 224: -#line 1982 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + case 220: +#line 2070 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { (yyval.BoolVal) = true; CHECK_FOR_ERROR ;} break; - case 225: -#line 1987 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + case 221: +#line 2075 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { // A reference to a direct constant (yyval.ValIDVal) = ValID::create((yyvsp[0].SInt64Val)); CHECK_FOR_ERROR ;} break; - case 226: -#line 1991 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + case 222: +#line 2079 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { (yyval.ValIDVal) = ValID::create((yyvsp[0].UInt64Val)); CHECK_FOR_ERROR ;} break; - case 227: -#line 1995 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + case 223: +#line 2083 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { // Perhaps it's an FP constant? (yyval.ValIDVal) = ValID::create((yyvsp[0].FPVal)); CHECK_FOR_ERROR ;} break; - case 228: -#line 1999 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + case 224: +#line 2087 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { (yyval.ValIDVal) = ValID::create(ConstantBool::getTrue()); CHECK_FOR_ERROR ;} break; - case 229: -#line 2003 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + case 225: +#line 2091 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { (yyval.ValIDVal) = ValID::create(ConstantBool::getFalse()); CHECK_FOR_ERROR ;} break; - case 230: -#line 2007 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + case 226: +#line 2095 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { (yyval.ValIDVal) = ValID::createNull(); CHECK_FOR_ERROR ;} break; - case 231: -#line 2011 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + case 227: +#line 2099 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { (yyval.ValIDVal) = ValID::createUndef(); CHECK_FOR_ERROR ;} break; - case 232: -#line 2015 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + case 228: +#line 2103 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { // A vector zero constant. (yyval.ValIDVal) = ValID::createZeroInit(); CHECK_FOR_ERROR ;} break; - case 233: -#line 2019 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + case 229: +#line 2107 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { // Nonempty unsized packed vector const Type *ETy = (*(yyvsp[-1].ConstVector))[0]->getType(); int NumElements = (yyvsp[-1].ConstVector)->size(); @@ -4580,16 +4687,16 @@ ;} break; - case 234: -#line 2044 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + case 230: +#line 2132 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { (yyval.ValIDVal) = ValID::create((yyvsp[0].ConstVal)); CHECK_FOR_ERROR ;} break; - case 235: -#line 2048 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + case 231: +#line 2136 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { char *End = UnEscapeLexed((yyvsp[-2].StrVal), true); std::string AsmStr = std::string((yyvsp[-2].StrVal), End); @@ -4602,48 +4709,51 @@ ;} break; - case 236: -#line 2062 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + case 232: +#line 2150 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { // Is it an integer reference...? (yyval.ValIDVal) = ValID::create((yyvsp[0].SIntVal)); CHECK_FOR_ERROR ;} break; - case 237: -#line 2066 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + case 233: +#line 2154 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { // Is it a named reference...? (yyval.ValIDVal) = ValID::create((yyvsp[0].StrVal)); CHECK_FOR_ERROR ;} break; - case 240: -#line 2078 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + case 236: +#line 2166 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { - (yyval.ValueVal) = getVal(*(yyvsp[-1].TypeVal), (yyvsp[0].ValIDVal)); delete (yyvsp[-1].TypeVal); + if (!UpRefs.empty()) + GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-1].TypeVal))->getDescription()); + (yyval.ValueVal) = getVal(*(yyvsp[-1].TypeVal), (yyvsp[0].ValIDVal)); + delete (yyvsp[-1].TypeVal); CHECK_FOR_ERROR ;} break; - case 241: -#line 2083 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + case 237: +#line 2175 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { (yyval.FunctionVal) = (yyvsp[-1].FunctionVal); CHECK_FOR_ERROR ;} break; - case 242: -#line 2087 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + case 238: +#line 2179 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { // Do not allow functions with 0 basic blocks (yyval.FunctionVal) = (yyvsp[-1].FunctionVal); CHECK_FOR_ERROR ;} break; - case 243: -#line 2096 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + case 239: +#line 2188 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { setValueName((yyvsp[0].TermInstVal), (yyvsp[-1].StrVal)); CHECK_FOR_ERROR @@ -4656,8 +4766,8 @@ ;} break; - case 244: -#line 2107 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + case 240: +#line 2199 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { if (CastInst *CI1 = dyn_cast((yyvsp[0].InstVal))) if (CastInst *CI2 = dyn_cast(CI1->getOperand(0))) @@ -4669,8 +4779,8 @@ ;} break; - case 245: -#line 2116 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + case 241: +#line 2208 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { (yyval.BasicBlockVal) = getBBVal(ValID::create((int)CurFun.NextBBNum++), true); CHECK_FOR_ERROR @@ -4685,8 +4795,8 @@ ;} break; - case 246: -#line 2128 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + case 242: +#line 2220 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { (yyval.BasicBlockVal) = getBBVal(ValID::create((yyvsp[0].StrVal)), true); CHECK_FOR_ERROR @@ -4701,24 +4811,24 @@ ;} break; - case 247: -#line 2141 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + case 243: +#line 2233 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { // Return with a result... (yyval.TermInstVal) = new ReturnInst((yyvsp[0].ValueVal)); CHECK_FOR_ERROR ;} break; - case 248: -#line 2145 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + case 244: +#line 2237 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { // Return with no result... (yyval.TermInstVal) = new ReturnInst(); CHECK_FOR_ERROR ;} break; - case 249: -#line 2149 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + case 245: +#line 2241 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { // Unconditional Branch... BasicBlock* tmpBB = getBBVal((yyvsp[0].ValIDVal)); CHECK_FOR_ERROR @@ -4726,8 +4836,8 @@ ;} break; - case 250: -#line 2154 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + case 246: +#line 2246 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { BasicBlock* tmpBBA = getBBVal((yyvsp[-3].ValIDVal)); CHECK_FOR_ERROR @@ -4739,8 +4849,8 @@ ;} break; - case 251: -#line 2163 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + case 247: +#line 2255 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { Value* tmpVal = getVal((yyvsp[-7].PrimType), (yyvsp[-6].ValIDVal)); CHECK_FOR_ERROR @@ -4762,8 +4872,8 @@ ;} break; - case 252: -#line 2182 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + case 248: +#line 2274 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { Value* tmpVal = getVal((yyvsp[-6].PrimType), (yyvsp[-5].ValIDVal)); CHECK_FOR_ERROR @@ -4775,26 +4885,28 @@ ;} break; - case 253: -#line 2192 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + case 249: +#line 2284 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { - const PointerType *PFTy; - const FunctionType *Ty; - if (!(PFTy = dyn_cast((yyvsp[-10].TypeVal)->get())) || + // Handle the short syntax + const PointerType *PFTy = 0; + const FunctionType *Ty = 0; + if (!(PFTy = dyn_cast((yyvsp[-10].TypeWithAttrs).Ty->get())) || !(Ty = dyn_cast(PFTy->getElementType()))) { // Pull out the types of all of the arguments... std::vector ParamTypes; - if ((yyvsp[-7].ValueList)) { - for (std::vector::iterator I = (yyvsp[-7].ValueList)->begin(), E = (yyvsp[-7].ValueList)->end(); - I != E; ++I) - ParamTypes.push_back((*I)->getType()); + FunctionType::ParamAttrsList ParamAttrs; + ParamAttrs.push_back((yyvsp[-10].TypeWithAttrs).Attrs); + for (ValueRefList::iterator I = (yyvsp[-7].ValueRefList)->begin(), E = (yyvsp[-7].ValueRefList)->end(); I != E; ++I) { + const Type *Ty = I->Val->getType(); + if (Ty == Type::VoidTy) + GEN_ERROR("Short call syntax cannot be used with varargs"); + ParamTypes.push_back(Ty); + ParamAttrs.push_back(I->Attrs); } - bool isVarArg = ParamTypes.size() && ParamTypes.back() == Type::VoidTy; - if (isVarArg) ParamTypes.pop_back(); - - Ty = FunctionType::get((yyvsp[-10].TypeVal)->get(), ParamTypes, isVarArg); + Ty = FunctionType::get((yyvsp[-10].TypeWithAttrs).Ty->get(), ParamTypes, false, ParamAttrs); PFTy = PointerType::get(Ty); } @@ -4805,53 +4917,62 @@ BasicBlock *Except = getBBVal((yyvsp[0].ValIDVal)); CHECK_FOR_ERROR - // Create the call node... - if (!(yyvsp[-7].ValueList)) { // Has no arguments? - (yyval.TermInstVal) = new InvokeInst(V, Normal, Except, std::vector()); + // Check the arguments + ValueList Args; + if ((yyvsp[-7].ValueRefList)->empty()) { // Has no arguments? + // Make sure no arguments is a good thing! + if (Ty->getNumParams() != 0) + GEN_ERROR("No arguments passed to a function that " + "expects arguments!"); } else { // Has arguments? // Loop through FunctionType's arguments and ensure they are specified // correctly! - // FunctionType::param_iterator I = Ty->param_begin(); FunctionType::param_iterator E = Ty->param_end(); - std::vector::iterator ArgI = (yyvsp[-7].ValueList)->begin(), ArgE = (yyvsp[-7].ValueList)->end(); + ValueRefList::iterator ArgI = (yyvsp[-7].ValueRefList)->begin(), ArgE = (yyvsp[-7].ValueRefList)->end(); - for (; ArgI != ArgE && I != E; ++ArgI, ++I) - if ((*ArgI)->getType() != *I) - GEN_ERROR("Parameter " +(*ArgI)->getName()+ " is not of type '" + + for (; ArgI != ArgE && I != E; ++ArgI, ++I) { + if (ArgI->Val->getType() != *I) + GEN_ERROR("Parameter " + ArgI->Val->getName()+ " is not of type '" + (*I)->getDescription() + "'!"); + Args.push_back(ArgI->Val); + } - if (I != E || (ArgI != ArgE && !Ty->isVarArg())) + if (Ty->isVarArg()) { + if (I == E) + for (; ArgI != ArgE; ++ArgI) + Args.push_back(ArgI->Val); // push the remaining varargs + } else if (I != E || ArgI != ArgE) GEN_ERROR("Invalid number of parameters detected!"); - - (yyval.TermInstVal) = new InvokeInst(V, Normal, Except, *(yyvsp[-7].ValueList)); } - cast((yyval.TermInstVal))->setCallingConv((yyvsp[-11].UIntVal)); - - delete (yyvsp[-10].TypeVal); - delete (yyvsp[-7].ValueList); + + // Create the InvokeInst + InvokeInst *II = new InvokeInst(V, Normal, Except, Args); + II->setCallingConv((yyvsp[-11].UIntVal)); + (yyval.TermInstVal) = II; + delete (yyvsp[-7].ValueRefList); CHECK_FOR_ERROR ;} break; - case 254: -#line 2247 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + case 250: +#line 2350 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { (yyval.TermInstVal) = new UnwindInst(); CHECK_FOR_ERROR ;} break; - case 255: -#line 2251 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + case 251: +#line 2354 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { (yyval.TermInstVal) = new UnreachableInst(); CHECK_FOR_ERROR ;} break; - case 256: -#line 2258 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + case 252: +#line 2361 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { (yyval.JumpTable) = (yyvsp[-5].JumpTable); Constant *V = cast(getValNonImprovising((yyvsp[-4].PrimType), (yyvsp[-3].ValIDVal))); @@ -4865,8 +4986,8 @@ ;} break; - case 257: -#line 2269 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + case 253: +#line 2372 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { (yyval.JumpTable) = new std::vector >(); Constant *V = cast(getValNonImprovising((yyvsp[-4].PrimType), (yyvsp[-3].ValIDVal))); @@ -4881,8 +5002,8 @@ ;} break; - case 258: -#line 2282 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + case 254: +#line 2385 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { // Is this definition named?? if so, assign the name... setValueName((yyvsp[0].InstVal), (yyvsp[-1].StrVal)); @@ -4893,9 +5014,11 @@ ;} break; - case 259: -#line 2291 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + case 255: +#line 2394 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { // Used for PHI nodes + if (!UpRefs.empty()) + GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-5].TypeVal))->getDescription()); (yyval.PHIList) = new std::list >(); Value* tmpVal = getVal(*(yyvsp[-5].TypeVal), (yyvsp[-3].ValIDVal)); CHECK_FOR_ERROR @@ -4906,8 +5029,8 @@ ;} break; - case 260: -#line 2300 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + case 256: +#line 2405 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { (yyval.PHIList) = (yyvsp[-6].PHIList); Value* tmpVal = getVal((yyvsp[-6].PHIList)->front().first->getType(), (yyvsp[-3].ValIDVal)); @@ -4918,47 +5041,70 @@ ;} break; - case 261: -#line 2310 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" - { // Used for call statements, and memory insts... - (yyval.ValueList) = new std::vector(); - (yyval.ValueList)->push_back((yyvsp[0].ValueVal)); + case 257: +#line 2415 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + { + if (!UpRefs.empty()) + GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-2].TypeVal))->getDescription()); + // Used for call and invoke instructions + (yyval.ValueRefList) = new ValueRefList(); + ValueRefListEntry E; E.Attrs = (yyvsp[0].ParamAttrs); E.Val = getVal((yyvsp[-2].TypeVal)->get(), (yyvsp[-1].ValIDVal)); + (yyval.ValueRefList)->push_back(E); ;} break; - case 262: -#line 2314 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + case 258: +#line 2423 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { - (yyval.ValueList) = (yyvsp[-2].ValueList); - (yyvsp[-2].ValueList)->push_back((yyvsp[0].ValueVal)); + if (!UpRefs.empty()) + GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-2].TypeVal))->getDescription()); + (yyval.ValueRefList) = (yyvsp[-4].ValueRefList); + ValueRefListEntry E; E.Attrs = (yyvsp[0].ParamAttrs); E.Val = getVal((yyvsp[-2].TypeVal)->get(), (yyvsp[-1].ValIDVal)); + (yyval.ValueRefList)->push_back(E); CHECK_FOR_ERROR ;} break; - case 264: -#line 2321 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" - { (yyval.ValueList) = 0; ;} + case 259: +#line 2431 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + { (yyval.ValueRefList) = new ValueRefList(); ;} break; - case 265: -#line 2323 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + case 260: +#line 2434 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + { (yyval.ValueList) = new std::vector(); ;} + break; + + case 261: +#line 2435 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + { + (yyval.ValueList) = (yyvsp[-2].ValueList); + (yyval.ValueList)->push_back((yyvsp[0].ValueVal)); + CHECK_FOR_ERROR + ;} + break; + + case 262: +#line 2441 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { (yyval.BoolVal) = true; CHECK_FOR_ERROR ;} break; - case 266: -#line 2327 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + case 263: +#line 2445 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { (yyval.BoolVal) = false; CHECK_FOR_ERROR ;} break; - case 267: -#line 2332 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + case 264: +#line 2450 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { + if (!UpRefs.empty()) + GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-3].TypeVal))->getDescription()); if (!(*(yyvsp[-3].TypeVal))->isInteger() && !(*(yyvsp[-3].TypeVal))->isFloatingPoint() && !isa((*(yyvsp[-3].TypeVal)).get())) GEN_ERROR( @@ -4979,9 +5125,11 @@ ;} break; - case 268: -#line 2351 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + case 265: +#line 2471 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { + if (!UpRefs.empty()) + GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-3].TypeVal))->getDescription()); if (!(*(yyvsp[-3].TypeVal))->isIntegral()) { if (!isa((yyvsp[-3].TypeVal)->get()) || !cast((yyvsp[-3].TypeVal)->get())->getElementType()->isIntegral()) @@ -4998,9 +5146,11 @@ ;} break; - case 269: -#line 2366 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + case 266: +#line 2488 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { + if (!UpRefs.empty()) + GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-3].TypeVal))->getDescription()); if (isa((*(yyvsp[-3].TypeVal)).get())) GEN_ERROR("Packed types not supported by icmp instruction"); Value* tmpVal1 = getVal(*(yyvsp[-3].TypeVal), (yyvsp[-2].ValIDVal)); @@ -5013,9 +5163,11 @@ ;} break; - case 270: -#line 2377 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + case 267: +#line 2501 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { + if (!UpRefs.empty()) + GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-3].TypeVal))->getDescription()); if (isa((*(yyvsp[-3].TypeVal)).get())) GEN_ERROR("Packed types not supported by fcmp instruction"); Value* tmpVal1 = getVal(*(yyvsp[-3].TypeVal), (yyvsp[-2].ValIDVal)); @@ -5028,8 +5180,8 @@ ;} break; - case 271: -#line 2388 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + case 268: +#line 2514 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { cerr << "WARNING: Use of eliminated 'not' instruction:" << " Replacing with 'xor'.\n"; @@ -5045,11 +5197,11 @@ ;} break; - case 272: -#line 2401 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + case 269: +#line 2527 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { - if ((yyvsp[0].ValueVal)->getType() != Type::UByteTy) - GEN_ERROR("Shift amount must be ubyte!"); + if ((yyvsp[0].ValueVal)->getType() != Type::Int8Ty) + GEN_ERROR("Shift amount must be i8 type!"); if (!(yyvsp[-2].ValueVal)->getType()->isInteger()) GEN_ERROR("Shift constant expression requires integer operand!"); CHECK_FOR_ERROR; @@ -5058,9 +5210,11 @@ ;} break; - case 273: -#line 2410 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + case 270: +#line 2536 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { + if (!UpRefs.empty()) + GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[0].TypeVal))->getDescription()); Value* Val = (yyvsp[-2].ValueVal); const Type* Ty = (yyvsp[0].TypeVal)->get(); if (!Val->getType()->isFirstClassType()) @@ -5068,13 +5222,13 @@ Val->getType()->getDescription() + "'!"); if (!Ty->isFirstClassType()) GEN_ERROR("cast to a non-primitive type: '" + Ty->getDescription() +"'!"); - (yyval.InstVal) = CastInst::create((yyvsp[-3].CastOpVal), (yyvsp[-2].ValueVal), (yyvsp[0].TypeVal)->get()); + (yyval.InstVal) = CastInst::create((yyvsp[-3].CastOpVal), Val, (yyvsp[0].TypeVal)->get()); delete (yyvsp[0].TypeVal); ;} break; - case 274: -#line 2421 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + case 271: +#line 2549 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { if ((yyvsp[-4].ValueVal)->getType() != Type::BoolTy) GEN_ERROR("select condition must be boolean!"); @@ -5085,17 +5239,19 @@ ;} break; - case 275: -#line 2429 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + case 272: +#line 2557 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { + if (!UpRefs.empty()) + GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[0].TypeVal))->getDescription()); (yyval.InstVal) = new VAArgInst((yyvsp[-2].ValueVal), *(yyvsp[0].TypeVal)); delete (yyvsp[0].TypeVal); CHECK_FOR_ERROR ;} break; - case 276: -#line 2434 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + case 273: +#line 2564 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { if (!ExtractElementInst::isValidOperands((yyvsp[-2].ValueVal), (yyvsp[0].ValueVal))) GEN_ERROR("Invalid extractelement operands!"); @@ -5104,8 +5260,8 @@ ;} break; - case 277: -#line 2440 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + case 274: +#line 2570 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { if (!InsertElementInst::isValidOperands((yyvsp[-4].ValueVal), (yyvsp[-2].ValueVal), (yyvsp[0].ValueVal))) GEN_ERROR("Invalid insertelement operands!"); @@ -5114,8 +5270,8 @@ ;} break; - case 278: -#line 2446 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + case 275: +#line 2576 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { if (!ShuffleVectorInst::isValidOperands((yyvsp[-4].ValueVal), (yyvsp[-2].ValueVal), (yyvsp[0].ValueVal))) GEN_ERROR("Invalid shufflevector operands!"); @@ -5124,8 +5280,8 @@ ;} break; - case 279: -#line 2452 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + case 276: +#line 2582 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { const Type *Ty = (yyvsp[0].PHIList)->front().first->getType(); if (!Ty->isFirstClassType()) @@ -5143,121 +5299,112 @@ ;} break; - case 280: -#line 2467 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + case 277: +#line 2597 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { + + // Handle the short syntax const PointerType *PFTy = 0; const FunctionType *Ty = 0; - - if (!(PFTy = dyn_cast((yyvsp[-4].TypeVal)->get())) || + if (!(PFTy = dyn_cast((yyvsp[-4].TypeWithAttrs).Ty->get())) || !(Ty = dyn_cast(PFTy->getElementType()))) { // Pull out the types of all of the arguments... std::vector ParamTypes; - if ((yyvsp[-1].ValueList)) { - for (std::vector::iterator I = (yyvsp[-1].ValueList)->begin(), E = (yyvsp[-1].ValueList)->end(); - I != E; ++I) - ParamTypes.push_back((*I)->getType()); + FunctionType::ParamAttrsList ParamAttrs; + ParamAttrs.push_back((yyvsp[-4].TypeWithAttrs).Attrs); + for (ValueRefList::iterator I = (yyvsp[-1].ValueRefList)->begin(), E = (yyvsp[-1].ValueRefList)->end(); I != E; ++I) { + const Type *Ty = I->Val->getType(); + if (Ty == Type::VoidTy) + GEN_ERROR("Short call syntax cannot be used with varargs"); + ParamTypes.push_back(Ty); + ParamAttrs.push_back(I->Attrs); } - bool isVarArg = ParamTypes.size() && ParamTypes.back() == Type::VoidTy; - if (isVarArg) ParamTypes.pop_back(); - - if (!(*(yyvsp[-4].TypeVal))->isFirstClassType() && *(yyvsp[-4].TypeVal) != Type::VoidTy) - GEN_ERROR("LLVM functions cannot return aggregate types!"); - - Ty = FunctionType::get((yyvsp[-4].TypeVal)->get(), ParamTypes, isVarArg); + Ty = FunctionType::get((yyvsp[-4].TypeWithAttrs).Ty->get(), ParamTypes, false, ParamAttrs); PFTy = PointerType::get(Ty); } Value *V = getVal(PFTy, (yyvsp[-3].ValIDVal)); // Get the function we're calling... CHECK_FOR_ERROR - // Create the call node... - if (!(yyvsp[-1].ValueList)) { // Has no arguments? + // Check the arguments + ValueList Args; + if ((yyvsp[-1].ValueRefList)->empty()) { // Has no arguments? // Make sure no arguments is a good thing! if (Ty->getNumParams() != 0) GEN_ERROR("No arguments passed to a function that " "expects arguments!"); - - (yyval.InstVal) = new CallInst(V, std::vector()); } else { // Has arguments? // Loop through FunctionType's arguments and ensure they are specified // correctly! // FunctionType::param_iterator I = Ty->param_begin(); FunctionType::param_iterator E = Ty->param_end(); - std::vector::iterator ArgI = (yyvsp[-1].ValueList)->begin(), ArgE = (yyvsp[-1].ValueList)->end(); + ValueRefList::iterator ArgI = (yyvsp[-1].ValueRefList)->begin(), ArgE = (yyvsp[-1].ValueRefList)->end(); - for (; ArgI != ArgE && I != E; ++ArgI, ++I) - if ((*ArgI)->getType() != *I) - GEN_ERROR("Parameter " +(*ArgI)->getName()+ " is not of type '" + + for (; ArgI != ArgE && I != E; ++ArgI, ++I) { + if (ArgI->Val->getType() != *I) + GEN_ERROR("Parameter " + ArgI->Val->getName()+ " is not of type '" + (*I)->getDescription() + "'!"); - - if (I != E || (ArgI != ArgE && !Ty->isVarArg())) + Args.push_back(ArgI->Val); + } + if (Ty->isVarArg()) { + if (I == E) + for (; ArgI != ArgE; ++ArgI) + Args.push_back(ArgI->Val); // push the remaining varargs + } else if (I != E || ArgI != ArgE) GEN_ERROR("Invalid number of parameters detected!"); - - (yyval.InstVal) = new CallInst(V, *(yyvsp[-1].ValueList)); } - cast((yyval.InstVal))->setTailCall((yyvsp[-6].BoolVal)); - cast((yyval.InstVal))->setCallingConv((yyvsp[-5].UIntVal)); - delete (yyvsp[-4].TypeVal); - delete (yyvsp[-1].ValueList); + // Create the call node + CallInst *CI = new CallInst(V, Args); + CI->setTailCall((yyvsp[-6].BoolVal)); + CI->setCallingConv((yyvsp[-5].UIntVal)); + (yyval.InstVal) = CI; + delete (yyvsp[-1].ValueRefList); CHECK_FOR_ERROR ;} break; - case 281: -#line 2526 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + case 278: +#line 2659 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { (yyval.InstVal) = (yyvsp[0].InstVal); CHECK_FOR_ERROR ;} break; - case 282: -#line 2533 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" - { - (yyval.ValueList) = (yyvsp[0].ValueList); - CHECK_FOR_ERROR - ;} - break; - - case 283: -#line 2536 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" - { - (yyval.ValueList) = new std::vector(); - CHECK_FOR_ERROR - ;} - break; - - case 284: -#line 2541 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + case 279: +#line 2664 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { (yyval.BoolVal) = true; CHECK_FOR_ERROR ;} break; - case 285: -#line 2545 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + case 280: +#line 2668 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { (yyval.BoolVal) = false; CHECK_FOR_ERROR ;} break; - case 286: -#line 2552 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + case 281: +#line 2675 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { + if (!UpRefs.empty()) + GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-1].TypeVal))->getDescription()); (yyval.InstVal) = new MallocInst(*(yyvsp[-1].TypeVal), 0, (yyvsp[0].UIntVal)); delete (yyvsp[-1].TypeVal); CHECK_FOR_ERROR ;} break; - case 287: -#line 2557 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + case 282: +#line 2682 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { + if (!UpRefs.empty()) + GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-4].TypeVal))->getDescription()); Value* tmpVal = getVal((yyvsp[-2].PrimType), (yyvsp[-1].ValIDVal)); CHECK_FOR_ERROR (yyval.InstVal) = new MallocInst(*(yyvsp[-4].TypeVal), tmpVal, (yyvsp[0].UIntVal)); @@ -5265,18 +5412,22 @@ ;} break; - case 288: -#line 2563 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + case 283: +#line 2690 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { + if (!UpRefs.empty()) + GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-1].TypeVal))->getDescription()); (yyval.InstVal) = new AllocaInst(*(yyvsp[-1].TypeVal), 0, (yyvsp[0].UIntVal)); delete (yyvsp[-1].TypeVal); CHECK_FOR_ERROR ;} break; - case 289: -#line 2568 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + case 284: +#line 2697 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { + if (!UpRefs.empty()) + GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-4].TypeVal))->getDescription()); Value* tmpVal = getVal((yyvsp[-2].PrimType), (yyvsp[-1].ValIDVal)); CHECK_FOR_ERROR (yyval.InstVal) = new AllocaInst(*(yyvsp[-4].TypeVal), tmpVal, (yyvsp[0].UIntVal)); @@ -5284,8 +5435,8 @@ ;} break; - case 290: -#line 2574 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + case 285: +#line 2705 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { if (!isa((yyvsp[0].ValueVal)->getType())) GEN_ERROR("Trying to free nonpointer type " + @@ -5295,9 +5446,11 @@ ;} break; - case 291: -#line 2582 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + case 286: +#line 2713 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { + if (!UpRefs.empty()) + GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-1].TypeVal))->getDescription()); if (!isa((yyvsp[-1].TypeVal)->get())) GEN_ERROR("Can't load from nonpointer type: " + (*(yyvsp[-1].TypeVal))->getDescription()); @@ -5311,9 +5464,11 @@ ;} break; - case 292: -#line 2594 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + case 287: +#line 2727 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { + if (!UpRefs.empty()) + GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-1].TypeVal))->getDescription()); const PointerType *PT = dyn_cast((yyvsp[-1].TypeVal)->get()); if (!PT) GEN_ERROR("Can't store to a nonpointer type: " + @@ -5330,9 +5485,11 @@ ;} break; - case 293: -#line 2609 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" + case 288: +#line 2744 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" { + if (!UpRefs.empty()) + GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-2].TypeVal))->getDescription()); if (!isa((yyvsp[-2].TypeVal)->get())) GEN_ERROR("getelementptr insn requires pointer operand!"); @@ -5352,7 +5509,7 @@ } /* Line 1126 of yacc.c. */ -#line 5356 "llvmAsmParser.tab.c" +#line 5513 "llvmAsmParser.tab.c" yyvsp -= yylen; yyssp -= yylen; @@ -5620,8 +5777,35 @@ } -#line 2624 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" +#line 2761 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" + + +// common code from the two 'RunVMAsmParser' functions +static Module* RunParser(Module * M) { + + llvmAsmlineno = 1; // Reset the current line number... + CurModule.CurrentModule = M; +#if YYDEBUG + yydebug = Debug; +#endif + // Check to make sure the parser succeeded + if (yyparse()) { + if (ParserResult) + delete ParserResult; + return 0; + } + + // Check to make sure that parsing produced a result + if (!ParserResult) + return 0; + + // Reset ParserResult variable while saving its value for the result. + Module *Result = ParserResult; + ParserResult = 0; + + return Result; +} void llvm::GenerateError(const std::string &message, int LineNo) { if (LineNo == -1) LineNo = llvmAsmlineno; Index: llvm/lib/AsmParser/llvmAsmParser.h.cvs diff -u llvm/lib/AsmParser/llvmAsmParser.h.cvs:1.32 llvm/lib/AsmParser/llvmAsmParser.h.cvs:1.33 --- llvm/lib/AsmParser/llvmAsmParser.h.cvs:1.32 Fri Dec 29 14:30:42 2006 +++ llvm/lib/AsmParser/llvmAsmParser.h.cvs Sat Dec 30 23:40:51 2006 @@ -36,136 +36,131 @@ FPVAL = 262, VOID = 263, BOOL = 264, - SBYTE = 265, - UBYTE = 266, - SHORT = 267, - USHORT = 268, - INT = 269, - UINT = 270, - LONG = 271, - ULONG = 272, - FLOAT = 273, - DOUBLE = 274, - LABEL = 275, - TYPE = 276, - VAR_ID = 277, - LABELSTR = 278, - STRINGCONSTANT = 279, - IMPLEMENTATION = 280, - ZEROINITIALIZER = 281, - TRUETOK = 282, - FALSETOK = 283, - BEGINTOK = 284, - ENDTOK = 285, - DECLARE = 286, - DEFINE = 287, - GLOBAL = 288, - CONSTANT = 289, - SECTION = 290, - VOLATILE = 291, - TO = 292, - DOTDOTDOT = 293, - NULL_TOK = 294, - UNDEF = 295, - CONST = 296, - INTERNAL = 297, - LINKONCE = 298, - WEAK = 299, - APPENDING = 300, - DLLIMPORT = 301, - DLLEXPORT = 302, - EXTERN_WEAK = 303, - OPAQUE = 304, - NOT = 305, - EXTERNAL = 306, - TARGET = 307, - TRIPLE = 308, - ENDIAN = 309, - POINTERSIZE = 310, - LITTLE = 311, - BIG = 312, - ALIGN = 313, - DEPLIBS = 314, - CALL = 315, - TAIL = 316, - ASM_TOK = 317, - MODULE = 318, - SIDEEFFECT = 319, - CC_TOK = 320, - CCC_TOK = 321, - CSRETCC_TOK = 322, - FASTCC_TOK = 323, - COLDCC_TOK = 324, - X86_STDCALLCC_TOK = 325, - X86_FASTCALLCC_TOK = 326, - DATALAYOUT = 327, - RET = 328, - BR = 329, - SWITCH = 330, - INVOKE = 331, - UNWIND = 332, - UNREACHABLE = 333, - ADD = 334, - SUB = 335, - MUL = 336, - UDIV = 337, - SDIV = 338, - FDIV = 339, - UREM = 340, - SREM = 341, - FREM = 342, - AND = 343, - OR = 344, - XOR = 345, - ICMP = 346, - FCMP = 347, - EQ = 348, - NE = 349, - SLT = 350, - SGT = 351, - SLE = 352, - SGE = 353, - ULT = 354, - UGT = 355, - ULE = 356, - UGE = 357, - OEQ = 358, - ONE = 359, - OLT = 360, - OGT = 361, - OLE = 362, - OGE = 363, - ORD = 364, - UNO = 365, - UEQ = 366, - UNE = 367, - MALLOC = 368, - ALLOCA = 369, - FREE = 370, - LOAD = 371, - STORE = 372, - GETELEMENTPTR = 373, - TRUNC = 374, - ZEXT = 375, - SEXT = 376, - FPTRUNC = 377, - FPEXT = 378, - BITCAST = 379, - UITOFP = 380, - SITOFP = 381, - FPTOUI = 382, - FPTOSI = 383, - INTTOPTR = 384, - PTRTOINT = 385, - PHI_TOK = 386, - SELECT = 387, - SHL = 388, - LSHR = 389, - ASHR = 390, - VAARG = 391, - EXTRACTELEMENT = 392, - INSERTELEMENT = 393, - SHUFFLEVECTOR = 394 + INT8 = 265, + INT16 = 266, + INT32 = 267, + INT64 = 268, + FLOAT = 269, + DOUBLE = 270, + LABEL = 271, + TYPE = 272, + VAR_ID = 273, + LABELSTR = 274, + STRINGCONSTANT = 275, + IMPLEMENTATION = 276, + ZEROINITIALIZER = 277, + TRUETOK = 278, + FALSETOK = 279, + BEGINTOK = 280, + ENDTOK = 281, + DECLARE = 282, + DEFINE = 283, + GLOBAL = 284, + CONSTANT = 285, + SECTION = 286, + VOLATILE = 287, + TO = 288, + DOTDOTDOT = 289, + NULL_TOK = 290, + UNDEF = 291, + INTERNAL = 292, + LINKONCE = 293, + WEAK = 294, + APPENDING = 295, + DLLIMPORT = 296, + DLLEXPORT = 297, + EXTERN_WEAK = 298, + OPAQUE = 299, + NOT = 300, + EXTERNAL = 301, + TARGET = 302, + TRIPLE = 303, + ENDIAN = 304, + POINTERSIZE = 305, + LITTLE = 306, + BIG = 307, + ALIGN = 308, + DEPLIBS = 309, + CALL = 310, + TAIL = 311, + ASM_TOK = 312, + MODULE = 313, + SIDEEFFECT = 314, + CC_TOK = 315, + CCC_TOK = 316, + CSRETCC_TOK = 317, + FASTCC_TOK = 318, + COLDCC_TOK = 319, + X86_STDCALLCC_TOK = 320, + X86_FASTCALLCC_TOK = 321, + DATALAYOUT = 322, + RET = 323, + BR = 324, + SWITCH = 325, + INVOKE = 326, + UNWIND = 327, + UNREACHABLE = 328, + ADD = 329, + SUB = 330, + MUL = 331, + UDIV = 332, + SDIV = 333, + FDIV = 334, + UREM = 335, + SREM = 336, + FREM = 337, + AND = 338, + OR = 339, + XOR = 340, + ICMP = 341, + FCMP = 342, + EQ = 343, + NE = 344, + SLT = 345, + SGT = 346, + SLE = 347, + SGE = 348, + ULT = 349, + UGT = 350, + ULE = 351, + UGE = 352, + OEQ = 353, + ONE = 354, + OLT = 355, + OGT = 356, + OLE = 357, + OGE = 358, + ORD = 359, + UNO = 360, + UEQ = 361, + UNE = 362, + MALLOC = 363, + ALLOCA = 364, + FREE = 365, + LOAD = 366, + STORE = 367, + GETELEMENTPTR = 368, + TRUNC = 369, + ZEXT = 370, + SEXT = 371, + FPTRUNC = 372, + FPEXT = 373, + BITCAST = 374, + UITOFP = 375, + SITOFP = 376, + FPTOUI = 377, + FPTOSI = 378, + INTTOPTR = 379, + PTRTOINT = 380, + PHI_TOK = 381, + SELECT = 382, + SHL = 383, + LSHR = 384, + ASHR = 385, + VAARG = 386, + EXTRACTELEMENT = 387, + INSERTELEMENT = 388, + SHUFFLEVECTOR = 389 }; #endif /* Tokens. */ @@ -176,158 +171,155 @@ #define FPVAL 262 #define VOID 263 #define BOOL 264 -#define SBYTE 265 -#define UBYTE 266 -#define SHORT 267 -#define USHORT 268 -#define INT 269 -#define UINT 270 -#define LONG 271 -#define ULONG 272 -#define FLOAT 273 -#define DOUBLE 274 -#define LABEL 275 -#define TYPE 276 -#define VAR_ID 277 -#define LABELSTR 278 -#define STRINGCONSTANT 279 -#define IMPLEMENTATION 280 -#define ZEROINITIALIZER 281 -#define TRUETOK 282 -#define FALSETOK 283 -#define BEGINTOK 284 -#define ENDTOK 285 -#define DECLARE 286 -#define DEFINE 287 -#define GLOBAL 288 -#define CONSTANT 289 -#define SECTION 290 -#define VOLATILE 291 -#define TO 292 -#define DOTDOTDOT 293 -#define NULL_TOK 294 -#define UNDEF 295 -#define CONST 296 -#define INTERNAL 297 -#define LINKONCE 298 -#define WEAK 299 -#define APPENDING 300 -#define DLLIMPORT 301 -#define DLLEXPORT 302 -#define EXTERN_WEAK 303 -#define OPAQUE 304 -#define NOT 305 -#define EXTERNAL 306 -#define TARGET 307 -#define TRIPLE 308 -#define ENDIAN 309 -#define POINTERSIZE 310 -#define LITTLE 311 -#define BIG 312 -#define ALIGN 313 -#define DEPLIBS 314 -#define CALL 315 -#define TAIL 316 -#define ASM_TOK 317 -#define MODULE 318 -#define SIDEEFFECT 319 -#define CC_TOK 320 -#define CCC_TOK 321 -#define CSRETCC_TOK 322 -#define FASTCC_TOK 323 -#define COLDCC_TOK 324 -#define X86_STDCALLCC_TOK 325 -#define X86_FASTCALLCC_TOK 326 -#define DATALAYOUT 327 -#define RET 328 -#define BR 329 -#define SWITCH 330 -#define INVOKE 331 -#define UNWIND 332 -#define UNREACHABLE 333 -#define ADD 334 -#define SUB 335 -#define MUL 336 -#define UDIV 337 -#define SDIV 338 -#define FDIV 339 -#define UREM 340 -#define SREM 341 -#define FREM 342 -#define AND 343 -#define OR 344 -#define XOR 345 -#define ICMP 346 -#define FCMP 347 -#define EQ 348 -#define NE 349 -#define SLT 350 -#define SGT 351 -#define SLE 352 -#define SGE 353 -#define ULT 354 -#define UGT 355 -#define ULE 356 -#define UGE 357 -#define OEQ 358 -#define ONE 359 -#define OLT 360 -#define OGT 361 -#define OLE 362 -#define OGE 363 -#define ORD 364 -#define UNO 365 -#define UEQ 366 -#define UNE 367 -#define MALLOC 368 -#define ALLOCA 369 -#define FREE 370 -#define LOAD 371 -#define STORE 372 -#define GETELEMENTPTR 373 -#define TRUNC 374 -#define ZEXT 375 -#define SEXT 376 -#define FPTRUNC 377 -#define FPEXT 378 -#define BITCAST 379 -#define UITOFP 380 -#define SITOFP 381 -#define FPTOUI 382 -#define FPTOSI 383 -#define INTTOPTR 384 -#define PTRTOINT 385 -#define PHI_TOK 386 -#define SELECT 387 -#define SHL 388 -#define LSHR 389 -#define ASHR 390 -#define VAARG 391 -#define EXTRACTELEMENT 392 -#define INSERTELEMENT 393 -#define SHUFFLEVECTOR 394 +#define INT8 265 +#define INT16 266 +#define INT32 267 +#define INT64 268 +#define FLOAT 269 +#define DOUBLE 270 +#define LABEL 271 +#define TYPE 272 +#define VAR_ID 273 +#define LABELSTR 274 +#define STRINGCONSTANT 275 +#define IMPLEMENTATION 276 +#define ZEROINITIALIZER 277 +#define TRUETOK 278 +#define FALSETOK 279 +#define BEGINTOK 280 +#define ENDTOK 281 +#define DECLARE 282 +#define DEFINE 283 +#define GLOBAL 284 +#define CONSTANT 285 +#define SECTION 286 +#define VOLATILE 287 +#define TO 288 +#define DOTDOTDOT 289 +#define NULL_TOK 290 +#define UNDEF 291 +#define INTERNAL 292 +#define LINKONCE 293 +#define WEAK 294 +#define APPENDING 295 +#define DLLIMPORT 296 +#define DLLEXPORT 297 +#define EXTERN_WEAK 298 +#define OPAQUE 299 +#define NOT 300 +#define EXTERNAL 301 +#define TARGET 302 +#define TRIPLE 303 +#define ENDIAN 304 +#define POINTERSIZE 305 +#define LITTLE 306 +#define BIG 307 +#define ALIGN 308 +#define DEPLIBS 309 +#define CALL 310 +#define TAIL 311 +#define ASM_TOK 312 +#define MODULE 313 +#define SIDEEFFECT 314 +#define CC_TOK 315 +#define CCC_TOK 316 +#define CSRETCC_TOK 317 +#define FASTCC_TOK 318 +#define COLDCC_TOK 319 +#define X86_STDCALLCC_TOK 320 +#define X86_FASTCALLCC_TOK 321 +#define DATALAYOUT 322 +#define RET 323 +#define BR 324 +#define SWITCH 325 +#define INVOKE 326 +#define UNWIND 327 +#define UNREACHABLE 328 +#define ADD 329 +#define SUB 330 +#define MUL 331 +#define UDIV 332 +#define SDIV 333 +#define FDIV 334 +#define UREM 335 +#define SREM 336 +#define FREM 337 +#define AND 338 +#define OR 339 +#define XOR 340 +#define ICMP 341 +#define FCMP 342 +#define EQ 343 +#define NE 344 +#define SLT 345 +#define SGT 346 +#define SLE 347 +#define SGE 348 +#define ULT 349 +#define UGT 350 +#define ULE 351 +#define UGE 352 +#define OEQ 353 +#define ONE 354 +#define OLT 355 +#define OGT 356 +#define OLE 357 +#define OGE 358 +#define ORD 359 +#define UNO 360 +#define UEQ 361 +#define UNE 362 +#define MALLOC 363 +#define ALLOCA 364 +#define FREE 365 +#define LOAD 366 +#define STORE 367 +#define GETELEMENTPTR 368 +#define TRUNC 369 +#define ZEXT 370 +#define SEXT 371 +#define FPTRUNC 372 +#define FPEXT 373 +#define BITCAST 374 +#define UITOFP 375 +#define SITOFP 376 +#define FPTOUI 377 +#define FPTOSI 378 +#define INTTOPTR 379 +#define PTRTOINT 380 +#define PHI_TOK 381 +#define SELECT 382 +#define SHL 383 +#define LSHR 384 +#define ASHR 385 +#define VAARG 386 +#define EXTRACTELEMENT 387 +#define INSERTELEMENT 388 +#define SHUFFLEVECTOR 389 #if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED) -#line 855 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" +#line 843 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" typedef union YYSTYPE { llvm::Module *ModuleVal; llvm::Function *FunctionVal; - std::pair *ArgVal; llvm::BasicBlock *BasicBlockVal; llvm::TerminatorInst *TermInstVal; llvm::Instruction *InstVal; llvm::Constant *ConstVal; const llvm::Type *PrimType; + std::list *TypeList; llvm::PATypeHolder *TypeVal; llvm::Value *ValueVal; - - std::vector > *ArgList; std::vector *ValueList; - std::list *TypeList; + llvm::ArgListType *ArgList; + llvm::TypeWithAttrs TypeWithAttrs; + llvm::TypeWithAttrsList *TypeWithAttrsList; + llvm::ValueRefList *ValueRefList; + // Represent the RHS of PHI node std::list > *PHIList; @@ -335,6 +327,7 @@ std::vector *ConstVector; llvm::GlobalValue::LinkageTypes Linkage; + llvm::FunctionType::ParameterAttributes ParamAttrs; int64_t SInt64Val; uint64_t UInt64Val; int SIntVal; @@ -355,7 +348,7 @@ llvm::FCmpInst::Predicate FPredicate; } YYSTYPE; /* Line 1447 of yacc.c. */ -#line 359 "llvmAsmParser.tab.h" +#line 352 "llvmAsmParser.tab.h" # define yystype YYSTYPE /* obsolescent; will be withdrawn */ # define YYSTYPE_IS_DECLARED 1 # define YYSTYPE_IS_TRIVIAL 1 Index: llvm/lib/AsmParser/llvmAsmParser.y.cvs diff -u llvm/lib/AsmParser/llvmAsmParser.y.cvs:1.40 llvm/lib/AsmParser/llvmAsmParser.y.cvs:1.41 --- llvm/lib/AsmParser/llvmAsmParser.y.cvs:1.40 Fri Dec 29 14:30:42 2006 +++ llvm/lib/AsmParser/llvmAsmParser.y.cvs Sat Dec 30 23:40:51 2006 @@ -19,12 +19,16 @@ #include "llvm/Module.h" #include "llvm/SymbolTable.h" #include "llvm/Support/GetElementPtrTypeIterator.h" +#include "llvm/Support/CommandLine.h" #include "llvm/ADT/STLExtras.h" #include "llvm/Support/MathExtras.h" #include "llvm/Support/Streams.h" #include #include #include +#ifndef NDEBUG +#define YYDEBUG 1 +#endif // The following is a gross hack. In order to rid the libAsmParser library of // exceptions, we have to have a way of getting the yyparse function to go into @@ -47,6 +51,11 @@ namespace llvm { std::string CurFilename; +#if YYDEBUG +static cl::opt +Debug("debug-yacc", cl::desc("Print yacc debug state changes"), + cl::Hidden, cl::init(false)); +#endif } using namespace llvm; @@ -71,6 +80,7 @@ // destroyed when the function is completed. // typedef std::vector ValueList; // Numbered defs + static void ResolveDefinitions(std::map &LateResolvers, std::map *FutureLateResolvers = 0); @@ -804,34 +814,12 @@ return Ty; } -// common code from the two 'RunVMAsmParser' functions -static Module* RunParser(Module * M) { - - llvmAsmlineno = 1; // Reset the current line number... - CurModule.CurrentModule = M; - - // Check to make sure the parser succeeded - if (yyparse()) { - if (ParserResult) - delete ParserResult; - return 0; - } - - // Check to make sure that parsing produced a result - if (!ParserResult) - return 0; - - // Reset ParserResult variable while saving its value for the result. - Module *Result = ParserResult; - ParserResult = 0; - - return Result; -} - //===----------------------------------------------------------------------===// // RunVMAsmParser - Define an interface to this parser //===----------------------------------------------------------------------===// // +static Module* RunParser(Module * M); + Module *llvm::RunVMAsmParser(const std::string &Filename, FILE *F) { set_scan_file(F); @@ -855,19 +843,21 @@ %union { llvm::Module *ModuleVal; llvm::Function *FunctionVal; - std::pair *ArgVal; llvm::BasicBlock *BasicBlockVal; llvm::TerminatorInst *TermInstVal; llvm::Instruction *InstVal; llvm::Constant *ConstVal; const llvm::Type *PrimType; + std::list *TypeList; llvm::PATypeHolder *TypeVal; llvm::Value *ValueVal; - - std::vector > *ArgList; std::vector *ValueList; - std::list *TypeList; + llvm::ArgListType *ArgList; + llvm::TypeWithAttrs TypeWithAttrs; + llvm::TypeWithAttrsList *TypeWithAttrsList; + llvm::ValueRefList *ValueRefList; + // Represent the RHS of PHI node std::list > *PHIList; @@ -875,6 +865,7 @@ std::vector *ConstVector; llvm::GlobalValue::LinkageTypes Linkage; + llvm::FunctionType::ParameterAttributes ParamAttrs; int64_t SInt64Val; uint64_t UInt64Val; int SIntVal; @@ -895,7 +886,7 @@ llvm::FCmpInst::Predicate FPredicate; } -%type Module +%type Module %type Function FunctionProto FunctionHeader BasicBlockList %type BasicBlock InstructionList %type BBTerminatorInst @@ -903,17 +894,19 @@ %type ConstVal ConstExpr %type ConstVector %type ArgList ArgListH -%type ArgVal %type PHIList -%type ValueRefList ValueRefListE // For call param lists -%type IndexList // For GEP derived indices -%type TypeListI ArgTypeListI +%type ValueRefList // For call param lists & GEP indices +%type IndexList // For GEP indices +%type TypeListI +%type ArgTypeList ArgTypeListI +%type ArgType ResultType %type JumpTable %type GlobalType // GLOBAL or CONSTANT? %type OptVolatile // 'volatile' or not %type OptTailCall // TAIL CALL or plain CALL. %type OptSideEffect // 'sideeffect' or not. -%type FunctionLinkage GVInternalLinkage GVExternalLinkage +%type GVInternalLinkage GVExternalLinkage +%type FunctionDefineLinkage FunctionDeclareLinkage %type BigOrLittle // ValueRef - Unresolved reference to a definition or BB @@ -933,9 +926,9 @@ %token FPVAL // Float or Double constant // Built in types... -%type Types TypesV UpRTypes UpRTypesV -%type SIntType UIntType IntType FPType PrimType // Classifications -%token VOID BOOL SBYTE UBYTE SHORT USHORT INT UINT LONG ULONG +%type Types +%type IntType FPType PrimType // Classifications +%token VOID BOOL INT8 INT16 INT32 INT64 %token FLOAT DOUBLE LABEL %token TYPE @@ -946,7 +939,7 @@ %token IMPLEMENTATION ZEROINITIALIZER TRUETOK FALSETOK BEGINTOK ENDTOK %token DECLARE DEFINE GLOBAL CONSTANT SECTION VOLATILE -%token TO DOTDOTDOT NULL_TOK UNDEF CONST INTERNAL LINKONCE WEAK APPENDING +%token TO DOTDOTDOT NULL_TOK UNDEF INTERNAL LINKONCE WEAK APPENDING %token DLLIMPORT DLLEXPORT EXTERN_WEAK %token OPAQUE NOT EXTERNAL TARGET TRIPLE ENDIAN POINTERSIZE LITTLE BIG ALIGN %token DEPLIBS CALL TAIL ASM_TOK MODULE SIDEEFFECT @@ -954,6 +947,7 @@ %token X86_STDCALLCC_TOK X86_FASTCALLCC_TOK %token DATALAYOUT %type OptCallingConv +%type OptParamAttrs ParamAttrList ParamAttr // Basic Block Terminating Operators %token RET BR SWITCH INVOKE UNWIND UNREACHABLE @@ -1024,9 +1018,7 @@ // These are some types that allow classification if we only want a particular // thing... for example, only a signed, unsigned, or integral type. -SIntType : LONG | INT | SHORT | SBYTE; -UIntType : ULONG | UINT | USHORT | UBYTE; -IntType : SIntType | UIntType; +IntType : INT64 | INT32 | INT16 | INT8; FPType : FLOAT | DOUBLE; // OptAssign - Value producing statements have an optional assignment component @@ -1053,18 +1045,18 @@ | EXTERNAL { $$ = GlobalValue::ExternalLinkage; } ; -FnDeclareLinkage - : /*empty*/ { /*default*/ } - | DLLIMPORT { CurFun.Linkage = GlobalValue::DLLImportLinkage; } - | EXTERN_WEAK { CurFun.Linkage = GlobalValue::ExternalWeakLinkage; } +FunctionDeclareLinkage + : /*empty*/ { $$ = GlobalValue::ExternalLinkage; } + | DLLIMPORT { $$ = GlobalValue::DLLImportLinkage; } + | EXTERN_WEAK { $$ = GlobalValue::ExternalWeakLinkage; } ; -FunctionLinkage - : INTERNAL { $$ = GlobalValue::InternalLinkage; } +FunctionDefineLinkage + : /*empty*/ { $$ = GlobalValue::ExternalLinkage; } + | INTERNAL { $$ = GlobalValue::InternalLinkage; } | LINKONCE { $$ = GlobalValue::LinkOnceLinkage; } | WEAK { $$ = GlobalValue::WeakLinkage; } | DLLEXPORT { $$ = GlobalValue::DLLExportLinkage; } - | /*empty*/ { $$ = GlobalValue::ExternalLinkage; } ; OptCallingConv : /*empty*/ { $$ = CallingConv::C; } | @@ -1081,6 +1073,21 @@ CHECK_FOR_ERROR }; +ParamAttr : ZEXT { $$ = FunctionType::ZExtAttribute; } + | SEXT { $$ = FunctionType::SExtAttribute; } + ; + +ParamAttrList : ParamAttr { $$ = $1; } + | ParamAttrList ',' ParamAttr { + $$ = FunctionType::ParameterAttributes($1 | $3); + } + ; + +OptParamAttrs : /* empty */ { $$ = FunctionType::NoAttributeSet; } + | '@' ParamAttr { $$ = $2; } + | '@' '(' ParamAttrList ')' { $$ = $3; } + ; + // OptAlign/OptCAlign - An optional alignment, and an optional alignment with // a comma before it. OptAlign : /*empty*/ { $$ = 0; } | @@ -1129,43 +1136,34 @@ //===----------------------------------------------------------------------===// // Types includes all predefined types... except void, because it can only be -// used in specific contexts (function returning void for example). To have -// access to it, a user must explicitly use TypesV. -// - -// TypesV includes all of 'Types', but it also includes the void type. -TypesV : Types | VOID { $$ = new PATypeHolder($1); }; -UpRTypesV : UpRTypes | VOID { $$ = new PATypeHolder($1); }; - -Types : UpRTypes { - if (!UpRefs.empty()) - GEN_ERROR("Invalid upreference in type: " + (*$1)->getDescription()); - $$ = $1; - CHECK_FOR_ERROR - }; - +// used in specific contexts (function returning void for example). // Derived types are added later... // -PrimType : BOOL | SBYTE | UBYTE | SHORT | USHORT | INT | UINT ; -PrimType : LONG | ULONG | FLOAT | DOUBLE | LABEL ; -UpRTypes : OPAQUE { +PrimType : BOOL | INT8 | INT16 | INT32 | INT64 | FLOAT | DOUBLE | LABEL ; + +Types + : OPAQUE { $$ = new PATypeHolder(OpaqueType::get()); CHECK_FOR_ERROR } | PrimType { $$ = new PATypeHolder($1); CHECK_FOR_ERROR - }; -UpRTypes : SymbolicValueRef { // Named types are also simple types... - const Type* tmp = getTypeVal($1); - CHECK_FOR_ERROR - $$ = new PATypeHolder(tmp); -}; - -// Include derived types in the Types production. -// -UpRTypes : '\\' EUINT64VAL { // Type UpReference + } + | Types '*' { // Pointer type? + if (*$1 == Type::LabelTy) + GEN_ERROR("Cannot form a pointer to a basic block"); + $$ = new PATypeHolder(HandleUpRefs(PointerType::get(*$1))); + delete $1; + CHECK_FOR_ERROR + } + | SymbolicValueRef { // Named types are also simple types... + const Type* tmp = getTypeVal($1); + CHECK_FOR_ERROR + $$ = new PATypeHolder(tmp); + } + | '\\' EUINT64VAL { // Type UpReference if ($2 > (uint64_t)~0U) GEN_ERROR("Value out of range!"); OpaqueType *OT = OpaqueType::get(); // Use temporary placeholder UpRefs.push_back(UpRefRecord((unsigned)$2, OT)); // Add to vector... @@ -1173,25 +1171,48 @@ UR_OUT("New Upreference!\n"); CHECK_FOR_ERROR } - | UpRTypesV '(' ArgTypeListI ')' { // Function derived type? + | Types OptParamAttrs '(' ArgTypeListI ')' { std::vector Params; - for (std::list::iterator I = $3->begin(), - E = $3->end(); I != E; ++I) - Params.push_back(*I); + std::vector Attrs; + Attrs.push_back($2); + for (TypeWithAttrsList::iterator I=$4->begin(), E=$4->end(); I != E; ++I) { + Params.push_back(I->Ty->get()); + if (I->Ty->get() != Type::VoidTy) + Attrs.push_back(I->Attrs); + } + bool isVarArg = Params.size() && Params.back() == Type::VoidTy; + if (isVarArg) Params.pop_back(); + + FunctionType *FT = FunctionType::get(*$1, Params, isVarArg, Attrs); + delete $4; // Delete the argument list + delete $1; // Delete the return type handle + $$ = new PATypeHolder(HandleUpRefs(FT)); + CHECK_FOR_ERROR + } + | VOID OptParamAttrs '(' ArgTypeListI ')' { + std::vector Params; + std::vector Attrs; + Attrs.push_back($2); + for (TypeWithAttrsList::iterator I=$4->begin(), E=$4->end(); I != E; ++I) { + Params.push_back(I->Ty->get()); + if (I->Ty->get() != Type::VoidTy) + Attrs.push_back(I->Attrs); + } bool isVarArg = Params.size() && Params.back() == Type::VoidTy; if (isVarArg) Params.pop_back(); - $$ = new PATypeHolder(HandleUpRefs(FunctionType::get(*$1,Params,isVarArg))); - delete $3; // Delete the argument list - delete $1; // Delete the return type handle + FunctionType *FT = FunctionType::get($1, Params, isVarArg, Attrs); + delete $4; // Delete the argument list + $$ = new PATypeHolder(HandleUpRefs(FT)); CHECK_FOR_ERROR } - | '[' EUINT64VAL 'x' UpRTypes ']' { // Sized array type? + + | '[' EUINT64VAL 'x' Types ']' { // Sized array type? $$ = new PATypeHolder(HandleUpRefs(ArrayType::get(*$4, (unsigned)$2))); delete $4; CHECK_FOR_ERROR } - | '<' EUINT64VAL 'x' UpRTypes '>' { // Packed array type? + | '<' EUINT64VAL 'x' Types '>' { // Packed array type? const llvm::Type* ElemTy = $4->get(); if ((unsigned)$2 != $2) GEN_ERROR("Unsigned result not equal to signed result"); @@ -1231,39 +1252,72 @@ $$ = new PATypeHolder(StructType::get(std::vector(), true)); CHECK_FOR_ERROR } - | UpRTypes '*' { // Pointer type? - if (*$1 == Type::LabelTy) - GEN_ERROR("Cannot form a pointer to a basic block"); - $$ = new PATypeHolder(HandleUpRefs(PointerType::get(*$1))); - delete $1; - CHECK_FOR_ERROR - }; + ; -// TypeList - Used for struct declarations and as a basis for function type -// declaration type lists -// -TypeListI : UpRTypes { - $$ = new std::list(); - $$->push_back(*$1); delete $1; +ArgType + : Types OptParamAttrs { + $$.Ty = $1; + $$.Attrs = $2; + } + ; + +ResultType + : Types OptParamAttrs { + if (!UpRefs.empty()) + GEN_ERROR("Invalid upreference in type: " + (*$1)->getDescription()); + if (!(*$1)->isFirstClassType()) + GEN_ERROR("LLVM functions cannot return aggregate types!"); + $$.Ty = $1; + $$.Attrs = $2; + } + | VOID OptParamAttrs { + $$.Ty = new PATypeHolder(Type::VoidTy); + $$.Attrs = $2; + } + ; + +ArgTypeList : ArgType { + $$ = new TypeWithAttrsList(); + $$->push_back($1); CHECK_FOR_ERROR } - | TypeListI ',' UpRTypes { - ($$=$1)->push_back(*$3); delete $3; + | ArgTypeList ',' ArgType { + ($$=$1)->push_back($3); CHECK_FOR_ERROR - }; + } + ; -// ArgTypeList - List of types for a function type declaration... -ArgTypeListI : TypeListI - | TypeListI ',' DOTDOTDOT { - ($$=$1)->push_back(Type::VoidTy); +ArgTypeListI + : ArgTypeList + | ArgTypeList ',' DOTDOTDOT { + $$=$1; + TypeWithAttrs TWA; TWA.Attrs = FunctionType::NoAttributeSet; + TWA.Ty = new PATypeHolder(Type::VoidTy); + $$->push_back(TWA); CHECK_FOR_ERROR } | DOTDOTDOT { - ($$ = new std::list())->push_back(Type::VoidTy); + $$ = new TypeWithAttrsList; + TypeWithAttrs TWA; TWA.Attrs = FunctionType::NoAttributeSet; + TWA.Ty = new PATypeHolder(Type::VoidTy); + $$->push_back(TWA); CHECK_FOR_ERROR } | /*empty*/ { + $$ = new TypeWithAttrsList(); + CHECK_FOR_ERROR + }; + +// TypeList - Used for struct declarations and as a basis for function type +// declaration type lists +// +TypeListI : Types { $$ = new std::list(); + $$->push_back(*$1); delete $1; + CHECK_FOR_ERROR + } + | TypeListI ',' Types { + ($$=$1)->push_back(*$3); delete $3; CHECK_FOR_ERROR }; @@ -1274,6 +1328,8 @@ // ResolvedVal, ValueRef and ConstValueRef productions. // ConstVal: Types '[' ConstVector ']' { // Nonempty unsized arr + if (!UpRefs.empty()) + GEN_ERROR("Invalid upreference in type: " + (*$1)->getDescription()); const ArrayType *ATy = dyn_cast($1->get()); if (ATy == 0) GEN_ERROR("Cannot make array constant with type: '" + @@ -1300,6 +1356,8 @@ CHECK_FOR_ERROR } | Types '[' ']' { + if (!UpRefs.empty()) + GEN_ERROR("Invalid upreference in type: " + (*$1)->getDescription()); const ArrayType *ATy = dyn_cast($1->get()); if (ATy == 0) GEN_ERROR("Cannot make array constant with type: '" + @@ -1314,6 +1372,8 @@ CHECK_FOR_ERROR } | Types 'c' STRINGCONSTANT { + if (!UpRefs.empty()) + GEN_ERROR("Invalid upreference in type: " + (*$1)->getDescription()); const ArrayType *ATy = dyn_cast($1->get()); if (ATy == 0) GEN_ERROR("Cannot make array constant with type: '" + @@ -1327,13 +1387,10 @@ itostr((int)(EndStr-$3)) + " when array has size " + itostr(NumElements) + "!"); std::vector Vals; - if (ETy == Type::SByteTy) { - for (signed char *C = (signed char *)$3; C != (signed char *)EndStr; ++C) - Vals.push_back(ConstantInt::get(ETy, *C)); - } else if (ETy == Type::UByteTy) { + if (ETy == Type::Int8Ty) { for (unsigned char *C = (unsigned char *)$3; - C != (unsigned char*)EndStr; ++C) - Vals.push_back(ConstantInt::get(ETy, *C)); + C != (unsigned char*)EndStr; ++C) + Vals.push_back(ConstantInt::get(ETy, *C)); } else { free($3); GEN_ERROR("Cannot build string arrays of non byte sized elements!"); @@ -1344,6 +1401,8 @@ CHECK_FOR_ERROR } | Types '<' ConstVector '>' { // Nonempty unsized arr + if (!UpRefs.empty()) + GEN_ERROR("Invalid upreference in type: " + (*$1)->getDescription()); const PackedType *PTy = dyn_cast($1->get()); if (PTy == 0) GEN_ERROR("Cannot make packed constant with type: '" + @@ -1391,6 +1450,8 @@ CHECK_FOR_ERROR } | Types '{' '}' { + if (!UpRefs.empty()) + GEN_ERROR("Invalid upreference in type: " + (*$1)->getDescription()); const StructType *STy = dyn_cast($1->get()); if (STy == 0) GEN_ERROR("Cannot make struct constant with type: '" + @@ -1404,6 +1465,8 @@ CHECK_FOR_ERROR } | Types NULL_TOK { + if (!UpRefs.empty()) + GEN_ERROR("Invalid upreference in type: " + (*$1)->getDescription()); const PointerType *PTy = dyn_cast($1->get()); if (PTy == 0) GEN_ERROR("Cannot make null pointer constant with type: '" + @@ -1414,11 +1477,15 @@ CHECK_FOR_ERROR } | Types UNDEF { + if (!UpRefs.empty()) + GEN_ERROR("Invalid upreference in type: " + (*$1)->getDescription()); $$ = UndefValue::get($1->get()); delete $1; CHECK_FOR_ERROR } | Types SymbolicValueRef { + if (!UpRefs.empty()) + GEN_ERROR("Invalid upreference in type: " + (*$1)->getDescription()); const PointerType *Ty = dyn_cast($1->get()); if (Ty == 0) GEN_ERROR("Global const reference must be a pointer type!"); @@ -1480,6 +1547,8 @@ CHECK_FOR_ERROR } | Types ConstExpr { + if (!UpRefs.empty()) + GEN_ERROR("Invalid upreference in type: " + (*$1)->getDescription()); if ($1->get() != $2->getType()) GEN_ERROR("Mismatched types for constant expression!"); $$ = $2; @@ -1487,6 +1556,8 @@ CHECK_FOR_ERROR } | Types ZEROINITIALIZER { + if (!UpRefs.empty()) + GEN_ERROR("Invalid upreference in type: " + (*$1)->getDescription()); const Type *Ty = $1->get(); if (isa(Ty) || Ty == Type::LabelTy || isa(Ty)) GEN_ERROR("Cannot create a null initialized value of this type!"); @@ -1494,25 +1565,13 @@ delete $1; CHECK_FOR_ERROR } - | SIntType ESINT64VAL { // integral constants - if (!ConstantInt::isValueValidForType($1, $2)) - GEN_ERROR("Constant value doesn't fit in type!"); - $$ = ConstantInt::get($1, $2); - CHECK_FOR_ERROR - } - | SIntType EUINT64VAL { // integral constants - if (!ConstantInt::isValueValidForType($1, $2)) - GEN_ERROR("Constant value doesn't fit in type!"); - $$ = ConstantInt::get($1, $2); - CHECK_FOR_ERROR - } - | UIntType EUINT64VAL { // integral constants + | IntType ESINT64VAL { // integral constants if (!ConstantInt::isValueValidForType($1, $2)) GEN_ERROR("Constant value doesn't fit in type!"); $$ = ConstantInt::get($1, $2); CHECK_FOR_ERROR } - | UIntType ESINT64VAL { + | IntType EUINT64VAL { // integral constants if (!ConstantInt::isValueValidForType($1, $2)) GEN_ERROR("Constant value doesn't fit in type!"); $$ = ConstantInt::get($1, $2); @@ -1535,6 +1594,8 @@ ConstExpr: CastOps '(' ConstVal TO Types ')' { + if (!UpRefs.empty()) + GEN_ERROR("Invalid upreference in type: " + (*$5)->getDescription()); Constant *Val = $3; const Type *Ty = $5->get(); if (!Val->getType()->isFirstClassType()) @@ -1603,8 +1664,8 @@ $$ = ConstantExpr::getFCmp($2, $4, $6); } | ShiftOps '(' ConstVal ',' ConstVal ')' { - if ($5->getType() != Type::UByteTy) - GEN_ERROR("Shift count for shift constant must be unsigned byte!"); + if ($5->getType() != Type::Int8Ty) + GEN_ERROR("Shift count for shift constant must be i8 type!"); if (!$3->getType()->isInteger()) GEN_ERROR("Shift constant expression requires integer operand!"); CHECK_FOR_ERROR; @@ -1695,7 +1756,9 @@ } CHECK_FOR_ERROR } - | OptAssign TYPE TypesV { + | OptAssign TYPE Types { + if (!UpRefs.empty()) + GEN_ERROR("Invalid upreference in type: " + (*$3)->getDescription()); // Eagerly resolve types. This is not an optimization, this is a // requirement that is due to the fact that we could have this: // @@ -1717,6 +1780,17 @@ delete $3; CHECK_FOR_ERROR } + | OptAssign TYPE VOID { + ResolveTypeTo($1, $3); + + if (!setTypeName($3, $1) && !$1) { + CHECK_FOR_ERROR + // If this is a named type that is not a redefinition, add it to the slot + // table. + CurModule.Types.push_back($3); + } + CHECK_FOR_ERROR + } | OptAssign GlobalType ConstVal { /* "Externally Visible" Linkage */ if ($3 == 0) GEN_ERROR("Global value initializer is not a constant!"); @@ -1735,6 +1809,8 @@ CurGV = 0; } | OptAssign GVExternalLinkage GlobalType Types { + if (!UpRefs.empty()) + GEN_ERROR("Invalid upreference in type: " + (*$4)->getDescription()); CurGV = ParseGlobalVariable($1, $2, $3, *$4, 0); CHECK_FOR_ERROR delete $4; @@ -1813,23 +1889,24 @@ Name : VAR_ID | STRINGCONSTANT; OptName : Name | /*empty*/ { $$ = 0; }; -ArgVal : Types OptName { - if (*$1 == Type::VoidTy) - GEN_ERROR("void typed arguments are invalid!"); - $$ = new std::pair($1, $2); - CHECK_FOR_ERROR -}; - -ArgListH : ArgListH ',' ArgVal { +ArgListH : ArgListH ',' Types OptParamAttrs OptName { + if (!UpRefs.empty()) + GEN_ERROR("Invalid upreference in type: " + (*$3)->getDescription()); + if (*$3 == Type::VoidTy) + GEN_ERROR("void typed arguments are invalid!"); + ArgListEntry E; E.Attrs = $4; E.Ty = $3; E.Name = $5; $$ = $1; - $1->push_back(*$3); - delete $3; + $1->push_back(E); CHECK_FOR_ERROR } - | ArgVal { - $$ = new std::vector >(); - $$->push_back(*$1); - delete $1; + | Types OptParamAttrs OptName { + if (!UpRefs.empty()) + GEN_ERROR("Invalid upreference in type: " + (*$1)->getDescription()); + if (*$1 == Type::VoidTy) + GEN_ERROR("void typed arguments are invalid!"); + ArgListEntry E; E.Attrs = $2; E.Ty = $1; E.Name = $3; + $$ = new ArgListType; + $$->push_back(E); CHECK_FOR_ERROR }; @@ -1839,13 +1916,20 @@ } | ArgListH ',' DOTDOTDOT { $$ = $1; - $$->push_back(std::pair(new PATypeHolder(Type::VoidTy), 0)); + struct ArgListEntry E; + E.Ty = new PATypeHolder(Type::VoidTy); + E.Name = 0; + E.Attrs = FunctionType::NoAttributeSet; + $$->push_back(E); CHECK_FOR_ERROR } | DOTDOTDOT { - $$ = new std::vector >(); - $$->push_back(std::make_pair(new PATypeHolder(Type::VoidTy), (char*)0)); + $$ = new ArgListType; + struct ArgListEntry E; + E.Ty = new PATypeHolder(Type::VoidTy); + E.Name = 0; + E.Attrs = FunctionType::NoAttributeSet; + $$->push_back(E); CHECK_FOR_ERROR } | /* empty */ { @@ -1853,28 +1937,31 @@ CHECK_FOR_ERROR }; -FunctionHeaderH : OptCallingConv TypesV Name '(' ArgList ')' +FunctionHeaderH : OptCallingConv ResultType Name '(' ArgList ')' OptSection OptAlign { UnEscapeLexed($3); std::string FunctionName($3); free($3); // Free strdup'd memory! - if (!(*$2)->isFirstClassType() && *$2 != Type::VoidTy) - GEN_ERROR("LLVM functions cannot return aggregate types!"); - std::vector ParamTypeList; + std::vector ParamAttrs; + ParamAttrs.push_back($2.Attrs); if ($5) { // If there are arguments... - for (std::vector >::iterator I = $5->begin(); - I != $5->end(); ++I) - ParamTypeList.push_back(I->first->get()); + for (ArgListType::iterator I = $5->begin(); I != $5->end(); ++I) { + const Type* Ty = I->Ty->get(); + ParamTypeList.push_back(Ty); + if (Ty != Type::VoidTy) + ParamAttrs.push_back(I->Attrs); + } } bool isVarArg = ParamTypeList.size() && ParamTypeList.back() == Type::VoidTy; if (isVarArg) ParamTypeList.pop_back(); - const FunctionType *FT = FunctionType::get(*$2, ParamTypeList, isVarArg); + FunctionType *FT = FunctionType::get(*$2.Ty, ParamTypeList, isVarArg, + ParamAttrs); const PointerType *PFT = PointerType::get(FT); - delete $2; + delete $2.Ty; ValID ID; if (!FunctionName.empty()) { @@ -1928,19 +2015,19 @@ // Add all of the arguments we parsed to the function... if ($5) { // Is null if empty... if (isVarArg) { // Nuke the last entry - assert($5->back().first->get() == Type::VoidTy && $5->back().second == 0&& + assert($5->back().Ty->get() == Type::VoidTy && $5->back().Name == 0&& "Not a varargs marker!"); - delete $5->back().first; + delete $5->back().Ty; $5->pop_back(); // Delete the last entry } Function::arg_iterator ArgIt = Fn->arg_begin(); - for (std::vector >::iterator I = $5->begin(); - I != $5->end(); ++I, ++ArgIt) { - delete I->first; // Delete the typeholder... - - setValueName(ArgIt, I->second); // Insert arg into symtab... + unsigned Idx = 1; + for (ArgListType::iterator I = $5->begin(); I != $5->end(); ++I, ++ArgIt) { + delete I->Ty; // Delete the typeholder... + setValueName(ArgIt, I->Name); // Insert arg into symtab... CHECK_FOR_ERROR InsertValue(ArgIt); + Idx++; } delete $5; // We're now done with the argument list @@ -1950,7 +2037,7 @@ BEGIN : BEGINTOK | '{'; // Allow BEGIN or '{' to start a function -FunctionHeader : FunctionLinkage FunctionHeaderH BEGIN { +FunctionHeader : FunctionDefineLinkage FunctionHeaderH BEGIN { $$ = CurFun.CurrentFunction; // Make sure that we keep track of the linkage type even if there was a @@ -1965,7 +2052,8 @@ CHECK_FOR_ERROR }; -FunctionProto : FnDeclareLinkage FunctionHeaderH { +FunctionProto : FunctionDeclareLinkage FunctionHeaderH { + CurFun.CurrentFunction->setLinkage($1); $$ = CurFun.CurrentFunction; CurFun.FunctionDone(); CHECK_FOR_ERROR @@ -2076,9 +2164,13 @@ // type immediately preceeds the value reference, and allows complex constant // pool references (for things like: 'ret [2 x int] [ int 12, int 42]') ResolvedVal : Types ValueRef { - $$ = getVal(*$1, $2); delete $1; + if (!UpRefs.empty()) + GEN_ERROR("Invalid upreference in type: " + (*$1)->getDescription()); + $$ = getVal(*$1, $2); + delete $1; CHECK_FOR_ERROR - }; + } + ; BasicBlockList : BasicBlockList BasicBlock { $$ = $1; @@ -2188,25 +2280,27 @@ $$ = S; CHECK_FOR_ERROR } - | INVOKE OptCallingConv TypesV ValueRef '(' ValueRefListE ')' + | INVOKE OptCallingConv ResultType ValueRef '(' ValueRefList ')' TO LABEL ValueRef UNWIND LABEL ValueRef { - const PointerType *PFTy; - const FunctionType *Ty; - if (!(PFTy = dyn_cast($3->get())) || + // Handle the short syntax + const PointerType *PFTy = 0; + const FunctionType *Ty = 0; + if (!(PFTy = dyn_cast($3.Ty->get())) || !(Ty = dyn_cast(PFTy->getElementType()))) { // Pull out the types of all of the arguments... std::vector ParamTypes; - if ($6) { - for (std::vector::iterator I = $6->begin(), E = $6->end(); - I != E; ++I) - ParamTypes.push_back((*I)->getType()); + FunctionType::ParamAttrsList ParamAttrs; + ParamAttrs.push_back($3.Attrs); + for (ValueRefList::iterator I = $6->begin(), E = $6->end(); I != E; ++I) { + const Type *Ty = I->Val->getType(); + if (Ty == Type::VoidTy) + GEN_ERROR("Short call syntax cannot be used with varargs"); + ParamTypes.push_back(Ty); + ParamAttrs.push_back(I->Attrs); } - bool isVarArg = ParamTypes.size() && ParamTypes.back() == Type::VoidTy; - if (isVarArg) ParamTypes.pop_back(); - - Ty = FunctionType::get($3->get(), ParamTypes, isVarArg); + Ty = FunctionType::get($3.Ty->get(), ParamTypes, false, ParamAttrs); PFTy = PointerType::get(Ty); } @@ -2217,30 +2311,39 @@ BasicBlock *Except = getBBVal($13); CHECK_FOR_ERROR - // Create the call node... - if (!$6) { // Has no arguments? - $$ = new InvokeInst(V, Normal, Except, std::vector()); + // Check the arguments + ValueList Args; + if ($6->empty()) { // Has no arguments? + // Make sure no arguments is a good thing! + if (Ty->getNumParams() != 0) + GEN_ERROR("No arguments passed to a function that " + "expects arguments!"); } else { // Has arguments? // Loop through FunctionType's arguments and ensure they are specified // correctly! - // FunctionType::param_iterator I = Ty->param_begin(); FunctionType::param_iterator E = Ty->param_end(); - std::vector::iterator ArgI = $6->begin(), ArgE = $6->end(); + ValueRefList::iterator ArgI = $6->begin(), ArgE = $6->end(); - for (; ArgI != ArgE && I != E; ++ArgI, ++I) - if ((*ArgI)->getType() != *I) - GEN_ERROR("Parameter " +(*ArgI)->getName()+ " is not of type '" + + for (; ArgI != ArgE && I != E; ++ArgI, ++I) { + if (ArgI->Val->getType() != *I) + GEN_ERROR("Parameter " + ArgI->Val->getName()+ " is not of type '" + (*I)->getDescription() + "'!"); + Args.push_back(ArgI->Val); + } - if (I != E || (ArgI != ArgE && !Ty->isVarArg())) + if (Ty->isVarArg()) { + if (I == E) + for (; ArgI != ArgE; ++ArgI) + Args.push_back(ArgI->Val); // push the remaining varargs + } else if (I != E || ArgI != ArgE) GEN_ERROR("Invalid number of parameters detected!"); - - $$ = new InvokeInst(V, Normal, Except, *$6); } - cast($$)->setCallingConv($2); - - delete $3; + + // Create the InvokeInst + InvokeInst *II = new InvokeInst(V, Normal, Except, Args); + II->setCallingConv($2); + $$ = II; delete $6; CHECK_FOR_ERROR } @@ -2289,6 +2392,8 @@ }; PHIList : Types '[' ValueRef ',' ValueRef ']' { // Used for PHI nodes + if (!UpRefs.empty()) + GEN_ERROR("Invalid upreference in type: " + (*$1)->getDescription()); $$ = new std::list >(); Value* tmpVal = getVal(*$1, $3); CHECK_FOR_ERROR @@ -2307,18 +2412,31 @@ }; -ValueRefList : ResolvedVal { // Used for call statements, and memory insts... - $$ = new std::vector(); - $$->push_back($1); +ValueRefList : Types ValueRef OptParamAttrs { + if (!UpRefs.empty()) + GEN_ERROR("Invalid upreference in type: " + (*$1)->getDescription()); + // Used for call and invoke instructions + $$ = new ValueRefList(); + ValueRefListEntry E; E.Attrs = $3; E.Val = getVal($1->get(), $2); + $$->push_back(E); } - | ValueRefList ',' ResolvedVal { + | ValueRefList ',' Types ValueRef OptParamAttrs { + if (!UpRefs.empty()) + GEN_ERROR("Invalid upreference in type: " + (*$3)->getDescription()); $$ = $1; - $1->push_back($3); + ValueRefListEntry E; E.Attrs = $5; E.Val = getVal($3->get(), $4); + $$->push_back(E); CHECK_FOR_ERROR - }; + } + | /*empty*/ { $$ = new ValueRefList(); }; -// ValueRefListE - Just like ValueRefList, except that it may also be empty! -ValueRefListE : ValueRefList | /*empty*/ { $$ = 0; }; +IndexList // Used for gep instructions and constant expressions + : /*empty*/ { $$ = new std::vector(); }; + | IndexList ',' ResolvedVal { + $$ = $1; + $$->push_back($3); + CHECK_FOR_ERROR + } OptTailCall : TAIL CALL { $$ = true; @@ -2330,6 +2448,8 @@ }; InstVal : ArithmeticOps Types ValueRef ',' ValueRef { + if (!UpRefs.empty()) + GEN_ERROR("Invalid upreference in type: " + (*$2)->getDescription()); if (!(*$2)->isInteger() && !(*$2)->isFloatingPoint() && !isa((*$2).get())) GEN_ERROR( @@ -2349,6 +2469,8 @@ delete $2; } | LogicalOps Types ValueRef ',' ValueRef { + if (!UpRefs.empty()) + GEN_ERROR("Invalid upreference in type: " + (*$2)->getDescription()); if (!(*$2)->isIntegral()) { if (!isa($2->get()) || !cast($2->get())->getElementType()->isIntegral()) @@ -2364,6 +2486,8 @@ delete $2; } | ICMP IPredicates Types ValueRef ',' ValueRef { + if (!UpRefs.empty()) + GEN_ERROR("Invalid upreference in type: " + (*$3)->getDescription()); if (isa((*$3).get())) GEN_ERROR("Packed types not supported by icmp instruction"); Value* tmpVal1 = getVal(*$3, $4); @@ -2375,6 +2499,8 @@ GEN_ERROR("icmp operator returned null!"); } | FCMP FPredicates Types ValueRef ',' ValueRef { + if (!UpRefs.empty()) + GEN_ERROR("Invalid upreference in type: " + (*$3)->getDescription()); if (isa((*$3).get())) GEN_ERROR("Packed types not supported by fcmp instruction"); Value* tmpVal1 = getVal(*$3, $4); @@ -2399,8 +2525,8 @@ CHECK_FOR_ERROR } | ShiftOps ResolvedVal ',' ResolvedVal { - if ($4->getType() != Type::UByteTy) - GEN_ERROR("Shift amount must be ubyte!"); + if ($4->getType() != Type::Int8Ty) + GEN_ERROR("Shift amount must be i8 type!"); if (!$2->getType()->isInteger()) GEN_ERROR("Shift constant expression requires integer operand!"); CHECK_FOR_ERROR; @@ -2408,6 +2534,8 @@ CHECK_FOR_ERROR } | CastOps ResolvedVal TO Types { + if (!UpRefs.empty()) + GEN_ERROR("Invalid upreference in type: " + (*$4)->getDescription()); Value* Val = $2; const Type* Ty = $4->get(); if (!Val->getType()->isFirstClassType()) @@ -2415,7 +2543,7 @@ Val->getType()->getDescription() + "'!"); if (!Ty->isFirstClassType()) GEN_ERROR("cast to a non-primitive type: '" + Ty->getDescription() +"'!"); - $$ = CastInst::create($1, $2, $4->get()); + $$ = CastInst::create($1, Val, $4->get()); delete $4; } | SELECT ResolvedVal ',' ResolvedVal ',' ResolvedVal { @@ -2427,6 +2555,8 @@ CHECK_FOR_ERROR } | VAARG ResolvedVal ',' Types { + if (!UpRefs.empty()) + GEN_ERROR("Invalid upreference in type: " + (*$4)->getDescription()); $$ = new VAArgInst($2, *$4); delete $4; CHECK_FOR_ERROR @@ -2464,62 +2594,65 @@ delete $2; // Free the list... CHECK_FOR_ERROR } - | OptTailCall OptCallingConv TypesV ValueRef '(' ValueRefListE ')' { + | OptTailCall OptCallingConv ResultType ValueRef '(' ValueRefList ')' { + + // Handle the short syntax const PointerType *PFTy = 0; const FunctionType *Ty = 0; - - if (!(PFTy = dyn_cast($3->get())) || + if (!(PFTy = dyn_cast($3.Ty->get())) || !(Ty = dyn_cast(PFTy->getElementType()))) { // Pull out the types of all of the arguments... std::vector ParamTypes; - if ($6) { - for (std::vector::iterator I = $6->begin(), E = $6->end(); - I != E; ++I) - ParamTypes.push_back((*I)->getType()); + FunctionType::ParamAttrsList ParamAttrs; + ParamAttrs.push_back($3.Attrs); + for (ValueRefList::iterator I = $6->begin(), E = $6->end(); I != E; ++I) { + const Type *Ty = I->Val->getType(); + if (Ty == Type::VoidTy) + GEN_ERROR("Short call syntax cannot be used with varargs"); + ParamTypes.push_back(Ty); + ParamAttrs.push_back(I->Attrs); } - bool isVarArg = ParamTypes.size() && ParamTypes.back() == Type::VoidTy; - if (isVarArg) ParamTypes.pop_back(); - - if (!(*$3)->isFirstClassType() && *$3 != Type::VoidTy) - GEN_ERROR("LLVM functions cannot return aggregate types!"); - - Ty = FunctionType::get($3->get(), ParamTypes, isVarArg); + Ty = FunctionType::get($3.Ty->get(), ParamTypes, false, ParamAttrs); PFTy = PointerType::get(Ty); } Value *V = getVal(PFTy, $4); // Get the function we're calling... CHECK_FOR_ERROR - // Create the call node... - if (!$6) { // Has no arguments? + // Check the arguments + ValueList Args; + if ($6->empty()) { // Has no arguments? // Make sure no arguments is a good thing! if (Ty->getNumParams() != 0) GEN_ERROR("No arguments passed to a function that " "expects arguments!"); - - $$ = new CallInst(V, std::vector()); } else { // Has arguments? // Loop through FunctionType's arguments and ensure they are specified // correctly! // FunctionType::param_iterator I = Ty->param_begin(); FunctionType::param_iterator E = Ty->param_end(); - std::vector::iterator ArgI = $6->begin(), ArgE = $6->end(); + ValueRefList::iterator ArgI = $6->begin(), ArgE = $6->end(); - for (; ArgI != ArgE && I != E; ++ArgI, ++I) - if ((*ArgI)->getType() != *I) - GEN_ERROR("Parameter " +(*ArgI)->getName()+ " is not of type '" + + for (; ArgI != ArgE && I != E; ++ArgI, ++I) { + if (ArgI->Val->getType() != *I) + GEN_ERROR("Parameter " + ArgI->Val->getName()+ " is not of type '" + (*I)->getDescription() + "'!"); - - if (I != E || (ArgI != ArgE && !Ty->isVarArg())) + Args.push_back(ArgI->Val); + } + if (Ty->isVarArg()) { + if (I == E) + for (; ArgI != ArgE; ++ArgI) + Args.push_back(ArgI->Val); // push the remaining varargs + } else if (I != E || ArgI != ArgE) GEN_ERROR("Invalid number of parameters detected!"); - - $$ = new CallInst(V, *$6); } - cast($$)->setTailCall($1); - cast($$)->setCallingConv($2); - delete $3; + // Create the call node + CallInst *CI = new CallInst(V, Args); + CI->setTailCall($1); + CI->setCallingConv($2); + $$ = CI; delete $6; CHECK_FOR_ERROR } @@ -2528,16 +2661,6 @@ CHECK_FOR_ERROR }; - -// IndexList - List of indices for GEP based instructions... -IndexList : ',' ValueRefList { - $$ = $2; - CHECK_FOR_ERROR - } | /* empty */ { - $$ = new std::vector(); - CHECK_FOR_ERROR - }; - OptVolatile : VOLATILE { $$ = true; CHECK_FOR_ERROR @@ -2550,22 +2673,30 @@ MemoryInst : MALLOC Types OptCAlign { + if (!UpRefs.empty()) + GEN_ERROR("Invalid upreference in type: " + (*$2)->getDescription()); $$ = new MallocInst(*$2, 0, $3); delete $2; CHECK_FOR_ERROR } - | MALLOC Types ',' UINT ValueRef OptCAlign { + | MALLOC Types ',' INT32 ValueRef OptCAlign { + if (!UpRefs.empty()) + GEN_ERROR("Invalid upreference in type: " + (*$2)->getDescription()); Value* tmpVal = getVal($4, $5); CHECK_FOR_ERROR $$ = new MallocInst(*$2, tmpVal, $6); delete $2; } | ALLOCA Types OptCAlign { + if (!UpRefs.empty()) + GEN_ERROR("Invalid upreference in type: " + (*$2)->getDescription()); $$ = new AllocaInst(*$2, 0, $3); delete $2; CHECK_FOR_ERROR } - | ALLOCA Types ',' UINT ValueRef OptCAlign { + | ALLOCA Types ',' INT32 ValueRef OptCAlign { + if (!UpRefs.empty()) + GEN_ERROR("Invalid upreference in type: " + (*$2)->getDescription()); Value* tmpVal = getVal($4, $5); CHECK_FOR_ERROR $$ = new AllocaInst(*$2, tmpVal, $6); @@ -2580,6 +2711,8 @@ } | OptVolatile LOAD Types ValueRef { + if (!UpRefs.empty()) + GEN_ERROR("Invalid upreference in type: " + (*$3)->getDescription()); if (!isa($3->get())) GEN_ERROR("Can't load from nonpointer type: " + (*$3)->getDescription()); @@ -2592,6 +2725,8 @@ delete $3; } | OptVolatile STORE ResolvedVal ',' Types ValueRef { + if (!UpRefs.empty()) + GEN_ERROR("Invalid upreference in type: " + (*$5)->getDescription()); const PointerType *PT = dyn_cast($5->get()); if (!PT) GEN_ERROR("Can't store to a nonpointer type: " + @@ -2607,6 +2742,8 @@ delete $5; } | GETELEMENTPTR Types ValueRef IndexList { + if (!UpRefs.empty()) + GEN_ERROR("Invalid upreference in type: " + (*$2)->getDescription()); if (!isa($2->get())) GEN_ERROR("getelementptr insn requires pointer operand!"); @@ -2623,6 +2760,33 @@ %% +// common code from the two 'RunVMAsmParser' functions +static Module* RunParser(Module * M) { + + llvmAsmlineno = 1; // Reset the current line number... + CurModule.CurrentModule = M; +#if YYDEBUG + yydebug = Debug; +#endif + + // Check to make sure the parser succeeded + if (yyparse()) { + if (ParserResult) + delete ParserResult; + return 0; + } + + // Check to make sure that parsing produced a result + if (!ParserResult) + return 0; + + // Reset ParserResult variable while saving its value for the result. + Module *Result = ParserResult; + ParserResult = 0; + + return Result; +} + void llvm::GenerateError(const std::string &message, int LineNo) { if (LineNo == -1) LineNo = llvmAsmlineno; // TODO: column number in exception From reid at x10sys.com Sat Dec 30 23:44:43 2006 From: reid at x10sys.com (Reid Spencer) Date: Sat, 30 Dec 2006 23:44:43 -0600 Subject: [llvm-commits] CVS: llvm/lib/Bytecode/Reader/Reader.cpp Message-ID: <200612310544.kBV5ih9d011747@zion.cs.uiuc.edu> Changes in directory llvm/lib/Bytecode/Reader: Reader.cpp updated: 1.214 -> 1.215 --- Log message: For PR950: http://llvm.org/PR950 : Update for signless integer types and parameter attribute implementation. Of significant note: 1. This changes the bytecode format yet again. 2. There are 1/2 as many integer type planes (this is a good thing) 3. GEP indices now use only 1 bit to identify their type which means more GEP instructions won't be relegated to format 0 (size win) 4. Parameter attributes are implemented but currently being stored verbosely for each function type. Some other day this needs to be optimized for size. --- Diffs of the changes: (+29 -34) Reader.cpp | 63 ++++++++++++++++++++++++++++--------------------------------- 1 files changed, 29 insertions(+), 34 deletions(-) Index: llvm/lib/Bytecode/Reader/Reader.cpp diff -u llvm/lib/Bytecode/Reader/Reader.cpp:1.214 llvm/lib/Bytecode/Reader/Reader.cpp:1.215 --- llvm/lib/Bytecode/Reader/Reader.cpp:1.214 Fri Dec 15 13:49:23 2006 +++ llvm/lib/Bytecode/Reader/Reader.cpp Sat Dec 30 23:44:24 2006 @@ -44,7 +44,7 @@ Use Op; ConstantPlaceHolder(const Type *Ty) : ConstantExpr(Ty, Instruction::UserOp1, &Op, 1), - Op(UndefValue::get(Type::IntTy), this) { + Op(UndefValue::get(Type::Int32Ty), this) { } }; } @@ -572,7 +572,7 @@ if (Oprnds.size() != 2) error("Invalid extractelement instruction!"); Value *V1 = getValue(iType, Oprnds[0]); - Value *V2 = getValue(Type::UIntTyID, Oprnds[1]); + Value *V2 = getValue(Type::Int32TyID, Oprnds[1]); if (!ExtractElementInst::isValidOperands(V1, V2)) error("Invalid extractelement instruction!"); @@ -587,7 +587,7 @@ Value *V1 = getValue(iType, Oprnds[0]); Value *V2 = getValue(getTypeSlot(PackedTy->getElementType()),Oprnds[1]); - Value *V3 = getValue(Type::UIntTyID, Oprnds[2]); + Value *V3 = getValue(Type::Int32TyID, Oprnds[2]); if (!InsertElementInst::isValidOperands(V1, V2, V3)) error("Invalid insertelement instruction!"); @@ -601,7 +601,7 @@ Value *V1 = getValue(iType, Oprnds[0]); Value *V2 = getValue(iType, Oprnds[1]); const PackedType *EltTy = - PackedType::get(Type::UIntTy, PackedTy->getNumElements()); + PackedType::get(Type::Int32Ty, PackedTy->getNumElements()); Value *V3 = getValue(getTypeSlot(EltTy), Oprnds[2]); if (!ShuffleVectorInst::isValidOperands(V1, V2, V3)) error("Invalid shufflevector instruction!"); @@ -713,7 +713,7 @@ case Instruction::AShr: Result = new ShiftInst(Instruction::OtherOps(Opcode), getValue(iType, Oprnds[0]), - getValue(Type::UByteTyID, Oprnds[1])); + getValue(Type::Int8TyID, Oprnds[1])); break; case Instruction::Ret: if (Oprnds.size() == 0) @@ -876,7 +876,7 @@ error("Invalid malloc instruction!"); Result = new MallocInst(cast(InstTy)->getElementType(), - getValue(Type::UIntTyID, Oprnds[0]), Align); + getValue(Type::Int32TyID, Oprnds[0]), Align); break; } case Instruction::Alloca: { @@ -889,7 +889,7 @@ error("Invalid alloca instruction!"); Result = new AllocaInst(cast(InstTy)->getElementType(), - getValue(Type::UIntTyID, Oprnds[0]), Align); + getValue(Type::Int32TyID, Oprnds[0]), Align); break; } case Instruction::Free: @@ -913,18 +913,16 @@ unsigned IdxTy = 0; // Struct indices are always uints, sequential type indices can be // any of the 32 or 64-bit integer types. The actual choice of - // type is encoded in the low two bits of the slot number. + // type is encoded in the low bit of the slot number. if (isa(TopTy)) - IdxTy = Type::UIntTyID; + IdxTy = Type::Int32TyID; else { - switch (ValIdx & 3) { + switch (ValIdx & 1) { default: - case 0: IdxTy = Type::UIntTyID; break; - case 1: IdxTy = Type::IntTyID; break; - case 2: IdxTy = Type::ULongTyID; break; - case 3: IdxTy = Type::LongTyID; break; + case 0: IdxTy = Type::Int32TyID; break; + case 1: IdxTy = Type::Int64TyID; break; } - ValIdx >>= 2; + ValIdx >>= 1; } Idx.push_back(getValue(IdxTy, ValIdx)); NextTy = GetElementPtrInst::getIndexedType(InstTy, Idx, true); @@ -1159,17 +1157,23 @@ switch (PrimType) { case Type::FunctionTyID: { const Type *RetType = readType(); + unsigned RetAttr = read_vbr_uint(); unsigned NumParams = read_vbr_uint(); std::vector Params; - while (NumParams--) + std::vector Attrs; + Attrs.push_back(FunctionType::ParameterAttributes(RetAttr)); + while (NumParams--) { Params.push_back(readType()); + if (Params.back() != Type::VoidTy) + Attrs.push_back(FunctionType::ParameterAttributes(read_vbr_uint())); + } bool isVarArg = Params.size() && Params.back() == Type::VoidTy; if (isVarArg) Params.pop_back(); - Result = FunctionType::get(RetType, Params, isVarArg); + Result = FunctionType::get(RetType, Params, isVarArg, Attrs); break; } case Type::ArrayTyID: { @@ -1399,9 +1403,9 @@ break; } - case Type::UByteTyID: // Unsigned integer types... - case Type::UShortTyID: - case Type::UIntTyID: { + case Type::Int8TyID: // Unsigned integer types... + case Type::Int16TyID: + case Type::Int32TyID: { unsigned Val = read_vbr_uint(); if (!ConstantInt::isValueValidForType(Ty, uint64_t(Val))) error("Invalid unsigned byte/short/int read."); @@ -1410,23 +1414,14 @@ break; } - case Type::ULongTyID: - Result = ConstantInt::get(Ty, read_vbr_uint64()); - if (Handler) Handler->handleConstantValue(Result); - break; - - case Type::SByteTyID: // Signed integer types... - case Type::ShortTyID: - case Type::IntTyID: - case Type::LongTyID: { - int64_t Val = read_vbr_int64(); + case Type::Int64TyID: { + uint64_t Val = read_vbr_uint64(); if (!ConstantInt::isValueValidForType(Ty, Val)) - error("Invalid signed byte/short/int/long read."); + error("Invalid constant integer read."); Result = ConstantInt::get(Ty, Val); if (Handler) Handler->handleConstantValue(Result); break; } - case Type::FloatTyID: { float Val; read_float(Val); @@ -1542,8 +1537,8 @@ error("String constant data invalid!"); const ArrayType *ATy = cast(Ty); - if (ATy->getElementType() != Type::SByteTy && - ATy->getElementType() != Type::UByteTy) + if (ATy->getElementType() != Type::Int8Ty && + ATy->getElementType() != Type::Int8Ty) error("String constant data invalid!"); // Read character data. The type tells us how long the string is. From reid at x10sys.com Sat Dec 30 23:44:43 2006 From: reid at x10sys.com (Reid Spencer) Date: Sat, 30 Dec 2006 23:44:43 -0600 Subject: [llvm-commits] CVS: llvm/lib/Bytecode/Writer/SlotCalculator.cpp Writer.cpp Message-ID: <200612310544.kBV5ihdk011754@zion.cs.uiuc.edu> Changes in directory llvm/lib/Bytecode/Writer: SlotCalculator.cpp updated: 1.76 -> 1.77 Writer.cpp updated: 1.140 -> 1.141 --- Log message: For PR950: http://llvm.org/PR950 : Update for signless integer types and parameter attribute implementation. Of significant note: 1. This changes the bytecode format yet again. 2. There are 1/2 as many integer type planes (this is a good thing) 3. GEP indices now use only 1 bit to identify their type which means more GEP instructions won't be relegated to format 0 (size win) 4. Parameter attributes are implemented but currently being stored verbosely for each function type. Some other day this needs to be optimized for size. --- Diffs of the changes: (+15 -23) SlotCalculator.cpp | 3 +-- Writer.cpp | 35 ++++++++++++++--------------------- 2 files changed, 15 insertions(+), 23 deletions(-) Index: llvm/lib/Bytecode/Writer/SlotCalculator.cpp diff -u llvm/lib/Bytecode/Writer/SlotCalculator.cpp:1.76 llvm/lib/Bytecode/Writer/SlotCalculator.cpp:1.77 --- llvm/lib/Bytecode/Writer/SlotCalculator.cpp:1.76 Wed Dec 6 19:30:31 2006 +++ llvm/lib/Bytecode/Writer/SlotCalculator.cpp Sat Dec 30 23:44:24 2006 @@ -145,8 +145,7 @@ // for (unsigned plane = 0, e = Table.size(); plane != e; ++plane) { if (const ArrayType *AT = dyn_cast(Types[plane])) - if (AT->getElementType() == Type::SByteTy || - AT->getElementType() == Type::UByteTy) { + if (AT->getElementType() == Type::Int8Ty) { TypePlane &Plane = Table[plane]; unsigned FirstNonStringID = 0; for (unsigned i = 0, e = Plane.size(); i != e; ++i) Index: llvm/lib/Bytecode/Writer/Writer.cpp diff -u llvm/lib/Bytecode/Writer/Writer.cpp:1.140 llvm/lib/Bytecode/Writer/Writer.cpp:1.141 --- llvm/lib/Bytecode/Writer/Writer.cpp:1.140 Tue Dec 19 17:16:47 2006 +++ llvm/lib/Bytecode/Writer/Writer.cpp Sat Dec 30 23:44:24 2006 @@ -214,16 +214,20 @@ int Slot = Table.getSlot(MT->getReturnType()); assert(Slot != -1 && "Type used but not available!!"); output_typeid((unsigned)Slot); + output_vbr(unsigned(MT->getParamAttrs(0))); // Output the number of arguments to function (+1 if varargs): output_vbr((unsigned)MT->getNumParams()+MT->isVarArg()); // Output all of the arguments... FunctionType::param_iterator I = MT->param_begin(); + unsigned Idx = 1; for (; I != MT->param_end(); ++I) { Slot = Table.getSlot(*I); assert(Slot != -1 && "Type used but not available!!"); output_typeid((unsigned)Slot); + output_vbr(unsigned(MT->getParamAttrs(Idx))); + Idx++; } // Terminate list with VoidTy if we are a varargs function... @@ -323,20 +327,13 @@ output_vbr(0U); break; - case Type::UByteTyID: // Unsigned integer types... - case Type::UShortTyID: - case Type::UIntTyID: - case Type::ULongTyID: + case Type::Int8TyID: // Unsigned integer types... + case Type::Int16TyID: + case Type::Int32TyID: + case Type::Int64TyID: output_vbr(cast(CPV)->getZExtValue()); break; - case Type::SByteTyID: // Signed integer types... - case Type::ShortTyID: - case Type::IntTyID: - case Type::LongTyID: - output_vbr(cast(CPV)->getSExtValue()); - break; - case Type::ArrayTyID: { const ConstantArray *CPA = cast(CPV); assert(!CPA->isString() && "Constant strings should be handled specially!"); @@ -489,12 +486,10 @@ unsigned IdxId; switch (I->getOperand(Idx)->getType()->getTypeID()) { default: assert(0 && "Unknown index type!"); - case Type::UIntTyID: IdxId = 0; break; - case Type::IntTyID: IdxId = 1; break; - case Type::ULongTyID: IdxId = 2; break; - case Type::LongTyID: IdxId = 3; break; + case Type::Int32TyID: IdxId = 0; break; + case Type::Int64TyID: IdxId = 1; break; } - Slot = (Slot << 2) | IdxId; + Slot = (Slot << 1) | IdxId; } output_vbr(unsigned(Slot)); } @@ -742,12 +737,10 @@ unsigned IdxId; switch (GEP->getOperand(Idx)->getType()->getTypeID()) { default: assert(0 && "Unknown index type!"); - case Type::UIntTyID: IdxId = 0; break; - case Type::IntTyID: IdxId = 1; break; - case Type::ULongTyID: IdxId = 2; break; - case Type::LongTyID: IdxId = 3; break; + case Type::Int32TyID: IdxId = 0; break; + case Type::Int64TyID: IdxId = 1; break; } - Slots[Idx] = (Slots[Idx] << 2) | IdxId; + Slots[Idx] = (Slots[Idx] << 1) | IdxId; if (Slots[Idx] > MaxOpSlot) MaxOpSlot = Slots[Idx]; } } else if (Opcode == 58) { From reid at x10sys.com Sat Dec 30 23:46:12 2006 From: reid at x10sys.com (Reid Spencer) Date: Sat, 30 Dec 2006 23:46:12 -0600 Subject: [llvm-commits] CVS: llvm/tools/llvm-upgrade/UpgradeLexer.l UpgradeParser.y Message-ID: <200612310546.kBV5kCBn011824@zion.cs.uiuc.edu> Changes in directory llvm/tools/llvm-upgrade: UpgradeLexer.l updated: 1.10 -> 1.11 UpgradeParser.y updated: 1.26 -> 1.27 --- Log message: For PR950: http://llvm.org/PR950 : Don't attempt to parse both the old and new grammars. It is near impossible to get it right. Remove support for the new define keyword and don't attempt to insert parameter attributes because there isn't enough contextual information for it. --- Diffs of the changes: (+29 -30) UpgradeLexer.l | 21 ++++++++++++--------- UpgradeParser.y | 38 +++++++++++++++++--------------------- 2 files changed, 29 insertions(+), 30 deletions(-) Index: llvm/tools/llvm-upgrade/UpgradeLexer.l diff -u llvm/tools/llvm-upgrade/UpgradeLexer.l:1.10 llvm/tools/llvm-upgrade/UpgradeLexer.l:1.11 --- llvm/tools/llvm-upgrade/UpgradeLexer.l:1.10 Fri Dec 29 14:33:37 2006 +++ llvm/tools/llvm-upgrade/UpgradeLexer.l Sat Dec 30 23:45:57 2006 @@ -105,7 +105,6 @@ true { RET_TOK( TRUETOK); } false { RET_TOK( FALSETOK); } declare { RET_TOK( DECLARE); } -define { RET_TOK( DEFINE); } global { RET_TOK( GLOBAL); } constant { RET_TOK( CONSTANT); } internal { RET_TOK( INTERNAL); } @@ -149,14 +148,18 @@ void { RET_TY(VOID,VoidTy,"void",false); } bool { RET_TY(BOOL,BoolTy,"bool",false); } -sbyte { RET_TY(SBYTE,SByteTy,"sbyte",true); } -ubyte { RET_TY(UBYTE,UByteTy,"ubyte",false); } -short { RET_TY(SHORT,ShortTy,"short",true); } -ushort { RET_TY(USHORT,UShortTy,"ushort",false); } -int { RET_TY(INT,IntTy,"int",true); } -uint { RET_TY(UINT,UIntTy,"uint",false); } -long { RET_TY(LONG,LongTy,"long",true); } -ulong { RET_TY(ULONG,ULongTy,"ulong",false); } +sbyte { RET_TY(SBYTE,SByteTy,"i8",true); } +ubyte { RET_TY(UBYTE,UByteTy,"i8",false); } +short { RET_TY(SHORT,ShortTy,"i16",true); } +ushort { RET_TY(USHORT,UShortTy,"i16",false); } +int { RET_TY(INT,IntTy,"i32",true); } +uint { RET_TY(UINT,UIntTy,"i32",false); } +long { RET_TY(LONG,LongTy,"i64",true); } +ulong { RET_TY(ULONG,ULongTy,"i64",false); } +i8 { RET_TY(UBYTE,UByteTy,"i8",false); } +i16 { RET_TY(USHORT,UShortTy,"i16",false); } +i32 { RET_TY(UINT,UIntTy,"i32",false); } +i64 { RET_TY(ULONG,ULongTy,"i64",false); } float { RET_TY(FLOAT,FloatTy,"float",false); } double { RET_TY(DOUBLE,DoubleTy,"double",false); } label { RET_TY(LABEL,LabelTy,"label",false); } Index: llvm/tools/llvm-upgrade/UpgradeParser.y diff -u llvm/tools/llvm-upgrade/UpgradeParser.y:1.26 llvm/tools/llvm-upgrade/UpgradeParser.y:1.27 --- llvm/tools/llvm-upgrade/UpgradeParser.y:1.26 Fri Dec 29 14:33:37 2006 +++ llvm/tools/llvm-upgrade/UpgradeParser.y Sat Dec 30 23:45:57 2006 @@ -34,6 +34,10 @@ unsigned SizeOfPointer = 32; static uint64_t unique = 1; +// This bool controls whether attributes are ever added to function declarations +// definitions and calls. +static bool AddAttributes = false; + typedef std::vector TypeVector; static TypeVector EnumeratedTypes; typedef std::map TypeMap; @@ -50,12 +54,13 @@ } void UpgradeAssembly(const std::string &infile, std::istream& in, - std::ostream &out, bool debug) + std::ostream &out, bool debug, bool addAttrs) { Upgradelineno = 1; CurFilename = infile; LexInput = ∈ yydebug = debug; + AddAttributes = addAttrs; O = &out; if (yyparse()) { @@ -176,15 +181,15 @@ // fp -> ptr cast is no longer supported but we must upgrade this // by doing a double cast: fp -> int -> ptr if (isConst) - Source = "ulong fptoui(" + Source + " to ulong)"; + Source = "i64 fptoui(" + Source + " to i64)"; else { *O << " %cast_upgrade" << unique << " = fptoui " << Source - << " to ulong\n"; - Source = "ulong %cast_upgrade" + llvm::utostr(unique); + << " to i64\n"; + Source = "i64 %cast_upgrade" + llvm::utostr(unique); } // Update the SrcTy for the getCastOpcode call below SrcTy.destroy(); - SrcTy.newTy = new std::string("ulong"); + SrcTy.newTy = new std::string("i64"); SrcTy.oldTy = ULongTy; } else if (DstTy.oldTy == BoolTy && SrcTy.oldTy != BoolTy) { // cast ptr %x to bool was previously defined as setne ptr %x, null @@ -286,7 +291,7 @@ %token NULL_TOK UNDEF ZEROINITIALIZER TRUETOK FALSETOK %token TYPE VAR_ID LABELSTR STRINGCONSTANT %token IMPLEMENTATION BEGINTOK ENDTOK -%token DECLARE DEFINE GLOBAL CONSTANT SECTION VOLATILE +%token DECLARE GLOBAL CONSTANT SECTION VOLATILE %token TO DOTDOTDOT CONST INTERNAL LINKONCE WEAK %token DLLIMPORT DLLEXPORT EXTERN_WEAK APPENDING %token NOT EXTERNAL TARGET TRIPLE ENDIAN POINTERSIZE LITTLE BIG @@ -922,8 +927,8 @@ } | /* empty */ { $$ = new std::string(); }; -FunctionHeaderH : OptCallingConv TypesV Name '(' ArgList ')' - OptSection OptAlign { +FunctionHeaderH + : OptCallingConv TypesV Name '(' ArgList ')' OptSection OptAlign { if (!$1->empty()) { *$1 += " "; } @@ -955,15 +960,6 @@ delete $1; delete $2; delete $3; $$ = 0; } - | DEFINE OptLinkage FunctionHeaderH BEGIN { - *O << *$1 << ' '; - if (!$2->empty()) { - *O << *$2 << ' '; - } - *O << *$3 << ' ' << *$4 << '\n'; - delete $1; delete $2; delete $3; delete $4; - $$ = 0; - } ; END : ENDTOK { $$ = new std::string("}"); delete $1; } @@ -972,7 +968,7 @@ Function : FunctionHeader BasicBlockList END { if ($2) *O << *$2; - *O << '\n' << *$3 << '\n'; + *O << *$3 << "\n\n"; $$ = 0; }; @@ -1373,8 +1369,8 @@ VI.type.getBitWidth() < 64) { std::string* old = VI.val; *O << " %gep_upgrade" << unique << " = zext " << *old - << " to ulong\n"; - VI.val = new std::string("ulong %gep_upgrade" + llvm::utostr(unique++)); + << " to i64\n"; + VI.val = new std::string("i64 %gep_upgrade" + llvm::utostr(unique++)); VI.type.oldTy = ULongTy; delete old; } @@ -1400,6 +1396,6 @@ errMsg += "end-of-file."; else errMsg += "token: '" + std::string(Upgradetext, Upgradeleng) + "'"; - std::cerr << errMsg << '\n'; + std::cerr << "llvm-upgrade: " << errMsg << '\n'; exit(1); } From reid at x10sys.com Sat Dec 30 23:48:59 2006 From: reid at x10sys.com (Reid Spencer) Date: Sat, 30 Dec 2006 23:48:59 -0600 Subject: [llvm-commits] CVS: llvm/lib/Analysis/BasicAliasAnalysis.cpp ConstantFolding.cpp ScalarEvolution.cpp Message-ID: <200612310548.kBV5mx3x011903@zion.cs.uiuc.edu> Changes in directory llvm/lib/Analysis: BasicAliasAnalysis.cpp updated: 1.95 -> 1.96 ConstantFolding.cpp updated: 1.7 -> 1.8 ScalarEvolution.cpp updated: 1.77 -> 1.78 --- Log message: For PR950: http://llvm.org/PR950 : This patch replaces signed integer types with signless ones: 1. [US]Byte -> Int8 2. [U]Short -> Int16 3. [U]Int -> Int32 4. [U]Long -> Int64. 5. Removal of isSigned, isUnsigned, getSignedVersion, getUnsignedVersion and other methods related to signedness. In a few places this warranted identifying the signedness information from other sources. --- Diffs of the changes: (+21 -68) BasicAliasAnalysis.cpp | 32 ++++++++++------------------ ConstantFolding.cpp | 1 ScalarEvolution.cpp | 56 +++++++------------------------------------------ 3 files changed, 21 insertions(+), 68 deletions(-) Index: llvm/lib/Analysis/BasicAliasAnalysis.cpp diff -u llvm/lib/Analysis/BasicAliasAnalysis.cpp:1.95 llvm/lib/Analysis/BasicAliasAnalysis.cpp:1.96 --- llvm/lib/Analysis/BasicAliasAnalysis.cpp:1.95 Sat Dec 23 00:05:40 2006 +++ llvm/lib/Analysis/BasicAliasAnalysis.cpp Sat Dec 30 23:48:39 2006 @@ -269,7 +269,7 @@ if (V1 == V2) return MustAlias; if ((!isa(V1->getType()) || !isa(V2->getType())) && - V1->getType() != Type::LongTy && V2->getType() != Type::LongTy) + V1->getType() != Type::Int64Ty && V2->getType() != Type::Int64Ty) return NoAlias; // Scalars cannot alias each other // Strip off cast instructions... @@ -458,14 +458,10 @@ if (Constant *C1 = dyn_cast(V1)) if (Constant *C2 = dyn_cast(V2)) { // Sign extend the constants to long types, if necessary - if (C1->getType()->getPrimitiveSizeInBits() < 64) - C1 = ConstantExpr::getSExt(C1, Type::LongTy); - else if (C1->getType() == Type::ULongTy) - C1 = ConstantExpr::getBitCast(C1, Type::LongTy); - if (C2->getType()->getPrimitiveSizeInBits() < 64) - C2 = ConstantExpr::getSExt(C2, Type::LongTy); - else if (C2->getType() == Type::ULongTy) - C2 = ConstantExpr::getBitCast(C2, Type::LongTy); + if (C1->getType() != Type::Int64Ty) + C1 = ConstantExpr::getSExt(C1, Type::Int64Ty); + if (C2->getType() != Type::Int64Ty) + C2 = ConstantExpr::getSExt(C2, Type::Int64Ty); return C1 == C2; } return false; @@ -554,14 +550,10 @@ if (Constant *G2OC = dyn_cast(const_cast(G2Oper))){ if (G1OC->getType() != G2OC->getType()) { // Sign extend both operands to long. - if (G1OC->getType()->getPrimitiveSizeInBits() < 64) - G1OC = ConstantExpr::getSExt(G1OC, Type::LongTy); - else if (G1OC->getType() == Type::ULongTy) - G1OC = ConstantExpr::getBitCast(G1OC, Type::LongTy); - if (G2OC->getType()->getPrimitiveSizeInBits() < 64) - G2OC = ConstantExpr::getSExt(G2OC, Type::LongTy); - else if (G2OC->getType() == Type::ULongTy) - G2OC = ConstantExpr::getBitCast(G2OC, Type::LongTy); + if (G1OC->getType() != Type::Int64Ty) + G1OC = ConstantExpr::getSExt(G1OC, Type::Int64Ty); + if (G2OC->getType() != Type::Int64Ty) + G2OC = ConstantExpr::getSExt(G2OC, Type::Int64Ty); GEP1Ops[FirstConstantOper] = G1OC; GEP2Ops[FirstConstantOper] = G2OC; } @@ -661,7 +653,7 @@ const Type *ZeroIdxTy = GEPPointerTy; for (unsigned i = 0; i != FirstConstantOper; ++i) { if (!isa(ZeroIdxTy)) - GEP1Ops[i] = GEP2Ops[i] = Constant::getNullValue(Type::UIntTy); + GEP1Ops[i] = GEP2Ops[i] = Constant::getNullValue(Type::Int32Ty); if (const CompositeType *CT = dyn_cast(ZeroIdxTy)) ZeroIdxTy = CT->getTypeAtIndex(GEP1Ops[i]); @@ -702,9 +694,9 @@ // value possible. // if (const ArrayType *AT = dyn_cast(BasePtr1Ty)) - GEP1Ops[i] = ConstantInt::get(Type::LongTy, AT->getNumElements()-1); + GEP1Ops[i] = ConstantInt::get(Type::Int64Ty, AT->getNumElements()-1); else if (const PackedType *PT = dyn_cast(BasePtr1Ty)) - GEP1Ops[i] = ConstantInt::get(Type::LongTy, PT->getNumElements()-1); + GEP1Ops[i] = ConstantInt::get(Type::Int64Ty, PT->getNumElements()-1); } } Index: llvm/lib/Analysis/ConstantFolding.cpp diff -u llvm/lib/Analysis/ConstantFolding.cpp:1.7 llvm/lib/Analysis/ConstantFolding.cpp:1.8 --- llvm/lib/Analysis/ConstantFolding.cpp:1.7 Fri Dec 1 20:22:01 2006 +++ llvm/lib/Analysis/ConstantFolding.cpp Sat Dec 30 23:48:39 2006 @@ -164,7 +164,6 @@ break; } } else if (ConstantInt *Op = dyn_cast(Operands[0])) { - assert(Op->getType()->isUnsigned() && "bswap args must be unsigned"); uint64_t V = Op->getZExtValue(); if (Name == "llvm.bswap.i16") return ConstantInt::get(Ty, ByteSwap_16(V)); Index: llvm/lib/Analysis/ScalarEvolution.cpp diff -u llvm/lib/Analysis/ScalarEvolution.cpp:1.77 llvm/lib/Analysis/ScalarEvolution.cpp:1.78 --- llvm/lib/Analysis/ScalarEvolution.cpp:1.77 Sat Dec 23 00:05:40 2006 +++ llvm/lib/Analysis/ScalarEvolution.cpp Sat Dec 30 23:48:39 2006 @@ -123,7 +123,6 @@ ConstantRange SCEV::getValueRange() const { const Type *Ty = getType(); assert(Ty->isInteger() && "Can't get range for a non-integer SCEV!"); - Ty = Ty->getUnsignedVersion(); // Default to a full range if no better information is available. return ConstantRange(getType()); } @@ -172,14 +171,6 @@ } SCEVHandle SCEVConstant::get(ConstantInt *V) { - // Make sure that SCEVConstant instances are all unsigned. - // FIXME:Signless. This entire if statement can be removed when integer types - // are signless. There won't be a need to bitcast then. - if (V->getType()->isSigned()) { - const Type *NewTy = V->getType()->getUnsignedVersion(); - V = cast(ConstantExpr::getBitCast(V, NewTy)); - } - SCEVConstant *&R = (*SCEVConstants)[V]; if (R == 0) R = new SCEVConstant(V); return R; @@ -310,9 +301,7 @@ } const Type *SCEVSDivExpr::getType() const { - const Type *Ty = LHS->getType(); - if (Ty->isUnsigned()) Ty = Ty->getSignedVersion(); - return Ty; + return LHS->getType(); } // SCEVAddRecExprs - Only allow the creation of one SCEVAddRecExpr for any @@ -505,7 +494,7 @@ uint64_t Result = 1; for (; NumSteps; --NumSteps) Result *= Val-(NumSteps-1); - Constant *Res = ConstantInt::get(Type::ULongTy, Result); + Constant *Res = ConstantInt::get(Type::Int64Ty, Result); return SCEVUnknown::get(ConstantExpr::getTruncOrBitCast(Res, V->getType())); } @@ -1427,15 +1416,13 @@ case Instruction::Trunc: // We don't handle trunc to bool yet. if (I->getType()->isInteger()) - return SCEVTruncateExpr::get(getSCEV(I->getOperand(0)), - I->getType()->getUnsignedVersion()); + return SCEVTruncateExpr::get(getSCEV(I->getOperand(0)), I->getType()); break; case Instruction::ZExt: // We don't handle zext from bool yet. if (I->getOperand(0)->getType()->isInteger()) - return SCEVZeroExtendExpr::get(getSCEV(I->getOperand(0)), - I->getType()->getUnsignedVersion()); + return SCEVZeroExtendExpr::get(getSCEV(I->getOperand(0)), I->getType()); break; case Instruction::BitCast: @@ -1572,21 +1559,8 @@ // Form the constant range. ConstantRange CompRange(Cond, CompVal); - // Now that we have it, if it's signed, convert it to an unsigned - // range. - // FIXME:Signless. This entire if statement can go away when - // integers are signless. ConstantRange is already signless. - if (CompRange.getLower()->getType()->isSigned()) { - const Type *NewTy = RHSC->getValue()->getType(); - Constant *NewL = ConstantExpr::getBitCast(CompRange.getLower(), - NewTy); - Constant *NewU = ConstantExpr::getBitCast(CompRange.getUpper(), - NewTy); - CompRange = ConstantRange(NewL, NewU); - } - SCEVHandle Ret = AddRec->getNumIterationsInRange(CompRange, - ICmpInst::isSignedPredicate(Cond)); + false /*Always treat as unsigned range*/); if (!isa(Ret)) return Ret; } } @@ -1723,7 +1697,7 @@ unsigned MaxSteps = MaxBruteForceIterations; for (unsigned IterationNum = 0; IterationNum != MaxSteps; ++IterationNum) { ConstantInt *ItCst = - ConstantInt::get(IdxExpr->getType()->getUnsignedVersion(), IterationNum); + ConstantInt::get(IdxExpr->getType(), IterationNum); ConstantInt *Val = EvaluateConstantChrecAtConstant(IdxExpr, ItCst); // Form the GEP offset. @@ -1946,7 +1920,7 @@ if (CondVal->getValue() == ExitWhen) { ConstantEvolutionLoopExitValue[PN] = PHIVal; ++NumBruteForceTripCountsComputed; - return SCEVConstant::get(ConstantInt::get(Type::UIntTy, IterationNum)); + return SCEVConstant::get(ConstantInt::get(Type::Int32Ty, IterationNum)); } // Compute the value of the PHI node for the next iteration. @@ -2129,10 +2103,7 @@ SqrtTerm = ConstantExpr::getSub(ConstantExpr::getMul(B, B), SqrtTerm); // Compute floor(sqrt(B^2-4ac)) - ConstantInt *SqrtVal = - cast(ConstantExpr::getBitCast(SqrtTerm, - SqrtTerm->getType()->getUnsignedVersion())); - uint64_t SqrtValV = SqrtVal->getZExtValue(); + uint64_t SqrtValV = cast(SqrtTerm)->getZExtValue(); uint64_t SqrtValV2 = (uint64_t)sqrt((double)SqrtValV); // The square root might not be precise for arbitrary 64-bit integer // values. Do some sanity checks to ensure it's correct. @@ -2142,20 +2113,13 @@ return std::make_pair(CNC, CNC); } - SqrtVal = ConstantInt::get(Type::ULongTy, SqrtValV2); + ConstantInt *SqrtVal = ConstantInt::get(Type::Int64Ty, SqrtValV2); SqrtTerm = ConstantExpr::getTruncOrBitCast(SqrtVal, SqrtTerm->getType()); Constant *NegB = ConstantExpr::getNeg(B); Constant *TwoA = ConstantExpr::getMul(A, Two); // The divisions must be performed as signed divisions. - // FIXME:Signedness. These casts can all go away once integer types are - // signless. - const Type *SignedTy = NegB->getType()->getSignedVersion(); - NegB = ConstantExpr::getBitCast(NegB, SignedTy); - TwoA = ConstantExpr::getBitCast(TwoA, SignedTy); - SqrtTerm = ConstantExpr::getBitCast(SqrtTerm, SignedTy); - Constant *Solution1 = ConstantExpr::getSDiv(ConstantExpr::getAdd(NegB, SqrtTerm), TwoA); Constant *Solution2 = @@ -2222,7 +2186,6 @@ << " sol#2: " << *R2 << "\n"; #endif // Pick the smallest positive root value. - assert(R1->getType()->isUnsigned()&&"Didn't canonicalize to unsigned?"); if (ConstantBool *CB = dyn_cast(ConstantExpr::getICmp(ICmpInst::ICMP_ULT, R1->getValue(), R2->getValue()))) { @@ -2448,7 +2411,6 @@ SCEVConstant *R2 = dyn_cast(Roots.second); if (R1) { // Pick the smallest positive root value. - assert(R1->getType()->isUnsigned() && "Didn't canonicalize to unsigned?"); if (ConstantBool *CB = dyn_cast(ConstantExpr::getICmp(ICmpInst::ICMP_ULT, R1->getValue(), R2->getValue()))) { From reid at x10sys.com Sat Dec 30 23:49:03 2006 From: reid at x10sys.com (Reid Spencer) Date: Sat, 30 Dec 2006 23:49:03 -0600 Subject: [llvm-commits] CVS: llvm/lib/Transforms/Utils/CodeExtractor.cpp InlineFunction.cpp LowerAllocations.cpp LowerInvoke.cpp LowerSwitch.cpp Message-ID: <200612310549.kBV5n3O2011917@zion.cs.uiuc.edu> Changes in directory llvm/lib/Transforms/Utils: CodeExtractor.cpp updated: 1.43 -> 1.44 InlineFunction.cpp updated: 1.47 -> 1.48 LowerAllocations.cpp updated: 1.68 -> 1.69 LowerInvoke.cpp updated: 1.48 -> 1.49 LowerSwitch.cpp updated: 1.31 -> 1.32 --- Log message: For PR950: http://llvm.org/PR950 : This patch replaces signed integer types with signless ones: 1. [US]Byte -> Int8 2. [U]Short -> Int16 3. [U]Int -> Int32 4. [U]Long -> Int64. 5. Removal of isSigned, isUnsigned, getSignedVersion, getUnsignedVersion and other methods related to signedness. In a few places this warranted identifying the signedness information from other sources. --- Diffs of the changes: (+36 -38) CodeExtractor.cpp | 24 ++++++++++++------------ InlineFunction.cpp | 2 +- LowerAllocations.cpp | 6 +++--- LowerInvoke.cpp | 38 +++++++++++++++++++------------------- LowerSwitch.cpp | 4 +--- 5 files changed, 36 insertions(+), 38 deletions(-) Index: llvm/lib/Transforms/Utils/CodeExtractor.cpp diff -u llvm/lib/Transforms/Utils/CodeExtractor.cpp:1.43 llvm/lib/Transforms/Utils/CodeExtractor.cpp:1.44 --- llvm/lib/Transforms/Utils/CodeExtractor.cpp:1.43 Wed Dec 6 19:30:31 2006 +++ llvm/lib/Transforms/Utils/CodeExtractor.cpp Sat Dec 30 23:48:39 2006 @@ -252,7 +252,7 @@ case 0: case 1: RetTy = Type::VoidTy; break; case 2: RetTy = Type::BoolTy; break; - default: RetTy = Type::UShortTy; break; + default: RetTy = Type::Int16Ty; break; } std::vector paramTy; @@ -304,8 +304,8 @@ Value *RewriteVal; if (AggregateArgs) { std::vector Indices; - Indices.push_back(Constant::getNullValue(Type::UIntTy)); - Indices.push_back(ConstantInt::get(Type::UIntTy, i)); + Indices.push_back(Constant::getNullValue(Type::Int32Ty)); + Indices.push_back(ConstantInt::get(Type::Int32Ty, i)); std::string GEPname = "gep_" + inputs[i]->getName(); TerminatorInst *TI = newFunction->begin()->getTerminator(); GetElementPtrInst *GEP = new GetElementPtrInst(AI, Indices, GEPname, TI); @@ -391,8 +391,8 @@ for (unsigned i = 0, e = inputs.size(); i != e; ++i) { std::vector Indices; - Indices.push_back(Constant::getNullValue(Type::UIntTy)); - Indices.push_back(ConstantInt::get(Type::UIntTy, i)); + Indices.push_back(Constant::getNullValue(Type::Int32Ty)); + Indices.push_back(ConstantInt::get(Type::Int32Ty, i)); GetElementPtrInst *GEP = new GetElementPtrInst(Struct, Indices, "gep_" + StructValues[i]->getName()); @@ -417,8 +417,8 @@ Value *Output = 0; if (AggregateArgs) { std::vector Indices; - Indices.push_back(Constant::getNullValue(Type::UIntTy)); - Indices.push_back(ConstantInt::get(Type::UIntTy, FirstOut + i)); + Indices.push_back(Constant::getNullValue(Type::Int32Ty)); + Indices.push_back(ConstantInt::get(Type::Int32Ty, FirstOut + i)); GetElementPtrInst *GEP = new GetElementPtrInst(Struct, Indices, "gep_reload_" + outputs[i]->getName()); @@ -439,7 +439,7 @@ // Now we can emit a switch statement using the call as a value. SwitchInst *TheSwitch = - new SwitchInst(ConstantInt::getNullValue(Type::UShortTy), + new SwitchInst(ConstantInt::getNullValue(Type::Int16Ty), codeReplacer, 0, codeReplacer); // Since there may be multiple exits from the original region, make the new @@ -473,14 +473,14 @@ brVal = ConstantBool::get(!SuccNum); break; default: - brVal = ConstantInt::get(Type::UShortTy, SuccNum); + brVal = ConstantInt::get(Type::Int16Ty, SuccNum); break; } ReturnInst *NTRet = new ReturnInst(brVal, NewTarget); // Update the switch instruction. - TheSwitch->addCase(ConstantInt::get(Type::UShortTy, SuccNum), + TheSwitch->addCase(ConstantInt::get(Type::Int16Ty, SuccNum), OldTarget); // Restore values just before we exit @@ -518,8 +518,8 @@ if (DominatesDef) { if (AggregateArgs) { std::vector Indices; - Indices.push_back(Constant::getNullValue(Type::UIntTy)); - Indices.push_back(ConstantInt::get(Type::UIntTy,FirstOut+out)); + Indices.push_back(Constant::getNullValue(Type::Int32Ty)); + Indices.push_back(ConstantInt::get(Type::Int32Ty,FirstOut+out)); GetElementPtrInst *GEP = new GetElementPtrInst(OAI, Indices, "gep_" + outputs[out]->getName(), Index: llvm/lib/Transforms/Utils/InlineFunction.cpp diff -u llvm/lib/Transforms/Utils/InlineFunction.cpp:1.47 llvm/lib/Transforms/Utils/InlineFunction.cpp:1.48 --- llvm/lib/Transforms/Utils/InlineFunction.cpp:1.47 Wed Sep 13 14:23:57 2006 +++ llvm/lib/Transforms/Utils/InlineFunction.cpp Sat Dec 30 23:48:39 2006 @@ -274,7 +274,7 @@ // code with llvm.stacksave/llvm.stackrestore intrinsics. if (InlinedFunctionInfo.ContainsDynamicAllocas) { Module *M = Caller->getParent(); - const Type *SBytePtr = PointerType::get(Type::SByteTy); + const Type *SBytePtr = PointerType::get(Type::Int8Ty); // Get the two intrinsics we care about. Function *StackSave, *StackRestore; StackSave = M->getOrInsertFunction("llvm.stacksave", SBytePtr, NULL); Index: llvm/lib/Transforms/Utils/LowerAllocations.cpp diff -u llvm/lib/Transforms/Utils/LowerAllocations.cpp:1.68 llvm/lib/Transforms/Utils/LowerAllocations.cpp:1.69 --- llvm/lib/Transforms/Utils/LowerAllocations.cpp:1.68 Tue Dec 19 16:17:40 2006 +++ llvm/lib/Transforms/Utils/LowerAllocations.cpp Sat Dec 30 23:48:39 2006 @@ -84,7 +84,7 @@ // This function is always successful. // bool LowerAllocations::doInitialization(Module &M) { - const Type *SBPTy = PointerType::get(Type::SByteTy); + const Type *SBPTy = PointerType::get(Type::Int8Ty); MallocFunc = M.getNamedFunction("malloc"); FreeFunc = M.getNamedFunction("free"); @@ -120,7 +120,7 @@ // malloc(type) becomes sbyte *malloc(size) Value *MallocArg; if (LowerMallocArgToInteger) - MallocArg = ConstantInt::get(Type::ULongTy, TD.getTypeSize(AllocTy)); + MallocArg = ConstantInt::get(Type::Int64Ty, TD.getTypeSize(AllocTy)); else MallocArg = ConstantExpr::getSizeOf(AllocTy); MallocArg = ConstantExpr::getTruncOrBitCast(cast(MallocArg), @@ -154,7 +154,7 @@ MallocArg = CastInst::createIntegerCast(MallocArg, IntPtrTy, false /*ZExt*/, "", I); } else if (MallocFTy->getNumParams() > 0 && - MallocFTy->getParamType(0) != Type::UIntTy) + MallocFTy->getParamType(0) != Type::Int32Ty) MallocArg = CastInst::createIntegerCast( MallocArg, MallocFTy->getParamType(0), false/*ZExt*/, "",I); MallocArgs.push_back(MallocArg); Index: llvm/lib/Transforms/Utils/LowerInvoke.cpp diff -u llvm/lib/Transforms/Utils/LowerInvoke.cpp:1.48 llvm/lib/Transforms/Utils/LowerInvoke.cpp:1.49 --- llvm/lib/Transforms/Utils/LowerInvoke.cpp:1.48 Sat Dec 23 00:05:41 2006 +++ llvm/lib/Transforms/Utils/LowerInvoke.cpp Sat Dec 30 23:48:39 2006 @@ -110,7 +110,7 @@ // doInitialization - Make sure that there is a prototype for abort in the // current module. bool LowerInvoke::doInitialization(Module &M) { - const Type *VoidPtrTy = PointerType::get(Type::SByteTy); + const Type *VoidPtrTy = PointerType::get(Type::Int8Ty); AbortMessage = 0; if (ExpensiveEHSupport) { // Insert a type for the linked list of jump buffers. @@ -139,11 +139,11 @@ Constant::getNullValue(PtrJBList), "llvm.sjljeh.jblist", &M); } - SetJmpFn = M.getOrInsertFunction("llvm.setjmp", Type::IntTy, + SetJmpFn = M.getOrInsertFunction("llvm.setjmp", Type::Int32Ty, PointerType::get(JmpBufTy), (Type *)0); LongJmpFn = M.getOrInsertFunction("llvm.longjmp", Type::VoidTy, PointerType::get(JmpBufTy), - Type::IntTy, (Type *)0); + Type::Int32Ty, (Type *)0); } // We need the 'write' and 'abort' functions for both models. @@ -163,8 +163,8 @@ else WriteFn = 0; } else { - WriteFn = M.getOrInsertFunction("write", Type::VoidTy, Type::IntTy, - VoidPtrTy, Type::IntTy, (Type *)0); + WriteFn = M.getOrInsertFunction("write", Type::VoidTy, Type::Int32Ty, + VoidPtrTy, Type::Int32Ty, (Type *)0); } return true; } @@ -181,7 +181,7 @@ GlobalVariable *MsgGV = new GlobalVariable(Msg->getType(), true, GlobalValue::InternalLinkage, Msg, "abortmsg", &M); - std::vector GEPIdx(2, Constant::getNullValue(Type::IntTy)); + std::vector GEPIdx(2, Constant::getNullValue(Type::Int32Ty)); AbortMessage = ConstantExpr::getGetElementPtr(MsgGV, GEPIdx); } else { // The abort message for cheap EH support tells the user that EH is not @@ -194,7 +194,7 @@ GlobalVariable *MsgGV = new GlobalVariable(Msg->getType(), true, GlobalValue::InternalLinkage, Msg, "abortmsg", &M); - std::vector GEPIdx(2, Constant::getNullValue(Type::IntTy)); + std::vector GEPIdx(2, Constant::getNullValue(Type::Int32Ty)); AbortMessage = ConstantExpr::getGetElementPtr(MsgGV, GEPIdx); } } @@ -206,9 +206,9 @@ // These are the arguments we WANT... std::vector Args; - Args.push_back(ConstantInt::get(Type::IntTy, 2)); + Args.push_back(ConstantInt::get(Type::Int32Ty, 2)); Args.push_back(AbortMessage); - Args.push_back(ConstantInt::get(Type::IntTy, AbortMessageLength)); + Args.push_back(ConstantInt::get(Type::Int32Ty, AbortMessageLength)); // If the actual declaration of write disagrees, insert casts as // appropriate. @@ -274,7 +274,7 @@ void LowerInvoke::rewriteExpensiveInvoke(InvokeInst *II, unsigned InvokeNo, AllocaInst *InvokeNum, SwitchInst *CatchSwitch) { - ConstantInt *InvokeNoC = ConstantInt::get(Type::UIntTy, InvokeNo); + ConstantInt *InvokeNoC = ConstantInt::get(Type::Int32Ty, InvokeNo); // Insert a store of the invoke num before the invoke and store zero into the // location afterward. @@ -283,7 +283,7 @@ BasicBlock::iterator NI = II->getNormalDest()->begin(); while (isa(NI)) ++NI; // nonvolatile. - new StoreInst(Constant::getNullValue(Type::UIntTy), InvokeNum, false, NI); + new StoreInst(Constant::getNullValue(Type::Int32Ty), InvokeNum, false, NI); // Add a switch case to our unwind block. CatchSwitch->addCase(InvokeNoC, II->getUnwindDest()); @@ -470,8 +470,8 @@ new AllocaInst(JBLinkTy, 0, Align, "jblink", F.begin()->begin()); std::vector Idx; - Idx.push_back(Constant::getNullValue(Type::IntTy)); - Idx.push_back(ConstantInt::get(Type::UIntTy, 1)); + Idx.push_back(Constant::getNullValue(Type::Int32Ty)); + Idx.push_back(ConstantInt::get(Type::Int32Ty, 1)); OldJmpBufPtr = new GetElementPtrInst(JmpBuf, Idx, "OldBuf", EntryBB->getTerminator()); @@ -489,9 +489,9 @@ // Create an alloca which keeps track of which invoke is currently // executing. For normal calls it contains zero. - AllocaInst *InvokeNum = new AllocaInst(Type::UIntTy, 0, "invokenum", + AllocaInst *InvokeNum = new AllocaInst(Type::Int32Ty, 0, "invokenum", EntryBB->begin()); - new StoreInst(ConstantInt::get(Type::UIntTy, 0), InvokeNum, true, + new StoreInst(ConstantInt::get(Type::Int32Ty, 0), InvokeNum, true, EntryBB->getTerminator()); // Insert a load in the Catch block, and a switch on its value. By default, @@ -510,7 +510,7 @@ BasicBlock *ContBlock = EntryBB->splitBasicBlock(EntryBB->getTerminator(), "setjmp.cont"); - Idx[1] = ConstantInt::get(Type::UIntTy, 0); + Idx[1] = ConstantInt::get(Type::Int32Ty, 0); Value *JmpBufPtr = new GetElementPtrInst(JmpBuf, Idx, "TheJmpBuf", EntryBB->getTerminator()); Value *SJRet = new CallInst(SetJmpFn, JmpBufPtr, "sjret", @@ -559,10 +559,10 @@ // Create the block to do the longjmp. // Get a pointer to the jmpbuf and longjmp. std::vector Idx; - Idx.push_back(Constant::getNullValue(Type::IntTy)); - Idx.push_back(ConstantInt::get(Type::UIntTy, 0)); + Idx.push_back(Constant::getNullValue(Type::Int32Ty)); + Idx.push_back(ConstantInt::get(Type::Int32Ty, 0)); Idx[0] = new GetElementPtrInst(BufPtr, Idx, "JmpBuf", UnwindBlock); - Idx[1] = ConstantInt::get(Type::IntTy, 1); + Idx[1] = ConstantInt::get(Type::Int32Ty, 1); new CallInst(LongJmpFn, Idx, "", UnwindBlock); new UnreachableInst(UnwindBlock); Index: llvm/lib/Transforms/Utils/LowerSwitch.cpp diff -u llvm/lib/Transforms/Utils/LowerSwitch.cpp:1.31 llvm/lib/Transforms/Utils/LowerSwitch.cpp:1.32 --- llvm/lib/Transforms/Utils/LowerSwitch.cpp:1.31 Sat Dec 23 00:05:41 2006 +++ llvm/lib/Transforms/Utils/LowerSwitch.cpp Sat Dec 30 23:48:39 2006 @@ -59,9 +59,7 @@ const ConstantInt* CI1 = cast(C1.first); const ConstantInt* CI2 = cast(C2.first); - if (CI1->getType()->isUnsigned()) - return CI1->getZExtValue() < CI2->getZExtValue(); - return CI1->getSExtValue() < CI2->getSExtValue(); + return CI1->getZExtValue() < CI2->getZExtValue(); } }; From reid at x10sys.com Sat Dec 30 23:49:04 2006 From: reid at x10sys.com (Reid Spencer) Date: Sat, 30 Dec 2006 23:49:04 -0600 Subject: [llvm-commits] CVS: llvm/lib/Transforms/IPO/ArgumentPromotion.cpp DeadArgumentElimination.cpp GlobalOpt.cpp IndMemRemoval.cpp LowerSetJmp.cpp RaiseAllocations.cpp SimplifyLibCalls.cpp Message-ID: <200612310549.kBV5n4RE011957@zion.cs.uiuc.edu> Changes in directory llvm/lib/Transforms/IPO: ArgumentPromotion.cpp updated: 1.32 -> 1.33 DeadArgumentElimination.cpp updated: 1.33 -> 1.34 GlobalOpt.cpp updated: 1.81 -> 1.82 IndMemRemoval.cpp updated: 1.9 -> 1.10 LowerSetJmp.cpp updated: 1.34 -> 1.35 RaiseAllocations.cpp updated: 1.34 -> 1.35 SimplifyLibCalls.cpp updated: 1.80 -> 1.81 --- Log message: For PR950: http://llvm.org/PR950 : This patch replaces signed integer types with signless ones: 1. [US]Byte -> Int8 2. [U]Short -> Int16 3. [U]Int -> Int32 4. [U]Long -> Int64. 5. Removal of isSigned, isUnsigned, getSignedVersion, getUnsignedVersion and other methods related to signedness. In a few places this warranted identifying the signedness information from other sources. --- Diffs of the changes: (+133 -135) ArgumentPromotion.cpp | 6 - DeadArgumentElimination.cpp | 4 GlobalOpt.cpp | 17 +-- IndMemRemoval.cpp | 4 LowerSetJmp.cpp | 24 ++--- RaiseAllocations.cpp | 22 ++--- SimplifyLibCalls.cpp | 191 +++++++++++++++++++++----------------------- 7 files changed, 133 insertions(+), 135 deletions(-) Index: llvm/lib/Transforms/IPO/ArgumentPromotion.cpp diff -u llvm/lib/Transforms/IPO/ArgumentPromotion.cpp:1.32 llvm/lib/Transforms/IPO/ArgumentPromotion.cpp:1.33 --- llvm/lib/Transforms/IPO/ArgumentPromotion.cpp:1.32 Tue Dec 19 16:09:18 2006 +++ llvm/lib/Transforms/IPO/ArgumentPromotion.cpp Sat Dec 30 23:48:39 2006 @@ -384,7 +384,7 @@ bool ExtraArgHack = false; if (Params.empty() && FTy->isVarArg()) { ExtraArgHack = true; - Params.push_back(Type::IntTy); + Params.push_back(Type::Int32Ty); } FunctionType *NFTy = FunctionType::get(RetTy, Params, FTy->isVarArg()); @@ -429,7 +429,7 @@ } if (ExtraArgHack) - Args.push_back(Constant::getNullValue(Type::IntTy)); + Args.push_back(Constant::getNullValue(Type::Int32Ty)); // Push any varargs arguments on the list for (; AI != CS.arg_end(); ++AI) @@ -540,7 +540,7 @@ // Notify the alias analysis implementation that we inserted a new argument. if (ExtraArgHack) - AA.copyValue(Constant::getNullValue(Type::IntTy), NF->arg_begin()); + AA.copyValue(Constant::getNullValue(Type::Int32Ty), NF->arg_begin()); // Tell the alias analysis that the old function is about to disappear. Index: llvm/lib/Transforms/IPO/DeadArgumentElimination.cpp diff -u llvm/lib/Transforms/IPO/DeadArgumentElimination.cpp:1.33 llvm/lib/Transforms/IPO/DeadArgumentElimination.cpp:1.34 --- llvm/lib/Transforms/IPO/DeadArgumentElimination.cpp:1.33 Tue Dec 19 16:09:18 2006 +++ llvm/lib/Transforms/IPO/DeadArgumentElimination.cpp Sat Dec 30 23:48:39 2006 @@ -500,7 +500,7 @@ bool ExtraArgHack = false; if (Params.empty() && FTy->isVarArg()) { ExtraArgHack = true; - Params.push_back(Type::IntTy); + Params.push_back(Type::Int32Ty); } FunctionType *NFTy = FunctionType::get(RetTy, Params, FTy->isVarArg()); @@ -526,7 +526,7 @@ Args.push_back(*AI); if (ExtraArgHack) - Args.push_back(UndefValue::get(Type::IntTy)); + Args.push_back(UndefValue::get(Type::Int32Ty)); // Push any varargs arguments on the list for (; AI != CS.arg_end(); ++AI) Index: llvm/lib/Transforms/IPO/GlobalOpt.cpp diff -u llvm/lib/Transforms/IPO/GlobalOpt.cpp:1.81 llvm/lib/Transforms/IPO/GlobalOpt.cpp:1.82 --- llvm/lib/Transforms/IPO/GlobalOpt.cpp:1.81 Sat Dec 23 00:05:41 2006 +++ llvm/lib/Transforms/IPO/GlobalOpt.cpp Sat Dec 30 23:48:39 2006 @@ -384,7 +384,7 @@ NewGlobals.reserve(STy->getNumElements()); for (unsigned i = 0, e = STy->getNumElements(); i != e; ++i) { Constant *In = getAggregateConstantElement(Init, - ConstantInt::get(Type::UIntTy, i)); + ConstantInt::get(Type::Int32Ty, i)); assert(In && "Couldn't get element of initializer?"); GlobalVariable *NGV = new GlobalVariable(STy->getElementType(i), false, GlobalVariable::InternalLinkage, @@ -406,7 +406,7 @@ NewGlobals.reserve(NumElements); for (unsigned i = 0, e = NumElements; i != e; ++i) { Constant *In = getAggregateConstantElement(Init, - ConstantInt::get(Type::UIntTy, i)); + ConstantInt::get(Type::Int32Ty, i)); assert(In && "Couldn't get element of initializer?"); GlobalVariable *NGV = new GlobalVariable(STy->getElementType(), false, @@ -422,7 +422,7 @@ DOUT << "PERFORMING GLOBAL SRA ON: " << *GV; - Constant *NullInt = Constant::getNullValue(Type::IntTy); + Constant *NullInt = Constant::getNullValue(Type::Int32Ty); // Loop over all of the uses of the global, replacing the constantexpr geps, // with smaller constantexpr geps or direct references. @@ -679,10 +679,10 @@ Type *NewTy = ArrayType::get(MI->getAllocatedType(), NElements->getZExtValue()); MallocInst *NewMI = - new MallocInst(NewTy, Constant::getNullValue(Type::UIntTy), + new MallocInst(NewTy, Constant::getNullValue(Type::Int32Ty), MI->getAlignment(), MI->getName(), MI); std::vector Indices; - Indices.push_back(Constant::getNullValue(Type::IntTy)); + Indices.push_back(Constant::getNullValue(Type::Int32Ty)); Indices.push_back(Indices[0]); Value *NewGEP = new GetElementPtrInst(NewMI, Indices, NewMI->getName()+".el0", MI); @@ -892,7 +892,6 @@ // Otherwise, this should be: 'getelementptr Ptr, Idx, uint FieldNo ...' GetElementPtrInst *GEPI = cast(User); assert(GEPI->getNumOperands() >= 3 && isa(GEPI->getOperand(2)) - && GEPI->getOperand(2)->getType()->isUnsigned() && "Unexpected GEPI!"); // Load the pointer for this field. @@ -1415,7 +1414,7 @@ if (!ATy) return 0; const StructType *STy = dyn_cast(ATy->getElementType()); if (!STy || STy->getNumElements() != 2 || - STy->getElementType(0) != Type::IntTy) return 0; + STy->getElementType(0) != Type::Int32Ty) return 0; const PointerType *PFTy = dyn_cast(STy->getElementType(1)); if (!PFTy) return 0; const FunctionType *FTy = dyn_cast(PFTy->getElementType()); @@ -1468,7 +1467,7 @@ const std::vector &Ctors) { // If we made a change, reassemble the initializer list. std::vector CSVals; - CSVals.push_back(ConstantInt::get(Type::IntTy, 65535)); + CSVals.push_back(ConstantInt::get(Type::Int32Ty, 65535)); CSVals.push_back(0); // Create the new init list. @@ -1481,7 +1480,7 @@ std::vector(), false); const PointerType *PFTy = PointerType::get(FTy); CSVals[1] = Constant::getNullValue(PFTy); - CSVals[0] = ConstantInt::get(Type::IntTy, 2147483647); + CSVals[0] = ConstantInt::get(Type::Int32Ty, 2147483647); } CAList.push_back(ConstantStruct::get(CSVals)); } Index: llvm/lib/Transforms/IPO/IndMemRemoval.cpp diff -u llvm/lib/Transforms/IPO/IndMemRemoval.cpp:1.9 llvm/lib/Transforms/IPO/IndMemRemoval.cpp:1.10 --- llvm/lib/Transforms/IPO/IndMemRemoval.cpp:1.9 Tue Dec 19 16:09:18 2006 +++ llvm/lib/Transforms/IPO/IndMemRemoval.cpp Sat Dec 30 23:48:39 2006 @@ -66,8 +66,8 @@ "malloc_llvm_bounce", &M); BasicBlock* bb = new BasicBlock("entry",FN); Instruction* c = CastInst::createIntegerCast( - FN->arg_begin(), Type::UIntTy, false, "c", bb); - Instruction* a = new MallocInst(Type::SByteTy, c, "m", bb); + FN->arg_begin(), Type::Int32Ty, false, "c", bb); + Instruction* a = new MallocInst(Type::Int8Ty, c, "m", bb); new ReturnInst(a, bb); ++NumBounce; NumBounceSites += F->getNumUses(); Index: llvm/lib/Transforms/IPO/LowerSetJmp.cpp diff -u llvm/lib/Transforms/IPO/LowerSetJmp.cpp:1.34 llvm/lib/Transforms/IPO/LowerSetJmp.cpp:1.35 --- llvm/lib/Transforms/IPO/LowerSetJmp.cpp:1.34 Tue Dec 19 16:09:18 2006 +++ llvm/lib/Transforms/IPO/LowerSetJmp.cpp Sat Dec 30 23:48:39 2006 @@ -193,7 +193,7 @@ // This function is always successful, unless it isn't. bool LowerSetJmp::doInitialization(Module& M) { - const Type *SBPTy = PointerType::get(Type::SByteTy); + const Type *SBPTy = PointerType::get(Type::Int8Ty); const Type *SBPPTy = PointerType::get(SBPTy); // N.B. See llvm/runtime/GCCLibraries/libexception/SJLJ-Exception.h for @@ -209,17 +209,17 @@ // void __llvm_sjljeh_add_setjmp_to_map(void**, void*, unsigned) AddSJToMap = M.getOrInsertFunction("__llvm_sjljeh_add_setjmp_to_map", Type::VoidTy, SBPPTy, SBPTy, - Type::UIntTy, (Type *)0); + Type::Int32Ty, (Type *)0); // void __llvm_sjljeh_throw_longjmp(int*, int) ThrowLongJmp = M.getOrInsertFunction("__llvm_sjljeh_throw_longjmp", - Type::VoidTy, SBPTy, Type::IntTy, + Type::VoidTy, SBPTy, Type::Int32Ty, (Type *)0); // unsigned __llvm_sjljeh_try_catching_longjmp_exception(void **) TryCatchLJ = M.getOrInsertFunction("__llvm_sjljeh_try_catching_longjmp_exception", - Type::UIntTy, SBPPTy, (Type *)0); + Type::Int32Ty, SBPPTy, (Type *)0); // bool __llvm_sjljeh_is_longjmp_exception() IsLJException = M.getOrInsertFunction("__llvm_sjljeh_is_longjmp_exception", @@ -227,7 +227,7 @@ // int __llvm_sjljeh_get_longjmp_value() GetLJValue = M.getOrInsertFunction("__llvm_sjljeh_get_longjmp_value", - Type::IntTy, (Type *)0); + Type::Int32Ty, (Type *)0); return true; } @@ -250,7 +250,7 @@ // throwing the exception for us. void LowerSetJmp::TransformLongJmpCall(CallInst* Inst) { - const Type* SBPTy = PointerType::get(Type::SByteTy); + const Type* SBPTy = PointerType::get(Type::Int8Ty); // Create the call to "__llvm_sjljeh_throw_longjmp". This takes the // same parameters as "longjmp", except that the buffer is cast to a @@ -300,7 +300,7 @@ assert(Inst && "Couldn't find even ONE instruction in entry block!"); // Fill in the alloca and call to initialize the SJ map. - const Type *SBPTy = PointerType::get(Type::SByteTy); + const Type *SBPTy = PointerType::get(Type::Int8Ty); AllocaInst* Map = new AllocaInst(SBPTy, 0, "SJMap", Inst); new CallInst(InitSJMap, make_vector(Map, 0), "", Inst); return SJMap[Func] = Map; @@ -372,12 +372,12 @@ Function* Func = ABlock->getParent(); // Add this setjmp to the setjmp map. - const Type* SBPTy = PointerType::get(Type::SByteTy); + const Type* SBPTy = PointerType::get(Type::Int8Ty); CastInst* BufPtr = new BitCastInst(Inst->getOperand(1), SBPTy, "SBJmpBuf", Inst); new CallInst(AddSJToMap, make_vector(GetSetJmpMap(Func), BufPtr, - ConstantInt::get(Type::UIntTy, + ConstantInt::get(Type::Int32Ty, SetJmpIDMap[Func]++), 0), "", Inst); @@ -421,14 +421,14 @@ // This PHI node will be in the new block created from the // splitBasicBlock call. - PHINode* PHI = new PHINode(Type::IntTy, "SetJmpReturn", Inst); + PHINode* PHI = new PHINode(Type::Int32Ty, "SetJmpReturn", Inst); // Coming from a call to setjmp, the return is 0. - PHI->addIncoming(ConstantInt::getNullValue(Type::IntTy), ABlock); + PHI->addIncoming(ConstantInt::getNullValue(Type::Int32Ty), ABlock); // Add the case for this setjmp's number... SwitchValuePair SVP = GetSJSwitch(Func, GetRethrowBB(Func)); - SVP.first->addCase(ConstantInt::get(Type::UIntTy, SetJmpIDMap[Func] - 1), + SVP.first->addCase(ConstantInt::get(Type::Int32Ty, SetJmpIDMap[Func] - 1), SetJmpContBlock); // Value coming from the handling of the exception. Index: llvm/lib/Transforms/IPO/RaiseAllocations.cpp diff -u llvm/lib/Transforms/IPO/RaiseAllocations.cpp:1.34 llvm/lib/Transforms/IPO/RaiseAllocations.cpp:1.35 --- llvm/lib/Transforms/IPO/RaiseAllocations.cpp:1.34 Tue Dec 19 16:09:18 2006 +++ llvm/lib/Transforms/IPO/RaiseAllocations.cpp Sat Dec 30 23:48:39 2006 @@ -66,12 +66,12 @@ // void RaiseAllocations::doInitialization(Module &M) { const FunctionType *MallocType = // Get the type for malloc - FunctionType::get(PointerType::get(Type::SByteTy), - std::vector(1, Type::ULongTy), false); + FunctionType::get(PointerType::get(Type::Int8Ty), + std::vector(1, Type::Int64Ty), false); const FunctionType *FreeType = // Get the type for free FunctionType::get(Type::VoidTy, - std::vector(1, PointerType::get(Type::SByteTy)), + std::vector(1, PointerType::get(Type::Int8Ty)), false); // Get Malloc and free prototypes if they exist! @@ -81,15 +81,15 @@ // Check to see if the prototype is wrong, giving us sbyte*(uint) * malloc // This handles the common declaration of: 'void *malloc(unsigned);' if (MallocFunc == 0) { - MallocType = FunctionType::get(PointerType::get(Type::SByteTy), - std::vector(1, Type::UIntTy), false); + MallocType = FunctionType::get(PointerType::get(Type::Int8Ty), + std::vector(1, Type::Int32Ty), false); MallocFunc = M.getFunction("malloc", MallocType); } // Check to see if the prototype is missing, giving us sbyte*(...) * malloc // This handles the common declaration of: 'void *malloc();' if (MallocFunc == 0) { - MallocType = FunctionType::get(PointerType::get(Type::SByteTy), + MallocType = FunctionType::get(PointerType::get(Type::Int8Ty), std::vector(), true); MallocFunc = M.getFunction("malloc", MallocType); } @@ -104,7 +104,7 @@ // One last try, check to see if we can find free as 'int (...)* free'. This // handles the case where NOTHING was declared. if (FreeFunc == 0) { - FreeType = FunctionType::get(Type::IntTy, std::vector(),true); + FreeType = FunctionType::get(Type::Int32Ty, std::vector(),true); FreeFunc = M.getFunction("free", FreeType); } @@ -140,13 +140,13 @@ // If no prototype was provided for malloc, we may need to cast the // source size. - if (Source->getType() != Type::UIntTy) + if (Source->getType() != Type::Int32Ty) Source = - CastInst::createIntegerCast(Source, Type::UIntTy, false/*ZExt*/, + CastInst::createIntegerCast(Source, Type::Int32Ty, false/*ZExt*/, "MallocAmtCast", I); std::string Name(I->getName()); I->setName(""); - MallocInst *MI = new MallocInst(Type::SByteTy, Source, Name, I); + MallocInst *MI = new MallocInst(Type::Int8Ty, Source, Name, I); I->replaceAllUsesWith(MI); // If the old instruction was an invoke, add an unconditional branch @@ -194,7 +194,7 @@ // Value *Source = *CS.arg_begin(); if (!isa(Source->getType())) - Source = new IntToPtrInst(Source, PointerType::get(Type::SByteTy), + Source = new IntToPtrInst(Source, PointerType::get(Type::Int8Ty), "FreePtrCast", I); new FreeInst(Source, I); Index: llvm/lib/Transforms/IPO/SimplifyLibCalls.cpp diff -u llvm/lib/Transforms/IPO/SimplifyLibCalls.cpp:1.80 llvm/lib/Transforms/IPO/SimplifyLibCalls.cpp:1.81 --- llvm/lib/Transforms/IPO/SimplifyLibCalls.cpp:1.80 Sat Dec 23 00:05:41 2006 +++ llvm/lib/Transforms/IPO/SimplifyLibCalls.cpp Sat Dec 30 23:48:39 2006 @@ -224,16 +224,16 @@ /// @brief Return a Function* for the putchar libcall Function* get_putchar() { if (!putchar_func) - putchar_func = M->getOrInsertFunction("putchar", Type::IntTy, Type::IntTy, - NULL); + putchar_func = + M->getOrInsertFunction("putchar", Type::Int32Ty, Type::Int32Ty, NULL); return putchar_func; } /// @brief Return a Function* for the puts libcall Function* get_puts() { if (!puts_func) - puts_func = M->getOrInsertFunction("puts", Type::IntTy, - PointerType::get(Type::SByteTy), + puts_func = M->getOrInsertFunction("puts", Type::Int32Ty, + PointerType::get(Type::Int8Ty), NULL); return puts_func; } @@ -241,7 +241,7 @@ /// @brief Return a Function* for the fputc libcall Function* get_fputc(const Type* FILEptr_type) { if (!fputc_func) - fputc_func = M->getOrInsertFunction("fputc", Type::IntTy, Type::IntTy, + fputc_func = M->getOrInsertFunction("fputc", Type::Int32Ty, Type::Int32Ty, FILEptr_type, NULL); return fputc_func; } @@ -249,8 +249,8 @@ /// @brief Return a Function* for the fputs libcall Function* get_fputs(const Type* FILEptr_type) { if (!fputs_func) - fputs_func = M->getOrInsertFunction("fputs", Type::IntTy, - PointerType::get(Type::SByteTy), + fputs_func = M->getOrInsertFunction("fputs", Type::Int32Ty, + PointerType::get(Type::Int8Ty), FILEptr_type, NULL); return fputs_func; } @@ -259,7 +259,7 @@ Function* get_fwrite(const Type* FILEptr_type) { if (!fwrite_func) fwrite_func = M->getOrInsertFunction("fwrite", TD->getIntPtrType(), - PointerType::get(Type::SByteTy), + PointerType::get(Type::Int8Ty), TD->getIntPtrType(), TD->getIntPtrType(), FILEptr_type, NULL); @@ -278,9 +278,9 @@ Function* get_strcpy() { if (!strcpy_func) strcpy_func = M->getOrInsertFunction("strcpy", - PointerType::get(Type::SByteTy), - PointerType::get(Type::SByteTy), - PointerType::get(Type::SByteTy), + PointerType::get(Type::Int8Ty), + PointerType::get(Type::Int8Ty), + PointerType::get(Type::Int8Ty), NULL); return strcpy_func; } @@ -289,7 +289,7 @@ Function* get_strlen() { if (!strlen_func) strlen_func = M->getOrInsertFunction("strlen", TD->getIntPtrType(), - PointerType::get(Type::SByteTy), + PointerType::get(Type::Int8Ty), NULL); return strlen_func; } @@ -298,9 +298,9 @@ Function* get_memchr() { if (!memchr_func) memchr_func = M->getOrInsertFunction("memchr", - PointerType::get(Type::SByteTy), - PointerType::get(Type::SByteTy), - Type::IntTy, TD->getIntPtrType(), + PointerType::get(Type::Int8Ty), + PointerType::get(Type::Int8Ty), + Type::Int32Ty, TD->getIntPtrType(), NULL); return memchr_func; } @@ -308,11 +308,11 @@ /// @brief Return a Function* for the memcpy libcall Function* get_memcpy() { if (!memcpy_func) { - const Type *SBP = PointerType::get(Type::SByteTy); - const char *N = TD->getIntPtrType() == Type::UIntTy ? + const Type *SBP = PointerType::get(Type::Int8Ty); + const char *N = TD->getIntPtrType() == Type::Int32Ty ? "llvm.memcpy.i32" : "llvm.memcpy.i64"; memcpy_func = M->getOrInsertFunction(N, Type::VoidTy, SBP, SBP, - TD->getIntPtrType(), Type::UIntTy, + TD->getIntPtrType(), Type::Int32Ty, NULL); } return memcpy_func; @@ -457,12 +457,12 @@ /// @brief Make sure that the "strcat" function has the right prototype virtual bool ValidateCalledFunction(const Function* f, SimplifyLibCalls& SLC){ - if (f->getReturnType() == PointerType::get(Type::SByteTy)) + if (f->getReturnType() == PointerType::get(Type::Int8Ty)) if (f->arg_size() == 2) { Function::const_arg_iterator AI = f->arg_begin(); - if (AI++->getType() == PointerType::get(Type::SByteTy)) - if (AI->getType() == PointerType::get(Type::SByteTy)) + if (AI++->getType() == PointerType::get(Type::Int8Ty)) + if (AI->getType() == PointerType::get(Type::Int8Ty)) { // Indicate this is a suitable call type. return true; @@ -516,7 +516,7 @@ vals.push_back(gep); // destination vals.push_back(ci->getOperand(2)); // source vals.push_back(ConstantInt::get(SLC.getIntPtrType(),len)); // length - vals.push_back(ConstantInt::get(Type::UIntTy,1)); // alignment + vals.push_back(ConstantInt::get(Type::Int32Ty,1)); // alignment new CallInst(SLC.get_memcpy(), vals, "", ci); // Finally, substitute the first operand of the strcat call for the @@ -539,7 +539,7 @@ /// @brief Make sure that the "strchr" function has the right prototype virtual bool ValidateCalledFunction(const Function* f, SimplifyLibCalls& SLC){ - if (f->getReturnType() == PointerType::get(Type::SByteTy) && + if (f->getReturnType() == PointerType::get(Type::Int8Ty) && f->arg_size() == 2) return true; return false; @@ -555,21 +555,21 @@ // If it is, get the length and data, otherwise return false. uint64_t len = 0; ConstantArray* CA = 0; - if (!getConstantStringLength(ci->getOperand(1),len,&CA)) + if (!getConstantStringLength(ci->getOperand(1), len, &CA)) return false; // Check that the second argument to strchr is a constant int. If it isn't // a constant signed integer, we can try an alternate optimization ConstantInt* CSI = dyn_cast(ci->getOperand(2)); - if (!CSI || CSI->getType()->isUnsigned() ) { + if (!CSI) { // The second operand is not constant, or not signed. Just lower this to // memchr since we know the length of the string since it is constant. Function* f = SLC.get_memchr(); std::vector args; args.push_back(ci->getOperand(1)); args.push_back(ci->getOperand(2)); - args.push_back(ConstantInt::get(SLC.getIntPtrType(),len)); - ci->replaceAllUsesWith( new CallInst(f,args,ci->getName(),ci)); + args.push_back(ConstantInt::get(SLC.getIntPtrType(), len)); + ci->replaceAllUsesWith( new CallInst(f, args, ci->getName(), ci)); ci->eraseFromParent(); return true; } @@ -597,13 +597,13 @@ // (if c is a constant integer and s is a constant string) if (char_found) { std::vector indices; - indices.push_back(ConstantInt::get(Type::ULongTy,offset)); + indices.push_back(ConstantInt::get(Type::Int64Ty,offset)); GetElementPtrInst* GEP = new GetElementPtrInst(ci->getOperand(1),indices, ci->getOperand(1)->getName()+".strchr",ci); ci->replaceAllUsesWith(GEP); } else { ci->replaceAllUsesWith( - ConstantPointerNull::get(PointerType::get(Type::SByteTy))); + ConstantPointerNull::get(PointerType::get(Type::Int8Ty))); } ci->eraseFromParent(); return true; @@ -621,7 +621,7 @@ /// @brief Make sure that the "strcmp" function has the right prototype virtual bool ValidateCalledFunction(const Function *F, SimplifyLibCalls &SLC){ - return F->getReturnType() == Type::IntTy && F->arg_size() == 2; + return F->getReturnType() == Type::Int32Ty && F->arg_size() == 2; } /// @brief Perform the strcmp optimization @@ -633,7 +633,7 @@ Value* s2 = ci->getOperand(2); if (s1 == s2) { // strcmp(x,x) -> 0 - ci->replaceAllUsesWith(ConstantInt::get(Type::IntTy,0)); + ci->replaceAllUsesWith(ConstantInt::get(Type::Int32Ty,0)); ci->eraseFromParent(); return true; } @@ -648,7 +648,7 @@ LoadInst* load = new LoadInst(CastToCStr(s2,*ci), ci->getName()+".load",ci); CastInst* cast = - CastInst::create(Instruction::SExt, load, Type::IntTy, + CastInst::create(Instruction::SExt, load, Type::Int32Ty, ci->getName()+".int", ci); ci->replaceAllUsesWith(cast); ci->eraseFromParent(); @@ -666,7 +666,7 @@ LoadInst* load = new LoadInst(CastToCStr(s1,*ci),ci->getName()+".val",ci); CastInst* cast = - CastInst::create(Instruction::SExt, load, Type::IntTy, + CastInst::create(Instruction::SExt, load, Type::Int32Ty, ci->getName()+".int", ci); ci->replaceAllUsesWith(cast); ci->eraseFromParent(); @@ -679,7 +679,7 @@ std::string str1 = A1->getAsString(); std::string str2 = A2->getAsString(); int result = strcmp(str1.c_str(), str2.c_str()); - ci->replaceAllUsesWith(ConstantInt::get(Type::IntTy,result)); + ci->replaceAllUsesWith(ConstantInt::get(Type::Int32Ty,result)); ci->eraseFromParent(); return true; } @@ -698,7 +698,7 @@ /// @brief Make sure that the "strncmp" function has the right prototype virtual bool ValidateCalledFunction(const Function* f, SimplifyLibCalls& SLC){ - if (f->getReturnType() == Type::IntTy && f->arg_size() == 3) + if (f->getReturnType() == Type::Int32Ty && f->arg_size() == 3) return true; return false; } @@ -712,7 +712,7 @@ Value* s2 = ci->getOperand(2); if (s1 == s2) { // strncmp(x,x,l) -> 0 - ci->replaceAllUsesWith(ConstantInt::get(Type::IntTy,0)); + ci->replaceAllUsesWith(ConstantInt::get(Type::Int32Ty,0)); ci->eraseFromParent(); return true; } @@ -726,7 +726,7 @@ len_arg = len_CI->getZExtValue(); if (len_arg == 0) { // strncmp(x,y,0) -> 0 - ci->replaceAllUsesWith(ConstantInt::get(Type::IntTy,0)); + ci->replaceAllUsesWith(ConstantInt::get(Type::Int32Ty,0)); ci->eraseFromParent(); return true; } @@ -741,7 +741,7 @@ // strncmp("",x) -> *x LoadInst* load = new LoadInst(s1,ci->getName()+".load",ci); CastInst* cast = - CastInst::create(Instruction::SExt, load, Type::IntTy, + CastInst::create(Instruction::SExt, load, Type::Int32Ty, ci->getName()+".int", ci); ci->replaceAllUsesWith(cast); ci->eraseFromParent(); @@ -758,7 +758,7 @@ // strncmp(x,"") -> *x LoadInst* load = new LoadInst(s2,ci->getName()+".val",ci); CastInst* cast = - CastInst::create(Instruction::SExt, load, Type::IntTy, + CastInst::create(Instruction::SExt, load, Type::Int32Ty, ci->getName()+".int", ci); ci->replaceAllUsesWith(cast); ci->eraseFromParent(); @@ -771,7 +771,7 @@ std::string str1 = A1->getAsString(); std::string str2 = A2->getAsString(); int result = strncmp(str1.c_str(), str2.c_str(), len_arg); - ci->replaceAllUsesWith(ConstantInt::get(Type::IntTy,result)); + ci->replaceAllUsesWith(ConstantInt::get(Type::Int32Ty,result)); ci->eraseFromParent(); return true; } @@ -791,11 +791,11 @@ /// @brief Make sure that the "strcpy" function has the right prototype virtual bool ValidateCalledFunction(const Function* f, SimplifyLibCalls& SLC){ - if (f->getReturnType() == PointerType::get(Type::SByteTy)) + if (f->getReturnType() == PointerType::get(Type::Int8Ty)) if (f->arg_size() == 2) { Function::const_arg_iterator AI = f->arg_begin(); - if (AI++->getType() == PointerType::get(Type::SByteTy)) - if (AI->getType() == PointerType::get(Type::SByteTy)) { + if (AI++->getType() == PointerType::get(Type::Int8Ty)) + if (AI->getType() == PointerType::get(Type::Int8Ty)) { // Indicate this is a suitable call type. return true; } @@ -830,7 +830,7 @@ // If the constant string's length is zero we can optimize this by just // doing a store of 0 at the first byte of the destination if (len == 0) { - new StoreInst(ConstantInt::get(Type::SByteTy,0),ci->getOperand(1),ci); + new StoreInst(ConstantInt::get(Type::Int8Ty,0),ci->getOperand(1),ci); ci->replaceAllUsesWith(dest); ci->eraseFromParent(); return true; @@ -846,7 +846,7 @@ vals.push_back(dest); // destination vals.push_back(src); // source vals.push_back(ConstantInt::get(SLC.getIntPtrType(),len)); // length - vals.push_back(ConstantInt::get(Type::UIntTy,1)); // alignment + vals.push_back(ConstantInt::get(Type::Int32Ty,1)); // alignment new CallInst(SLC.get_memcpy(), vals, "", ci); // Finally, substitute the first operand of the strcat call for the @@ -872,7 +872,7 @@ if (f->getReturnType() == SLC.getTargetData()->getIntPtrType()) if (f->arg_size() == 1) if (Function::const_arg_iterator AI = f->arg_begin()) - if (AI->getType() == PointerType::get(Type::SByteTy)) + if (AI->getType() == PointerType::get(Type::Int8Ty)) return true; return false; } @@ -882,7 +882,7 @@ { // Make sure we're dealing with an sbyte* here. Value* str = ci->getOperand(1); - if (str->getType() != PointerType::get(Type::SByteTy)) + if (str->getType() != PointerType::get(Type::Int8Ty)) return false; // Does the call to strlen have exactly one use? @@ -904,7 +904,7 @@ // strlen(x) == 0 -> *x == 0 LoadInst* load = new LoadInst(str,str->getName()+".first",ci); ICmpInst* rbop = new ICmpInst(bop->getPredicate(), load, - ConstantInt::get(Type::SByteTy,0), + ConstantInt::get(Type::Int8Ty,0), bop->getName()+".strlen", ci); bop->replaceAllUsesWith(rbop); bop->eraseFromParent(); @@ -996,7 +996,7 @@ return true; case 1: { // memcmp(S1,S2,1) -> *(ubyte*)S1 - *(ubyte*)S2 - const Type *UCharPtr = PointerType::get(Type::UByteTy); + const Type *UCharPtr = PointerType::get(Type::Int8Ty); CastInst *Op1Cast = CastInst::create( Instruction::BitCast, LHS, UCharPtr, LHS->getName(), CI); CastInst *Op2Cast = CastInst::create( @@ -1016,7 +1016,7 @@ // TODO: IF both are aligned, use a short load/compare. // memcmp(S1,S2,2) -> S1[0]-S2[0] | S1[1]-S2[1] iff only ==/!= 0 matters - const Type *UCharPtr = PointerType::get(Type::UByteTy); + const Type *UCharPtr = PointerType::get(Type::Int8Ty); CastInst *Op1Cast = CastInst::create( Instruction::BitCast, LHS, UCharPtr, LHS->getName(), CI); CastInst *Op2Cast = CastInst::create( @@ -1025,7 +1025,7 @@ Value *S2V1 = new LoadInst(Op2Cast, RHS->getName()+".val1", CI); Value *D1 = BinaryOperator::createSub(S1V1, S2V1, CI->getName()+".d1", CI); - Constant *One = ConstantInt::get(Type::IntTy, 1); + Constant *One = ConstantInt::get(Type::Int32Ty, 1); Value *G1 = new GetElementPtrInst(Op1Cast, One, "next1v", CI); Value *G2 = new GetElementPtrInst(Op2Cast, One, "next2v", CI); Value *S1V2 = new LoadInst(G1, LHS->getName()+".val2", CI); @@ -1098,10 +1098,10 @@ // memcpy(d,s,0,a) -> noop ci->eraseFromParent(); return true; - case 1: castType = Type::SByteTy; break; - case 2: castType = Type::ShortTy; break; - case 4: castType = Type::IntTy; break; - case 8: castType = Type::LongTy; break; + case 1: castType = Type::Int8Ty; break; + case 2: castType = Type::Int16Ty; break; + case 4: castType = Type::Int32Ty; break; + case 8: castType = Type::Int64Ty; break; default: return false; } @@ -1183,7 +1183,7 @@ ConstantInt* FILL = dyn_cast(ci->getOperand(2)); if (!FILL) return false; - if (FILL->getType() != Type::UByteTy) + if (FILL->getType() != Type::Int8Ty) return false; // memset(s,c,n) -> store s, c (for n=1,2,4,8) @@ -1198,18 +1198,18 @@ Type* castType = 0; switch (len) { case 1: - castType = Type::UByteTy; + castType = Type::Int8Ty; break; case 2: - castType = Type::UShortTy; + castType = Type::Int16Ty; fill_value |= fill_char << 8; break; case 4: - castType = Type::UIntTy; + castType = Type::Int32Ty; fill_value |= fill_char << 8 | fill_char << 16 | fill_char << 24; break; case 8: - castType = Type::ULongTy; + castType = Type::Int64Ty; fill_value |= fill_char << 8 | fill_char << 16 | fill_char << 24; fill_value |= fill_char << 32 | fill_char << 40 | fill_char << 48; fill_value |= fill_char << 56; @@ -1350,7 +1350,7 @@ std::vector args; args.push_back(CastToCStr(ci->getOperand(2), *ci)); new CallInst(puts_func,args,ci->getName(),ci); - ci->replaceAllUsesWith(ConstantInt::get(Type::IntTy,len)); + ci->replaceAllUsesWith(ConstantInt::get(Type::Int32Ty,len)); break; } case 'c': @@ -1363,9 +1363,9 @@ if (!putchar_func) return false; CastInst* cast = CastInst::createSExtOrBitCast( - ci->getOperand(2), Type::IntTy, CI->getName()+".int", ci); + ci->getOperand(2), Type::Int32Ty, CI->getName()+".int", ci); new CallInst(putchar_func, cast, "", ci); - ci->replaceAllUsesWith(ConstantInt::get(Type::IntTy, 1)); + ci->replaceAllUsesWith(ConstantInt::get(Type::Int32Ty, 1)); break; } default: @@ -1440,7 +1440,7 @@ args.push_back(ConstantInt::get(SLC.getIntPtrType(),1)); args.push_back(ci->getOperand(1)); new CallInst(fwrite_func,args,ci->getName(),ci); - ci->replaceAllUsesWith(ConstantInt::get(Type::IntTy,len)); + ci->replaceAllUsesWith(ConstantInt::get(Type::Int32Ty,len)); ci->eraseFromParent(); return true; } @@ -1474,7 +1474,7 @@ args.push_back(ConstantInt::get(SLC.getIntPtrType(),1)); args.push_back(ci->getOperand(1)); new CallInst(fwrite_func,args,ci->getName(),ci); - ci->replaceAllUsesWith(ConstantInt::get(Type::IntTy,len)); + ci->replaceAllUsesWith(ConstantInt::get(Type::Int32Ty,len)); } else { // fprintf(file,"%s",str) -> fputs(str,file) const Type* FILEptr_type = ci->getOperand(1)->getType(); @@ -1485,7 +1485,7 @@ args.push_back(CastToCStr(ci->getOperand(3), *ci)); args.push_back(ci->getOperand(1)); new CallInst(fputs_func,args,ci->getName(),ci); - ci->replaceAllUsesWith(ConstantInt::get(Type::IntTy,len)); + ci->replaceAllUsesWith(ConstantInt::get(Type::Int32Ty,len)); } break; } @@ -1497,9 +1497,9 @@ if (!fputc_func) return false; CastInst* cast = CastInst::createSExtOrBitCast( - ci->getOperand(3), Type::IntTy, CI->getName()+".int", ci); + ci->getOperand(3), Type::Int32Ty, CI->getName()+".int", ci); new CallInst(fputc_func,cast,ci->getOperand(1),"",ci); - ci->replaceAllUsesWith(ConstantInt::get(Type::IntTy,1)); + ci->replaceAllUsesWith(ConstantInt::get(Type::Int32Ty,1)); break; } default: @@ -1523,7 +1523,7 @@ /// @brief Make sure that the "fprintf" function has the right prototype virtual bool ValidateCalledFunction(const Function *f, SimplifyLibCalls &SLC){ // Just make sure this has at least 2 arguments - return (f->getReturnType() == Type::IntTy && f->arg_size() >= 2); + return (f->getReturnType() == Type::Int32Ty && f->arg_size() >= 2); } /// @brief Perform the sprintf optimization. @@ -1542,8 +1542,8 @@ if (ci->getNumOperands() == 3) { if (len == 0) { // If the length is 0, we just need to store a null byte - new StoreInst(ConstantInt::get(Type::SByteTy,0),ci->getOperand(1),ci); - ci->replaceAllUsesWith(ConstantInt::get(Type::IntTy,0)); + new StoreInst(ConstantInt::get(Type::Int8Ty,0),ci->getOperand(1),ci); + ci->replaceAllUsesWith(ConstantInt::get(Type::Int32Ty,0)); ci->eraseFromParent(); return true; } @@ -1570,9 +1570,9 @@ args.push_back(ci->getOperand(1)); args.push_back(ci->getOperand(2)); args.push_back(ConstantInt::get(SLC.getIntPtrType(),len)); - args.push_back(ConstantInt::get(Type::UIntTy,1)); + args.push_back(ConstantInt::get(Type::Int32Ty,1)); new CallInst(memcpy_func,args,"",ci); - ci->replaceAllUsesWith(ConstantInt::get(Type::IntTy,len)); + ci->replaceAllUsesWith(ConstantInt::get(Type::Int32Ty,len)); ci->eraseFromParent(); return true; } @@ -1609,7 +1609,7 @@ args.push_back(CastToCStr(ci->getOperand(1), *ci)); args.push_back(CastToCStr(ci->getOperand(3), *ci)); args.push_back(Len1); - args.push_back(ConstantInt::get(Type::UIntTy,1)); + args.push_back(ConstantInt::get(Type::Int32Ty,1)); new CallInst(memcpy_func, args, "", ci); // The strlen result is the unincremented number of bytes in the string. @@ -1625,13 +1625,13 @@ case 'c': { // sprintf(dest,"%c",chr) -> store chr, dest CastInst* cast = CastInst::createTruncOrBitCast( - ci->getOperand(3), Type::SByteTy, "char", ci); + ci->getOperand(3), Type::Int8Ty, "char", ci); new StoreInst(cast, ci->getOperand(1), ci); GetElementPtrInst* gep = new GetElementPtrInst(ci->getOperand(1), - ConstantInt::get(Type::UIntTy,1),ci->getOperand(1)->getName()+".end", + ConstantInt::get(Type::Int32Ty,1),ci->getOperand(1)->getName()+".end", ci); - new StoreInst(ConstantInt::get(Type::SByteTy,0),gep,ci); - ci->replaceAllUsesWith(ConstantInt::get(Type::IntTy,1)); + new StoreInst(ConstantInt::get(Type::Int8Ty,0),gep,ci); + ci->replaceAllUsesWith(ConstantInt::get(Type::Int32Ty,1)); ci->eraseFromParent(); return true; } @@ -1681,7 +1681,7 @@ return false; LoadInst* loadi = new LoadInst(ci->getOperand(1), ci->getOperand(1)->getName()+".byte",ci); - CastInst* casti = new SExtInst(loadi, Type::IntTy, + CastInst* casti = new SExtInst(loadi, Type::Int32Ty, loadi->getName()+".int", ci); new CallInst(fputc_func,casti,ci->getOperand(2),"",ci); break; @@ -1727,23 +1727,23 @@ // isdigit(c) -> 0 or 1, if 'c' is constant uint64_t val = CI->getZExtValue(); if (val >= '0' && val <='9') - ci->replaceAllUsesWith(ConstantInt::get(Type::IntTy,1)); + ci->replaceAllUsesWith(ConstantInt::get(Type::Int32Ty,1)); else - ci->replaceAllUsesWith(ConstantInt::get(Type::IntTy,0)); + ci->replaceAllUsesWith(ConstantInt::get(Type::Int32Ty,0)); ci->eraseFromParent(); return true; } // isdigit(c) -> (unsigned)c - '0' <= 9 CastInst* cast = CastInst::createIntegerCast(ci->getOperand(1), - Type::UIntTy, false/*ZExt*/, ci->getOperand(1)->getName()+".uint", ci); + Type::Int32Ty, false/*ZExt*/, ci->getOperand(1)->getName()+".uint", ci); BinaryOperator* sub_inst = BinaryOperator::createSub(cast, - ConstantInt::get(Type::UIntTy,0x30), + ConstantInt::get(Type::Int32Ty,0x30), ci->getOperand(1)->getName()+".sub",ci); ICmpInst* setcond_inst = new ICmpInst(ICmpInst::ICMP_ULE,sub_inst, - ConstantInt::get(Type::UIntTy,9), + ConstantInt::get(Type::Int32Ty,9), ci->getOperand(1)->getName()+".cmp",ci); - CastInst* c2 = new ZExtInst(setcond_inst, Type::IntTy, + CastInst* c2 = new ZExtInst(setcond_inst, Type::Int32Ty, ci->getOperand(1)->getName()+".isdigit", ci); ci->replaceAllUsesWith(c2); ci->eraseFromParent(); @@ -1824,7 +1824,7 @@ /// @brief Make sure that the "ffs" function has the right prototype virtual bool ValidateCalledFunction(const Function *F, SimplifyLibCalls &SLC){ // Just make sure this has 2 arguments - return F->arg_size() == 1 && F->getReturnType() == Type::IntTy; + return F->arg_size() == 1 && F->getReturnType() == Type::Int32Ty; } /// @brief Perform the ffs optimization. @@ -1842,7 +1842,7 @@ val >>= 1; } } - TheCall->replaceAllUsesWith(ConstantInt::get(Type::IntTy, result)); + TheCall->replaceAllUsesWith(ConstantInt::get(Type::Int32Ty, result)); TheCall->eraseFromParent(); return true; } @@ -1851,14 +1851,13 @@ // ffsl(x) -> x == 0 ? 0 : llvm.cttz(x)+1 // ffsll(x) -> x == 0 ? 0 : llvm.cttz(x)+1 const Type *ArgType = TheCall->getOperand(1)->getType(); - ArgType = ArgType->getUnsignedVersion(); const char *CTTZName; switch (ArgType->getTypeID()) { default: assert(0 && "Unknown unsigned type!"); - case Type::UByteTyID : CTTZName = "llvm.cttz.i8" ; break; - case Type::UShortTyID: CTTZName = "llvm.cttz.i16"; break; - case Type::UIntTyID : CTTZName = "llvm.cttz.i32"; break; - case Type::ULongTyID : CTTZName = "llvm.cttz.i64"; break; + case Type::Int8TyID : CTTZName = "llvm.cttz.i8" ; break; + case Type::Int16TyID: CTTZName = "llvm.cttz.i16"; break; + case Type::Int32TyID : CTTZName = "llvm.cttz.i32"; break; + case Type::Int64TyID : CTTZName = "llvm.cttz.i64"; break; } Function *F = SLC.getModule()->getOrInsertFunction(CTTZName, ArgType, @@ -1866,14 +1865,14 @@ Value *V = CastInst::createIntegerCast(TheCall->getOperand(1), ArgType, false/*ZExt*/, "tmp", TheCall); Value *V2 = new CallInst(F, V, "tmp", TheCall); - V2 = CastInst::createIntegerCast(V2, Type::IntTy, false/*ZExt*/, + V2 = CastInst::createIntegerCast(V2, Type::Int32Ty, false/*ZExt*/, "tmp", TheCall); - V2 = BinaryOperator::createAdd(V2, ConstantInt::get(Type::IntTy, 1), + V2 = BinaryOperator::createAdd(V2, ConstantInt::get(Type::Int32Ty, 1), "tmp", TheCall); Value *Cond = new ICmpInst(ICmpInst::ICMP_EQ, V, Constant::getNullValue(V->getType()), "tmp", TheCall); - V2 = new SelectInst(Cond, ConstantInt::get(Type::IntTy, 0), V2, + V2 = new SelectInst(Cond, ConstantInt::get(Type::Int32Ty, 0), V2, TheCall->getName(), TheCall); TheCall->replaceAllUsesWith(V2); TheCall->eraseFromParent(); @@ -2112,7 +2111,7 @@ Value *CastToCStr(Value *V, Instruction &IP) { assert(isa(V->getType()) && "Can't cast non-pointer type to C string type"); - const Type *SBPTy = PointerType::get(Type::SByteTy); + const Type *SBPTy = PointerType::get(Type::Int8Ty); if (V->getType() != SBPTy) return new BitCastInst(V, SBPTy, V->getName(), &IP); return V; From reid at x10sys.com Sat Dec 30 23:49:04 2006 From: reid at x10sys.com (Reid Spencer) Date: Sat, 30 Dec 2006 23:49:04 -0600 Subject: [llvm-commits] CVS: llvm/lib/Transforms/Instrumentation/BlockProfiling.cpp EdgeProfiling.cpp EmitFunctions.cpp ProfilingUtils.cpp RSProfiling.cpp TraceBasicBlocks.cpp TraceValues.cpp Message-ID: <200612310549.kBV5n4wv011977@zion.cs.uiuc.edu> Changes in directory llvm/lib/Transforms/Instrumentation: BlockProfiling.cpp updated: 1.18 -> 1.19 EdgeProfiling.cpp updated: 1.9 -> 1.10 EmitFunctions.cpp updated: 1.26 -> 1.27 ProfilingUtils.cpp updated: 1.12 -> 1.13 RSProfiling.cpp updated: 1.13 -> 1.14 TraceBasicBlocks.cpp updated: 1.19 -> 1.20 TraceValues.cpp updated: 1.78 -> 1.79 --- Log message: For PR950: http://llvm.org/PR950 : This patch replaces signed integer types with signless ones: 1. [US]Byte -> Int8 2. [U]Short -> Int16 3. [U]Int -> Int32 4. [U]Long -> Int64. 5. Removal of isSigned, isUnsigned, getSignedVersion, getUnsignedVersion and other methods related to signedness. In a few places this warranted identifying the signedness information from other sources. --- Diffs of the changes: (+37 -37) BlockProfiling.cpp | 4 ++-- EdgeProfiling.cpp | 2 +- EmitFunctions.cpp | 8 ++++---- ProfilingUtils.cpp | 26 +++++++++++++------------- RSProfiling.cpp | 16 ++++++++-------- TraceBasicBlocks.cpp | 4 ++-- TraceValues.cpp | 14 +++++++------- 7 files changed, 37 insertions(+), 37 deletions(-) Index: llvm/lib/Transforms/Instrumentation/BlockProfiling.cpp diff -u llvm/lib/Transforms/Instrumentation/BlockProfiling.cpp:1.18 llvm/lib/Transforms/Instrumentation/BlockProfiling.cpp:1.19 --- llvm/lib/Transforms/Instrumentation/BlockProfiling.cpp:1.18 Wed Dec 6 19:30:31 2006 +++ llvm/lib/Transforms/Instrumentation/BlockProfiling.cpp Sat Dec 30 23:48:39 2006 @@ -57,7 +57,7 @@ if (!I->isExternal()) ++NumFunctions; - const Type *ATy = ArrayType::get(Type::UIntTy, NumFunctions); + const Type *ATy = ArrayType::get(Type::Int32Ty, NumFunctions); GlobalVariable *Counters = new GlobalVariable(ATy, false, GlobalValue::InternalLinkage, Constant::getNullValue(ATy), "FuncProfCounters", &M); @@ -99,7 +99,7 @@ for (Module::iterator I = M.begin(), E = M.end(); I != E; ++I) NumBlocks += I->size(); - const Type *ATy = ArrayType::get(Type::UIntTy, NumBlocks); + const Type *ATy = ArrayType::get(Type::Int32Ty, NumBlocks); GlobalVariable *Counters = new GlobalVariable(ATy, false, GlobalValue::InternalLinkage, Constant::getNullValue(ATy), "BlockProfCounters", &M); Index: llvm/lib/Transforms/Instrumentation/EdgeProfiling.cpp diff -u llvm/lib/Transforms/Instrumentation/EdgeProfiling.cpp:1.9 llvm/lib/Transforms/Instrumentation/EdgeProfiling.cpp:1.10 --- llvm/lib/Transforms/Instrumentation/EdgeProfiling.cpp:1.9 Wed Dec 6 19:30:31 2006 +++ llvm/lib/Transforms/Instrumentation/EdgeProfiling.cpp Sat Dec 30 23:48:39 2006 @@ -58,7 +58,7 @@ NumEdges += BB->getTerminator()->getNumSuccessors(); } - const Type *ATy = ArrayType::get(Type::UIntTy, NumEdges); + const Type *ATy = ArrayType::get(Type::Int32Ty, NumEdges); GlobalVariable *Counters = new GlobalVariable(ATy, false, GlobalValue::InternalLinkage, Constant::getNullValue(ATy), "EdgeProfCounters", &M); Index: llvm/lib/Transforms/Instrumentation/EmitFunctions.cpp diff -u llvm/lib/Transforms/Instrumentation/EmitFunctions.cpp:1.26 llvm/lib/Transforms/Instrumentation/EmitFunctions.cpp:1.27 --- llvm/lib/Transforms/Instrumentation/EmitFunctions.cpp:1.26 Fri Oct 20 02:07:24 2006 +++ llvm/lib/Transforms/Instrumentation/EmitFunctions.cpp Sat Dec 30 23:48:39 2006 @@ -87,7 +87,7 @@ //std::cerr<getParent(); - Function *InitFn = M.getOrInsertFunction(FnName, Type::IntTy, Type::IntTy, - ArgVTy, UIntPtr, Type::UIntTy, + Function *InitFn = M.getOrInsertFunction(FnName, Type::Int32Ty, Type::Int32Ty, + ArgVTy, UIntPtr, Type::Int32Ty, (Type *)0); // This could force argc and argv into programs that wouldn't otherwise have // them, but instead we just pass null values in. std::vector Args(4); - Args[0] = Constant::getNullValue(Type::IntTy); + Args[0] = Constant::getNullValue(Type::Int32Ty); Args[1] = Constant::getNullValue(ArgVTy); // Skip over any allocas in the entry block. @@ -40,7 +40,7 @@ BasicBlock::iterator InsertPos = Entry->begin(); while (isa(InsertPos)) ++InsertPos; - std::vector GEPIndices(2, Constant::getNullValue(Type::IntTy)); + std::vector GEPIndices(2, Constant::getNullValue(Type::Int32Ty)); unsigned NumElements = 0; if (Array) { Args[2] = ConstantExpr::getGetElementPtr(Array, GEPIndices); @@ -51,7 +51,7 @@ // pass null. Args[2] = ConstantPointerNull::get(UIntPtr); } - Args[3] = ConstantInt::get(Type::UIntTy, NumElements); + Args[3] = ConstantInt::get(Type::Int32Ty, NumElements); Instruction *InitCall = new CallInst(InitFn, Args, "newargc", InsertPos); @@ -75,16 +75,16 @@ AI = MainFn->arg_begin(); // If the program looked at argc, have it look at the return value of the // init call instead. - if (AI->getType() != Type::IntTy) { + if (AI->getType() != Type::Int32Ty) { Instruction::CastOps opcode; if (!AI->use_empty()) { opcode = CastInst::getCastOpcode(InitCall, true, AI->getType(), true); AI->replaceAllUsesWith( CastInst::create(opcode, InitCall, AI->getType(), "", InsertPos)); } - opcode = CastInst::getCastOpcode(AI, true, Type::IntTy, true); + opcode = CastInst::getCastOpcode(AI, true, Type::Int32Ty, true); InitCall->setOperand(1, - CastInst::create(opcode, AI, Type::IntTy, "argc.cast", InitCall)); + CastInst::create(opcode, AI, Type::Int32Ty, "argc.cast", InitCall)); } else { AI->replaceAllUsesWith(InitCall); InitCall->setOperand(1, AI); @@ -103,14 +103,14 @@ // Create the getelementptr constant expression std::vector Indices(2); - Indices[0] = Constant::getNullValue(Type::IntTy); - Indices[1] = ConstantInt::get(Type::IntTy, CounterNum); + Indices[0] = Constant::getNullValue(Type::Int32Ty); + Indices[1] = ConstantInt::get(Type::Int32Ty, CounterNum); Constant *ElementPtr = ConstantExpr::getGetElementPtr(CounterArray, Indices); // Load, increment and store the value back. Value *OldVal = new LoadInst(ElementPtr, "OldFuncCounter", InsertPos); Value *NewVal = BinaryOperator::create(Instruction::Add, OldVal, - ConstantInt::get(Type::UIntTy, 1), + ConstantInt::get(Type::Int32Ty, 1), "NewFuncCounter", InsertPos); new StoreInst(NewVal, ElementPtr, InsertPos); } Index: llvm/lib/Transforms/Instrumentation/RSProfiling.cpp diff -u llvm/lib/Transforms/Instrumentation/RSProfiling.cpp:1.13 llvm/lib/Transforms/Instrumentation/RSProfiling.cpp:1.14 --- llvm/lib/Transforms/Instrumentation/RSProfiling.cpp:1.13 Sat Dec 23 00:05:41 2006 +++ llvm/lib/Transforms/Instrumentation/RSProfiling.cpp Sat Dec 30 23:48:39 2006 @@ -290,7 +290,7 @@ CycleCounter::CycleCounter(Module& m, uint64_t resetmask) : rm(resetmask) { - F = m.getOrInsertFunction("llvm.readcyclecounter", Type::ULongTy, NULL); + F = m.getOrInsertFunction("llvm.readcyclecounter", Type::Int64Ty, NULL); } CycleCounter::~CycleCounter() {} @@ -302,11 +302,11 @@ CallInst* c = new CallInst(F, "rdcc", t); BinaryOperator* b = - BinaryOperator::createAnd(c, ConstantInt::get(Type::ULongTy, rm), + BinaryOperator::createAnd(c, ConstantInt::get(Type::Int64Ty, rm), "mrdcc", t); ICmpInst *s = new ICmpInst(ICmpInst::ICMP_EQ, b, - ConstantInt::get(Type::ULongTy, 0), + ConstantInt::get(Type::Int64Ty, 0), "mrdccc", t); t->setCondition(s); @@ -332,15 +332,15 @@ // Create the getelementptr constant expression std::vector Indices(2); - Indices[0] = Constant::getNullValue(Type::IntTy); - Indices[1] = ConstantInt::get(Type::IntTy, CounterNum); + Indices[0] = Constant::getNullValue(Type::Int32Ty); + Indices[1] = ConstantInt::get(Type::Int32Ty, CounterNum); Constant *ElementPtr = ConstantExpr::getGetElementPtr(CounterArray, Indices); // Load, increment and store the value back. Value *OldVal = new LoadInst(ElementPtr, "OldCounter", InsertPos); profcode.insert(OldVal); Value *NewVal = BinaryOperator::createAdd(OldVal, - ConstantInt::get(Type::UIntTy, 1), + ConstantInt::get(Type::Int32Ty, 1), "NewCounter", InsertPos); profcode.insert(NewVal); profcode.insert(new StoreInst(NewVal, ElementPtr, InsertPos)); @@ -539,10 +539,10 @@ bool ProfilerRS::doInitialization(Module &M) { switch (RandomMethod) { case GBV: - c = new GlobalRandomCounter(M, Type::UIntTy, (1 << 14) - 1); + c = new GlobalRandomCounter(M, Type::Int32Ty, (1 << 14) - 1); break; case GBVO: - c = new GlobalRandomCounterOpt(M, Type::UIntTy, (1 << 14) - 1); + c = new GlobalRandomCounterOpt(M, Type::Int32Ty, (1 << 14) - 1); break; case HOSTCC: c = new CycleCounter(M, (1 << 14) - 1); Index: llvm/lib/Transforms/Instrumentation/TraceBasicBlocks.cpp diff -u llvm/lib/Transforms/Instrumentation/TraceBasicBlocks.cpp:1.19 llvm/lib/Transforms/Instrumentation/TraceBasicBlocks.cpp:1.20 --- llvm/lib/Transforms/Instrumentation/TraceBasicBlocks.cpp:1.19 Wed Dec 6 19:30:31 2006 +++ llvm/lib/Transforms/Instrumentation/TraceBasicBlocks.cpp Sat Dec 30 23:48:39 2006 @@ -46,9 +46,9 @@ << "\", \"" << FnName << "\", " << BBNumber << ")\n"; Module &M = *BB->getParent ()->getParent (); Function *InstrFn = M.getOrInsertFunction (FnName, Type::VoidTy, - Type::UIntTy, (Type *)0); + Type::Int32Ty, (Type *)0); std::vector Args (1); - Args[0] = ConstantInt::get (Type::UIntTy, BBNumber); + Args[0] = ConstantInt::get (Type::Int32Ty, BBNumber); // Insert the call after any alloca or PHI instructions... BasicBlock::iterator InsertPos = BB->begin(); Index: llvm/lib/Transforms/Instrumentation/TraceValues.cpp diff -u llvm/lib/Transforms/Instrumentation/TraceValues.cpp:1.78 llvm/lib/Transforms/Instrumentation/TraceValues.cpp:1.79 --- llvm/lib/Transforms/Instrumentation/TraceValues.cpp:1.78 Tue Dec 12 18:50:17 2006 +++ llvm/lib/Transforms/Instrumentation/TraceValues.cpp Sat Dec 30 23:48:39 2006 @@ -123,13 +123,13 @@ // void ExternalFuncs::doInitialization(Module &M) { M.addLibrary("trace"); - const Type *SBP = PointerType::get(Type::SByteTy); + const Type *SBP = PointerType::get(Type::Int8Ty); const FunctionType *MTy = - FunctionType::get(Type::IntTy, std::vector(1, SBP), true); + FunctionType::get(Type::Int32Ty, std::vector(1, SBP), true); PrintfFunc = M.getOrInsertFunction("printf", MTy); // uint (sbyte*) - HashPtrFunc = M.getOrInsertFunction("HashPointerToSeqNum", Type::UIntTy, SBP, + HashPtrFunc = M.getOrInsertFunction("HashPointerToSeqNum", Type::Int32Ty, SBP, (Type *)0); // void (sbyte*) @@ -244,11 +244,11 @@ // Turn the format string into an sbyte * Constant *GEP=ConstantExpr::getGetElementPtr(fmtVal, - std::vector(2,Constant::getNullValue(Type::LongTy))); + std::vector(2,Constant::getNullValue(Type::Int64Ty))); // Insert a call to the hash function if this is a pointer value if (V && isa(V->getType()) && !DisablePtrHashing) { - const Type *SBP = PointerType::get(Type::SByteTy); + const Type *SBP = PointerType::get(Type::Int8Ty); if (V->getType() != SBP) // Cast pointer to be sbyte* V = new BitCastInst(V, SBP, "Hash_cast", InsertBefore); @@ -279,7 +279,7 @@ Instruction *InsertBefore, Function* ReleasePtrFunc) { - const Type *SBP = PointerType::get(Type::SByteTy); + const Type *SBP = PointerType::get(Type::Int8Ty); if (V->getType() != SBP) // Cast pointer to be sbyte* V = new BitCastInst(V, SBP, "RPSN_cast", InsertBefore); @@ -291,7 +291,7 @@ InsertRecordInst(Value *V, BasicBlock *BB, Instruction *InsertBefore, Function* RecordPtrFunc) { - const Type *SBP = PointerType::get(Type::SByteTy); + const Type *SBP = PointerType::get(Type::Int8Ty); if (V->getType() != SBP) // Cast pointer to be sbyte* V = new BitCastInst(V, SBP, "RP_cast", InsertBefore); From reid at x10sys.com Sat Dec 30 23:49:03 2006 From: reid at x10sys.com (Reid Spencer) Date: Sat, 30 Dec 2006 23:49:03 -0600 Subject: [llvm-commits] CVS: llvm/lib/Transforms/ExprTypeConvert.cpp LevelRaise.cpp TransformInternals.cpp Message-ID: <200612310549.kBV5n3l6011926@zion.cs.uiuc.edu> Changes in directory llvm/lib/Transforms: ExprTypeConvert.cpp updated: 1.118 -> 1.119 LevelRaise.cpp updated: 1.117 -> 1.118 TransformInternals.cpp updated: 1.51 -> 1.52 --- Log message: For PR950: http://llvm.org/PR950 : This patch replaces signed integer types with signless ones: 1. [US]Byte -> Int8 2. [U]Short -> Int16 3. [U]Int -> Int32 4. [U]Long -> Int64. 5. Removal of isSigned, isUnsigned, getSignedVersion, getUnsignedVersion and other methods related to signedness. In a few places this warranted identifying the signedness information from other sources. --- Diffs of the changes: (+15 -16) ExprTypeConvert.cpp | 19 +++++++++---------- LevelRaise.cpp | 4 ++-- TransformInternals.cpp | 8 ++++---- 3 files changed, 15 insertions(+), 16 deletions(-) Index: llvm/lib/Transforms/ExprTypeConvert.cpp diff -u llvm/lib/Transforms/ExprTypeConvert.cpp:1.118 llvm/lib/Transforms/ExprTypeConvert.cpp:1.119 --- llvm/lib/Transforms/ExprTypeConvert.cpp:1.118 Sat Dec 23 00:05:41 2006 +++ llvm/lib/Transforms/ExprTypeConvert.cpp Sat Dec 30 23:48:39 2006 @@ -210,8 +210,9 @@ Constant *CPV = cast(V); // Constants are converted by constant folding the cast that is required. // We assume here that all casts are implemented for constant prop. - Instruction::CastOps opcode = CastInst::getCastOpcode(CPV, - CPV->getType()->isSigned(), Ty, Ty->isSigned()); + // FIXME: This seems to work, but it is unclear why ZEXT is always the + // right choice here. + Instruction::CastOps opcode = CastInst::getCastOpcode(CPV, false, Ty,false); Value *Result = ConstantExpr::getCast(opcode, CPV, Ty); // Add the instruction to the expression map //VMC.ExprMap[V] = Result; @@ -231,7 +232,7 @@ case Instruction::BitCast: { assert(VMC.NewCasts.count(ValueHandle(VMC, I)) == 0); Instruction::CastOps opcode = CastInst::getCastOpcode(I->getOperand(0), - I->getOperand(0)->getType()->isSigned(), Ty, Ty->isSigned()); + false, Ty, false); Res = CastInst::create(opcode, I->getOperand(0), Ty, Name); VMC.NewCasts.insert(ValueHandle(VMC, Res)); break; @@ -473,8 +474,6 @@ } case Instruction::LShr: case Instruction::AShr: - if (Ty->isSigned() != V->getType()->isSigned()) return false; - // FALL THROUGH case Instruction::Shl: if (I->getOperand(1) == V) return false; // Cannot change shift amount type if (!Ty->isInteger()) return false; @@ -713,8 +712,8 @@ switch (I->getOpcode()) { case Instruction::BitCast: { - Instruction::CastOps opcode = CastInst::getCastOpcode(NewVal, - NewVal->getType()->isSigned(), I->getType(), I->getType()->isSigned()); + Instruction::CastOps opcode = CastInst::getCastOpcode(NewVal, false, + I->getType(), false); Res = CastInst::create(opcode, NewVal, I->getType(), Name); break; } @@ -768,7 +767,7 @@ if (const CompositeType *CT = dyn_cast(LoadedTy)) { std::vector Indices; - Indices.push_back(Constant::getNullValue(Type::UIntTy)); + Indices.push_back(Constant::getNullValue(Type::Int32Ty)); unsigned Offset = 0; // No offset, get first leaf. LoadedTy = getStructOffsetType(CT, Offset, Indices, TD, false); @@ -801,7 +800,7 @@ if (ElTy != NewTy) { std::vector Indices; - Indices.push_back(Constant::getNullValue(Type::UIntTy)); + Indices.push_back(Constant::getNullValue(Type::Int32Ty)); unsigned Offset = 0; const Type *Ty = getStructOffsetType(ElTy, Offset, Indices, TD,false); @@ -830,7 +829,7 @@ if (isa(ValTy)) { std::vector Indices; - Indices.push_back(Constant::getNullValue(Type::UIntTy)); + Indices.push_back(Constant::getNullValue(Type::Int32Ty)); unsigned Offset = 0; ValTy = getStructOffsetType(ValTy, Offset, Indices, TD, false); Index: llvm/lib/Transforms/LevelRaise.cpp diff -u llvm/lib/Transforms/LevelRaise.cpp:1.117 llvm/lib/Transforms/LevelRaise.cpp:1.118 --- llvm/lib/Transforms/LevelRaise.cpp:1.117 Sat Dec 23 00:05:41 2006 +++ llvm/lib/Transforms/LevelRaise.cpp Sat Dec 30 23:48:39 2006 @@ -206,7 +206,7 @@ // Build the index vector, full of all zeros std::vector Indices; - Indices.push_back(Constant::getNullValue(Type::UIntTy)); + Indices.push_back(Constant::getNullValue(Type::Int32Ty)); while (CurCTy && !isa(CurCTy)) { if (const StructType *CurSTy = dyn_cast(CurCTy)) { // Check for a zero element struct type... if we have one, bail. @@ -221,7 +221,7 @@ } // Insert a zero to index through this type... - Indices.push_back(Constant::getNullValue(Type::UIntTy)); + Indices.push_back(Constant::getNullValue(Type::Int32Ty)); // Did we find what we're looking for? if (ElTy->canLosslesslyBitCastTo(DestPointedTy)) break; Index: llvm/lib/Transforms/TransformInternals.cpp diff -u llvm/lib/Transforms/TransformInternals.cpp:1.51 llvm/lib/Transforms/TransformInternals.cpp:1.52 --- llvm/lib/Transforms/TransformInternals.cpp:1.51 Fri Oct 20 02:07:24 2006 +++ llvm/lib/Transforms/TransformInternals.cpp Sat Dec 30 23:48:39 2006 @@ -34,7 +34,7 @@ (i == SL->MemberOffsets.size()-1 || Offset < SL->MemberOffsets[i+1])); // Make sure to save the current index... - Indices.push_back(ConstantInt::get(Type::UIntTy, i)); + Indices.push_back(ConstantInt::get(Type::Int32Ty, i)); Offset = SL->MemberOffsets[i]; return STy->getContainedType(i); } @@ -73,11 +73,11 @@ NextType = ATy->getElementType(); unsigned ChildSize = (unsigned)TD.getTypeSize(NextType); - if (ConstantInt::isValueValidForType(Type::IntTy, + if (ConstantInt::isValueValidForType(Type::Int32Ty, uint64_t(Offset/ChildSize))) - Indices.push_back(ConstantInt::get(Type::IntTy, Offset/ChildSize)); + Indices.push_back(ConstantInt::get(Type::Int32Ty, Offset/ChildSize)); else - Indices.push_back(ConstantInt::get(Type::LongTy, Offset/ChildSize)); + Indices.push_back(ConstantInt::get(Type::Int64Ty, Offset/ChildSize)); ThisOffset = (Offset/ChildSize)*ChildSize; } else { Offset = 0; // Return the offset that we were able to achieve From reid at x10sys.com Sat Dec 30 23:49:04 2006 From: reid at x10sys.com (Reid Spencer) Date: Sat, 30 Dec 2006 23:49:04 -0600 Subject: [llvm-commits] CVS: llvm/lib/Transforms/Scalar/CorrelatedExprs.cpp IndVarSimplify.cpp InstructionCombining.cpp LoopStrengthReduce.cpp LowerGC.cpp LowerPacked.cpp ScalarReplAggregates.cpp Message-ID: <200612310549.kBV5n4t0011954@zion.cs.uiuc.edu> Changes in directory llvm/lib/Transforms/Scalar: CorrelatedExprs.cpp updated: 1.42 -> 1.43 IndVarSimplify.cpp updated: 1.99 -> 1.100 InstructionCombining.cpp updated: 1.576 -> 1.577 LoopStrengthReduce.cpp updated: 1.102 -> 1.103 LowerGC.cpp updated: 1.16 -> 1.17 LowerPacked.cpp updated: 1.14 -> 1.15 ScalarReplAggregates.cpp updated: 1.61 -> 1.62 --- Log message: For PR950: http://llvm.org/PR950 : This patch replaces signed integer types with signless ones: 1. [US]Byte -> Int8 2. [U]Short -> Int16 3. [U]Int -> Int32 4. [U]Long -> Int64. 5. Removal of isSigned, isUnsigned, getSignedVersion, getUnsignedVersion and other methods related to signedness. In a few places this warranted identifying the signedness information from other sources. --- Diffs of the changes: (+158 -227) CorrelatedExprs.cpp | 2 IndVarSimplify.cpp | 5 InstructionCombining.cpp | 291 ++++++++++++++++++----------------------------- LoopStrengthReduce.cpp | 12 - LowerGC.cpp | 18 +- LowerPacked.cpp | 14 +- ScalarReplAggregates.cpp | 43 +++--- 7 files changed, 158 insertions(+), 227 deletions(-) Index: llvm/lib/Transforms/Scalar/CorrelatedExprs.cpp diff -u llvm/lib/Transforms/Scalar/CorrelatedExprs.cpp:1.42 llvm/lib/Transforms/Scalar/CorrelatedExprs.cpp:1.43 --- llvm/lib/Transforms/Scalar/CorrelatedExprs.cpp:1.42 Sat Dec 23 00:05:41 2006 +++ llvm/lib/Transforms/Scalar/CorrelatedExprs.cpp Sat Dec 30 23:48:39 2006 @@ -111,7 +111,7 @@ Value *Replacement; public: ValueInfo(const Type *Ty) - : Bounds(Ty->isIntegral() ? Ty : Type::IntTy), Replacement(0) {} + : Bounds(Ty->isIntegral() ? Ty : Type::Int32Ty), Replacement(0) {} // getBounds() - Return the constant bounds of the value... const ConstantRange &getBounds() const { return Bounds; } Index: llvm/lib/Transforms/Scalar/IndVarSimplify.cpp diff -u llvm/lib/Transforms/Scalar/IndVarSimplify.cpp:1.99 llvm/lib/Transforms/Scalar/IndVarSimplify.cpp:1.100 --- llvm/lib/Transforms/Scalar/IndVarSimplify.cpp:1.99 Sat Dec 23 00:05:41 2006 +++ llvm/lib/Transforms/Scalar/IndVarSimplify.cpp Sat Dec 30 23:48:39 2006 @@ -173,7 +173,7 @@ Constant *NCE = ConstantExpr::getGetElementPtr(CE->getOperand(0), CEIdxs); GetElementPtrInst *NGEPI = - new GetElementPtrInst(NCE, Constant::getNullValue(Type::IntTy), + new GetElementPtrInst(NCE, Constant::getNullValue(Type::Int32Ty), NewAdd, GEPI->getName(), GEPI); GEPI->replaceAllUsesWith(NGEPI); GEPI->eraseFromParent(); @@ -499,7 +499,6 @@ // Now that we know the largest of of the induction variables in this loop, // insert a canonical induction variable of the largest size. - LargestType = LargestType->getUnsignedVersion(); Value *IndVar = Rewriter.getOrInsertCanonicalInductionVariable(L,LargestType); ++NumInserted; Changed = true; @@ -525,7 +524,7 @@ PHINode *PN = IndVars[i].first; InsertedSizes[PN->getType()->getPrimitiveSize()] = true; Instruction *New = CastInst::create(Instruction::Trunc, IndVar, - PN->getType()->getUnsignedVersion(), "indvar", InsertPt); + PN->getType(), "indvar", InsertPt); Rewriter.addInsertedValue(New, SE->getSCEV(New)); } } Index: llvm/lib/Transforms/Scalar/InstructionCombining.cpp diff -u llvm/lib/Transforms/Scalar/InstructionCombining.cpp:1.576 llvm/lib/Transforms/Scalar/InstructionCombining.cpp:1.577 --- llvm/lib/Transforms/Scalar/InstructionCombining.cpp:1.576 Sat Dec 23 18:40:59 2006 +++ llvm/lib/Transforms/Scalar/InstructionCombining.cpp Sat Dec 30 23:48:39 2006 @@ -340,10 +340,8 @@ // though a va_arg area... static const Type *getPromotedType(const Type *Ty) { switch (Ty->getTypeID()) { - case Type::SByteTyID: - case Type::ShortTyID: return Type::IntTy; - case Type::UByteTyID: - case Type::UShortTyID: return Type::UIntTy; + case Type::Int8TyID: + case Type::Int16TyID: return Type::Int32Ty; case Type::FloatTyID: return Type::DoubleTy; default: return Ty; } @@ -540,14 +538,9 @@ /// GetConstantInType - Return a ConstantInt with the specified type and value. /// static ConstantIntegral *GetConstantInType(const Type *Ty, uint64_t Val) { - if (Ty->isUnsigned()) - return ConstantInt::get(Ty, Val); - else if (Ty->getTypeID() == Type::BoolTyID) + if (Ty->getTypeID() == Type::BoolTyID) return ConstantBool::get(Val); - int64_t SVal = Val; - SVal <<= 64-Ty->getPrimitiveSizeInBits(); - SVal >>= 64-Ty->getPrimitiveSizeInBits(); - return ConstantInt::get(Ty, SVal); + return ConstantInt::get(Ty, Val); } @@ -1575,7 +1568,7 @@ bool shouldApply(Value *LHS) const { return LHS == RHS; } Instruction *apply(BinaryOperator &Add) const { return new ShiftInst(Instruction::Shl, Add.getOperand(0), - ConstantInt::get(Type::UByteTy, 1)); + ConstantInt::get(Type::Int8Ty, 1)); } }; @@ -1825,9 +1818,9 @@ const Type *MiddleType = 0; switch (Size) { default: break; - case 32: MiddleType = Type::IntTy; break; - case 16: MiddleType = Type::ShortTy; break; - case 8: MiddleType = Type::SByteTy; break; + case 32: MiddleType = Type::Int32Ty; break; + case 16: MiddleType = Type::Int16Ty; break; + case 8: MiddleType = Type::Int8Ty; break; } if (MiddleType) { Instruction *NewTrunc = new TruncInst(XorLHS, MiddleType, "sext"); @@ -1935,7 +1928,7 @@ TD->getIntPtrType()->getPrimitiveSize()) && isa(CI->getOperand(0)->getType())) { Value *I2 = InsertCastBefore(Instruction::BitCast, CI->getOperand(0), - PointerType::get(Type::SByteTy), I); + PointerType::get(Type::Int8Ty), I); I2 = InsertNewInstBefore(new GetElementPtrInst(I2, Other, "ctg2"), I); return new PtrToIntInst(I2, CI->getType()); } @@ -2018,9 +2011,10 @@ // Check to see if we are shifting out everything but the sign bit. if (CU->getZExtValue() == SI->getType()->getPrimitiveSizeInBits()-1) { - // Ok, the transformation is safe. Insert LShr. - return new ShiftInst(Instruction::LShr, SI->getOperand(0), - CU, SI->getName()); + + // Ok, the transformation is safe. Insert LShr. + return new ShiftInst(Instruction::LShr, SI->getOperand(0), CU, + SI->getName()); } } } @@ -2173,7 +2167,7 @@ if (isPowerOf2_64(Val)) { // Replace X*(2^C) with X << C uint64_t C = Log2_64(Val); return new ShiftInst(Instruction::Shl, Op0, - ConstantInt::get(Type::UByteTy, C)); + ConstantInt::get(Type::Int8Ty, C)); } } else if (ConstantFP *Op1F = dyn_cast(Op1)) { if (Op1F->isNullValue()) @@ -2234,7 +2228,7 @@ if (isa(SCIOp1) && isSignBitCheck(SCI->getPredicate(), cast(SCIOp1))) { // Shift the X value right to turn it into "all signbits". - Constant *Amt = ConstantInt::get(Type::UByteTy, + Constant *Amt = ConstantInt::get(Type::Int8Ty, SCOpTy->getPrimitiveSizeInBits()-1); Value *V = InsertNewInstBefore(new ShiftInst(Instruction::AShr, SCIOp0, Amt, @@ -2368,7 +2362,7 @@ if (isPowerOf2_64(Val)) { uint64_t ShiftAmt = Log2_64(Val); return new ShiftInst(Instruction::LShr, Op0, - ConstantInt::get(Type::UByteTy, ShiftAmt)); + ConstantInt::get(Type::Int8Ty, ShiftAmt)); } } @@ -2400,13 +2394,13 @@ // Compute the shift amounts unsigned TSA = Log2_64(TVA), FSA = Log2_64(FVA); // Construct the "on true" case of the select - Constant *TC = ConstantInt::get(Type::UByteTy, TSA); + Constant *TC = ConstantInt::get(Type::Int8Ty, TSA); Instruction *TSI = new ShiftInst(Instruction::LShr, Op0, TC, SI->getName()+".t"); TSI = InsertNewInstBefore(TSI, I); // Construct the "on false" case of the select - Constant *FC = ConstantInt::get(Type::UByteTy, FSA); + Constant *FC = ConstantInt::get(Type::Int8Ty, FSA); Instruction *FSI = new ShiftInst(Instruction::LShr, Op0, FC, SI->getName()+".f"); FSI = InsertNewInstBefore(FSI, I); @@ -2480,7 +2474,7 @@ unsigned Zeros = CountTrailingZeros_64(RHS->getZExtValue()); if (Zeros != V->getType()->getPrimitiveSizeInBits()) return ConstantExpr::getShl(Result, - ConstantInt::get(Type::UByteTy, Zeros)); + ConstantInt::get(Type::Int8Ty, Zeros)); } } else if (CastInst *CI = dyn_cast(I)) { // Only handle int->int casts. @@ -3328,12 +3322,7 @@ Instruction *Add = BinaryOperator::createAdd(LHSVal, AddCST, LHSVal->getName()+".off"); InsertNewInstBefore(Add, I); - const Type *UnsType = Add->getType()->getUnsignedVersion(); - Value *OffsetVal = InsertCastBefore(Instruction::BitCast, Add, - UnsType, I); - AddCST = ConstantExpr::getSub(RHSCst, LHSCst); - AddCST = ConstantExpr::getBitCast(AddCST, UnsType); - return new ICmpInst(ICmpInst::ICMP_UGT, OffsetVal, AddCST); + return new ICmpInst(ICmpInst::ICMP_UGT, Add, AddCST); } break; // (X != 13 & X != 15) -> no change } @@ -3530,7 +3519,7 @@ /// If so, insert the new bswap intrinsic and return it. Instruction *InstCombiner::MatchBSwap(BinaryOperator &I) { // We can only handle bswap of unsigned integers, and cannot bswap one byte. - if (!I.getType()->isUnsigned() || I.getType() == Type::UByteTy) + if (I.getType() == Type::Int8Ty) return 0; /// ByteValues - For each byte of the result, we keep track of which value @@ -3556,11 +3545,11 @@ // bswap to make it into. Module *M = I.getParent()->getParent()->getParent(); const char *FnName = 0; - if (I.getType() == Type::UShortTy) + if (I.getType() == Type::Int16Ty) FnName = "llvm.bswap.i16"; - else if (I.getType() == Type::UIntTy) + else if (I.getType() == Type::Int32Ty) FnName = "llvm.bswap.i32"; - else if (I.getType() == Type::ULongTy) + else if (I.getType() == Type::Int64Ty) FnName = "llvm.bswap.i64"; else assert(0 && "Unknown integer type!"); @@ -4093,16 +4082,8 @@ ConstantInt *In2) { Result = cast(ConstantExpr::getAdd(In1, In2)); - if (In1->getType()->isUnsigned()) - return cast(Result)->getZExtValue() < - cast(In1)->getZExtValue(); - if (isPositive(In1) != isPositive(In2)) - return false; - if (isPositive(In1)) - return cast(Result)->getSExtValue() < - cast(In1)->getSExtValue(); - return cast(Result)->getSExtValue() > - cast(In1)->getSExtValue(); + return cast(Result)->getZExtValue() < + cast(In1)->getZExtValue(); } /// EmitGEPOffset - Given a getelementptr instruction/constantexpr, emit the @@ -4596,17 +4577,10 @@ (CI->getZExtValue() == (uint64_t)CI->getSExtValue()))) { ConstantInt *NewCST; ConstantInt *NewCI; - if (Cast->getOperand(0)->getType()->isSigned()) { - NewCST = ConstantInt::get(Cast->getOperand(0)->getType(), - AndCST->getZExtValue()); - NewCI = ConstantInt::get(Cast->getOperand(0)->getType(), - CI->getZExtValue()); - } else { - NewCST = ConstantInt::get(Cast->getOperand(0)->getType(), - AndCST->getZExtValue()); - NewCI = ConstantInt::get(Cast->getOperand(0)->getType(), - CI->getZExtValue()); - } + NewCST = ConstantInt::get(Cast->getOperand(0)->getType(), + AndCST->getZExtValue()); + NewCI = ConstantInt::get(Cast->getOperand(0)->getType(), + CI->getZExtValue()); Instruction *NewAnd = BinaryOperator::createAnd(Cast->getOperand(0), NewCST, LHSI->getName()); @@ -4644,7 +4618,7 @@ int ShAmtVal = Ty->getPrimitiveSizeInBits()-ShAmt->getZExtValue(); if (ShAmtVal < 0) ShAmtVal = 0; // Out of range shift. - Constant *OShAmt = ConstantInt::get(Type::UByteTy, ShAmtVal); + Constant *OShAmt = ConstantInt::get(Type::Int8Ty, ShAmtVal); Constant *ShVal = ConstantExpr::getShl(ConstantInt::getAllOnesValue(AndTy), OShAmt); @@ -4756,15 +4730,7 @@ // Otherwise strength reduce the shift into an and. unsigned ShAmtVal = (unsigned)ShAmt->getZExtValue(); uint64_t Val = (1ULL << (TypeBits-ShAmtVal))-1; - - Constant *Mask; - if (CI->getType()->isUnsigned()) { - Mask = ConstantInt::get(CI->getType(), Val); - } else if (ShAmtVal != 0) { - Mask = ConstantInt::get(CI->getType(), Val); - } else { - Mask = ConstantInt::getAllOnesValue(CI->getType()); - } + Constant *Mask = ConstantInt::get(CI->getType(), Val); Instruction *AndI = BinaryOperator::createAnd(LHSI->getOperand(0), @@ -4791,7 +4757,7 @@ // If we are comparing against bits always shifted out, the // comparison cannot succeed. Constant *Comp; - if (CI->getType()->isUnsigned()) + if (LHSI->getOpcode() == Instruction::LShr) Comp = ConstantExpr::getLShr(ConstantExpr::getShl(CI, ShAmt), ShAmt); else @@ -4810,14 +4776,8 @@ // Otherwise strength reduce the shift into an and. uint64_t Val = ~0ULL; // All ones. Val <<= ShAmtVal; // Shift over to the right spot. - - Constant *Mask; - if (CI->getType()->isUnsigned()) { - Val &= ~0ULL >> (64-TypeBits); - Mask = ConstantInt::get(CI->getType(), Val); - } else { - Mask = ConstantInt::get(CI->getType(), Val); - } + Val &= ~0ULL >> (64-TypeBits); + Constant *Mask = ConstantInt::get(CI->getType(), Val); Instruction *AndI = BinaryOperator::createAnd(LHSI->getOperand(0), @@ -5049,11 +5009,6 @@ // Replace (and X, (1 << size(X)-1) != 0) with x s< 0 if (isSignBit(BOC)) { Value *X = BO->getOperand(0); - // If 'X' is not signed, insert a cast now... - if (!BOC->getType()->isSigned()) { - const Type *DestTy = BOC->getType()->getSignedVersion(); - X = InsertCastBefore(Instruction::BitCast, X, DestTy, I); - } Constant *Zero = Constant::getNullValue(X->getType()); ICmpInst::Predicate pred = isICMP_NE ? ICmpInst::ICMP_SLT : ICmpInst::ICMP_SGE; @@ -5080,21 +5035,21 @@ // icmp eq (bswap(x)), c -> icmp eq (x,bswap(c)) WorkList.push_back(II); // Dead? I.setOperand(0, II->getOperand(1)); - I.setOperand(1, ConstantInt::get(Type::UShortTy, + I.setOperand(1, ConstantInt::get(Type::Int16Ty, ByteSwap_16(CI->getZExtValue()))); return &I; case Intrinsic::bswap_i32: // icmp eq (bswap(x)), c -> icmp eq (x,bswap(c)) WorkList.push_back(II); // Dead? I.setOperand(0, II->getOperand(1)); - I.setOperand(1, ConstantInt::get(Type::UIntTy, + I.setOperand(1, ConstantInt::get(Type::Int32Ty, ByteSwap_32(CI->getZExtValue()))); return &I; case Intrinsic::bswap_i64: // icmp eq (bswap(x)), c -> icmp eq (x,bswap(c)) WorkList.push_back(II); // Dead? I.setOperand(0, II->getOperand(1)); - I.setOperand(1, ConstantInt::get(Type::ULongTy, + I.setOperand(1, ConstantInt::get(Type::Int64Ty, ByteSwap_64(CI->getZExtValue()))); return &I; } @@ -5393,12 +5348,12 @@ } Instruction *InstCombiner::visitShiftInst(ShiftInst &I) { - assert(I.getOperand(1)->getType() == Type::UByteTy); + assert(I.getOperand(1)->getType() == Type::Int8Ty); Value *Op0 = I.getOperand(0), *Op1 = I.getOperand(1); // shl X, 0 == X and shr X, 0 == X // shl 0, X == 0 and shr 0, X == 0 - if (Op1 == Constant::getNullValue(Type::UByteTy) || + if (Op1 == Constant::getNullValue(Type::Int8Ty) || Op0 == Constant::getNullValue(Op0->getType())) return ReplaceInstUsesWith(I, Op0); @@ -5436,9 +5391,8 @@ } if (ConstantInt *CUI = dyn_cast(Op1)) - if (CUI->getType()->isUnsigned()) - if (Instruction *Res = FoldShiftByConstant(Op0, CUI, I)) - return Res; + if (Instruction *Res = FoldShiftByConstant(Op0, CUI, I)) + return Res; return 0; } @@ -5463,7 +5417,7 @@ if (isUnsignedShift || isLeftShift) return ReplaceInstUsesWith(I, Constant::getNullValue(Op0->getType())); else { - I.setOperand(1, ConstantInt::get(Type::UByteTy, TypeBits-1)); + I.setOperand(1, ConstantInt::get(Type::Int8Ty, TypeBits-1)); return &I; } } @@ -5657,7 +5611,7 @@ Value *Op = ShiftOp->getOperand(0); ShiftInst *ShiftResult = new ShiftInst(I.getOpcode(), Op, - ConstantInt::get(Type::UByteTy, Amt)); + ConstantInt::get(Type::Int8Ty, Amt)); if (I.getType() == ShiftResult->getType()) return ShiftResult; InsertNewInstBefore(ShiftResult, I); @@ -5688,20 +5642,20 @@ return ReplaceInstUsesWith(I, Mask); // (A << c) >> c === A & c2 } else if (ShiftAmt1 < ShiftAmt2) { return new ShiftInst(I.getOpcode(), Mask, - ConstantInt::get(Type::UByteTy, ShiftAmt2-ShiftAmt1)); + ConstantInt::get(Type::Int8Ty, ShiftAmt2-ShiftAmt1)); } else if (isShiftOfUnsignedShift || isShiftOfLeftShift) { if (isShiftOfUnsignedShift && !isShiftOfLeftShift && isSignedShift) { return new ShiftInst(Instruction::LShr, Mask, - ConstantInt::get(Type::UByteTy, ShiftAmt1-ShiftAmt2)); + ConstantInt::get(Type::Int8Ty, ShiftAmt1-ShiftAmt2)); } else { return new ShiftInst(ShiftOp->getOpcode(), Mask, - ConstantInt::get(Type::UByteTy, ShiftAmt1-ShiftAmt2)); + ConstantInt::get(Type::Int8Ty, ShiftAmt1-ShiftAmt2)); } } else { // (X >>s C1) << C2 where C1 > C2 === (X >>s (C1-C2)) & mask Instruction *Shift = new ShiftInst(ShiftOp->getOpcode(), Mask, - ConstantInt::get(Type::UByteTy, ShiftAmt1-ShiftAmt2)); + ConstantInt::get(Type::Int8Ty, ShiftAmt1-ShiftAmt2)); InsertNewInstBefore(Shift, I); C = ConstantIntegral::getAllOnesValue(Shift->getType()); @@ -5714,9 +5668,9 @@ if (ShiftAmt1 == ShiftAmt2) { const Type *SExtType = 0; switch (Op0->getType()->getPrimitiveSizeInBits() - ShiftAmt1) { - case 8 : SExtType = Type::SByteTy; break; - case 16: SExtType = Type::ShortTy; break; - case 32: SExtType = Type::IntTy; break; + case 8 : SExtType = Type::Int8Ty; break; + case 16: SExtType = Type::Int16Ty; break; + case 32: SExtType = Type::Int32Ty; break; } if (SExtType) { @@ -5738,38 +5692,34 @@ /// static Value *DecomposeSimpleLinearExpr(Value *Val, unsigned &Scale, unsigned &Offset) { - assert(Val->getType() == Type::UIntTy && "Unexpected allocation size type!"); + assert(Val->getType() == Type::Int32Ty && "Unexpected allocation size type!"); if (ConstantInt *CI = dyn_cast(Val)) { - if (CI->getType()->isUnsigned()) { - Offset = CI->getZExtValue(); - Scale = 1; - return ConstantInt::get(Type::UIntTy, 0); - } + Offset = CI->getZExtValue(); + Scale = 1; + return ConstantInt::get(Type::Int32Ty, 0); } else if (Instruction *I = dyn_cast(Val)) { if (I->getNumOperands() == 2) { if (ConstantInt *CUI = dyn_cast(I->getOperand(1))) { - if (CUI->getType()->isUnsigned()) { - if (I->getOpcode() == Instruction::Shl) { - // This is a value scaled by '1 << the shift amt'. - Scale = 1U << CUI->getZExtValue(); - Offset = 0; - return I->getOperand(0); - } else if (I->getOpcode() == Instruction::Mul) { - // This value is scaled by 'CUI'. - Scale = CUI->getZExtValue(); - Offset = 0; - return I->getOperand(0); - } else if (I->getOpcode() == Instruction::Add) { - // We have X+C. Check to see if we really have (X*C2)+C1, - // where C1 is divisible by C2. - unsigned SubScale; - Value *SubVal = - DecomposeSimpleLinearExpr(I->getOperand(0), SubScale, Offset); - Offset += CUI->getZExtValue(); - if (SubScale > 1 && (Offset % SubScale == 0)) { - Scale = SubScale; - return SubVal; - } + if (I->getOpcode() == Instruction::Shl) { + // This is a value scaled by '1 << the shift amt'. + Scale = 1U << CUI->getZExtValue(); + Offset = 0; + return I->getOperand(0); + } else if (I->getOpcode() == Instruction::Mul) { + // This value is scaled by 'CUI'. + Scale = CUI->getZExtValue(); + Offset = 0; + return I->getOperand(0); + } else if (I->getOpcode() == Instruction::Add) { + // We have X+C. Check to see if we really have (X*C2)+C1, + // where C1 is divisible by C2. + unsigned SubScale; + Value *SubVal = + DecomposeSimpleLinearExpr(I->getOperand(0), SubScale, Offset); + Offset += CUI->getZExtValue(); + if (SubScale > 1 && (Offset % SubScale == 0)) { + Scale = SubScale; + return SubVal; } } } @@ -5844,8 +5794,8 @@ Amt = NumElements; } else { // If the allocation size is constant, form a constant mul expression - Amt = ConstantInt::get(Type::UIntTy, Scale); - if (isa(NumElements) && NumElements->getType()->isUnsigned()) + Amt = ConstantInt::get(Type::Int32Ty, Scale); + if (isa(NumElements)) Amt = ConstantExpr::getMul( cast(NumElements), cast(Amt)); // otherwise multiply the amount and the number of elements @@ -5856,7 +5806,7 @@ } if (unsigned Offset = (AllocElTySize*ArrayOffset)/CastElTySize) { - Value *Off = ConstantInt::get(Type::UIntTy, Offset); + Value *Off = ConstantInt::get(Type::Int32Ty, Offset); Instruction *Tmp = BinaryOperator::createAdd(Amt, Off, "tmp"); Amt = InsertNewInstBefore(Tmp, AI); } @@ -6117,7 +6067,7 @@ // We need to emit an AND to clear the high bits. assert(SrcBitSize < DestBitSize && "Not a zext?"); Constant *C = - ConstantInt::get(Type::ULongTy, (1ULL << SrcBitSize)-1); + ConstantInt::get(Type::Int64Ty, (1ULL << SrcBitSize)-1); if (DestBitSize < 64) C = ConstantExpr::getTrunc(C, DestTy); else { @@ -6261,7 +6211,7 @@ // Insert the shift to put the result in the low bit. In = InsertNewInstBefore( new ShiftInst(Instruction::LShr, In, - ConstantInt::get(Type::UByteTy, ShiftAmt), + ConstantInt::get(Type::Int8Ty, ShiftAmt), In->getName()+".lobit"), CI); } @@ -6442,7 +6392,7 @@ const Type *DstElTy = DstPTy->getElementType(); const Type *SrcElTy = SrcPTy->getElementType(); - Constant *ZeroUInt = Constant::getNullValue(Type::UIntTy); + Constant *ZeroUInt = Constant::getNullValue(Type::Int32Ty); unsigned NumZeros = 0; while (SrcElTy != DstElTy && isa(SrcElTy) && !isa(SrcElTy) && @@ -6530,7 +6480,7 @@ case Instruction::Shl: case Instruction::LShr: case Instruction::AShr: - return Constant::getNullValue(Type::UByteTy); + return Constant::getNullValue(Type::Int8Ty); case Instruction::And: return ConstantInt::getAllOnesValue(I->getType()); case Instruction::Mul: @@ -6697,7 +6647,7 @@ // same width. Make an all-ones value by inserting a AShr. Value *X = IC->getOperand(0); unsigned Bits = X->getType()->getPrimitiveSizeInBits(); - Constant *ShAmt = ConstantInt::get(Type::UByteTy, Bits-1); + Constant *ShAmt = ConstantInt::get(Type::Int8Ty, Bits-1); Instruction *SRA = new ShiftInst(Instruction::AShr, X, ShAmt, "ones"); InsertNewInstBefore(SRA, SI); @@ -6927,7 +6877,7 @@ // Malloc returns maximally aligned memory. Align = TD->getTypeAlignment(AI->getType()->getElementType()); Align = std::max(Align, (unsigned)TD->getTypeAlignment(Type::DoubleTy)); - Align = std::max(Align, (unsigned)TD->getTypeAlignment(Type::LongTy)); + Align = std::max(Align, (unsigned)TD->getTypeAlignment(Type::Int64Ty)); } } return Align; @@ -7007,7 +6957,7 @@ Module *M = CI.getParent()->getParent()->getParent(); const char *Name; if (CI.getCalledFunction()->getFunctionType()->getParamType(2) == - Type::UIntTy) + Type::Int32Ty) Name = "llvm.memcpy.i32"; else Name = "llvm.memcpy.i64"; @@ -7025,13 +6975,13 @@ unsigned Alignment2 = GetKnownAlignment(MI->getOperand(2), TD); unsigned Align = std::min(Alignment1, Alignment2); if (MI->getAlignment()->getZExtValue() < Align) { - MI->setAlignment(ConstantInt::get(Type::UIntTy, Align)); + MI->setAlignment(ConstantInt::get(Type::Int32Ty, Align)); Changed = true; } } else if (isa(MI)) { unsigned Alignment = GetKnownAlignment(MI->getDest(), TD); if (MI->getAlignment()->getZExtValue() < Alignment) { - MI->setAlignment(ConstantInt::get(Type::UIntTy, Alignment)); + MI->setAlignment(ConstantInt::get(Type::Int32Ty, Alignment)); Changed = true; } } @@ -7298,7 +7248,6 @@ //Either we can cast directly, or we can upconvert the argument bool isConvertible = ActTy->canLosslesslyBitCastTo(ParamTy) || (ParamTy->isIntegral() && ActTy->isIntegral() && - ParamTy->isSigned() == ActTy->isSigned() && ParamTy->getPrimitiveSize() >= ActTy->getPrimitiveSize()) || (c && ParamTy->getPrimitiveSize() >= ActTy->getPrimitiveSize() && c->getSExtValue() > 0); @@ -7321,7 +7270,7 @@ Args.push_back(*AI); } else { Instruction::CastOps opcode = CastInst::getCastOpcode(*AI, - (*AI)->getType()->isSigned(), ParamTy, ParamTy->isSigned()); + false, ParamTy, false); CastInst *NewCast = CastInst::create(opcode, *AI, ParamTy, "tmp"); Args.push_back(InsertNewInstBefore(NewCast, *Caller)); } @@ -7343,8 +7292,8 @@ const Type *PTy = getPromotedType((*AI)->getType()); if (PTy != (*AI)->getType()) { // Must promote to pass through va_arg area! - Instruction::CastOps opcode = CastInst::getCastOpcode( - *AI, (*AI)->getType()->isSigned(), PTy, PTy->isSigned()); + Instruction::CastOps opcode = CastInst::getCastOpcode(*AI, false, + PTy, false); Instruction *Cast = CastInst::create(opcode, *AI, PTy, "tmp"); InsertNewInstBefore(Cast, *Caller); Args.push_back(Cast); @@ -7374,8 +7323,8 @@ if (Caller->getType() != NV->getType() && !Caller->use_empty()) { if (NV->getType() != Type::VoidTy) { const Type *CallerTy = Caller->getType(); - Instruction::CastOps opcode = CastInst::getCastOpcode( - NC, NC->getType()->isSigned(), CallerTy, CallerTy->isSigned()); + Instruction::CastOps opcode = CastInst::getCastOpcode(NC, false, + CallerTy, false); NV = NC = CastInst::create(opcode, NC, CallerTy, "tmp"); // If this is an invoke instruction, we should insert it after the first @@ -7728,14 +7677,6 @@ GEP.setOperand(i, Op); MadeChange = true; } - // If this is a constant idx, make sure to canonicalize it to be a signed - // operand, otherwise CSE and other optimizations are pessimized. - if (ConstantInt *CUI = dyn_cast(Op)) - if (CUI->getType()->isUnsigned()) { - GEP.setOperand(i, - ConstantExpr::getBitCast(CUI, CUI->getType()->getSignedVersion())); - MadeChange = true; - } } if (MadeChange) return &GEP; @@ -7878,7 +7819,7 @@ TD->getTypeSize(cast(SrcElTy)->getElementType()) == TD->getTypeSize(ResElTy)) { Value *V = InsertNewInstBefore( - new GetElementPtrInst(X, Constant::getNullValue(Type::IntTy), + new GetElementPtrInst(X, Constant::getNullValue(Type::Int32Ty), GEP.getOperand(1), GEP.getName()), GEP); // V and GEP are both pointer types --> BitCast return new BitCastInst(V, GEP.getType()); @@ -7890,7 +7831,7 @@ // getelementptr [100 x double]* %arr, int 0, int %tmp.2 if (isa(SrcElTy) && - (ResElTy == Type::SByteTy || ResElTy == Type::UByteTy)) { + (ResElTy == Type::Int8Ty || ResElTy == Type::Int8Ty)) { uint64_t ArrayEltSize = TD->getTypeSize(cast(SrcElTy)->getElementType()); @@ -7933,7 +7874,7 @@ // Insert the new GEP instruction. Instruction *NewGEP = - new GetElementPtrInst(X, Constant::getNullValue(Type::IntTy), + new GetElementPtrInst(X, Constant::getNullValue(Type::Int32Ty), NewIdx, GEP.getName()); NewGEP = InsertNewInstBefore(NewGEP, GEP); // The NewGEP must be pointer typed, so must the old one -> BitCast @@ -7973,7 +7914,7 @@ // Now that I is pointing to the first non-allocation-inst in the block, // insert our getelementptr instruction... // - Value *NullIdx = Constant::getNullValue(Type::IntTy); + Value *NullIdx = Constant::getNullValue(Type::Int32Ty); Value *V = new GetElementPtrInst(New, NullIdx, NullIdx, New->getName()+".sub", It); @@ -8038,7 +7979,7 @@ if (const ArrayType *ASrcTy = dyn_cast(SrcPTy)) if (Constant *CSrc = dyn_cast(CastOp)) if (ASrcTy->getNumElements() != 0) { - std::vector Idxs(2, Constant::getNullValue(Type::IntTy)); + std::vector Idxs(2, Constant::getNullValue(Type::Int32Ty)); CastOp = ConstantExpr::getGetElementPtr(CSrc, Idxs); SrcTy = cast(CastOp->getType()); SrcPTy = SrcTy->getElementType(); @@ -8225,7 +8166,7 @@ if (const ArrayType *ASrcTy = dyn_cast(SrcPTy)) if (Constant *CSrc = dyn_cast(CastOp)) if (ASrcTy->getNumElements() != 0) { - std::vector Idxs(2, Constant::getNullValue(Type::IntTy)); + std::vector Idxs(2, Constant::getNullValue(Type::Int32Ty)); CastOp = ConstantExpr::getGetElementPtr(CSrc, Idxs); SrcTy = cast(CastOp->getType()); SrcPTy = SrcTy->getElementType(); @@ -8696,15 +8637,15 @@ unsigned NumElts = cast(V->getType())->getNumElements(); if (isa(V)) { - Mask.assign(NumElts, UndefValue::get(Type::UIntTy)); + Mask.assign(NumElts, UndefValue::get(Type::Int32Ty)); return true; } else if (V == LHS) { for (unsigned i = 0; i != NumElts; ++i) - Mask.push_back(ConstantInt::get(Type::UIntTy, i)); + Mask.push_back(ConstantInt::get(Type::Int32Ty, i)); return true; } else if (V == RHS) { for (unsigned i = 0; i != NumElts; ++i) - Mask.push_back(ConstantInt::get(Type::UIntTy, i+NumElts)); + Mask.push_back(ConstantInt::get(Type::Int32Ty, i+NumElts)); return true; } else if (InsertElementInst *IEI = dyn_cast(V)) { // If this is an insert of an extract from some other vector, include it. @@ -8721,7 +8662,7 @@ // transitively ok. if (CollectSingleShuffleElements(VecOp, LHS, RHS, Mask)) { // If so, update the mask to reflect the inserted undef. - Mask[InsertedIdx] = UndefValue::get(Type::UIntTy); + Mask[InsertedIdx] = UndefValue::get(Type::Int32Ty); return true; } } else if (ExtractElementInst *EI = dyn_cast(ScalarOp)){ @@ -8738,11 +8679,11 @@ // If so, update the mask to reflect the inserted value. if (EI->getOperand(0) == LHS) { Mask[InsertedIdx & (NumElts-1)] = - ConstantInt::get(Type::UIntTy, ExtractedIdx); + ConstantInt::get(Type::Int32Ty, ExtractedIdx); } else { assert(EI->getOperand(0) == RHS); Mask[InsertedIdx & (NumElts-1)] = - ConstantInt::get(Type::UIntTy, ExtractedIdx+NumElts); + ConstantInt::get(Type::Int32Ty, ExtractedIdx+NumElts); } return true; @@ -8767,10 +8708,10 @@ unsigned NumElts = cast(V->getType())->getNumElements(); if (isa(V)) { - Mask.assign(NumElts, UndefValue::get(Type::UIntTy)); + Mask.assign(NumElts, UndefValue::get(Type::Int32Ty)); return V; } else if (isa(V)) { - Mask.assign(NumElts, ConstantInt::get(Type::UIntTy, 0)); + Mask.assign(NumElts, ConstantInt::get(Type::Int32Ty, 0)); return V; } else if (InsertElementInst *IEI = dyn_cast(V)) { // If this is an insert of an extract from some other vector, include it. @@ -8791,7 +8732,7 @@ RHS = EI->getOperand(0); Value *V = CollectShuffleElements(VecOp, Mask, RHS); Mask[InsertedIdx & (NumElts-1)] = - ConstantInt::get(Type::UIntTy, NumElts+ExtractedIdx); + ConstantInt::get(Type::Int32Ty, NumElts+ExtractedIdx); return V; } @@ -8800,7 +8741,7 @@ // Everything but the extracted element is replaced with the RHS. for (unsigned i = 0; i != NumElts; ++i) { if (i != InsertedIdx) - Mask[i] = ConstantInt::get(Type::UIntTy, NumElts+i); + Mask[i] = ConstantInt::get(Type::Int32Ty, NumElts+i); } return V; } @@ -8817,7 +8758,7 @@ // Otherwise, can't do anything fancy. Return an identity vector. for (unsigned i = 0; i != NumElts; ++i) - Mask.push_back(ConstantInt::get(Type::UIntTy, i)); + Mask.push_back(ConstantInt::get(Type::Int32Ty, i)); return V; } @@ -8856,13 +8797,13 @@ // Build a new shuffle mask. std::vector Mask; if (isa(VecOp)) - Mask.assign(NumVectorElts, UndefValue::get(Type::UIntTy)); + Mask.assign(NumVectorElts, UndefValue::get(Type::Int32Ty)); else { assert(isa(VecOp) && "Unknown thing"); - Mask.assign(NumVectorElts, ConstantInt::get(Type::UIntTy, + Mask.assign(NumVectorElts, ConstantInt::get(Type::Int32Ty, NumVectorElts)); } - Mask[InsertedIdx] = ConstantInt::get(Type::UIntTy, ExtractedIdx); + Mask[InsertedIdx] = ConstantInt::get(Type::Int32Ty, ExtractedIdx); return new ShuffleVectorInst(EI->getOperand(0), VecOp, ConstantPacked::get(Mask)); } @@ -8910,14 +8851,14 @@ std::vector Elts; for (unsigned i = 0, e = Mask.size(); i != e; ++i) { if (Mask[i] >= 2*e) - Elts.push_back(UndefValue::get(Type::UIntTy)); + Elts.push_back(UndefValue::get(Type::Int32Ty)); else { if ((Mask[i] >= e && isa(RHS)) || (Mask[i] < e && isa(LHS))) Mask[i] = 2*e; // Turn into undef. else Mask[i] &= (e-1); // Force to LHS. - Elts.push_back(ConstantInt::get(Type::UIntTy, Mask[i])); + Elts.push_back(ConstantInt::get(Type::Int32Ty, Mask[i])); } } SVI.setOperand(0, SVI.getOperand(1)); @@ -8970,9 +8911,9 @@ std::vector Elts; for (unsigned i = 0, e = NewMask.size(); i != e; ++i) { if (NewMask[i] >= e*2) { - Elts.push_back(UndefValue::get(Type::UIntTy)); + Elts.push_back(UndefValue::get(Type::Int32Ty)); } else { - Elts.push_back(ConstantInt::get(Type::UIntTy, NewMask[i])); + Elts.push_back(ConstantInt::get(Type::Int32Ty, NewMask[i])); } } return new ShuffleVectorInst(LHSSVI->getOperand(0), Index: llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp diff -u llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp:1.102 llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp:1.103 --- llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp:1.102 Sat Dec 23 00:05:41 2006 +++ llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp Sat Dec 30 23:48:39 2006 @@ -86,8 +86,8 @@ Value *IncV; IVExpr() - : Stride(SCEVUnknown::getIntegerSCEV(0, Type::UIntTy)), - Base (SCEVUnknown::getIntegerSCEV(0, Type::UIntTy)) {} + : Stride(SCEVUnknown::getIntegerSCEV(0, Type::Int32Ty)), + Base (SCEVUnknown::getIntegerSCEV(0, Type::Int32Ty)) {} IVExpr(const SCEVHandle &stride, const SCEVHandle &base, PHINode *phi, Value *incv) : Stride(stride), Base(base), PHI(phi), IncV(incv) {} @@ -334,12 +334,6 @@ << "] Variable stride: " << *AddRec << "\n"; Stride = AddRec->getOperand(1); - // Check that all constant strides are the unsigned type, we don't want to - // have two IV's one of signed stride 4 and one of unsigned stride 4 to not be - // merged. - assert((!isa(Stride) || Stride->getType()->isUnsigned()) && - "Constants should be canonicalized to unsigned!"); - return true; } @@ -899,7 +893,7 @@ if (unsigned(abs(SInt)) < Scale || (SInt % Scale) != 0) continue; std::map::iterator SI = - IVsByStride.find(SCEVUnknown::getIntegerSCEV(SInt/Scale, Type::UIntTy)); + IVsByStride.find(SCEVUnknown::getIntegerSCEV(SInt/Scale, Type::Int32Ty)); if (SI == IVsByStride.end()) continue; for (std::vector::iterator II = SI->second.IVs.begin(), Index: llvm/lib/Transforms/Scalar/LowerGC.cpp diff -u llvm/lib/Transforms/Scalar/LowerGC.cpp:1.16 llvm/lib/Transforms/Scalar/LowerGC.cpp:1.17 --- llvm/lib/Transforms/Scalar/LowerGC.cpp:1.16 Tue Dec 12 18:50:17 2006 +++ llvm/lib/Transforms/Scalar/LowerGC.cpp Sat Dec 30 23:48:39 2006 @@ -83,7 +83,7 @@ MainRootRecordType ? (Type*)MainRootRecordType : (Type*)OpaqueType::get(); ST.clear(); ST.push_back(PointerType::get(RootListH)); // Prev pointer - ST.push_back(Type::UIntTy); // NumElements in array + ST.push_back(Type::Int32Ty); // NumElements in array ST.push_back(PairArrTy); // The pairs StructType *RootList = StructType::get(ST); if (MainRootRecordType) @@ -103,7 +103,7 @@ GCWriteInt = M.getNamedFunction("llvm.gcwrite"); if (!GCRootInt && !GCReadInt && !GCWriteInt) return false; - PointerType *VoidPtr = PointerType::get(Type::SByteTy); + PointerType *VoidPtr = PointerType::get(Type::Int8Ty); PointerType *VoidPtrPtr = PointerType::get(VoidPtr); // If the program is using read/write barriers, find the implementations of @@ -159,7 +159,7 @@ // Quick exit for programs that are not using GC mechanisms. if (!GCRootInt && !GCReadInt && !GCWriteInt) return false; - PointerType *VoidPtr = PointerType::get(Type::SByteTy); + PointerType *VoidPtr = PointerType::get(Type::Int8Ty); PointerType *VoidPtrPtr = PointerType::get(VoidPtr); // If there are read/write barriers in the program, perform a quick pass over @@ -225,8 +225,8 @@ BasicBlock::iterator IP = AI; while (isa(IP)) ++IP; - Constant *Zero = ConstantInt::get(Type::UIntTy, 0); - Constant *One = ConstantInt::get(Type::UIntTy, 1); + Constant *Zero = ConstantInt::get(Type::Int32Ty, 0); + Constant *One = ConstantInt::get(Type::Int32Ty, 1); // Get a pointer to the prev pointer. std::vector Par; @@ -240,11 +240,11 @@ new StoreInst(PrevPtr, PrevPtrPtr, IP); // Set the number of elements in this record. - Par[1] = ConstantInt::get(Type::UIntTy, 1); + Par[1] = ConstantInt::get(Type::Int32Ty, 1); Value *NumEltsPtr = new GetElementPtrInst(AI, Par, "numeltsptr", IP); - new StoreInst(ConstantInt::get(Type::UIntTy, GCRoots.size()), NumEltsPtr,IP); + new StoreInst(ConstantInt::get(Type::Int32Ty, GCRoots.size()), NumEltsPtr,IP); - Par[1] = ConstantInt::get(Type::UIntTy, 2); + Par[1] = ConstantInt::get(Type::Int32Ty, 2); Par.resize(4); const PointerType *PtrLocTy = @@ -254,7 +254,7 @@ // Initialize all of the gcroot records now, and eliminate them as we go. for (unsigned i = 0, e = GCRoots.size(); i != e; ++i) { // Initialize the meta-data pointer. - Par[2] = ConstantInt::get(Type::UIntTy, i); + Par[2] = ConstantInt::get(Type::Int32Ty, i); Par[3] = One; Value *MetaDataPtr = new GetElementPtrInst(AI, Par, "MetaDataPtr", IP); assert(isa(GCRoots[i]->getOperand(2)) && "Must be a constant"); Index: llvm/lib/Transforms/Scalar/LowerPacked.cpp diff -u llvm/lib/Transforms/Scalar/LowerPacked.cpp:1.14 llvm/lib/Transforms/Scalar/LowerPacked.cpp:1.15 --- llvm/lib/Transforms/Scalar/LowerPacked.cpp:1.14 Sat Dec 23 00:05:41 2006 +++ llvm/lib/Transforms/Scalar/LowerPacked.cpp Sat Dec 30 23:48:39 2006 @@ -209,7 +209,7 @@ if (const PackedType* PKT = dyn_cast(LI.getType())) { // Initialization, Idx is needed for getelementptr needed later std::vector Idx(2); - Idx[0] = ConstantInt::get(Type::UIntTy,0); + Idx[0] = ConstantInt::get(Type::Int32Ty,0); ArrayType* AT = ArrayType::get(PKT->getContainedType(0), PKT->getNumElements()); @@ -225,7 +225,7 @@ for (unsigned i = 0, e = PKT->getNumElements(); i != e; ++i) { // Calculate the second index we will need - Idx[1] = ConstantInt::get(Type::UIntTy,i); + Idx[1] = ConstantInt::get(Type::Int32Ty,i); // Get the pointer Value* val = new GetElementPtrInst(array, @@ -308,7 +308,7 @@ dyn_cast(SI.getOperand(0)->getType())) { // We will need this for getelementptr std::vector Idx(2); - Idx[0] = ConstantInt::get(Type::UIntTy,0); + Idx[0] = ConstantInt::get(Type::Int32Ty,0); ArrayType* AT = ArrayType::get(PKT->getContainedType(0), PKT->getNumElements()); @@ -325,7 +325,7 @@ for (unsigned i = 0, e = PKT->getNumElements(); i != e; ++i) { // Generate the indices for getelementptr - Idx[1] = ConstantInt::get(Type::UIntTy,i); + Idx[1] = ConstantInt::get(Type::Int32Ty,i); Value* val = new GetElementPtrInst(array, Idx, "store.ge." + @@ -375,12 +375,12 @@ } else { AllocaInst *alloca = new AllocaInst(PTy->getElementType(), - ConstantInt::get(Type::UIntTy, PTy->getNumElements()), + ConstantInt::get(Type::Int32Ty, PTy->getNumElements()), EI.getName() + ".alloca", EI.getParent()->getParent()->getEntryBlock().begin()); for (unsigned i = 0; i < PTy->getNumElements(); ++i) { GetElementPtrInst *GEP = - new GetElementPtrInst(alloca, ConstantInt::get(Type::UIntTy, i), + new GetElementPtrInst(alloca, ConstantInt::get(Type::Int32Ty, i), "store.ge", &EI); new StoreInst(op0Vals[i], GEP, &EI); } @@ -411,7 +411,7 @@ for (unsigned i = 0; i != Vals.size(); ++i) { ICmpInst *icmp = new ICmpInst(ICmpInst::ICMP_EQ, Idx, - ConstantInt::get(Type::UIntTy, i), + ConstantInt::get(Type::Int32Ty, i), "icmp", &IE); SelectInst *select = new SelectInst(icmp, Elt, Vals[i], "select", &IE); Index: llvm/lib/Transforms/Scalar/ScalarReplAggregates.cpp diff -u llvm/lib/Transforms/Scalar/ScalarReplAggregates.cpp:1.61 llvm/lib/Transforms/Scalar/ScalarReplAggregates.cpp:1.62 --- llvm/lib/Transforms/Scalar/ScalarReplAggregates.cpp:1.61 Sat Dec 23 00:05:41 2006 +++ llvm/lib/Transforms/Scalar/ScalarReplAggregates.cpp Sat Dec 30 23:48:39 2006 @@ -226,7 +226,7 @@ // std::string OldName = GEPI->getName(); // Steal the old name. std::vector NewArgs; - NewArgs.push_back(Constant::getNullValue(Type::IntTy)); + NewArgs.push_back(Constant::getNullValue(Type::Int32Ty)); NewArgs.insert(NewArgs.end(), GEPI->op_begin()+3, GEPI->op_end()); GEPI->setName(""); RepValue = new GetElementPtrInst(AllocaToUse, NewArgs, OldName, GEPI); @@ -389,7 +389,7 @@ if (!isa(I.getOperand())) { if (NumElements == 1) { - GEPI->setOperand(2, Constant::getNullValue(Type::IntTy)); + GEPI->setOperand(2, Constant::getNullValue(Type::Int32Ty)); } else { assert(NumElements == 2 && "Unhandled case!"); // All users of the GEP must be loads. At each use of the GEP, insert @@ -399,10 +399,10 @@ "isone", GEPI); // Insert the new GEP instructions, which are properly indexed. std::vector Indices(GEPI->op_begin()+1, GEPI->op_end()); - Indices[1] = Constant::getNullValue(Type::IntTy); + Indices[1] = Constant::getNullValue(Type::Int32Ty); Value *ZeroIdx = new GetElementPtrInst(GEPI->getOperand(0), Indices, GEPI->getName()+".0", GEPI); - Indices[1] = ConstantInt::get(Type::IntTy, 1); + Indices[1] = ConstantInt::get(Type::Int32Ty, 1); Value *OneIdx = new GetElementPtrInst(GEPI->getOperand(0), Indices, GEPI->getName()+".1", GEPI); // Replace all loads of the variable index GEP with loads from both @@ -468,8 +468,8 @@ // Pointer/FP/Integer unions merge together as integers. switch (Accum->getTypeID()) { case Type::PointerTyID: Accum = TD.getIntPtrType(); break; - case Type::FloatTyID: Accum = Type::UIntTy; break; - case Type::DoubleTyID: Accum = Type::ULongTy; break; + case Type::FloatTyID: Accum = Type::Int32Ty; break; + case Type::DoubleTyID: Accum = Type::Int64Ty; break; default: assert(Accum->isIntegral() && "Unknown FP type!"); break; @@ -477,8 +477,8 @@ switch (In->getTypeID()) { case Type::PointerTyID: In = TD.getIntPtrType(); break; - case Type::FloatTyID: In = Type::UIntTy; break; - case Type::DoubleTyID: In = Type::ULongTy; break; + case Type::FloatTyID: In = Type::Int32Ty; break; + case Type::DoubleTyID: In = Type::Int64Ty; break; default: assert(In->isIntegral() && "Unknown FP type!"); break; @@ -493,10 +493,10 @@ /// null. const Type *getUIntAtLeastAsBitAs(unsigned NumBits) { if (NumBits > 64) return 0; - if (NumBits > 32) return Type::ULongTy; - if (NumBits > 16) return Type::UIntTy; - if (NumBits > 8) return Type::UShortTy; - return Type::UByteTy; + if (NumBits > 32) return Type::Int64Ty; + if (NumBits > 16) return Type::Int32Ty; + if (NumBits > 8) return Type::Int16Ty; + return Type::Int8Ty; } /// CanConvertToScalar - V is a pointer. If we can convert the pointee to a @@ -610,9 +610,6 @@ "Not in the entry block!"); EntryBlock->getInstList().remove(AI); // Take the alloca out of the program. - if (ActualTy->isInteger()) - ActualTy = ActualTy->getUnsignedVersion(); - // Create and insert the alloca. AllocaInst *NewAI = new AllocaInst(ActualTy, 0, AI->getName(), EntryBlock->begin()); @@ -646,7 +643,7 @@ } else { // Must be an element access. unsigned Elt = Offset/(TD.getTypeSize(PTy->getElementType())*8); - NV = new ExtractElementInst(NV, ConstantInt::get(Type::UIntTy, Elt), + NV = new ExtractElementInst(NV, ConstantInt::get(Type::Int32Ty, Elt), "tmp", LI); } } else if (isa(NV->getType())) { @@ -658,7 +655,7 @@ assert(NV->getType()->isInteger() && "Unknown promotion!"); if (Offset && Offset < TD.getTypeSize(NV->getType())*8) { NV = new ShiftInst(Instruction::LShr, NV, - ConstantInt::get(Type::UByteTy, Offset), + ConstantInt::get(Type::Int8Ty, Offset), LI->getName(), LI); } @@ -673,10 +670,10 @@ switch (LI->getType()->getTypeID()) { default: assert(0 && "Unknown FP type!"); case Type::FloatTyID: - NV = new TruncInst(NV, Type::UIntTy, LI->getName(), LI); + NV = new TruncInst(NV, Type::Int32Ty, LI->getName(), LI); break; case Type::DoubleTyID: - NV = new TruncInst(NV, Type::ULongTy, LI->getName(), LI); + NV = new TruncInst(NV, Type::Int64Ty, LI->getName(), LI); break; } } @@ -710,7 +707,7 @@ // Must be an element insertion. unsigned Elt = Offset/(TD.getTypeSize(PTy->getElementType())*8); SV = new InsertElementInst(Old, SV, - ConstantInt::get(Type::UIntTy, Elt), + ConstantInt::get(Type::Int32Ty, Elt), "tmp", SI); } } else { @@ -722,10 +719,10 @@ assert(!SV->getType()->isFloatingPoint() && "Unknown FP type!"); break; case Type::FloatTyID: - SV = new BitCastInst(SV, Type::UIntTy, SV->getName(), SI); + SV = new BitCastInst(SV, Type::Int32Ty, SV->getName(), SI); break; case Type::DoubleTyID: - SV = new BitCastInst(SV, Type::ULongTy, SV->getName(), SI); + SV = new BitCastInst(SV, Type::Int64Ty, SV->getName(), SI); break; case Type::PointerTyID: if (isa(AllocaType)) @@ -743,7 +740,7 @@ SV->getName(), SI); if (Offset && Offset < AllocaType->getPrimitiveSizeInBits()) SV = new ShiftInst(Instruction::Shl, SV, - ConstantInt::get(Type::UByteTy, Offset), + ConstantInt::get(Type::Int8Ty, Offset), SV->getName()+".adj", SI); // Mask out the bits we are about to insert from the old value. unsigned TotalBits = TD.getTypeSize(SV->getType())*8; From reid at x10sys.com Sat Dec 30 23:50:46 2006 From: reid at x10sys.com (Reid Spencer) Date: Sat, 30 Dec 2006 23:50:46 -0600 Subject: [llvm-commits] CVS: llvm/examples/ModuleMaker/ModuleMaker.cpp Message-ID: <200612310550.kBV5okrH012044@zion.cs.uiuc.edu> Changes in directory llvm/examples/ModuleMaker: ModuleMaker.cpp updated: 1.11 -> 1.12 --- Log message: For PR950: http://llvm.org/PR950 : Convert signed integer types to signless. --- Diffs of the changes: (+3 -3) ModuleMaker.cpp | 6 +++--- 1 files changed, 3 insertions(+), 3 deletions(-) Index: llvm/examples/ModuleMaker/ModuleMaker.cpp diff -u llvm/examples/ModuleMaker/ModuleMaker.cpp:1.11 llvm/examples/ModuleMaker/ModuleMaker.cpp:1.12 --- llvm/examples/ModuleMaker/ModuleMaker.cpp:1.11 Wed Dec 6 19:30:30 2006 +++ llvm/examples/ModuleMaker/ModuleMaker.cpp Sat Dec 30 23:50:28 2006 @@ -27,7 +27,7 @@ Module *M = new Module("test"); // Create the main function: first create the type 'int ()' - FunctionType *FT = FunctionType::get(Type::IntTy, std::vector(), + FunctionType *FT = FunctionType::get(Type::Int32Ty, std::vector(), /*not vararg*/false); // By passing a module as the last parameter to the Function constructor, @@ -39,8 +39,8 @@ BasicBlock *BB = new BasicBlock("EntryBlock", F); // Get pointers to the constant integers... - Value *Two = ConstantInt::get(Type::IntTy, 2); - Value *Three = ConstantInt::get(Type::IntTy, 3); + Value *Two = ConstantInt::get(Type::Int32Ty, 2); + Value *Three = ConstantInt::get(Type::Int32Ty, 3); // Create the add instruction... does not insert... Instruction *Add = BinaryOperator::create(Instruction::Add, Two, Three, From reid at x10sys.com Sat Dec 30 23:50:51 2006 From: reid at x10sys.com (Reid Spencer) Date: Sat, 30 Dec 2006 23:50:51 -0600 Subject: [llvm-commits] CVS: llvm/utils/TableGen/CodeGenIntrinsics.h Message-ID: <200612310550.kBV5opc2012050@zion.cs.uiuc.edu> Changes in directory llvm/utils/TableGen: CodeGenIntrinsics.h updated: 1.10 -> 1.11 --- Log message: For PR950: http://llvm.org/PR950 : Convert signed integer types to signless. --- Diffs of the changes: (+1 -1) CodeGenIntrinsics.h | 2 +- 1 files changed, 1 insertion(+), 1 deletion(-) Index: llvm/utils/TableGen/CodeGenIntrinsics.h diff -u llvm/utils/TableGen/CodeGenIntrinsics.h:1.10 llvm/utils/TableGen/CodeGenIntrinsics.h:1.11 --- llvm/utils/TableGen/CodeGenIntrinsics.h:1.10 Mon Mar 27 18:15:00 2006 +++ llvm/utils/TableGen/CodeGenIntrinsics.h Sat Dec 30 23:50:28 2006 @@ -31,7 +31,7 @@ std::string TargetPrefix; // Target prefix, e.g. "ppc" for t-s intrinsics. /// ArgTypes - The type primitive enum value for the return value and all - /// of the arguments. These are things like Type::UIntTyID. + /// of the arguments. These are things like Type::Int32TyID. std::vector ArgTypes; /// ArgVTs - The MVT::ValueType for each argument type. Note that this list From reid at x10sys.com Sat Dec 30 23:50:52 2006 From: reid at x10sys.com (Reid Spencer) Date: Sat, 30 Dec 2006 23:50:52 -0600 Subject: [llvm-commits] CVS: llvm/examples/HowToUseJIT/HowToUseJIT.cpp Message-ID: <200612310550.kBV5oq1t012055@zion.cs.uiuc.edu> Changes in directory llvm/examples/HowToUseJIT: HowToUseJIT.cpp updated: 1.12 -> 1.13 --- Log message: For PR950: http://llvm.org/PR950 : Convert signed integer types to signless. --- Diffs of the changes: (+5 -5) HowToUseJIT.cpp | 10 +++++----- 1 files changed, 5 insertions(+), 5 deletions(-) Index: llvm/examples/HowToUseJIT/HowToUseJIT.cpp diff -u llvm/examples/HowToUseJIT/HowToUseJIT.cpp:1.12 llvm/examples/HowToUseJIT/HowToUseJIT.cpp:1.13 --- llvm/examples/HowToUseJIT/HowToUseJIT.cpp:1.12 Fri Oct 20 02:07:23 2006 +++ llvm/examples/HowToUseJIT/HowToUseJIT.cpp Sat Dec 30 23:50:28 2006 @@ -52,7 +52,7 @@ // Create the add1 function entry and insert this entry into module M. The // function will have a return type of "int" and take an argument of "int". // The '0' terminates the list of argument types. - Function *Add1F = M->getOrInsertFunction("add1", Type::IntTy, Type::IntTy, + Function *Add1F = M->getOrInsertFunction("add1", Type::Int32Ty, Type::Int32Ty, (Type *)0); // Add a basic block to the function. As before, it automatically inserts @@ -60,7 +60,7 @@ BasicBlock *BB = new BasicBlock("EntryBlock", Add1F); // Get pointers to the constant `1'. - Value *One = ConstantInt::get(Type::IntTy, 1); + Value *One = ConstantInt::get(Type::Int32Ty, 1); // Get pointers to the integer argument of the add1 function... assert(Add1F->arg_begin() != Add1F->arg_end()); // Make sure there's an arg @@ -78,13 +78,13 @@ // Now we going to create function `foo', which returns an int and takes no // arguments. - Function *FooF = M->getOrInsertFunction("foo", Type::IntTy, (Type *)0); + Function *FooF = M->getOrInsertFunction("foo", Type::Int32Ty, (Type *)0); // Add a basic block to the FooF function. BB = new BasicBlock("EntryBlock", FooF); // Get pointers to the constant `10'. - Value *Ten = ConstantInt::get(Type::IntTy, 10); + Value *Ten = ConstantInt::get(Type::Int32Ty, 10); // Pass Ten to the call call: std::vector Params; @@ -107,6 +107,6 @@ GenericValue gv = EE->runFunction(FooF, noargs); // Import result of execution: - std::cout << "Result: " << gv.IntVal << "\n"; + std::cout << "Result: " << gv.Int32Val << "\n"; return 0; } From reid at x10sys.com Sat Dec 30 23:50:53 2006 From: reid at x10sys.com (Reid Spencer) Date: Sat, 30 Dec 2006 23:50:53 -0600 Subject: [llvm-commits] CVS: llvm/examples/ParallelJIT/ParallelJIT.cpp Message-ID: <200612310550.kBV5orKd012060@zion.cs.uiuc.edu> Changes in directory llvm/examples/ParallelJIT: ParallelJIT.cpp updated: 1.7 -> 1.8 --- Log message: For PR950: http://llvm.org/PR950 : Convert signed integer types to signless. --- Diffs of the changes: (+7 -7) ParallelJIT.cpp | 14 +++++++------- 1 files changed, 7 insertions(+), 7 deletions(-) Index: llvm/examples/ParallelJIT/ParallelJIT.cpp diff -u llvm/examples/ParallelJIT/ParallelJIT.cpp:1.7 llvm/examples/ParallelJIT/ParallelJIT.cpp:1.8 --- llvm/examples/ParallelJIT/ParallelJIT.cpp:1.7 Sat Dec 23 00:05:40 2006 +++ llvm/examples/ParallelJIT/ParallelJIT.cpp Sat Dec 30 23:50:28 2006 @@ -34,7 +34,7 @@ // Create the add1 function entry and insert this entry into module M. The // function will have a return type of "int" and take an argument of "int". // The '0' terminates the list of argument types. - Function *Add1F = M->getOrInsertFunction("add1", Type::IntTy, Type::IntTy, + Function *Add1F = M->getOrInsertFunction("add1", Type::Int32Ty, Type::Int32Ty, (Type *)0); // Add a basic block to the function. As before, it automatically inserts @@ -42,7 +42,7 @@ BasicBlock *BB = new BasicBlock("EntryBlock", Add1F); // Get pointers to the constant `1'. - Value *One = ConstantInt::get(Type::IntTy, 1); + Value *One = ConstantInt::get(Type::Int32Ty, 1); // Get pointers to the integer argument of the add1 function... assert(Add1F->arg_begin() != Add1F->arg_end()); // Make sure there's an arg @@ -63,15 +63,15 @@ { // Create the fib function and insert it into module M. This function is said // to return an int and take an int parameter. - Function *FibF = M->getOrInsertFunction("fib", Type::IntTy, Type::IntTy, + Function *FibF = M->getOrInsertFunction("fib", Type::Int32Ty, Type::Int32Ty, (Type *)0); // Add a basic block to the function. BasicBlock *BB = new BasicBlock("EntryBlock", FibF); // Get pointers to the constants. - Value *One = ConstantInt::get(Type::IntTy, 1); - Value *Two = ConstantInt::get(Type::IntTy, 2); + Value *One = ConstantInt::get(Type::Int32Ty, 1); + Value *Two = ConstantInt::get(Type::Int32Ty, 2); // Get pointer to the integer argument of the add1 function... Argument *ArgX = FibF->arg_begin(); // Get the arg. @@ -221,12 +221,12 @@ // Call the `foo' function with no arguments: std::vector Args(1); - Args[0].IntVal = p->value; + Args[0].Int32Val = p->value; synchronize.block(); // wait until other threads are at this point GenericValue gv = p->EE->runFunction(p->F, Args); - return (void*) intptr_t(gv.IntVal); + return (void*) intptr_t(gv.Int32Val); } int main() From reid at x10sys.com Sat Dec 30 23:50:53 2006 From: reid at x10sys.com (Reid Spencer) Date: Sat, 30 Dec 2006 23:50:53 -0600 Subject: [llvm-commits] CVS: llvm/projects/Stacker/lib/compiler/StackerCompiler.cpp Message-ID: <200612310550.kBV5or5G012065@zion.cs.uiuc.edu> Changes in directory llvm/projects/Stacker/lib/compiler: StackerCompiler.cpp updated: 1.28 -> 1.29 --- Log message: For PR950: http://llvm.org/PR950 : Convert signed integer types to signless. --- Diffs of the changes: (+44 -44) StackerCompiler.cpp | 88 ++++++++++++++++++++++++++-------------------------- 1 files changed, 44 insertions(+), 44 deletions(-) Index: llvm/projects/Stacker/lib/compiler/StackerCompiler.cpp diff -u llvm/projects/Stacker/lib/compiler/StackerCompiler.cpp:1.28 llvm/projects/Stacker/lib/compiler/StackerCompiler.cpp:1.29 --- llvm/projects/Stacker/lib/compiler/StackerCompiler.cpp:1.28 Sat Dec 23 00:05:41 2006 +++ llvm/projects/Stacker/lib/compiler/StackerCompiler.cpp Sat Dec 30 23:50:28 2006 @@ -122,7 +122,7 @@ // Create a type to represent the stack. This is the same as the LLVM // Assembly type [ 256 x long ] - stack_type = ArrayType::get( Type::LongTy, stack_size ); + stack_type = ArrayType::get( Type::Int64Ty, stack_size ); // Create a global variable for the stack. Note the use of appending // linkage linkage so that multiple modules will make the stack larger. @@ -141,10 +141,10 @@ // of LinkOnce linkage. Only one copy of _index_ will be retained // after linking TheIndex = new GlobalVariable( - /*type=*/Type::LongTy, + /*type=*/Type::Int64Ty, /*isConstant=*/false, /*Linkage=*/GlobalValue::LinkOnceLinkage, - /*initializer=*/ Constant::getNullValue(Type::LongTy), + /*initializer=*/ Constant::getNullValue(Type::Int64Ty), /*name=*/"_index_", /*parent=*/TheModule ); @@ -155,9 +155,9 @@ DefinitionType = FunctionType::get( Type::VoidTy, params, false ); // Create a function for printf(3) - params.push_back( PointerType::get( Type::SByteTy ) ); + params.push_back( PointerType::get( Type::Int8Ty ) ); FunctionType* printf_type = - FunctionType::get( Type::IntTy, params, true ); + FunctionType::get( Type::Int32Ty, params, true ); ThePrintf = new Function( printf_type, GlobalValue::ExternalLinkage, "printf", TheModule); @@ -167,7 +167,7 @@ // Create a function for exit(3) params.clear(); - params.push_back( Type::IntTy ); + params.push_back( Type::Int32Ty ); FunctionType* exit_type = FunctionType::get( Type::VoidTy, params, false ); TheExit = new Function( @@ -175,7 +175,7 @@ Constant* str_format = ConstantArray::get("%s"); StrFormat = new GlobalVariable( - /*type=*/ArrayType::get( Type::SByteTy, 3 ), + /*type=*/ArrayType::get( Type::Int8Ty, 3 ), /*isConstant=*/true, /*Linkage=*/GlobalValue::LinkOnceLinkage, /*initializer=*/str_format, @@ -185,7 +185,7 @@ Constant* in_str_format = ConstantArray::get(" %as"); InStrFormat = new GlobalVariable( - /*type=*/ArrayType::get( Type::SByteTy, 5 ), + /*type=*/ArrayType::get( Type::Int8Ty, 5 ), /*isConstant=*/true, /*Linkage=*/GlobalValue::LinkOnceLinkage, /*initializer=*/in_str_format, @@ -195,7 +195,7 @@ Constant* num_format = ConstantArray::get("%d"); NumFormat = new GlobalVariable( - /*type=*/ArrayType::get( Type::SByteTy, 3 ), + /*type=*/ArrayType::get( Type::Int8Ty, 3 ), /*isConstant=*/true, /*Linkage=*/GlobalValue::LinkOnceLinkage, /*initializer=*/num_format, @@ -205,7 +205,7 @@ Constant* in_num_format = ConstantArray::get(" %d"); InNumFormat = new GlobalVariable( - /*type=*/ArrayType::get( Type::SByteTy, 4 ), + /*type=*/ArrayType::get( Type::Int8Ty, 4 ), /*isConstant=*/true, /*Linkage=*/GlobalValue::LinkOnceLinkage, /*initializer=*/in_num_format, @@ -215,7 +215,7 @@ Constant* chr_format = ConstantArray::get("%c"); ChrFormat = new GlobalVariable( - /*type=*/ArrayType::get( Type::SByteTy, 3 ), + /*type=*/ArrayType::get( Type::Int8Ty, 3 ), /*isConstant=*/true, /*Linkage=*/GlobalValue::LinkOnceLinkage, /*initializer=*/chr_format, @@ -225,7 +225,7 @@ Constant* in_chr_format = ConstantArray::get(" %c"); InChrFormat = new GlobalVariable( - /*type=*/ArrayType::get( Type::SByteTy, 4 ), + /*type=*/ArrayType::get( Type::Int8Ty, 4 ), /*isConstant=*/true, /*Linkage=*/GlobalValue::LinkOnceLinkage, /*initializer=*/in_chr_format, @@ -234,12 +234,12 @@ ); // Get some constants so we aren't always creating them - Zero = ConstantInt::get( Type::LongTy, 0 ); - One = ConstantInt::get( Type::LongTy, 1 ); - Two = ConstantInt::get( Type::LongTy, 2 ); - Three = ConstantInt::get( Type::LongTy, 3 ); - Four = ConstantInt::get( Type::LongTy, 4 ); - Five = ConstantInt::get( Type::LongTy, 5 ); + Zero = ConstantInt::get( Type::Int64Ty, 0 ); + One = ConstantInt::get( Type::Int64Ty, 1 ); + Two = ConstantInt::get( Type::Int64Ty, 2 ); + Three = ConstantInt::get( Type::Int64Ty, 3 ); + Four = ConstantInt::get( Type::Int64Ty, 4 ); + Five = ConstantInt::get( Type::Int64Ty, 5 ); // Reset the current line number Stackerlineno = 1; @@ -363,7 +363,7 @@ // Increment the loaded index value if ( ival == 0 ) ival = One; - CastInst* caster = CastInst::createSExtOrBitCast( ival, Type::LongTy ); + CastInst* caster = CastInst::createSExtOrBitCast( ival, Type::Int64Ty ); bb->getInstList().push_back( caster ); BinaryOperator* addop = BinaryOperator::create( Instruction::Add, loadop, caster); @@ -384,7 +384,7 @@ // Decrement the loaded index value if ( ival == 0 ) ival = One; - CastInst* caster = CastInst::createSExtOrBitCast( ival, Type::LongTy ); + CastInst* caster = CastInst::createSExtOrBitCast( ival, Type::Int64Ty ); bb->getInstList().push_back( caster ); BinaryOperator* subop = BinaryOperator::create( Instruction::Sub, loadop, caster); @@ -418,7 +418,7 @@ } else { - CastInst* caster = CastInst::createSExtOrBitCast( index, Type::LongTy ); + CastInst* caster = CastInst::createSExtOrBitCast( index, Type::Int64Ty ); bb->getInstList().push_back( caster ); BinaryOperator* subop = BinaryOperator::create( Instruction::Sub, loadop, caster ); @@ -448,7 +448,7 @@ (isa(val->getType()) ? Instruction::PtrToInt : (val->getType()->getPrimitiveSizeInBits() < 64 ? Instruction::SExt : Instruction::BitCast)); - CastInst* cast_inst = CastInst::create(opcode, val, Type::LongTy ); + CastInst* cast_inst = CastInst::create(opcode, val, Type::Int64Ty ); bb->getInstList().push_back( cast_inst ); // Store the value @@ -462,7 +462,7 @@ StackerCompiler::push_integer(BasicBlock* bb, int64_t value ) { // Just push a constant integer value - return push_value( bb, ConstantInt::get( Type::LongTy, value ) ); + return push_value( bb, ConstantInt::get( Type::Int64Ty, value ) ); } Instruction* @@ -491,7 +491,7 @@ // Create a type for the string constant. Length is +1 for // the terminating 0. - ArrayType* char_array = ArrayType::get( Type::SByteTy, len + 1 ); + ArrayType* char_array = ArrayType::get( Type::Int8Ty, len + 1 ); // Create an initializer for the value Constant* initVal = ConstantArray::get( value ); @@ -523,7 +523,7 @@ // Cast the integer to a sbyte* CastInst* caster = - new IntToPtrInst(loader, PointerType::get(Type::SByteTy)); + new IntToPtrInst(loader, PointerType::get(Type::Int8Ty)); bb->getInstList().push_back( caster ); // Decrement stack index @@ -576,7 +576,7 @@ // Cast the integer to a sbyte* CastInst* caster = - new IntToPtrInst(loader, PointerType::get(Type::SByteTy) ); + new IntToPtrInst(loader, PointerType::get(Type::Int8Ty) ); bb->getInstList().push_back( caster ); // Return the value @@ -652,7 +652,7 @@ TheStack->setLinkage( GlobalValue::LinkOnceLinkage ); // Turn "_index_" into an intialized variable for the same reason. - TheIndex->setInitializer( Constant::getNullValue(Type::LongTy) ); + TheIndex->setInitializer( Constant::getNullValue(Type::Int64Ty) ); TheIndex->setLinkage( GlobalValue::LinkOnceLinkage ); return func; @@ -722,7 +722,7 @@ // Compare the condition against 0 ICmpInst* cond_inst = new ICmpInst( ICmpInst::ICMP_NE, cond, - ConstantInt::get( Type::LongTy, 0) ); + ConstantInt::get( Type::Int64Ty, 0) ); bb->getInstList().push_back( cond_inst ); // Create an exit block @@ -806,7 +806,7 @@ // Compare the condition against 0 ICmpInst* cond_inst = new ICmpInst( - ICmpInst::ICMP_NE, cond, ConstantInt::get( Type::LongTy, 0)); + ICmpInst::ICMP_NE, cond, ConstantInt::get( Type::Int64Ty, 0)); test->getInstList().push_back( cond_inst ); // Add the branch instruction @@ -1020,7 +1020,7 @@ if (echo) bb->setName("DECR"); LoadInst* op1 = cast(pop_integer(bb)); BinaryOperator* subop = BinaryOperator::create( Instruction::Sub, op1, - ConstantInt::get( Type::LongTy, 1 ) ); + ConstantInt::get( Type::Int64Ty, 1 ) ); bb->getInstList().push_back( subop ); push_value( bb, subop ); break; @@ -1090,7 +1090,7 @@ // bb->getInstList().push_back( negop ); // So we'll multiply by -1 (ugh) BinaryOperator* multop = BinaryOperator::create( Instruction::Mul, op1, - ConstantInt::get( Type::LongTy, -1 ) ); + ConstantInt::get( Type::Int64Ty, -1 ) ); bb->getInstList().push_back( multop ); push_value( bb, multop ); break; @@ -1245,7 +1245,7 @@ if (echo) bb->setName("SHL"); LoadInst* op1 = cast(pop_integer(bb)); LoadInst* op2 = cast(pop_integer(bb)); - CastInst* castop = new TruncInst( op1, Type::UByteTy ); + CastInst* castop = new TruncInst( op1, Type::Int8Ty ); bb->getInstList().push_back( castop ); ShiftInst* shlop = new ShiftInst( Instruction::Shl, op2, castop ); bb->getInstList().push_back( shlop ); @@ -1257,7 +1257,7 @@ if (echo) bb->setName("SHR"); LoadInst* op1 = cast(pop_integer(bb)); LoadInst* op2 = cast(pop_integer(bb)); - CastInst* castop = new TruncInst( op1, Type::UByteTy ); + CastInst* castop = new TruncInst( op1, Type::Int8Ty ); bb->getInstList().push_back( castop ); ShiftInst* shrop = new ShiftInst( Instruction::AShr, op2, castop ); bb->getInstList().push_back( shrop ); @@ -1479,11 +1479,11 @@ LoadInst* op1 = cast( pop_integer(bb) ); // Make sure its a UIntTy - CastInst* caster = CastInst::createTruncOrBitCast( op1, Type::UIntTy ); + CastInst* caster = CastInst::createTruncOrBitCast( op1, Type::Int32Ty ); bb->getInstList().push_back( caster ); // Allocate the bytes - MallocInst* mi = new MallocInst( Type::SByteTy, caster ); + MallocInst* mi = new MallocInst( Type::Int8Ty, caster ); bb->getInstList().push_back( mi ); // Push the pointer @@ -1507,7 +1507,7 @@ if (echo) bb->setName("GET"); // Get the character index LoadInst* op1 = cast( stack_top(bb) ); - CastInst* chr_idx = CastInst::createSExtOrBitCast( op1, Type::LongTy ); + CastInst* chr_idx = CastInst::createSExtOrBitCast( op1, Type::Int64Ty ); bb->getInstList().push_back( chr_idx ); // Get the String pointer @@ -1522,7 +1522,7 @@ // Get the value and push it LoadInst* loader = new LoadInst( gep ); bb->getInstList().push_back( loader ); - CastInst* caster = CastInst::createTruncOrBitCast(loader, Type::IntTy); + CastInst* caster = CastInst::createTruncOrBitCast(loader, Type::Int32Ty); bb->getInstList().push_back( caster ); // Push the result back on stack @@ -1539,7 +1539,7 @@ // Get the character index LoadInst* w2 = cast( pop_integer(bb) ); - CastInst* chr_idx = CastInst::createSExtOrBitCast( w2, Type::LongTy ); + CastInst* chr_idx = CastInst::createSExtOrBitCast( w2, Type::Int64Ty ); bb->getInstList().push_back( chr_idx ); // Get the String pointer @@ -1552,7 +1552,7 @@ bb->getInstList().push_back( gep ); // Cast the value and put it - CastInst* caster = new TruncInst( w1, Type::SByteTy ); + CastInst* caster = new TruncInst( w1, Type::Int8Ty ); bb->getInstList().push_back( caster ); StoreInst* storer = new StoreInst( caster, gep ); bb->getInstList().push_back( storer ); @@ -1580,7 +1580,7 @@ LoadInst* op1 = cast(pop_integer(bb)); // Cast down to an integer - CastInst* caster = new TruncInst( op1, Type::IntTy ); + CastInst* caster = new TruncInst( op1, Type::Int32Ty ); bb->getInstList().push_back( caster ); // Call exit(3) @@ -1602,7 +1602,7 @@ bb->getInstList().push_back( format_gep ); // Get the character to print (a tab) - ConstantInt* newline = ConstantInt::get(Type::IntTy, + ConstantInt* newline = ConstantInt::get(Type::Int32Ty, static_cast('\t')); // Call printf @@ -1624,7 +1624,7 @@ bb->getInstList().push_back( format_gep ); // Get the character to print (a space) - ConstantInt* newline = ConstantInt::get(Type::IntTy, + ConstantInt* newline = ConstantInt::get(Type::Int32Ty, static_cast(' ')); // Call printf @@ -1646,7 +1646,7 @@ bb->getInstList().push_back( format_gep ); // Get the character to print (a newline) - ConstantInt* newline = ConstantInt::get(Type::IntTy, + ConstantInt* newline = ConstantInt::get(Type::Int32Ty, static_cast('\n')); // Call printf @@ -1664,7 +1664,7 @@ GetElementPtrInst* gep_value = cast(get_stack_pointer(bb)); CastInst* caster = - new BitCastInst(gep_value, PointerType::get(Type::SByteTy)); + new BitCastInst(gep_value, PointerType::get(Type::Int8Ty)); // Make room for the count result incr_stack_index(bb); From reid at x10sys.com Sat Dec 30 23:50:53 2006 From: reid at x10sys.com (Reid Spencer) Date: Sat, 30 Dec 2006 23:50:53 -0600 Subject: [llvm-commits] CVS: llvm/examples/Fibonacci/fibonacci.cpp Message-ID: <200612310550.kBV5orgE012067@zion.cs.uiuc.edu> Changes in directory llvm/examples/Fibonacci: fibonacci.cpp updated: 1.13 -> 1.14 --- Log message: For PR950: http://llvm.org/PR950 : Convert signed integer types to signless. --- Diffs of the changes: (+5 -5) fibonacci.cpp | 10 +++++----- 1 files changed, 5 insertions(+), 5 deletions(-) Index: llvm/examples/Fibonacci/fibonacci.cpp diff -u llvm/examples/Fibonacci/fibonacci.cpp:1.13 llvm/examples/Fibonacci/fibonacci.cpp:1.14 --- llvm/examples/Fibonacci/fibonacci.cpp:1.13 Sat Dec 23 00:05:40 2006 +++ llvm/examples/Fibonacci/fibonacci.cpp Sat Dec 30 23:50:27 2006 @@ -38,15 +38,15 @@ static Function *CreateFibFunction(Module *M) { // Create the fib function and insert it into module M. This function is said // to return an int and take an int parameter. - Function *FibF = M->getOrInsertFunction("fib", Type::IntTy, Type::IntTy, + Function *FibF = M->getOrInsertFunction("fib", Type::Int32Ty, Type::Int32Ty, (Type *)0); // Add a basic block to the function. BasicBlock *BB = new BasicBlock("EntryBlock", FibF); // Get pointers to the constants. - Value *One = ConstantInt::get(Type::IntTy, 1); - Value *Two = ConstantInt::get(Type::IntTy, 2); + Value *One = ConstantInt::get(Type::Int32Ty, 1); + Value *Two = ConstantInt::get(Type::Int32Ty, 2); // Get pointer to the integer argument of the add1 function... Argument *ArgX = FibF->arg_begin(); // Get the arg. @@ -111,10 +111,10 @@ // Call the Fibonacci function with argument n: std::vector Args(1); - Args[0].IntVal = n; + Args[0].Int32Val = n; GenericValue GV = EE->runFunction(FibF, Args); // import result of execution - std::cout << "Result: " << GV.IntVal << "\n"; + std::cout << "Result: " << GV.Int32Val << "\n"; return 0; } From reid at x10sys.com Sat Dec 30 23:51:53 2006 From: reid at x10sys.com (Reid Spencer) Date: Sat, 30 Dec 2006 23:51:53 -0600 Subject: [llvm-commits] CVS: llvm/lib/ExecutionEngine/JIT/JIT.cpp Message-ID: <200612310551.kBV5prOV012110@zion.cs.uiuc.edu> Changes in directory llvm/lib/ExecutionEngine/JIT: JIT.cpp updated: 1.84 -> 1.85 --- Log message: For PR950: http://llvm.org/PR950 : Convert signed integer types to signless ones. --- Diffs of the changes: (+24 -32) JIT.cpp | 56 ++++++++++++++++++++++++-------------------------------- 1 files changed, 24 insertions(+), 32 deletions(-) Index: llvm/lib/ExecutionEngine/JIT/JIT.cpp diff -u llvm/lib/ExecutionEngine/JIT/JIT.cpp:1.84 llvm/lib/ExecutionEngine/JIT/JIT.cpp:1.85 --- llvm/lib/ExecutionEngine/JIT/JIT.cpp:1.84 Sun Dec 17 15:04:02 2006 +++ llvm/lib/ExecutionEngine/JIT/JIT.cpp Sat Dec 30 23:51:36 2006 @@ -95,11 +95,11 @@ // Handle some common cases first. These cases correspond to common `main' // prototypes. - if (RetTy == Type::IntTy || RetTy == Type::UIntTy || RetTy == Type::VoidTy) { + if (RetTy == Type::Int32Ty || RetTy == Type::Int32Ty || RetTy == Type::VoidTy) { switch (ArgValues.size()) { case 3: - if ((FTy->getParamType(0) == Type::IntTy || - FTy->getParamType(0) == Type::UIntTy) && + if ((FTy->getParamType(0) == Type::Int32Ty || + FTy->getParamType(0) == Type::Int32Ty) && isa(FTy->getParamType(1)) && isa(FTy->getParamType(2))) { int (*PF)(int, char **, const char **) = @@ -107,30 +107,30 @@ // Call the function. GenericValue rv; - rv.IntVal = PF(ArgValues[0].IntVal, (char **)GVTOP(ArgValues[1]), + rv.Int32Val = PF(ArgValues[0].Int32Val, (char **)GVTOP(ArgValues[1]), (const char **)GVTOP(ArgValues[2])); return rv; } break; case 2: - if ((FTy->getParamType(0) == Type::IntTy || - FTy->getParamType(0) == Type::UIntTy) && + if ((FTy->getParamType(0) == Type::Int32Ty || + FTy->getParamType(0) == Type::Int32Ty) && isa(FTy->getParamType(1))) { int (*PF)(int, char **) = (int(*)(int, char **))(intptr_t)FPtr; // Call the function. GenericValue rv; - rv.IntVal = PF(ArgValues[0].IntVal, (char **)GVTOP(ArgValues[1])); + rv.Int32Val = PF(ArgValues[0].Int32Val, (char **)GVTOP(ArgValues[1])); return rv; } break; case 1: if (FTy->getNumParams() == 1 && - (FTy->getParamType(0) == Type::IntTy || - FTy->getParamType(0) == Type::UIntTy)) { + (FTy->getParamType(0) == Type::Int32Ty || + FTy->getParamType(0) == Type::Int32Ty)) { GenericValue rv; int (*PF)(int) = (int(*)(int))(intptr_t)FPtr; - rv.IntVal = PF(ArgValues[0].IntVal); + rv.Int32Val = PF(ArgValues[0].Int32Val); return rv; } break; @@ -145,22 +145,18 @@ case Type::BoolTyID: rv.BoolVal = ((bool(*)())(intptr_t)FPtr)(); return rv; - case Type::SByteTyID: - case Type::UByteTyID: - rv.SByteVal = ((char(*)())(intptr_t)FPtr)(); + case Type::Int8TyID: + rv.Int8Val = ((char(*)())(intptr_t)FPtr)(); return rv; - case Type::ShortTyID: - case Type::UShortTyID: - rv.ShortVal = ((short(*)())(intptr_t)FPtr)(); + case Type::Int16TyID: + rv.Int16Val = ((short(*)())(intptr_t)FPtr)(); return rv; case Type::VoidTyID: - case Type::IntTyID: - case Type::UIntTyID: - rv.IntVal = ((int(*)())(intptr_t)FPtr)(); + case Type::Int32TyID: + rv.Int32Val = ((int(*)())(intptr_t)FPtr)(); return rv; - case Type::LongTyID: - case Type::ULongTyID: - rv.LongVal = ((int64_t(*)())(intptr_t)FPtr)(); + case Type::Int64TyID: + rv.Int64Val = ((int64_t(*)())(intptr_t)FPtr)(); return rv; case Type::FloatTyID: rv.FloatVal = ((float(*)())(intptr_t)FPtr)(); @@ -196,22 +192,18 @@ switch (ArgTy->getTypeID()) { default: assert(0 && "Unknown argument type for function call!"); case Type::BoolTyID: C = ConstantBool::get(AV.BoolVal); break; - case Type::SByteTyID: C = ConstantInt::get(ArgTy, AV.SByteVal); break; - case Type::UByteTyID: C = ConstantInt::get(ArgTy, AV.UByteVal); break; - case Type::ShortTyID: C = ConstantInt::get(ArgTy, AV.ShortVal); break; - case Type::UShortTyID: C = ConstantInt::get(ArgTy, AV.UShortVal); break; - case Type::IntTyID: C = ConstantInt::get(ArgTy, AV.IntVal); break; - case Type::UIntTyID: C = ConstantInt::get(ArgTy, AV.UIntVal); break; - case Type::LongTyID: C = ConstantInt::get(ArgTy, AV.LongVal); break; - case Type::ULongTyID: C = ConstantInt::get(ArgTy, AV.ULongVal); break; + case Type::Int8TyID: C = ConstantInt::get(ArgTy, AV.Int8Val); break; + case Type::Int16TyID: C = ConstantInt::get(ArgTy, AV.Int16Val); break; + case Type::Int32TyID: C = ConstantInt::get(ArgTy, AV.Int32Val); break; + case Type::Int64TyID: C = ConstantInt::get(ArgTy, AV.Int64Val); break; case Type::FloatTyID: C = ConstantFP ::get(ArgTy, AV.FloatVal); break; case Type::DoubleTyID: C = ConstantFP ::get(ArgTy, AV.DoubleVal); break; case Type::PointerTyID: void *ArgPtr = GVTOP(AV); if (sizeof(void*) == 4) { - C = ConstantInt::get(Type::IntTy, (int)(intptr_t)ArgPtr); + C = ConstantInt::get(Type::Int32Ty, (int)(intptr_t)ArgPtr); } else { - C = ConstantInt::get(Type::LongTy, (intptr_t)ArgPtr); + C = ConstantInt::get(Type::Int64Ty, (intptr_t)ArgPtr); } C = ConstantExpr::getIntToPtr(C, ArgTy); // Cast the integer to pointer break; From reid at x10sys.com Sat Dec 30 23:51:55 2006 From: reid at x10sys.com (Reid Spencer) Date: Sat, 30 Dec 2006 23:51:55 -0600 Subject: [llvm-commits] CVS: llvm/lib/ExecutionEngine/ExecutionEngine.cpp Message-ID: <200612310551.kBV5psYA012115@zion.cs.uiuc.edu> Changes in directory llvm/lib/ExecutionEngine: ExecutionEngine.cpp updated: 1.93 -> 1.94 --- Log message: For PR950: http://llvm.org/PR950 : Convert signed integer types to signless ones. --- Diffs of the changes: (+69 -97) ExecutionEngine.cpp | 166 +++++++++++++++++++++------------------------------- 1 files changed, 69 insertions(+), 97 deletions(-) Index: llvm/lib/ExecutionEngine/ExecutionEngine.cpp diff -u llvm/lib/ExecutionEngine/ExecutionEngine.cpp:1.93 llvm/lib/ExecutionEngine/ExecutionEngine.cpp:1.94 --- llvm/lib/ExecutionEngine/ExecutionEngine.cpp:1.93 Tue Dec 19 16:43:32 2006 +++ llvm/lib/ExecutionEngine/ExecutionEngine.cpp Sat Dec 30 23:51:35 2006 @@ -157,7 +157,7 @@ char *Result = new char[(InputArgv.size()+1)*PtrSize]; DOUT << "ARGV = " << (void*)Result << "\n"; - const Type *SBytePtr = PointerType::get(Type::SByteTy); + const Type *SBytePtr = PointerType::get(Type::Int8Ty); for (unsigned i = 0; i != InputArgv.size(); ++i) { unsigned Size = InputArgv[i].size()+1; @@ -228,7 +228,7 @@ const char * const * envp) { std::vector GVArgs; GenericValue GVArgc; - GVArgc.IntVal = argv.size(); + GVArgc.Int32Val = argv.size(); unsigned NumArgs = Fn->getFunctionType()->getNumParams(); if (NumArgs) { GVArgs.push_back(GVArgc); // Arg #0 = argc. @@ -244,7 +244,7 @@ } } } - return runFunction(Fn, GVArgs).IntVal; + return runFunction(Fn, GVArgs).Int32Val; } /// If possible, create a JIT, unless the caller specifically requests an @@ -317,9 +317,9 @@ TD->getIndexedOffset(CE->getOperand(0)->getType(), Indexes); if (getTargetData()->getPointerSize() == 4) - Result.IntVal += Offset; + Result.Int32Val += Offset; else - Result.LongVal += Offset; + Result.Int64Val += Offset; return Result; } case Instruction::Trunc: @@ -352,14 +352,10 @@ GenericValue GV = getConstantValue(Op); switch (Op->getType()->getTypeID()) { case Type::BoolTyID: return PTOGV((void*)(uintptr_t)GV.BoolVal); - case Type::SByteTyID: return PTOGV((void*)( intptr_t)GV.SByteVal); - case Type::UByteTyID: return PTOGV((void*)(uintptr_t)GV.UByteVal); - case Type::ShortTyID: return PTOGV((void*)( intptr_t)GV.ShortVal); - case Type::UShortTyID: return PTOGV((void*)(uintptr_t)GV.UShortVal); - case Type::IntTyID: return PTOGV((void*)( intptr_t)GV.IntVal); - case Type::UIntTyID: return PTOGV((void*)(uintptr_t)GV.UIntVal); - case Type::LongTyID: return PTOGV((void*)( intptr_t)GV.LongVal); - case Type::ULongTyID: return PTOGV((void*)(uintptr_t)GV.ULongVal); + case Type::Int8TyID: return PTOGV((void*)(uintptr_t)GV.Int8Val); + case Type::Int16TyID: return PTOGV((void*)(uintptr_t)GV.Int16Val); + case Type::Int32TyID: return PTOGV((void*)(uintptr_t)GV.Int32Val); + case Type::Int64TyID: return PTOGV((void*)(uintptr_t)GV.Int64Val); default: assert(0 && "Unknown integral type!"); } break; @@ -367,25 +363,21 @@ case Instruction::Add: switch (CE->getOperand(0)->getType()->getTypeID()) { default: assert(0 && "Bad add type!"); abort(); - case Type::LongTyID: - case Type::ULongTyID: - Result.LongVal = getConstantValue(CE->getOperand(0)).LongVal + - getConstantValue(CE->getOperand(1)).LongVal; + case Type::Int64TyID: + Result.Int64Val = getConstantValue(CE->getOperand(0)).Int64Val + + getConstantValue(CE->getOperand(1)).Int64Val; break; - case Type::IntTyID: - case Type::UIntTyID: - Result.IntVal = getConstantValue(CE->getOperand(0)).IntVal + - getConstantValue(CE->getOperand(1)).IntVal; + case Type::Int32TyID: + Result.Int32Val = getConstantValue(CE->getOperand(0)).Int32Val + + getConstantValue(CE->getOperand(1)).Int32Val; break; - case Type::ShortTyID: - case Type::UShortTyID: - Result.ShortVal = getConstantValue(CE->getOperand(0)).ShortVal + - getConstantValue(CE->getOperand(1)).ShortVal; + case Type::Int16TyID: + Result.Int16Val = getConstantValue(CE->getOperand(0)).Int16Val + + getConstantValue(CE->getOperand(1)).Int16Val; break; - case Type::SByteTyID: - case Type::UByteTyID: - Result.SByteVal = getConstantValue(CE->getOperand(0)).SByteVal + - getConstantValue(CE->getOperand(1)).SByteVal; + case Type::Int8TyID: + Result.Int8Val = getConstantValue(CE->getOperand(0)).Int8Val + + getConstantValue(CE->getOperand(1)).Int8Val; break; case Type::FloatTyID: Result.FloatVal = getConstantValue(CE->getOperand(0)).FloatVal + @@ -407,17 +399,13 @@ switch (C->getType()->getTypeID()) { #define GET_CONST_VAL(TY, CTY, CLASS, GETMETH) \ case Type::TY##TyID: Result.TY##Val = (CTY)cast(C)->GETMETH(); break - GET_CONST_VAL(Bool , bool , ConstantBool, getValue); - GET_CONST_VAL(UByte , unsigned char , ConstantInt, getZExtValue); - GET_CONST_VAL(SByte , signed char , ConstantInt, getSExtValue); - GET_CONST_VAL(UShort , unsigned short, ConstantInt, getZExtValue); - GET_CONST_VAL(Short , signed short , ConstantInt, getSExtValue); - GET_CONST_VAL(UInt , unsigned int , ConstantInt, getZExtValue); - GET_CONST_VAL(Int , signed int , ConstantInt, getSExtValue); - GET_CONST_VAL(ULong , uint64_t , ConstantInt, getZExtValue); - GET_CONST_VAL(Long , int64_t , ConstantInt, getSExtValue); - GET_CONST_VAL(Float , float , ConstantFP, getValue); - GET_CONST_VAL(Double , double , ConstantFP, getValue); + GET_CONST_VAL(Bool , bool , ConstantBool, getValue); + GET_CONST_VAL(Int8 , unsigned char , ConstantInt, getZExtValue); + GET_CONST_VAL(Int16 , unsigned short, ConstantInt, getZExtValue); + GET_CONST_VAL(Int32 , unsigned int , ConstantInt, getZExtValue); + GET_CONST_VAL(Int64 , uint64_t , ConstantInt, getZExtValue); + GET_CONST_VAL(Float , float , ConstantFP, getValue); + GET_CONST_VAL(Double, double , ConstantFP, getValue); #undef GET_CONST_VAL case Type::PointerTyID: if (isa(C)) @@ -446,33 +434,29 @@ if (getTargetData()->isLittleEndian()) { switch (Ty->getTypeID()) { case Type::BoolTyID: - case Type::UByteTyID: - case Type::SByteTyID: Ptr->Untyped[0] = Val.UByteVal; break; - case Type::UShortTyID: - case Type::ShortTyID: Ptr->Untyped[0] = Val.UShortVal & 255; - Ptr->Untyped[1] = (Val.UShortVal >> 8) & 255; + case Type::Int8TyID: Ptr->Untyped[0] = Val.Int8Val; break; + case Type::Int16TyID: Ptr->Untyped[0] = Val.Int16Val & 255; + Ptr->Untyped[1] = (Val.Int16Val >> 8) & 255; break; Store4BytesLittleEndian: case Type::FloatTyID: - case Type::UIntTyID: - case Type::IntTyID: Ptr->Untyped[0] = Val.UIntVal & 255; - Ptr->Untyped[1] = (Val.UIntVal >> 8) & 255; - Ptr->Untyped[2] = (Val.UIntVal >> 16) & 255; - Ptr->Untyped[3] = (Val.UIntVal >> 24) & 255; + case Type::Int32TyID: Ptr->Untyped[0] = Val.Int32Val & 255; + Ptr->Untyped[1] = (Val.Int32Val >> 8) & 255; + Ptr->Untyped[2] = (Val.Int32Val >> 16) & 255; + Ptr->Untyped[3] = (Val.Int32Val >> 24) & 255; break; case Type::PointerTyID: if (getTargetData()->getPointerSize() == 4) goto Store4BytesLittleEndian; case Type::DoubleTyID: - case Type::ULongTyID: - case Type::LongTyID: - Ptr->Untyped[0] = (unsigned char)(Val.ULongVal ); - Ptr->Untyped[1] = (unsigned char)(Val.ULongVal >> 8); - Ptr->Untyped[2] = (unsigned char)(Val.ULongVal >> 16); - Ptr->Untyped[3] = (unsigned char)(Val.ULongVal >> 24); - Ptr->Untyped[4] = (unsigned char)(Val.ULongVal >> 32); - Ptr->Untyped[5] = (unsigned char)(Val.ULongVal >> 40); - Ptr->Untyped[6] = (unsigned char)(Val.ULongVal >> 48); - Ptr->Untyped[7] = (unsigned char)(Val.ULongVal >> 56); + case Type::Int64TyID: + Ptr->Untyped[0] = (unsigned char)(Val.Int64Val ); + Ptr->Untyped[1] = (unsigned char)(Val.Int64Val >> 8); + Ptr->Untyped[2] = (unsigned char)(Val.Int64Val >> 16); + Ptr->Untyped[3] = (unsigned char)(Val.Int64Val >> 24); + Ptr->Untyped[4] = (unsigned char)(Val.Int64Val >> 32); + Ptr->Untyped[5] = (unsigned char)(Val.Int64Val >> 40); + Ptr->Untyped[6] = (unsigned char)(Val.Int64Val >> 48); + Ptr->Untyped[7] = (unsigned char)(Val.Int64Val >> 56); break; default: cerr << "Cannot store value of type " << *Ty << "!\n"; @@ -480,33 +464,29 @@ } else { switch (Ty->getTypeID()) { case Type::BoolTyID: - case Type::UByteTyID: - case Type::SByteTyID: Ptr->Untyped[0] = Val.UByteVal; break; - case Type::UShortTyID: - case Type::ShortTyID: Ptr->Untyped[1] = Val.UShortVal & 255; - Ptr->Untyped[0] = (Val.UShortVal >> 8) & 255; + case Type::Int8TyID: Ptr->Untyped[0] = Val.Int8Val; break; + case Type::Int16TyID: Ptr->Untyped[1] = Val.Int16Val & 255; + Ptr->Untyped[0] = (Val.Int16Val >> 8) & 255; break; Store4BytesBigEndian: case Type::FloatTyID: - case Type::UIntTyID: - case Type::IntTyID: Ptr->Untyped[3] = Val.UIntVal & 255; - Ptr->Untyped[2] = (Val.UIntVal >> 8) & 255; - Ptr->Untyped[1] = (Val.UIntVal >> 16) & 255; - Ptr->Untyped[0] = (Val.UIntVal >> 24) & 255; + case Type::Int32TyID: Ptr->Untyped[3] = Val.Int32Val & 255; + Ptr->Untyped[2] = (Val.Int32Val >> 8) & 255; + Ptr->Untyped[1] = (Val.Int32Val >> 16) & 255; + Ptr->Untyped[0] = (Val.Int32Val >> 24) & 255; break; case Type::PointerTyID: if (getTargetData()->getPointerSize() == 4) goto Store4BytesBigEndian; case Type::DoubleTyID: - case Type::ULongTyID: - case Type::LongTyID: - Ptr->Untyped[7] = (unsigned char)(Val.ULongVal ); - Ptr->Untyped[6] = (unsigned char)(Val.ULongVal >> 8); - Ptr->Untyped[5] = (unsigned char)(Val.ULongVal >> 16); - Ptr->Untyped[4] = (unsigned char)(Val.ULongVal >> 24); - Ptr->Untyped[3] = (unsigned char)(Val.ULongVal >> 32); - Ptr->Untyped[2] = (unsigned char)(Val.ULongVal >> 40); - Ptr->Untyped[1] = (unsigned char)(Val.ULongVal >> 48); - Ptr->Untyped[0] = (unsigned char)(Val.ULongVal >> 56); + case Type::Int64TyID: + Ptr->Untyped[7] = (unsigned char)(Val.Int64Val ); + Ptr->Untyped[6] = (unsigned char)(Val.Int64Val >> 8); + Ptr->Untyped[5] = (unsigned char)(Val.Int64Val >> 16); + Ptr->Untyped[4] = (unsigned char)(Val.Int64Val >> 24); + Ptr->Untyped[3] = (unsigned char)(Val.Int64Val >> 32); + Ptr->Untyped[2] = (unsigned char)(Val.Int64Val >> 40); + Ptr->Untyped[1] = (unsigned char)(Val.Int64Val >> 48); + Ptr->Untyped[0] = (unsigned char)(Val.Int64Val >> 56); break; default: cerr << "Cannot store value of type " << *Ty << "!\n"; @@ -522,16 +502,13 @@ if (getTargetData()->isLittleEndian()) { switch (Ty->getTypeID()) { case Type::BoolTyID: - case Type::UByteTyID: - case Type::SByteTyID: Result.UByteVal = Ptr->Untyped[0]; break; - case Type::UShortTyID: - case Type::ShortTyID: Result.UShortVal = (unsigned)Ptr->Untyped[0] | + case Type::Int8TyID: Result.Int8Val = Ptr->Untyped[0]; break; + case Type::Int16TyID: Result.Int16Val = (unsigned)Ptr->Untyped[0] | ((unsigned)Ptr->Untyped[1] << 8); break; Load4BytesLittleEndian: case Type::FloatTyID: - case Type::UIntTyID: - case Type::IntTyID: Result.UIntVal = (unsigned)Ptr->Untyped[0] | + case Type::Int32TyID: Result.Int32Val = (unsigned)Ptr->Untyped[0] | ((unsigned)Ptr->Untyped[1] << 8) | ((unsigned)Ptr->Untyped[2] << 16) | ((unsigned)Ptr->Untyped[3] << 24); @@ -539,8 +516,7 @@ case Type::PointerTyID: if (getTargetData()->getPointerSize() == 4) goto Load4BytesLittleEndian; case Type::DoubleTyID: - case Type::ULongTyID: - case Type::LongTyID: Result.ULongVal = (uint64_t)Ptr->Untyped[0] | + case Type::Int64TyID: Result.Int64Val = (uint64_t)Ptr->Untyped[0] | ((uint64_t)Ptr->Untyped[1] << 8) | ((uint64_t)Ptr->Untyped[2] << 16) | ((uint64_t)Ptr->Untyped[3] << 24) | @@ -556,16 +532,13 @@ } else { switch (Ty->getTypeID()) { case Type::BoolTyID: - case Type::UByteTyID: - case Type::SByteTyID: Result.UByteVal = Ptr->Untyped[0]; break; - case Type::UShortTyID: - case Type::ShortTyID: Result.UShortVal = (unsigned)Ptr->Untyped[1] | - ((unsigned)Ptr->Untyped[0] << 8); + case Type::Int8TyID: Result.Int8Val = Ptr->Untyped[0]; break; + case Type::Int16TyID: Result.Int16Val = (unsigned)Ptr->Untyped[1] | + ((unsigned)Ptr->Untyped[0] << 8); break; Load4BytesBigEndian: case Type::FloatTyID: - case Type::UIntTyID: - case Type::IntTyID: Result.UIntVal = (unsigned)Ptr->Untyped[3] | + case Type::Int32TyID: Result.Int32Val =(unsigned)Ptr->Untyped[3] | ((unsigned)Ptr->Untyped[2] << 8) | ((unsigned)Ptr->Untyped[1] << 16) | ((unsigned)Ptr->Untyped[0] << 24); @@ -573,8 +546,7 @@ case Type::PointerTyID: if (getTargetData()->getPointerSize() == 4) goto Load4BytesBigEndian; case Type::DoubleTyID: - case Type::ULongTyID: - case Type::LongTyID: Result.ULongVal = (uint64_t)Ptr->Untyped[7] | + case Type::Int64TyID: Result.Int64Val = (uint64_t)Ptr->Untyped[7] | ((uint64_t)Ptr->Untyped[6] << 8) | ((uint64_t)Ptr->Untyped[5] << 16) | ((uint64_t)Ptr->Untyped[4] << 24) | From reid at x10sys.com Sat Dec 30 23:51:55 2006 From: reid at x10sys.com (Reid Spencer) Date: Sat, 30 Dec 2006 23:51:55 -0600 Subject: [llvm-commits] CVS: llvm/lib/ExecutionEngine/Interpreter/Execution.cpp ExternalFunctions.cpp Message-ID: <200612310551.kBV5ptBU012122@zion.cs.uiuc.edu> Changes in directory llvm/lib/ExecutionEngine/Interpreter: Execution.cpp updated: 1.154 -> 1.155 ExternalFunctions.cpp updated: 1.92 -> 1.93 --- Log message: For PR950: http://llvm.org/PR950 : Convert signed integer types to signless ones. --- Diffs of the changes: (+253 -369) Execution.cpp | 526 +++++++++++++++++++------------------------------- ExternalFunctions.cpp | 96 ++++----- 2 files changed, 253 insertions(+), 369 deletions(-) Index: llvm/lib/ExecutionEngine/Interpreter/Execution.cpp diff -u llvm/lib/ExecutionEngine/Interpreter/Execution.cpp:1.154 llvm/lib/ExecutionEngine/Interpreter/Execution.cpp:1.155 --- llvm/lib/ExecutionEngine/Interpreter/Execution.cpp:1.154 Sat Dec 23 00:05:41 2006 +++ llvm/lib/ExecutionEngine/Interpreter/Execution.cpp Sat Dec 30 23:51:36 2006 @@ -194,14 +194,10 @@ const Type *Ty) { GenericValue Dest; switch (Ty->getTypeID()) { - IMPLEMENT_BINARY_OPERATOR(+, UByte); - IMPLEMENT_BINARY_OPERATOR(+, SByte); - IMPLEMENT_BINARY_OPERATOR(+, UShort); - IMPLEMENT_BINARY_OPERATOR(+, Short); - IMPLEMENT_BINARY_OPERATOR(+, UInt); - IMPLEMENT_BINARY_OPERATOR(+, Int); - IMPLEMENT_BINARY_OPERATOR(+, ULong); - IMPLEMENT_BINARY_OPERATOR(+, Long); + IMPLEMENT_BINARY_OPERATOR(+, Int8); + IMPLEMENT_BINARY_OPERATOR(+, Int16); + IMPLEMENT_BINARY_OPERATOR(+, Int32); + IMPLEMENT_BINARY_OPERATOR(+, Int64); IMPLEMENT_BINARY_OPERATOR(+, Float); IMPLEMENT_BINARY_OPERATOR(+, Double); default: @@ -215,14 +211,10 @@ const Type *Ty) { GenericValue Dest; switch (Ty->getTypeID()) { - IMPLEMENT_BINARY_OPERATOR(-, UByte); - IMPLEMENT_BINARY_OPERATOR(-, SByte); - IMPLEMENT_BINARY_OPERATOR(-, UShort); - IMPLEMENT_BINARY_OPERATOR(-, Short); - IMPLEMENT_BINARY_OPERATOR(-, UInt); - IMPLEMENT_BINARY_OPERATOR(-, Int); - IMPLEMENT_BINARY_OPERATOR(-, ULong); - IMPLEMENT_BINARY_OPERATOR(-, Long); + IMPLEMENT_BINARY_OPERATOR(-, Int8); + IMPLEMENT_BINARY_OPERATOR(-, Int16); + IMPLEMENT_BINARY_OPERATOR(-, Int32); + IMPLEMENT_BINARY_OPERATOR(-, Int64); IMPLEMENT_BINARY_OPERATOR(-, Float); IMPLEMENT_BINARY_OPERATOR(-, Double); default: @@ -236,14 +228,10 @@ const Type *Ty) { GenericValue Dest; switch (Ty->getTypeID()) { - IMPLEMENT_BINARY_OPERATOR(*, UByte); - IMPLEMENT_BINARY_OPERATOR(*, SByte); - IMPLEMENT_BINARY_OPERATOR(*, UShort); - IMPLEMENT_BINARY_OPERATOR(*, Short); - IMPLEMENT_BINARY_OPERATOR(*, UInt); - IMPLEMENT_BINARY_OPERATOR(*, Int); - IMPLEMENT_BINARY_OPERATOR(*, ULong); - IMPLEMENT_BINARY_OPERATOR(*, Long); + IMPLEMENT_BINARY_OPERATOR(*, Int8); + IMPLEMENT_BINARY_OPERATOR(*, Int16); + IMPLEMENT_BINARY_OPERATOR(*, Int32); + IMPLEMENT_BINARY_OPERATOR(*, Int64); IMPLEMENT_BINARY_OPERATOR(*, Float); IMPLEMENT_BINARY_OPERATOR(*, Double); default: @@ -253,17 +241,18 @@ return Dest; } -#define IMPLEMENT_SIGNLESS_BINOP(OP, TY1, TY2) \ - case Type::TY2##TyID: IMPLEMENT_BINARY_OPERATOR(OP, TY1) +#define IMPLEMENT_SIGNLESS_BINOP(OP, TY, CAST) \ + case Type::TY##TyID: Dest.TY##Val = \ + ((CAST)Src1.TY##Val) OP ((CAST)Src2.TY##Val); break static GenericValue executeUDivInst(GenericValue Src1, GenericValue Src2, const Type *Ty) { GenericValue Dest; switch (Ty->getTypeID()) { - IMPLEMENT_SIGNLESS_BINOP(/, UByte, SByte); - IMPLEMENT_SIGNLESS_BINOP(/, UShort, Short); - IMPLEMENT_SIGNLESS_BINOP(/, UInt, Int); - IMPLEMENT_SIGNLESS_BINOP(/, ULong, Long); + IMPLEMENT_SIGNLESS_BINOP(/, Int8, uint8_t); + IMPLEMENT_SIGNLESS_BINOP(/, Int16, uint16_t); + IMPLEMENT_SIGNLESS_BINOP(/, Int32, uint32_t); + IMPLEMENT_SIGNLESS_BINOP(/, Int64, uint64_t); default: cerr << "Unhandled type for UDiv instruction: " << *Ty << "\n"; abort(); @@ -275,10 +264,10 @@ const Type *Ty) { GenericValue Dest; switch (Ty->getTypeID()) { - IMPLEMENT_SIGNLESS_BINOP(/, SByte, UByte); - IMPLEMENT_SIGNLESS_BINOP(/, Short, UShort); - IMPLEMENT_SIGNLESS_BINOP(/, Int, UInt); - IMPLEMENT_SIGNLESS_BINOP(/, Long, ULong); + IMPLEMENT_SIGNLESS_BINOP(/, Int8, int8_t); + IMPLEMENT_SIGNLESS_BINOP(/, Int16, int16_t); + IMPLEMENT_SIGNLESS_BINOP(/, Int32, int32_t); + IMPLEMENT_SIGNLESS_BINOP(/, Int64, int64_t); default: cerr << "Unhandled type for SDiv instruction: " << *Ty << "\n"; abort(); @@ -303,10 +292,10 @@ const Type *Ty) { GenericValue Dest; switch (Ty->getTypeID()) { - IMPLEMENT_SIGNLESS_BINOP(%, UByte, SByte); - IMPLEMENT_SIGNLESS_BINOP(%, UShort, Short); - IMPLEMENT_SIGNLESS_BINOP(%, UInt, Int); - IMPLEMENT_SIGNLESS_BINOP(%, ULong, Long); + IMPLEMENT_SIGNLESS_BINOP(%, Int8, uint8_t); + IMPLEMENT_SIGNLESS_BINOP(%, Int16, uint16_t); + IMPLEMENT_SIGNLESS_BINOP(%, Int32, uint32_t); + IMPLEMENT_SIGNLESS_BINOP(%, Int64, uint64_t ); default: cerr << "Unhandled type for URem instruction: " << *Ty << "\n"; abort(); @@ -318,10 +307,10 @@ const Type *Ty) { GenericValue Dest; switch (Ty->getTypeID()) { - IMPLEMENT_SIGNLESS_BINOP(%, SByte, UByte); - IMPLEMENT_SIGNLESS_BINOP(%, Short, UShort); - IMPLEMENT_SIGNLESS_BINOP(%, Int, UInt); - IMPLEMENT_SIGNLESS_BINOP(%, Long, ULong); + IMPLEMENT_SIGNLESS_BINOP(%, Int8, int8_t); + IMPLEMENT_SIGNLESS_BINOP(%, Int16, int16_t); + IMPLEMENT_SIGNLESS_BINOP(%, Int32, int32_t); + IMPLEMENT_SIGNLESS_BINOP(%, Int64, int64_t); default: cerr << "Unhandled type for Rem instruction: " << *Ty << "\n"; abort(); @@ -351,14 +340,10 @@ GenericValue Dest; switch (Ty->getTypeID()) { IMPLEMENT_BINARY_OPERATOR(&, Bool); - IMPLEMENT_BINARY_OPERATOR(&, UByte); - IMPLEMENT_BINARY_OPERATOR(&, SByte); - IMPLEMENT_BINARY_OPERATOR(&, UShort); - IMPLEMENT_BINARY_OPERATOR(&, Short); - IMPLEMENT_BINARY_OPERATOR(&, UInt); - IMPLEMENT_BINARY_OPERATOR(&, Int); - IMPLEMENT_BINARY_OPERATOR(&, ULong); - IMPLEMENT_BINARY_OPERATOR(&, Long); + IMPLEMENT_BINARY_OPERATOR(&, Int8); + IMPLEMENT_BINARY_OPERATOR(&, Int16); + IMPLEMENT_BINARY_OPERATOR(&, Int32); + IMPLEMENT_BINARY_OPERATOR(&, Int64); default: cerr << "Unhandled type for And instruction: " << *Ty << "\n"; abort(); @@ -371,14 +356,10 @@ GenericValue Dest; switch (Ty->getTypeID()) { IMPLEMENT_BINARY_OPERATOR(|, Bool); - IMPLEMENT_BINARY_OPERATOR(|, UByte); - IMPLEMENT_BINARY_OPERATOR(|, SByte); - IMPLEMENT_BINARY_OPERATOR(|, UShort); - IMPLEMENT_BINARY_OPERATOR(|, Short); - IMPLEMENT_BINARY_OPERATOR(|, UInt); - IMPLEMENT_BINARY_OPERATOR(|, Int); - IMPLEMENT_BINARY_OPERATOR(|, ULong); - IMPLEMENT_BINARY_OPERATOR(|, Long); + IMPLEMENT_BINARY_OPERATOR(|, Int8); + IMPLEMENT_BINARY_OPERATOR(|, Int16); + IMPLEMENT_BINARY_OPERATOR(|, Int32); + IMPLEMENT_BINARY_OPERATOR(|, Int64); default: cerr << "Unhandled type for Or instruction: " << *Ty << "\n"; abort(); @@ -391,14 +372,10 @@ GenericValue Dest; switch (Ty->getTypeID()) { IMPLEMENT_BINARY_OPERATOR(^, Bool); - IMPLEMENT_BINARY_OPERATOR(^, UByte); - IMPLEMENT_BINARY_OPERATOR(^, SByte); - IMPLEMENT_BINARY_OPERATOR(^, UShort); - IMPLEMENT_BINARY_OPERATOR(^, Short); - IMPLEMENT_BINARY_OPERATOR(^, UInt); - IMPLEMENT_BINARY_OPERATOR(^, Int); - IMPLEMENT_BINARY_OPERATOR(^, ULong); - IMPLEMENT_BINARY_OPERATOR(^, Long); + IMPLEMENT_BINARY_OPERATOR(^, Int8); + IMPLEMENT_BINARY_OPERATOR(^, Int16); + IMPLEMENT_BINARY_OPERATOR(^, Int32); + IMPLEMENT_BINARY_OPERATOR(^, Int64); default: cerr << "Unhandled type for Xor instruction: " << *Ty << "\n"; abort(); @@ -406,8 +383,9 @@ return Dest; } -#define IMPLEMENT_CMP(OP, TY1, TY2) \ - case Type::TY1##TyID: Dest.BoolVal = Src1.TY2##Val OP Src2.TY2##Val; break +#define IMPLEMENT_ICMP(OP, TY, CAST) \ + case Type::TY##TyID: Dest.BoolVal = \ + ((CAST)Src1.TY##Val) OP ((CAST)Src2.TY##Val); break // Handle pointers specially because they must be compared with only as much // width as the host has. We _do not_ want to be comparing 64 bit values when @@ -422,14 +400,10 @@ const Type *Ty) { GenericValue Dest; switch (Ty->getTypeID()) { - IMPLEMENT_CMP(==, UByte, UByte); - IMPLEMENT_CMP(==, SByte, SByte); - IMPLEMENT_CMP(==, UShort, UShort); - IMPLEMENT_CMP(==, Short, Short); - IMPLEMENT_CMP(==, UInt, UInt); - IMPLEMENT_CMP(==, Int, Int); - IMPLEMENT_CMP(==, ULong, ULong); - IMPLEMENT_CMP(==, Long, Long); + IMPLEMENT_ICMP(==, Int8, uint8_t); + IMPLEMENT_ICMP(==, Int16, uint16_t); + IMPLEMENT_ICMP(==, Int32, uint32_t); + IMPLEMENT_ICMP(==, Int64, uint64_t); IMPLEMENT_POINTERCMP(==); default: cerr << "Unhandled type for ICMP_EQ predicate: " << *Ty << "\n"; @@ -442,14 +416,10 @@ const Type *Ty) { GenericValue Dest; switch (Ty->getTypeID()) { - IMPLEMENT_CMP(!=, UByte, UByte); - IMPLEMENT_CMP(!=, SByte, SByte); - IMPLEMENT_CMP(!=, UShort,UShort); - IMPLEMENT_CMP(!=, Short, Short); - IMPLEMENT_CMP(!=, UInt, UInt); - IMPLEMENT_CMP(!=, Int, Int); - IMPLEMENT_CMP(!=, ULong, ULong); - IMPLEMENT_CMP(!=, Long, Long); + IMPLEMENT_ICMP(!=, Int8, uint8_t); + IMPLEMENT_ICMP(!=, Int16, uint16_t); + IMPLEMENT_ICMP(!=, Int32, uint32_t); + IMPLEMENT_ICMP(!=, Int64, uint64_t); IMPLEMENT_POINTERCMP(!=); default: cerr << "Unhandled type for ICMP_NE predicate: " << *Ty << "\n"; @@ -462,14 +432,10 @@ const Type *Ty) { GenericValue Dest; switch (Ty->getTypeID()) { - IMPLEMENT_CMP(<, SByte, UByte); - IMPLEMENT_CMP(<, Short, UShort); - IMPLEMENT_CMP(<, Int, UInt); - IMPLEMENT_CMP(<, Long, ULong); - IMPLEMENT_CMP(<, UByte, UByte); - IMPLEMENT_CMP(<, UShort, UShort); - IMPLEMENT_CMP(<, UInt, UInt); - IMPLEMENT_CMP(<, ULong, ULong); + IMPLEMENT_ICMP(<, Int8, uint8_t); + IMPLEMENT_ICMP(<, Int16, uint16_t); + IMPLEMENT_ICMP(<, Int32, uint32_t); + IMPLEMENT_ICMP(<, Int64, uint64_t); IMPLEMENT_POINTERCMP(<); default: cerr << "Unhandled type for ICMP_ULT predicate: " << *Ty << "\n"; @@ -482,14 +448,10 @@ const Type *Ty) { GenericValue Dest; switch (Ty->getTypeID()) { - IMPLEMENT_CMP(<, SByte, SByte); - IMPLEMENT_CMP(<, Short, Short); - IMPLEMENT_CMP(<, Int, Int); - IMPLEMENT_CMP(<, Long, Long); - IMPLEMENT_CMP(<, UByte, SByte); - IMPLEMENT_CMP(<, UShort, Short); - IMPLEMENT_CMP(<, UInt, Int); - IMPLEMENT_CMP(<, ULong, Long); + IMPLEMENT_ICMP(<, Int8, int8_t); + IMPLEMENT_ICMP(<, Int16, int16_t); + IMPLEMENT_ICMP(<, Int32, int32_t); + IMPLEMENT_ICMP(<, Int64, int64_t); IMPLEMENT_POINTERCMP(<); default: cerr << "Unhandled type for ICMP_SLT predicate: " << *Ty << "\n"; @@ -502,14 +464,10 @@ const Type *Ty) { GenericValue Dest; switch (Ty->getTypeID()) { - IMPLEMENT_CMP(>, SByte, UByte); - IMPLEMENT_CMP(>, Short, UShort); - IMPLEMENT_CMP(>, Int, UInt); - IMPLEMENT_CMP(>, Long, ULong); - IMPLEMENT_CMP(>, UByte, UByte); - IMPLEMENT_CMP(>, UShort, UShort); - IMPLEMENT_CMP(>, UInt, UInt); - IMPLEMENT_CMP(>, ULong, ULong); + IMPLEMENT_ICMP(>, Int8, uint8_t); + IMPLEMENT_ICMP(>, Int16, uint16_t); + IMPLEMENT_ICMP(>, Int32, uint32_t); + IMPLEMENT_ICMP(>, Int64, uint64_t); IMPLEMENT_POINTERCMP(>); default: cerr << "Unhandled type for ICMP_UGT predicate: " << *Ty << "\n"; @@ -522,14 +480,10 @@ const Type *Ty) { GenericValue Dest; switch (Ty->getTypeID()) { - IMPLEMENT_CMP(>, SByte, SByte); - IMPLEMENT_CMP(>, Short, Short); - IMPLEMENT_CMP(>, Int, Int); - IMPLEMENT_CMP(>, Long, Long); - IMPLEMENT_CMP(>, UByte, SByte); - IMPLEMENT_CMP(>, UShort, Short); - IMPLEMENT_CMP(>, UInt, Int); - IMPLEMENT_CMP(>, ULong, Long); + IMPLEMENT_ICMP(>, Int8, int8_t); + IMPLEMENT_ICMP(>, Int16, int16_t); + IMPLEMENT_ICMP(>, Int32, int32_t); + IMPLEMENT_ICMP(>, Int64, int64_t); IMPLEMENT_POINTERCMP(>); default: cerr << "Unhandled type for ICMP_SGT predicate: " << *Ty << "\n"; @@ -542,14 +496,10 @@ const Type *Ty) { GenericValue Dest; switch (Ty->getTypeID()) { - IMPLEMENT_CMP(<=, SByte, UByte); - IMPLEMENT_CMP(<=, Short, UShort); - IMPLEMENT_CMP(<=, Int, UInt); - IMPLEMENT_CMP(<=, Long, ULong); - IMPLEMENT_CMP(<=, UByte, UByte); - IMPLEMENT_CMP(<=, UShort, UShort); - IMPLEMENT_CMP(<=, UInt, UInt); - IMPLEMENT_CMP(<=, ULong, ULong); + IMPLEMENT_ICMP(<=, Int8, uint8_t); + IMPLEMENT_ICMP(<=, Int16, uint16_t); + IMPLEMENT_ICMP(<=, Int32, uint32_t); + IMPLEMENT_ICMP(<=, Int64, uint64_t); IMPLEMENT_POINTERCMP(<=); default: cerr << "Unhandled type for ICMP_ULE predicate: " << *Ty << "\n"; @@ -562,14 +512,10 @@ const Type *Ty) { GenericValue Dest; switch (Ty->getTypeID()) { - IMPLEMENT_CMP(<=, SByte, SByte); - IMPLEMENT_CMP(<=, Short, Short); - IMPLEMENT_CMP(<=, Int, Int); - IMPLEMENT_CMP(<=, Long, Long); - IMPLEMENT_CMP(<=, UByte, SByte); - IMPLEMENT_CMP(<=, UShort, Short); - IMPLEMENT_CMP(<=, UInt, Int); - IMPLEMENT_CMP(<=, ULong, Long); + IMPLEMENT_ICMP(<=, Int8, int8_t); + IMPLEMENT_ICMP(<=, Int16, int16_t); + IMPLEMENT_ICMP(<=, Int32, int32_t); + IMPLEMENT_ICMP(<=, Int64, int64_t); IMPLEMENT_POINTERCMP(<=); default: cerr << "Unhandled type for ICMP_SLE predicate: " << *Ty << "\n"; @@ -582,14 +528,10 @@ const Type *Ty) { GenericValue Dest; switch (Ty->getTypeID()) { - IMPLEMENT_CMP(>=, SByte, UByte); - IMPLEMENT_CMP(>=, Short, UShort); - IMPLEMENT_CMP(>=, Int, UInt); - IMPLEMENT_CMP(>=, Long, ULong); - IMPLEMENT_CMP(>=, UByte, UByte); - IMPLEMENT_CMP(>=, UShort, UShort); - IMPLEMENT_CMP(>=, UInt, UInt); - IMPLEMENT_CMP(>=, ULong, ULong); + IMPLEMENT_ICMP(>=, Int8, uint8_t); + IMPLEMENT_ICMP(>=, Int16, uint16_t); + IMPLEMENT_ICMP(>=, Int32, uint32_t); + IMPLEMENT_ICMP(>=, Int64, uint64_t); IMPLEMENT_POINTERCMP(>=); default: cerr << "Unhandled type for ICMP_UGE predicate: " << *Ty << "\n"; @@ -602,14 +544,10 @@ const Type *Ty) { GenericValue Dest; switch (Ty->getTypeID()) { - IMPLEMENT_CMP(>=, SByte, SByte); - IMPLEMENT_CMP(>=, Short, Short); - IMPLEMENT_CMP(>=, Int, Int); - IMPLEMENT_CMP(>=, Long, Long); - IMPLEMENT_CMP(>=, UByte, SByte); - IMPLEMENT_CMP(>=, UShort, Short); - IMPLEMENT_CMP(>=, UInt, Int); - IMPLEMENT_CMP(>=, ULong, Long); + IMPLEMENT_ICMP(>=, Int8, int8_t); + IMPLEMENT_ICMP(>=, Int16, int16_t); + IMPLEMENT_ICMP(>=, Int32, int32_t); + IMPLEMENT_ICMP(>=, Int64, int64_t); IMPLEMENT_POINTERCMP(>=); default: cerr << "Unhandled type for ICMP_SGE predicate: " << *Ty << "\n"; @@ -618,15 +556,41 @@ return Dest; } -#define IMPLEMENT_SETCC(OP, TY) \ +void Interpreter::visitICmpInst(ICmpInst &I) { + ExecutionContext &SF = ECStack.back(); + const Type *Ty = I.getOperand(0)->getType(); + GenericValue Src1 = getOperandValue(I.getOperand(0), SF); + GenericValue Src2 = getOperandValue(I.getOperand(1), SF); + GenericValue R; // Result + + switch (I.getPredicate()) { + case ICmpInst::ICMP_EQ: R = executeICMP_EQ(Src1, Src2, Ty); break; + case ICmpInst::ICMP_NE: R = executeICMP_NE(Src1, Src2, Ty); break; + case ICmpInst::ICMP_ULT: R = executeICMP_ULT(Src1, Src2, Ty); break; + case ICmpInst::ICMP_SLT: R = executeICMP_SLT(Src1, Src2, Ty); break; + case ICmpInst::ICMP_UGT: R = executeICMP_UGT(Src1, Src2, Ty); break; + case ICmpInst::ICMP_SGT: R = executeICMP_SGT(Src1, Src2, Ty); break; + case ICmpInst::ICMP_ULE: R = executeICMP_ULE(Src1, Src2, Ty); break; + case ICmpInst::ICMP_SLE: R = executeICMP_SLE(Src1, Src2, Ty); break; + case ICmpInst::ICMP_UGE: R = executeICMP_UGE(Src1, Src2, Ty); break; + case ICmpInst::ICMP_SGE: R = executeICMP_SGE(Src1, Src2, Ty); break; + default: + cerr << "Don't know how to handle this ICmp predicate!\n-->" << I; + abort(); + } + + SetValue(&I, R, SF); +} + +#define IMPLEMENT_FCMP(OP, TY) \ case Type::TY##TyID: Dest.BoolVal = Src1.TY##Val OP Src2.TY##Val; break static GenericValue executeFCMP_EQ(GenericValue Src1, GenericValue Src2, const Type *Ty) { GenericValue Dest; switch (Ty->getTypeID()) { - IMPLEMENT_SETCC(==, Float); - IMPLEMENT_SETCC(==, Double); + IMPLEMENT_FCMP(==, Float); + IMPLEMENT_FCMP(==, Double); default: cerr << "Unhandled type for SetEQ instruction: " << *Ty << "\n"; abort(); @@ -638,8 +602,8 @@ const Type *Ty) { GenericValue Dest; switch (Ty->getTypeID()) { - IMPLEMENT_SETCC(!=, Float); - IMPLEMENT_SETCC(!=, Double); + IMPLEMENT_FCMP(!=, Float); + IMPLEMENT_FCMP(!=, Double); default: cerr << "Unhandled type for SetNE instruction: " << *Ty << "\n"; @@ -652,8 +616,8 @@ const Type *Ty) { GenericValue Dest; switch (Ty->getTypeID()) { - IMPLEMENT_SETCC(<=, Float); - IMPLEMENT_SETCC(<=, Double); + IMPLEMENT_FCMP(<=, Float); + IMPLEMENT_FCMP(<=, Double); default: cerr << "Unhandled type for SetLE instruction: " << *Ty << "\n"; abort(); @@ -665,8 +629,8 @@ const Type *Ty) { GenericValue Dest; switch (Ty->getTypeID()) { - IMPLEMENT_SETCC(>=, Float); - IMPLEMENT_SETCC(>=, Double); + IMPLEMENT_FCMP(>=, Float); + IMPLEMENT_FCMP(>=, Double); default: cerr << "Unhandled type for SetGE instruction: " << *Ty << "\n"; abort(); @@ -678,8 +642,8 @@ const Type *Ty) { GenericValue Dest; switch (Ty->getTypeID()) { - IMPLEMENT_SETCC(<, Float); - IMPLEMENT_SETCC(<, Double); + IMPLEMENT_FCMP(<, Float); + IMPLEMENT_FCMP(<, Double); default: cerr << "Unhandled type for SetLT instruction: " << *Ty << "\n"; abort(); @@ -691,8 +655,8 @@ const Type *Ty) { GenericValue Dest; switch (Ty->getTypeID()) { - IMPLEMENT_SETCC(>, Float); - IMPLEMENT_SETCC(>, Double); + IMPLEMENT_FCMP(>, Float); + IMPLEMENT_FCMP(>, Double); default: cerr << "Unhandled type for SetGT instruction: " << *Ty << "\n"; abort(); @@ -732,32 +696,6 @@ SetValue(&I, R, SF); } -void Interpreter::visitICmpInst(ICmpInst &I) { - ExecutionContext &SF = ECStack.back(); - const Type *Ty = I.getOperand(0)->getType(); - GenericValue Src1 = getOperandValue(I.getOperand(0), SF); - GenericValue Src2 = getOperandValue(I.getOperand(1), SF); - GenericValue R; // Result - - switch (I.getPredicate()) { - case ICmpInst::ICMP_EQ: R = executeICMP_EQ(Src1, Src2, Ty); break; - case ICmpInst::ICMP_NE: R = executeICMP_NE(Src1, Src2, Ty); break; - case ICmpInst::ICMP_ULT: R = executeICMP_ULT(Src1, Src2, Ty); break; - case ICmpInst::ICMP_SLT: R = executeICMP_SLT(Src1, Src2, Ty); break; - case ICmpInst::ICMP_UGT: R = executeICMP_UGT(Src1, Src2, Ty); break; - case ICmpInst::ICMP_SGT: R = executeICMP_SGT(Src1, Src2, Ty); break; - case ICmpInst::ICMP_ULE: R = executeICMP_ULE(Src1, Src2, Ty); break; - case ICmpInst::ICMP_SLE: R = executeICMP_SLE(Src1, Src2, Ty); break; - case ICmpInst::ICMP_UGE: R = executeICMP_UGE(Src1, Src2, Ty); break; - case ICmpInst::ICMP_SGE: R = executeICMP_SGE(Src1, Src2, Ty); break; - default: - cerr << "Don't know how to handle this ICmp predicate!\n-->" << I; - abort(); - } - - SetValue(&I, R, SF); -} - static GenericValue executeCmpInst(unsigned predicate, GenericValue Src1, GenericValue Src2, const Type *Ty) { GenericValue Result; @@ -855,7 +793,7 @@ // the stack before interpreting atexit handlers. ECStack.clear (); runAtExitHandlers (); - exit (GV.IntVal); + exit (GV.Int32Val); } /// Pop the last stack frame off of ECStack and then copy the result @@ -1007,7 +945,7 @@ const Type *Ty = I.getType()->getElementType(); // Type to be allocated // Get the number of elements being allocated by the array... - unsigned NumElements = getOperandValue(I.getOperand(0), SF).UIntVal; + unsigned NumElements = getOperandValue(I.getOperand(0), SF).Int32Val; // Allocate enough memory to hold the type... void *Memory = malloc(NumElements * (size_t)TD.getTypeSize(Ty)); @@ -1054,14 +992,10 @@ uint64_t Idx; switch (I.getOperand()->getType()->getTypeID()) { default: assert(0 && "Illegal getelementptr index for sequential type!"); - case Type::SByteTyID: Idx = IdxGV.SByteVal; break; - case Type::ShortTyID: Idx = IdxGV.ShortVal; break; - case Type::IntTyID: Idx = IdxGV.IntVal; break; - case Type::LongTyID: Idx = IdxGV.LongVal; break; - case Type::UByteTyID: Idx = IdxGV.UByteVal; break; - case Type::UShortTyID: Idx = IdxGV.UShortVal; break; - case Type::UIntTyID: Idx = IdxGV.UIntVal; break; - case Type::ULongTyID: Idx = IdxGV.ULongVal; break; + case Type::Int8TyID: Idx = IdxGV.Int8Val; break; + case Type::Int16TyID: Idx = IdxGV.Int16Val; break; + case Type::Int32TyID: Idx = IdxGV.Int32Val; break; + case Type::Int64TyID: Idx = IdxGV.Int64Val; break; } Total += PointerTy(TD.getTypeSize(ST->getElementType())*Idx); } @@ -1151,16 +1085,12 @@ // source type. const Type *Ty = V->getType(); if (Ty->isIntegral() && Ty->getPrimitiveSize() < 4) { - if (Ty == Type::ShortTy) - ArgVals.back().IntVal = ArgVals.back().ShortVal; - else if (Ty == Type::UShortTy) - ArgVals.back().UIntVal = ArgVals.back().UShortVal; - else if (Ty == Type::SByteTy) - ArgVals.back().IntVal = ArgVals.back().SByteVal; - else if (Ty == Type::UByteTy) - ArgVals.back().UIntVal = ArgVals.back().UByteVal; + if (Ty == Type::Int16Ty) + ArgVals.back().Int32Val = ArgVals.back().Int16Val; + else if (Ty == Type::Int8Ty) + ArgVals.back().Int32Val = ArgVals.back().Int8Val; else if (Ty == Type::BoolTy) - ArgVals.back().UIntVal = ArgVals.back().BoolVal; + ArgVals.back().Int32Val = ArgVals.back().BoolVal; else assert(0 && "Unknown type!"); } @@ -1173,24 +1103,20 @@ } #define IMPLEMENT_SHIFT(OP, TY) \ - case Type::TY##TyID: Dest.TY##Val = Src1.TY##Val OP Src2.UByteVal; break + case Type::TY##TyID: Dest.TY##Val = Src1.TY##Val OP Src2.Int8Val; break -#define IMPLEMENT_SIGNLESS_SHIFT(OP, TY1, TY2) \ - case Type::TY2##TyID: \ - IMPLEMENT_SHIFT(OP, TY1) +#define IMPLEMENT_SIGNLESS_SHIFT(OP, TY, CAST) \ + case Type::TY##TyID: Dest.TY##Val = ((CAST)Src1.TY##Val) OP Src2.Int8Val; \ + break static GenericValue executeShlInst(GenericValue Src1, GenericValue Src2, const Type *Ty) { GenericValue Dest; switch (Ty->getTypeID()) { - IMPLEMENT_SHIFT(<<, UByte); - IMPLEMENT_SHIFT(<<, SByte); - IMPLEMENT_SHIFT(<<, UShort); - IMPLEMENT_SHIFT(<<, Short); - IMPLEMENT_SHIFT(<<, UInt); - IMPLEMENT_SHIFT(<<, Int); - IMPLEMENT_SHIFT(<<, ULong); - IMPLEMENT_SHIFT(<<, Long); + IMPLEMENT_SHIFT(<<, Int8); + IMPLEMENT_SHIFT(<<, Int16); + IMPLEMENT_SHIFT(<<, Int32); + IMPLEMENT_SHIFT(<<, Int64); default: cerr << "Unhandled type for Shl instruction: " << *Ty << "\n"; } @@ -1201,10 +1127,10 @@ const Type *Ty) { GenericValue Dest; switch (Ty->getTypeID()) { - IMPLEMENT_SIGNLESS_SHIFT(>>, UByte, SByte); - IMPLEMENT_SIGNLESS_SHIFT(>>, UShort, Short); - IMPLEMENT_SIGNLESS_SHIFT(>>, UInt, Int); - IMPLEMENT_SIGNLESS_SHIFT(>>, ULong, Long); + IMPLEMENT_SIGNLESS_SHIFT(>>, Int8, uint8_t); + IMPLEMENT_SIGNLESS_SHIFT(>>, Int16, uint16_t); + IMPLEMENT_SIGNLESS_SHIFT(>>, Int32, uint32_t); + IMPLEMENT_SIGNLESS_SHIFT(>>, Int64, uint64_t); default: cerr << "Unhandled type for LShr instruction: " << *Ty << "\n"; abort(); @@ -1216,10 +1142,10 @@ const Type *Ty) { GenericValue Dest; switch (Ty->getTypeID()) { - IMPLEMENT_SIGNLESS_SHIFT(>>, SByte, UByte); - IMPLEMENT_SIGNLESS_SHIFT(>>, Short, UShort); - IMPLEMENT_SIGNLESS_SHIFT(>>, Int, UInt); - IMPLEMENT_SIGNLESS_SHIFT(>>, Long, ULong); + IMPLEMENT_SIGNLESS_SHIFT(>>, Int8, int8_t); + IMPLEMENT_SIGNLESS_SHIFT(>>, Int16, int16_t); + IMPLEMENT_SIGNLESS_SHIFT(>>, Int32, int32_t); + IMPLEMENT_SIGNLESS_SHIFT(>>, Int64, int64_t); default: cerr << "Unhandled type for AShr instruction: " << *Ty << "\n"; abort(); @@ -1260,24 +1186,20 @@ #define IMPLEMENT_CAST_START \ switch (DstTy->getTypeID()) { -#define IMPLEMENT_CAST(DTY, DCTY, STY) \ - case Type::STY##TyID: Dest.DTY##Val = DCTY Src.STY##Val; break; +#define IMPLEMENT_CAST(STY, DTY, CAST) \ + case Type::STY##TyID: Dest.DTY##Val = (CAST(Src.STY##Val)); break; -#define IMPLEMENT_CAST_CASE(DESTTY, DESTCTY) \ - case Type::DESTTY##TyID: \ +#define IMPLEMENT_CAST_CASE(DTY, CAST) \ + case Type::DTY##TyID: \ switch (SrcTy->getTypeID()) { \ - IMPLEMENT_CAST(DESTTY, DESTCTY, Bool); \ - IMPLEMENT_CAST(DESTTY, DESTCTY, UByte); \ - IMPLEMENT_CAST(DESTTY, DESTCTY, SByte); \ - IMPLEMENT_CAST(DESTTY, DESTCTY, UShort); \ - IMPLEMENT_CAST(DESTTY, DESTCTY, Short); \ - IMPLEMENT_CAST(DESTTY, DESTCTY, UInt); \ - IMPLEMENT_CAST(DESTTY, DESTCTY, Int); \ - IMPLEMENT_CAST(DESTTY, DESTCTY, ULong); \ - IMPLEMENT_CAST(DESTTY, DESTCTY, Long); \ - IMPLEMENT_CAST(DESTTY, DESTCTY, Pointer); \ - IMPLEMENT_CAST(DESTTY, DESTCTY, Float); \ - IMPLEMENT_CAST(DESTTY, DESTCTY, Double) \ + IMPLEMENT_CAST(Bool, DTY, CAST); \ + IMPLEMENT_CAST(Int8, DTY, CAST); \ + IMPLEMENT_CAST(Int16, DTY, CAST); \ + IMPLEMENT_CAST(Int32, DTY, CAST); \ + IMPLEMENT_CAST(Int64, DTY, CAST); \ + IMPLEMENT_CAST(Pointer,DTY, CAST); \ + IMPLEMENT_CAST(Float, DTY, CAST); \ + IMPLEMENT_CAST(Double, DTY, CAST); \ default: \ cerr << "Unhandled cast: " \ << *SrcTy << " to " << *DstTy << "\n"; \ @@ -1301,15 +1223,11 @@ if (opcode == Instruction::Trunc && DstTy->getTypeID() == Type::BoolTyID) { // For truncations to bool, we must clear the high order bits of the source switch (SrcTy->getTypeID()) { - case Type::BoolTyID: Src.BoolVal &= 1; break; - case Type::SByteTyID: Src.SByteVal &= 1; break; - case Type::UByteTyID: Src.UByteVal &= 1; break; - case Type::ShortTyID: Src.ShortVal &= 1; break; - case Type::UShortTyID: Src.UShortVal &= 1; break; - case Type::IntTyID: Src.IntVal &= 1; break; - case Type::UIntTyID: Src.UIntVal &= 1; break; - case Type::LongTyID: Src.LongVal &= 1; break; - case Type::ULongTyID: Src.ULongVal &= 1; break; + case Type::BoolTyID: Src.BoolVal &= 1; break; + case Type::Int8TyID: Src.Int8Val &= 1; break; + case Type::Int16TyID: Src.Int16Val &= 1; break; + case Type::Int32TyID: Src.Int32Val &= 1; break; + case Type::Int64TyID: Src.Int64Val &= 1; break; default: assert(0 && "Can't trunc a non-integer!"); break; @@ -1317,44 +1235,34 @@ } else if (opcode == Instruction::SExt && SrcTy->getTypeID() == Type::BoolTyID) { // For sign extension from bool, we must extend the source bits. - SrcTy = Type::LongTy; - Src.LongVal = 0 - Src.BoolVal; + SrcTy = Type::Int64Ty; + Src.Int64Val = 0 - Src.BoolVal; } switch (opcode) { case Instruction::Trunc: // src integer, dest integral (can't be long) IMPLEMENT_CAST_START - IMPLEMENT_CAST_CASE(Bool , (bool)); - IMPLEMENT_CAST_CASE(UByte , (unsigned char)); - IMPLEMENT_CAST_CASE(SByte , ( signed char)); - IMPLEMENT_CAST_CASE(UShort , (unsigned short)); - IMPLEMENT_CAST_CASE(Short , ( signed short)); - IMPLEMENT_CAST_CASE(UInt , (unsigned int )); - IMPLEMENT_CAST_CASE(Int , ( signed int )); + IMPLEMENT_CAST_CASE(Bool , (bool)); + IMPLEMENT_CAST_CASE(Int8 , (uint8_t)); + IMPLEMENT_CAST_CASE(Int16, (uint16_t)); + IMPLEMENT_CAST_CASE(Int32, (uint32_t)); + IMPLEMENT_CAST_CASE(Int64, (uint64_t)); IMPLEMENT_CAST_END break; case Instruction::ZExt: // src integral (can't be long), dest integer IMPLEMENT_CAST_START - IMPLEMENT_CAST_CASE(UByte , (unsigned char)); - IMPLEMENT_CAST_CASE(SByte , (signed char)(unsigned char)); - IMPLEMENT_CAST_CASE(UShort , (unsigned short)); - IMPLEMENT_CAST_CASE(Short , (signed short)(unsigned short)); - IMPLEMENT_CAST_CASE(UInt , (unsigned int )); - IMPLEMENT_CAST_CASE(Int , (signed int)(unsigned int )); - IMPLEMENT_CAST_CASE(ULong , (uint64_t)); - IMPLEMENT_CAST_CASE(Long , (int64_t)(uint64_t)); + IMPLEMENT_CAST_CASE(Int8 , (uint8_t)); + IMPLEMENT_CAST_CASE(Int16, (uint16_t)); + IMPLEMENT_CAST_CASE(Int32, (uint32_t)); + IMPLEMENT_CAST_CASE(Int64, (uint64_t)); IMPLEMENT_CAST_END break; case Instruction::SExt: // src integral (can't be long), dest integer IMPLEMENT_CAST_START - IMPLEMENT_CAST_CASE(UByte , (unsigned char)(signed char)); - IMPLEMENT_CAST_CASE(SByte , (signed char)); - IMPLEMENT_CAST_CASE(UShort , (unsigned short)(signed short)); - IMPLEMENT_CAST_CASE(Short , (signed short)); - IMPLEMENT_CAST_CASE(UInt , (unsigned int )(signed int)); - IMPLEMENT_CAST_CASE(Int , (signed int)); - IMPLEMENT_CAST_CASE(ULong , (uint64_t)(int64_t)); - IMPLEMENT_CAST_CASE(Long , (int64_t)); + IMPLEMENT_CAST_CASE(Int8 , (uint8_t)(int8_t)); + IMPLEMENT_CAST_CASE(Int16, (uint16_t)(int16_t)); + IMPLEMENT_CAST_CASE(Int32, (uint32_t)(int32_t)); + IMPLEMENT_CAST_CASE(Int64, (uint64_t)(int64_t)); IMPLEMENT_CAST_END break; case Instruction::FPTrunc: // src double, dest float @@ -1381,41 +1289,29 @@ break; case Instruction::FPToUI: // src floating, dest integral IMPLEMENT_CAST_START - IMPLEMENT_CAST_CASE(Bool , (bool)); - IMPLEMENT_CAST_CASE(UByte , (unsigned char)); - IMPLEMENT_CAST_CASE(SByte , (signed char)(unsigned char)); - IMPLEMENT_CAST_CASE(UShort , (unsigned short)); - IMPLEMENT_CAST_CASE(Short , (signed short)(unsigned short)); - IMPLEMENT_CAST_CASE(UInt , (unsigned int )); - IMPLEMENT_CAST_CASE(Int , (signed int)(unsigned int )); - IMPLEMENT_CAST_CASE(ULong , (uint64_t)); - IMPLEMENT_CAST_CASE(Long , (int64_t)(uint64_t)); + IMPLEMENT_CAST_CASE(Bool , (bool)); + IMPLEMENT_CAST_CASE(Int8 , (uint8_t)); + IMPLEMENT_CAST_CASE(Int16, (uint16_t)); + IMPLEMENT_CAST_CASE(Int32, (uint32_t )); + IMPLEMENT_CAST_CASE(Int64, (uint64_t)); IMPLEMENT_CAST_END break; case Instruction::FPToSI: // src floating, dest integral IMPLEMENT_CAST_START - IMPLEMENT_CAST_CASE(Bool , (bool)); - IMPLEMENT_CAST_CASE(UByte , (unsigned char)(signed char)); - IMPLEMENT_CAST_CASE(SByte , (signed char)); - IMPLEMENT_CAST_CASE(UShort , (unsigned short)(signed short)); - IMPLEMENT_CAST_CASE(Short , (signed short)); - IMPLEMENT_CAST_CASE(UInt , (unsigned int )(signed int)); - IMPLEMENT_CAST_CASE(Int , (signed int)); - IMPLEMENT_CAST_CASE(ULong , (uint64_t)(int64_t)); - IMPLEMENT_CAST_CASE(Long , (int64_t)); + IMPLEMENT_CAST_CASE(Bool , (bool)); + IMPLEMENT_CAST_CASE(Int8 , (uint8_t) (int8_t)); + IMPLEMENT_CAST_CASE(Int16, (uint16_t)(int16_t)); + IMPLEMENT_CAST_CASE(Int32, (uint32_t)(int32_t)); + IMPLEMENT_CAST_CASE(Int64, (uint64_t)(int64_t)); IMPLEMENT_CAST_END break; case Instruction::PtrToInt: // src pointer, dest integral IMPLEMENT_CAST_START - IMPLEMENT_CAST_CASE(Bool , (bool)); - IMPLEMENT_CAST_CASE(UByte , (unsigned char)); - IMPLEMENT_CAST_CASE(SByte , (signed char)(unsigned char)); - IMPLEMENT_CAST_CASE(UShort , (unsigned short)); - IMPLEMENT_CAST_CASE(Short , (signed short)(unsigned short)); - IMPLEMENT_CAST_CASE(UInt , (unsigned int)); - IMPLEMENT_CAST_CASE(Int , (signed int)(unsigned int)); - IMPLEMENT_CAST_CASE(ULong , (uint64_t)); - IMPLEMENT_CAST_CASE(Long , (int64_t)(uint64_t)); + IMPLEMENT_CAST_CASE(Bool , (bool)); + IMPLEMENT_CAST_CASE(Int8 , (uint8_t)); + IMPLEMENT_CAST_CASE(Int16, (uint16_t)); + IMPLEMENT_CAST_CASE(Int32, (uint32_t)); + IMPLEMENT_CAST_CASE(Int64, (uint64_t)); IMPLEMENT_CAST_END break; case Instruction::IntToPtr: // src integral, dest pointer @@ -1426,14 +1322,10 @@ case Instruction::BitCast: // src any, dest any (same size) IMPLEMENT_CAST_START IMPLEMENT_CAST_CASE(Bool , (bool)); - IMPLEMENT_CAST_CASE(UByte , (unsigned char)); - IMPLEMENT_CAST_CASE(SByte , ( signed char)); - IMPLEMENT_CAST_CASE(UShort , (unsigned short)); - IMPLEMENT_CAST_CASE(Short , ( signed short)); - IMPLEMENT_CAST_CASE(UInt , (unsigned int)); - IMPLEMENT_CAST_CASE(Int , ( signed int)); - IMPLEMENT_CAST_CASE(ULong , (uint64_t)); - IMPLEMENT_CAST_CASE(Long , ( int64_t)); + IMPLEMENT_CAST_CASE(Int8 , (uint8_t)); + IMPLEMENT_CAST_CASE(Int16 , (uint16_t)); + IMPLEMENT_CAST_CASE(Int32 , (uint32_t)); + IMPLEMENT_CAST_CASE(Int64 , (uint64_t)); IMPLEMENT_CAST_CASE(Pointer, (PointerTy)); IMPLEMENT_CAST_CASE(Float , (float)); IMPLEMENT_CAST_CASE(Double , (double)); @@ -1466,14 +1358,10 @@ .VarArgs[VAList.UIntPairVal.second]; const Type *Ty = I.getType(); switch (Ty->getTypeID()) { - IMPLEMENT_VAARG(UByte); - IMPLEMENT_VAARG(SByte); - IMPLEMENT_VAARG(UShort); - IMPLEMENT_VAARG(Short); - IMPLEMENT_VAARG(UInt); - IMPLEMENT_VAARG(Int); - IMPLEMENT_VAARG(ULong); - IMPLEMENT_VAARG(Long); + IMPLEMENT_VAARG(Int8); + IMPLEMENT_VAARG(Int16); + IMPLEMENT_VAARG(Int32); + IMPLEMENT_VAARG(Int64); IMPLEMENT_VAARG(Pointer); IMPLEMENT_VAARG(Float); IMPLEMENT_VAARG(Double); Index: llvm/lib/ExecutionEngine/Interpreter/ExternalFunctions.cpp diff -u llvm/lib/ExecutionEngine/Interpreter/ExternalFunctions.cpp:1.92 llvm/lib/ExecutionEngine/Interpreter/ExternalFunctions.cpp:1.93 --- llvm/lib/ExecutionEngine/Interpreter/ExternalFunctions.cpp:1.92 Wed Dec 6 19:30:31 2006 +++ llvm/lib/ExecutionEngine/Interpreter/ExternalFunctions.cpp Sat Dec 30 23:51:36 2006 @@ -42,18 +42,14 @@ switch (Ty->getTypeID()) { case Type::VoidTyID: return 'V'; case Type::BoolTyID: return 'o'; - case Type::UByteTyID: return 'B'; - case Type::SByteTyID: return 'b'; - case Type::UShortTyID: return 'S'; - case Type::ShortTyID: return 's'; - case Type::UIntTyID: return 'I'; - case Type::IntTyID: return 'i'; - case Type::ULongTyID: return 'L'; - case Type::LongTyID: return 'l'; + case Type::Int8TyID: return 'B'; + case Type::Int16TyID: return 'S'; + case Type::Int32TyID: return 'I'; + case Type::Int64TyID: return 'L'; case Type::FloatTyID: return 'F'; case Type::DoubleTyID: return 'D'; case Type::PointerTyID: return 'P'; - case Type::FunctionTyID: return 'M'; + case Type::FunctionTyID:return 'M'; case Type::StructTyID: return 'T'; case Type::ArrayTyID: return 'A'; case Type::OpaqueTyID: return 'O'; @@ -113,20 +109,20 @@ extern "C" { // Don't add C++ manglings to llvm mangling :) // void putchar(sbyte) -GenericValue lle_Vb_putchar(FunctionType *M, const vector &Args) { - cout << Args[0].SByteVal; +GenericValue lle_VB_putchar(FunctionType *M, const vector &Args) { + cout << Args[0].Int8Val; return GenericValue(); } // int putchar(int) GenericValue lle_ii_putchar(FunctionType *M, const vector &Args) { - cout << ((char)Args[0].IntVal) << std::flush; + cout << ((char)Args[0].Int32Val) << std::flush; return Args[0]; } // void putchar(ubyte) -GenericValue lle_VB_putchar(FunctionType *M, const vector &Args) { - cout << Args[0].SByteVal << std::flush; +GenericValue lle_Vb_putchar(FunctionType *M, const vector &Args) { + cout << Args[0].Int8Val << std::flush; return Args[0]; } @@ -135,7 +131,7 @@ assert(Args.size() == 1); TheInterpreter->addAtExitHandler((Function*)GVTOP(Args[0])); GenericValue GV; - GV.IntVal = 0; + GV.Int32Val = 0; return GV; } @@ -154,13 +150,13 @@ // void *malloc(uint) GenericValue lle_X_malloc(FunctionType *M, const vector &Args) { assert(Args.size() == 1 && "Malloc expects one argument!"); - return PTOGV(malloc(Args[0].UIntVal)); + return PTOGV(malloc(Args[0].Int32Val)); } // void *calloc(uint, uint) GenericValue lle_X_calloc(FunctionType *M, const vector &Args) { assert(Args.size() == 2 && "calloc expects two arguments!"); - return PTOGV(calloc(Args[0].UIntVal, Args[1].UIntVal)); + return PTOGV(calloc(Args[0].Int32Val, Args[1].Int32Val)); } // void free(void *) @@ -174,7 +170,7 @@ GenericValue lle_X_atoi(FunctionType *M, const vector &Args) { assert(Args.size() == 1); GenericValue GV; - GV.IntVal = atoi((char*)GVTOP(Args[0])); + GV.Int32Val = atoi((char*)GVTOP(Args[0])); return GV; } @@ -232,14 +228,14 @@ GenericValue lle_X_lrand48(FunctionType *M, const vector &Args) { assert(Args.size() == 0); GenericValue GV; - GV.IntVal = lrand48(); + GV.Int32Val = lrand48(); return GV; } // void srand48(long) GenericValue lle_X_srand48(FunctionType *M, const vector &Args) { assert(Args.size() == 1); - srand48(Args[0].IntVal); + srand48(Args[0].Int32Val); return GenericValue(); } @@ -249,14 +245,14 @@ GenericValue lle_X_rand(FunctionType *M, const vector &Args) { assert(Args.size() == 0); GenericValue GV; - GV.IntVal = rand(); + GV.Int32Val = rand(); return GV; } // void srand(uint) GenericValue lle_X_srand(FunctionType *M, const vector &Args) { assert(Args.size() == 1); - srand(Args[0].UIntVal); + srand(Args[0].Int32Val); return GenericValue(); } @@ -264,7 +260,7 @@ GenericValue lle_X_puts(FunctionType *M, const vector &Args) { assert(Args.size() == 1); GenericValue GV; - GV.IntVal = puts((char*)GVTOP(Args[0])); + GV.Int32Val = puts((char*)GVTOP(Args[0])); return GV; } @@ -277,7 +273,7 @@ // printf should return # chars printed. This is completely incorrect, but // close enough for now. - GenericValue GV; GV.IntVal = strlen(FmtStr); + GenericValue GV; GV.Int32Val = strlen(FmtStr); while (1) { switch (*FmtStr) { case 0: return GV; // Null terminator... @@ -308,7 +304,7 @@ case '%': sprintf(Buffer, FmtBuf); break; case 'c': - sprintf(Buffer, FmtBuf, Args[ArgNo++].IntVal); break; + sprintf(Buffer, FmtBuf, Args[ArgNo++].Int32Val); break; case 'd': case 'i': case 'u': case 'o': case 'x': case 'X': @@ -323,9 +319,9 @@ FmtBuf[Size+1] = 0; FmtBuf[Size-1] = 'l'; } - sprintf(Buffer, FmtBuf, Args[ArgNo++].ULongVal); + sprintf(Buffer, FmtBuf, Args[ArgNo++].Int64Val); } else - sprintf(Buffer, FmtBuf, Args[ArgNo++].IntVal); break; + sprintf(Buffer, FmtBuf, Args[ArgNo++].Int32Val); break; case 'e': case 'E': case 'g': case 'G': case 'f': sprintf(Buffer, FmtBuf, Args[ArgNo++].DoubleVal); break; case 'p': @@ -394,11 +390,11 @@ case 'i': case 'o': case 'u': case 'x': case 'X': case 'n': case 'p': case 'd': if (Long || LongLong) { - Size = 8; Ty = Type::ULongTy; + Size = 8; Ty = Type::Int64Ty; } else if (Half) { - Size = 4; Ty = Type::UShortTy; + Size = 4; Ty = Type::Int16Ty; } else { - Size = 4; Ty = Type::UIntTy; + Size = 4; Ty = Type::Int32Ty; } break; @@ -413,7 +409,7 @@ case 's': case 'c': case '[': // No byteswap needed Size = 1; - Ty = Type::SByteTy; + Ty = Type::Int8Ty; break; default: break; @@ -439,8 +435,8 @@ Args[i] = (char*)GVTOP(args[i]); GenericValue GV; - GV.IntVal = sscanf(Args[0], Args[1], Args[2], Args[3], Args[4], - Args[5], Args[6], Args[7], Args[8], Args[9]); + GV.Int32Val = sscanf(Args[0], Args[1], Args[2], Args[3], Args[4], + Args[5], Args[6], Args[7], Args[8], Args[9]); ByteswapSCANFResults(Args[1], Args[2], Args[3], Args[4], Args[5], Args[6], Args[7], Args[8], Args[9], 0); return GV; @@ -455,8 +451,8 @@ Args[i] = (char*)GVTOP(args[i]); GenericValue GV; - GV.IntVal = scanf(Args[0], Args[1], Args[2], Args[3], Args[4], - Args[5], Args[6], Args[7], Args[8], Args[9]); + GV.Int32Val = scanf( Args[0], Args[1], Args[2], Args[3], Args[4], + Args[5], Args[6], Args[7], Args[8], Args[9]); ByteswapSCANFResults(Args[0], Args[1], Args[2], Args[3], Args[4], Args[5], Args[6], Args[7], Args[8], Args[9]); return GV; @@ -466,7 +462,7 @@ // int clock(void) - Profiling implementation GenericValue lle_i_clock(FunctionType *M, const vector &Args) { extern unsigned int clock(void); - GenericValue GV; GV.IntVal = clock(); + GenericValue GV; GV.Int32Val = clock(); return GV; } @@ -479,7 +475,7 @@ GenericValue lle_X_strcmp(FunctionType *M, const vector &Args) { assert(Args.size() == 2); GenericValue Ret; - Ret.IntVal = strcmp((char*)GVTOP(Args[0]), (char*)GVTOP(Args[1])); + Ret.Int32Val = strcmp((char*)GVTOP(Args[0]), (char*)GVTOP(Args[1])); return Ret; } @@ -498,10 +494,10 @@ static GenericValue size_t_to_GV (size_t n) { GenericValue Ret; if (sizeof (size_t) == sizeof (uint64_t)) { - Ret.ULongVal = n; + Ret.Int64Val = n; } else { assert (sizeof (size_t) == sizeof (unsigned int)); - Ret.UIntVal = n; + Ret.Int32Val = n; } return Ret; } @@ -509,10 +505,10 @@ static size_t GV_to_size_t (GenericValue GV) { size_t count; if (sizeof (size_t) == sizeof (uint64_t)) { - count = (size_t)GV.ULongVal; + count = (size_t)GV.Int64Val; } else { assert (sizeof (size_t) == sizeof (unsigned int)); - count = (size_t)GV.UIntVal; + count = (size_t)GV.Int32Val; } return count; } @@ -540,7 +536,7 @@ GenericValue lle_X_memset(FunctionType *M, const vector &Args) { assert(Args.size() == 3); size_t count = GV_to_size_t (Args[2]); - return PTOGV(memset(GVTOP(Args[0]), Args[1].IntVal, count)); + return PTOGV(memset(GVTOP(Args[0]), Args[1].Int32Val, count)); } // void *memcpy(void *Dest, void *src, size_t Size); @@ -569,7 +565,7 @@ GenericValue lle_X_fclose(FunctionType *M, const vector &Args) { assert(Args.size() == 1); GenericValue GV; - GV.IntVal = fclose(getFILE(GVTOP(Args[0]))); + GV.Int32Val = fclose(getFILE(GVTOP(Args[0]))); return GV; } @@ -578,7 +574,7 @@ assert(Args.size() == 1); GenericValue GV; - GV.IntVal = feof(getFILE(GVTOP(Args[0]))); + GV.Int32Val = feof(getFILE(GVTOP(Args[0]))); return GV; } @@ -605,7 +601,7 @@ // char *fgets(char *s, int n, FILE *stream); GenericValue lle_X_fgets(FunctionType *M, const vector &Args) { assert(Args.size() == 3); - return GVTOP(fgets((char*)GVTOP(Args[0]), Args[1].IntVal, + return GVTOP(fgets((char*)GVTOP(Args[0]), Args[1].Int32Val, getFILE(GVTOP(Args[2])))); } @@ -620,7 +616,7 @@ GenericValue lle_X_fflush(FunctionType *M, const vector &Args) { assert(Args.size() == 1); GenericValue GV; - GV.IntVal = fflush(getFILE(GVTOP(Args[0]))); + GV.Int32Val = fflush(getFILE(GVTOP(Args[0]))); return GV; } @@ -628,7 +624,7 @@ GenericValue lle_X_getc(FunctionType *M, const vector &Args) { assert(Args.size() == 1); GenericValue GV; - GV.IntVal = getc(getFILE(GVTOP(Args[0]))); + GV.Int32Val = getc(getFILE(GVTOP(Args[0]))); return GV; } @@ -641,7 +637,7 @@ GenericValue lle_X_fputc(FunctionType *M, const vector &Args) { assert(Args.size() == 2); GenericValue GV; - GV.IntVal = fputc(Args[0].IntVal, getFILE(GVTOP(Args[1]))); + GV.Int32Val = fputc(Args[0].Int32Val, getFILE(GVTOP(Args[1]))); return GV; } @@ -649,7 +645,7 @@ GenericValue lle_X_ungetc(FunctionType *M, const vector &Args) { assert(Args.size() == 2); GenericValue GV; - GV.IntVal = ungetc(Args[0].IntVal, getFILE(GVTOP(Args[1]))); + GV.Int32Val = ungetc(Args[0].Int32Val, getFILE(GVTOP(Args[1]))); return GV; } @@ -657,7 +653,7 @@ GenericValue lle_X_ferror(FunctionType *M, const vector &Args) { assert(Args.size() == 1); GenericValue GV; - GV.IntVal = ferror (getFILE(GVTOP(Args[0]))); + GV.Int32Val = ferror (getFILE(GVTOP(Args[0]))); return GV; } From reid at x10sys.com Sat Dec 30 23:56:04 2006 From: reid at x10sys.com (Reid Spencer) Date: Sat, 30 Dec 2006 23:56:04 -0600 Subject: [llvm-commits] CVS: llvm/lib/CodeGen/AsmPrinter.cpp IntrinsicLowering.cpp MachOWriter.cpp MachineDebugInfo.cpp Message-ID: <200612310556.kBV5u4NI012300@zion.cs.uiuc.edu> Changes in directory llvm/lib/CodeGen: AsmPrinter.cpp updated: 1.128 -> 1.129 IntrinsicLowering.cpp updated: 1.54 -> 1.55 MachOWriter.cpp updated: 1.9 -> 1.10 MachineDebugInfo.cpp updated: 1.64 -> 1.65 --- Log message: For PR950: http://llvm.org/PR950 : Three changes: 1. Convert signed integer types to signless versions. 2. Implement the @sext and @zext parameter attributes. Previously the type of an function parameter was used to determine whether it should be sign extended or zero extended before the call. This information is now communicated via the function type's parameter attributes. 3. The interface to LowerCallTo had to be changed in order to accommodate the parameter attribute information. Although it would have been convenient to pass in the FunctionType itself, there isn't always one present in the caller. Consequently, a signedness indication for the result type and for each parameter was provided for in the interface to this method. All implementations were changed to make the adjustment necessary. --- Diffs of the changes: (+50 -54) AsmPrinter.cpp | 10 ++++---- IntrinsicLowering.cpp | 60 +++++++++++++++++++++++++------------------------- MachOWriter.cpp | 12 +++------- MachineDebugInfo.cpp | 22 +++++++++--------- 4 files changed, 50 insertions(+), 54 deletions(-) Index: llvm/lib/CodeGen/AsmPrinter.cpp diff -u llvm/lib/CodeGen/AsmPrinter.cpp:1.128 llvm/lib/CodeGen/AsmPrinter.cpp:1.129 --- llvm/lib/CodeGen/AsmPrinter.cpp:1.128 Thu Dec 21 13:04:23 2006 +++ llvm/lib/CodeGen/AsmPrinter.cpp Sat Dec 30 23:55:36 2006 @@ -607,7 +607,7 @@ << "\t" << TAI->getCommentString() << " float " << Val << "\n"; return; } - } else if (CV->getType() == Type::ULongTy || CV->getType() == Type::LongTy) { + } else if (CV->getType() == Type::Int64Ty) { if (const ConstantInt *CI = dyn_cast(CV)) { uint64_t Val = CI->getZExtValue(); @@ -918,10 +918,10 @@ const TargetData *TD = TM.getTargetData(); switch (type->getTypeID()) { case Type::BoolTyID: - case Type::UByteTyID: case Type::SByteTyID: + case Type::Int8TyID: O << TAI->getData8bitsDirective(); break; - case Type::UShortTyID: case Type::ShortTyID: + case Type::Int16TyID: O << TAI->getData16bitsDirective(); break; case Type::PointerTyID: @@ -932,10 +932,10 @@ break; } //Fall through for pointer size == int size - case Type::UIntTyID: case Type::IntTyID: + case Type::Int32TyID: O << TAI->getData32bitsDirective(); break; - case Type::ULongTyID: case Type::LongTyID: + case Type::Int64TyID: assert(TAI->getData64bitsDirective() && "Target cannot handle 64-bit constant exprs!"); O << TAI->getData64bitsDirective(); Index: llvm/lib/CodeGen/IntrinsicLowering.cpp diff -u llvm/lib/CodeGen/IntrinsicLowering.cpp:1.54 llvm/lib/CodeGen/IntrinsicLowering.cpp:1.55 --- llvm/lib/CodeGen/IntrinsicLowering.cpp:1.54 Sat Dec 23 00:05:40 2006 +++ llvm/lib/CodeGen/IntrinsicLowering.cpp Sat Dec 30 23:55:36 2006 @@ -95,7 +95,7 @@ default: break; case Intrinsic::setjmp: EnsureFunctionExists(M, "setjmp", I->arg_begin(), I->arg_end(), - Type::IntTy); + Type::Int32Ty); break; case Intrinsic::longjmp: EnsureFunctionExists(M, "longjmp", I->arg_begin(), I->arg_end(), @@ -117,9 +117,9 @@ break; case Intrinsic::memset_i32: case Intrinsic::memset_i64: - M.getOrInsertFunction("memset", PointerType::get(Type::SByteTy), - PointerType::get(Type::SByteTy), - Type::IntTy, (--(--I->arg_end()))->getType(), + M.getOrInsertFunction("memset", PointerType::get(Type::Int8Ty), + PointerType::get(Type::Int8Ty), + Type::Int32Ty, (--(--I->arg_end()))->getType(), (Type *)0); break; case Intrinsic::isunordered_f32: @@ -150,26 +150,26 @@ default: assert(0 && "Unhandled type size of value to byteswap!"); case 16: { Value *Tmp1 = new ShiftInst(Instruction::Shl, V, - ConstantInt::get(Type::UByteTy,8),"bswap.2",IP); + ConstantInt::get(Type::Int8Ty,8),"bswap.2",IP); Value *Tmp2 = new ShiftInst(Instruction::LShr, V, - ConstantInt::get(Type::UByteTy,8),"bswap.1",IP); + ConstantInt::get(Type::Int8Ty,8),"bswap.1",IP); V = BinaryOperator::createOr(Tmp1, Tmp2, "bswap.i16", IP); break; } case 32: { Value *Tmp4 = new ShiftInst(Instruction::Shl, V, - ConstantInt::get(Type::UByteTy,24),"bswap.4", IP); + ConstantInt::get(Type::Int8Ty,24),"bswap.4", IP); Value *Tmp3 = new ShiftInst(Instruction::Shl, V, - ConstantInt::get(Type::UByteTy,8),"bswap.3",IP); + ConstantInt::get(Type::Int8Ty,8),"bswap.3",IP); Value *Tmp2 = new ShiftInst(Instruction::LShr, V, - ConstantInt::get(Type::UByteTy,8),"bswap.2",IP); + ConstantInt::get(Type::Int8Ty,8),"bswap.2",IP); Value *Tmp1 = new ShiftInst(Instruction::LShr, V, - ConstantInt::get(Type::UByteTy,24),"bswap.1", IP); + ConstantInt::get(Type::Int8Ty,24),"bswap.1", IP); Tmp3 = BinaryOperator::createAnd(Tmp3, - ConstantInt::get(Type::UIntTy, 0xFF0000), + ConstantInt::get(Type::Int32Ty, 0xFF0000), "bswap.and3", IP); Tmp2 = BinaryOperator::createAnd(Tmp2, - ConstantInt::get(Type::UIntTy, 0xFF00), + ConstantInt::get(Type::Int32Ty, 0xFF00), "bswap.and2", IP); Tmp4 = BinaryOperator::createOr(Tmp4, Tmp3, "bswap.or1", IP); Tmp2 = BinaryOperator::createOr(Tmp2, Tmp1, "bswap.or2", IP); @@ -178,39 +178,39 @@ } case 64: { Value *Tmp8 = new ShiftInst(Instruction::Shl, V, - ConstantInt::get(Type::UByteTy,56),"bswap.8", IP); + ConstantInt::get(Type::Int8Ty,56),"bswap.8", IP); Value *Tmp7 = new ShiftInst(Instruction::Shl, V, - ConstantInt::get(Type::UByteTy,40),"bswap.7", IP); + ConstantInt::get(Type::Int8Ty,40),"bswap.7", IP); Value *Tmp6 = new ShiftInst(Instruction::Shl, V, - ConstantInt::get(Type::UByteTy,24),"bswap.6", IP); + ConstantInt::get(Type::Int8Ty,24),"bswap.6", IP); Value *Tmp5 = new ShiftInst(Instruction::Shl, V, - ConstantInt::get(Type::UByteTy,8),"bswap.5", IP); + ConstantInt::get(Type::Int8Ty,8),"bswap.5", IP); Value* Tmp4 = new ShiftInst(Instruction::LShr, V, - ConstantInt::get(Type::UByteTy,8),"bswap.4", IP); + ConstantInt::get(Type::Int8Ty,8),"bswap.4", IP); Value* Tmp3 = new ShiftInst(Instruction::LShr, V, - ConstantInt::get(Type::UByteTy,24),"bswap.3", IP); + ConstantInt::get(Type::Int8Ty,24),"bswap.3", IP); Value* Tmp2 = new ShiftInst(Instruction::LShr, V, - ConstantInt::get(Type::UByteTy,40),"bswap.2", IP); + ConstantInt::get(Type::Int8Ty,40),"bswap.2", IP); Value* Tmp1 = new ShiftInst(Instruction::LShr, V, - ConstantInt::get(Type::UByteTy,56),"bswap.1", IP); + ConstantInt::get(Type::Int8Ty,56),"bswap.1", IP); Tmp7 = BinaryOperator::createAnd(Tmp7, - ConstantInt::get(Type::ULongTy, + ConstantInt::get(Type::Int64Ty, 0xFF000000000000ULL), "bswap.and7", IP); Tmp6 = BinaryOperator::createAnd(Tmp6, - ConstantInt::get(Type::ULongTy, 0xFF0000000000ULL), + ConstantInt::get(Type::Int64Ty, 0xFF0000000000ULL), "bswap.and6", IP); Tmp5 = BinaryOperator::createAnd(Tmp5, - ConstantInt::get(Type::ULongTy, 0xFF00000000ULL), + ConstantInt::get(Type::Int64Ty, 0xFF00000000ULL), "bswap.and5", IP); Tmp4 = BinaryOperator::createAnd(Tmp4, - ConstantInt::get(Type::ULongTy, 0xFF000000ULL), + ConstantInt::get(Type::Int64Ty, 0xFF000000ULL), "bswap.and4", IP); Tmp3 = BinaryOperator::createAnd(Tmp3, - ConstantInt::get(Type::ULongTy, 0xFF0000ULL), + ConstantInt::get(Type::Int64Ty, 0xFF0000ULL), "bswap.and3", IP); Tmp2 = BinaryOperator::createAnd(Tmp2, - ConstantInt::get(Type::ULongTy, 0xFF00ULL), + ConstantInt::get(Type::Int64Ty, 0xFF00ULL), "bswap.and2", IP); Tmp8 = BinaryOperator::createOr(Tmp8, Tmp7, "bswap.or1", IP); Tmp6 = BinaryOperator::createOr(Tmp6, Tmp5, "bswap.or2", IP); @@ -242,7 +242,7 @@ Value *MaskCst = ConstantInt::get(V->getType(), MaskValues[ct]); Value *LHS = BinaryOperator::createAnd(V, MaskCst, "cppop.and1", IP); Value *VShift = new ShiftInst(Instruction::LShr, V, - ConstantInt::get(Type::UByteTy, i), "ctpop.sh", IP); + ConstantInt::get(Type::Int8Ty, i), "ctpop.sh", IP); Value *RHS = BinaryOperator::createAnd(VShift, MaskCst, "cppop.and2", IP); V = BinaryOperator::createAdd(LHS, RHS, "ctpop.step", IP); } @@ -256,7 +256,7 @@ unsigned BitSize = V->getType()->getPrimitiveSizeInBits(); for (unsigned i = 1; i != BitSize; i <<= 1) { - Value *ShVal = ConstantInt::get(Type::UByteTy, i); + Value *ShVal = ConstantInt::get(Type::Int8Ty, i); ShVal = new ShiftInst(Instruction::LShr, V, ShVal, "ctlz.sh", IP); V = BinaryOperator::createOr(V, ShVal, "ctlz.step", IP); } @@ -289,7 +289,7 @@ static Function *SetjmpFCache = 0; static const unsigned castOpcodes[] = { Instruction::BitCast }; Value *V = ReplaceCallWith("setjmp", CI, CI->op_begin()+1, CI->op_end(), - castOpcodes, Type::IntTy, SetjmpFCache); + castOpcodes, Type::Int32Ty, SetjmpFCache); if (CI->getType() != Type::VoidTy) CI->replaceAllUsesWith(V); break; @@ -381,7 +381,7 @@ case Intrinsic::readcyclecounter: { cerr << "WARNING: this target does not support the llvm.readcyclecoun" << "ter intrinsic. It is being lowered to a constant 0\n"; - CI->replaceAllUsesWith(ConstantInt::get(Type::ULongTy, 0)); + CI->replaceAllUsesWith(ConstantInt::get(Type::Int64Ty, 0)); break; } Index: llvm/lib/CodeGen/MachOWriter.cpp diff -u llvm/lib/CodeGen/MachOWriter.cpp:1.9 llvm/lib/CodeGen/MachOWriter.cpp:1.10 --- llvm/lib/CodeGen/MachOWriter.cpp:1.9 Sun Dec 10 20:20:45 2006 +++ llvm/lib/CodeGen/MachOWriter.cpp Sat Dec 30 23:55:36 2006 @@ -730,20 +730,17 @@ switch (PC->getType()->getTypeID()) { case Type::BoolTyID: - case Type::UByteTyID: - case Type::SByteTyID: + case Type::Int8TyID: ptr[0] = cast(PC)->getZExtValue(); break; - case Type::UShortTyID: - case Type::ShortTyID: + case Type::Int16TyID: val = cast(PC)->getZExtValue(); if (TD->isBigEndian()) val = ByteSwap_16(val); ptr[0] = val; ptr[1] = val >> 8; break; - case Type::UIntTyID: - case Type::IntTyID: + case Type::Int32TyID: case Type::FloatTyID: if (PC->getType()->getTypeID() == Type::FloatTyID) { val = FloatToBits(cast(PC)->getValue()); @@ -758,8 +755,7 @@ ptr[3] = val >> 24; break; case Type::DoubleTyID: - case Type::ULongTyID: - case Type::LongTyID: + case Type::Int64TyID: if (PC->getType()->getTypeID() == Type::DoubleTyID) { val = DoubleToBits(cast(PC)->getValue()); } else { Index: llvm/lib/CodeGen/MachineDebugInfo.cpp diff -u llvm/lib/CodeGen/MachineDebugInfo.cpp:1.64 llvm/lib/CodeGen/MachineDebugInfo.cpp:1.65 --- llvm/lib/CodeGen/MachineDebugInfo.cpp:1.64 Mon Dec 11 19:17:40 2006 +++ llvm/lib/CodeGen/MachineDebugInfo.cpp Sat Dec 30 23:55:36 2006 @@ -55,8 +55,8 @@ std::vector Result; // GlobalVariables matching criteria. std::vector FieldTypes; - FieldTypes.push_back(Type::UIntTy); - FieldTypes.push_back(Type::UIntTy); + FieldTypes.push_back(Type::Int32Ty); + FieldTypes.push_back(Type::Int32Ty); // Get the GlobalVariable root. GlobalVariable *UseRoot = M.getGlobalVariable(RootName, @@ -264,16 +264,16 @@ /// Apply - Set the value of each of the fields. /// virtual void Apply(int &Field) { - Elements.push_back(ConstantInt::get(Type::IntTy, int32_t(Field))); + Elements.push_back(ConstantInt::get(Type::Int32Ty, int32_t(Field))); } virtual void Apply(unsigned &Field) { - Elements.push_back(ConstantInt::get(Type::UIntTy, uint32_t(Field))); + Elements.push_back(ConstantInt::get(Type::Int32Ty, uint32_t(Field))); } virtual void Apply(int64_t &Field) { - Elements.push_back(ConstantInt::get(Type::LongTy, int64_t(Field))); + Elements.push_back(ConstantInt::get(Type::Int64Ty, int64_t(Field))); } virtual void Apply(uint64_t &Field) { - Elements.push_back(ConstantInt::get(Type::ULongTy, uint64_t(Field))); + Elements.push_back(ConstantInt::get(Type::Int64Ty, uint64_t(Field))); } virtual void Apply(bool &Field) { Elements.push_back(ConstantBool::get(Field)); @@ -351,16 +351,16 @@ /// Apply - Set the value of each of the fields. /// virtual void Apply(int &Field) { - Fields.push_back(Type::IntTy); + Fields.push_back(Type::Int32Ty); } virtual void Apply(unsigned &Field) { - Fields.push_back(Type::UIntTy); + Fields.push_back(Type::Int32Ty); } virtual void Apply(int64_t &Field) { - Fields.push_back(Type::LongTy); + Fields.push_back(Type::Int64Ty); } virtual void Apply(uint64_t &Field) { - Fields.push_back(Type::ULongTy); + Fields.push_back(Type::Int64Ty); } virtual void Apply(bool &Field) { Fields.push_back(Type::BoolTy); @@ -1259,7 +1259,7 @@ // If not already defined. if (!StrPtrTy) { // Construct the pointer to signed bytes. - StrPtrTy = PointerType::get(Type::SByteTy); + StrPtrTy = PointerType::get(Type::Int8Ty); } return StrPtrTy; From reid at x10sys.com Sat Dec 30 23:56:04 2006 From: reid at x10sys.com (Reid Spencer) Date: Sat, 30 Dec 2006 23:56:04 -0600 Subject: [llvm-commits] CVS: llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp Message-ID: <200612310556.kBV5u4vp012305@zion.cs.uiuc.edu> Changes in directory llvm/lib/Target/ARM: ARMISelDAGToDAG.cpp updated: 1.94 -> 1.95 --- Log message: For PR950: http://llvm.org/PR950 : Three changes: 1. Convert signed integer types to signless versions. 2. Implement the @sext and @zext parameter attributes. Previously the type of an function parameter was used to determine whether it should be sign extended or zero extended before the call. This information is now communicated via the function type's parameter attributes. 3. The interface to LowerCallTo had to be changed in order to accommodate the parameter attribute information. Although it would have been convenient to pass in the FunctionType itself, there isn't always one present in the caller. Consequently, a signedness indication for the result type and for each parameter was provided for in the interface to this method. All implementations were changed to make the adjustment necessary. --- Diffs of the changes: (+1 -1) ARMISelDAGToDAG.cpp | 2 +- 1 files changed, 1 insertion(+), 1 deletion(-) Index: llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp diff -u llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp:1.94 llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp:1.95 --- llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp:1.94 Fri Dec 29 08:28:12 2006 +++ llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp Sat Dec 30 23:55:36 2006 @@ -915,7 +915,7 @@ SDOperand C = CurDAG->getTargetConstant(~val, MVT::i32); n = CurDAG->getTargetNode(ARM::MVN, MVT::i32, C, Z, Z); } else { - Constant *C = ConstantInt::get(Type::UIntTy, val); + Constant *C = ConstantInt::get(Type::Int32Ty, val); int alignment = 2; SDOperand Addr = CurDAG->getTargetConstantPool(C, MVT::i32, alignment); n = CurDAG->getTargetNode(ARM::LDR, MVT::i32, Addr, Z); From reid at x10sys.com Sat Dec 30 23:56:04 2006 From: reid at x10sys.com (Reid Spencer) Date: Sat, 30 Dec 2006 23:56:04 -0600 Subject: [llvm-commits] CVS: llvm/lib/Target/Alpha/AlphaISelDAGToDAG.cpp AlphaISelLowering.cpp AlphaISelLowering.h Message-ID: <200612310556.kBV5u4Mt012289@zion.cs.uiuc.edu> Changes in directory llvm/lib/Target/Alpha: AlphaISelDAGToDAG.cpp updated: 1.64 -> 1.65 AlphaISelLowering.cpp updated: 1.75 -> 1.76 AlphaISelLowering.h updated: 1.22 -> 1.23 --- Log message: For PR950: http://llvm.org/PR950 : Three changes: 1. Convert signed integer types to signless versions. 2. Implement the @sext and @zext parameter attributes. Previously the type of an function parameter was used to determine whether it should be sign extended or zero extended before the call. This information is now communicated via the function type's parameter attributes. 3. The interface to LowerCallTo had to be changed in order to accommodate the parameter attribute information. Although it would have been convenient to pass in the FunctionType itself, there isn't always one present in the caller. Consequently, a signedness indication for the result type and for each parameter was provided for in the interface to this method. All implementations were changed to make the adjustment necessary. --- Diffs of the changes: (+12 -12) AlphaISelDAGToDAG.cpp | 2 +- AlphaISelLowering.cpp | 16 ++++++++-------- AlphaISelLowering.h | 6 +++--- 3 files changed, 12 insertions(+), 12 deletions(-) Index: llvm/lib/Target/Alpha/AlphaISelDAGToDAG.cpp diff -u llvm/lib/Target/Alpha/AlphaISelDAGToDAG.cpp:1.64 llvm/lib/Target/Alpha/AlphaISelDAGToDAG.cpp:1.65 --- llvm/lib/Target/Alpha/AlphaISelDAGToDAG.cpp:1.64 Tue Dec 19 16:59:25 2006 +++ llvm/lib/Target/Alpha/AlphaISelDAGToDAG.cpp Sat Dec 30 23:55:36 2006 @@ -322,7 +322,7 @@ // val32 >= IMM_LOW + IMM_LOW * IMM_MULT) //always true break; //(zext (LDAH (LDA))) //Else use the constant pool - ConstantInt *C = ConstantInt::get(Type::ULongTy, uval); + ConstantInt *C = ConstantInt::get(Type::Int64Ty, uval); SDOperand CPI = CurDAG->getTargetConstantPool(C, MVT::i64); SDNode *Tmp = CurDAG->getTargetNode(Alpha::LDAHr, MVT::i64, CPI, getGlobalBaseReg()); Index: llvm/lib/Target/Alpha/AlphaISelLowering.cpp diff -u llvm/lib/Target/Alpha/AlphaISelLowering.cpp:1.75 llvm/lib/Target/Alpha/AlphaISelLowering.cpp:1.76 --- llvm/lib/Target/Alpha/AlphaISelLowering.cpp:1.75 Thu Dec 7 16:21:48 2006 +++ llvm/lib/Target/Alpha/AlphaISelLowering.cpp Sat Dec 30 23:55:36 2006 @@ -317,8 +317,8 @@ } std::pair -AlphaTargetLowering::LowerCallTo(SDOperand Chain, - const Type *RetTy, bool isVarArg, +AlphaTargetLowering::LowerCallTo(SDOperand Chain, const Type *RetTy, + bool RetTyIsSigned, bool isVarArg, unsigned CallingConv, bool isTailCall, SDOperand Callee, ArgListTy &Args, SelectionDAG &DAG) { @@ -331,7 +331,7 @@ std::vector args_to_use; for (unsigned i = 0, e = Args.size(); i != e; ++i) { - switch (getValueType(Args[i].second)) { + switch (getValueType(Args[i].Ty)) { default: assert(0 && "Unexpected ValueType for argument!"); case MVT::i1: case MVT::i8: @@ -339,17 +339,17 @@ case MVT::i32: // Promote the integer to 64 bits. If the input type is signed use a // sign extend, otherwise use a zero extend. - if (Args[i].second->isSigned()) - Args[i].first = DAG.getNode(ISD::SIGN_EXTEND, MVT::i64, Args[i].first); + if (Args[i].isSigned) + Args[i].Node = DAG.getNode(ISD::SIGN_EXTEND, MVT::i64, Args[i].Node); else - Args[i].first = DAG.getNode(ISD::ZERO_EXTEND, MVT::i64, Args[i].first); + Args[i].Node = DAG.getNode(ISD::ZERO_EXTEND, MVT::i64, Args[i].Node); break; case MVT::i64: case MVT::f64: case MVT::f32: break; } - args_to_use.push_back(Args[i].first); + args_to_use.push_back(Args[i].Node); } std::vector RetVals; @@ -373,7 +373,7 @@ SDOperand RetVal = TheCall; if (RetTyVT != ActualRetTyVT) { - RetVal = DAG.getNode(RetTy->isSigned() ? ISD::AssertSext : ISD::AssertZext, + RetVal = DAG.getNode(RetTyIsSigned ? ISD::AssertSext : ISD::AssertZext, MVT::i64, RetVal, DAG.getValueType(RetTyVT)); RetVal = DAG.getNode(ISD::TRUNCATE, RetTyVT, RetVal); } Index: llvm/lib/Target/Alpha/AlphaISelLowering.h diff -u llvm/lib/Target/Alpha/AlphaISelLowering.h:1.22 llvm/lib/Target/Alpha/AlphaISelLowering.h:1.23 --- llvm/lib/Target/Alpha/AlphaISelLowering.h:1.22 Tue Oct 31 10:49:55 2006 +++ llvm/lib/Target/Alpha/AlphaISelLowering.h Sat Dec 30 23:55:36 2006 @@ -77,9 +77,9 @@ /// LowerCallTo - This hook lowers an abstract call to a function into an /// actual call. virtual std::pair - LowerCallTo(SDOperand Chain, const Type *RetTy, bool isVarArg, unsigned CC, - bool isTailCall, SDOperand Callee, ArgListTy &Args, - SelectionDAG &DAG); + LowerCallTo(SDOperand Chain, const Type *RetTy, bool RetTyIsSigned, + bool isVarArg, unsigned CC, bool isTailCall, SDOperand Callee, + ArgListTy &Args, SelectionDAG &DAG); ConstraintType getConstraintType(char ConstraintLetter) const; From reid at x10sys.com Sat Dec 30 23:56:08 2006 From: reid at x10sys.com (Reid Spencer) Date: Sat, 30 Dec 2006 23:56:08 -0600 Subject: [llvm-commits] CVS: llvm/lib/Target/X86/X86ISelLowering.cpp X86TargetAsmInfo.cpp Message-ID: <200612310556.kBV5u8bs012335@zion.cs.uiuc.edu> Changes in directory llvm/lib/Target/X86: X86ISelLowering.cpp updated: 1.307 -> 1.308 X86TargetAsmInfo.cpp updated: 1.13 -> 1.14 --- Log message: For PR950: http://llvm.org/PR950 : Three changes: 1. Convert signed integer types to signless versions. 2. Implement the @sext and @zext parameter attributes. Previously the type of an function parameter was used to determine whether it should be sign extended or zero extended before the call. This information is now communicated via the function type's parameter attributes. 3. The interface to LowerCallTo had to be changed in order to accommodate the parameter attribute information. Although it would have been convenient to pass in the FunctionType itself, there isn't always one present in the caller. Consequently, a signedness indication for the result type and for each parameter was provided for in the interface to this method. All implementations were changed to make the adjustment necessary. --- Diffs of the changes: (+25 -17) X86ISelLowering.cpp | 32 ++++++++++++++++++++------------ X86TargetAsmInfo.cpp | 10 +++++----- 2 files changed, 25 insertions(+), 17 deletions(-) Index: llvm/lib/Target/X86/X86ISelLowering.cpp diff -u llvm/lib/Target/X86/X86ISelLowering.cpp:1.307 llvm/lib/Target/X86/X86ISelLowering.cpp:1.308 --- llvm/lib/Target/X86/X86ISelLowering.cpp:1.307 Fri Dec 22 16:29:05 2006 +++ llvm/lib/Target/X86/X86ISelLowering.cpp Sat Dec 30 23:55:36 2006 @@ -4447,14 +4447,21 @@ (I && I->getValue() < Subtarget->getMinRepStrSizeThreshold())) { MVT::ValueType IntPtr = getPointerTy(); const Type *IntPtrTy = getTargetData()->getIntPtrType(); - std::vector > Args; - Args.push_back(std::make_pair(Op.getOperand(1), IntPtrTy)); + TargetLowering::ArgListTy Args; + TargetLowering::ArgListEntry Entry; + Entry.Node = Op.getOperand(1); + Entry.Ty = IntPtrTy; + Entry.isSigned = false; + Args.push_back(Entry); // Extend the ubyte argument to be an int value for the call. - SDOperand Val = DAG.getNode(ISD::ZERO_EXTEND, MVT::i32, Op.getOperand(2)); - Args.push_back(std::make_pair(Val, IntPtrTy)); - Args.push_back(std::make_pair(Op.getOperand(3), IntPtrTy)); + Entry.Node = DAG.getNode(ISD::ZERO_EXTEND, MVT::i32, Op.getOperand(2)); + Entry.Ty = IntPtrTy; + Entry.isSigned = false; + Args.push_back(Entry); + Entry.Node = Op.getOperand(3); + Args.push_back(Entry); std::pair CallResult = - LowerCallTo(Chain, Type::VoidTy, false, CallingConv::C, false, + LowerCallTo(Chain, Type::VoidTy, false, false, CallingConv::C, false, DAG.getExternalSymbol("memset", IntPtr), Args, DAG); return CallResult.second; } @@ -4601,13 +4608,14 @@ if ((Align & 3) != 0 || (I && I->getValue() < Subtarget->getMinRepStrSizeThreshold())) { MVT::ValueType IntPtr = getPointerTy(); - const Type *IntPtrTy = getTargetData()->getIntPtrType(); - std::vector > Args; - Args.push_back(std::make_pair(Op.getOperand(1), IntPtrTy)); - Args.push_back(std::make_pair(Op.getOperand(2), IntPtrTy)); - Args.push_back(std::make_pair(Op.getOperand(3), IntPtrTy)); + TargetLowering::ArgListTy Args; + TargetLowering::ArgListEntry Entry; + Entry.Ty = getTargetData()->getIntPtrType(); Entry.isSigned = false; + Entry.Node = Op.getOperand(1); Args.push_back(Entry); + Entry.Node = Op.getOperand(2); Args.push_back(Entry); + Entry.Node = Op.getOperand(3); Args.push_back(Entry); std::pair CallResult = - LowerCallTo(Chain, Type::VoidTy, false, CallingConv::C, false, + LowerCallTo(Chain, Type::VoidTy, false, false, CallingConv::C, false, DAG.getExternalSymbol("memcpy", IntPtr), Args, DAG); return CallResult.second; } Index: llvm/lib/Target/X86/X86TargetAsmInfo.cpp diff -u llvm/lib/Target/X86/X86TargetAsmInfo.cpp:1.13 llvm/lib/Target/X86/X86TargetAsmInfo.cpp:1.14 --- llvm/lib/Target/X86/X86TargetAsmInfo.cpp:1.13 Tue Dec 19 15:04:20 2006 +++ llvm/lib/Target/X86/X86TargetAsmInfo.cpp Sat Dec 30 23:55:36 2006 @@ -172,13 +172,13 @@ !CI->getType()->isInteger()) return false; - const Type *Ty = CI->getType()->getUnsignedVersion(); + const Type *Ty = CI->getType(); const char *IntName; switch (Ty->getTypeID()) { default: return false; - case Type::UShortTyID: IntName = "llvm.bswap.i16"; break; - case Type::UIntTyID: IntName = "llvm.bswap.i32"; break; - case Type::ULongTyID: IntName = "llvm.bswap.i64"; break; + case Type::Int16TyID: IntName = "llvm.bswap.i16"; break; + case Type::Int32TyID: IntName = "llvm.bswap.i32"; break; + case Type::Int64TyID: IntName = "llvm.bswap.i64"; break; } // Okay, we can do this xform, do so now. @@ -226,7 +226,7 @@ } break; case 3: - if (CI->getType() == Type::ULongTy && Constraints.size() >= 2 && + if (CI->getType() == Type::Int64Ty && Constraints.size() >= 2 && Constraints[0].Codes.size() == 1 && Constraints[0].Codes[0] == "A" && Constraints[1].Codes.size() == 1 && Constraints[1].Codes[0] == "0") { // bswap %eax / bswap %edx / xchgl %eax, %edx -> llvm.bswap.i64 From reid at x10sys.com Sat Dec 30 23:56:07 2006 From: reid at x10sys.com (Reid Spencer) Date: Sat, 30 Dec 2006 23:56:07 -0600 Subject: [llvm-commits] CVS: llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp SelectionDAGISel.cpp Message-ID: <200612310556.kBV5u7WP012313@zion.cs.uiuc.edu> Changes in directory llvm/lib/CodeGen/SelectionDAG: LegalizeDAG.cpp updated: 1.449 -> 1.450 SelectionDAGISel.cpp updated: 1.334 -> 1.335 --- Log message: For PR950: http://llvm.org/PR950 : Three changes: 1. Convert signed integer types to signless versions. 2. Implement the @sext and @zext parameter attributes. Previously the type of an function parameter was used to determine whether it should be sign extended or zero extended before the call. This information is now communicated via the function type's parameter attributes. 3. The interface to LowerCallTo had to be changed in order to accommodate the parameter attribute information. Although it would have been convenient to pass in the FunctionType itself, there isn't always one present in the caller. Consequently, a signedness indication for the result type and for each parameter was provided for in the interface to this method. All implementations were changed to make the adjustment necessary. --- Diffs of the changes: (+119 -97) LegalizeDAG.cpp | 108 ++++++++++++++++++++++++++++++--------------------- SelectionDAGISel.cpp | 108 +++++++++++++++++++++++++-------------------------- 2 files changed, 119 insertions(+), 97 deletions(-) Index: llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp diff -u llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp:1.449 llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp:1.450 --- llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp:1.449 Mon Dec 18 19:44:04 2006 +++ llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp Sat Dec 30 23:55:36 2006 @@ -186,7 +186,7 @@ SDOperand CreateStackTemporary(MVT::ValueType VT); - SDOperand ExpandLibCall(const char *Name, SDNode *Node, + SDOperand ExpandLibCall(const char *Name, SDNode *Node, bool isSigned, SDOperand &Hi); SDOperand ExpandIntToFP(bool isSigned, MVT::ValueType DestTy, SDOperand Source); @@ -2122,33 +2122,42 @@ // operation to an explicit libcall as appropriate. MVT::ValueType IntPtr = TLI.getPointerTy(); const Type *IntPtrTy = TLI.getTargetData()->getIntPtrType(); - std::vector > Args; + TargetLowering::ArgListTy Args; + TargetLowering::ArgListEntry Entry; const char *FnName = 0; if (Node->getOpcode() == ISD::MEMSET) { - Args.push_back(std::make_pair(Tmp2, IntPtrTy)); + Entry.Node = Tmp2; + Entry.Ty = IntPtrTy; + Entry.isSigned = false; + Args.push_back(Entry); // Extend the (previously legalized) ubyte argument to be an int value // for the call. if (Tmp3.getValueType() > MVT::i32) Tmp3 = DAG.getNode(ISD::TRUNCATE, MVT::i32, Tmp3); else Tmp3 = DAG.getNode(ISD::ZERO_EXTEND, MVT::i32, Tmp3); - Args.push_back(std::make_pair(Tmp3, Type::IntTy)); - Args.push_back(std::make_pair(Tmp4, IntPtrTy)); + Entry.Node = Tmp3; Entry.Ty = Type::Int32Ty; Entry.isSigned = true; + Args.push_back(Entry); + Entry.Node = Tmp4; Entry.Ty = IntPtrTy; Entry.isSigned = false; + Args.push_back(Entry); FnName = "memset"; } else if (Node->getOpcode() == ISD::MEMCPY || Node->getOpcode() == ISD::MEMMOVE) { - Args.push_back(std::make_pair(Tmp2, IntPtrTy)); - Args.push_back(std::make_pair(Tmp3, IntPtrTy)); - Args.push_back(std::make_pair(Tmp4, IntPtrTy)); + Entry.Node = Tmp2; Entry.Ty = IntPtrTy; Entry.isSigned = false; + Args.push_back(Entry); + Entry.Node = Tmp3; Entry.Ty = IntPtrTy; Entry.isSigned = false; + Args.push_back(Entry); + Entry.Node = Tmp4; Entry.Ty = IntPtrTy; Entry.isSigned = false; + Args.push_back(Entry); FnName = Node->getOpcode() == ISD::MEMMOVE ? "memmove" : "memcpy"; } else { assert(0 && "Unknown op!"); } std::pair CallResult = - TLI.LowerCallTo(Tmp1, Type::VoidTy, false, CallingConv::C, false, + TLI.LowerCallTo(Tmp1, Type::VoidTy, false, false, CallingConv::C, false, DAG.getExternalSymbol(FnName, IntPtr), Args, DAG); Result = CallResult.second; break; @@ -2243,7 +2252,8 @@ const char *FnName = Node->getOpcode() == ISD::UDIV ? "__udivsi3" : "__divsi3"; SDOperand Dummy; - Result = ExpandLibCall(FnName, Node, Dummy); + bool isSigned = Node->getOpcode() == ISD::SDIV; + Result = ExpandLibCall(FnName, Node, isSigned, Dummy); }; break; } @@ -2346,7 +2356,7 @@ DAG.getNode(ISD::FP_EXTEND, MVT::f64, Tmp2)); } SDOperand Dummy; - Result = ExpandLibCall(FnName, Node, Dummy); + Result = ExpandLibCall(FnName, Node, false, Dummy); break; } break; @@ -2419,6 +2429,7 @@ break; case TargetLowering::Expand: unsigned DivOpc= (Node->getOpcode() == ISD::UREM) ? ISD::UDIV : ISD::SDIV; + bool isSigned = DivOpc == ISD::SDIV; if (MVT::isInteger(Node->getValueType(0))) { if (TLI.getOperationAction(DivOpc, Node->getValueType(0)) == TargetLowering::Legal) { @@ -2433,13 +2444,13 @@ const char *FnName = Node->getOpcode() == ISD::UREM ? "__umodsi3" : "__modsi3"; SDOperand Dummy; - Result = ExpandLibCall(FnName, Node, Dummy); + Result = ExpandLibCall(FnName, Node, isSigned, Dummy); } } else { // Floating point mod -> fmod libcall. const char *FnName = Node->getValueType(0) == MVT::f32 ? "fmodf":"fmod"; SDOperand Dummy; - Result = ExpandLibCall(FnName, Node, Dummy); + Result = ExpandLibCall(FnName, Node, false, Dummy); } break; } @@ -2688,7 +2699,7 @@ default: assert(0 && "Unreachable!"); } SDOperand Dummy; - Result = ExpandLibCall(FnName, Node, Dummy); + Result = ExpandLibCall(FnName, Node, false, Dummy); break; } } @@ -2700,7 +2711,7 @@ const char *FnName = Node->getValueType(0) == MVT::f32 ? "__powisf2" : "__powidf2"; SDOperand Dummy; - Result = ExpandLibCall(FnName, Node, Dummy); + Result = ExpandLibCall(FnName, Node, false, Dummy); break; } case ISD::BIT_CONVERT: @@ -2886,7 +2897,7 @@ default: assert(0 && "Unreachable!"); } SDOperand Dummy; - Result = ExpandLibCall(FnName, Node, Dummy); + Result = ExpandLibCall(FnName, Node, false, Dummy); break; } case Promote: @@ -3609,13 +3620,15 @@ SDOperand Dummy; Tmp1 = ExpandLibCall(FnName1, - DAG.getNode(ISD::MERGE_VALUES, VT, LHS, RHS).Val, Dummy); + DAG.getNode(ISD::MERGE_VALUES, VT, LHS, RHS).Val, + false, Dummy); Tmp2 = DAG.getConstant(0, MVT::i32); CC = DAG.getCondCode(CC1); if (FnName2) { Tmp1 = DAG.getNode(ISD::SETCC, TLI.getSetCCResultTy(), Tmp1, Tmp2, CC); LHS = ExpandLibCall(FnName2, - DAG.getNode(ISD::MERGE_VALUES, VT, LHS, RHS).Val, Dummy); + DAG.getNode(ISD::MERGE_VALUES, VT, LHS, RHS).Val, + false, Dummy); Tmp2 = DAG.getNode(ISD::SETCC, TLI.getSetCCResultTy(), LHS, Tmp2, DAG.getCondCode(CC2)); Tmp1 = DAG.getNode(ISD::OR, Tmp1.getValueType(), Tmp1, Tmp2); @@ -4051,7 +4064,7 @@ // by-reg argument. If it does fit into a single register, return the result // and leave the Hi part unset. SDOperand SelectionDAGLegalize::ExpandLibCall(const char *Name, SDNode *Node, - SDOperand &Hi) { + bool isSigned, SDOperand &Hi) { assert(!IsLegalizingCall && "Cannot overlap legalization of calls!"); // The input chain to this libcall is the entry node of the function. // Legalizing the call will automatically add the previous call to the @@ -4059,17 +4072,20 @@ SDOperand InChain = DAG.getEntryNode(); TargetLowering::ArgListTy Args; + TargetLowering::ArgListEntry Entry; for (unsigned i = 0, e = Node->getNumOperands(); i != e; ++i) { MVT::ValueType ArgVT = Node->getOperand(i).getValueType(); const Type *ArgTy = MVT::getTypeForValueType(ArgVT); - Args.push_back(std::make_pair(Node->getOperand(i), ArgTy)); + Entry.Node = Node->getOperand(i); Entry.Ty = ArgTy; + Entry.isSigned = isSigned; + Args.push_back(Entry); } SDOperand Callee = DAG.getExternalSymbol(Name, TLI.getPointerTy()); // Splice the libcall in wherever FindInputOutputChains tells us to. const Type *RetTy = MVT::getTypeForValueType(Node->getValueType(0)); std::pair CallInfo = - TLI.LowerCallTo(InChain, RetTy, false, CallingConv::C, false, + TLI.LowerCallTo(InChain, RetTy, isSigned, false, CallingConv::C, false, Callee, Args, DAG); // Legalize the call sequence, starting with the chain. This will advance @@ -4121,7 +4137,7 @@ SignSet, Four, Zero); uint64_t FF = 0x5f800000ULL; if (TLI.isLittleEndian()) FF <<= 32; - static Constant *FudgeFactor = ConstantInt::get(Type::ULongTy, FF); + static Constant *FudgeFactor = ConstantInt::get(Type::Int64Ty, FF); SDOperand CPIdx = DAG.getConstantPool(FudgeFactor, TLI.getPointerTy()); CPIdx = DAG.getNode(ISD::ADD, TLI.getPointerTy(), CPIdx, CstOffset); @@ -4167,7 +4183,7 @@ Source = DAG.getNode(ISD::SINT_TO_FP, DestTy, Source); SDOperand UnusedHiPart; - return ExpandLibCall(FnName, Source.Val, UnusedHiPart); + return ExpandLibCall(FnName, Source.Val, isSigned, UnusedHiPart); } /// ExpandLegalINT_TO_FP - This function is responsible for legalizing a @@ -4252,7 +4268,7 @@ case MVT::i64: FF = 0x5F800000ULL; break; // 2^64 (as a float) } if (TLI.isLittleEndian()) FF <<= 32; - static Constant *FudgeFactor = ConstantInt::get(Type::ULongTy, FF); + static Constant *FudgeFactor = ConstantInt::get(Type::Int64Ty, FF); SDOperand CPIdx = DAG.getConstantPool(FudgeFactor, TLI.getPointerTy()); CPIdx = DAG.getNode(ISD::ADD, TLI.getPointerTy(), CPIdx, CstOffset); @@ -4820,9 +4836,9 @@ } if (Node->getOperand(0).getValueType() == MVT::f32) - Lo = ExpandLibCall("__fixsfdi", Node, Hi); + Lo = ExpandLibCall("__fixsfdi", Node, false, Hi); else - Lo = ExpandLibCall("__fixdfdi", Node, Hi); + Lo = ExpandLibCall("__fixdfdi", Node, false, Hi); break; case ISD::FP_TO_UINT: @@ -4844,9 +4860,9 @@ } if (Node->getOperand(0).getValueType() == MVT::f32) - Lo = ExpandLibCall("__fixunssfdi", Node, Hi); + Lo = ExpandLibCall("__fixunssfdi", Node, false, Hi); else - Lo = ExpandLibCall("__fixunsdfdi", Node, Hi); + Lo = ExpandLibCall("__fixunsdfdi", Node, false, Hi); break; case ISD::SHL: { @@ -4895,7 +4911,7 @@ } // Otherwise, emit a libcall. - Lo = ExpandLibCall("__ashldi3", Node, Hi); + Lo = ExpandLibCall("__ashldi3", Node, false, Hi); break; } @@ -4927,7 +4943,7 @@ } // Otherwise, emit a libcall. - Lo = ExpandLibCall("__ashrdi3", Node, Hi); + Lo = ExpandLibCall("__ashrdi3", Node, true, Hi); break; } @@ -4959,7 +4975,7 @@ } // Otherwise, emit a libcall. - Lo = ExpandLibCall("__lshrdi3", Node, Hi); + Lo = ExpandLibCall("__lshrdi3", Node, false, Hi); break; } @@ -5046,31 +5062,35 @@ } } - Lo = ExpandLibCall("__muldi3" , Node, Hi); + Lo = ExpandLibCall("__muldi3" , Node, false, Hi); break; } - case ISD::SDIV: Lo = ExpandLibCall("__divdi3" , Node, Hi); break; - case ISD::UDIV: Lo = ExpandLibCall("__udivdi3", Node, Hi); break; - case ISD::SREM: Lo = ExpandLibCall("__moddi3" , Node, Hi); break; - case ISD::UREM: Lo = ExpandLibCall("__umoddi3", Node, Hi); break; + case ISD::SDIV: Lo = ExpandLibCall("__divdi3" , Node, true, Hi); break; + case ISD::UDIV: Lo = ExpandLibCall("__udivdi3", Node, false, Hi); break; + case ISD::SREM: Lo = ExpandLibCall("__moddi3" , Node, true, Hi); break; + case ISD::UREM: Lo = ExpandLibCall("__umoddi3", Node, false, Hi); break; case ISD::FADD: - Lo = ExpandLibCall(((VT == MVT::f32) ? "__addsf3" : "__adddf3"), Node, Hi); + Lo = ExpandLibCall(((VT == MVT::f32) ? "__addsf3" : "__adddf3"), Node, + false, Hi); break; case ISD::FSUB: - Lo = ExpandLibCall(((VT == MVT::f32) ? "__subsf3" : "__subdf3"), Node, Hi); + Lo = ExpandLibCall(((VT == MVT::f32) ? "__subsf3" : "__subdf3"), Node, + false, Hi); break; case ISD::FMUL: - Lo = ExpandLibCall(((VT == MVT::f32) ? "__mulsf3" : "__muldf3"), Node, Hi); + Lo = ExpandLibCall(((VT == MVT::f32) ? "__mulsf3" : "__muldf3"), Node, + false, Hi); break; case ISD::FDIV: - Lo = ExpandLibCall(((VT == MVT::f32) ? "__divsf3" : "__divdf3"), Node, Hi); + Lo = ExpandLibCall(((VT == MVT::f32) ? "__divsf3" : "__divdf3"), Node, + false, Hi); break; case ISD::FP_EXTEND: - Lo = ExpandLibCall("__extendsfdf2", Node, Hi); + Lo = ExpandLibCall("__extendsfdf2", Node, false, Hi); break; case ISD::FP_ROUND: - Lo = ExpandLibCall("__truncdfsf2", Node, Hi); + Lo = ExpandLibCall("__truncdfsf2", Node, false, Hi); break; case ISD::FSQRT: case ISD::FSIN: @@ -5082,7 +5102,7 @@ case ISD::FCOS: FnName = (VT == MVT::f32) ? "cosf" : "cos"; break; default: assert(0 && "Unreachable!"); } - Lo = ExpandLibCall(FnName, Node, Hi); + Lo = ExpandLibCall(FnName, Node, false, Hi); break; } case ISD::FABS: { @@ -5133,7 +5153,7 @@ : DAG.getZeroExtendInReg(Tmp, SrcVT); Node = DAG.UpdateNodeOperands(Op, Tmp).Val; } - Lo = ExpandLibCall(FnName, Node, Hi); + Lo = ExpandLibCall(FnName, Node, isSigned, Hi); break; } } Index: llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp diff -u llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp:1.334 llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp:1.335 --- llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp:1.334 Sat Dec 23 00:05:40 2006 +++ llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp Sat Dec 30 23:55:36 2006 @@ -396,13 +396,9 @@ /// The comparison function for sorting Case values. struct CaseCmp { bool operator () (const Case& C1, const Case& C2) { - if (const ConstantInt* I1 = dyn_cast(C1.first)) - if (I1->getType()->isUnsigned()) - return I1->getZExtValue() < - cast(C2.first)->getZExtValue(); - - return cast(C1.first)->getSExtValue() < - cast(C2.first)->getSExtValue(); + assert(isa(C1.first) && isa(C2.first)); + return cast(C1.first)->getZExtValue() < + cast(C2.first)->getZExtValue(); } }; @@ -756,7 +752,6 @@ NewValues.push_back(getRoot()); for (unsigned i = 0, e = I.getNumOperands(); i != e; ++i) { SDOperand RetOp = getValue(I.getOperand(i)); - bool isSigned = I.getOperand(i)->getType()->isSigned(); // If this is an integer return value, we need to promote it ourselves to // the full width of a register, since LegalizeOp will use ANY_EXTEND rather @@ -770,14 +765,14 @@ TmpVT = TLI.getTypeToTransformTo(MVT::i32); else TmpVT = MVT::i32; - - if (isSigned) - RetOp = DAG.getNode(ISD::SIGN_EXTEND, TmpVT, RetOp); - else - RetOp = DAG.getNode(ISD::ZERO_EXTEND, TmpVT, RetOp); + const FunctionType *FTy = I.getParent()->getParent()->getFunctionType(); + ISD::NodeType ExtendKind = ISD::SIGN_EXTEND; + if (FTy->paramHasAttr(0, FunctionType::ZExtAttribute)) + ExtendKind = ISD::ZERO_EXTEND; + RetOp = DAG.getNode(ExtendKind, TmpVT, RetOp); } NewValues.push_back(RetOp); - NewValues.push_back(DAG.getConstant(isSigned, MVT::i32)); + NewValues.push_back(DAG.getConstant(false, MVT::i32)); } DAG.setRoot(DAG.getNode(ISD::RET, MVT::Other, &NewValues[0], NewValues.size())); @@ -1383,7 +1378,7 @@ // Create a CaseBlock record representing a conditional branch to // the LHS node if the value being switched on SV is less than C. // Otherwise, branch to LHS. - ISD::CondCode CC = C->getType()->isSigned() ? ISD::SETLT : ISD::SETULT; + ISD::CondCode CC = ISD::SETULT; SelectionDAGISel::CaseBlock CB(CC, SV, C, TrueBB, FalseBB, CR.CaseBB); if (CR.CaseBB == CurMBB) @@ -1705,12 +1700,7 @@ // If this is a constant subscript, handle it quickly. if (ConstantInt *CI = dyn_cast(Idx)) { if (CI->getZExtValue() == 0) continue; - uint64_t Offs; - if (CI->getType()->isSigned()) - Offs = (int64_t) - TD->getTypeSize(Ty)*cast(CI)->getSExtValue(); - else - Offs = + uint64_t Offs = TD->getTypeSize(Ty)*cast(CI)->getZExtValue(); N = DAG.getNode(ISD::ADD, N.getValueType(), N, getIntPtrConstant(Offs)); continue; @@ -1723,10 +1713,7 @@ // If the index is smaller or larger than intptr_t, truncate or extend // it. if (IdxN.getValueType() < N.getValueType()) { - if (Idx->getType()->isSigned()) - IdxN = DAG.getNode(ISD::SIGN_EXTEND, N.getValueType(), IdxN); - else - IdxN = DAG.getNode(ISD::ZERO_EXTEND, N.getValueType(), IdxN); + IdxN = DAG.getNode(ISD::SIGN_EXTEND, N.getValueType(), IdxN); } else if (IdxN.getValueType() > N.getValueType()) IdxN = DAG.getNode(ISD::TRUNCATE, N.getValueType(), IdxN); @@ -2185,25 +2172,30 @@ return; } + const PointerType *PT = cast(I.getCalledValue()->getType()); + const FunctionType *FTy = cast(PT->getElementType()); + SDOperand Callee; if (!RenameFn) Callee = getValue(I.getOperand(0)); else Callee = DAG.getExternalSymbol(RenameFn, TLI.getPointerTy()); - std::vector > Args; + TargetLowering::ArgListTy Args; + TargetLowering::ArgListEntry Entry; Args.reserve(I.getNumOperands()); for (unsigned i = 1, e = I.getNumOperands(); i != e; ++i) { Value *Arg = I.getOperand(i); SDOperand ArgNode = getValue(Arg); - Args.push_back(std::make_pair(ArgNode, Arg->getType())); + Entry.Node = ArgNode; Entry.Ty = Arg->getType(); + Entry.isSigned = FTy->paramHasAttr(i, FunctionType::SExtAttribute); + Args.push_back(Entry); } - const PointerType *PT = cast(I.getCalledValue()->getType()); - const FunctionType *FTy = cast(PT->getElementType()); - std::pair Result = - TLI.LowerCallTo(getRoot(), I.getType(), FTy->isVarArg(), I.getCallingConv(), - I.isTailCall(), Callee, Args, DAG); + TLI.LowerCallTo(getRoot(), I.getType(), + FTy->paramHasAttr(0,FunctionType::SExtAttribute), + FTy->isVarArg(), I.getCallingConv(), I.isTailCall(), + Callee, Args, DAG); if (I.getType() != Type::VoidTy) setValue(&I, Result.first); DAG.setRoot(Result.second); @@ -2785,11 +2777,15 @@ Src = DAG.getNode(ISD::MUL, Src.getValueType(), Src, getIntPtrConstant(ElementSize)); - std::vector > Args; - Args.push_back(std::make_pair(Src, TLI.getTargetData()->getIntPtrType())); + TargetLowering::ArgListTy Args; + TargetLowering::ArgListEntry Entry; + Entry.Node = Src; + Entry.Ty = TLI.getTargetData()->getIntPtrType(); + Entry.isSigned = false; + Args.push_back(Entry); std::pair Result = - TLI.LowerCallTo(getRoot(), I.getType(), false, CallingConv::C, true, + TLI.LowerCallTo(getRoot(), I.getType(), false, false, CallingConv::C, true, DAG.getExternalSymbol("malloc", IntPtr), Args, DAG); setValue(&I, Result.first); // Pointers always fit in registers @@ -2797,12 +2793,15 @@ } void SelectionDAGLowering::visitFree(FreeInst &I) { - std::vector > Args; - Args.push_back(std::make_pair(getValue(I.getOperand(0)), - TLI.getTargetData()->getIntPtrType())); + TargetLowering::ArgListTy Args; + TargetLowering::ArgListEntry Entry; + Entry.Node = getValue(I.getOperand(0)); + Entry.Ty = TLI.getTargetData()->getIntPtrType(); + Entry.isSigned = false; + Args.push_back(Entry); MVT::ValueType IntPtr = TLI.getPointerTy(); std::pair Result = - TLI.LowerCallTo(getRoot(), Type::VoidTy, false, CallingConv::C, true, + TLI.LowerCallTo(getRoot(), Type::VoidTy, false, false, CallingConv::C, true, DAG.getExternalSymbol("free", IntPtr), Args, DAG); DAG.setRoot(Result.second); } @@ -2939,8 +2938,11 @@ // Set up the return result vector. Ops.clear(); + const FunctionType *FTy = F.getFunctionType(); unsigned i = 0; - for (Function::arg_iterator I = F.arg_begin(), E = F.arg_end(); I != E; ++I) { + unsigned Idx = 1; + for (Function::arg_iterator I = F.arg_begin(), E = F.arg_end(); I != E; + ++I, ++Idx) { MVT::ValueType VT = getValueType(I->getType()); switch (getTypeAction(VT)) { @@ -2951,8 +2953,9 @@ case Promote: { SDOperand Op(Result, i++); if (MVT::isInteger(VT)) { - unsigned AssertOp = I->getType()->isSigned() ? ISD::AssertSext - : ISD::AssertZext; + unsigned AssertOp = ISD::AssertSext; + if (FTy->paramHasAttr(Idx, FunctionType::ZExtAttribute)) + AssertOp = ISD::AssertZext; Op = DAG.getNode(AssertOp, Op.getValueType(), Op, DAG.getValueType(VT)); Op = DAG.getNode(ISD::TRUNCATE, VT, Op); } else { @@ -3035,7 +3038,8 @@ /// lowered by the target to something concrete. FIXME: When all targets are /// migrated to using ISD::CALL, this hook should be integrated into SDISel. std::pair -TargetLowering::LowerCallTo(SDOperand Chain, const Type *RetTy, bool isVarArg, +TargetLowering::LowerCallTo(SDOperand Chain, const Type *RetTy, + bool RetTyIsSigned, bool isVarArg, unsigned CallingConv, bool isTailCall, SDOperand Callee, ArgListTy &Args, SelectionDAG &DAG) { @@ -3048,9 +3052,9 @@ // Handle all of the outgoing arguments. for (unsigned i = 0, e = Args.size(); i != e; ++i) { - MVT::ValueType VT = getValueType(Args[i].second); - SDOperand Op = Args[i].first; - bool isSigned = Args[i].second->isSigned(); + MVT::ValueType VT = getValueType(Args[i].Ty); + SDOperand Op = Args[i].Node; + bool isSigned = Args[i].isSigned; switch (getTypeAction(VT)) { default: assert(0 && "Unknown type action!"); case Legal: @@ -3077,7 +3081,7 @@ } else { // Otherwise, this is a vector type. We only support legal vectors // right now. - const PackedType *PTy = cast(Args[i].second); + const PackedType *PTy = cast(Args[i].Ty); unsigned NumElems = PTy->getNumElements(); const Type *EltTy = PTy->getElementType(); @@ -3177,8 +3181,9 @@ abort(); } } else if (MVT::isInteger(VT)) { - unsigned AssertOp = RetTy->isSigned() ? - ISD::AssertSext : ISD::AssertZext; + unsigned AssertOp = ISD::AssertSext; + if (!RetTyIsSigned) + AssertOp = ISD::AssertZext; ResVal = DAG.getNode(AssertOp, ResVal.getValueType(), ResVal, DAG.getValueType(VT)); ResVal = DAG.getNode(ISD::TRUNCATE, VT, ResVal); @@ -3673,10 +3678,7 @@ // Handle constant subscripts. if (ConstantInt *CI = dyn_cast(Idx)) { if (CI->getZExtValue() == 0) continue; - if (CI->getType()->isSigned()) - ConstantOffset += (int64_t)TD->getTypeSize(Ty)*CI->getSExtValue(); - else - ConstantOffset += TD->getTypeSize(Ty)*CI->getZExtValue(); + ConstantOffset += (int64_t)TD->getTypeSize(Ty)*CI->getSExtValue(); continue; } From reid at x10sys.com Sat Dec 30 23:56:08 2006 From: reid at x10sys.com (Reid Spencer) Date: Sat, 30 Dec 2006 23:56:08 -0600 Subject: [llvm-commits] CVS: llvm/lib/Target/TargetData.cpp Message-ID: <200612310556.kBV5u8eL012318@zion.cs.uiuc.edu> Changes in directory llvm/lib/Target: TargetData.cpp updated: 1.73 -> 1.74 --- Log message: For PR950: http://llvm.org/PR950 : Three changes: 1. Convert signed integer types to signless versions. 2. Implement the @sext and @zext parameter attributes. Previously the type of an function parameter was used to determine whether it should be sign extended or zero extended before the call. This information is now communicated via the function type's parameter attributes. 3. The interface to LowerCallTo had to be changed in order to accommodate the parameter attribute information. Although it would have been convenient to pass in the FunctionType itself, there isn't always one present in the caller. Consequently, a signedness indication for the result type and for each parameter was provided for in the interface to this method. All implementations were changed to make the adjustment necessary. --- Diffs of the changes: (+8 -12) TargetData.cpp | 20 ++++++++------------ 1 files changed, 8 insertions(+), 12 deletions(-) Index: llvm/lib/Target/TargetData.cpp diff -u llvm/lib/Target/TargetData.cpp:1.73 llvm/lib/Target/TargetData.cpp:1.74 --- llvm/lib/Target/TargetData.cpp:1.73 Fri Dec 8 12:06:15 2006 +++ llvm/lib/Target/TargetData.cpp Sat Dec 30 23:55:36 2006 @@ -243,14 +243,10 @@ switch (Ty->getTypeID()) { case Type::BoolTyID: Size = 1; Alignment = TD->getBoolAlignment(); return; case Type::VoidTyID: - case Type::UByteTyID: - case Type::SByteTyID: Size = 1; Alignment = TD->getByteAlignment(); return; - case Type::UShortTyID: - case Type::ShortTyID: Size = 2; Alignment = TD->getShortAlignment(); return; - case Type::UIntTyID: - case Type::IntTyID: Size = 4; Alignment = TD->getIntAlignment(); return; - case Type::ULongTyID: - case Type::LongTyID: Size = 8; Alignment = TD->getLongAlignment(); return; + case Type::Int8TyID: Size = 1; Alignment = TD->getByteAlignment(); return; + case Type::Int16TyID: Size = 2; Alignment = TD->getShortAlignment(); return; + case Type::Int32TyID: Size = 4; Alignment = TD->getIntAlignment(); return; + case Type::Int64TyID: Size = 8; Alignment = TD->getLongAlignment(); return; case Type::FloatTyID: Size = 4; Alignment = TD->getFloatAlignment(); return; case Type::DoubleTyID: Size = 8; Alignment = TD->getDoubleAlignment(); return; case Type::LabelTyID: @@ -312,9 +308,9 @@ const Type *TargetData::getIntPtrType() const { switch (getPointerSize()) { default: assert(0 && "Unknown pointer size!"); - case 2: return Type::UShortTy; - case 4: return Type::UIntTy; - case 8: return Type::ULongTy; + case 2: return Type::Int16Ty; + case 4: return Type::Int32Ty; + case 8: return Type::Int64Ty; } } @@ -329,7 +325,7 @@ TI = gep_type_begin(ptrTy, Idx.begin(), Idx.end()); for (unsigned CurIDX = 0; CurIDX != Idx.size(); ++CurIDX, ++TI) { if (const StructType *STy = dyn_cast(*TI)) { - assert(Idx[CurIDX]->getType() == Type::UIntTy && "Illegal struct idx"); + assert(Idx[CurIDX]->getType() == Type::Int32Ty && "Illegal struct idx"); unsigned FieldNo = cast(Idx[CurIDX])->getZExtValue(); // Get structure layout information... From reid at x10sys.com Sat Dec 30 23:56:09 2006 From: reid at x10sys.com (Reid Spencer) Date: Sat, 30 Dec 2006 23:56:09 -0600 Subject: [llvm-commits] CVS: llvm/lib/Target/CBackend/Writer.cpp Message-ID: <200612310556.kBV5u9MK012342@zion.cs.uiuc.edu> Changes in directory llvm/lib/Target/CBackend: Writer.cpp updated: 1.301 -> 1.302 --- Log message: For PR950: http://llvm.org/PR950 : Three changes: 1. Convert signed integer types to signless versions. 2. Implement the @sext and @zext parameter attributes. Previously the type of an function parameter was used to determine whether it should be sign extended or zero extended before the call. This information is now communicated via the function type's parameter attributes. 3. The interface to LowerCallTo had to be changed in order to accommodate the parameter attribute information. Although it would have been convenient to pass in the FunctionType itself, there isn't always one present in the caller. Consequently, a signedness indication for the result type and for each parameter was provided for in the interface to this method. All implementations were changed to make the adjustment necessary. --- Diffs of the changes: (+16 -56) Writer.cpp | 72 +++++++++++++------------------------------------------------ 1 files changed, 16 insertions(+), 56 deletions(-) Index: llvm/lib/Target/CBackend/Writer.cpp diff -u llvm/lib/Target/CBackend/Writer.cpp:1.301 llvm/lib/Target/CBackend/Writer.cpp:1.302 --- llvm/lib/Target/CBackend/Writer.cpp:1.301 Sat Dec 23 00:05:41 2006 +++ llvm/lib/Target/CBackend/Writer.cpp Sat Dec 30 23:55:36 2006 @@ -365,17 +365,13 @@ switch (Ty->getTypeID()) { case Type::VoidTyID: return Out << "void " << NameSoFar; case Type::BoolTyID: return Out << "bool " << NameSoFar; - case Type::UByteTyID: - case Type::SByteTyID: + case Type::Int8TyID: return Out << (isSigned?"signed":"unsigned") << " char " << NameSoFar; - case Type::UShortTyID: - case Type::ShortTyID: + case Type::Int16TyID: return Out << (isSigned?"signed":"unsigned") << " short " << NameSoFar; - case Type::UIntTyID: - case Type::IntTyID: + case Type::Int32TyID: return Out << (isSigned?"signed":"unsigned") << " int " << NameSoFar; - case Type::ULongTyID: - case Type::LongTyID: + case Type::Int64TyID: return Out << (isSigned?"signed":"unsigned") << " long long " << NameSoFar; case Type::FloatTyID: return Out << "float " << NameSoFar; case Type::DoubleTyID: return Out << "double " << NameSoFar; @@ -488,7 +484,7 @@ // ubytes or an array of sbytes with positive values. // const Type *ETy = CPA->getType()->getElementType(); - bool isString = (ETy == Type::SByteTy || ETy == Type::UByteTy); + bool isString = (ETy == Type::Int8Ty || ETy == Type::Int8Ty); // Make sure the last character is a null char, as automatically added by C if (isString && (CPA->getNumOperands() == 0 || @@ -810,50 +806,19 @@ case Type::BoolTyID: Out << (cast(CPV)->getValue() ? '1' : '0'); break; - case Type::SByteTyID: - case Type::UByteTyID: + case Type::Int8TyID: Out << "((char)" << cast(CPV)->getSExtValue() << ")"; break; - case Type::ShortTyID: - case Type::UShortTyID: + case Type::Int16TyID: Out << "((short)" << cast(CPV)->getSExtValue() << ")"; break; - case Type::IntTyID: - case Type::UIntTyID: + case Type::Int32TyID: Out << "((int)" << cast(CPV)->getSExtValue() << ")"; break; - case Type::LongTyID: - case Type::ULongTyID: + case Type::Int64TyID: Out << "((long long)" << cast(CPV)->getSExtValue() << "ll)"; break; -#if 0 - case Type::IntTyID: - if ((int)cast(CPV)->getSExtValue() == (int)0x80000000) - Out << "((int)0x80000000U)"; // Handle MININT specially to avoid warning - else - Out << cast(CPV)->getSExtValue(); - break; - - case Type::LongTyID: - if (cast(CPV)->isMinValue(true)) - Out << "(/*INT64_MIN*/(-9223372036854775807LL)-1)"; - else - Out << cast(CPV)->getSExtValue() << "ll"; - break; - - case Type::UByteTyID: - case Type::UShortTyID: - Out << cast(CPV)->getZExtValue(); - break; - case Type::UIntTyID: - Out << cast(CPV)->getZExtValue() << 'u'; - break; - case Type::ULongTyID: - Out << cast(CPV)->getZExtValue() << "ull"; - break; -#endif - case Type::FloatTyID: case Type::DoubleTyID: { ConstantFP *FPC = cast(CPV); @@ -1627,10 +1592,8 @@ void CWriter::printModuleTypes(const SymbolTable &ST) { Out << "/* Helper union for bitcasts */\n"; Out << "typedef union {\n"; - Out << " unsigned int UInt;\n"; - Out << " signed int SInt;\n"; - Out << " unsigned long long ULong;\n"; - Out << " signed long long SLong;\n"; + Out << " unsigned int Int32;\n"; + Out << " unsigned long long Int64;\n"; Out << " float Float;\n"; Out << " double Double;\n"; Out << "} llvmBitCastUnion;\n"; @@ -2060,8 +2023,7 @@ // We must cast the results of binary operations which might be promoted. bool needsCast = false; - if ((I.getType() == Type::UByteTy) || (I.getType() == Type::SByteTy) - || (I.getType() == Type::UShortTy) || (I.getType() == Type::ShortTy) + if ((I.getType() == Type::Int8Ty) || (I.getType() == Type::Int16Ty) || (I.getType() == Type::FloatTy)) { needsCast = true; Out << "(("; @@ -2192,12 +2154,10 @@ static const char * getFloatBitCastField(const Type *Ty) { switch (Ty->getTypeID()) { default: assert(0 && "Invalid Type"); - case Type::FloatTyID: return "Float"; - case Type::UIntTyID: return "UInt"; - case Type::IntTyID: return "SInt"; - case Type::DoubleTyID:return "Double"; - case Type::ULongTyID: return "ULong"; - case Type::LongTyID: return "SLong"; + case Type::FloatTyID: return "Float"; + case Type::Int32TyID: return "Int32"; + case Type::DoubleTyID: return "Double"; + case Type::Int64TyID: return "Int64"; } } From reid at x10sys.com Sat Dec 30 23:56:08 2006 From: reid at x10sys.com (Reid Spencer) Date: Sat, 30 Dec 2006 23:56:08 -0600 Subject: [llvm-commits] CVS: llvm/lib/Target/Sparc/SparcISelDAGToDAG.cpp Message-ID: <200612310556.kBV5u8dd012323@zion.cs.uiuc.edu> Changes in directory llvm/lib/Target/Sparc: SparcISelDAGToDAG.cpp updated: 1.116 -> 1.117 --- Log message: For PR950: http://llvm.org/PR950 : Three changes: 1. Convert signed integer types to signless versions. 2. Implement the @sext and @zext parameter attributes. Previously the type of an function parameter was used to determine whether it should be sign extended or zero extended before the call. This information is now communicated via the function type's parameter attributes. 3. The interface to LowerCallTo had to be changed in order to accommodate the parameter attribute information. Although it would have been convenient to pass in the FunctionType itself, there isn't always one present in the caller. Consequently, a signedness indication for the result type and for each parameter was provided for in the interface to this method. All implementations were changed to make the adjustment necessary. --- Diffs of the changes: (+21 -19) SparcISelDAGToDAG.cpp | 40 +++++++++++++++++++++------------------- 1 files changed, 21 insertions(+), 19 deletions(-) Index: llvm/lib/Target/Sparc/SparcISelDAGToDAG.cpp diff -u llvm/lib/Target/Sparc/SparcISelDAGToDAG.cpp:1.116 llvm/lib/Target/Sparc/SparcISelDAGToDAG.cpp:1.117 --- llvm/lib/Target/Sparc/SparcISelDAGToDAG.cpp:1.116 Thu Dec 7 16:21:48 2006 +++ llvm/lib/Target/Sparc/SparcISelDAGToDAG.cpp Sat Dec 30 23:55:36 2006 @@ -117,10 +117,9 @@ virtual std::vector LowerArguments(Function &F, SelectionDAG &DAG); virtual std::pair - LowerCallTo(SDOperand Chain, const Type *RetTy, bool isVarArg, - unsigned CC, - bool isTailCall, SDOperand Callee, ArgListTy &Args, - SelectionDAG &DAG); + LowerCallTo(SDOperand Chain, const Type *RetTy, bool RetTyIsSigned, + bool isVarArg, unsigned CC, bool isTailCall, SDOperand Callee, + ArgListTy &Args, SelectionDAG &DAG); virtual MachineBasicBlock *InsertAtEndOfBasicBlock(MachineInstr *MI, MachineBasicBlock *MBB); @@ -318,8 +317,7 @@ MF.addLiveIn(*CurArgReg++, VReg); SDOperand Arg = DAG.getCopyFromReg(Root, VReg, MVT::i32); if (ObjectVT != MVT::i32) { - unsigned AssertOp = I->getType()->isSigned() ? ISD::AssertSext - : ISD::AssertZext; + unsigned AssertOp = ISD::AssertSext; Arg = DAG.getNode(AssertOp, MVT::i32, Arg, DAG.getValueType(ObjectVT)); Arg = DAG.getNode(ISD::TRUNCATE, ObjectVT, Arg); @@ -332,8 +330,7 @@ if (ObjectVT == MVT::i32) { Load = DAG.getLoad(MVT::i32, Root, FIPtr, NULL, 0); } else { - ISD::LoadExtType LoadOp = - I->getType()->isSigned() ? ISD::SEXTLOAD : ISD::ZEXTLOAD; + ISD::LoadExtType LoadOp = ISD::SEXTLOAD; // Sparc is big endian, so add an offset based on the ObjectVT. unsigned Offset = 4-std::max(1U, MVT::getSizeInBits(ObjectVT)/8); @@ -472,13 +469,13 @@ std::pair SparcTargetLowering::LowerCallTo(SDOperand Chain, const Type *RetTy, - bool isVarArg, unsigned CC, + bool RetTyIsSigned, bool isVarArg, unsigned CC, bool isTailCall, SDOperand Callee, ArgListTy &Args, SelectionDAG &DAG) { // Count the size of the outgoing arguments. unsigned ArgsSize = 0; for (unsigned i = 0, e = Args.size(); i != e; ++i) { - switch (getValueType(Args[i].second)) { + switch (getValueType(Args[i].Ty)) { default: assert(0 && "Unknown value type!"); case MVT::i1: case MVT::i8: @@ -508,7 +505,7 @@ std::vector RegValuesToPass; unsigned ArgOffset = 68; for (unsigned i = 0, e = Args.size(); i != e; ++i) { - SDOperand Val = Args[i].first; + SDOperand Val = Args[i].Node; MVT::ValueType ObjectVT = Val.getValueType(); SDOperand ValToStore(0, 0); unsigned ObjSize; @@ -516,14 +513,15 @@ default: assert(0 && "Unhandled argument type!"); case MVT::i1: case MVT::i8: - case MVT::i16: + case MVT::i16: { // Promote the integer to 32-bits. If the input type is signed, use a // sign extend, otherwise use a zero extend. - if (Args[i].second->isSigned()) - Val = DAG.getNode(ISD::SIGN_EXTEND, MVT::i32, Val); - else - Val = DAG.getNode(ISD::ZERO_EXTEND, MVT::i32, Val); + ISD::NodeType ExtendKind = ISD::ZERO_EXTEND; + if (Args[i].isSigned) + ExtendKind = ISD::SIGN_EXTEND; + Val = DAG.getNode(ExtendKind, MVT::i32, Val); // FALL THROUGH + } case MVT::i32: ObjSize = 4; @@ -629,15 +627,19 @@ default: assert(0 && "Unknown value type to return!"); case MVT::i1: case MVT::i8: - case MVT::i16: + case MVT::i16: { RetVal = DAG.getCopyFromReg(Chain, SP::O0, MVT::i32, InFlag); Chain = RetVal.getValue(1); // Add a note to keep track of whether it is sign or zero extended. - RetVal = DAG.getNode(RetTy->isSigned() ? ISD::AssertSext :ISD::AssertZext, - MVT::i32, RetVal, DAG.getValueType(RetTyVT)); + ISD::NodeType AssertKind = ISD::AssertZext; + if (RetTyIsSigned) + AssertKind = ISD::AssertSext; + RetVal = DAG.getNode(AssertKind, MVT::i32, RetVal, + DAG.getValueType(RetTyVT)); RetVal = DAG.getNode(ISD::TRUNCATE, RetTyVT, RetVal); break; + } case MVT::i32: RetVal = DAG.getCopyFromReg(Chain, SP::O0, MVT::i32, InFlag); Chain = RetVal.getValue(1); From reid at x10sys.com Sat Dec 30 23:56:08 2006 From: reid at x10sys.com (Reid Spencer) Date: Sat, 30 Dec 2006 23:56:08 -0600 Subject: [llvm-commits] CVS: llvm/lib/Target/IA64/IA64ISelLowering.cpp IA64ISelLowering.h Message-ID: <200612310556.kBV5u8WW012330@zion.cs.uiuc.edu> Changes in directory llvm/lib/Target/IA64: IA64ISelLowering.cpp updated: 1.50 -> 1.51 IA64ISelLowering.h updated: 1.7 -> 1.8 --- Log message: For PR950: http://llvm.org/PR950 : Three changes: 1. Convert signed integer types to signless versions. 2. Implement the @sext and @zext parameter attributes. Previously the type of an function parameter was used to determine whether it should be sign extended or zero extended before the call. This information is now communicated via the function type's parameter attributes. 3. The interface to LowerCallTo had to be changed in order to accommodate the parameter attribute information. Although it would have been convenient to pass in the FunctionType itself, there isn't always one present in the caller. Consequently, a signedness indication for the result type and for each parameter was provided for in the interface to this method. All implementations were changed to make the adjustment necessary. --- Diffs of the changes: (+20 -19) IA64ISelLowering.cpp | 32 +++++++++++++++++--------------- IA64ISelLowering.h | 7 +++---- 2 files changed, 20 insertions(+), 19 deletions(-) Index: llvm/lib/Target/IA64/IA64ISelLowering.cpp diff -u llvm/lib/Target/IA64/IA64ISelLowering.cpp:1.50 llvm/lib/Target/IA64/IA64ISelLowering.cpp:1.51 --- llvm/lib/Target/IA64/IA64ISelLowering.cpp:1.50 Mon Nov 27 17:37:22 2006 +++ llvm/lib/Target/IA64/IA64ISelLowering.cpp Sat Dec 30 23:55:36 2006 @@ -290,10 +290,10 @@ std::pair IA64TargetLowering::LowerCallTo(SDOperand Chain, - const Type *RetTy, bool isVarArg, - unsigned CallingConv, bool isTailCall, - SDOperand Callee, ArgListTy &Args, - SelectionDAG &DAG) { + const Type *RetTy, bool RetTyIsSigned, + bool isVarArg, unsigned CallingConv, + bool isTailCall, SDOperand Callee, + ArgListTy &Args, SelectionDAG &DAG) { MachineFunction &MF = DAG.getMachineFunction(); @@ -315,7 +315,8 @@ std::max(outRegsUsed, MF.getInfo()->outRegsUsed); // keep stack frame 16-byte aligned - //assert(NumBytes==((NumBytes+15) & ~15) && "stack frame not 16-byte aligned!"); + // assert(NumBytes==((NumBytes+15) & ~15) && + // "stack frame not 16-byte aligned!"); NumBytes = (NumBytes+15) & ~15; Chain = DAG.getCALLSEQ_START(Chain,DAG.getConstant(NumBytes, getPointerTy())); @@ -328,7 +329,7 @@ for (unsigned i = 0, e = Args.size(); i != e; ++i) { - SDOperand Val = Args[i].first; + SDOperand Val = Args[i].Node; MVT::ValueType ObjectVT = Val.getValueType(); SDOperand ValToStore(0, 0), ValToConvert(0, 0); unsigned ObjSize=8; @@ -337,14 +338,15 @@ case MVT::i1: case MVT::i8: case MVT::i16: - case MVT::i32: + case MVT::i32: { //promote to 64-bits, sign/zero extending based on type //of the argument - if(Args[i].second->isSigned()) - Val = DAG.getNode(ISD::SIGN_EXTEND, MVT::i64, Val); - else - Val = DAG.getNode(ISD::ZERO_EXTEND, MVT::i64, Val); + ISD::NodeType ExtendKind = ISD::ZERO_EXTEND; + if (Args[i].isSigned) + ExtendKind = ISD::SIGN_EXTEND; + Val = DAG.getNode(ExtendKind, MVT::i64, Val); // XXX: fall through + } case MVT::i64: //ObjSize = 8; if(RegValuesToPass.size() >= 8) { @@ -422,7 +424,8 @@ unsigned seenConverts = 0; for (unsigned i = 0, e = RegValuesToPass.size(); i != e; ++i) { if(MVT::isFloatingPoint(RegValuesToPass[i].getValueType())) { - Chain = DAG.getCopyToReg(Chain, IntArgRegs[i], Converts[seenConverts++], InFlag); + Chain = DAG.getCopyToReg(Chain, IntArgRegs[i], Converts[seenConverts++], + InFlag); InFlag = Chain.getValue(1); } } @@ -432,8 +435,7 @@ for (unsigned i = 0, e = RegValuesToPass.size(); i != e; ++i) { Chain = DAG.getCopyToReg(Chain, MVT::isInteger(RegValuesToPass[i].getValueType()) ? - IntArgRegs[i] : FPArgRegs[usedFPArgs++], - RegValuesToPass[i], InFlag); + IntArgRegs[i] : FPArgRegs[usedFPArgs++], RegValuesToPass[i], InFlag); InFlag = Chain.getValue(1); } @@ -483,7 +485,7 @@ case MVT::i1: { // bools are just like other integers (returned in r8) // we *could* fall through to the truncate below, but this saves a // few redundant predicate ops - SDOperand boolInR8 = DAG.getCopyFromReg(Chain, IA64::r8, MVT::i64, InFlag); + SDOperand boolInR8 = DAG.getCopyFromReg(Chain, IA64::r8, MVT::i64,InFlag); InFlag = boolInR8.getValue(2); Chain = boolInR8.getValue(1); SDOperand zeroReg = DAG.getCopyFromReg(Chain, IA64::r0, MVT::i64, InFlag); Index: llvm/lib/Target/IA64/IA64ISelLowering.h diff -u llvm/lib/Target/IA64/IA64ISelLowering.h:1.7 llvm/lib/Target/IA64/IA64ISelLowering.h:1.8 --- llvm/lib/Target/IA64/IA64ISelLowering.h:1.7 Fri Jan 27 15:09:22 2006 +++ llvm/lib/Target/IA64/IA64ISelLowering.h Sat Dec 30 23:55:36 2006 @@ -58,10 +58,9 @@ /// LowerCallTo - This hook lowers an abstract call to a function into an /// actual call. virtual std::pair - LowerCallTo(SDOperand Chain, const Type *RetTy, bool isVarArg, - unsigned CC, - bool isTailCall, SDOperand Callee, ArgListTy &Args, - SelectionDAG &DAG); + LowerCallTo(SDOperand Chain, const Type *RetTy, bool RetTyIsSigned, + bool isVarArg, unsigned CC, bool isTailCall, + SDOperand Callee, ArgListTy &Args, SelectionDAG &DAG); /// LowerOperation - for custom lowering specific ops /// (currently, only "ret void") From reid at x10sys.com Sun Dec 31 00:03:24 2006 From: reid at x10sys.com (Reid Spencer) Date: Sun, 31 Dec 2006 00:03:24 -0600 Subject: [llvm-commits] CVS: llvm/test/Regression/Transforms/PredicateSimplifier/2006-09-20-SetCC.ll Message-ID: <200612310603.kBV63Ofl012647@zion.cs.uiuc.edu> Changes in directory llvm/test/Regression/Transforms/PredicateSimplifier: 2006-09-20-SetCC.ll updated: 1.3 -> 1.4 --- Log message: For PR950: http://llvm.org/PR950 : Update the test suite to accommodate the change from signed integer types to signless integer types. The changes were of only a few kinds: 1. Make sure llvm-upgrade is run on the source which does the bulk of the changes automatically. 2. Change things like "grep 'int'" to "grep 'i32'" 3. In several tests bitcasting caused the same name to be reused in the same type plane. These had to be manually fixed. The fix was (generally) to leave the bitcast and provide the instruction with a new name. This should not affect the semantics of the test. In a few cases, the bitcasts were known to be superfluous and irrelevant to the test case so they were removed. 4. One test case uses a bytecode file which needed to be updated to the latest bytecode format. --- Diffs of the changes: (+3 -3) 2006-09-20-SetCC.ll | 6 +++--- 1 files changed, 3 insertions(+), 3 deletions(-) Index: llvm/test/Regression/Transforms/PredicateSimplifier/2006-09-20-SetCC.ll diff -u llvm/test/Regression/Transforms/PredicateSimplifier/2006-09-20-SetCC.ll:1.3 llvm/test/Regression/Transforms/PredicateSimplifier/2006-09-20-SetCC.ll:1.4 --- llvm/test/Regression/Transforms/PredicateSimplifier/2006-09-20-SetCC.ll:1.3 Fri Dec 1 22:23:10 2006 +++ llvm/test/Regression/Transforms/PredicateSimplifier/2006-09-20-SetCC.ll Sun Dec 31 00:01:59 2006 @@ -16,8 +16,8 @@ br label %cond_true cond_true: ; preds = %return.i, %cond_true.outer - %indvar = phi uint [ 0, %cond_true.outer ], [ %indvar.next, %return.i ] ; [#uses=2] - %indvar = cast uint %indvar to int ; [#uses=1] + %indvar.ui = phi uint [ 0, %cond_true.outer ], [ %indvar.next, %return.i ] ; [#uses=2] + %indvar = cast uint %indvar.ui to int ; [#uses=1] %i.0.0 = add int %indvar, %i.0.0.ph ; [#uses=3] %savedstack = call sbyte* %llvm.stacksave( ) ; [#uses=2] %tmp.i = seteq int %i.0.0, 0 ; [#uses=1] @@ -38,7 +38,7 @@ return.i: ; preds = %cond_true call void %llvm.stackrestore( sbyte* %savedstack ) %tmp21 = setgt int %tmp5, 9999 ; [#uses=1] - %indvar.next = add uint %indvar, 1 ; [#uses=1] + %indvar.next = add uint %indvar.ui, 1 ; [#uses=1] br bool %tmp21, label %bb8, label %cond_true bb8: ; preds = %return.i, %cond_true.i From reid at x10sys.com Sun Dec 31 00:03:24 2006 From: reid at x10sys.com (Reid Spencer) Date: Sun, 31 Dec 2006 00:03:24 -0600 Subject: [llvm-commits] CVS: llvm/test/Regression/Transforms/LoopStrengthReduce/nested-reduce.ll share_code_in_preheader.ll use_postinc_value_outside_loop.ll var_stride_used_by_compare.ll Message-ID: <200612310603.kBV63Oer012658@zion.cs.uiuc.edu> Changes in directory llvm/test/Regression/Transforms/LoopStrengthReduce: nested-reduce.ll updated: 1.2 -> 1.3 share_code_in_preheader.ll updated: 1.2 -> 1.3 use_postinc_value_outside_loop.ll updated: 1.3 -> 1.4 var_stride_used_by_compare.ll updated: 1.2 -> 1.3 --- Log message: For PR950: http://llvm.org/PR950 : Update the test suite to accommodate the change from signed integer types to signless integer types. The changes were of only a few kinds: 1. Make sure llvm-upgrade is run on the source which does the bulk of the changes automatically. 2. Change things like "grep 'int'" to "grep 'i32'" 3. In several tests bitcasting caused the same name to be reused in the same type plane. These had to be manually fixed. The fix was (generally) to leave the bitcast and provide the instruction with a new name. This should not affect the semantics of the test. In a few cases, the bitcasts were known to be superfluous and irrelevant to the test case so they were removed. 4. One test case uses a bytecode file which needed to be updated to the latest bytecode format. --- Diffs of the changes: (+18 -18) nested-reduce.ll | 6 +++--- share_code_in_preheader.ll | 12 ++++++------ use_postinc_value_outside_loop.ll | 10 +++++----- var_stride_used_by_compare.ll | 8 ++++---- 4 files changed, 18 insertions(+), 18 deletions(-) Index: llvm/test/Regression/Transforms/LoopStrengthReduce/nested-reduce.ll diff -u llvm/test/Regression/Transforms/LoopStrengthReduce/nested-reduce.ll:1.2 llvm/test/Regression/Transforms/LoopStrengthReduce/nested-reduce.ll:1.3 --- llvm/test/Regression/Transforms/LoopStrengthReduce/nested-reduce.ll:1.2 Fri Dec 1 22:23:09 2006 +++ llvm/test/Regression/Transforms/LoopStrengthReduce/nested-reduce.ll Sun Dec 31 00:01:59 2006 @@ -25,8 +25,8 @@ br label %no_exit.1 no_exit.1: ; preds = %cond_continue, %no_exit.1.outer - %indvar = phi uint [ 0, %no_exit.1.outer ], [ %indvar.next, %cond_continue ] ; [#uses=2] - %indvar = cast uint %indvar to int ; [#uses=1] + %indvar.ui = phi uint [ 0, %no_exit.1.outer ], [ %indvar.next, %cond_continue ] ; [#uses=2] + %indvar = cast uint %indvar.ui to int ; [#uses=1] %j.1.2 = add int %indvar, %j.1.2.ph ; [#uses=2] %tmp.11 = add int %j.1.2, %tmp.9 ; [#uses=1] %tmp.12 = cast int %tmp.11 to ubyte ; [#uses=1] @@ -43,7 +43,7 @@ cond_continue: ; preds = %no_exit.1 %tmp.519 = setlt int %inc.1, %C ; [#uses=1] - %indvar.next = add uint %indvar, 1 ; [#uses=1] + %indvar.next = add uint %indvar.ui, 1 ; [#uses=1] br bool %tmp.519, label %no_exit.1, label %loopexit.1 loopexit.1: ; preds = %cond_continue, %cond_true, %loopentry.1 Index: llvm/test/Regression/Transforms/LoopStrengthReduce/share_code_in_preheader.ll diff -u llvm/test/Regression/Transforms/LoopStrengthReduce/share_code_in_preheader.ll:1.2 llvm/test/Regression/Transforms/LoopStrengthReduce/share_code_in_preheader.ll:1.3 --- llvm/test/Regression/Transforms/LoopStrengthReduce/share_code_in_preheader.ll:1.2 Fri Dec 1 22:23:09 2006 +++ llvm/test/Regression/Transforms/LoopStrengthReduce/share_code_in_preheader.ll Sun Dec 31 00:01:59 2006 @@ -1,17 +1,17 @@ ; RUN: llvm-upgrade < %s | llvm-as | opt -loop-reduce | llvm-dis | grep mul | wc -l | grep 1 ; LSR should not make two copies of the Q*L expression in the preheader! -sbyte %test(sbyte* %A, sbyte* %B, int %L, int %Q, int %N) { +sbyte %test(sbyte* %A, sbyte* %B, int %L, int %Q, int %N.s) { entry: %tmp.6 = mul int %Q, %L ; [#uses=1] - %N = cast int %N to uint ; [#uses=1] + %N = cast int %N.s to uint ; [#uses=1] br label %no_exit no_exit: ; preds = %no_exit, %no_exit.preheader - %indvar = phi uint [ 0, %entry], [ %indvar.next, %no_exit ] ; [#uses=2] + %indvar.ui = phi uint [ 0, %entry], [ %indvar.next, %no_exit ] ; [#uses=2] %Sum.0.0 = phi sbyte [ 0, %entry], [ %tmp.21, %no_exit ] ; [#uses=1] - %indvar = cast uint %indvar to int ; [#uses=1] - %N_addr.0.0 = sub int %N, %indvar ; [#uses=1] + %indvar = cast uint %indvar.ui to int ; [#uses=1] + %N_addr.0.0 = sub int %N.s, %indvar ; [#uses=1] %tmp.8 = add int %N_addr.0.0, %tmp.6 ; [#uses=2] %tmp.9 = getelementptr sbyte* %A, int %tmp.8 ; [#uses=1] %tmp.10 = load sbyte* %tmp.9 ; [#uses=1] @@ -19,7 +19,7 @@ %tmp.18 = load sbyte* %tmp.17 ; [#uses=1] %tmp.19 = sub sbyte %tmp.10, %tmp.18 ; [#uses=1] %tmp.21 = add sbyte %tmp.19, %Sum.0.0 ; [#uses=2] - %indvar.next = add uint %indvar, 1 ; [#uses=2] + %indvar.next = add uint %indvar.ui, 1 ; [#uses=2] %exitcond = seteq uint %indvar.next, %N ; [#uses=1] br bool %exitcond, label %loopexit, label %no_exit Index: llvm/test/Regression/Transforms/LoopStrengthReduce/use_postinc_value_outside_loop.ll diff -u llvm/test/Regression/Transforms/LoopStrengthReduce/use_postinc_value_outside_loop.ll:1.3 llvm/test/Regression/Transforms/LoopStrengthReduce/use_postinc_value_outside_loop.ll:1.4 --- llvm/test/Regression/Transforms/LoopStrengthReduce/use_postinc_value_outside_loop.ll:1.3 Fri Dec 1 22:23:09 2006 +++ llvm/test/Regression/Transforms/LoopStrengthReduce/use_postinc_value_outside_loop.ll Sun Dec 31 00:01:59 2006 @@ -1,4 +1,4 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -loop-reduce | llvm-dis | grep 'add uint %iv.*inc, 1' +; RUN: llvm-upgrade < %s | llvm-as | opt -loop-reduce | llvm-dis | grep 'add i32 %iv.*inc, 1' ; ; Make sure that the use of the IV outside of the loop (the store) uses the ; post incremented value of the IV, not the preincremented value. This @@ -13,13 +13,13 @@ br label %no_exit.2 no_exit.2: ; preds = %no_exit.2, %then.0 - %indvar630 = phi uint [ 0, %then.0 ], [ %indvar.next631, %no_exit.2 ] ; [#uses=3] - %indvar630 = cast uint %indvar630 to int ; [#uses=1] - %tmp.38 = getelementptr [700 x int]* %nbeaux_.0__558, int 0, uint %indvar630 ; [#uses=1] + %indvar630.ui = phi uint [ 0, %then.0 ], [ %indvar.next631, %no_exit.2 ] ; [#uses=3] + %indvar630 = cast uint %indvar630.ui to int ; [#uses=1] + %tmp.38 = getelementptr [700 x int]* %nbeaux_.0__558, int 0, uint %indvar630.ui ; [#uses=1] store int 0, int* %tmp.38 %inc.2 = add int %indvar630, 2 ; [#uses=2] %tmp.34 = call bool %pred(int %indvar630) - %indvar.next631 = add uint %indvar630, 1 ; [#uses=1] + %indvar.next631 = add uint %indvar630.ui, 1 ; [#uses=1] br bool %tmp.34, label %no_exit.2, label %loopexit.2.loopexit loopexit.2.loopexit: ; preds = %no_exit.2 Index: llvm/test/Regression/Transforms/LoopStrengthReduce/var_stride_used_by_compare.ll diff -u llvm/test/Regression/Transforms/LoopStrengthReduce/var_stride_used_by_compare.ll:1.2 llvm/test/Regression/Transforms/LoopStrengthReduce/var_stride_used_by_compare.ll:1.3 --- llvm/test/Regression/Transforms/LoopStrengthReduce/var_stride_used_by_compare.ll:1.2 Fri Dec 1 22:23:09 2006 +++ llvm/test/Regression/Transforms/LoopStrengthReduce/var_stride_used_by_compare.ll Sun Dec 31 00:01:59 2006 @@ -17,10 +17,10 @@ implementation ; Functions: -void %foo(int %k, int %i) { +void %foo(int %k, int %i.s) { entry: - %i = cast int %i to uint ; [#uses=2] - %k_addr.012 = shl int %i, ubyte 1 ; [#uses=1] + %i = cast int %i.s to uint ; [#uses=2] + %k_addr.012 = shl int %i.s, ubyte 1 ; [#uses=1] %tmp14 = setgt int %k_addr.012, 8192 ; [#uses=1] br bool %tmp14, label %return, label %bb.preheader @@ -35,7 +35,7 @@ %k_addr.0.0 = cast uint %tmp.16 to int ; [#uses=1] %tmp = getelementptr [8193 x sbyte]* %flags2, int 0, uint %tmp.16 ; [#uses=1] store sbyte 0, sbyte* %tmp - %k_addr.0 = add int %k_addr.0.0, %i ; [#uses=1] + %k_addr.0 = add int %k_addr.0.0, %i.s ; [#uses=1] %tmp = setgt int %k_addr.0, 8192 ; [#uses=1] %indvar.next = add uint %indvar, 1 ; [#uses=1] br bool %tmp, label %return.loopexit, label %bb From reid at x10sys.com Sun Dec 31 00:03:24 2006 From: reid at x10sys.com (Reid Spencer) Date: Sun, 31 Dec 2006 00:03:24 -0600 Subject: [llvm-commits] CVS: llvm/test/Regression/CodeGen/ARM/vargs2.ll Message-ID: <200612310603.kBV63Oj0012645@zion.cs.uiuc.edu> Changes in directory llvm/test/Regression/CodeGen/ARM: vargs2.ll updated: 1.3 -> 1.4 --- Log message: For PR950: http://llvm.org/PR950 : Update the test suite to accommodate the change from signed integer types to signless integer types. The changes were of only a few kinds: 1. Make sure llvm-upgrade is run on the source which does the bulk of the changes automatically. 2. Change things like "grep 'int'" to "grep 'i32'" 3. In several tests bitcasting caused the same name to be reused in the same type plane. These had to be manually fixed. The fix was (generally) to leave the bitcast and provide the instruction with a new name. This should not affect the semantics of the test. In a few cases, the bitcasts were known to be superfluous and irrelevant to the test case so they were removed. 4. One test case uses a bytecode file which needed to be updated to the latest bytecode format. --- Diffs of the changes: (+3 -3) vargs2.ll | 6 +++--- 1 files changed, 3 insertions(+), 3 deletions(-) Index: llvm/test/Regression/CodeGen/ARM/vargs2.ll diff -u llvm/test/Regression/CodeGen/ARM/vargs2.ll:1.3 llvm/test/Regression/CodeGen/ARM/vargs2.ll:1.4 --- llvm/test/Regression/CodeGen/ARM/vargs2.ll:1.3 Fri Dec 1 22:23:08 2006 +++ llvm/test/Regression/CodeGen/ARM/vargs2.ll Sun Dec 31 00:01:59 2006 @@ -3,14 +3,14 @@ implementation ; Functions: -void %f(int %a, ...) { +void %f(int %a_arg, ...) { entry: - %a = cast int %a to uint ; [#uses=1] + %a = cast int %a_arg to uint ; [#uses=1] %l1 = alloca sbyte*, align 4 ; [#uses=5] %l2 = alloca sbyte*, align 4 ; [#uses=4] %memtmp = alloca sbyte* ; [#uses=2] call void %llvm.va_start( sbyte** %l1 ) - %tmp22 = seteq int %a, 0 ; [#uses=1] + %tmp22 = seteq int %a_arg, 0 ; [#uses=1] %tmp23 = volatile load sbyte** %l1 ; [#uses=2] br bool %tmp22, label %bb8, label %bb From reid at x10sys.com Sun Dec 31 00:03:25 2006 From: reid at x10sys.com (Reid Spencer) Date: Sun, 31 Dec 2006 00:03:25 -0600 Subject: [llvm-commits] CVS: llvm/test/Regression/Transforms/IndVarsSimplify/2005-02-26-ExitValueCompute.ll 2006-03-31-NegativeStride.ll variable-stride-ivs.ll Message-ID: <200612310603.kBV63P5w012670@zion.cs.uiuc.edu> Changes in directory llvm/test/Regression/Transforms/IndVarsSimplify: 2005-02-26-ExitValueCompute.ll updated: 1.2 -> 1.3 2006-03-31-NegativeStride.ll updated: 1.2 -> 1.3 variable-stride-ivs.ll updated: 1.2 -> 1.3 --- Log message: For PR950: http://llvm.org/PR950 : Update the test suite to accommodate the change from signed integer types to signless integer types. The changes were of only a few kinds: 1. Make sure llvm-upgrade is run on the source which does the bulk of the changes automatically. 2. Change things like "grep 'int'" to "grep 'i32'" 3. In several tests bitcasting caused the same name to be reused in the same type plane. These had to be manually fixed. The fix was (generally) to leave the bitcast and provide the instruction with a new name. This should not affect the semantics of the test. In a few cases, the bitcasts were known to be superfluous and irrelevant to the test case so they were removed. 4. One test case uses a bytecode file which needed to be updated to the latest bytecode format. --- Diffs of the changes: (+6 -6) 2005-02-26-ExitValueCompute.ll | 2 +- 2006-03-31-NegativeStride.ll | 2 +- variable-stride-ivs.ll | 8 ++++---- 3 files changed, 6 insertions(+), 6 deletions(-) Index: llvm/test/Regression/Transforms/IndVarsSimplify/2005-02-26-ExitValueCompute.ll diff -u llvm/test/Regression/Transforms/IndVarsSimplify/2005-02-26-ExitValueCompute.ll:1.2 llvm/test/Regression/Transforms/IndVarsSimplify/2005-02-26-ExitValueCompute.ll:1.3 --- llvm/test/Regression/Transforms/IndVarsSimplify/2005-02-26-ExitValueCompute.ll:1.2 Fri Dec 1 22:23:09 2006 +++ llvm/test/Regression/Transforms/IndVarsSimplify/2005-02-26-ExitValueCompute.ll Sun Dec 31 00:01:59 2006 @@ -1,4 +1,4 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -indvars | llvm-dis | grep 'ret int 152' +; RUN: llvm-upgrade < %s | llvm-as | opt -indvars | llvm-dis | grep 'ret i32 152' int %main() { entry: Index: llvm/test/Regression/Transforms/IndVarsSimplify/2006-03-31-NegativeStride.ll diff -u llvm/test/Regression/Transforms/IndVarsSimplify/2006-03-31-NegativeStride.ll:1.2 llvm/test/Regression/Transforms/IndVarsSimplify/2006-03-31-NegativeStride.ll:1.3 --- llvm/test/Regression/Transforms/IndVarsSimplify/2006-03-31-NegativeStride.ll:1.2 Fri Dec 1 22:23:09 2006 +++ llvm/test/Regression/Transforms/IndVarsSimplify/2006-03-31-NegativeStride.ll Sun Dec 31 00:01:59 2006 @@ -1,4 +1,4 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -indvars | llvm-dis | grep 'ret int 27' +; RUN: llvm-upgrade < %s | llvm-as | opt -indvars | llvm-dis | grep 'ret i32 27' ; Make sure to compute the right exit value based on negative strides. ; PR726 Index: llvm/test/Regression/Transforms/IndVarsSimplify/variable-stride-ivs.ll diff -u llvm/test/Regression/Transforms/IndVarsSimplify/variable-stride-ivs.ll:1.2 llvm/test/Regression/Transforms/IndVarsSimplify/variable-stride-ivs.ll:1.3 --- llvm/test/Regression/Transforms/IndVarsSimplify/variable-stride-ivs.ll:1.2 Fri Dec 1 22:23:09 2006 +++ llvm/test/Regression/Transforms/IndVarsSimplify/variable-stride-ivs.ll Sun Dec 31 00:01:59 2006 @@ -1,4 +1,4 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -indvars -instcombine | llvm-dis | grep 'store int 0' +; RUN: llvm-upgrade < %s | llvm-as | opt -indvars -instcombine | llvm-dis | grep 'store i32 0' ; Test that -indvars can reduce variable stride IVs. If it can reduce variable ; stride iv's, it will make %iv. and %m.0.0 isomorphic to each other without ; cycles, allowing the tmp.21 subtraction to be eliminated. @@ -19,7 +19,7 @@ br label %no_exit no_exit: ; preds = %no_exit, %no_exit.preheader - %iv. = phi uint [ 0, %no_exit.preheader ], [ %iv..inc, %no_exit ] ; [#uses=1] + %iv.ui = phi uint [ 0, %no_exit.preheader ], [ %iv..inc.ui, %no_exit ] ; [#uses=1] %iv. = phi int [ %tmp.5, %no_exit.preheader ], [ %iv..inc, %no_exit ] ; [#uses=2] %m.0.0 = phi int [ %tmp.5, %no_exit.preheader ], [ %tmp.24, %no_exit ] ; [#uses=2] store int 2, int* %tmp.16 @@ -27,8 +27,8 @@ store int %tmp.21, int* %data %tmp.24 = add int %m.0.0, %tmp.9 ; [#uses=1] %iv..inc = add int %tmp.9, %iv. ; [#uses=1] - %iv..inc = add uint %iv., 1 ; [#uses=2] - %iv..inc1 = cast uint %iv..inc to int ; [#uses=1] + %iv..inc.ui = add uint %iv.ui, 1 ; [#uses=2] + %iv..inc1 = cast uint %iv..inc.ui to int ; [#uses=1] %tmp.12 = setlt int %iv..inc1, %tmp.2 ; [#uses=1] br bool %tmp.12, label %no_exit, label %return.loopexit From reid at x10sys.com Sun Dec 31 00:03:26 2006 From: reid at x10sys.com (Reid Spencer) Date: Sun, 31 Dec 2006 00:03:26 -0600 Subject: [llvm-commits] CVS: llvm/test/Regression/CodeGen/Alpha/zapnot.ll Message-ID: <200612310603.kBV63QYH012679@zion.cs.uiuc.edu> Changes in directory llvm/test/Regression/CodeGen/Alpha: zapnot.ll updated: 1.2 -> 1.3 --- Log message: For PR950: http://llvm.org/PR950 : Update the test suite to accommodate the change from signed integer types to signless integer types. The changes were of only a few kinds: 1. Make sure llvm-upgrade is run on the source which does the bulk of the changes automatically. 2. Change things like "grep 'int'" to "grep 'i32'" 3. In several tests bitcasting caused the same name to be reused in the same type plane. These had to be manually fixed. The fix was (generally) to leave the bitcast and provide the instruction with a new name. This should not affect the semantics of the test. In a few cases, the bitcasts were known to be superfluous and irrelevant to the test case so they were removed. 4. One test case uses a bytecode file which needed to be updated to the latest bytecode format. --- Diffs of the changes: (+4 -5) zapnot.ll | 9 ++++----- 1 files changed, 4 insertions(+), 5 deletions(-) Index: llvm/test/Regression/CodeGen/Alpha/zapnot.ll diff -u llvm/test/Regression/CodeGen/Alpha/zapnot.ll:1.2 llvm/test/Regression/CodeGen/Alpha/zapnot.ll:1.3 --- llvm/test/Regression/CodeGen/Alpha/zapnot.ll:1.2 Fri Dec 1 22:23:08 2006 +++ llvm/test/Regression/CodeGen/Alpha/zapnot.ll Sun Dec 31 00:01:59 2006 @@ -1,11 +1,10 @@ ; Make sure this testcase codegens to the bic instruction -; RUN: llvm-upgrade < %s | llvm-as | llc -march=alpha | grep 'zapnot' +; RUN: llvm-as < %s | llc -march=alpha | grep 'zapnot' implementation ; Functions: -ushort %foo(long %y) { +define i16 @zext %foo(i64 %y) { entry: - %tmp.1 = cast long %y to ushort ; [#uses=1] - ret ushort %tmp.1 + %tmp.1 = trunc i64 %y to i16 ; [#uses=1] + ret i16 %tmp.1 } - From reid at x10sys.com Sun Dec 31 00:03:26 2006 From: reid at x10sys.com (Reid Spencer) Date: Sun, 31 Dec 2006 00:03:26 -0600 Subject: [llvm-commits] CVS: llvm/test/Regression/Transforms/LCSSA/basictest.ll Message-ID: <200612310603.kBV63QJJ012690@zion.cs.uiuc.edu> Changes in directory llvm/test/Regression/Transforms/LCSSA: basictest.ll updated: 1.5 -> 1.6 --- Log message: For PR950: http://llvm.org/PR950 : Update the test suite to accommodate the change from signed integer types to signless integer types. The changes were of only a few kinds: 1. Make sure llvm-upgrade is run on the source which does the bulk of the changes automatically. 2. Change things like "grep 'int'" to "grep 'i32'" 3. In several tests bitcasting caused the same name to be reused in the same type plane. These had to be manually fixed. The fix was (generally) to leave the bitcast and provide the instruction with a new name. This should not affect the semantics of the test. In a few cases, the bitcasts were known to be superfluous and irrelevant to the test case so they were removed. 4. One test case uses a bytecode file which needed to be updated to the latest bytecode format. --- Diffs of the changes: (+3 -3) basictest.ll | 6 +++--- 1 files changed, 3 insertions(+), 3 deletions(-) Index: llvm/test/Regression/Transforms/LCSSA/basictest.ll diff -u llvm/test/Regression/Transforms/LCSSA/basictest.ll:1.5 llvm/test/Regression/Transforms/LCSSA/basictest.ll:1.6 --- llvm/test/Regression/Transforms/LCSSA/basictest.ll:1.5 Fri Dec 1 22:23:09 2006 +++ llvm/test/Regression/Transforms/LCSSA/basictest.ll Sun Dec 31 00:01:59 2006 @@ -1,5 +1,5 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -lcssa | llvm-dis | grep "X3.lcssa = phi int" && -; RUN: llvm-upgrade < %s | llvm-as | opt -lcssa | llvm-dis | grep "%X4 = add int 3, %X3.lcssa" +; RUN: llvm-upgrade < %s | llvm-as | opt -lcssa | llvm-dis | grep "X3.lcssa = phi i32" && +; RUN: llvm-upgrade < %s | llvm-as | opt -lcssa | llvm-dis | grep "%X4 = add i32 3, %X3.lcssa" void %lcssa(bool %S2) { entry: @@ -23,4 +23,4 @@ loop.exit: %X4 = add int 3, %X3 ret void -} \ No newline at end of file +} From reid at x10sys.com Sun Dec 31 00:03:26 2006 From: reid at x10sys.com (Reid Spencer) Date: Sun, 31 Dec 2006 00:03:26 -0600 Subject: [llvm-commits] CVS: llvm/test/Regression/Transforms/ArgumentPromotion/control-flow2.ll Message-ID: <200612310603.kBV63Qxo012688@zion.cs.uiuc.edu> Changes in directory llvm/test/Regression/Transforms/ArgumentPromotion: control-flow2.ll updated: 1.2 -> 1.3 --- Log message: For PR950: http://llvm.org/PR950 : Update the test suite to accommodate the change from signed integer types to signless integer types. The changes were of only a few kinds: 1. Make sure llvm-upgrade is run on the source which does the bulk of the changes automatically. 2. Change things like "grep 'int'" to "grep 'i32'" 3. In several tests bitcasting caused the same name to be reused in the same type plane. These had to be manually fixed. The fix was (generally) to leave the bitcast and provide the instruction with a new name. This should not affect the semantics of the test. In a few cases, the bitcasts were known to be superfluous and irrelevant to the test case so they were removed. 4. One test case uses a bytecode file which needed to be updated to the latest bytecode format. --- Diffs of the changes: (+1 -1) control-flow2.ll | 2 +- 1 files changed, 1 insertion(+), 1 deletion(-) Index: llvm/test/Regression/Transforms/ArgumentPromotion/control-flow2.ll diff -u llvm/test/Regression/Transforms/ArgumentPromotion/control-flow2.ll:1.2 llvm/test/Regression/Transforms/ArgumentPromotion/control-flow2.ll:1.3 --- llvm/test/Regression/Transforms/ArgumentPromotion/control-flow2.ll:1.2 Fri Dec 1 22:23:08 2006 +++ llvm/test/Regression/Transforms/ArgumentPromotion/control-flow2.ll Sun Dec 31 00:01:59 2006 @@ -1,4 +1,4 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -argpromotion | llvm-dis | grep 'load int\* %A' +; RUN: llvm-upgrade < %s | llvm-as | opt -argpromotion | llvm-dis | grep 'load i32\* %A' implementation From reid at x10sys.com Sun Dec 31 00:03:27 2006 From: reid at x10sys.com (Reid Spencer) Date: Sun, 31 Dec 2006 00:03:27 -0600 Subject: [llvm-commits] CVS: llvm/test/Regression/Transforms/SimplifyLibCalls/ExitInMain.ll Message-ID: <200612310603.kBV63RJm012707@zion.cs.uiuc.edu> Changes in directory llvm/test/Regression/Transforms/SimplifyLibCalls: ExitInMain.ll updated: 1.2 -> 1.3 --- Log message: For PR950: http://llvm.org/PR950 : Update the test suite to accommodate the change from signed integer types to signless integer types. The changes were of only a few kinds: 1. Make sure llvm-upgrade is run on the source which does the bulk of the changes automatically. 2. Change things like "grep 'int'" to "grep 'i32'" 3. In several tests bitcasting caused the same name to be reused in the same type plane. These had to be manually fixed. The fix was (generally) to leave the bitcast and provide the instruction with a new name. This should not affect the semantics of the test. In a few cases, the bitcasts were known to be superfluous and irrelevant to the test case so they were removed. 4. One test case uses a bytecode file which needed to be updated to the latest bytecode format. --- Diffs of the changes: (+1 -1) ExitInMain.ll | 2 +- 1 files changed, 1 insertion(+), 1 deletion(-) Index: llvm/test/Regression/Transforms/SimplifyLibCalls/ExitInMain.ll diff -u llvm/test/Regression/Transforms/SimplifyLibCalls/ExitInMain.ll:1.2 llvm/test/Regression/Transforms/SimplifyLibCalls/ExitInMain.ll:1.3 --- llvm/test/Regression/Transforms/SimplifyLibCalls/ExitInMain.ll:1.2 Fri Dec 1 22:23:10 2006 +++ llvm/test/Regression/Transforms/SimplifyLibCalls/ExitInMain.ll Sun Dec 31 00:02:00 2006 @@ -1,5 +1,5 @@ ; Test that the ExitInMainOptimization pass works correctly -; RUN: llvm-upgrade < %s | llvm-as | opt -simplify-libcalls | llvm-dis | grep -c 'ret int 3' | grep 1 +; RUN: llvm-upgrade < %s | llvm-as | opt -simplify-libcalls | llvm-dis | grep -c 'ret i32 3' | grep 1 declare void %exit(int) declare void %exitonly(int) From reid at x10sys.com Sun Dec 31 00:03:27 2006 From: reid at x10sys.com (Reid Spencer) Date: Sun, 31 Dec 2006 00:03:27 -0600 Subject: [llvm-commits] CVS: llvm/test/Regression/Transforms/Inline/casts.ll Message-ID: <200612310603.kBV63RPJ012709@zion.cs.uiuc.edu> Changes in directory llvm/test/Regression/Transforms/Inline: casts.ll updated: 1.2 -> 1.3 --- Log message: For PR950: http://llvm.org/PR950 : Update the test suite to accommodate the change from signed integer types to signless integer types. The changes were of only a few kinds: 1. Make sure llvm-upgrade is run on the source which does the bulk of the changes automatically. 2. Change things like "grep 'int'" to "grep 'i32'" 3. In several tests bitcasting caused the same name to be reused in the same type plane. These had to be manually fixed. The fix was (generally) to leave the bitcast and provide the instruction with a new name. This should not affect the semantics of the test. In a few cases, the bitcasts were known to be superfluous and irrelevant to the test case so they were removed. 4. One test case uses a bytecode file which needed to be updated to the latest bytecode format. --- Diffs of the changes: (+1 -1) casts.ll | 2 +- 1 files changed, 1 insertion(+), 1 deletion(-) Index: llvm/test/Regression/Transforms/Inline/casts.ll diff -u llvm/test/Regression/Transforms/Inline/casts.ll:1.2 llvm/test/Regression/Transforms/Inline/casts.ll:1.3 --- llvm/test/Regression/Transforms/Inline/casts.ll:1.2 Fri Dec 1 22:23:09 2006 +++ llvm/test/Regression/Transforms/Inline/casts.ll Sun Dec 31 00:01:59 2006 @@ -1,4 +1,4 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -inline | llvm-dis | grep 'ret int 1' +; RUN: llvm-upgrade < %s | llvm-as | opt -inline | llvm-dis | grep 'ret i32 1' ; ModuleID = 'short.opt.bc' implementation ; Functions: From reid at x10sys.com Sun Dec 31 00:03:27 2006 From: reid at x10sys.com (Reid Spencer) Date: Sun, 31 Dec 2006 00:03:27 -0600 Subject: [llvm-commits] CVS: llvm/test/Regression/CodeGen/X86/2006-05-02-InstrSched1.ll 2006-08-07-CycleInDAG.ll loop-hoist.ll loop-strength-reduce.ll trunc-to-bool.ll vec_ins_extract.ll Message-ID: <200612310603.kBV63RVK012741@zion.cs.uiuc.edu> Changes in directory llvm/test/Regression/CodeGen/X86: 2006-05-02-InstrSched1.ll updated: 1.2 -> 1.3 2006-08-07-CycleInDAG.ll updated: 1.2 -> 1.3 loop-hoist.ll updated: 1.3 -> 1.4 loop-strength-reduce.ll updated: 1.3 -> 1.4 trunc-to-bool.ll updated: 1.4 -> 1.5 vec_ins_extract.ll updated: 1.3 -> 1.4 --- Log message: For PR950: http://llvm.org/PR950 : Update the test suite to accommodate the change from signed integer types to signless integer types. The changes were of only a few kinds: 1. Make sure llvm-upgrade is run on the source which does the bulk of the changes automatically. 2. Change things like "grep 'int'" to "grep 'i32'" 3. In several tests bitcasting caused the same name to be reused in the same type plane. These had to be manually fixed. The fix was (generally) to leave the bitcast and provide the instruction with a new name. This should not affect the semantics of the test. In a few cases, the bitcasts were known to be superfluous and irrelevant to the test case so they were removed. 4. One test case uses a bytecode file which needed to be updated to the latest bytecode format. --- Diffs of the changes: (+38 -37) 2006-05-02-InstrSched1.ll | 6 +---- 2006-08-07-CycleInDAG.ll | 4 +-- loop-hoist.ll | 4 +-- loop-strength-reduce.ll | 6 ++--- trunc-to-bool.ll | 51 ++++++++++++++++++++++++---------------------- vec_ins_extract.ll | 4 +-- 6 files changed, 38 insertions(+), 37 deletions(-) Index: llvm/test/Regression/CodeGen/X86/2006-05-02-InstrSched1.ll diff -u llvm/test/Regression/CodeGen/X86/2006-05-02-InstrSched1.ll:1.2 llvm/test/Regression/CodeGen/X86/2006-05-02-InstrSched1.ll:1.3 --- llvm/test/Regression/CodeGen/X86/2006-05-02-InstrSched1.ll:1.2 Fri Dec 1 22:23:08 2006 +++ llvm/test/Regression/CodeGen/X86/2006-05-02-InstrSched1.ll Sun Dec 31 00:01:59 2006 @@ -11,10 +11,8 @@ %tmp4 = getelementptr ubyte* %tmp, uint %tmp3 ; [#uses=1] %tmp7 = load uint* %tmp ; [#uses=1] %tmp8 = getelementptr ubyte* %tmp, uint %tmp7 ; [#uses=1] - %tmp8 = cast ubyte* %tmp8 to sbyte* ; [#uses=1] - %tmp4 = cast ubyte* %tmp4 to sbyte* ; [#uses=1] - %tmp = tail call int %memcmp( sbyte* %tmp8, sbyte* %tmp4, uint %tmp ) ; [#uses=1] - ret int %tmp + %result = tail call int %memcmp( sbyte* %tmp8, sbyte* %tmp4, uint %tmp ) ; [#uses=1] + ret int %result } declare int %memcmp(sbyte*, sbyte*, uint) Index: llvm/test/Regression/CodeGen/X86/2006-08-07-CycleInDAG.ll diff -u llvm/test/Regression/CodeGen/X86/2006-08-07-CycleInDAG.ll:1.2 llvm/test/Regression/CodeGen/X86/2006-08-07-CycleInDAG.ll:1.3 --- llvm/test/Regression/CodeGen/X86/2006-08-07-CycleInDAG.ll:1.2 Fri Dec 1 22:23:08 2006 +++ llvm/test/Regression/CodeGen/X86/2006-08-07-CycleInDAG.ll Sun Dec 31 00:01:59 2006 @@ -10,8 +10,8 @@ %tmp24.i = load int* null ; [#uses=1] %tmp13.i12.i = tail call double %ldexp( double 0.000000e+00, int 0 ) ; [#uses=1] %tmp13.i13.i = cast double %tmp13.i12.i to float ; [#uses=1] - %tmp11.i = load int* null ; [#uses=1] - %tmp11.i = cast int %tmp11.i to uint ; [#uses=1] + %tmp11.s = load int* null ; [#uses=1] + %tmp11.i = cast int %tmp11.s to uint ; [#uses=1] %n.i = cast int %tmp24.i to uint ; [#uses=1] %tmp13.i7 = mul uint %tmp11.i, %n.i ; [#uses=1] %tmp.i8 = tail call sbyte* %calloc( uint %tmp13.i7, uint 4 ) ; [#uses=0] Index: llvm/test/Regression/CodeGen/X86/loop-hoist.ll diff -u llvm/test/Regression/CodeGen/X86/loop-hoist.ll:1.3 llvm/test/Regression/CodeGen/X86/loop-hoist.ll:1.4 --- llvm/test/Regression/CodeGen/X86/loop-hoist.ll:1.3 Sat Dec 2 14:39:25 2006 +++ llvm/test/Regression/CodeGen/X86/loop-hoist.ll Sun Dec 31 00:01:59 2006 @@ -5,9 +5,9 @@ implementation ; Functions: -void %foo(int %N) { +void %foo(int %N.in) { entry: - %N = cast int %N to uint ; [#uses=1] + %N = cast int %N.in to uint ; [#uses=1] br label %cond_true cond_true: ; preds = %cond_true, %entry Index: llvm/test/Regression/CodeGen/X86/loop-strength-reduce.ll diff -u llvm/test/Regression/CodeGen/X86/loop-strength-reduce.ll:1.3 llvm/test/Regression/CodeGen/X86/loop-strength-reduce.ll:1.4 --- llvm/test/Regression/CodeGen/X86/loop-strength-reduce.ll:1.3 Fri Dec 1 22:23:08 2006 +++ llvm/test/Regression/CodeGen/X86/loop-strength-reduce.ll Sun Dec 31 00:01:59 2006 @@ -4,10 +4,10 @@ %A = internal global [16 x [16 x int]] zeroinitializer, align 32 -void %test(int %row, int %N) { +void %test(int %row, int %N.in) { entry: - %N = cast int %N to uint - %tmp5 = setgt int %N, 0 + %N = cast int %N.in to uint + %tmp5 = setgt int %N.in, 0 br bool %tmp5, label %cond_true, label %return cond_true: Index: llvm/test/Regression/CodeGen/X86/trunc-to-bool.ll diff -u llvm/test/Regression/CodeGen/X86/trunc-to-bool.ll:1.4 llvm/test/Regression/CodeGen/X86/trunc-to-bool.ll:1.5 --- llvm/test/Regression/CodeGen/X86/trunc-to-bool.ll:1.4 Fri Dec 1 22:23:08 2006 +++ llvm/test/Regression/CodeGen/X86/trunc-to-bool.ll Sun Dec 31 00:01:59 2006 @@ -1,19 +1,21 @@ ; An integer truncation to bool should be done with an and instruction to make ; sure only the LSBit survives. Test that this is the case both for a returned ; value and as the operand of a branch. -; RUN: llvm-upgrade < %s | llvm-as | llc -march=x86 && -; RUN: llvm-upgrade < %s | llvm-as | llc -march=x86 | grep '\(and\)\|\(test.*\$1\)' | wc -l | grep 6 -bool %test1(int %X) { - %Y = trunc int %X to bool +; RUN: llvm-as < %s | llc -march=x86 && +; RUN: llvm-as < %s | llc -march=x86 | grep '\(and\)\|\(test.*\$1\)' | \ +; RUN: wc -l | grep 6 + +define bool @zext %test1(i32 %X) { + %Y = trunc i32 %X to bool ret bool %Y } -bool %test2(int %val, int %mask) { +define bool %test2(i32 %val, i32 %mask) { entry: - %mask = trunc int %mask to ubyte - %shifted = ashr int %val, ubyte %mask - %anded = and int %shifted, 1 - %trunced = trunc int %anded to bool + %mask = trunc i32 %mask to i8 + %shifted = ashr i32 %val, i8 %mask + %anded = and i32 %shifted, 1 + %trunced = trunc i32 %anded to bool br bool %trunced, label %ret_true, label %ret_false ret_true: ret bool true @@ -21,39 +23,40 @@ ret bool false } -int %test3(sbyte* %ptr) { - %val = load sbyte* %ptr - %tmp = trunc sbyte %val to bool ; % [#uses=1] +define i32 %test3(i8* %ptr) { + %val = load i8* %ptr + %tmp = trunc i8 %val to bool br bool %tmp, label %cond_true, label %cond_false cond_true: - ret int 21 + ret i32 21 cond_false: - ret int 42 + ret i32 42 } -int %test4(sbyte* %ptr) { - %tmp = ptrtoint sbyte* %ptr to bool +define i32 %test4(i8* %ptr) { + %tmp = ptrtoint i8* %ptr to bool br bool %tmp, label %cond_true, label %cond_false cond_true: - ret int 21 + ret i32 21 cond_false: - ret int 42 + ret i32 42 } -int %test5(float %f) { +define i32 %test5(float %f) { %tmp = fptoui float %f to bool br bool %tmp, label %cond_true, label %cond_false cond_true: - ret int 21 + ret i32 21 cond_false: - ret int 42 + ret i32 42 } -int %test6(double %d) { +define i32 %test6(double %d) { %tmp = fptosi double %d to bool br bool %tmp, label %cond_true, label %cond_false cond_true: - ret int 21 + ret i32 21 cond_false: - ret int 42 + ret i32 42 } + Index: llvm/test/Regression/CodeGen/X86/vec_ins_extract.ll diff -u llvm/test/Regression/CodeGen/X86/vec_ins_extract.ll:1.3 llvm/test/Regression/CodeGen/X86/vec_ins_extract.ll:1.4 --- llvm/test/Regression/CodeGen/X86/vec_ins_extract.ll:1.3 Fri Dec 29 14:01:32 2006 +++ llvm/test/Regression/CodeGen/X86/vec_ins_extract.ll Sun Dec 31 00:01:59 2006 @@ -1,7 +1,7 @@ ; RUN: llvm-upgrade < %s | llvm-as | opt -scalarrepl -instcombine | \ -; RUN: llc -march=x86 -mcpu=yonah && +; RUN: llc -march=x86 -mcpu=yonah && ; RUN: llvm-upgrade < %s | llvm-as | opt -scalarrepl -instcombine | \ -; RUN: llc -march=x86 -mcpu=yonah | not grep sub.*esp +; RUN: llc -march=x86 -mcpu=yonah | not grep sub.*esp ; This checks that various insert/extract idiom work without going to the ; stack. From reid at x10sys.com Sun Dec 31 00:03:29 2006 From: reid at x10sys.com (Reid Spencer) Date: Sun, 31 Dec 2006 00:03:29 -0600 Subject: [llvm-commits] CVS: llvm/test/Regression/CodeGen/Generic/2005-10-21-longlonggtu.ll 2006-06-28-SimplifySetCCCrash.ll SwitchLowering.ll Message-ID: <200612310603.kBV63TPd012869@zion.cs.uiuc.edu> Changes in directory llvm/test/Regression/CodeGen/Generic: 2005-10-21-longlonggtu.ll updated: 1.2 -> 1.3 2006-06-28-SimplifySetCCCrash.ll updated: 1.2 -> 1.3 SwitchLowering.ll updated: 1.2 -> 1.3 --- Log message: For PR950: http://llvm.org/PR950 : Update the test suite to accommodate the change from signed integer types to signless integer types. The changes were of only a few kinds: 1. Make sure llvm-upgrade is run on the source which does the bulk of the changes automatically. 2. Change things like "grep 'int'" to "grep 'i32'" 3. In several tests bitcasting caused the same name to be reused in the same type plane. These had to be manually fixed. The fix was (generally) to leave the bitcast and provide the instruction with a new name. This should not affect the semantics of the test. In a few cases, the bitcasts were known to be superfluous and irrelevant to the test case so they were removed. 4. One test case uses a bytecode file which needed to be updated to the latest bytecode format. --- Diffs of the changes: (+7 -8) 2005-10-21-longlonggtu.ll | 4 ++-- 2006-06-28-SimplifySetCCCrash.ll | 10 +++++----- SwitchLowering.ll | 1 - 3 files changed, 7 insertions(+), 8 deletions(-) Index: llvm/test/Regression/CodeGen/Generic/2005-10-21-longlonggtu.ll diff -u llvm/test/Regression/CodeGen/Generic/2005-10-21-longlonggtu.ll:1.2 llvm/test/Regression/CodeGen/Generic/2005-10-21-longlonggtu.ll:1.3 --- llvm/test/Regression/CodeGen/Generic/2005-10-21-longlonggtu.ll:1.2 Fri Dec 1 22:23:08 2006 +++ llvm/test/Regression/CodeGen/Generic/2005-10-21-longlonggtu.ll Sun Dec 31 00:01:59 2006 @@ -1,6 +1,6 @@ ; RUN: llvm-upgrade < %s | llvm-as | llc -float %t(long %u) { - %u = cast long %u to ulong ; [#uses=1] +float %t(long %u_arg) { + %u = cast long %u_arg to ulong ; [#uses=1] %tmp5 = add ulong %u, 9007199254740991 ; [#uses=1] %tmp = setgt ulong %tmp5, 18014398509481982 ; [#uses=1] br bool %tmp, label %T, label %F Index: llvm/test/Regression/CodeGen/Generic/2006-06-28-SimplifySetCCCrash.ll diff -u llvm/test/Regression/CodeGen/Generic/2006-06-28-SimplifySetCCCrash.ll:1.2 llvm/test/Regression/CodeGen/Generic/2006-06-28-SimplifySetCCCrash.ll:1.3 --- llvm/test/Regression/CodeGen/Generic/2006-06-28-SimplifySetCCCrash.ll:1.2 Fri Dec 1 22:23:08 2006 +++ llvm/test/Regression/CodeGen/Generic/2006-06-28-SimplifySetCCCrash.ll Sun Dec 31 00:01:59 2006 @@ -239,19 +239,19 @@ ret void bb1876: ; preds = %bb1808 - %tmp1877 = load int* %which_alternative ; [#uses=4] - %tmp1877 = cast int %tmp1877 to uint ; [#uses=1] + %tmp1877signed = load int* %which_alternative ; [#uses=4] + %tmp1877 = cast int %tmp1877signed to uint ; [#uses=1] %bothcond699 = setlt uint %tmp1877, 2 ; [#uses=1] - %tmp1888 = seteq int %tmp1877, 2 ; [#uses=1] + %tmp1888 = seteq int %tmp1877signed, 2 ; [#uses=1] %bothcond700 = or bool %bothcond699, %tmp1888 ; [#uses=1] %bothcond700.not = xor bool %bothcond700, true ; [#uses=1] - %tmp1894 = seteq int %tmp1877, 3 ; [#uses=1] + %tmp1894 = seteq int %tmp1877signed, 3 ; [#uses=1] %bothcond701 = or bool %tmp1894, %bothcond700.not ; [#uses=1] %bothcond702 = or bool %bothcond701, false ; [#uses=1] br bool %bothcond702, label %UnifiedReturnBlock, label %cond_next1902 cond_next1902: ; preds = %bb1876 - switch int %tmp1877, label %cond_next1937 [ + switch int %tmp1877signed, label %cond_next1937 [ int 0, label %bb1918 int 1, label %bb1918 int 2, label %bb1918 Index: llvm/test/Regression/CodeGen/Generic/SwitchLowering.ll diff -u llvm/test/Regression/CodeGen/Generic/SwitchLowering.ll:1.2 llvm/test/Regression/CodeGen/Generic/SwitchLowering.ll:1.3 --- llvm/test/Regression/CodeGen/Generic/SwitchLowering.ll:1.2 Fri Dec 1 22:23:08 2006 +++ llvm/test/Regression/CodeGen/Generic/SwitchLowering.ll Sun Dec 31 00:01:59 2006 @@ -19,7 +19,6 @@ ] bb7: ; preds = %bb, %bb - %tmp = cast sbyte %tmp to ubyte ; [#uses=1] tail call void %foo( ubyte %tmp ) ret sbyte* %tmp2 } From reid at x10sys.com Sun Dec 31 00:03:29 2006 From: reid at x10sys.com (Reid Spencer) Date: Sun, 31 Dec 2006 00:03:29 -0600 Subject: [llvm-commits] CVS: llvm/test/Regression/Transforms/TailCallElim/dont-tce-tail-marked-call.ll move_alloca_for_tail_call.ll Message-ID: <200612310603.kBV63Tnb012883@zion.cs.uiuc.edu> Changes in directory llvm/test/Regression/Transforms/TailCallElim: dont-tce-tail-marked-call.ll updated: 1.2 -> 1.3 move_alloca_for_tail_call.ll updated: 1.2 -> 1.3 --- Log message: For PR950: http://llvm.org/PR950 : Update the test suite to accommodate the change from signed integer types to signless integer types. The changes were of only a few kinds: 1. Make sure llvm-upgrade is run on the source which does the bulk of the changes automatically. 2. Change things like "grep 'int'" to "grep 'i32'" 3. In several tests bitcasting caused the same name to be reused in the same type plane. These had to be manually fixed. The fix was (generally) to leave the bitcast and provide the instruction with a new name. This should not affect the semantics of the test. In a few cases, the bitcasts were known to be superfluous and irrelevant to the test case so they were removed. 4. One test case uses a bytecode file which needed to be updated to the latest bytecode format. --- Diffs of the changes: (+2 -2) dont-tce-tail-marked-call.ll | 2 +- move_alloca_for_tail_call.ll | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) Index: llvm/test/Regression/Transforms/TailCallElim/dont-tce-tail-marked-call.ll diff -u llvm/test/Regression/Transforms/TailCallElim/dont-tce-tail-marked-call.ll:1.2 llvm/test/Regression/Transforms/TailCallElim/dont-tce-tail-marked-call.ll:1.3 --- llvm/test/Regression/Transforms/TailCallElim/dont-tce-tail-marked-call.ll:1.2 Fri Dec 1 22:23:10 2006 +++ llvm/test/Regression/Transforms/TailCallElim/dont-tce-tail-marked-call.ll Sun Dec 31 00:02:00 2006 @@ -1,4 +1,4 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -tailcallelim | llvm-dis | grep 'call int %foo' +; RUN: llvm-upgrade < %s | llvm-as | opt -tailcallelim | llvm-dis | grep 'call i32 %foo' declare void %bar(int*) int %foo(uint %N) { Index: llvm/test/Regression/Transforms/TailCallElim/move_alloca_for_tail_call.ll diff -u llvm/test/Regression/Transforms/TailCallElim/move_alloca_for_tail_call.ll:1.2 llvm/test/Regression/Transforms/TailCallElim/move_alloca_for_tail_call.ll:1.3 --- llvm/test/Regression/Transforms/TailCallElim/move_alloca_for_tail_call.ll:1.2 Fri Dec 1 22:23:10 2006 +++ llvm/test/Regression/Transforms/TailCallElim/move_alloca_for_tail_call.ll Sun Dec 31 00:02:00 2006 @@ -1,4 +1,4 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -tailcallelim | llvm-dis | %prcontext alloca 1 | grep 'int %foo' +; RUN: llvm-upgrade < %s | llvm-as | opt -tailcallelim | llvm-dis | %prcontext alloca 1 | grep 'i32 %foo' declare void %bar(int*) int %foo() { From reid at x10sys.com Sun Dec 31 00:03:26 2006 From: reid at x10sys.com (Reid Spencer) Date: Sun, 31 Dec 2006 00:03:26 -0600 Subject: [llvm-commits] CVS: llvm/test/Regression/Transforms/SimplifyCFG/2006-10-29-InvokeCrash.ll 2006-12-08-Ptr-ICmp-Branch.ll Message-ID: <200612310603.kBV63QXB012695@zion.cs.uiuc.edu> Changes in directory llvm/test/Regression/Transforms/SimplifyCFG: 2006-10-29-InvokeCrash.ll updated: 1.2 -> 1.3 2006-12-08-Ptr-ICmp-Branch.ll updated: 1.2 -> 1.3 --- Log message: For PR950: http://llvm.org/PR950 : Update the test suite to accommodate the change from signed integer types to signless integer types. The changes were of only a few kinds: 1. Make sure llvm-upgrade is run on the source which does the bulk of the changes automatically. 2. Change things like "grep 'int'" to "grep 'i32'" 3. In several tests bitcasting caused the same name to be reused in the same type plane. These had to be manually fixed. The fix was (generally) to leave the bitcast and provide the instruction with a new name. This should not affect the semantics of the test. In a few cases, the bitcasts were known to be superfluous and irrelevant to the test case so they were removed. 4. One test case uses a bytecode file which needed to be updated to the latest bytecode format. --- Diffs of the changes: (+3 -3) 2006-10-29-InvokeCrash.ll | 4 ++-- 2006-12-08-Ptr-ICmp-Branch.ll | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) Index: llvm/test/Regression/Transforms/SimplifyCFG/2006-10-29-InvokeCrash.ll diff -u llvm/test/Regression/Transforms/SimplifyCFG/2006-10-29-InvokeCrash.ll:1.2 llvm/test/Regression/Transforms/SimplifyCFG/2006-10-29-InvokeCrash.ll:1.3 --- llvm/test/Regression/Transforms/SimplifyCFG/2006-10-29-InvokeCrash.ll:1.2 Fri Dec 1 22:23:10 2006 +++ llvm/test/Regression/Transforms/SimplifyCFG/2006-10-29-InvokeCrash.ll Sun Dec 31 00:02:00 2006 @@ -413,11 +413,11 @@ cond_next225: ; preds = %invcont222, %cond_true217, %invcont213 %toPage.1 = phi int [ %tmp223, %invcont222 ], [ %tmp214, %cond_true217 ], [ %tmp214, %invcont213 ] ; [#uses=2] %fromPage.1 = phi int [ 1, %invcont222 ], [ %tmp211, %cond_true217 ], [ %tmp211, %invcont213 ] ; [#uses=2] - %tmp = invoke uint %_ZNK8QPrinter9pageOrderEv( %struct.QPrinter* %printer ) + %tmp.page = invoke uint %_ZNK8QPrinter9pageOrderEv( %struct.QPrinter* %printer ) to label %invcont227 unwind label %cleanup329 ; [#uses=1] invcont227: ; preds = %cond_next225 - %tmp228 = seteq uint %tmp, 1 ; [#uses=1] + %tmp228 = seteq uint %tmp.page, 1 ; [#uses=1] br bool %tmp228, label %cond_true230, label %cond_next234 cond_true230: ; preds = %invcont227 Index: llvm/test/Regression/Transforms/SimplifyCFG/2006-12-08-Ptr-ICmp-Branch.ll diff -u llvm/test/Regression/Transforms/SimplifyCFG/2006-12-08-Ptr-ICmp-Branch.ll:1.2 llvm/test/Regression/Transforms/SimplifyCFG/2006-12-08-Ptr-ICmp-Branch.ll:1.3 --- llvm/test/Regression/Transforms/SimplifyCFG/2006-12-08-Ptr-ICmp-Branch.ll:1.2 Fri Dec 29 14:01:32 2006 +++ llvm/test/Regression/Transforms/SimplifyCFG/2006-12-08-Ptr-ICmp-Branch.ll Sun Dec 31 00:02:00 2006 @@ -56,7 +56,7 @@ bb: ; preds = %bb33 %tmp = load %struct.FILE** %f_addr ; <%struct.FILE*> [#uses=1] - %tmp = call int %_IO_getc( %struct.FILE* %tmp ) ; [#uses=1] + %tmp.r = call int %_IO_getc( %struct.FILE* %tmp ) ; [#uses=1] %tmp6 = call int %tolower( int %tmp ) ; [#uses=1] %tmp6 = trunc int %tmp6 to sbyte ; [#uses=1] store sbyte %tmp6, sbyte* %c From reid at x10sys.com Sun Dec 31 00:03:32 2006 From: reid at x10sys.com (Reid Spencer) Date: Sun, 31 Dec 2006 00:03:32 -0600 Subject: [llvm-commits] CVS: llvm/tools/bugpoint/ExtractFunction.cpp Miscompilation.cpp Message-ID: <200612310603.kBV63WOg012978@zion.cs.uiuc.edu> Changes in directory llvm/tools/bugpoint: ExtractFunction.cpp updated: 1.55 -> 1.56 Miscompilation.cpp updated: 1.82 -> 1.83 --- Log message: For PR950: http://llvm.org/PR950 : Convert signed integer types to signless. --- Diffs of the changes: (+4 -4) ExtractFunction.cpp | 2 +- Miscompilation.cpp | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) Index: llvm/tools/bugpoint/ExtractFunction.cpp diff -u llvm/tools/bugpoint/ExtractFunction.cpp:1.55 llvm/tools/bugpoint/ExtractFunction.cpp:1.56 --- llvm/tools/bugpoint/ExtractFunction.cpp:1.55 Sun Nov 26 19:05:10 2006 +++ llvm/tools/bugpoint/ExtractFunction.cpp Sun Dec 31 00:02:26 2006 @@ -180,7 +180,7 @@ std::vector ArrayElts; for (unsigned i = 0, e = TorList.size(); i != e; ++i) { std::vector Elts; - Elts.push_back(ConstantInt::get(Type::IntTy, TorList[i].second)); + Elts.push_back(ConstantInt::get(Type::Int32Ty, TorList[i].second)); Elts.push_back(TorList[i].first); ArrayElts.push_back(ConstantStruct::get(Elts)); } Index: llvm/tools/bugpoint/Miscompilation.cpp diff -u llvm/tools/bugpoint/Miscompilation.cpp:1.82 llvm/tools/bugpoint/Miscompilation.cpp:1.83 --- llvm/tools/bugpoint/Miscompilation.cpp:1.82 Sat Dec 23 00:05:41 2006 +++ llvm/tools/bugpoint/Miscompilation.cpp Sun Dec 31 00:02:26 2006 @@ -675,8 +675,8 @@ // Prototype: void *getPointerToNamedFunction(const char* Name) Function *resolverFunc = Safe->getOrInsertFunction("getPointerToNamedFunction", - PointerType::get(Type::SByteTy), - PointerType::get(Type::SByteTy), (Type *)0); + PointerType::get(Type::Int8Ty), + PointerType::get(Type::Int8Ty), (Type *)0); // Use the function we just added to get addresses of functions we need. for (Module::iterator F = Safe->begin(), E = Safe->end(); F != E; ++F) { @@ -697,7 +697,7 @@ // sbyte* so it matches the signature of the resolver function. // GetElementPtr *funcName, ulong 0, ulong 0 - std::vector GEPargs(2,Constant::getNullValue(Type::IntTy)); + std::vector GEPargs(2,Constant::getNullValue(Type::Int32Ty)); Value *GEP = ConstantExpr::getGetElementPtr(funcName, GEPargs); std::vector ResolverArgs; From reid at x10sys.com Sun Dec 31 00:03:27 2006 From: reid at x10sys.com (Reid Spencer) Date: Sun, 31 Dec 2006 00:03:27 -0600 Subject: [llvm-commits] CVS: llvm/test/Regression/Transforms/Reassociate/2005-09-01-ArrayOutOfBounds.ll shifttest.ll Message-ID: <200612310603.kBV63Rxk012739@zion.cs.uiuc.edu> Changes in directory llvm/test/Regression/Transforms/Reassociate: 2005-09-01-ArrayOutOfBounds.ll updated: 1.2 -> 1.3 shifttest.ll updated: 1.2 -> 1.3 --- Log message: For PR950: http://llvm.org/PR950 : Update the test suite to accommodate the change from signed integer types to signless integer types. The changes were of only a few kinds: 1. Make sure llvm-upgrade is run on the source which does the bulk of the changes automatically. 2. Change things like "grep 'int'" to "grep 'i32'" 3. In several tests bitcasting caused the same name to be reused in the same type plane. These had to be manually fixed. The fix was (generally) to leave the bitcast and provide the instruction with a new name. This should not affect the semantics of the test. In a few cases, the bitcasts were known to be superfluous and irrelevant to the test case so they were removed. 4. One test case uses a bytecode file which needed to be updated to the latest bytecode format. --- Diffs of the changes: (+2 -2) 2005-09-01-ArrayOutOfBounds.ll | 2 +- shifttest.ll | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) Index: llvm/test/Regression/Transforms/Reassociate/2005-09-01-ArrayOutOfBounds.ll diff -u llvm/test/Regression/Transforms/Reassociate/2005-09-01-ArrayOutOfBounds.ll:1.2 llvm/test/Regression/Transforms/Reassociate/2005-09-01-ArrayOutOfBounds.ll:1.3 --- llvm/test/Regression/Transforms/Reassociate/2005-09-01-ArrayOutOfBounds.ll:1.2 Fri Dec 1 22:23:10 2006 +++ llvm/test/Regression/Transforms/Reassociate/2005-09-01-ArrayOutOfBounds.ll Sun Dec 31 00:01:59 2006 @@ -1,4 +1,4 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -reassociate -instcombine | llvm-dis | grep 'ret int 0' +; RUN: llvm-upgrade < %s | llvm-as | opt -reassociate -instcombine | llvm-dis | grep 'ret i32 0' int %f(int %a0, int %a1, int %a2, int %a3, int %a4) { %tmp.2 = add int %a4, %a3 ; [#uses=1] Index: llvm/test/Regression/Transforms/Reassociate/shifttest.ll diff -u llvm/test/Regression/Transforms/Reassociate/shifttest.ll:1.2 llvm/test/Regression/Transforms/Reassociate/shifttest.ll:1.3 --- llvm/test/Regression/Transforms/Reassociate/shifttest.ll:1.2 Fri Dec 1 22:23:10 2006 +++ llvm/test/Regression/Transforms/Reassociate/shifttest.ll Sun Dec 31 00:01:59 2006 @@ -1,6 +1,6 @@ ; With shl->mul reassociation, we can see that this is (shl A, 9) * A ; -; RUN: llvm-upgrade < %s | llvm-as | opt -reassociate -instcombine | llvm-dis | grep 'shl .*, ubyte 9' +; RUN: llvm-upgrade < %s | llvm-as | opt -reassociate -instcombine | llvm-dis | grep 'shl .*, i8 9' int %test(int %A, int %B) { %X = shl int %A, ubyte 5 From reid at x10sys.com Sun Dec 31 00:03:27 2006 From: reid at x10sys.com (Reid Spencer) Date: Sun, 31 Dec 2006 00:03:27 -0600 Subject: [llvm-commits] CVS: llvm/test/Regression/C++Frontend/2006-09-27-Debug-Protection.cpp Message-ID: <200612310603.kBV63RGf012751@zion.cs.uiuc.edu> Changes in directory llvm/test/Regression/C++Frontend: 2006-09-27-Debug-Protection.cpp updated: 1.2 -> 1.3 --- Log message: For PR950: http://llvm.org/PR950 : Update the test suite to accommodate the change from signed integer types to signless integer types. The changes were of only a few kinds: 1. Make sure llvm-upgrade is run on the source which does the bulk of the changes automatically. 2. Change things like "grep 'int'" to "grep 'i32'" 3. In several tests bitcasting caused the same name to be reused in the same type plane. These had to be manually fixed. The fix was (generally) to leave the bitcast and provide the instruction with a new name. This should not affect the semantics of the test. In a few cases, the bitcasts were known to be superfluous and irrelevant to the test case so they were removed. 4. One test case uses a bytecode file which needed to be updated to the latest bytecode format. --- Diffs of the changes: (+2 -2) 2006-09-27-Debug-Protection.cpp | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) Index: llvm/test/Regression/C++Frontend/2006-09-27-Debug-Protection.cpp diff -u llvm/test/Regression/C++Frontend/2006-09-27-Debug-Protection.cpp:1.2 llvm/test/Regression/C++Frontend/2006-09-27-Debug-Protection.cpp:1.3 --- llvm/test/Regression/C++Frontend/2006-09-27-Debug-Protection.cpp:1.2 Wed Nov 8 14:16:05 2006 +++ llvm/test/Regression/C++Frontend/2006-09-27-Debug-Protection.cpp Sun Dec 31 00:01:59 2006 @@ -1,6 +1,6 @@ // XFAIL: llvmgcc3 -// RUN: %llvmgxx -O0 -emit-llvm -S -g -o - %s | grep 'uint 1,' && -// RUN: %llvmgxx -O0 -emit-llvm -S -g -o - %s | grep 'uint 2,' +// RUN: %llvmgxx -O0 -emit-llvm -S -g -o - %s | grep 'i32 1,' && +// RUN: %llvmgxx -O0 -emit-llvm -S -g -o - %s | grep 'i32 2,' class A { public: From reid at x10sys.com Sun Dec 31 00:03:27 2006 From: reid at x10sys.com (Reid Spencer) Date: Sun, 31 Dec 2006 00:03:27 -0600 Subject: [llvm-commits] CVS: llvm/test/Regression/CFrontend/2005-12-04-DeclarationLineNumbers.c 2006-01-16-BitCountIntrinsicsUnsigned.c 2006-03-03-MissingInitializer.c Message-ID: <200612310603.kBV63RuH012748@zion.cs.uiuc.edu> Changes in directory llvm/test/Regression/CFrontend: 2005-12-04-DeclarationLineNumbers.c updated: 1.4 -> 1.5 2006-01-16-BitCountIntrinsicsUnsigned.c updated: 1.1 -> 1.2 2006-03-03-MissingInitializer.c updated: 1.1 -> 1.2 --- Log message: For PR950: http://llvm.org/PR950 : Update the test suite to accommodate the change from signed integer types to signless integer types. The changes were of only a few kinds: 1. Make sure llvm-upgrade is run on the source which does the bulk of the changes automatically. 2. Change things like "grep 'int'" to "grep 'i32'" 3. In several tests bitcasting caused the same name to be reused in the same type plane. These had to be manually fixed. The fix was (generally) to leave the bitcast and provide the instruction with a new name. This should not affect the semantics of the test. In a few cases, the bitcasts were known to be superfluous and irrelevant to the test case so they were removed. 4. One test case uses a bytecode file which needed to be updated to the latest bytecode format. --- Diffs of the changes: (+4 -4) 2005-12-04-DeclarationLineNumbers.c | 2 +- 2006-01-16-BitCountIntrinsicsUnsigned.c | 4 ++-- 2006-03-03-MissingInitializer.c | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) Index: llvm/test/Regression/CFrontend/2005-12-04-DeclarationLineNumbers.c diff -u llvm/test/Regression/CFrontend/2005-12-04-DeclarationLineNumbers.c:1.4 llvm/test/Regression/CFrontend/2005-12-04-DeclarationLineNumbers.c:1.5 --- llvm/test/Regression/CFrontend/2005-12-04-DeclarationLineNumbers.c:1.4 Fri Jun 16 11:50:24 2006 +++ llvm/test/Regression/CFrontend/2005-12-04-DeclarationLineNumbers.c Sun Dec 31 00:01:59 2006 @@ -1,4 +1,4 @@ -// RUN: %llvmgcc %s -S -g -o - | grep 'llvm.dbg.stoppoint.*uint 14' +// RUN: %llvmgcc %s -S -g -o - | grep 'llvm.dbg.stoppoint.*i32 14' // PR664: ensure that line #'s are emitted for declarations Index: llvm/test/Regression/CFrontend/2006-01-16-BitCountIntrinsicsUnsigned.c diff -u llvm/test/Regression/CFrontend/2006-01-16-BitCountIntrinsicsUnsigned.c:1.1 llvm/test/Regression/CFrontend/2006-01-16-BitCountIntrinsicsUnsigned.c:1.2 --- llvm/test/Regression/CFrontend/2006-01-16-BitCountIntrinsicsUnsigned.c:1.1 Tue Jan 17 00:24:01 2006 +++ llvm/test/Regression/CFrontend/2006-01-16-BitCountIntrinsicsUnsigned.c Sun Dec 31 00:01:59 2006 @@ -1,5 +1,5 @@ -// RUN: %llvmgcc -S %s -o - | grep 'llvm.ctlz.i32(uint' && -// RUN: %llvmgcc -S %s -o - | not grep 'llvm.ctlz.i32(int' +// RUN: %llvmgcc -S %s -o - | grep 'llvm.ctlz.i32(i32' +// RUNMEIFWEHADSIGNEDTYPES: %llvmgcc -S %s -o - | not grep 'llvm.ctlz.i32(i32' unsigned t2(unsigned X) { return __builtin_clz(X); Index: llvm/test/Regression/CFrontend/2006-03-03-MissingInitializer.c diff -u llvm/test/Regression/CFrontend/2006-03-03-MissingInitializer.c:1.1 llvm/test/Regression/CFrontend/2006-03-03-MissingInitializer.c:1.2 --- llvm/test/Regression/CFrontend/2006-03-03-MissingInitializer.c:1.1 Fri Mar 3 18:47:12 2006 +++ llvm/test/Regression/CFrontend/2006-03-03-MissingInitializer.c Sun Dec 31 00:01:59 2006 @@ -1,4 +1,4 @@ -// RUN: %llvmgcc %s -S -o - | gccas | llvm-dis | grep nate | grep 'global int 0' +// RUN: %llvmgcc %s -S -o - | gccas | llvm-dis | grep nate | grep 'global i32 0' struct X { int *XX; int Y;}; From reid at x10sys.com Sun Dec 31 00:03:27 2006 From: reid at x10sys.com (Reid Spencer) Date: Sun, 31 Dec 2006 00:03:27 -0600 Subject: [llvm-commits] CVS: llvm/test/Regression/Analysis/GlobalsModRef/indirect-global.ll Message-ID: <200612310603.kBV63R9i012787@zion.cs.uiuc.edu> Changes in directory llvm/test/Regression/Analysis/GlobalsModRef: indirect-global.ll updated: 1.2 -> 1.3 --- Log message: For PR950: http://llvm.org/PR950 : Update the test suite to accommodate the change from signed integer types to signless integer types. The changes were of only a few kinds: 1. Make sure llvm-upgrade is run on the source which does the bulk of the changes automatically. 2. Change things like "grep 'int'" to "grep 'i32'" 3. In several tests bitcasting caused the same name to be reused in the same type plane. These had to be manually fixed. The fix was (generally) to leave the bitcast and provide the instruction with a new name. This should not affect the semantics of the test. In a few cases, the bitcasts were known to be superfluous and irrelevant to the test case so they were removed. 4. One test case uses a bytecode file which needed to be updated to the latest bytecode format. --- Diffs of the changes: (+3 -1) indirect-global.ll | 4 +++- 1 files changed, 3 insertions(+), 1 deletion(-) Index: llvm/test/Regression/Analysis/GlobalsModRef/indirect-global.ll diff -u llvm/test/Regression/Analysis/GlobalsModRef/indirect-global.ll:1.2 llvm/test/Regression/Analysis/GlobalsModRef/indirect-global.ll:1.3 --- llvm/test/Regression/Analysis/GlobalsModRef/indirect-global.ll:1.2 Fri Dec 1 22:23:07 2006 +++ llvm/test/Regression/Analysis/GlobalsModRef/indirect-global.ll Sun Dec 31 00:01:59 2006 @@ -1,4 +1,6 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -globalsmodref-aa -load-vn -gcse -instcombine | llvm-dis | grep 'ret int 0' +; RUN: llvm-upgrade < %s | llvm-as | \ +; RUN: opt -globalsmodref-aa -load-vn -gcse -instcombine | llvm-dis | \ +; RUN: grep 'ret i32 0' %G = internal global int* null implementation From reid at x10sys.com Sun Dec 31 00:03:27 2006 From: reid at x10sys.com (Reid Spencer) Date: Sun, 31 Dec 2006 00:03:27 -0600 Subject: [llvm-commits] CVS: llvm/test/Regression/Transforms/SCCP/2004-12-10-UndefBranchBug.ll 2006-12-04-PackedType.ll ipsccp-basic.ll ipsccp-conditional.ll logical-nuke.ll Message-ID: <200612310603.kBV63Rjv012719@zion.cs.uiuc.edu> Changes in directory llvm/test/Regression/Transforms/SCCP: 2004-12-10-UndefBranchBug.ll updated: 1.2 -> 1.3 2006-12-04-PackedType.ll updated: 1.1 -> 1.2 ipsccp-basic.ll updated: 1.3 -> 1.4 ipsccp-conditional.ll updated: 1.3 -> 1.4 logical-nuke.ll updated: 1.2 -> 1.3 --- Log message: For PR950: http://llvm.org/PR950 : Update the test suite to accommodate the change from signed integer types to signless integer types. The changes were of only a few kinds: 1. Make sure llvm-upgrade is run on the source which does the bulk of the changes automatically. 2. Change things like "grep 'int'" to "grep 'i32'" 3. In several tests bitcasting caused the same name to be reused in the same type plane. These had to be manually fixed. The fix was (generally) to leave the bitcast and provide the instruction with a new name. This should not affect the semantics of the test. In a few cases, the bitcasts were known to be superfluous and irrelevant to the test case so they were removed. 4. One test case uses a bytecode file which needed to be updated to the latest bytecode format. --- Diffs of the changes: (+6 -6) 2004-12-10-UndefBranchBug.ll | 2 +- 2006-12-04-PackedType.ll | 4 ++-- ipsccp-basic.ll | 2 +- ipsccp-conditional.ll | 2 +- logical-nuke.ll | 2 +- 5 files changed, 6 insertions(+), 6 deletions(-) Index: llvm/test/Regression/Transforms/SCCP/2004-12-10-UndefBranchBug.ll diff -u llvm/test/Regression/Transforms/SCCP/2004-12-10-UndefBranchBug.ll:1.2 llvm/test/Regression/Transforms/SCCP/2004-12-10-UndefBranchBug.ll:1.3 --- llvm/test/Regression/Transforms/SCCP/2004-12-10-UndefBranchBug.ll:1.2 Fri Dec 1 22:23:10 2006 +++ llvm/test/Regression/Transforms/SCCP/2004-12-10-UndefBranchBug.ll Sun Dec 31 00:02:00 2006 @@ -1,4 +1,4 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -sccp | llvm-dis | grep 'ret int 1' +; RUN: llvm-upgrade < %s | llvm-as | opt -sccp | llvm-dis | grep 'ret i32 1' ; This function definitely returns 1, even if we don't know the direction ; of the branch. Index: llvm/test/Regression/Transforms/SCCP/2006-12-04-PackedType.ll diff -u llvm/test/Regression/Transforms/SCCP/2006-12-04-PackedType.ll:1.1 llvm/test/Regression/Transforms/SCCP/2006-12-04-PackedType.ll:1.2 --- llvm/test/Regression/Transforms/SCCP/2006-12-04-PackedType.ll:1.1 Mon Dec 4 17:54:59 2006 +++ llvm/test/Regression/Transforms/SCCP/2006-12-04-PackedType.ll Sun Dec 31 00:02:00 2006 @@ -105,8 +105,8 @@ void %gldLLVMVecPointRender(%struct.GLDContextRec* %ctx) { entry: - %tmp = getelementptr %struct.GLDContextRec* %ctx, int 0, uint 22 ; [#uses=1] - %tmp = load uint* %tmp ; [#uses=3] + %tmp.uip = getelementptr %struct.GLDContextRec* %ctx, int 0, uint 22 ; [#uses=1] + %tmp = load uint* %tmp.uip ; [#uses=3] %tmp91 = lshr uint %tmp, ubyte 5 ; [#uses=1] %tmp92 = trunc uint %tmp91 to bool ; [#uses=1] br bool %tmp92, label %cond_true93, label %cond_next116 Index: llvm/test/Regression/Transforms/SCCP/ipsccp-basic.ll diff -u llvm/test/Regression/Transforms/SCCP/ipsccp-basic.ll:1.3 llvm/test/Regression/Transforms/SCCP/ipsccp-basic.ll:1.4 --- llvm/test/Regression/Transforms/SCCP/ipsccp-basic.ll:1.3 Fri Dec 1 22:23:10 2006 +++ llvm/test/Regression/Transforms/SCCP/ipsccp-basic.ll Sun Dec 31 00:02:00 2006 @@ -1,4 +1,4 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -ipsccp | llvm-dis | grep -v 'ret int 17' | grep -v 'ret int undef' | not grep ret +; RUN: llvm-upgrade < %s | llvm-as | opt -ipsccp | llvm-dis | grep -v 'ret i32 17' | grep -v 'ret i32 undef' | not grep ret implementation Index: llvm/test/Regression/Transforms/SCCP/ipsccp-conditional.ll diff -u llvm/test/Regression/Transforms/SCCP/ipsccp-conditional.ll:1.3 llvm/test/Regression/Transforms/SCCP/ipsccp-conditional.ll:1.4 --- llvm/test/Regression/Transforms/SCCP/ipsccp-conditional.ll:1.3 Fri Dec 1 22:23:10 2006 +++ llvm/test/Regression/Transforms/SCCP/ipsccp-conditional.ll Sun Dec 31 00:02:00 2006 @@ -1,4 +1,4 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -ipsccp | llvm-dis | grep -v 'ret int 0' | grep -v 'ret int undef' | not grep ret +; RUN: llvm-upgrade < %s | llvm-as | opt -ipsccp | llvm-dis | grep -v 'ret i32 0' | grep -v 'ret i32 undef' | not grep ret implementation Index: llvm/test/Regression/Transforms/SCCP/logical-nuke.ll diff -u llvm/test/Regression/Transforms/SCCP/logical-nuke.ll:1.2 llvm/test/Regression/Transforms/SCCP/logical-nuke.ll:1.3 --- llvm/test/Regression/Transforms/SCCP/logical-nuke.ll:1.2 Fri Dec 1 22:23:10 2006 +++ llvm/test/Regression/Transforms/SCCP/logical-nuke.ll Sun Dec 31 00:02:00 2006 @@ -1,4 +1,4 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -sccp | llvm-dis | grep 'ret int 0' +; RUN: llvm-upgrade < %s | llvm-as | opt -sccp | llvm-dis | grep 'ret i32 0' ; Test that SCCP has basic knowledge of when and/or nuke overdefined values. From reid at x10sys.com Sun Dec 31 00:03:28 2006 From: reid at x10sys.com (Reid Spencer) Date: Sun, 31 Dec 2006 00:03:28 -0600 Subject: [llvm-commits] CVS: llvm/test/Regression/Assembler/2002-07-08-HugePerformanceProblem.llx 2003-04-15-ConstantInitAssertion.llx 2003-05-21-MalformedShiftCrash.llx 2003-05-21-MalformedStructCrash.llx 2003-11-12-ConstantExprCast.llx 2003-12-30-TypeMapInvalidMemory.llx 2004-10-22-BCWriterUndefBug.llx Message-ID: <200612310603.kBV63S88012823@zion.cs.uiuc.edu> Changes in directory llvm/test/Regression/Assembler: 2002-07-08-HugePerformanceProblem.llx updated: 1.4 -> 1.5 2003-04-15-ConstantInitAssertion.llx updated: 1.2 -> 1.3 2003-05-21-MalformedShiftCrash.llx updated: 1.3 -> 1.4 2003-05-21-MalformedStructCrash.llx updated: 1.3 -> 1.4 2003-11-12-ConstantExprCast.llx updated: 1.3 -> 1.4 2003-12-30-TypeMapInvalidMemory.llx updated: 1.3 -> 1.4 2004-10-22-BCWriterUndefBug.llx updated: 1.2 -> 1.3 --- Log message: For PR950: http://llvm.org/PR950 : Update the test suite to accommodate the change from signed integer types to signless integer types. The changes were of only a few kinds: 1. Make sure llvm-upgrade is run on the source which does the bulk of the changes automatically. 2. Change things like "grep 'int'" to "grep 'i32'" 3. In several tests bitcasting caused the same name to be reused in the same type plane. These had to be manually fixed. The fix was (generally) to leave the bitcast and provide the instruction with a new name. This should not affect the semantics of the test. In a few cases, the bitcasts were known to be superfluous and irrelevant to the test case so they were removed. 4. One test case uses a bytecode file which needed to be updated to the latest bytecode format. --- Diffs of the changes: (+10 -9) 2002-07-08-HugePerformanceProblem.llx | 2 +- 2003-04-15-ConstantInitAssertion.llx | 2 +- 2003-05-21-MalformedShiftCrash.llx | 2 +- 2003-05-21-MalformedStructCrash.llx | 2 +- 2003-11-12-ConstantExprCast.llx | 6 +++--- 2003-12-30-TypeMapInvalidMemory.llx | 3 ++- 2004-10-22-BCWriterUndefBug.llx | 2 +- 7 files changed, 10 insertions(+), 9 deletions(-) Index: llvm/test/Regression/Assembler/2002-07-08-HugePerformanceProblem.llx diff -u llvm/test/Regression/Assembler/2002-07-08-HugePerformanceProblem.llx:1.4 llvm/test/Regression/Assembler/2002-07-08-HugePerformanceProblem.llx:1.5 --- llvm/test/Regression/Assembler/2002-07-08-HugePerformanceProblem.llx:1.4 Sat Nov 6 14:38:27 2004 +++ llvm/test/Regression/Assembler/2002-07-08-HugePerformanceProblem.llx Sun Dec 31 00:01:59 2006 @@ -1,6 +1,6 @@ ; This file takes about 48 __MINUTES__ to assemble using as. This is WAY too ; long. The type resolution code needs to be sped up a lot. -; RUN: ulimit -t 20; llvm-as < %s +; RUN: ulimit -t 20; llvm-upgrade < %s | llvm-as %ALL_INTERSECTIONS_METHOD = type int (%OBJECT*, %RAY*, %ISTACK*)* %BBOX = type { %BBOX_VECT, %BBOX_VECT } Index: llvm/test/Regression/Assembler/2003-04-15-ConstantInitAssertion.llx diff -u llvm/test/Regression/Assembler/2003-04-15-ConstantInitAssertion.llx:1.2 llvm/test/Regression/Assembler/2003-04-15-ConstantInitAssertion.llx:1.3 --- llvm/test/Regression/Assembler/2003-04-15-ConstantInitAssertion.llx:1.2 Thu Oct 23 10:47:23 2003 +++ llvm/test/Regression/Assembler/2003-04-15-ConstantInitAssertion.llx Sun Dec 31 00:01:59 2006 @@ -1,4 +1,4 @@ -; RUN: (llvm-as < %s 2>&1) | grep Expected +; RUN: llvm-upgrade < %s | llvm-as 2>&1 >/dev/null | grep Expected ; Test the case of a misformed constant initializer ; This should cause an assembler error, not an assertion failure! %X = constant {int} { float 1.0 } Index: llvm/test/Regression/Assembler/2003-05-21-MalformedShiftCrash.llx diff -u llvm/test/Regression/Assembler/2003-05-21-MalformedShiftCrash.llx:1.3 llvm/test/Regression/Assembler/2003-05-21-MalformedShiftCrash.llx:1.4 --- llvm/test/Regression/Assembler/2003-05-21-MalformedShiftCrash.llx:1.3 Sat Dec 2 14:34:08 2006 +++ llvm/test/Regression/Assembler/2003-05-21-MalformedShiftCrash.llx Sun Dec 31 00:01:59 2006 @@ -1,4 +1,4 @@ ; Found by inspection of the code -; RUN: llvm-upgrade < %s | llvm-as -o /dev/null -f 2>&1 | grep "Shift constant expression" +; RUN: llvm-upgrade < %s | llvm-as 2>&1 > /dev/null | grep "Shift constant expression" global int shr (float 1.0, ubyte 2) Index: llvm/test/Regression/Assembler/2003-05-21-MalformedStructCrash.llx diff -u llvm/test/Regression/Assembler/2003-05-21-MalformedStructCrash.llx:1.3 llvm/test/Regression/Assembler/2003-05-21-MalformedStructCrash.llx:1.4 --- llvm/test/Regression/Assembler/2003-05-21-MalformedStructCrash.llx:1.3 Mon Sep 15 15:01:21 2003 +++ llvm/test/Regression/Assembler/2003-05-21-MalformedStructCrash.llx Sun Dec 31 00:01:59 2006 @@ -1,4 +1,4 @@ ; Found by inspection of the code -; RUN: llvm-as < %s 2>&1 | grep "Illegal" +; RUN: llvm-upgrade < %s | llvm-as 2>&1 > /dev/null | grep "Illegal" global {} { int 7, float 1.0, int 7, int 8 } Index: llvm/test/Regression/Assembler/2003-11-12-ConstantExprCast.llx diff -u llvm/test/Regression/Assembler/2003-11-12-ConstantExprCast.llx:1.3 llvm/test/Regression/Assembler/2003-11-12-ConstantExprCast.llx:1.4 --- llvm/test/Regression/Assembler/2003-11-12-ConstantExprCast.llx:1.3 Fri Dec 1 22:23:08 2006 +++ llvm/test/Regression/Assembler/2003-11-12-ConstantExprCast.llx Sun Dec 31 00:01:59 2006 @@ -1,9 +1,9 @@ -; RUN: llvm-upgrade < %s | llvm-as | llvm-dis | grep ' bitcast (' +; RUN: llvm-upgrade < %s | llvm-as | llvm-dis | not grep ' bitcast (' %.Base64_1 = external constant [4 x sbyte] -ubyte %test(sbyte %X) { ; No predecessors! - %X = cast sbyte %X to ubyte ; [#uses=1] +ubyte %test(sbyte %Y) { ; No predecessors! + %X = cast sbyte %Y to ubyte ; [#uses=1] %tmp.13 = add ubyte %X, cast (sbyte sub (sbyte 0, sbyte cast ([4 x sbyte]* %.Base64_1 to sbyte)) to ubyte) ; [#uses=1] ret ubyte %tmp.13 } Index: llvm/test/Regression/Assembler/2003-12-30-TypeMapInvalidMemory.llx diff -u llvm/test/Regression/Assembler/2003-12-30-TypeMapInvalidMemory.llx:1.3 llvm/test/Regression/Assembler/2003-12-30-TypeMapInvalidMemory.llx:1.4 --- llvm/test/Regression/Assembler/2003-12-30-TypeMapInvalidMemory.llx:1.3 Fri Dec 29 14:01:32 2006 +++ llvm/test/Regression/Assembler/2003-12-30-TypeMapInvalidMemory.llx Sun Dec 31 00:01:59 2006 @@ -1,4 +1,5 @@ -; RUN: llvm-as < %s 2>&1 | grep 'Reference to an undefined type' +; RUN: llvm-upgrade < %s | llvm-as -o /dev/null -f 2>&1 | \ +; RUN: grep 'Reference to an undefined type' %d_reduction_0_dparser_gram = global { int (sbyte*, sbyte**, int, int, { %struct.Grammar*, void (\4, %struct.d_loc_t*, sbyte**)*, %struct.D_Scope*, void (\4)*, { int, %struct.d_loc_t, sbyte*, sbyte*, %struct.D_Scope*, void (\8, %struct.d_loc_t*, sbyte**)*, %struct.Grammar*, %struct.ParseNode_User }* (\4, int, { int, %struct.d_loc_t, sbyte*, sbyte*, %struct.D_Scope*, void (\9, %struct.d_loc_t*, sbyte**)*, %struct.Grammar*, %struct.ParseNode_User }**)*, void ({ int, %struct.d_loc_t, sbyte*, sbyte*, %struct.D_Scope*, void (\8, %struct.d_loc_t*, sbyte**)*, %struct.Grammar*, %struct.ParseNode_User }*)*, %struct.d_loc_t, int, int, int, int, int, int, int, int, int, int, int, int }*)*, int (sbyte*, sbyte**, int, int, { %struct.Grammar*, void (\4, %struct.d_loc_t*, sbyte**)*, %struct.D_Scope*, void (\4)*, { int, %struct.d_loc_t, sbyte*, sbyte*, %struct.D_Scope*, void (\8, %struct.d_loc_t*, sbyte**)*, %struct.Grammar*, %struct.ParseNode_User }* (\4, int, { int, %struct.d_loc_t, sbyt! e*, sbyte*, %struct.D_Scope*, void (\9, %struct.d_loc_t*, sbyte**)*, %struct.Grammar*, %struct.ParseNode_User }**)*, void ({ int, %struct.d_loc_t, sbyte*, sbyte*, %struct.D_Scope*, void (\8, %struct.d_loc_t*, sbyte**)*, %struct.Grammar*, %struct.ParseNode_User }*)*, %struct.d_loc_t, int, int, int, int, int, int, int, int, int, int, int, int }*)** } { int (sbyte*, sbyte**, int, int, { %struct.Grammar*, void (\4, %struct.d_loc_t*, sbyte**)*, %struct.D_Scope*, void (\4)*, { int, %struct.d_loc_t, sbyte*, sbyte*, %struct.D_Scope*, void (\8, %struct.d_loc_t*, sbyte**)*, %struct.Grammar*, %struct.ParseNode_User }* (\4, int, { int, %struct.d_loc_t, sbyte*, sbyte*, %struct.D_Scope*, void (\9, %struct.d_loc_t*, sbyte**)*, %struct.Grammar*, %struct.ParseNode_User }**)*, void ({ int, %struct.d_loc_t, sbyte*, sbyte*, %struct.D_Scope*, void (\8, %struct.d_loc_t*, sbyte**)*, %struct.Grammar*, %struct.ParseNode_User }*)*, %struct.d_loc_t, int, int, int, int, int, int, int, int, int, int, i! nt, int }*)* null, int (sbyte*, sbyte**, int, int, { %struct.G! rammar*, void (\4, %struct.d_loc_t*, sbyte**)*, %struct.D_Scope*, void (\4)*, { int, %struct.d_loc_t, sbyte*, sbyte*, %struct.D_Scope*, void (\8, %struct.d_loc_t*, sbyte**)*, %struct.Grammar*, %struct.ParseNode_User }* (\4, int, { int, %struct.d_loc_t, sbyte*, sbyte*, %struct.D_Scope*, void (\9, %struct.d_loc_t*, sbyte**)*, %struct.Grammar*, %struct.ParseNode_User }**)*, void ({ int, %struct.d_loc_t, sbyte*, sbyte*, %struct.D_Scope*, void (\8, %struct.d_loc_t*, sbyte**)*, %struct.Grammar*, %struct.ParseNode_User }*)*, %struct.d_loc_t, int, int, int, int, int, int, int, int, int, int, int, int }*)** null } Index: llvm/test/Regression/Assembler/2004-10-22-BCWriterUndefBug.llx diff -u llvm/test/Regression/Assembler/2004-10-22-BCWriterUndefBug.llx:1.2 llvm/test/Regression/Assembler/2004-10-22-BCWriterUndefBug.llx:1.3 --- llvm/test/Regression/Assembler/2004-10-22-BCWriterUndefBug.llx:1.2 Sat Nov 6 23:01:34 2004 +++ llvm/test/Regression/Assembler/2004-10-22-BCWriterUndefBug.llx Sun Dec 31 00:01:59 2006 @@ -1,5 +1,5 @@ ;; The bytecode writer was trying to treat undef values as ConstantArray's when ;; they looked like strings. -;; RUN: llvm-as < %s -o /dev/null -f +;; RUN: llvm-upgrade < %s | llvm-as -o /dev/null -f %G = internal global [8 x sbyte] undef From reid at x10sys.com Sun Dec 31 00:03:28 2006 From: reid at x10sys.com (Reid Spencer) Date: Sun, 31 Dec 2006 00:03:28 -0600 Subject: [llvm-commits] CVS: llvm/test/Regression/Transforms/LICM/basictest.ll no-preheader-test.ll Message-ID: <200612310603.kBV63SDI012803@zion.cs.uiuc.edu> Changes in directory llvm/test/Regression/Transforms/LICM: basictest.ll updated: 1.3 -> 1.4 no-preheader-test.ll updated: 1.3 -> 1.4 --- Log message: For PR950: http://llvm.org/PR950 : Update the test suite to accommodate the change from signed integer types to signless integer types. The changes were of only a few kinds: 1. Make sure llvm-upgrade is run on the source which does the bulk of the changes automatically. 2. Change things like "grep 'int'" to "grep 'i32'" 3. In several tests bitcasting caused the same name to be reused in the same type plane. These had to be manually fixed. The fix was (generally) to leave the bitcast and provide the instruction with a new name. This should not affect the semantics of the test. In a few cases, the bitcasts were known to be superfluous and irrelevant to the test case so they were removed. 4. One test case uses a bytecode file which needed to be updated to the latest bytecode format. --- Diffs of the changes: (+4 -4) basictest.ll | 4 ++-- no-preheader-test.ll | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) Index: llvm/test/Regression/Transforms/LICM/basictest.ll diff -u llvm/test/Regression/Transforms/LICM/basictest.ll:1.3 llvm/test/Regression/Transforms/LICM/basictest.ll:1.4 --- llvm/test/Regression/Transforms/LICM/basictest.ll:1.3 Fri Dec 1 22:23:09 2006 +++ llvm/test/Regression/Transforms/LICM/basictest.ll Sun Dec 31 00:01:59 2006 @@ -1,12 +1,12 @@ ; RUN: llvm-upgrade < %s | llvm-as | opt -licm | llvm-dis -void "testfunc"(int %i) { +void "testfunc"(int %i.s) { br label %Loop Loop: %j = phi uint [0, %0], [%Next, %Loop] - %i = cast int %i to uint + %i = cast int %i.s to uint %i2 = mul uint %i, 17 %Next = add uint %j, %i2 %cond = seteq uint %Next, 0 Index: llvm/test/Regression/Transforms/LICM/no-preheader-test.ll diff -u llvm/test/Regression/Transforms/LICM/no-preheader-test.ll:1.3 llvm/test/Regression/Transforms/LICM/no-preheader-test.ll:1.4 --- llvm/test/Regression/Transforms/LICM/no-preheader-test.ll:1.3 Fri Dec 1 22:23:09 2006 +++ llvm/test/Regression/Transforms/LICM/no-preheader-test.ll Sun Dec 31 00:01:59 2006 @@ -1,7 +1,7 @@ ; Test that LICM works when there is not a loop-preheader ; RUN: llvm-upgrade < %s | llvm-as | opt -licm | llvm-dis -void "testfunc"(int %i, bool %ifcond) { +void "testfunc"(int %i.s, bool %ifcond) { br bool %ifcond, label %Then, label %Else Then: br label %Loop @@ -10,7 +10,7 @@ Loop: %j = phi uint [0, %Then], [12, %Else], [%Next, %Loop] - %i = cast int %i to uint + %i = cast int %i.s to uint %i2 = mul uint %i, 17 %Next = add uint %j, %i2 %cond = seteq uint %Next, 0 From reid at x10sys.com Sun Dec 31 00:03:28 2006 From: reid at x10sys.com (Reid Spencer) Date: Sun, 31 Dec 2006 00:03:28 -0600 Subject: [llvm-commits] CVS: llvm/test/Regression/Analysis/BasicAA/2004-07-28-MustAliasbug.llx 2005-03-09-BrokenBasicAA.ll tailcall-modref.ll Message-ID: <200612310603.kBV63Swo012801@zion.cs.uiuc.edu> Changes in directory llvm/test/Regression/Analysis/BasicAA: 2004-07-28-MustAliasbug.llx updated: 1.2 -> 1.3 2005-03-09-BrokenBasicAA.ll updated: 1.2 -> 1.3 tailcall-modref.ll updated: 1.2 -> 1.3 --- Log message: For PR950: http://llvm.org/PR950 : Update the test suite to accommodate the change from signed integer types to signless integer types. The changes were of only a few kinds: 1. Make sure llvm-upgrade is run on the source which does the bulk of the changes automatically. 2. Change things like "grep 'int'" to "grep 'i32'" 3. In several tests bitcasting caused the same name to be reused in the same type plane. These had to be manually fixed. The fix was (generally) to leave the bitcast and provide the instruction with a new name. This should not affect the semantics of the test. In a few cases, the bitcasts were known to be superfluous and irrelevant to the test case so they were removed. 4. One test case uses a bytecode file which needed to be updated to the latest bytecode format. --- Diffs of the changes: (+3 -3) 2004-07-28-MustAliasbug.llx | 2 +- 2005-03-09-BrokenBasicAA.ll | 2 +- tailcall-modref.ll | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) Index: llvm/test/Regression/Analysis/BasicAA/2004-07-28-MustAliasbug.llx diff -u llvm/test/Regression/Analysis/BasicAA/2004-07-28-MustAliasbug.llx:1.2 llvm/test/Regression/Analysis/BasicAA/2004-07-28-MustAliasbug.llx:1.3 --- llvm/test/Regression/Analysis/BasicAA/2004-07-28-MustAliasbug.llx:1.2 Fri Dec 29 14:01:32 2006 +++ llvm/test/Regression/Analysis/BasicAA/2004-07-28-MustAliasbug.llx Sun Dec 31 00:01:59 2006 @@ -1,4 +1,4 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -dse | llvm-dis | grep 'store int 0' +; RUN: llvm-upgrade < %s | llvm-as | opt -dse | llvm-dis | grep 'store i32 0' void %test({int,int }* %P) { %Q = getelementptr {int,int}* %P, int 1 Index: llvm/test/Regression/Analysis/BasicAA/2005-03-09-BrokenBasicAA.ll diff -u llvm/test/Regression/Analysis/BasicAA/2005-03-09-BrokenBasicAA.ll:1.2 llvm/test/Regression/Analysis/BasicAA/2005-03-09-BrokenBasicAA.ll:1.3 --- llvm/test/Regression/Analysis/BasicAA/2005-03-09-BrokenBasicAA.ll:1.2 Fri Dec 1 22:23:07 2006 +++ llvm/test/Regression/Analysis/BasicAA/2005-03-09-BrokenBasicAA.ll Sun Dec 31 00:01:59 2006 @@ -1,4 +1,4 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -basicaa -load-vn -gcse -instcombine | llvm-dis | grep 'load int\* %A' +; RUN: llvm-upgrade < %s | llvm-as | opt -basicaa -load-vn -gcse -instcombine | llvm-dis | grep 'load i32\* %A' declare double* %useit(int*) Index: llvm/test/Regression/Analysis/BasicAA/tailcall-modref.ll diff -u llvm/test/Regression/Analysis/BasicAA/tailcall-modref.ll:1.2 llvm/test/Regression/Analysis/BasicAA/tailcall-modref.ll:1.3 --- llvm/test/Regression/Analysis/BasicAA/tailcall-modref.ll:1.2 Fri Dec 1 22:23:07 2006 +++ llvm/test/Regression/Analysis/BasicAA/tailcall-modref.ll Sun Dec 31 00:01:59 2006 @@ -1,4 +1,4 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -basicaa -load-vn -gcse -instcombine | llvm-dis | grep 'ret int 0' +; RUN: llvm-upgrade < %s | llvm-as | opt -basicaa -load-vn -gcse -instcombine | llvm-dis | grep 'ret i32 0' declare void %foo(int*) declare void %bar() From reid at x10sys.com Sun Dec 31 00:03:27 2006 From: reid at x10sys.com (Reid Spencer) Date: Sun, 31 Dec 2006 00:03:27 -0600 Subject: [llvm-commits] CVS: llvm/test/Regression/Transforms/LoopSimplify/2006-08-11-LoopSimplifyLongTime.ll.bc Message-ID: <200612310603.kBV63R3P012727@zion.cs.uiuc.edu> Changes in directory llvm/test/Regression/Transforms/LoopSimplify: 2006-08-11-LoopSimplifyLongTime.ll.bc updated: 1.3 -> 1.4 --- Log message: For PR950: http://llvm.org/PR950 : Update the test suite to accommodate the change from signed integer types to signless integer types. The changes were of only a few kinds: 1. Make sure llvm-upgrade is run on the source which does the bulk of the changes automatically. 2. Change things like "grep 'int'" to "grep 'i32'" 3. In several tests bitcasting caused the same name to be reused in the same type plane. These had to be manually fixed. The fix was (generally) to leave the bitcast and provide the instruction with a new name. This should not affect the semantics of the test. In a few cases, the bitcasts were known to be superfluous and irrelevant to the test case so they were removed. 4. One test case uses a bytecode file which needed to be updated to the latest bytecode format. --- Diffs of the changes: (+0 -0) 2006-08-11-LoopSimplifyLongTime.ll.bc | 0 1 files changed Index: llvm/test/Regression/Transforms/LoopSimplify/2006-08-11-LoopSimplifyLongTime.ll.bc From reid at x10sys.com Sun Dec 31 00:03:28 2006 From: reid at x10sys.com (Reid Spencer) Date: Sun, 31 Dec 2006 00:03:28 -0600 Subject: [llvm-commits] CVS: llvm/test/Regression/ExecutionEngine/2003-01-04-PhiTest.ll 2003-05-11-PHIRegAllocBug.ll 2003-06-05-PHIBug.ll 2003-08-15-AllocaAssertion.ll 2003-08-23-RegisterAllocatePhysReg.ll hello.ll hello2.ll simplesttest.ll simpletest.ll test-loadstore.ll test-logical.ll test-malloc.ll test-ret.ll test-shift.ll Message-ID: <200612310603.kBV63S29012818@zion.cs.uiuc.edu> Changes in directory llvm/test/Regression/ExecutionEngine: 2003-01-04-PhiTest.ll updated: 1.4 -> 1.5 2003-05-11-PHIRegAllocBug.ll updated: 1.3 -> 1.4 2003-06-05-PHIBug.ll updated: 1.2 -> 1.3 2003-08-15-AllocaAssertion.ll updated: 1.2 -> 1.3 2003-08-23-RegisterAllocatePhysReg.ll updated: 1.2 -> 1.3 hello.ll updated: 1.3 -> 1.4 hello2.ll updated: 1.3 -> 1.4 simplesttest.ll updated: 1.5 -> 1.6 simpletest.ll updated: 1.2 -> 1.3 test-loadstore.ll updated: 1.6 -> 1.7 test-logical.ll updated: 1.5 -> 1.6 test-malloc.ll updated: 1.2 -> 1.3 test-ret.ll updated: 1.5 -> 1.6 test-shift.ll updated: 1.7 -> 1.8 --- Log message: For PR950: http://llvm.org/PR950 : Update the test suite to accommodate the change from signed integer types to signless integer types. The changes were of only a few kinds: 1. Make sure llvm-upgrade is run on the source which does the bulk of the changes automatically. 2. Change things like "grep 'int'" to "grep 'i32'" 3. In several tests bitcasting caused the same name to be reused in the same type plane. These had to be manually fixed. The fix was (generally) to leave the bitcast and provide the instruction with a new name. This should not affect the semantics of the test. In a few cases, the bitcasts were known to be superfluous and irrelevant to the test case so they were removed. 4. One test case uses a bytecode file which needed to be updated to the latest bytecode format. --- Diffs of the changes: (+36 -36) 2003-01-04-PhiTest.ll | 2 +- 2003-05-11-PHIRegAllocBug.ll | 2 +- 2003-06-05-PHIBug.ll | 2 +- 2003-08-15-AllocaAssertion.ll | 2 +- 2003-08-23-RegisterAllocatePhysReg.ll | 2 +- hello.ll | 2 +- hello2.ll | 2 +- simplesttest.ll | 2 +- simpletest.ll | 2 +- test-loadstore.ll | 2 +- test-logical.ll | 2 +- test-malloc.ll | 2 +- test-ret.ll | 22 +++++++++++----------- test-shift.ll | 26 +++++++++++++------------- 14 files changed, 36 insertions(+), 36 deletions(-) Index: llvm/test/Regression/ExecutionEngine/2003-01-04-PhiTest.ll diff -u llvm/test/Regression/ExecutionEngine/2003-01-04-PhiTest.ll:1.4 llvm/test/Regression/ExecutionEngine/2003-01-04-PhiTest.ll:1.5 --- llvm/test/Regression/ExecutionEngine/2003-01-04-PhiTest.ll:1.4 Sat Nov 6 17:32:43 2004 +++ llvm/test/Regression/ExecutionEngine/2003-01-04-PhiTest.ll Sun Dec 31 00:01:59 2006 @@ -1,4 +1,4 @@ -; RUN: llvm-as -f %s -o %t.bc +; RUN: llvm-upgrade < %s | llvm-as -f -o %t.bc ; RUN: lli %t.bc > /dev/null int %main() { Index: llvm/test/Regression/ExecutionEngine/2003-05-11-PHIRegAllocBug.ll diff -u llvm/test/Regression/ExecutionEngine/2003-05-11-PHIRegAllocBug.ll:1.3 llvm/test/Regression/ExecutionEngine/2003-05-11-PHIRegAllocBug.ll:1.4 --- llvm/test/Regression/ExecutionEngine/2003-05-11-PHIRegAllocBug.ll:1.3 Sat Nov 6 17:32:43 2004 +++ llvm/test/Regression/ExecutionEngine/2003-05-11-PHIRegAllocBug.ll Sun Dec 31 00:01:59 2006 @@ -1,4 +1,4 @@ -; RUN: llvm-as -f %s -o %t.bc +; RUN: llvm-upgrade < %s | llvm-as -f -o %t.bc ; RUN: lli %t.bc > /dev/null target endian = little Index: llvm/test/Regression/ExecutionEngine/2003-06-05-PHIBug.ll diff -u llvm/test/Regression/ExecutionEngine/2003-06-05-PHIBug.ll:1.2 llvm/test/Regression/ExecutionEngine/2003-06-05-PHIBug.ll:1.3 --- llvm/test/Regression/ExecutionEngine/2003-06-05-PHIBug.ll:1.2 Sat Nov 6 17:32:43 2004 +++ llvm/test/Regression/ExecutionEngine/2003-06-05-PHIBug.ll Sun Dec 31 00:01:59 2006 @@ -1,4 +1,4 @@ -; RUN: llvm-as -f %s -o %t.bc +; RUN: llvm-upgrade < %s | llvm-as -f -o %t.bc ; RUN: lli %t.bc > /dev/null ; Testcase distilled from 256.bzip2. Index: llvm/test/Regression/ExecutionEngine/2003-08-15-AllocaAssertion.ll diff -u llvm/test/Regression/ExecutionEngine/2003-08-15-AllocaAssertion.ll:1.2 llvm/test/Regression/ExecutionEngine/2003-08-15-AllocaAssertion.ll:1.3 --- llvm/test/Regression/ExecutionEngine/2003-08-15-AllocaAssertion.ll:1.2 Sat Nov 6 17:32:43 2004 +++ llvm/test/Regression/ExecutionEngine/2003-08-15-AllocaAssertion.ll Sun Dec 31 00:01:59 2006 @@ -1,4 +1,4 @@ -; RUN: llvm-as -f %s -o %t.bc +; RUN: llvm-upgrade < %s | llvm-as -f -o %t.bc ; RUN: lli %t.bc > /dev/null ; This testcase failed to work because two variable sized allocas confused the Index: llvm/test/Regression/ExecutionEngine/2003-08-23-RegisterAllocatePhysReg.ll diff -u llvm/test/Regression/ExecutionEngine/2003-08-23-RegisterAllocatePhysReg.ll:1.2 llvm/test/Regression/ExecutionEngine/2003-08-23-RegisterAllocatePhysReg.ll:1.3 --- llvm/test/Regression/ExecutionEngine/2003-08-23-RegisterAllocatePhysReg.ll:1.2 Sat Nov 6 17:32:43 2004 +++ llvm/test/Regression/ExecutionEngine/2003-08-23-RegisterAllocatePhysReg.ll Sun Dec 31 00:01:59 2006 @@ -1,4 +1,4 @@ -; RUN: llvm-as -f %s -o %t.bc +; RUN: llvm-upgrade < %s | llvm-as -f -o %t.bc ; RUN: lli %t.bc > /dev/null ; This testcase exposes a bug in the local register allocator where it runs out Index: llvm/test/Regression/ExecutionEngine/hello.ll diff -u llvm/test/Regression/ExecutionEngine/hello.ll:1.3 llvm/test/Regression/ExecutionEngine/hello.ll:1.4 --- llvm/test/Regression/ExecutionEngine/hello.ll:1.3 Sat Nov 6 17:32:43 2004 +++ llvm/test/Regression/ExecutionEngine/hello.ll Sun Dec 31 00:01:59 2006 @@ -1,4 +1,4 @@ -; RUN: llvm-as -f %s -o %t.bc +; RUN: llvm-upgrade < %s | llvm-as -f -o %t.bc ; RUN: lli %t.bc > /dev/null %.LC0 = internal global [12 x sbyte] c"Hello World\00" Index: llvm/test/Regression/ExecutionEngine/hello2.ll diff -u llvm/test/Regression/ExecutionEngine/hello2.ll:1.3 llvm/test/Regression/ExecutionEngine/hello2.ll:1.4 --- llvm/test/Regression/ExecutionEngine/hello2.ll:1.3 Wed May 17 18:43:56 2006 +++ llvm/test/Regression/ExecutionEngine/hello2.ll Sun Dec 31 00:01:59 2006 @@ -1,4 +1,4 @@ -; RUN: llvm-as -f %s -o %t.bc +; RUN: llvm-upgrade < %s | llvm-as -f -o %t.bc ; RUN: lli %t.bc > /dev/null Index: llvm/test/Regression/ExecutionEngine/simplesttest.ll diff -u llvm/test/Regression/ExecutionEngine/simplesttest.ll:1.5 llvm/test/Regression/ExecutionEngine/simplesttest.ll:1.6 --- llvm/test/Regression/ExecutionEngine/simplesttest.ll:1.5 Sat Nov 6 17:32:43 2004 +++ llvm/test/Regression/ExecutionEngine/simplesttest.ll Sun Dec 31 00:01:59 2006 @@ -1,4 +1,4 @@ -; RUN: llvm-as -f %s -o %t.bc +; RUN: llvm-upgrade < %s | llvm-as -f -o %t.bc ; RUN: lli %t.bc > /dev/null Index: llvm/test/Regression/ExecutionEngine/simpletest.ll diff -u llvm/test/Regression/ExecutionEngine/simpletest.ll:1.2 llvm/test/Regression/ExecutionEngine/simpletest.ll:1.3 --- llvm/test/Regression/ExecutionEngine/simpletest.ll:1.2 Sat Nov 6 17:32:43 2004 +++ llvm/test/Regression/ExecutionEngine/simpletest.ll Sun Dec 31 00:01:59 2006 @@ -1,4 +1,4 @@ -; RUN: llvm-as -f %s -o %t.bc +; RUN: llvm-upgrade < %s | llvm-as -f -o %t.bc ; RUN: lli %t.bc > /dev/null implementation Index: llvm/test/Regression/ExecutionEngine/test-loadstore.ll diff -u llvm/test/Regression/ExecutionEngine/test-loadstore.ll:1.6 llvm/test/Regression/ExecutionEngine/test-loadstore.ll:1.7 --- llvm/test/Regression/ExecutionEngine/test-loadstore.ll:1.6 Sat Nov 6 17:32:43 2004 +++ llvm/test/Regression/ExecutionEngine/test-loadstore.ll Sun Dec 31 00:01:59 2006 @@ -1,4 +1,4 @@ -; RUN: llvm-as -f %s -o %t.bc +; RUN: llvm-upgrade < %s | llvm-as -f -o %t.bc ; RUN: lli %t.bc > /dev/null Index: llvm/test/Regression/ExecutionEngine/test-logical.ll diff -u llvm/test/Regression/ExecutionEngine/test-logical.ll:1.5 llvm/test/Regression/ExecutionEngine/test-logical.ll:1.6 --- llvm/test/Regression/ExecutionEngine/test-logical.ll:1.5 Sat Nov 6 17:32:43 2004 +++ llvm/test/Regression/ExecutionEngine/test-logical.ll Sun Dec 31 00:01:59 2006 @@ -1,4 +1,4 @@ -; RUN: llvm-as -f %s -o %t.bc +; RUN: llvm-upgrade < %s | llvm-as -f -o %t.bc ; RUN: lli %t.bc > /dev/null Index: llvm/test/Regression/ExecutionEngine/test-malloc.ll diff -u llvm/test/Regression/ExecutionEngine/test-malloc.ll:1.2 llvm/test/Regression/ExecutionEngine/test-malloc.ll:1.3 --- llvm/test/Regression/ExecutionEngine/test-malloc.ll:1.2 Sat Nov 6 17:32:43 2004 +++ llvm/test/Regression/ExecutionEngine/test-malloc.ll Sun Dec 31 00:01:59 2006 @@ -1,4 +1,4 @@ -; RUN: llvm-as -f %s -o %t.bc +; RUN: llvm-upgrade < %s | llvm-as -f -o %t.bc ; RUN: lli %t.bc > /dev/null Index: llvm/test/Regression/ExecutionEngine/test-ret.ll diff -u llvm/test/Regression/ExecutionEngine/test-ret.ll:1.5 llvm/test/Regression/ExecutionEngine/test-ret.ll:1.6 --- llvm/test/Regression/ExecutionEngine/test-ret.ll:1.5 Sat Nov 6 17:32:43 2004 +++ llvm/test/Regression/ExecutionEngine/test-ret.ll Sun Dec 31 00:01:59 2006 @@ -1,16 +1,16 @@ -; RUN: llvm-as -f %s -o %t.bc +; RUN: llvm-upgrade < %s | llvm-as -f -o %t.bc ; RUN: lli %t.bc > /dev/null ; test return instructions -void %test() { ret void } -sbyte %test() { ret sbyte 1 } -ubyte %test() { ret ubyte 1 } -short %test() { ret short -1 } -ushort %test() { ret ushort 65535 } +void %test1() { ret void } +sbyte %test2() { ret sbyte 1 } +ubyte %test3() { ret ubyte 1 } +short %test4() { ret short -1 } +ushort %test5() { ret ushort 65535 } int %main() { ret int 0 } -uint %test() { ret uint 4 } -long %test() { ret long 0 } -ulong %test() { ret ulong 0 } -float %test() { ret float 1.0 } -double %test() { ret double 2.0 } +uint %test6() { ret uint 4 } +long %test7() { ret long 0 } +ulong %test8() { ret ulong 0 } +float %test9() { ret float 1.0 } +double %test10() { ret double 2.0 } Index: llvm/test/Regression/ExecutionEngine/test-shift.ll diff -u llvm/test/Regression/ExecutionEngine/test-shift.ll:1.7 llvm/test/Regression/ExecutionEngine/test-shift.ll:1.8 --- llvm/test/Regression/ExecutionEngine/test-shift.ll:1.7 Sun Dec 3 10:17:19 2006 +++ llvm/test/Regression/ExecutionEngine/test-shift.ll Sun Dec 31 00:01:59 2006 @@ -6,35 +6,35 @@ %shamt = add ubyte 0, 1 ; Left shifts... - %t1 = shl int 1, ubyte %shamt - %t2 = shl int 1, ubyte 4 + %t1.s = shl int 1, ubyte %shamt + %t2.s = shl int 1, ubyte 4 %t1 = shl uint 1, ubyte %shamt %t2 = shl uint 1, ubyte 5 ;%t1 = shl long 1, ubyte %shamt - %t2 = shl long 1, ubyte 4 + %t2.s = shl long 1, ubyte 4 ;%t1 = shl ulong 1, ubyte %shamt %t2 = shl ulong 1, ubyte 5 ; Right shifts... - %tr1 = shr int 1, ubyte %shamt - %tr2 = shr int 1, ubyte 4 + %tr1.s = shr int 1, ubyte %shamt + %tr2.s = shr int 1, ubyte 4 %tr1 = shr uint 1, ubyte %shamt %tr2 = shr uint 1, ubyte 5 ;%tr1 = shr long 1, ubyte %shamt - %tr1 = shr long 1, ubyte 4 - %tr2 = shr long 1, ubyte %shamt - %tr3 = shl long 1, ubyte 4 - %tr4 = shl long 1, ubyte %shamt + %tr1.l = shr long 1, ubyte 4 + %tr2.l = shr long 1, ubyte %shamt + %tr3.l = shl long 1, ubyte 4 + %tr4.l = shl long 1, ubyte %shamt ;%t1 = shr ulong 1, ubyte %shamt - %tr1 = shr ulong 1, ubyte 5 - %tr2 = shr ulong 1, ubyte %shamt - %tr3 = shl ulong 1, ubyte 5 - %tr4 = shl ulong 1, ubyte %shamt + %tr1.u = shr ulong 1, ubyte 5 + %tr2.u = shr ulong 1, ubyte %shamt + %tr3.u = shl ulong 1, ubyte 5 + %tr4.u = shl ulong 1, ubyte %shamt ret int 0 } From reid at x10sys.com Sun Dec 31 00:03:29 2006 From: reid at x10sys.com (Reid Spencer) Date: Sun, 31 Dec 2006 00:03:29 -0600 Subject: [llvm-commits] CVS: llvm/test/Regression/Analysis/LoadVN/casts.ll Message-ID: <200612310603.kBV63Tb5012866@zion.cs.uiuc.edu> Changes in directory llvm/test/Regression/Analysis/LoadVN: casts.ll updated: 1.2 -> 1.3 --- Log message: For PR950: http://llvm.org/PR950 : Update the test suite to accommodate the change from signed integer types to signless integer types. The changes were of only a few kinds: 1. Make sure llvm-upgrade is run on the source which does the bulk of the changes automatically. 2. Change things like "grep 'int'" to "grep 'i32'" 3. In several tests bitcasting caused the same name to be reused in the same type plane. These had to be manually fixed. The fix was (generally) to leave the bitcast and provide the instruction with a new name. This should not affect the semantics of the test. In a few cases, the bitcasts were known to be superfluous and irrelevant to the test case so they were removed. 4. One test case uses a bytecode file which needed to be updated to the latest bytecode format. --- Diffs of the changes: (+1 -1) casts.ll | 2 +- 1 files changed, 1 insertion(+), 1 deletion(-) Index: llvm/test/Regression/Analysis/LoadVN/casts.ll diff -u llvm/test/Regression/Analysis/LoadVN/casts.ll:1.2 llvm/test/Regression/Analysis/LoadVN/casts.ll:1.3 --- llvm/test/Regression/Analysis/LoadVN/casts.ll:1.2 Fri Dec 29 14:01:32 2006 +++ llvm/test/Regression/Analysis/LoadVN/casts.ll Sun Dec 31 00:01:59 2006 @@ -1,7 +1,7 @@ ; Check to make sure that Value Numbering doesn't merge casts of different ; flavors. ; RUN: llvm-upgrade < %s | llvm-as | opt -load-vn -gcse | llvm-dis | \ -; RUN: grep '[sz]ext' | wc -l | grep 2 +; RUN: grep '[sz]ext' | wc -l | grep 2 declare void %external(int) From reid at x10sys.com Sun Dec 31 00:03:29 2006 From: reid at x10sys.com (Reid Spencer) Date: Sun, 31 Dec 2006 00:03:29 -0600 Subject: [llvm-commits] CVS: llvm/test/Regression/CodeGen/PowerPC/2006-01-20-ShiftPartsCrash.ll and-elim.ll branch-opt.ll rotl.ll small-arguments.ll vec_spat.ll Message-ID: <200612310603.kBV63TAu012910@zion.cs.uiuc.edu> Changes in directory llvm/test/Regression/CodeGen/PowerPC: 2006-01-20-ShiftPartsCrash.ll updated: 1.2 -> 1.3 and-elim.ll updated: 1.3 -> 1.4 branch-opt.ll updated: 1.3 -> 1.4 rotl.ll updated: 1.2 -> 1.3 small-arguments.ll updated: 1.5 -> 1.6 vec_spat.ll updated: 1.5 -> 1.6 --- Log message: For PR950: http://llvm.org/PR950 : Update the test suite to accommodate the change from signed integer types to signless integer types. The changes were of only a few kinds: 1. Make sure llvm-upgrade is run on the source which does the bulk of the changes automatically. 2. Change things like "grep 'int'" to "grep 'i32'" 3. In several tests bitcasting caused the same name to be reused in the same type plane. These had to be manually fixed. The fix was (generally) to leave the bitcast and provide the instruction with a new name. This should not affect the semantics of the test. In a few cases, the bitcasts were known to be superfluous and irrelevant to the test case so they were removed. 4. One test case uses a bytecode file which needed to be updated to the latest bytecode format. --- Diffs of the changes: (+33 -39) 2006-01-20-ShiftPartsCrash.ll | 14 +++++++------- and-elim.ll | 3 ++- branch-opt.ll | 17 ++++++++--------- rotl.ll | 20 ++++++++------------ small-arguments.ll | 10 ++++------ vec_spat.ll | 8 ++++---- 6 files changed, 33 insertions(+), 39 deletions(-) Index: llvm/test/Regression/CodeGen/PowerPC/2006-01-20-ShiftPartsCrash.ll diff -u llvm/test/Regression/CodeGen/PowerPC/2006-01-20-ShiftPartsCrash.ll:1.2 llvm/test/Regression/CodeGen/PowerPC/2006-01-20-ShiftPartsCrash.ll:1.3 --- llvm/test/Regression/CodeGen/PowerPC/2006-01-20-ShiftPartsCrash.ll:1.2 Fri Dec 1 22:23:08 2006 +++ llvm/test/Regression/CodeGen/PowerPC/2006-01-20-ShiftPartsCrash.ll Sun Dec 31 00:01:59 2006 @@ -1,16 +1,16 @@ ; RUN: llvm-upgrade < %s | llvm-as | llc void %iterative_hash_host_wide_int() { - %zero = alloca int ; [#uses=2] - %b = alloca uint ; [#uses=1] + %zero = alloca int ; [#uses=2] + %b = alloca uint ; [#uses=1] store int 0, int* %zero - %tmp = load int* %zero ; [#uses=1] + %tmp = load int* %zero ; [#uses=1] %tmp5 = cast int %tmp to uint ; [#uses=1] - %tmp6 = add uint %tmp5, 32 ; [#uses=1] - %tmp6 = cast uint %tmp6 to int ; [#uses=1] - %tmp7 = load long* null ; [#uses=1] + %tmp6.u = add uint %tmp5, 32 ; [#uses=1] + %tmp6 = cast uint %tmp6.u to int ; [#uses=1] + %tmp7 = load long* null ; [#uses=1] %tmp6 = cast int %tmp6 to ubyte ; [#uses=1] - %tmp8 = shr long %tmp7, ubyte %tmp6 ; [#uses=1] + %tmp8 = shr long %tmp7, ubyte %tmp6 ; [#uses=1] %tmp8 = cast long %tmp8 to uint ; [#uses=1] store uint %tmp8, uint* %b unreachable Index: llvm/test/Regression/CodeGen/PowerPC/and-elim.ll diff -u llvm/test/Regression/CodeGen/PowerPC/and-elim.ll:1.3 llvm/test/Regression/CodeGen/PowerPC/and-elim.ll:1.4 --- llvm/test/Regression/CodeGen/PowerPC/and-elim.ll:1.3 Fri Dec 1 22:23:08 2006 +++ llvm/test/Regression/CodeGen/PowerPC/and-elim.ll Sun Dec 31 00:01:59 2006 @@ -10,7 +10,8 @@ ret void } -ushort %test2(ushort %crc) { ; No and's should be needed for the ushorts here. +ushort @zext %test2(ushort @zext %crc) { + ; No and's should be needed for the ushorts here. %tmp.1 = shr ushort %crc, ubyte 1 %tmp.7 = xor ushort %tmp.1, 40961 ret ushort %tmp.7 Index: llvm/test/Regression/CodeGen/PowerPC/branch-opt.ll diff -u llvm/test/Regression/CodeGen/PowerPC/branch-opt.ll:1.3 llvm/test/Regression/CodeGen/PowerPC/branch-opt.ll:1.4 --- llvm/test/Regression/CodeGen/PowerPC/branch-opt.ll:1.3 Fri Dec 1 22:23:08 2006 +++ llvm/test/Regression/CodeGen/PowerPC/branch-opt.ll Sun Dec 31 00:01:59 2006 @@ -9,10 +9,10 @@ void %foo(int %W, int %X, int %Y, int %Z) { entry: - %X = cast int %X to uint ; [#uses=1] - %Y = cast int %Y to uint ; [#uses=1] - %Z = cast int %Z to uint ; [#uses=1] - %W = cast int %W to uint ; [#uses=1] + %X.u = cast int %X to uint ; [#uses=1] + %Y.u = cast int %Y to uint ; [#uses=1] + %Z.u = cast int %Z to uint ; [#uses=1] + %W.u = cast int %W to uint ; [#uses=1] %tmp1 = and int %W, 1 ; [#uses=1] %tmp1 = seteq int %tmp1, 0 ; [#uses=1] br bool %tmp1, label %cond_false, label %bb5 @@ -21,7 +21,7 @@ %indvar77 = phi uint [ %indvar.next78, %bb ], [ 0, %bb5 ] ; [#uses=1] %tmp2 = tail call int (...)* %bar( ) ; [#uses=0] %indvar.next78 = add uint %indvar77, 1 ; [#uses=2] - %exitcond79 = seteq uint %indvar.next78, %X ; [#uses=1] + %exitcond79 = seteq uint %indvar.next78, %X.u ; [#uses=1] br bool %exitcond79, label %cond_next48, label %bb bb5: ; preds = %entry @@ -37,7 +37,7 @@ %indvar72 = phi uint [ %indvar.next73, %bb12 ], [ 0, %bb16 ] ; [#uses=1] %tmp13 = tail call int (...)* %bar( ) ; [#uses=0] %indvar.next73 = add uint %indvar72, 1 ; [#uses=2] - %exitcond74 = seteq uint %indvar.next73, %Y ; [#uses=1] + %exitcond74 = seteq uint %indvar.next73, %Y.u ; [#uses=1] br bool %exitcond74, label %cond_next48, label %bb12 bb16: ; preds = %cond_false @@ -53,7 +53,7 @@ %indvar67 = phi uint [ %indvar.next68, %bb25 ], [ 0, %bb29 ] ; [#uses=1] %tmp26 = tail call int (...)* %bar( ) ; [#uses=0] %indvar.next68 = add uint %indvar67, 1 ; [#uses=2] - %exitcond69 = seteq uint %indvar.next68, %Z ; [#uses=1] + %exitcond69 = seteq uint %indvar.next68, %Z.u ; [#uses=1] br bool %exitcond69, label %cond_next48, label %bb25 bb29: ; preds = %cond_false20 @@ -72,9 +72,8 @@ bb42: ; preds = %cond_false33, %bb38 %indvar = phi uint [ %indvar.next, %bb38 ], [ 0, %cond_false33 ] ; [#uses=3] - %indvar = cast uint %indvar to int ; [#uses=1] %W_addr.0 = sub int %W, %indvar ; [#uses=1] - %exitcond = seteq uint %indvar, %W ; [#uses=1] + %exitcond = seteq uint %indvar, %W.u ; [#uses=1] br bool %exitcond, label %cond_next48, label %bb38 cond_next48: ; preds = %bb, %bb12, %bb25, %bb42, %cond_false33, %bb29, %bb16, %bb5 Index: llvm/test/Regression/CodeGen/PowerPC/rotl.ll diff -u llvm/test/Regression/CodeGen/PowerPC/rotl.ll:1.2 llvm/test/Regression/CodeGen/PowerPC/rotl.ll:1.3 --- llvm/test/Regression/CodeGen/PowerPC/rotl.ll:1.2 Fri Dec 1 22:23:08 2006 +++ llvm/test/Regression/CodeGen/PowerPC/rotl.ll Sun Dec 31 00:01:59 2006 @@ -7,12 +7,11 @@ int %rotlw(uint %x, int %sh) { entry: %tmp.3 = cast int %sh to ubyte ; [#uses=1] - %x = cast uint %x to int ; [#uses=1] + %x.s = cast uint %x to int ; [#uses=1] %tmp.7 = sub int 32, %sh ; [#uses=1] %tmp.9 = cast int %tmp.7 to ubyte ; [#uses=1] %tmp.10 = shr uint %x, ubyte %tmp.9 ; [#uses=1] - %tmp.4 = shl int %x, ubyte %tmp.3 ; [#uses=1] - %tmp.10 = cast uint %tmp.10 to int ; [#uses=1] + %tmp.4 = shl int %x.s, ubyte %tmp.3 ; [#uses=1] %tmp.12 = or int %tmp.10, %tmp.4 ; [#uses=1] ret int %tmp.12 } @@ -23,19 +22,17 @@ %tmp.4 = shr uint %x, ubyte %tmp.3 ; [#uses=1] %tmp.7 = sub int 32, %sh ; [#uses=1] %tmp.9 = cast int %tmp.7 to ubyte ; [#uses=1] - %x = cast uint %x to int ; [#uses=1] - %tmp.4 = cast uint %tmp.4 to int ; [#uses=1] - %tmp.10 = shl int %x, ubyte %tmp.9 ; [#uses=1] + %x.s = cast uint %x to int ; [#uses=1] + %tmp.10 = shl int %x.s, ubyte %tmp.9 ; [#uses=1] %tmp.12 = or int %tmp.4, %tmp.10 ; [#uses=1] ret int %tmp.12 } int %rotlwi(uint %x) { entry: - %x = cast uint %x to int ; [#uses=1] + %x.s = cast uint %x to int ; [#uses=1] %tmp.7 = shr uint %x, ubyte 27 ; [#uses=1] - %tmp.3 = shl int %x, ubyte 5 ; [#uses=1] - %tmp.7 = cast uint %tmp.7 to int ; [#uses=1] + %tmp.3 = shl int %x.s, ubyte 5 ; [#uses=1] %tmp.9 = or int %tmp.3, %tmp.7 ; [#uses=1] ret int %tmp.9 } @@ -43,9 +40,8 @@ int %rotrwi(uint %x) { entry: %tmp.3 = shr uint %x, ubyte 5 ; [#uses=1] - %x = cast uint %x to int ; [#uses=1] - %tmp.3 = cast uint %tmp.3 to int ; [#uses=1] - %tmp.7 = shl int %x, ubyte 27 ; [#uses=1] + %x.s = cast uint %x to int ; [#uses=1] + %tmp.7 = shl int %x.s, ubyte 27 ; [#uses=1] %tmp.9 = or int %tmp.3, %tmp.7 ; [#uses=1] ret int %tmp.9 } Index: llvm/test/Regression/CodeGen/PowerPC/small-arguments.ll diff -u llvm/test/Regression/CodeGen/PowerPC/small-arguments.ll:1.5 llvm/test/Regression/CodeGen/PowerPC/small-arguments.ll:1.6 --- llvm/test/Regression/CodeGen/PowerPC/small-arguments.ll:1.5 Fri Dec 1 22:23:08 2006 +++ llvm/test/Regression/CodeGen/PowerPC/small-arguments.ll Sun Dec 31 00:01:59 2006 @@ -1,15 +1,14 @@ - ; RUN: llvm-upgrade < %s | llvm-as | llc -march=ppc32 && ; RUN: llvm-upgrade < %s | llvm-as | llc -march=ppc32 | not grep 'extsh\|rlwinm' -declare short %foo() +declare short @sext %foo() -int %test1(short %X) { +int %test1(short @sext %X) { %Y = cast short %X to int ;; dead ret int %Y } -int %test2(ushort %X) { +int %test2(ushort @zext %X) { %Y = cast ushort %X to int %Z = and int %Y, 65535 ;; dead ret int %Z @@ -48,8 +47,7 @@ ret uint %tmp.2 } -ushort %test7(float %a) { +ushort @zext %test7(float %a) { %tmp.1 = cast float %a to ushort ret ushort %tmp.1 } - Index: llvm/test/Regression/CodeGen/PowerPC/vec_spat.ll diff -u llvm/test/Regression/CodeGen/PowerPC/vec_spat.ll:1.5 llvm/test/Regression/CodeGen/PowerPC/vec_spat.ll:1.6 --- llvm/test/Regression/CodeGen/PowerPC/vec_spat.ll:1.5 Fri Dec 1 22:23:08 2006 +++ llvm/test/Regression/CodeGen/PowerPC/vec_spat.ll Sun Dec 31 00:01:59 2006 @@ -62,10 +62,10 @@ void %spltish(<16 x ubyte>* %A, <16 x ubyte>* %B) { ; Gets converted to 16 x ubyte %tmp = load <16 x ubyte>* %B - %tmp = cast <16 x ubyte> %tmp to <16 x sbyte> - %tmp4 = sub <16 x sbyte> %tmp, cast (<8 x short> < short 15, short 15, short 15, short 15, short 15, short 15, short 15, short 15 > to <16 x sbyte>) - %tmp4 = cast <16 x sbyte> %tmp4 to <16 x ubyte> - store <16 x ubyte> %tmp4, <16 x ubyte>* %A + %tmp.s = cast <16 x ubyte> %tmp to <16 x sbyte> + %tmp4 = sub <16 x sbyte> %tmp.s, cast (<8 x short> < short 15, short 15, short 15, short 15, short 15, short 15, short 15, short 15 > to <16 x sbyte>) + %tmp4.u = cast <16 x sbyte> %tmp4 to <16 x ubyte> + store <16 x ubyte> %tmp4.u, <16 x ubyte>* %A ret void } From reid at x10sys.com Sun Dec 31 00:03:29 2006 From: reid at x10sys.com (Reid Spencer) Date: Sun, 31 Dec 2006 00:03:29 -0600 Subject: [llvm-commits] CVS: llvm/test/Regression/Transforms/ConstProp/2006-11-30-vector-cast.ll 2006-12-01-bool-casts.ll bitcast.ll float-to-ptr-cast.ll Message-ID: <200612310603.kBV63T9A012915@zion.cs.uiuc.edu> Changes in directory llvm/test/Regression/Transforms/ConstProp: 2006-11-30-vector-cast.ll updated: 1.3 -> 1.4 2006-12-01-bool-casts.ll updated: 1.2 -> 1.3 bitcast.ll updated: 1.1 -> 1.2 float-to-ptr-cast.ll updated: 1.2 -> 1.3 --- Log message: For PR950: http://llvm.org/PR950 : Update the test suite to accommodate the change from signed integer types to signless integer types. The changes were of only a few kinds: 1. Make sure llvm-upgrade is run on the source which does the bulk of the changes automatically. 2. Change things like "grep 'int'" to "grep 'i32'" 3. In several tests bitcasting caused the same name to be reused in the same type plane. These had to be manually fixed. The fix was (generally) to leave the bitcast and provide the instruction with a new name. This should not affect the semantics of the test. In a few cases, the bitcasts were known to be superfluous and irrelevant to the test case so they were removed. 4. One test case uses a bytecode file which needed to be updated to the latest bytecode format. --- Diffs of the changes: (+6 -6) 2006-11-30-vector-cast.ll | 2 +- 2006-12-01-bool-casts.ll | 4 ++-- bitcast.ll | 4 ++-- float-to-ptr-cast.ll | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) Index: llvm/test/Regression/Transforms/ConstProp/2006-11-30-vector-cast.ll diff -u llvm/test/Regression/Transforms/ConstProp/2006-11-30-vector-cast.ll:1.3 llvm/test/Regression/Transforms/ConstProp/2006-11-30-vector-cast.ll:1.4 --- llvm/test/Regression/Transforms/ConstProp/2006-11-30-vector-cast.ll:1.3 Tue Dec 19 16:42:17 2006 +++ llvm/test/Regression/Transforms/ConstProp/2006-11-30-vector-cast.ll Sun Dec 31 00:01:59 2006 @@ -1,4 +1,4 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -constprop | llvm-dis | grep 'uint -1' && +; RUN: llvm-upgrade < %s | llvm-as | opt -constprop | llvm-dis | grep 'i32 -1' && ; RUN: llvm-upgrade < %s | llvm-as | opt -constprop | llvm-dis | not grep zeroinitializer < 4 x uint> %test() { Index: llvm/test/Regression/Transforms/ConstProp/2006-12-01-bool-casts.ll diff -u llvm/test/Regression/Transforms/ConstProp/2006-12-01-bool-casts.ll:1.2 llvm/test/Regression/Transforms/ConstProp/2006-12-01-bool-casts.ll:1.3 --- llvm/test/Regression/Transforms/ConstProp/2006-12-01-bool-casts.ll:1.2 Fri Dec 1 22:23:09 2006 +++ llvm/test/Regression/Transforms/ConstProp/2006-12-01-bool-casts.ll Sun Dec 31 00:01:59 2006 @@ -1,5 +1,5 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -constprop | llvm-dis | grep 'ret int -1' && -; RUN: llvm-upgrade < %s | llvm-as | opt -constprop | llvm-dis | grep 'ret uint 1' +; RUN: llvm-upgrade < %s | llvm-as | opt -constprop | llvm-dis | grep 'ret i32 -1' && +; RUN: llvm-upgrade < %s | llvm-as | opt -constprop | llvm-dis | grep 'ret i32 1' int %test1() { %A = sext bool true to int Index: llvm/test/Regression/Transforms/ConstProp/bitcast.ll diff -u llvm/test/Regression/Transforms/ConstProp/bitcast.ll:1.1 llvm/test/Regression/Transforms/ConstProp/bitcast.ll:1.2 --- llvm/test/Regression/Transforms/ConstProp/bitcast.ll:1.1 Mon Dec 11 12:29:07 2006 +++ llvm/test/Regression/Transforms/ConstProp/bitcast.ll Sun Dec 31 00:01:59 2006 @@ -1,4 +1,4 @@ -; RUN: llvm-as < %s | llvm-dis && -; RUN: llvm-as < %s | llvm-dis | grep 0x36A0000000000000 +; RUN: llvm-upgrade < %s | llvm-as | llvm-dis && +; RUN: llvm-upgrade < %s | llvm-as | llvm-dis | grep 0x36A0000000000000 %A = global float bitcast (int 1 to float) Index: llvm/test/Regression/Transforms/ConstProp/float-to-ptr-cast.ll diff -u llvm/test/Regression/Transforms/ConstProp/float-to-ptr-cast.ll:1.2 llvm/test/Regression/Transforms/ConstProp/float-to-ptr-cast.ll:1.3 --- llvm/test/Regression/Transforms/ConstProp/float-to-ptr-cast.ll:1.2 Fri Dec 1 22:23:09 2006 +++ llvm/test/Regression/Transforms/ConstProp/float-to-ptr-cast.ll Sun Dec 31 00:01:59 2006 @@ -1,4 +1,4 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -constprop | llvm-dis | grep -F 'ret int* null' | wc -l | grep 2 +; RUN: llvm-upgrade < %s | llvm-as | opt -constprop | llvm-dis | grep -F 'ret i32* null' | wc -l | grep 2 int* %test1() { %X = cast float 0.0 to int* ret int* %X From reid at x10sys.com Sun Dec 31 00:03:29 2006 From: reid at x10sys.com (Reid Spencer) Date: Sun, 31 Dec 2006 00:03:29 -0600 Subject: [llvm-commits] CVS: llvm/test/Regression/Transforms/LoopUnswitch/2006-02-14-LoopSimplifyCrash.ll Message-ID: <200612310603.kBV63Tuc012873@zion.cs.uiuc.edu> Changes in directory llvm/test/Regression/Transforms/LoopUnswitch: 2006-02-14-LoopSimplifyCrash.ll updated: 1.2 -> 1.3 --- Log message: For PR950: http://llvm.org/PR950 : Update the test suite to accommodate the change from signed integer types to signless integer types. The changes were of only a few kinds: 1. Make sure llvm-upgrade is run on the source which does the bulk of the changes automatically. 2. Change things like "grep 'int'" to "grep 'i32'" 3. In several tests bitcasting caused the same name to be reused in the same type plane. These had to be manually fixed. The fix was (generally) to leave the bitcast and provide the instruction with a new name. This should not affect the semantics of the test. In a few cases, the bitcasts were known to be superfluous and irrelevant to the test case so they were removed. 4. One test case uses a bytecode file which needed to be updated to the latest bytecode format. --- Diffs of the changes: (+3 -3) 2006-02-14-LoopSimplifyCrash.ll | 6 +++--- 1 files changed, 3 insertions(+), 3 deletions(-) Index: llvm/test/Regression/Transforms/LoopUnswitch/2006-02-14-LoopSimplifyCrash.ll diff -u llvm/test/Regression/Transforms/LoopUnswitch/2006-02-14-LoopSimplifyCrash.ll:1.2 llvm/test/Regression/Transforms/LoopUnswitch/2006-02-14-LoopSimplifyCrash.ll:1.3 --- llvm/test/Regression/Transforms/LoopUnswitch/2006-02-14-LoopSimplifyCrash.ll:1.2 Fri Dec 1 22:23:10 2006 +++ llvm/test/Regression/Transforms/LoopUnswitch/2006-02-14-LoopSimplifyCrash.ll Sun Dec 31 00:01:59 2006 @@ -1421,8 +1421,8 @@ no_exit.53: ; preds = %else.166, %else.168, %then.360, %no_exit.53.outer %file.2.3.3.ph = phi int [ 0, %no_exit.53.outer ], [ %inc.551688, %then.360 ], [ %inc.551701, %else.168 ], [ %file.2.3.3.ph, %else.166 ] ; [#uses=2] %nempty.5.3.ph = phi int [ 0, %no_exit.53.outer ], [ %nempty.5.3, %then.360 ], [ %nempty.5.3, %else.168 ], [ %nempty.5.3.ph, %else.166 ] ; [#uses=2] - %indvar2053 = phi uint [ 0, %no_exit.53.outer ], [ 0, %then.360 ], [ 0, %else.168 ], [ %indvar.next2054, %else.166 ] ; [#uses=2] - %indvar2053 = cast uint %indvar2053 to int ; [#uses=2] + %indvar2053.ui = phi uint [ 0, %no_exit.53.outer ], [ 0, %then.360 ], [ 0, %else.168 ], [ %indvar.next2054, %else.166 ] ; [#uses=2] + %indvar2053 = cast uint %indvar2053.ui to int ; [#uses=2] %file.2.3.3 = add int %indvar2053, %file.2.3.3.ph ; [#uses=4] %nempty.5.3 = add int %indvar2053, %nempty.5.3.ph ; [#uses=3] %tmp.4749 = add int %file.2.3.3, %tmp.4747 ; [#uses=1] @@ -1472,7 +1472,7 @@ else.166: ; preds = %no_exit.53 %inc.55 = add int %file.2.3.3, 1 ; [#uses=1] %tmp.47421705 = setlt int %inc.55, 8 ; [#uses=1] - %indvar.next2054 = add uint %indvar2053, 1 ; [#uses=1] + %indvar.next2054 = add uint %indvar2053.ui, 1 ; [#uses=1] br bool %tmp.47421705, label %no_exit.53, label %loopexit.56 loopexit.56: ; preds = %else.166, %else.168, %then.360 From reid at x10sys.com Sun Dec 31 00:03:32 2006 From: reid at x10sys.com (Reid Spencer) Date: Sun, 31 Dec 2006 00:03:32 -0600 Subject: [llvm-commits] CVS: llvm/tools/llvm2cpp/CppWriter.cpp Message-ID: <200612310603.kBV63WfK012983@zion.cs.uiuc.edu> Changes in directory llvm/tools/llvm2cpp: CppWriter.cpp updated: 1.26 -> 1.27 --- Log message: For PR950: http://llvm.org/PR950 : Convert signed integer types to signless. --- Diffs of the changes: (+14 -22) CppWriter.cpp | 36 ++++++++++++++---------------------- 1 files changed, 14 insertions(+), 22 deletions(-) Index: llvm/tools/llvm2cpp/CppWriter.cpp diff -u llvm/tools/llvm2cpp/CppWriter.cpp:1.26 llvm/tools/llvm2cpp/CppWriter.cpp:1.27 --- llvm/tools/llvm2cpp/CppWriter.cpp:1.26 Sat Dec 23 00:05:41 2006 +++ llvm/tools/llvm2cpp/CppWriter.cpp Sun Dec 31 00:02:26 2006 @@ -166,14 +166,10 @@ switch (Ty->getTypeID()) { case Type::VoidTyID: prefix = "void_"; break; case Type::BoolTyID: prefix = "bool_"; break; - case Type::UByteTyID: prefix = "ubyte_"; break; - case Type::SByteTyID: prefix = "sbyte_"; break; - case Type::UShortTyID: prefix = "ushort_"; break; - case Type::ShortTyID: prefix = "short_"; break; - case Type::UIntTyID: prefix = "uint_"; break; - case Type::IntTyID: prefix = "int_"; break; - case Type::ULongTyID: prefix = "ulong_"; break; - case Type::LongTyID: prefix = "long_"; break; + case Type::Int8TyID: prefix = "int8_"; break; + case Type::Int16TyID: prefix = "int16_"; break; + case Type::Int32TyID: prefix = "int32_"; break; + case Type::Int64TyID: prefix = "int64_"; break; case Type::FloatTyID: prefix = "float_"; break; case Type::DoubleTyID: prefix = "double_"; break; case Type::LabelTyID: prefix = "label_"; break; @@ -318,19 +314,15 @@ // First, handle the primitive types .. easy if (Ty->isPrimitiveType()) { switch (Ty->getTypeID()) { - case Type::VoidTyID: return "Type::VoidTy"; - case Type::BoolTyID: return "Type::BoolTy"; - case Type::UByteTyID: return "Type::UByteTy"; - case Type::SByteTyID: return "Type::SByteTy"; - case Type::UShortTyID: return "Type::UShortTy"; - case Type::ShortTyID: return "Type::ShortTy"; - case Type::UIntTyID: return "Type::UIntTy"; - case Type::IntTyID: return "Type::IntTy"; - case Type::ULongTyID: return "Type::ULongTy"; - case Type::LongTyID: return "Type::LongTy"; - case Type::FloatTyID: return "Type::FloatTy"; - case Type::DoubleTyID: return "Type::DoubleTy"; - case Type::LabelTyID: return "Type::LabelTy"; + case Type::VoidTyID: return "Type::VoidTy"; + case Type::BoolTyID: return "Type::BoolTy"; + case Type::Int8TyID: return "Type::Int8Ty"; + case Type::Int16TyID: return "Type::Int16Ty"; + case Type::Int32TyID: return "Type::Int32Ty"; + case Type::Int64TyID: return "Type::Int64Ty"; + case Type::FloatTyID: return "Type::FloatTy"; + case Type::DoubleTyID: return "Type::DoubleTy"; + case Type::LabelTyID: return "Type::LabelTy"; default: error("Invalid primitive type"); break; @@ -692,7 +684,7 @@ printCFP(CFP); Out << ";"; } else if (const ConstantArray *CA = dyn_cast(CV)) { - if (CA->isString() && CA->getType()->getElementType() == Type::SByteTy) { + if (CA->isString() && CA->getType()->getElementType() == Type::Int8Ty) { Out << "Constant* " << constName << " = ConstantArray::get(\""; printEscapedString(CA->getAsString()); // Determine if we want null termination or not. From reid at x10sys.com Sun Dec 31 00:03:28 2006 From: reid at x10sys.com (Reid Spencer) Date: Sun, 31 Dec 2006 00:03:28 -0600 Subject: [llvm-commits] CVS: llvm/test/Regression/Transforms/ScalarRepl/2006-11-07-InvalidArrayPromote.ll union-fp-int.ll union-pointer.ll Message-ID: <200612310603.kBV63SAG012833@zion.cs.uiuc.edu> Changes in directory llvm/test/Regression/Transforms/ScalarRepl: 2006-11-07-InvalidArrayPromote.ll updated: 1.2 -> 1.3 union-fp-int.ll updated: 1.3 -> 1.4 union-pointer.ll updated: 1.3 -> 1.4 --- Log message: For PR950: http://llvm.org/PR950 : Update the test suite to accommodate the change from signed integer types to signless integer types. The changes were of only a few kinds: 1. Make sure llvm-upgrade is run on the source which does the bulk of the changes automatically. 2. Change things like "grep 'int'" to "grep 'i32'" 3. In several tests bitcasting caused the same name to be reused in the same type plane. These had to be manually fixed. The fix was (generally) to leave the bitcast and provide the instruction with a new name. This should not affect the semantics of the test. In a few cases, the bitcasts were known to be superfluous and irrelevant to the test case so they were removed. 4. One test case uses a bytecode file which needed to be updated to the latest bytecode format. --- Diffs of the changes: (+3 -3) 2006-11-07-InvalidArrayPromote.ll | 2 +- union-fp-int.ll | 2 +- union-pointer.ll | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) Index: llvm/test/Regression/Transforms/ScalarRepl/2006-11-07-InvalidArrayPromote.ll diff -u llvm/test/Regression/Transforms/ScalarRepl/2006-11-07-InvalidArrayPromote.ll:1.2 llvm/test/Regression/Transforms/ScalarRepl/2006-11-07-InvalidArrayPromote.ll:1.3 --- llvm/test/Regression/Transforms/ScalarRepl/2006-11-07-InvalidArrayPromote.ll:1.2 Fri Dec 1 22:23:10 2006 +++ llvm/test/Regression/Transforms/ScalarRepl/2006-11-07-InvalidArrayPromote.ll Sun Dec 31 00:02:00 2006 @@ -1,5 +1,5 @@ ; RUN: llvm-upgrade < %s | llvm-as | opt -scalarrepl | llvm-dis && -; RUN: llvm-upgrade < %s | llvm-as | opt -scalarrepl | llvm-dis | grep -F 'alloca [2 x <4 x int>]' +; RUN: llvm-upgrade < %s | llvm-as | opt -scalarrepl | llvm-dis | grep -F 'alloca [2 x <4 x i32>]' int %func(<4 x float> %v0, <4 x float> %v1) { %vsiidx = alloca [2 x <4 x int>], align 16 ; <[2 x <4 x int>]*> [#uses=3] Index: llvm/test/Regression/Transforms/ScalarRepl/union-fp-int.ll diff -u llvm/test/Regression/Transforms/ScalarRepl/union-fp-int.ll:1.3 llvm/test/Regression/Transforms/ScalarRepl/union-fp-int.ll:1.4 --- llvm/test/Regression/Transforms/ScalarRepl/union-fp-int.ll:1.3 Fri Dec 15 01:32:49 2006 +++ llvm/test/Regression/Transforms/ScalarRepl/union-fp-int.ll Sun Dec 31 00:02:00 2006 @@ -1,5 +1,5 @@ ; RUN: llvm-upgrade < %s | llvm-as | opt -scalarrepl | llvm-dis | not grep alloca && -; RUN: llvm-upgrade < %s | llvm-as | opt -scalarrepl | llvm-dis | grep 'bitcast.*float.*int' +; RUN: llvm-upgrade < %s | llvm-as | opt -scalarrepl | llvm-dis | grep 'bitcast.*float.*i32' int %test(float %X) { %X_addr = alloca float Index: llvm/test/Regression/Transforms/ScalarRepl/union-pointer.ll diff -u llvm/test/Regression/Transforms/ScalarRepl/union-pointer.ll:1.3 llvm/test/Regression/Transforms/ScalarRepl/union-pointer.ll:1.4 --- llvm/test/Regression/Transforms/ScalarRepl/union-pointer.ll:1.3 Fri Dec 1 22:23:10 2006 +++ llvm/test/Regression/Transforms/ScalarRepl/union-pointer.ll Sun Dec 31 00:02:00 2006 @@ -1,5 +1,5 @@ ; RUN: llvm-upgrade < %s | llvm-as | opt -scalarrepl | llvm-dis | not grep alloca && -; RUN: llvm-upgrade < %s | llvm-as | opt -scalarrepl | llvm-dis | grep 'ret sbyte' +; RUN: llvm-upgrade < %s | llvm-as | opt -scalarrepl | llvm-dis | grep 'ret i8' ; PR892 From reid at x10sys.com Sun Dec 31 00:03:29 2006 From: reid at x10sys.com (Reid Spencer) Date: Sun, 31 Dec 2006 00:03:29 -0600 Subject: [llvm-commits] CVS: llvm/test/Regression/Transforms/DeadStoreElimination/2004-12-28-PartialStore.ll 2006-06-27-AST-Remove.ll Message-ID: <200612310603.kBV63TB3012880@zion.cs.uiuc.edu> Changes in directory llvm/test/Regression/Transforms/DeadStoreElimination: 2004-12-28-PartialStore.ll updated: 1.3 -> 1.4 2006-06-27-AST-Remove.ll updated: 1.2 -> 1.3 --- Log message: For PR950: http://llvm.org/PR950 : Update the test suite to accommodate the change from signed integer types to signless integer types. The changes were of only a few kinds: 1. Make sure llvm-upgrade is run on the source which does the bulk of the changes automatically. 2. Change things like "grep 'int'" to "grep 'i32'" 3. In several tests bitcasting caused the same name to be reused in the same type plane. These had to be manually fixed. The fix was (generally) to leave the bitcast and provide the instruction with a new name. This should not affect the semantics of the test. In a few cases, the bitcasts were known to be superfluous and irrelevant to the test case so they were removed. 4. One test case uses a bytecode file which needed to be updated to the latest bytecode format. --- Diffs of the changes: (+13 -13) 2004-12-28-PartialStore.ll | 2 +- 2006-06-27-AST-Remove.ll | 24 ++++++++++++------------ 2 files changed, 13 insertions(+), 13 deletions(-) Index: llvm/test/Regression/Transforms/DeadStoreElimination/2004-12-28-PartialStore.ll diff -u llvm/test/Regression/Transforms/DeadStoreElimination/2004-12-28-PartialStore.ll:1.3 llvm/test/Regression/Transforms/DeadStoreElimination/2004-12-28-PartialStore.ll:1.4 --- llvm/test/Regression/Transforms/DeadStoreElimination/2004-12-28-PartialStore.ll:1.3 Fri Dec 1 22:23:09 2006 +++ llvm/test/Regression/Transforms/DeadStoreElimination/2004-12-28-PartialStore.ll Sun Dec 31 00:01:59 2006 @@ -1,4 +1,4 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -dse | llvm-dis | grep 'store int 1234567' +; RUN: llvm-upgrade < %s | llvm-as | opt -dse | llvm-dis | grep 'store i32 1234567' ; Do not delete stores that are only partially killed. Index: llvm/test/Regression/Transforms/DeadStoreElimination/2006-06-27-AST-Remove.ll diff -u llvm/test/Regression/Transforms/DeadStoreElimination/2006-06-27-AST-Remove.ll:1.2 llvm/test/Regression/Transforms/DeadStoreElimination/2006-06-27-AST-Remove.ll:1.3 --- llvm/test/Regression/Transforms/DeadStoreElimination/2006-06-27-AST-Remove.ll:1.2 Fri Dec 1 22:23:09 2006 +++ llvm/test/Regression/Transforms/DeadStoreElimination/2006-06-27-AST-Remove.ll Sun Dec 31 00:01:59 2006 @@ -755,22 +755,22 @@ %tmp.i = load %struct.TType** %DP_TTable ; <%struct.TType*> [#uses=1] %tmp.i7.b = load bool* %TTSize.b ; [#uses=1] %tmp1.i = select bool %tmp.i7.b, uint 60000000, uint 0 ; [#uses=1] - %tmp.i = getelementptr %struct.TType* %tmp.i, int 0, uint 0 ; [#uses=1] - call void %llvm.memset.i32( sbyte* %tmp.i, ubyte 0, uint %tmp1.i, uint 4 ) + %tmp.i.sb = getelementptr %struct.TType* %tmp.i, int 0, uint 0 ; [#uses=1] + call void %llvm.memset.i32( sbyte* %tmp.i.sb, ubyte 0, uint %tmp1.i, uint 4 ) %tmp2.i = load %struct.TType** %AS_TTable ; <%struct.TType*> [#uses=1] %tmp3.i8.b = load bool* %TTSize.b ; [#uses=1] %tmp4.i = select bool %tmp3.i8.b, uint 60000000, uint 0 ; [#uses=1] %tmp2.i = getelementptr %struct.TType* %tmp2.i, int 0, uint 0 ; [#uses=1] call void %llvm.memset.i32( sbyte* %tmp2.i, ubyte 0, uint %tmp4.i, uint 4 ) - %tmp.i = load %struct.QTType** %QS_TTable ; <%struct.QTType*> [#uses=1] + %tmp.i.QTT = load %struct.QTType** %QS_TTable ; <%struct.QTType*> [#uses=1] %tmp5.i9.b = load bool* %TTSize.b ; [#uses=1] %tmp6.i10 = select bool %tmp5.i9.b, uint 48000000, uint 0 ; [#uses=1] - %tmp7.i = getelementptr %struct.QTType* %tmp.i, int 0, uint 0 ; [#uses=1] + %tmp7.i = getelementptr %struct.QTType* %tmp.i.QTT, int 0, uint 0 ; [#uses=1] call void %llvm.memset.i32( sbyte* %tmp7.i, ubyte 0, uint %tmp6.i10, uint 4 ) - %tmp.i = load %struct.ECacheType** %ECache ; <%struct.ECacheType*> [#uses=1] + %tmp.i.ECache = load %struct.ECacheType** %ECache ; <%struct.ECacheType*> [#uses=1] %tmp.i14.b = load bool* %ECacheSize.b ; [#uses=1] %tmp1.i16 = select bool %tmp.i14.b, uint 12000000, uint 0 ; [#uses=1] - %tmp.i17 = cast %struct.ECacheType* %tmp.i to sbyte* ; [#uses=1] + %tmp.i17 = cast %struct.ECacheType* %tmp.i.ECache to sbyte* ; [#uses=1] call void %llvm.memset.i32( sbyte* %tmp.i17, ubyte 0, uint %tmp1.i16, uint 4 ) call void %llvm.memset.i32( sbyte* cast ([300 x int]* %rootlosers to sbyte*), ubyte 0, uint 1200, uint 4 ) %tmp234.b = load bool* %is_pondering.b ; [#uses=1] @@ -800,12 +800,12 @@ %tmp1.b.i = load bool* %PBSize.b ; [#uses=1] %tmp1.i1 = select bool %tmp1.b.i, uint 200000, uint 0 ; [#uses=1] %tmp.i2 = call sbyte* %calloc( uint %tmp1.i1, uint 44 ) ; [#uses=1] - %tmp.i = cast sbyte* %tmp.i2 to ubyte* ; [#uses=1] - store ubyte* %tmp.i, ubyte** %membuff + %tmp.i.ub = cast sbyte* %tmp.i2 to ubyte* ; [#uses=1] + store ubyte* %tmp.i.ub, ubyte** %membuff %tmp2.i3 = call sbyte* %calloc( uint 1, uint 44 ) ; [#uses=3] %tmp2.i = cast sbyte* %tmp2.i3 to %struct.node_t* ; <%struct.node_t*> [#uses=6] - %tmp.i = getelementptr [512 x %struct.move_s]* null, int 0, int 0 ; <%struct.move_s*> [#uses=3] - call fastcc void %gen( %struct.move_s* %tmp.i ) + %tmp.i.move_s = getelementptr [512 x %struct.move_s]* null, int 0, int 0 ; <%struct.move_s*> [#uses=3] + call fastcc void %gen( %struct.move_s* %tmp.i.move_s ) %tmp3.i4 = load int* %numb_moves ; [#uses=4] %tmp3.i5 = cast int %tmp3.i4 to uint ; [#uses=0] store bool false, bool* %alllosers.b @@ -850,8 +850,8 @@ cond_true43.i: ; preds = %cond_false12.i.i, %cond_true4.i.i %tmp21.0.ph.i = phi int [ %tmp217.i, %cond_true4.i.i ], [ %tmp2120.i, %cond_false12.i.i ] ; [#uses=1] %i.0.0.i = cast uint 0 to int ; [#uses=2] - call fastcc void %make( %struct.move_s* %tmp.i, int %i.0.0.i ) - %tmp27.i = call fastcc uint %check_legal( %struct.move_s* %tmp.i, int %i.0.0.i, int %tmp21.0.ph.i ) ; [#uses=1] + call fastcc void %make( %struct.move_s* %tmp.i.move_s, int %i.0.0.i ) + %tmp27.i = call fastcc uint %check_legal( %struct.move_s* %tmp.i.move_s, int %i.0.0.i, int %tmp21.0.ph.i ) ; [#uses=1] %tmp.i6 = seteq uint %tmp27.i, 0 ; [#uses=0] ret void From reid at x10sys.com Sun Dec 31 00:03:33 2006 From: reid at x10sys.com (Reid Spencer) Date: Sun, 31 Dec 2006 00:03:33 -0600 Subject: [llvm-commits] CVS: llvm/tools/lli/lli.cpp Message-ID: <200612310603.kBV63XqU013011@zion.cs.uiuc.edu> Changes in directory llvm/tools/lli: lli.cpp updated: 1.62 -> 1.63 --- Log message: For PR950: http://llvm.org/PR950 : Convert signed integer types to signless. --- Diffs of the changes: (+2 -2) lli.cpp | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) Index: llvm/tools/lli/lli.cpp diff -u llvm/tools/lli/lli.cpp:1.62 llvm/tools/lli/lli.cpp:1.63 --- llvm/tools/lli/lli.cpp:1.62 Sun Dec 10 13:01:52 2006 +++ llvm/tools/lli/lli.cpp Sun Dec 31 00:02:26 2006 @@ -121,12 +121,12 @@ // If the program didn't explicitly call exit, call exit now, for the // program. This ensures that any atexit handlers get called correctly. Function *Exit = MP->getModule()->getOrInsertFunction("exit", Type::VoidTy, - Type::IntTy, + Type::Int32Ty, (Type *)0); std::vector Args; GenericValue ResultGV; - ResultGV.IntVal = Result; + ResultGV.Int32Val = Result; Args.push_back(ResultGV); EE->runFunction(Exit, Args); From reid at x10sys.com Sun Dec 31 00:03:31 2006 From: reid at x10sys.com (Reid Spencer) Date: Sun, 31 Dec 2006 00:03:31 -0600 Subject: [llvm-commits] CVS: llvm/test/Regression/Linker/2002-07-17-GlobalFail.ll 2002-07-17-LinkTest2.ll 2002-08-20-ConstantExpr.ll 2003-04-26-NullPtrLinkProblem.ll 2003-05-15-TypeProblem.ll 2003-06-02-TypeResolveProblem.ll 2003-06-02-TypeResolveProblem2.ll 2003-08-20-OpaqueTypeResolve.ll 2003-08-23-GlobalVarLinking.ll 2003-08-23-RecursiveOpaqueTypeResolve.ll 2003-10-21-ConflictingTypesTolerance.ll 2003-10-27-LinkOncePromote.ll 2004-02-17-WeakStrongLinkage.ll 2005-02-12-ConstantGlobals-2.ll 2005-02-12-ConstantGlobals.ll 2005-12-06-AppendingZeroLengthArrays.ll 2006-01-19-ConstantPacked.ll 2006-06-15-GlobalVarAlignment.ll AppendingLinkage2.ll ConstantGlobals1.ll ConstantGlobals2.ll ConstantGlobals3.ll LinkOnce.ll weakextern.ll Message-ID: <200612310603.kBV63Vx1012970@zion.cs.uiuc.edu> Changes in directory llvm/test/Regression/Linker: 2002-07-17-GlobalFail.ll updated: 1.3 -> 1.4 2002-07-17-LinkTest2.ll updated: 1.4 -> 1.5 2002-08-20-ConstantExpr.ll updated: 1.4 -> 1.5 2003-04-26-NullPtrLinkProblem.ll updated: 1.4 -> 1.5 2003-05-15-TypeProblem.ll updated: 1.3 -> 1.4 2003-06-02-TypeResolveProblem.ll updated: 1.3 -> 1.4 2003-06-02-TypeResolveProblem2.ll updated: 1.3 -> 1.4 2003-08-20-OpaqueTypeResolve.ll updated: 1.3 -> 1.4 2003-08-23-GlobalVarLinking.ll updated: 1.4 -> 1.5 2003-08-23-RecursiveOpaqueTypeResolve.ll updated: 1.4 -> 1.5 2003-10-21-ConflictingTypesTolerance.ll updated: 1.1 -> 1.2 2003-10-27-LinkOncePromote.ll updated: 1.2 -> 1.3 2004-02-17-WeakStrongLinkage.ll updated: 1.1 -> 1.2 2005-02-12-ConstantGlobals-2.ll updated: 1.1 -> 1.2 2005-02-12-ConstantGlobals.ll updated: 1.2 -> 1.3 2005-12-06-AppendingZeroLengthArrays.ll updated: 1.1 -> 1.2 2006-01-19-ConstantPacked.ll updated: 1.1 -> 1.2 2006-06-15-GlobalVarAlignment.ll updated: 1.1 -> 1.2 AppendingLinkage2.ll updated: 1.3 -> 1.4 ConstantGlobals1.ll updated: 1.2 -> 1.3 ConstantGlobals2.ll updated: 1.2 -> 1.3 ConstantGlobals3.ll updated: 1.2 -> 1.3 LinkOnce.ll updated: 1.3 -> 1.4 weakextern.ll updated: 1.2 -> 1.3 --- Log message: For PR950: http://llvm.org/PR950 : Update the test suite to accommodate the change from signed integer types to signless integer types. The changes were of only a few kinds: 1. Make sure llvm-upgrade is run on the source which does the bulk of the changes automatically. 2. Change things like "grep 'int'" to "grep 'i32'" 3. In several tests bitcasting caused the same name to be reused in the same type plane. These had to be manually fixed. The fix was (generally) to leave the bitcast and provide the instruction with a new name. This should not affect the semantics of the test. In a few cases, the bitcasts were known to be superfluous and irrelevant to the test case so they were removed. 4. One test case uses a bytecode file which needed to be updated to the latest bytecode format. --- Diffs of the changes: (+47 -47) 2002-07-17-GlobalFail.ll | 2 +- 2002-07-17-LinkTest2.ll | 2 +- 2002-08-20-ConstantExpr.ll | 2 +- 2003-04-26-NullPtrLinkProblem.ll | 2 +- 2003-05-15-TypeProblem.ll | 4 ++-- 2003-06-02-TypeResolveProblem.ll | 4 ++-- 2003-06-02-TypeResolveProblem2.ll | 4 ++-- 2003-08-20-OpaqueTypeResolve.ll | 4 ++-- 2003-08-23-GlobalVarLinking.ll | 4 ++-- 2003-08-23-RecursiveOpaqueTypeResolve.ll | 4 ++-- 2003-10-21-ConflictingTypesTolerance.ll | 4 ++-- 2003-10-27-LinkOncePromote.ll | 4 ++-- 2004-02-17-WeakStrongLinkage.ll | 4 ++-- 2005-02-12-ConstantGlobals-2.ll | 6 +++--- 2005-02-12-ConstantGlobals.ll | 6 +++--- 2005-12-06-AppendingZeroLengthArrays.ll | 4 ++-- 2006-01-19-ConstantPacked.ll | 2 +- 2006-06-15-GlobalVarAlignment.ll | 4 ++-- AppendingLinkage2.ll | 4 ++-- ConstantGlobals1.ll | 4 ++-- ConstantGlobals2.ll | 4 ++-- ConstantGlobals3.ll | 2 +- LinkOnce.ll | 4 ++-- weakextern.ll | 10 +++++----- 24 files changed, 47 insertions(+), 47 deletions(-) Index: llvm/test/Regression/Linker/2002-07-17-GlobalFail.ll diff -u llvm/test/Regression/Linker/2002-07-17-GlobalFail.ll:1.3 llvm/test/Regression/Linker/2002-07-17-GlobalFail.ll:1.4 --- llvm/test/Regression/Linker/2002-07-17-GlobalFail.ll:1.3 Mon Sep 15 15:04:28 2003 +++ llvm/test/Regression/Linker/2002-07-17-GlobalFail.ll Sun Dec 31 00:01:59 2006 @@ -1,4 +1,4 @@ -; RUN: llvm-as < %s > %t.bc +; RUN: llvm-upgrade < %s | llvm-as > %t.bc ; RUN: echo | llvm-as > %t.tmp.bc ; RUN: llvm-link %t.tmp.bc %t.bc Index: llvm/test/Regression/Linker/2002-07-17-LinkTest2.ll diff -u llvm/test/Regression/Linker/2002-07-17-LinkTest2.ll:1.4 llvm/test/Regression/Linker/2002-07-17-LinkTest2.ll:1.5 --- llvm/test/Regression/Linker/2002-07-17-LinkTest2.ll:1.4 Mon Sep 15 15:04:28 2003 +++ llvm/test/Regression/Linker/2002-07-17-LinkTest2.ll Sun Dec 31 00:01:59 2006 @@ -1,7 +1,7 @@ ; This fails linking when it is linked with an empty file as the first object file ; RUN: llvm-as > %t1.bc < /dev/null -; RUN: llvm-as < %s > %t2.bc +; RUN: llvm-upgrade < %s | llvm-as > %t2.bc ; RUN: llvm-link %t[12].bc %work = global int (int, int)* %zip Index: llvm/test/Regression/Linker/2002-08-20-ConstantExpr.ll diff -u llvm/test/Regression/Linker/2002-08-20-ConstantExpr.ll:1.4 llvm/test/Regression/Linker/2002-08-20-ConstantExpr.ll:1.5 --- llvm/test/Regression/Linker/2002-08-20-ConstantExpr.ll:1.4 Mon Sep 15 15:04:28 2003 +++ llvm/test/Regression/Linker/2002-08-20-ConstantExpr.ll Sun Dec 31 00:01:59 2006 @@ -1,7 +1,7 @@ ; This fails linking when it is linked with an empty file as the first object file ; RUN: llvm-as > %t.LinkTest.bc < /dev/null -; RUN: llvm-as < %s > %t.bc +; RUN: llvm-upgrade < %s | llvm-as > %t.bc ; RUN: llvm-link %t.LinkTest.bc %t.bc %work = global int 4 Index: llvm/test/Regression/Linker/2003-04-26-NullPtrLinkProblem.ll diff -u llvm/test/Regression/Linker/2003-04-26-NullPtrLinkProblem.ll:1.4 llvm/test/Regression/Linker/2003-04-26-NullPtrLinkProblem.ll:1.5 --- llvm/test/Regression/Linker/2003-04-26-NullPtrLinkProblem.ll:1.4 Mon Dec 18 20:10:04 2006 +++ llvm/test/Regression/Linker/2003-04-26-NullPtrLinkProblem.ll Sun Dec 31 00:01:59 2006 @@ -1,7 +1,7 @@ ; This one fails because the LLVM runtime is allowing two null pointers of ; the same type to be created! -; RUN: echo "%T = type int" | llvm-as > %t.2.bc +; RUN: echo "%T = type int" | llvm-upgrade | llvm-as > %t.2.bc ; RUN: llvm-upgrade < %s | llvm-as -f > %t.1.bc ; RUN: llvm-link %t.[12].bc Index: llvm/test/Regression/Linker/2003-05-15-TypeProblem.ll diff -u llvm/test/Regression/Linker/2003-05-15-TypeProblem.ll:1.3 llvm/test/Regression/Linker/2003-05-15-TypeProblem.ll:1.4 --- llvm/test/Regression/Linker/2003-05-15-TypeProblem.ll:1.3 Mon Sep 15 15:04:28 2003 +++ llvm/test/Regression/Linker/2003-05-15-TypeProblem.ll Sun Dec 31 00:01:59 2006 @@ -1,8 +1,8 @@ ; This one fails because the LLVM runtime is allowing two null pointers of ; the same type to be created! -; RUN: echo "%S = type { %T*} %T = type opaque" | llvm-as > %t.2.bc -; RUN: llvm-as < %s > %t.1.bc +; RUN: echo "%S = type { %T*} %T = type opaque" | llvm-upgrade | llvm-as > %t.2.bc +; RUN: llvm-upgrade < %s | llvm-as > %t.1.bc ; RUN: llvm-link %t.[12].bc %S = type { %T* } Index: llvm/test/Regression/Linker/2003-06-02-TypeResolveProblem.ll diff -u llvm/test/Regression/Linker/2003-06-02-TypeResolveProblem.ll:1.3 llvm/test/Regression/Linker/2003-06-02-TypeResolveProblem.ll:1.4 --- llvm/test/Regression/Linker/2003-06-02-TypeResolveProblem.ll:1.3 Mon Sep 15 15:04:28 2003 +++ llvm/test/Regression/Linker/2003-06-02-TypeResolveProblem.ll Sun Dec 31 00:01:59 2006 @@ -1,5 +1,5 @@ -; RUN: echo "%T = type opaque" | llvm-as > %t.2.bc -; RUN: llvm-as < %s > %t.1.bc +; RUN: echo "%T = type opaque" | llvm-upgrade | llvm-as > %t.2.bc +; RUN: llvm-upgrade < %s | llvm-as > %t.1.bc ; RUN: llvm-link %t.[12].bc %T = type opaque Index: llvm/test/Regression/Linker/2003-06-02-TypeResolveProblem2.ll diff -u llvm/test/Regression/Linker/2003-06-02-TypeResolveProblem2.ll:1.3 llvm/test/Regression/Linker/2003-06-02-TypeResolveProblem2.ll:1.4 --- llvm/test/Regression/Linker/2003-06-02-TypeResolveProblem2.ll:1.3 Mon Sep 15 15:04:28 2003 +++ llvm/test/Regression/Linker/2003-06-02-TypeResolveProblem2.ll Sun Dec 31 00:01:59 2006 @@ -1,5 +1,5 @@ -; RUN: echo "%T = type int" | llvm-as > %t.1.bc -; RUN: llvm-as < %s > %t.2.bc +; RUN: echo "%T = type int" | llvm-upgrade | llvm-as > %t.1.bc +; RUN: llvm-upgrade < %s | llvm-as > %t.2.bc ; RUN: llvm-link %t.[12].bc %T = type opaque Index: llvm/test/Regression/Linker/2003-08-20-OpaqueTypeResolve.ll diff -u llvm/test/Regression/Linker/2003-08-20-OpaqueTypeResolve.ll:1.3 llvm/test/Regression/Linker/2003-08-20-OpaqueTypeResolve.ll:1.4 --- llvm/test/Regression/Linker/2003-08-20-OpaqueTypeResolve.ll:1.3 Fri Sep 26 15:20:44 2003 +++ llvm/test/Regression/Linker/2003-08-20-OpaqueTypeResolve.ll Sun Dec 31 00:01:59 2006 @@ -1,6 +1,6 @@ -; RUN: llvm-as < %s > %t.out1.bc -; RUN: echo "%S = type { int, int* }" | llvm-as > %t.out2.bc +; RUN: llvm-upgrade < %s | llvm-as > %t.out1.bc +; RUN: echo "%S = type { int, int* }" | llvm-upgrade | llvm-as > %t.out2.bc ; RUN: llvm-link %t.out[12].bc %T = type opaque Index: llvm/test/Regression/Linker/2003-08-23-GlobalVarLinking.ll diff -u llvm/test/Regression/Linker/2003-08-23-GlobalVarLinking.ll:1.4 llvm/test/Regression/Linker/2003-08-23-GlobalVarLinking.ll:1.5 --- llvm/test/Regression/Linker/2003-08-23-GlobalVarLinking.ll:1.4 Fri Sep 26 15:20:44 2003 +++ llvm/test/Regression/Linker/2003-08-23-GlobalVarLinking.ll Sun Dec 31 00:01:59 2006 @@ -1,5 +1,5 @@ -; RUN: llvm-as < %s > %t.out1.bc -; RUN: echo "%S = external global { int, opaque* } declare void %F(opaque*)" | llvm-as > %t.out2.bc +; RUN: llvm-upgrade < %s | llvm-as > %t.out1.bc +; RUN: echo "%S = external global { int, opaque* } declare void %F(opaque*)" | llvm-upgrade | llvm-as > %t.out2.bc ; RUN: llvm-link %t.out[12].bc | llvm-dis | not grep opaque ; After linking this testcase, there should be no opaque types left. The two Index: llvm/test/Regression/Linker/2003-08-23-RecursiveOpaqueTypeResolve.ll diff -u llvm/test/Regression/Linker/2003-08-23-RecursiveOpaqueTypeResolve.ll:1.4 llvm/test/Regression/Linker/2003-08-23-RecursiveOpaqueTypeResolve.ll:1.5 --- llvm/test/Regression/Linker/2003-08-23-RecursiveOpaqueTypeResolve.ll:1.4 Fri Sep 26 15:20:44 2003 +++ llvm/test/Regression/Linker/2003-08-23-RecursiveOpaqueTypeResolve.ll Sun Dec 31 00:01:59 2006 @@ -1,8 +1,8 @@ ; It's a bad idea to go recursively traipsing through types without a safety ; net. -; RUN: llvm-as < %s > %t.out1.bc -; RUN: echo "%S = type { %S*, int* }" | llvm-as > %t.out2.bc +; RUN: llvm-upgrade < %s | llvm-as > %t.out1.bc +; RUN: echo "%S = type { %S*, int* }" | llvm-upgrade | llvm-as > %t.out2.bc ; RUN: llvm-link %t.out[12].bc %S = type { %S*, opaque* } Index: llvm/test/Regression/Linker/2003-10-21-ConflictingTypesTolerance.ll diff -u llvm/test/Regression/Linker/2003-10-21-ConflictingTypesTolerance.ll:1.1 llvm/test/Regression/Linker/2003-10-21-ConflictingTypesTolerance.ll:1.2 --- llvm/test/Regression/Linker/2003-10-21-ConflictingTypesTolerance.ll:1.1 Tue Oct 21 17:46:22 2003 +++ llvm/test/Regression/Linker/2003-10-21-ConflictingTypesTolerance.ll Sun Dec 31 00:01:59 2006 @@ -1,5 +1,5 @@ -; RUN: llvm-as < %s > %t.out1.bc -; RUN: echo "%S = type [8 x int] external global %S " | llvm-as > %t.out2.bc +; RUN: llvm-upgrade < %s | llvm-as > %t.out1.bc +; RUN: echo "%S = type [8 x int] external global %S " | llvm-upgrade | llvm-as > %t.out2.bc ; RUN: llvm-link %t.out[12].bc | llvm-dis | grep %S | grep '{' %S = type { int } Index: llvm/test/Regression/Linker/2003-10-27-LinkOncePromote.ll diff -u llvm/test/Regression/Linker/2003-10-27-LinkOncePromote.ll:1.2 llvm/test/Regression/Linker/2003-10-27-LinkOncePromote.ll:1.3 --- llvm/test/Regression/Linker/2003-10-27-LinkOncePromote.ll:1.2 Mon Oct 27 10:30:29 2003 +++ llvm/test/Regression/Linker/2003-10-27-LinkOncePromote.ll Sun Dec 31 00:01:59 2006 @@ -1,8 +1,8 @@ ; The linker should merge link-once globals into strong external globals, ; just like it does for weak symbols! -; RUN: echo "%X = global int 7" | llvm-as > %t.2.bc -; RUN: llvm-as < %s > %t.1.bc +; RUN: echo "%X = global int 7" | llvm-upgrade | llvm-as > %t.2.bc +; RUN: llvm-upgrade < %s | llvm-as > %t.1.bc ; RUN: llvm-link %t.[12].bc %X = linkonce global int 7 Index: llvm/test/Regression/Linker/2004-02-17-WeakStrongLinkage.ll diff -u llvm/test/Regression/Linker/2004-02-17-WeakStrongLinkage.ll:1.1 llvm/test/Regression/Linker/2004-02-17-WeakStrongLinkage.ll:1.2 --- llvm/test/Regression/Linker/2004-02-17-WeakStrongLinkage.ll:1.1 Tue Feb 17 15:58:29 2004 +++ llvm/test/Regression/Linker/2004-02-17-WeakStrongLinkage.ll Sun Dec 31 00:01:59 2006 @@ -1,5 +1,5 @@ -; RUN: llvm-as < %s > %t.out2.bc -; RUN: echo "%me = global int* null" | llvm-as > %t.out1.bc +; RUN: llvm-upgrade < %s | llvm-as > %t.out2.bc +; RUN: echo "%me = global int* null" | llvm-upgrade | llvm-as > %t.out1.bc ; RUN: llvm-link %t.out[12].bc -o /dev/null -f %me = weak global int * null Index: llvm/test/Regression/Linker/2005-02-12-ConstantGlobals-2.ll diff -u llvm/test/Regression/Linker/2005-02-12-ConstantGlobals-2.ll:1.1 llvm/test/Regression/Linker/2005-02-12-ConstantGlobals-2.ll:1.2 --- llvm/test/Regression/Linker/2005-02-12-ConstantGlobals-2.ll:1.1 Sat Feb 12 13:19:36 2005 +++ llvm/test/Regression/Linker/2005-02-12-ConstantGlobals-2.ll Sun Dec 31 00:01:59 2006 @@ -1,8 +1,8 @@ ; Test that a prototype can be marked const, and the definition is allowed ; to be nonconst. -; RUN: echo "%X = external constant int" | llvm-as > %t.2.bc -; RUN: llvm-as < %s > %t.1.bc -; RUN: llvm-link %t.[12].bc | llvm-dis | grep 'global int 7' +; RUN: echo "%X = external constant int" | llvm-upgrade | llvm-as > %t.2.bc +; RUN: llvm-upgrade < %s | llvm-as > %t.1.bc +; RUN: llvm-link %t.[12].bc | llvm-dis | grep 'global i32 7' %X = global int 7 Index: llvm/test/Regression/Linker/2005-02-12-ConstantGlobals.ll diff -u llvm/test/Regression/Linker/2005-02-12-ConstantGlobals.ll:1.2 llvm/test/Regression/Linker/2005-02-12-ConstantGlobals.ll:1.3 --- llvm/test/Regression/Linker/2005-02-12-ConstantGlobals.ll:1.2 Sat Feb 12 13:19:36 2005 +++ llvm/test/Regression/Linker/2005-02-12-ConstantGlobals.ll Sun Dec 31 00:01:59 2006 @@ -1,8 +1,8 @@ ; Test that a prototype can be marked const, and the definition is allowed ; to be nonconst. -; RUN: echo "%X = global int 7" | llvm-as > %t.2.bc -; RUN: llvm-as < %s > %t.1.bc -; RUN: llvm-link %t.[12].bc | llvm-dis | grep 'global int 7' +; RUN: echo "%X = global int 7" | llvm-upgrade | llvm-as > %t.2.bc +; RUN: llvm-upgrade < %s | llvm-as > %t.1.bc +; RUN: llvm-link %t.[12].bc | llvm-dis | grep 'global i32 7' %X = external constant int Index: llvm/test/Regression/Linker/2005-12-06-AppendingZeroLengthArrays.ll diff -u llvm/test/Regression/Linker/2005-12-06-AppendingZeroLengthArrays.ll:1.1 llvm/test/Regression/Linker/2005-12-06-AppendingZeroLengthArrays.ll:1.2 --- llvm/test/Regression/Linker/2005-12-06-AppendingZeroLengthArrays.ll:1.1 Tue Dec 6 11:29:54 2005 +++ llvm/test/Regression/Linker/2005-12-06-AppendingZeroLengthArrays.ll Sun Dec 31 00:01:59 2006 @@ -1,5 +1,5 @@ -; RUN: echo "%G = appending global [0 x int] zeroinitializer" | llvm-as > %t.out2.bc -; RUN: llvm-as < %s > %t.out1.bc +; RUN: echo "%G = appending global [0 x int] zeroinitializer" | llvm-upgrade | llvm-as > %t.out2.bc +; RUN: llvm-upgrade < %s | llvm-as > %t.out1.bc ; RUN: llvm-link %t.out[12].bc | llvm-dis | grep '%G =' ; When linked, the globals should be merged, and the result should still Index: llvm/test/Regression/Linker/2006-01-19-ConstantPacked.ll diff -u llvm/test/Regression/Linker/2006-01-19-ConstantPacked.ll:1.1 llvm/test/Regression/Linker/2006-01-19-ConstantPacked.ll:1.2 --- llvm/test/Regression/Linker/2006-01-19-ConstantPacked.ll:1.1 Thu Jan 19 19:31:58 2006 +++ llvm/test/Regression/Linker/2006-01-19-ConstantPacked.ll Sun Dec 31 00:01:59 2006 @@ -1,4 +1,4 @@ -; RUN: llvm-as %s -f -o %s.bc ; llvm-link -f -o %s.linked %s.bc +; RUN: llvm-upgrade < %s | llvm-as -f -o %s.bc ; llvm-link -f -o %s.linked %s.bc target endian = big target pointersize = 32 Index: llvm/test/Regression/Linker/2006-06-15-GlobalVarAlignment.ll diff -u llvm/test/Regression/Linker/2006-06-15-GlobalVarAlignment.ll:1.1 llvm/test/Regression/Linker/2006-06-15-GlobalVarAlignment.ll:1.2 --- llvm/test/Regression/Linker/2006-06-15-GlobalVarAlignment.ll:1.1 Thu Jun 15 20:20:58 2006 +++ llvm/test/Regression/Linker/2006-06-15-GlobalVarAlignment.ll Sun Dec 31 00:01:59 2006 @@ -1,7 +1,7 @@ ; The linker should choose the largest alignment when linking. -; RUN: echo "%X = global int 7, align 8" | llvm-as > %t.2.bc -; RUN: llvm-as < %s > %t.1.bc +; RUN: echo "%X = global int 7, align 8" | llvm-upgrade | llvm-as > %t.2.bc +; RUN: llvm-upgrade < %s | llvm-as > %t.1.bc ; RUN: llvm-link %t.[12].bc | llvm-dis | grep 'align 8' %X = weak global int 7, align 4 Index: llvm/test/Regression/Linker/AppendingLinkage2.ll diff -u llvm/test/Regression/Linker/AppendingLinkage2.ll:1.3 llvm/test/Regression/Linker/AppendingLinkage2.ll:1.4 --- llvm/test/Regression/Linker/AppendingLinkage2.ll:1.3 Mon Sep 15 15:04:28 2003 +++ llvm/test/Regression/Linker/AppendingLinkage2.ll Sun Dec 31 00:01:59 2006 @@ -1,7 +1,7 @@ ; Test that appending linkage works correctly when arrays are the same size. -; RUN: echo "%X = appending global [1x int] [int 8]" | llvm-as > %t.2.bc -; RUN: llvm-as < %s > %t.1.bc +; RUN: echo "%X = appending global [1x int] [int 8]" | llvm-upgrade | llvm-as > %t.2.bc +; RUN: llvm-upgrade < %s | llvm-as > %t.1.bc ; RUN: llvm-link %t.[12].bc | llvm-dis | grep 7 | grep 8 %X = appending global [1 x int] [int 7] Index: llvm/test/Regression/Linker/ConstantGlobals1.ll diff -u llvm/test/Regression/Linker/ConstantGlobals1.ll:1.2 llvm/test/Regression/Linker/ConstantGlobals1.ll:1.3 --- llvm/test/Regression/Linker/ConstantGlobals1.ll:1.2 Sat Dec 2 14:40:30 2006 +++ llvm/test/Regression/Linker/ConstantGlobals1.ll Sun Dec 31 00:01:59 2006 @@ -1,7 +1,7 @@ ; Test that appending linkage works correctly when arrays are the same size. -; RUN: echo "%X = constant [1x int] [int 8]" | llvm-as > %t.2.bc -; RUN: llvm-upgrade %s | llvm-as > %t.1.bc +; RUN: echo "%X = constant [1x int] [int 8]" | llvm-upgrade | llvm-as > %t.2.bc +; RUN: llvm-upgrade < %s | llvm-as > %t.1.bc ; RUN: llvm-link %t.[12].bc | llvm-dis | grep constant %X = uninitialized global [1 x int] Index: llvm/test/Regression/Linker/ConstantGlobals2.ll diff -u llvm/test/Regression/Linker/ConstantGlobals2.ll:1.2 llvm/test/Regression/Linker/ConstantGlobals2.ll:1.3 --- llvm/test/Regression/Linker/ConstantGlobals2.ll:1.2 Sat Dec 2 14:40:30 2006 +++ llvm/test/Regression/Linker/ConstantGlobals2.ll Sun Dec 31 00:01:59 2006 @@ -1,7 +1,7 @@ ; Test that appending linkage works correctly when arrays are the same size. -; RUN: echo "%X = external global [1x int]" | llvm-as > %t.2.bc -; RUN: llvm-upgrade %s | llvm-as > %t.1.bc +; RUN: echo "%X = external global [1x int]" | llvm-upgrade | llvm-as > %t.2.bc +; RUN: llvm-upgrade %s -o - | llvm-as > %t.1.bc ; RUN: llvm-link %t.[12].bc | llvm-dis | grep constant %X = constant [1 x int] [ int 12 ] Index: llvm/test/Regression/Linker/ConstantGlobals3.ll diff -u llvm/test/Regression/Linker/ConstantGlobals3.ll:1.2 llvm/test/Regression/Linker/ConstantGlobals3.ll:1.3 --- llvm/test/Regression/Linker/ConstantGlobals3.ll:1.2 Sat Dec 2 14:40:30 2006 +++ llvm/test/Regression/Linker/ConstantGlobals3.ll Sun Dec 31 00:01:59 2006 @@ -1,6 +1,6 @@ ; Test that appending linkage works correctly when arrays are the same size. -; RUN: echo "%X = external constant [1x int]" | llvm-as > %t.2.bc +; RUN: echo "%X = external constant [1x int]" | llvm-upgrade | llvm-as > %t.2.bc ; RUN: llvm-upgrade %s | llvm-as > %t.1.bc ; RUN: llvm-link %t.[12].bc | llvm-dis | grep constant Index: llvm/test/Regression/Linker/LinkOnce.ll diff -u llvm/test/Regression/Linker/LinkOnce.ll:1.3 llvm/test/Regression/Linker/LinkOnce.ll:1.4 --- llvm/test/Regression/Linker/LinkOnce.ll:1.3 Mon Sep 15 15:04:28 2003 +++ llvm/test/Regression/Linker/LinkOnce.ll Sun Dec 31 00:01:59 2006 @@ -1,8 +1,8 @@ ; This fails because the linker renames the non-opaque type not the opaque ; one... -; RUN: echo "%X = linkonce global int 8" | llvm-as > %t.2.bc -; RUN: llvm-as < %s > %t.1.bc +; RUN: echo "%X = linkonce global int 8" | llvm-upgrade | llvm-as > %t.2.bc +; RUN: llvm-upgrade < %s | llvm-as > %t.1.bc ; RUN: llvm-link %t.[12].bc | llvm-dis %X = linkonce global int 7 Index: llvm/test/Regression/Linker/weakextern.ll diff -u llvm/test/Regression/Linker/weakextern.ll:1.2 llvm/test/Regression/Linker/weakextern.ll:1.3 --- llvm/test/Regression/Linker/weakextern.ll:1.2 Tue Dec 19 13:29:50 2006 +++ llvm/test/Regression/Linker/weakextern.ll Sun Dec 31 00:01:59 2006 @@ -1,9 +1,9 @@ -; RUN: llvm-as < %s > %t.bc -; RUN: llvm-as < `dirname %s`/testlink1.ll > %t2.bc +; RUN: llvm-upgrade < %s | llvm-as > %t.bc +; RUN: llvm-upgrade < `dirname %s`/testlink1.ll | llvm-as > %t2.bc ; RUN: llvm-link %t.bc %t.bc %t2.bc -o %t1.bc -f -; RUN: llvm-dis < %t1.bc |grep "kallsyms_names = extern_weak" && -; RUN: llvm-dis < %t1.bc |grep "MyVar = external global int" && -; RUN: llvm-dis < %t1.bc |grep "Inte = global int" +; RUN: llvm-dis < %t1.bc | grep "kallsyms_names = extern_weak" && +; RUN: llvm-dis < %t1.bc | grep "MyVar = external global i32" && +; RUN: llvm-dis < %t1.bc | grep "Inte = global i32" %kallsyms_names = extern_weak global [0 x ubyte] %MyVar = extern_weak global int From reid at x10sys.com Sun Dec 31 00:03:29 2006 From: reid at x10sys.com (Reid Spencer) Date: Sun, 31 Dec 2006 00:03:29 -0600 Subject: [llvm-commits] CVS: llvm/test/Regression/Transforms/InstCombine/2006-05-06-Infloop.ll 2006-06-28-infloop.ll 2006-09-15-CastToBool.ll 2006-10-19-SignedToUnsignedCastAndConst-2.ll 2006-10-19-SignedToUnsignedCastAndConst.ll deadcode.ll fpcast.ll shift-sra.ll sub.ll zeroext-and-reduce.ll Message-ID: <200612310603.kBV63TEq012865@zion.cs.uiuc.edu> Changes in directory llvm/test/Regression/Transforms/InstCombine: 2006-05-06-Infloop.ll updated: 1.2 -> 1.3 2006-06-28-infloop.ll updated: 1.2 -> 1.3 2006-09-15-CastToBool.ll updated: 1.2 -> 1.3 2006-10-19-SignedToUnsignedCastAndConst-2.ll updated: 1.3 -> 1.4 2006-10-19-SignedToUnsignedCastAndConst.ll updated: 1.3 -> 1.4 deadcode.ll updated: 1.2 -> 1.3 fpcast.ll updated: 1.2 -> 1.3 shift-sra.ll updated: 1.4 -> 1.5 sub.ll updated: 1.23 -> 1.24 zeroext-and-reduce.ll updated: 1.2 -> 1.3 --- Log message: For PR950: http://llvm.org/PR950 : Update the test suite to accommodate the change from signed integer types to signless integer types. The changes were of only a few kinds: 1. Make sure llvm-upgrade is run on the source which does the bulk of the changes automatically. 2. Change things like "grep 'int'" to "grep 'i32'" 3. In several tests bitcasting caused the same name to be reused in the same type plane. These had to be manually fixed. The fix was (generally) to leave the bitcast and provide the instruction with a new name. This should not affect the semantics of the test. In a few cases, the bitcasts were known to be superfluous and irrelevant to the test case so they were removed. 4. One test case uses a bytecode file which needed to be updated to the latest bytecode format. --- Diffs of the changes: (+19 -29) 2006-05-06-Infloop.ll | 18 ++++-------------- 2006-06-28-infloop.ll | 4 ++-- 2006-09-15-CastToBool.ll | 8 ++++---- 2006-10-19-SignedToUnsignedCastAndConst-2.ll | 2 +- 2006-10-19-SignedToUnsignedCastAndConst.ll | 2 +- deadcode.ll | 2 +- fpcast.ll | 6 +++--- shift-sra.ll | 2 +- sub.ll | 2 +- zeroext-and-reduce.ll | 2 +- 10 files changed, 19 insertions(+), 29 deletions(-) Index: llvm/test/Regression/Transforms/InstCombine/2006-05-06-Infloop.ll diff -u llvm/test/Regression/Transforms/InstCombine/2006-05-06-Infloop.ll:1.2 llvm/test/Regression/Transforms/InstCombine/2006-05-06-Infloop.ll:1.3 --- llvm/test/Regression/Transforms/InstCombine/2006-05-06-Infloop.ll:1.2 Fri Dec 1 22:23:09 2006 +++ llvm/test/Regression/Transforms/InstCombine/2006-05-06-Infloop.ll Sun Dec 31 00:01:59 2006 @@ -10,7 +10,7 @@ int %mem_mono_copy_mono(%struct.gx_device* %dev, ubyte* %base, int %sourcex, int %raster, int %x, int %y, int %w, int %h, uint %zero, uint %one) { entry: - %raster = cast int %raster to uint ; [#uses=3] + %raster.ui = cast int %raster to uint ; [#uses=3] %tmp = seteq uint %one, %zero ; [#uses=1] br bool %tmp, label %cond_true, label %cond_next @@ -146,7 +146,6 @@ %optr.3.2 = phi ubyte* [ %tmp232, %cond_true249 ], [ %dest.1.0, %cond_true249.preheader ] ; [#uses=1] %bptr.3.2 = phi ubyte* [ %tmp226, %cond_true249 ], [ %line.1.0, %cond_true249.preheader ] ; [#uses=1] %tmp. = add int %tmp109, %w ; [#uses=1] - %indvar = cast uint %indvar to int ; [#uses=1] %tmp.58 = mul int %indvar, -8 ; [#uses=1] %tmp.57 = add int %tmp., -16 ; [#uses=1] %tmp246.2 = add int %tmp.58, %tmp.57 ; [#uses=1] @@ -236,10 +235,8 @@ %dest.1.0.us = phi ubyte* [ %tmp286.us, %cond_next280.us ], [ %tmp100, %cond_true295.preheader.split.us ] ; [#uses=3] %dest_line.1.0.us = phi ubyte** [ %tmp282.us, %cond_next280.us ], [ %tmp96, %cond_true295.preheader.split.us ] ; [#uses=1] %tmp.89 = sub uint 0, %indvar86 ; [#uses=1] - %tmp.89 = cast uint %tmp.89 to int ; [#uses=1] %tmp292.0.us = add int %tmp.89, %tmp29222 ; [#uses=1] - %tmp.91 = mul uint %indvar86, %raster ; [#uses=1] - %tmp.91 = cast uint %tmp.91 to int ; [#uses=1] + %tmp.91 = mul uint %indvar86, %raster.ui ; [#uses=1] %tmp104.sum101 = add int %tmp102, %tmp.91 ; [#uses=1] %line.1.0.us = getelementptr ubyte* %base, int %tmp104.sum101 ; [#uses=2] %tmp.us = load ubyte* %line.1.0.us ; [#uses=1] @@ -313,10 +310,8 @@ %dest.1.0 = phi ubyte* [ %tmp286, %cond_next280 ], [ %tmp100, %cond_true295.preheader.split ] ; [#uses=4] %dest_line.1.0 = phi ubyte** [ %tmp282, %cond_next280 ], [ %tmp96, %cond_true295.preheader.split ] ; [#uses=1] %tmp.63 = sub uint 0, %indvar60 ; [#uses=1] - %tmp.63 = cast uint %tmp.63 to int ; [#uses=1] %tmp292.0 = add int %tmp.63, %tmp29222 ; [#uses=1] - %tmp.65 = mul uint %indvar60, %raster ; [#uses=1] - %tmp.65 = cast uint %tmp.65 to int ; [#uses=1] + %tmp.65 = mul uint %indvar60, %raster.ui ; [#uses=1] %tmp104.sum97 = add int %tmp102, %tmp.65 ; [#uses=1] %line.1.0 = getelementptr ubyte* %base, int %tmp104.sum97 ; [#uses=3] %tmp = load ubyte* %line.1.0 ; [#uses=1] @@ -386,7 +381,6 @@ %optr309.3.0 = phi ubyte* [ %optr309.3, %cond_true398 ], [ %optr309.353, %cond_true398.preheader ] ; [#uses=2] %optr309.3.in.0 = add uint %indvar66, %optr309.3.in51 ; [#uses=1] %tmp.70 = add int %tmp109, %w ; [#uses=1] - %indvar66 = cast uint %indvar66 to int ; [#uses=1] %tmp.72 = mul int %indvar66, -8 ; [#uses=1] %tmp.71 = add int %tmp.70, -8 ; [#uses=1] %count308.3.0 = add int %tmp.72, %tmp.71 ; [#uses=1] @@ -440,7 +434,6 @@ %tmp416 = load ubyte* %tmp410 ; [#uses=1] %tmp416 = cast ubyte %tmp416 to uint ; [#uses=1] %tmp418 = shr uint %tmp416, ubyte %tmp319 ; [#uses=1] - %tmp418 = cast uint %tmp418 to int ; [#uses=1] %tmp420 = add int %tmp418, %tmp408 ; [#uses=1] br label %cond_next422 @@ -479,7 +472,6 @@ %tmp354 = and uint %iftmp.37.0, %mask.1.1 ; [#uses=1] %tmp361 = sub int %w, %tmp110 ; [#uses=2] %tmp39755 = setgt int %tmp361, 7 ; [#uses=1] - %iftmp.35.0 = cast uint %iftmp.35.0 to int ; [#uses=1] %tmp426 = cast uint %rmask.0.1 to ubyte ; [#uses=1] %tmp426not = xor ubyte %tmp426, 255 ; [#uses=1] %tmp428 = or ubyte %tmp347, %tmp426not ; [#uses=1] @@ -492,10 +484,8 @@ %dest.3.0 = phi ubyte* [ %tmp448, %cond_next442 ], [ %tmp100, %cond_true457.preheader ] ; [#uses=3] %dest_line.3.0 = phi ubyte** [ %tmp444, %cond_next442 ], [ %tmp96, %cond_true457.preheader ] ; [#uses=1] %tmp.77 = sub uint 0, %indvar74 ; [#uses=1] - %tmp.77 = cast uint %tmp.77 to int ; [#uses=1] %tmp454.0 = add int %tmp.77, %tmp45438 ; [#uses=1] - %tmp.79 = mul uint %indvar74, %raster ; [#uses=1] - %tmp.79 = cast uint %tmp.79 to int ; [#uses=1] + %tmp.79 = mul uint %indvar74, %raster.ui ; [#uses=1] %tmp104.sum = add int %tmp102, %tmp.79 ; [#uses=1] %line.3.0 = getelementptr ubyte* %base, int %tmp104.sum ; [#uses=3] %tmp318 = load ubyte* %line.3.0 ; [#uses=2] Index: llvm/test/Regression/Transforms/InstCombine/2006-06-28-infloop.ll diff -u llvm/test/Regression/Transforms/InstCombine/2006-06-28-infloop.ll:1.2 llvm/test/Regression/Transforms/InstCombine/2006-06-28-infloop.ll:1.3 --- llvm/test/Regression/Transforms/InstCombine/2006-06-28-infloop.ll:1.2 Fri Dec 1 22:23:09 2006 +++ llvm/test/Regression/Transforms/InstCombine/2006-06-28-infloop.ll Sun Dec 31 00:01:59 2006 @@ -9,8 +9,8 @@ entry: %tmp = getelementptr { long, long, long, long }* null, int 0, uint 3 %tmp = load long* %tmp ; [#uses=1] - %tmp8 = load ulong* null ; [#uses=1] - %tmp8 = cast ulong %tmp8 to long ; [#uses=1] + %tmp8.ui = load ulong* null ; [#uses=1] + %tmp8 = cast ulong %tmp8.ui to long ; [#uses=1] %tmp9 = and long %tmp8, %tmp ; [#uses=1] %sext = cast long %tmp9 to int ; [#uses=1] %tmp27.i = cast int %sext to long ; [#uses=1] Index: llvm/test/Regression/Transforms/InstCombine/2006-09-15-CastToBool.ll diff -u llvm/test/Regression/Transforms/InstCombine/2006-09-15-CastToBool.ll:1.2 llvm/test/Regression/Transforms/InstCombine/2006-09-15-CastToBool.ll:1.3 --- llvm/test/Regression/Transforms/InstCombine/2006-09-15-CastToBool.ll:1.2 Fri Dec 1 22:23:09 2006 +++ llvm/test/Regression/Transforms/InstCombine/2006-09-15-CastToBool.ll Sun Dec 31 00:01:59 2006 @@ -2,10 +2,10 @@ ; PR913 int %test(int* %tmp1) { - %tmp = load int* %tmp1 ; [#uses=1] - %tmp = cast int %tmp to uint ; [#uses=1] - %tmp2 = shr uint %tmp, ubyte 5 ; [#uses=1] - %tmp2 = cast uint %tmp2 to int ; [#uses=1] + %tmp.i = load int* %tmp1 ; [#uses=1] + %tmp = cast int %tmp.i to uint ; [#uses=1] + %tmp2.ui = shr uint %tmp, ubyte 5 ; [#uses=1] + %tmp2 = cast uint %tmp2.ui to int ; [#uses=1] %tmp3 = and int %tmp2, 1 ; [#uses=1] %tmp3 = cast int %tmp3 to bool ; [#uses=1] %tmp34 = cast bool %tmp3 to int ; [#uses=1] Index: llvm/test/Regression/Transforms/InstCombine/2006-10-19-SignedToUnsignedCastAndConst-2.ll diff -u llvm/test/Regression/Transforms/InstCombine/2006-10-19-SignedToUnsignedCastAndConst-2.ll:1.3 llvm/test/Regression/Transforms/InstCombine/2006-10-19-SignedToUnsignedCastAndConst-2.ll:1.4 --- llvm/test/Regression/Transforms/InstCombine/2006-10-19-SignedToUnsignedCastAndConst-2.ll:1.3 Fri Dec 1 22:23:09 2006 +++ llvm/test/Regression/Transforms/InstCombine/2006-10-19-SignedToUnsignedCastAndConst-2.ll Sun Dec 31 00:01:59 2006 @@ -1,5 +1,5 @@ ; The optimizer should be able to remove cast operation here. -; RUN: llvm-upgrade %s -o - | llvm-as | opt -instcombine | llvm-dis | not grep 'sext.*int' +; RUN: llvm-upgrade %s -o - | llvm-as | opt -instcombine | llvm-dis | not grep 'sext.*i32' bool %eq_signed_to_small_unsigned(sbyte %SB) { %Y = cast sbyte %SB to uint ; [#uses=1] Index: llvm/test/Regression/Transforms/InstCombine/2006-10-19-SignedToUnsignedCastAndConst.ll diff -u llvm/test/Regression/Transforms/InstCombine/2006-10-19-SignedToUnsignedCastAndConst.ll:1.3 llvm/test/Regression/Transforms/InstCombine/2006-10-19-SignedToUnsignedCastAndConst.ll:1.4 --- llvm/test/Regression/Transforms/InstCombine/2006-10-19-SignedToUnsignedCastAndConst.ll:1.3 Fri Dec 1 22:23:09 2006 +++ llvm/test/Regression/Transforms/InstCombine/2006-10-19-SignedToUnsignedCastAndConst.ll Sun Dec 31 00:01:59 2006 @@ -1,6 +1,6 @@ ; This test case is reduced from llvmAsmParser.cpp ; The optimizer should not remove the cast here. -; RUN: llvm-upgrade %s -o - | llvm-as | opt -instcombine | llvm-dis | grep 'sext.*int' +; RUN: llvm-upgrade %s -o - | llvm-as | opt -instcombine | llvm-dis | grep 'sext.*i32' bool %test(short %X) { %A = cast short %X to uint Index: llvm/test/Regression/Transforms/InstCombine/deadcode.ll diff -u llvm/test/Regression/Transforms/InstCombine/deadcode.ll:1.2 llvm/test/Regression/Transforms/InstCombine/deadcode.ll:1.3 --- llvm/test/Regression/Transforms/InstCombine/deadcode.ll:1.2 Fri Dec 1 22:23:09 2006 +++ llvm/test/Regression/Transforms/InstCombine/deadcode.ll Sun Dec 31 00:01:59 2006 @@ -1,4 +1,4 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | grep 'ret int %A' +; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | grep 'ret i32 %A' int %test(int %A) { %X = or bool false, false Index: llvm/test/Regression/Transforms/InstCombine/fpcast.ll diff -u llvm/test/Regression/Transforms/InstCombine/fpcast.ll:1.2 llvm/test/Regression/Transforms/InstCombine/fpcast.ll:1.3 --- llvm/test/Regression/Transforms/InstCombine/fpcast.ll:1.2 Fri Dec 1 22:23:09 2006 +++ llvm/test/Regression/Transforms/InstCombine/fpcast.ll Sun Dec 31 00:01:59 2006 @@ -1,14 +1,14 @@ ; Test some floating point casting cases ; RUN: llvm-upgrade %s -o - | llvm-as | opt -instcombine | llvm-dis | notcast ; RUN: llvm-upgrade %s -o - | llvm-as | opt -instcombine | llvm-dis | \ -; RUN: grep 'ret [us]byte \(-1\)\|\(255\)' +; RUN: grep 'ret i8 \(-1\)\|\(255\)' -sbyte %test() { +sbyte %test1() { %x = fptoui float 255.0 to sbyte ret sbyte %x } -ubyte %test() { +ubyte %test2() { %x = fptosi float -1.0 to ubyte ret ubyte %x } Index: llvm/test/Regression/Transforms/InstCombine/shift-sra.ll diff -u llvm/test/Regression/Transforms/InstCombine/shift-sra.ll:1.4 llvm/test/Regression/Transforms/InstCombine/shift-sra.ll:1.5 --- llvm/test/Regression/Transforms/InstCombine/shift-sra.ll:1.4 Fri Dec 1 22:23:09 2006 +++ llvm/test/Regression/Transforms/InstCombine/shift-sra.ll Sun Dec 31 00:01:59 2006 @@ -1,5 +1,5 @@ ; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine -disable-output && -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | grep 'lshr int' | wc -l | grep 2 && +; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | grep 'lshr i32' | wc -l | grep 2 && ; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | not grep ashr int %test1(int %X, ubyte %A) { Index: llvm/test/Regression/Transforms/InstCombine/sub.ll diff -u llvm/test/Regression/Transforms/InstCombine/sub.ll:1.23 llvm/test/Regression/Transforms/InstCombine/sub.ll:1.24 --- llvm/test/Regression/Transforms/InstCombine/sub.ll:1.23 Fri Dec 1 22:23:09 2006 +++ llvm/test/Regression/Transforms/InstCombine/sub.ll Sun Dec 31 00:01:59 2006 @@ -1,7 +1,7 @@ ; This test makes sure that these instructions are properly eliminated. ; -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | grep -v 'sub int %Cok, %Bok' | not grep sub +; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | grep -v 'sub i32 %Cok, %Bok' | not grep sub implementation Index: llvm/test/Regression/Transforms/InstCombine/zeroext-and-reduce.ll diff -u llvm/test/Regression/Transforms/InstCombine/zeroext-and-reduce.ll:1.2 llvm/test/Regression/Transforms/InstCombine/zeroext-and-reduce.ll:1.3 --- llvm/test/Regression/Transforms/InstCombine/zeroext-and-reduce.ll:1.2 Fri Dec 1 22:23:09 2006 +++ llvm/test/Regression/Transforms/InstCombine/zeroext-and-reduce.ll Sun Dec 31 00:01:59 2006 @@ -1,4 +1,4 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | grep 'and int %Y, 8' +; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | grep 'and i32 %Y, 8' int %test1(ubyte %X) { %Y = cast ubyte %X to int From reid at x10sys.com Sun Dec 31 00:03:33 2006 From: reid at x10sys.com (Reid Spencer) Date: Sun, 31 Dec 2006 00:03:33 -0600 Subject: [llvm-commits] CVS: llvm/tools/llvm-upgrade/ParserInternals.h UpgradeLexer.cpp UpgradeLexer.cpp.cvs UpgradeLexer.l.cvs UpgradeParser.cpp UpgradeParser.cpp.cvs UpgradeParser.h UpgradeParser.h.cvs UpgradeParser.y.cvs llvm-upgrade.cpp Message-ID: <200612310603.kBV63X4g013006@zion.cs.uiuc.edu> Changes in directory llvm/tools/llvm-upgrade: ParserInternals.h updated: 1.9 -> 1.10 UpgradeLexer.cpp updated: 1.11 -> 1.12 UpgradeLexer.cpp.cvs updated: 1.10 -> 1.11 UpgradeLexer.l.cvs updated: 1.10 -> 1.11 UpgradeParser.cpp updated: 1.28 -> 1.29 UpgradeParser.cpp.cvs updated: 1.26 -> 1.27 UpgradeParser.h updated: 1.21 -> 1.22 UpgradeParser.h.cvs updated: 1.19 -> 1.20 UpgradeParser.y.cvs updated: 1.25 -> 1.26 llvm-upgrade.cpp updated: 1.5 -> 1.6 --- Log message: For PR950: http://llvm.org/PR950 : Convert signed integer types to signless. --- Diffs of the changes: (+4457 -4467) ParserInternals.h | 11 UpgradeLexer.cpp | 1675 ++++++++++++++++++------------------ UpgradeLexer.cpp.cvs | 1675 ++++++++++++++++++------------------ UpgradeLexer.l.cvs | 21 UpgradeParser.cpp | 2278 ++++++++++++++++++++++++-------------------------- UpgradeParser.cpp.cvs | 2278 ++++++++++++++++++++++++-------------------------- UpgradeParser.h | 470 +++++----- UpgradeParser.h.cvs | 470 +++++----- UpgradeParser.y.cvs | 38 llvm-upgrade.cpp | 8 10 files changed, 4457 insertions(+), 4467 deletions(-) Index: llvm/tools/llvm-upgrade/ParserInternals.h diff -u llvm/tools/llvm-upgrade/ParserInternals.h:1.9 llvm/tools/llvm-upgrade/ParserInternals.h:1.10 --- llvm/tools/llvm-upgrade/ParserInternals.h:1.9 Wed Dec 6 00:25:22 2006 +++ llvm/tools/llvm-upgrade/ParserInternals.h Sun Dec 31 00:02:26 2006 @@ -28,7 +28,8 @@ void UpgradeAssembly( - const std::string & infile, std::istream& in, std::ostream &out, bool debug); + const std::string & infile, std::istream& in, std::ostream &out, bool debug, + bool addAttrs); // Globals exported by the parser... extern char* Upgradetext; @@ -42,8 +43,8 @@ /// signed instructions with signless operands. enum Types { BoolTy, SByteTy, UByteTy, ShortTy, UShortTy, IntTy, UIntTy, LongTy, ULongTy, - FloatTy, DoubleTy, PointerTy, PackedTy, ArrayTy, StructTy, OpaqueTy, VoidTy, - LabelTy, FunctionTy, UnresolvedTy, NumericTy + FloatTy, DoubleTy, PointerTy, PackedTy, ArrayTy, StructTy, PackedStructTy, + OpaqueTy, VoidTy, LabelTy, FunctionTy, UnresolvedTy, NumericTy }; /// This type is used to keep track of the signedness of the obsolete @@ -91,6 +92,10 @@ bool isOther() const { return !isPacked() && !isPointer() && !isFloatingPoint() && !isIntegral(); } + bool isAttributeCandidate() const { + return isIntegral() && getBitWidth() < 32; + } + unsigned getBitWidth() const { switch (oldTy) { case LabelTy: Index: llvm/tools/llvm-upgrade/UpgradeLexer.cpp diff -u llvm/tools/llvm-upgrade/UpgradeLexer.cpp:1.11 llvm/tools/llvm-upgrade/UpgradeLexer.cpp:1.12 --- llvm/tools/llvm-upgrade/UpgradeLexer.cpp:1.11 Fri Dec 29 14:35:03 2006 +++ llvm/tools/llvm-upgrade/UpgradeLexer.cpp Sun Dec 31 00:02:26 2006 @@ -20,7 +20,7 @@ /* A lexical scanner generated by flex*/ /* Scanner skeleton version: - * $Header: /var/cvs/llvm/llvm/tools/llvm-upgrade/UpgradeLexer.cpp,v 1.11 2006/12/29 20:35:03 reid Exp $ + * $Header: /var/cvs/llvm/llvm/tools/llvm-upgrade/UpgradeLexer.cpp,v 1.12 2006/12/31 06:02:26 reid Exp $ */ #define FLEX_SCANNER @@ -317,39 +317,39 @@ *yy_cp = '\0'; \ yy_c_buf_p = yy_cp; -#define YY_NUM_RULES 154 -#define YY_END_OF_BUFFER 155 -static yyconst short int yy_acclist[232] = +#define YY_NUM_RULES 157 +#define YY_END_OF_BUFFER 158 +static yyconst short int yy_acclist[235] = { 0, - 155, 153, 154, 152, 153, 154, 152, 154, 153, 154, - 153, 154, 153, 154, 153, 154, 153, 154, 153, 154, - 145, 153, 154, 145, 153, 154, 1, 153, 154, 153, - 154, 153, 154, 153, 154, 153, 154, 153, 154, 153, - 154, 153, 154, 153, 154, 153, 154, 153, 154, 153, - 154, 153, 154, 153, 154, 153, 154, 153, 154, 153, - 154, 153, 154, 153, 154, 153, 154, 153, 154, 153, - 154, 144, 142, 141, 141, 148, 146, 150, 145, 1, - 126, 40, 84, 85, 74, 24, 144, 141, 141, 149, - 150, 21, 150, 151, 62, 73, 38, 33, 41, 65, - - 3, 53, 64, 90, 95, 93, 94, 92, 91, 96, - 104, 69, 125, 89, 87, 120, 121, 88, 86, 63, - 98, 103, 101, 102, 100, 99, 97, 75, 143, 150, - 150, 122, 48, 105, 106, 83, 68, 134, 72, 82, - 135, 55, 123, 23, 147, 67, 109, 71, 25, 4, - 61, 66, 54, 70, 47, 12, 108, 150, 35, 2, - 5, 57, 111, 59, 49, 77, 81, 79, 80, 78, - 76, 51, 136, 107, 50, 56, 22, 133, 44, 7, - 58, 29, 130, 43, 113, 112, 8, 128, 32, 132, - 37, 60, 119, 115, 127, 26, 27, 114, 129, 52, - - 124, 118, 42, 6, 28, 110, 36, 9, 17, 10, - 117, 11, 116, 34, 13, 15, 14, 31, 39, 16, - 30, 131, 137, 139, 140, 18, 45, 138, 19, 46, - 20 + 158, 156, 157, 155, 156, 157, 155, 157, 156, 157, + 156, 157, 156, 157, 156, 157, 156, 157, 156, 157, + 148, 156, 157, 148, 156, 157, 1, 156, 157, 156, + 157, 156, 157, 156, 157, 156, 157, 156, 157, 156, + 157, 156, 157, 156, 157, 156, 157, 156, 157, 156, + 157, 156, 157, 156, 157, 156, 157, 156, 157, 156, + 157, 156, 157, 156, 157, 156, 157, 156, 157, 156, + 157, 147, 145, 144, 144, 151, 149, 153, 148, 1, + 129, 39, 87, 56, 88, 77, 23, 147, 144, 144, + 152, 153, 20, 153, 154, 65, 76, 37, 32, 40, + + 68, 3, 57, 58, 59, 52, 67, 93, 98, 96, + 97, 95, 94, 99, 107, 72, 128, 92, 90, 123, + 124, 91, 89, 66, 101, 106, 104, 105, 103, 102, + 100, 78, 146, 153, 153, 125, 47, 108, 109, 86, + 71, 137, 75, 85, 138, 54, 126, 22, 150, 70, + 112, 74, 24, 4, 64, 69, 53, 73, 46, 11, + 111, 153, 34, 2, 5, 60, 114, 62, 48, 80, + 84, 82, 83, 81, 79, 50, 139, 110, 49, 55, + 21, 136, 43, 61, 28, 133, 42, 116, 115, 7, + 131, 31, 135, 36, 63, 122, 118, 130, 25, 26, + + 117, 132, 51, 127, 121, 41, 6, 27, 113, 35, + 8, 16, 9, 120, 10, 119, 33, 12, 14, 13, + 30, 38, 15, 29, 134, 140, 142, 143, 17, 44, + 141, 18, 45, 19 } ; -static yyconst short int yy_accept[606] = +static yyconst short int yy_accept[609] = { 0, 1, 1, 1, 2, 4, 7, 9, 11, 13, 15, 17, 19, 21, 24, 27, 30, 32, 34, 36, 38, @@ -359,65 +359,65 @@ 81, 81, 81, 81, 81, 81, 81, 81, 81, 82, 82, 83, 83, 83, 83, 83, 83, 83, 83, 83, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, - 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, - 85, 85, 85, 85, 85, 85, 85, 86, 86, 86, + 84, 84, 84, 85, 85, 85, 85, 85, 85, 85, + 85, 85, 85, 85, 86, 86, 86, 86, 86, 86, - 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, - 86, 86, 86, 86, 86, 87, 87, 87, 87, 87, - 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, - 87, 87, 87, 88, 89, 91, 92, 93, 94, 94, - 95, 96, 96, 96, 97, 97, 97, 98, 98, 99, - 99, 99, 99, 99, 100, 100, 100, 100, 100, 100, - 100, 100, 101, 101, 101, 102, 102, 102, 102, 102, - 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, - 102, 103, 103, 103, 103, 103, 103, 103, 103, 103, - 103, 104, 104, 105, 106, 107, 108, 109, 110, 110, - - 111, 112, 112, 112, 113, 114, 114, 114, 114, 114, - 114, 114, 114, 115, 116, 117, 117, 118, 118, 118, - 118, 119, 120, 120, 120, 121, 121, 121, 121, 121, - 121, 121, 121, 121, 122, 123, 124, 124, 124, 125, - 125, 126, 126, 127, 127, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 129, 129, 129, 130, 131, - 131, 131, 131, 132, 132, 132, 132, 133, 133, 133, - 134, 135, 136, 136, 136, 136, 136, 136, 136, 136, - 136, 136, 136, 136, 136, 136, 136, 136, 136, 137, - 138, 138, 138, 138, 138, 139, 140, 140, 140, 141, - - 141, 141, 141, 141, 141, 141, 141, 141, 142, 143, - 144, 144, 144, 145, 145, 145, 145, 146, 146, 147, - 147, 147, 147, 147, 147, 147, 148, 148, 148, 148, - 148, 149, 149, 149, 150, 150, 150, 151, 151, 152, - 152, 153, 154, 154, 154, 154, 154, 154, 154, 155, - 155, 155, 156, 156, 157, 157, 157, 158, 159, 160, - 160, 160, 161, 161, 161, 161, 161, 161, 161, 161, - 161, 161, 161, 161, 161, 161, 161, 161, 162, 162, - 163, 164, 164, 164, 164, 164, 164, 164, 164, 164, - 164, 164, 165, 165, 165, 165, 165, 165, 165, 165, - - 166, 166, 166, 167, 168, 169, 170, 171, 172, 173, - 173, 173, 173, 174, 174, 174, 174, 175, 176, 176, - 177, 178, 178, 178, 178, 178, 178, 178, 178, 178, - 178, 179, 179, 179, 180, 180, 180, 180, 180, 181, - 181, 181, 181, 182, 183, 184, 184, 184, 185, 186, - 187, 187, 187, 188, 188, 188, 188, 188, 189, 189, - 190, 191, 192, 193, 193, 193, 193, 194, 194, 194, - 195, 196, 197, 198, 199, 199, 199, 200, 201, 202, - 202, 202, 202, 202, 202, 203, 203, 204, 204, 205, - 206, 206, 206, 206, 206, 206, 207, 207, 207, 207, - - 207, 207, 207, 207, 207, 208, 208, 208, 208, 208, - 208, 208, 208, 208, 208, 209, 209, 209, 209, 209, - 210, 210, 210, 210, 210, 211, 212, 213, 213, 214, - 214, 214, 214, 214, 215, 215, 215, 215, 216, 216, - 217, 218, 218, 218, 218, 218, 218, 218, 218, 218, - 218, 218, 218, 218, 218, 219, 219, 219, 219, 219, - 219, 219, 219, 220, 220, 220, 220, 220, 220, 221, - 221, 221, 221, 221, 222, 222, 222, 223, 223, 223, - 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, - 223, 224, 224, 225, 226, 227, 227, 228, 228, 229, + 86, 87, 87, 87, 87, 87, 87, 87, 87, 87, + 87, 87, 87, 87, 87, 87, 87, 87, 87, 88, + 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, + 88, 88, 88, 88, 88, 88, 88, 89, 90, 92, + 93, 94, 95, 95, 96, 97, 97, 97, 98, 98, + 98, 99, 99, 100, 100, 100, 100, 100, 101, 101, + 101, 101, 101, 101, 101, 102, 102, 102, 103, 103, + 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, + 103, 104, 105, 106, 106, 106, 106, 107, 107, 107, + 107, 107, 107, 107, 107, 107, 107, 108, 108, 109, + + 110, 111, 112, 113, 114, 114, 115, 116, 116, 116, + 117, 118, 118, 118, 118, 118, 118, 118, 118, 119, + 120, 121, 121, 122, 122, 122, 122, 123, 124, 124, + 124, 125, 125, 125, 125, 125, 125, 125, 125, 125, + 126, 127, 128, 128, 128, 129, 129, 130, 130, 131, + 131, 132, 132, 132, 132, 132, 132, 132, 132, 132, + 132, 133, 133, 133, 134, 135, 135, 135, 135, 136, + 136, 136, 136, 137, 137, 137, 138, 139, 140, 140, + 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, + 140, 140, 140, 140, 141, 142, 142, 142, 142, 142, + + 143, 144, 144, 144, 145, 145, 145, 145, 145, 145, + 145, 145, 145, 146, 147, 148, 148, 148, 149, 149, + 149, 149, 150, 150, 151, 151, 151, 151, 151, 151, + 151, 152, 152, 152, 152, 152, 153, 153, 153, 154, + 154, 154, 155, 155, 156, 156, 157, 158, 158, 158, + 158, 158, 158, 158, 159, 159, 159, 160, 160, 161, + 161, 161, 162, 163, 164, 164, 164, 165, 165, 165, + 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, + 165, 165, 166, 166, 167, 168, 168, 168, 168, 168, + 168, 168, 168, 168, 168, 168, 169, 169, 169, 169, + + 169, 169, 169, 169, 170, 170, 170, 171, 172, 173, + 174, 175, 176, 177, 177, 177, 177, 178, 178, 178, + 178, 179, 180, 180, 181, 182, 182, 182, 182, 182, + 182, 182, 182, 182, 182, 183, 183, 183, 184, 184, + 184, 184, 184, 184, 184, 184, 185, 186, 187, 187, + 187, 188, 189, 190, 190, 190, 191, 191, 191, 191, + 191, 192, 192, 193, 194, 195, 196, 196, 196, 196, + 197, 197, 197, 198, 199, 200, 201, 202, 202, 202, + 203, 204, 205, 205, 205, 205, 205, 205, 206, 206, + 207, 207, 208, 209, 209, 209, 209, 209, 209, 210, + + 210, 210, 210, 210, 210, 210, 210, 210, 211, 211, + 211, 211, 211, 211, 211, 211, 211, 211, 212, 212, + 212, 212, 212, 213, 213, 213, 213, 213, 214, 215, + 216, 216, 217, 217, 217, 217, 217, 218, 218, 218, + 218, 219, 219, 220, 221, 221, 221, 221, 221, 221, + 221, 221, 221, 221, 221, 221, 221, 221, 222, 222, + 222, 222, 222, 222, 222, 222, 223, 223, 223, 223, + 223, 223, 224, 224, 224, 224, 224, 225, 225, 225, + 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, + 226, 226, 226, 226, 227, 227, 228, 229, 230, 230, - 230, 231, 231, 232, 232 + 231, 231, 232, 233, 234, 234, 235, 235 } ; static yyconst int yy_ec[256] = @@ -426,16 +426,16 @@ 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 4, 1, 5, 6, 1, 1, 1, - 1, 1, 7, 1, 8, 9, 1, 10, 11, 11, - 11, 11, 11, 12, 11, 13, 11, 14, 15, 1, - 1, 1, 1, 1, 16, 16, 16, 16, 17, 16, + 1, 1, 7, 1, 8, 9, 1, 10, 11, 12, + 13, 14, 15, 16, 15, 17, 15, 18, 19, 1, + 1, 1, 1, 1, 20, 20, 20, 20, 21, 20, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 1, 1, 1, 1, 18, 1, 19, 20, 21, 22, + 1, 1, 1, 1, 22, 1, 23, 24, 25, 26, - 23, 24, 25, 26, 27, 5, 28, 29, 30, 31, - 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, - 42, 43, 1, 1, 1, 1, 1, 1, 1, 1, + 27, 28, 29, 30, 31, 5, 32, 33, 34, 35, + 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, + 46, 47, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -452,288 +452,290 @@ 1, 1, 1, 1, 1 } ; -static yyconst int yy_meta[44] = +static yyconst int yy_meta[48] = { 0, - 1, 1, 2, 1, 3, 1, 1, 3, 3, 3, - 3, 3, 3, 4, 1, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 1, 1, 2, 1, 3, 1, 4, 5, 3, 6, + 6, 6, 6, 6, 6, 6, 6, 7, 1, 3, + 8, 3, 3, 3, 3, 3, 8, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3 + 3, 3, 3, 3, 3, 3, 3 } ; -static yyconst short int yy_base[610] = +static yyconst short int yy_base[617] = { 0, - 0, 0, 1298, 1299, 1299, 1299, 1293, 1282, 36, 40, - 44, 50, 56, 62, 0, 63, 66, 81, 89, 47, - 108, 91, 105, 96, 119, 68, 144, 128, 111, 170, - 136, 201, 130, 117, 132, 125, 1291, 1299, 1280, 1299, - 0, 175, 190, 207, 229, 70, 234, 249, 254, 0, - 139, 145, 167, 76, 168, 138, 255, 31, 1279, 177, - 90, 198, 48, 110, 258, 195, 221, 211, 200, 1278, - 267, 269, 270, 156, 271, 272, 273, 217, 275, 276, - 219, 279, 288, 280, 300, 287, 283, 306, 296, 1277, - 307, 73, 309, 310, 312, 308, 315, 316, 324, 320, - - 326, 325, 162, 327, 328, 330, 344, 338, 347, 336, - 348, 354, 350, 358, 1276, 364, 357, 367, 369, 372, - 374, 373, 375, 399, 378, 389, 381, 391, 400, 241, - 394, 402, 1275, 0, 434, 438, 1274, 452, 469, 0, - 1273, 403, 409, 1272, 410, 418, 1271, 411, 1270, 421, - 438, 442, 422, 1269, 446, 456, 464, 470, 443, 413, - 444, 1268, 471, 380, 472, 474, 477, 460, 476, 481, - 479, 487, 488, 489, 493, 494, 490, 495, 491, 508, - 511, 501, 512, 513, 505, 516, 518, 522, 523, 416, - 1267, 525, 1266, 1265, 1264, 1263, 1262, 1261, 526, 1260, - - 1259, 530, 531, 1258, 1257, 559, 536, 535, 548, 532, - 563, 550, 1256, 1255, 1254, 549, 1253, 142, 533, 575, - 1252, 1251, 537, 576, 1250, 577, 579, 581, 582, 586, - 587, 583, 584, 1249, 1248, 1247, 585, 589, 1246, 588, - 1245, 590, 1244, 598, 1243, 602, 539, 604, 610, 612, - 613, 614, 616, 618, 1242, 623, 624, 1299, 635, 652, - 656, 660, 665, 625, 544, 626, 1241, 666, 635, 1240, - 1239, 1238, 629, 667, 668, 669, 670, 671, 672, 673, - 676, 674, 677, 678, 680, 681, 687, 695, 1237, 1236, - 693, 694, 698, 679, 1235, 1234, 699, 704, 1233, 706, - - 705, 707, 711, 710, 708, 712, 718, 1232, 1231, 1230, - 713, 719, 1229, 721, 725, 732, 0, 727, 1228, 738, - 735, 737, 740, 743, 744, 1227, 739, 627, 746, 754, - 1226, 747, 758, 1225, 759, 760, 1224, 767, 1223, 761, - 1222, 1221, 769, 771, 773, 772, 776, 777, 1220, 778, - 780, 1219, 784, 1218, 786, 787, 1217, 792, 1216, 792, - 795, 1215, 793, 798, 804, 806, 811, 802, 810, 812, - 814, 817, 820, 821, 822, 824, 825, 1214, 827, 1213, - 1212, 826, 830, 831, 828, 835, 840, 842, 844, 847, - 846, 1211, 851, 849, 852, 853, 854, 860, 857, 1210, - - 864, 867, 1209, 1208, 1207, 1206, 1205, 1204, 1203, 871, - 873, 872, 1202, 875, 874, 876, 1201, 1200, 877, 1199, - 1198, 878, 881, 884, 879, 889, 880, 894, 895, 898, - 1197, 903, 904, 1196, 905, 906, 907, 908, 1195, 909, - 910, 911, 1194, 1193, 1192, 919, 914, 1191, 1190, 1189, - 925, 920, 1188, 912, 930, 933, 926, 1187, 934, 1186, - 1185, 1184, 1183, 940, 942, 943, 1182, 944, 945, 1181, - 1180, 1179, 1178, 1177, 950, 946, 1176, 1175, 1174, 947, - 948, 956, 952, 951, 1173, 954, 1172, 957, 1171, 1170, - 966, 967, 46, 969, 971, 1169, 972, 973, 974, 976, - - 978, 983, 979, 982, 1168, 985, 986, 993, 997, 994, - 996, 1000, 1004, 1006, 1167, 1008, 1011, 1012, 1009, 1166, - 1013, 1014, 1015, 1016, 1165, 1164, 1161, 1020, 1152, 1021, - 1022, 1024, 1036, 1150, 1037, 1040, 1041, 1149, 1023, 1148, - 1147, 1043, 1047, 1026, 1050, 1051, 1052, 1053, 1057, 1058, - 1059, 1061, 1062, 1063, 1145, 1064, 1069, 1065, 1070, 1073, - 1079, 1072, 1144, 1075, 1083, 1076, 1086, 1087, 1143, 1089, - 1090, 1094, 1097, 1140, 1099, 1096, 1139, 1100, 1103, 1106, - 1108, 1109, 1111, 1112, 1116, 1118, 1120, 1121, 1122, 1123, - 1136, 1124, 1134, 741, 639, 1131, 591, 1133, 545, 497, + 0, 0, 1298, 1299, 1299, 1299, 1293, 1278, 40, 0, + 48, 58, 68, 1250, 0, 68, 71, 81, 91, 52, + 105, 93, 134, 117, 118, 73, 137, 143, 98, 175, + 144, 210, 159, 116, 56, 119, 1290, 1299, 1275, 1299, + 0, 241, 0, 1283, 1282, 140, 249, 1245, 267, 0, + 70, 163, 145, 31, 157, 160, 168, 57, 1271, 170, + 94, 180, 182, 54, 193, 189, 194, 114, 205, 1270, + 271, 207, 204, 211, 208, 279, 206, 228, 249, 53, + 121, 254, 1269, 268, 280, 281, 283, 290, 291, 285, + 286, 287, 300, 1268, 305, 292, 309, 310, 314, 293, + + 316, 217, 317, 321, 311, 147, 322, 325, 328, 331, + 341, 329, 344, 336, 339, 358, 347, 348, 1267, 363, + 349, 346, 366, 370, 371, 372, 373, 384, 377, 388, + 253, 398, 378, 401, 385, 403, 1266, 0, 0, 372, + 1265, 0, 442, 0, 1264, 404, 407, 1263, 408, 412, + 1262, 409, 1261, 414, 427, 428, 423, 1260, 418, 429, + 444, 445, 447, 448, 1259, 452, 449, 454, 457, 459, + 456, 458, 460, 464, 469, 255, 470, 476, 473, 471, + 1258, 1257, 1256, 475, 472, 484, 486, 483, 490, 496, + 497, 498, 500, 502, 503, 504, 1255, 507, 1254, 1253, + + 1252, 1251, 1250, 1249, 505, 1248, 1247, 512, 508, 1246, + 1245, 540, 517, 516, 521, 515, 551, 530, 1244, 1243, + 1242, 552, 1241, 554, 556, 557, 1240, 1239, 555, 558, + 1238, 559, 561, 563, 567, 572, 569, 570, 577, 1237, + 1236, 1235, 580, 583, 1234, 587, 1233, 585, 1232, 588, + 1231, 590, 513, 584, 591, 514, 598, 592, 596, 416, + 1230, 595, 607, 1299, 605, 622, 626, 628, 630, 621, + 622, 623, 1229, 624, 626, 1228, 1227, 1226, 625, 627, + 628, 633, 634, 636, 635, 637, 642, 647, 644, 643, + 654, 646, 658, 1225, 1224, 645, 656, 660, 661, 1223, + + 1222, 666, 667, 1221, 669, 670, 671, 675, 673, 674, + 676, 680, 1220, 1219, 1218, 683, 688, 1217, 686, 677, + 690, 0, 696, 1216, 698, 697, 699, 706, 707, 709, + 1215, 702, 712, 714, 717, 1214, 724, 713, 1213, 726, + 721, 1212, 731, 1211, 728, 1210, 1209, 732, 734, 739, + 740, 741, 743, 1208, 744, 747, 1207, 748, 1206, 751, + 750, 1205, 0, 1204, 752, 754, 1203, 755, 759, 764, + 767, 770, 758, 772, 776, 780, 781, 783, 782, 784, + 785, 1202, 786, 1201, 1200, 789, 791, 794, 787, 788, + 797, 798, 806, 807, 808, 1199, 810, 809, 812, 815, + + 816, 820, 822, 1198, 814, 828, 1197, 1196, 1195, 1194, + 1193, 1192, 1191, 830, 831, 833, 1190, 834, 836, 838, + 1189, 1188, 837, 1187, 1186, 839, 842, 840, 843, 844, + 850, 853, 854, 857, 1185, 860, 861, 1184, 864, 865, + 867, 869, 868, 870, 871, 1183, 1182, 1181, 875, 876, + 1180, 1179, 1178, 885, 882, 1177, 887, 891, 897, 883, + 1176, 886, 1175, 1174, 1173, 1172, 894, 901, 903, 1171, + 904, 907, 1170, 1169, 1168, 1167, 1166, 908, 910, 1165, + 1164, 1163, 909, 905, 911, 912, 914, 1162, 916, 1161, + 923, 1160, 1159, 926, 928, 929, 930, 933, 1158, 934, + + 935, 936, 938, 937, 948, 932, 940, 1157, 944, 950, + 956, 960, 962, 964, 966, 967, 968, 1156, 946, 972, + 974, 975, 1155, 976, 977, 978, 980, 1150, 1147, 1144, + 983, 1136, 993, 981, 985, 986, 1133, 998, 999, 1003, + 1130, 1006, 1124, 1113, 1007, 1008, 1009, 1010, 1011, 1013, + 1014, 1018, 1020, 1019, 1023, 1022, 1025, 1111, 1024, 1031, + 1026, 1035, 1039, 1040, 1036, 1109, 1043, 1044, 1046, 1050, + 1051, 1108, 1054, 1052, 1055, 1056, 1106, 1060, 1062, 1104, + 1064, 1067, 1057, 1069, 1076, 1077, 1080, 1081, 1082, 1084, + 1085, 1083, 1087, 1101, 1088, 1100, 1099, 1094, 1089, 982, - 334, 1132, 331, 1299, 1167, 1169, 296, 1173, 253 + 1098, 756, 527, 419, 1093, 326, 1299, 1132, 1138, 1144, + 268, 1152, 1158, 123, 1161, 1166 } ; -static yyconst short int yy_def[610] = +static yyconst short int yy_def[617] = { 0, - 604, 1, 604, 604, 604, 604, 605, 606, 607, 604, - 606, 606, 606, 606, 608, 606, 606, 606, 606, 606, - 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, - 606, 606, 606, 606, 606, 606, 605, 604, 606, 604, - 609, 609, 604, 604, 606, 606, 606, 606, 606, 608, - 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, - 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, - 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, - 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, - 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, - - 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, - 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, - 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, - 606, 606, 604, 609, 609, 604, 606, 606, 606, 49, - 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, - 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, - 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, - 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, - 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, - 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, - - 606, 606, 606, 606, 606, 49, 606, 606, 606, 606, - 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, - 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, - 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, - 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, - 606, 606, 606, 606, 606, 606, 606, 604, 604, 604, - 604, 606, 606, 606, 606, 606, 606, 606, 606, 606, - 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, - 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, - 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, - - 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, - 606, 606, 606, 606, 606, 606, 206, 606, 606, 606, - 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, - 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, - 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, - 606, 606, 606, 606, 606, 606, 606, 604, 606, 606, - 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, - 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, - 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, - 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, - - 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, - 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, - 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, - 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, - 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, - 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, - 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, - 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, - 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, - 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, - - 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, - 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, - 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, - 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, - 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, - 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, - 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, - 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, - 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, - 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, + 607, 1, 607, 607, 607, 607, 608, 609, 610, 611, + 609, 609, 11, 13, 612, 609, 609, 609, 609, 609, + 609, 609, 609, 609, 609, 609, 609, 609, 609, 609, + 609, 609, 609, 609, 609, 609, 608, 607, 609, 607, + 613, 613, 614, 611, 11, 609, 11, 13, 11, 612, + 609, 609, 609, 609, 609, 609, 609, 609, 609, 609, + 609, 609, 609, 609, 609, 609, 609, 609, 609, 609, + 609, 609, 609, 609, 609, 609, 609, 609, 609, 609, + 609, 609, 609, 609, 609, 609, 609, 609, 609, 609, + 609, 609, 609, 609, 609, 609, 609, 609, 609, 609, + + 609, 609, 609, 609, 609, 609, 609, 609, 609, 609, + 609, 609, 609, 609, 609, 609, 609, 609, 609, 609, + 609, 609, 609, 609, 609, 609, 609, 609, 609, 609, + 609, 609, 609, 609, 609, 609, 607, 613, 42, 615, + 609, 47, 11, 49, 609, 609, 609, 609, 609, 609, + 609, 609, 609, 609, 609, 609, 609, 609, 609, 609, + 609, 609, 609, 609, 609, 609, 609, 609, 609, 609, + 609, 609, 609, 609, 609, 609, 609, 609, 609, 609, + 609, 609, 609, 609, 609, 609, 609, 609, 609, 609, + 609, 609, 609, 609, 609, 609, 609, 609, 609, 609, + + 609, 609, 609, 609, 609, 609, 609, 609, 609, 609, + 609, 49, 609, 609, 609, 609, 609, 609, 609, 609, + 609, 609, 609, 609, 609, 609, 609, 609, 609, 609, + 609, 609, 609, 609, 609, 609, 609, 609, 609, 609, + 609, 609, 609, 609, 609, 609, 609, 609, 609, 609, + 609, 609, 609, 609, 609, 609, 609, 609, 609, 609, + 609, 609, 609, 607, 615, 616, 616, 143, 143, 609, + 609, 609, 609, 609, 609, 609, 609, 609, 609, 609, + 609, 609, 609, 609, 609, 609, 609, 609, 609, 609, + 609, 609, 609, 609, 609, 609, 609, 609, 609, 609, + + 609, 609, 609, 609, 609, 609, 609, 609, 609, 609, + 609, 609, 609, 609, 609, 609, 609, 609, 609, 609, + 609, 212, 609, 609, 609, 609, 609, 609, 609, 609, + 609, 609, 609, 609, 609, 609, 609, 609, 609, 609, + 609, 609, 609, 609, 609, 609, 609, 609, 609, 609, + 609, 609, 609, 609, 609, 609, 609, 609, 609, 609, + 609, 609, 267, 609, 609, 609, 609, 609, 609, 609, + 609, 609, 609, 609, 609, 609, 609, 609, 609, 609, + 609, 609, 609, 609, 609, 609, 609, 609, 609, 609, + 609, 609, 609, 609, 609, 609, 609, 609, 609, 609, + + 609, 609, 609, 609, 609, 609, 609, 609, 609, 609, + 609, 609, 609, 609, 609, 609, 609, 609, 609, 609, + 609, 609, 609, 609, 609, 609, 609, 609, 609, 609, + 609, 609, 609, 609, 609, 609, 609, 609, 609, 609, + 609, 609, 609, 609, 609, 609, 609, 609, 609, 609, + 609, 609, 609, 609, 609, 609, 609, 609, 609, 609, + 609, 609, 609, 609, 609, 609, 609, 609, 609, 609, + 609, 609, 609, 609, 609, 609, 609, 609, 609, 609, + 609, 609, 609, 609, 609, 609, 609, 609, 609, 609, + 609, 609, 609, 609, 609, 609, 609, 609, 609, 609, + + 609, 609, 609, 609, 609, 609, 609, 609, 609, 609, + 609, 609, 609, 609, 609, 609, 609, 609, 609, 609, + 609, 609, 609, 609, 609, 609, 609, 609, 609, 609, + 609, 609, 609, 609, 609, 609, 609, 609, 609, 609, + 609, 609, 609, 609, 609, 609, 609, 609, 609, 609, + 609, 609, 609, 609, 609, 609, 609, 609, 609, 609, + 609, 609, 609, 609, 609, 609, 609, 609, 609, 609, + 609, 609, 609, 609, 609, 609, 609, 609, 609, 609, + 609, 609, 609, 609, 609, 609, 609, 609, 609, 609, + 609, 609, 609, 609, 609, 609, 609, 609, 609, 609, - 606, 606, 606, 0, 604, 604, 604, 604, 604 + 609, 609, 609, 609, 609, 609, 0, 607, 607, 607, + 607, 607, 607, 607, 607, 607 } ; -static yyconst short int yy_nxt[1343] = +static yyconst short int yy_nxt[1347] = { 0, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, - 14, 14, 14, 4, 15, 8, 8, 8, 16, 17, - 18, 19, 20, 21, 22, 8, 23, 8, 24, 25, - 26, 27, 28, 8, 29, 30, 31, 32, 33, 34, - 35, 8, 36, 42, 40, 43, 43, 43, 43, 44, - 44, 44, 44, 45, 45, 45, 45, 40, 46, 40, - 40, 40, 151, 40, 47, 48, 48, 48, 48, 40, - 47, 48, 48, 48, 48, 40, 40, 69, 137, 40, - 70, 40, 157, 40, 51, 519, 40, 71, 56, 40, - 90, 52, 57, 53, 40, 54, 49, 58, 55, 60, - - 59, 61, 40, 40, 40, 91, 193, 64, 145, 40, - 154, 65, 62, 78, 83, 66, 63, 67, 40, 79, - 68, 40, 84, 40, 40, 80, 72, 85, 73, 74, - 40, 86, 40, 101, 81, 82, 75, 87, 40, 129, - 76, 40, 77, 40, 130, 40, 158, 132, 127, 40, - 88, 40, 40, 98, 114, 40, 89, 40, 40, 99, - 141, 128, 148, 131, 100, 328, 92, 115, 93, 40, - 116, 142, 94, 143, 95, 40, 96, 117, 97, 102, - 40, 40, 171, 40, 135, 135, 135, 135, 144, 103, - 40, 104, 105, 146, 106, 107, 108, 147, 109, 43, - - 43, 43, 43, 207, 110, 152, 111, 112, 40, 113, - 102, 40, 153, 40, 40, 136, 44, 44, 44, 44, - 118, 165, 119, 120, 40, 121, 155, 122, 156, 123, - 40, 124, 40, 162, 40, 125, 126, 47, 45, 45, - 45, 45, 40, 138, 138, 138, 138, 40, 164, 163, - 139, 179, 254, 176, 40, 134, 139, 47, 48, 48, - 48, 48, 40, 140, 140, 140, 140, 40, 40, 140, - 140, 40, 140, 140, 140, 140, 140, 140, 159, 149, - 40, 160, 40, 40, 40, 40, 40, 166, 40, 40, - 161, 150, 40, 40, 173, 175, 40, 168, 41, 170, - - 40, 40, 172, 167, 169, 178, 177, 183, 174, 40, - 184, 189, 188, 40, 180, 181, 185, 182, 186, 40, - 40, 40, 40, 40, 191, 40, 199, 190, 40, 40, - 187, 194, 196, 40, 198, 192, 200, 40, 40, 40, - 40, 40, 201, 40, 40, 195, 197, 40, 209, 40, - 202, 40, 213, 208, 203, 204, 210, 40, 223, 219, - 40, 40, 205, 40, 211, 206, 214, 40, 212, 221, - 40, 40, 215, 225, 220, 216, 226, 40, 217, 224, - 40, 218, 40, 222, 227, 40, 40, 40, 40, 231, - 229, 40, 228, 40, 40, 233, 235, 239, 250, 282, - - 248, 230, 40, 237, 40, 234, 240, 40, 232, 238, - 236, 241, 40, 40, 249, 40, 40, 251, 253, 252, - 242, 243, 40, 40, 40, 244, 40, 264, 255, 40, - 245, 40, 266, 246, 40, 40, 256, 268, 247, 278, - 265, 269, 257, 135, 135, 135, 135, 259, 259, 259, - 259, 40, 267, 312, 260, 40, 40, 40, 272, 40, - 260, 138, 138, 138, 138, 40, 270, 273, 139, 40, - 271, 277, 279, 40, 139, 261, 262, 40, 263, 263, - 263, 263, 40, 40, 40, 40, 275, 40, 276, 40, - 40, 274, 40, 280, 40, 287, 284, 281, 283, 285, - - 40, 40, 40, 40, 40, 291, 40, 40, 40, 298, - 40, 286, 288, 289, 40, 295, 297, 290, 40, 300, - 293, 40, 296, 294, 40, 40, 40, 299, 292, 40, - 301, 40, 304, 302, 305, 40, 40, 308, 40, 40, - 306, 307, 309, 40, 40, 40, 40, 303, 40, 40, - 40, 311, 40, 313, 321, 329, 310, 40, 40, 314, - 315, 40, 40, 40, 360, 348, 331, 316, 317, 317, - 317, 317, 318, 319, 317, 317, 40, 317, 317, 317, - 317, 317, 317, 327, 320, 322, 326, 323, 40, 40, - 40, 324, 40, 325, 40, 40, 40, 40, 40, 40, - - 40, 40, 40, 40, 40, 335, 330, 334, 337, 339, - 332, 40, 345, 333, 336, 40, 338, 40, 344, 340, - 343, 342, 341, 40, 347, 40, 40, 40, 346, 40, - 351, 40, 353, 349, 352, 355, 40, 40, 40, 40, - 40, 350, 40, 354, 259, 259, 259, 259, 40, 364, - 410, 260, 40, 363, 356, 359, 361, 260, 261, 261, - 357, 358, 358, 358, 358, 358, 358, 358, 358, 263, - 263, 263, 263, 40, 263, 263, 263, 263, 40, 40, - 40, 40, 40, 40, 40, 40, 40, 40, 368, 40, - 40, 40, 40, 40, 40, 374, 362, 367, 370, 377, - - 40, 369, 373, 365, 366, 372, 40, 40, 40, 378, - 375, 40, 40, 371, 376, 379, 384, 40, 40, 40, - 40, 40, 386, 40, 40, 40, 40, 385, 387, 380, - 381, 40, 40, 382, 40, 383, 392, 391, 40, 388, - 40, 389, 390, 393, 395, 40, 394, 396, 40, 400, - 40, 40, 40, 40, 40, 402, 40, 40, 397, 40, - 40, 398, 404, 399, 401, 406, 408, 40, 411, 413, - 403, 40, 40, 40, 40, 409, 405, 412, 414, 407, - 40, 415, 40, 418, 40, 40, 40, 417, 416, 40, - 40, 40, 419, 40, 423, 420, 421, 40, 422, 40, - - 40, 358, 358, 358, 358, 40, 40, 424, 40, 428, - 431, 40, 425, 430, 426, 40, 432, 40, 434, 40, - 427, 429, 435, 40, 40, 40, 436, 40, 433, 437, - 40, 440, 439, 40, 40, 40, 438, 40, 40, 40, - 40, 40, 443, 40, 40, 447, 441, 448, 40, 442, - 452, 444, 449, 40, 446, 40, 450, 40, 445, 40, - 40, 451, 40, 453, 40, 40, 40, 40, 458, 454, - 40, 460, 461, 40, 456, 462, 463, 40, 455, 457, - 40, 459, 464, 465, 40, 40, 40, 40, 40, 40, - 40, 40, 40, 40, 40, 466, 469, 40, 473, 468, - - 471, 476, 40, 467, 470, 477, 480, 40, 40, 474, - 472, 40, 481, 479, 475, 478, 40, 40, 40, 40, - 40, 40, 40, 40, 40, 40, 487, 40, 483, 484, - 489, 482, 40, 40, 498, 486, 493, 494, 40, 40, - 485, 491, 492, 40, 490, 496, 40, 40, 488, 497, - 495, 500, 499, 40, 502, 40, 40, 40, 40, 40, - 40, 40, 501, 40, 40, 40, 506, 40, 507, 40, - 40, 509, 504, 505, 503, 510, 508, 512, 513, 40, - 40, 514, 40, 511, 40, 40, 40, 40, 516, 40, - 515, 40, 40, 521, 522, 40, 40, 520, 40, 40, - - 517, 518, 524, 523, 525, 527, 40, 40, 531, 40, - 40, 532, 526, 40, 528, 533, 534, 40, 529, 40, - 536, 40, 40, 530, 40, 40, 40, 40, 40, 40, - 538, 542, 535, 40, 40, 40, 40, 40, 546, 40, - 537, 543, 549, 548, 544, 539, 547, 540, 541, 40, - 40, 545, 550, 40, 40, 551, 40, 552, 553, 555, - 40, 556, 558, 40, 40, 40, 40, 554, 559, 557, - 40, 40, 40, 562, 40, 40, 40, 40, 40, 566, - 560, 568, 40, 40, 564, 40, 40, 565, 40, 40, - 567, 569, 40, 563, 561, 573, 40, 571, 570, 40, - - 40, 574, 40, 40, 578, 577, 572, 40, 575, 40, - 40, 581, 40, 40, 579, 580, 40, 576, 586, 40, - 583, 40, 40, 588, 40, 40, 582, 584, 587, 40, - 585, 40, 589, 40, 40, 40, 40, 40, 590, 595, - 596, 597, 592, 591, 40, 40, 40, 40, 593, 40, - 594, 601, 40, 40, 600, 602, 40, 40, 40, 599, - 40, 40, 40, 40, 598, 40, 603, 37, 37, 37, - 37, 39, 39, 50, 40, 50, 50, 40, 40, 40, + 14, 14, 14, 14, 14, 14, 14, 4, 15, 8, + 8, 8, 16, 17, 18, 19, 20, 21, 22, 8, + 23, 8, 24, 25, 26, 27, 28, 8, 29, 30, + 31, 32, 33, 34, 35, 8, 36, 42, 40, 43, + 43, 43, 43, 43, 43, 43, 43, 45, 45, 45, + 45, 45, 45, 45, 45, 40, 46, 149, 181, 40, + 40, 40, 134, 40, 40, 40, 47, 48, 48, 48, + 48, 48, 48, 48, 48, 40, 69, 40, 40, 70, + 40, 135, 155, 51, 162, 145, 71, 56, 40, 94, + + 52, 57, 53, 60, 54, 61, 58, 55, 40, 59, + 40, 40, 49, 64, 95, 40, 62, 65, 158, 78, + 63, 66, 40, 67, 105, 79, 68, 72, 43, 73, + 74, 40, 182, 40, 40, 40, 40, 75, 40, 87, + 91, 76, 133, 77, 80, 136, 81, 88, 141, 82, + 83, 40, 89, 92, 40, 167, 90, 40, 84, 93, + 40, 40, 40, 96, 40, 97, 118, 85, 86, 98, + 148, 99, 102, 100, 40, 101, 40, 40, 103, 119, + 40, 131, 120, 104, 106, 40, 150, 40, 152, 121, + 151, 212, 40, 146, 132, 147, 153, 40, 107, 40, + + 108, 109, 156, 110, 111, 112, 40, 113, 154, 157, + 40, 40, 159, 114, 160, 115, 116, 163, 117, 106, + 161, 40, 40, 40, 40, 40, 166, 40, 40, 164, + 168, 165, 178, 122, 40, 123, 124, 173, 125, 171, + 126, 174, 127, 175, 128, 40, 172, 207, 129, 130, + 139, 139, 139, 139, 139, 139, 139, 139, 142, 142, + 142, 142, 142, 142, 142, 142, 40, 183, 179, 143, + 40, 40, 40, 44, 256, 143, 144, 144, 144, 144, + 144, 144, 144, 144, 180, 40, 144, 144, 40, 144, + 144, 144, 144, 144, 144, 169, 40, 40, 40, 297, + + 40, 184, 40, 40, 40, 176, 189, 40, 40, 40, + 40, 170, 196, 192, 194, 205, 185, 40, 195, 177, + 186, 187, 40, 188, 190, 193, 40, 40, 40, 199, + 191, 40, 197, 40, 40, 200, 202, 198, 40, 40, + 204, 206, 40, 40, 210, 40, 40, 208, 40, 201, + 203, 211, 215, 40, 225, 214, 40, 219, 40, 209, + 216, 40, 229, 40, 40, 40, 40, 213, 217, 226, + 227, 220, 218, 221, 230, 40, 222, 232, 233, 223, + 40, 231, 224, 40, 228, 237, 234, 40, 40, 40, + 40, 238, 266, 235, 40, 40, 239, 241, 266, 245, + + 259, 40, 40, 254, 236, 40, 243, 240, 246, 248, + 249, 242, 244, 247, 250, 40, 260, 255, 40, 251, + 40, 40, 252, 261, 40, 40, 40, 253, 257, 40, + 258, 40, 270, 40, 272, 40, 40, 360, 275, 274, + 40, 262, 271, 279, 40, 40, 40, 263, 267, 268, + 273, 269, 269, 269, 269, 269, 269, 269, 269, 276, + 277, 40, 40, 278, 40, 40, 40, 282, 280, 40, + 281, 40, 287, 40, 40, 40, 40, 40, 285, 283, + 284, 40, 286, 289, 288, 290, 40, 40, 40, 40, + 40, 296, 40, 40, 303, 292, 294, 291, 293, 302, + + 40, 40, 300, 40, 305, 298, 295, 40, 299, 301, + 306, 304, 307, 40, 40, 40, 310, 40, 309, 40, + 40, 40, 40, 313, 40, 40, 308, 311, 314, 40, + 40, 40, 40, 40, 40, 316, 356, 312, 40, 318, + 315, 326, 319, 353, 40, 317, 320, 40, 321, 322, + 322, 322, 322, 322, 322, 322, 322, 323, 324, 322, + 322, 325, 322, 322, 322, 322, 322, 322, 40, 40, + 331, 40, 40, 40, 40, 40, 40, 327, 40, 328, + 40, 333, 334, 329, 40, 330, 40, 40, 336, 40, + 332, 340, 335, 339, 40, 344, 337, 40, 342, 338, + + 40, 40, 40, 341, 40, 40, 343, 40, 40, 40, + 345, 350, 40, 40, 358, 40, 352, 354, 348, 346, + 347, 349, 351, 357, 40, 266, 355, 359, 267, 267, + 361, 266, 607, 607, 607, 39, 607, 39, 40, 40, + 40, 40, 40, 40, 40, 40, 365, 362, 368, 369, + 40, 40, 40, 40, 40, 364, 373, 366, 367, 40, + 40, 40, 40, 40, 40, 372, 374, 370, 371, 378, + 376, 40, 382, 40, 377, 40, 381, 40, 40, 375, + 379, 380, 383, 40, 40, 384, 40, 40, 40, 390, + 40, 40, 40, 40, 40, 391, 385, 40, 389, 386, + + 40, 387, 388, 40, 395, 40, 396, 40, 392, 393, + 394, 397, 398, 40, 40, 40, 40, 402, 399, 40, + 400, 406, 404, 40, 40, 403, 40, 401, 405, 40, + 40, 40, 408, 410, 40, 412, 407, 418, 40, 414, + 415, 40, 413, 40, 416, 40, 409, 411, 40, 40, + 417, 40, 419, 420, 422, 421, 40, 40, 40, 423, + 40, 40, 424, 427, 40, 40, 425, 40, 40, 40, + 426, 40, 40, 40, 435, 40, 40, 428, 432, 436, + 434, 40, 429, 438, 40, 430, 439, 40, 431, 40, + 433, 440, 441, 40, 437, 443, 442, 40, 40, 40, + + 40, 40, 40, 40, 40, 40, 40, 446, 40, 450, + 451, 40, 444, 455, 40, 40, 445, 447, 449, 452, + 456, 453, 448, 40, 40, 40, 40, 40, 454, 40, + 457, 40, 40, 40, 461, 463, 464, 40, 458, 40, + 459, 465, 466, 460, 462, 40, 467, 40, 40, 469, + 40, 40, 468, 40, 40, 40, 40, 40, 472, 40, + 40, 40, 471, 474, 476, 480, 479, 40, 470, 473, + 40, 40, 482, 477, 40, 484, 475, 40, 40, 478, + 483, 40, 40, 481, 40, 40, 40, 40, 40, 490, + 487, 486, 40, 40, 485, 492, 496, 497, 489, 40, + + 40, 488, 40, 40, 40, 494, 495, 493, 40, 499, + 505, 40, 491, 501, 40, 500, 498, 502, 40, 503, + 40, 40, 40, 504, 40, 40, 40, 40, 40, 40, + 509, 40, 506, 40, 510, 507, 515, 508, 511, 512, + 40, 513, 516, 40, 514, 40, 40, 40, 517, 40, + 40, 40, 40, 40, 40, 40, 518, 40, 519, 524, + 525, 40, 523, 40, 520, 40, 521, 40, 527, 526, + 528, 531, 522, 40, 530, 529, 534, 40, 535, 40, + 532, 40, 536, 40, 40, 40, 533, 542, 537, 40, + 539, 40, 40, 40, 40, 40, 541, 40, 40, 40, + + 40, 545, 40, 40, 538, 552, 549, 540, 546, 554, + 40, 547, 543, 550, 544, 40, 40, 553, 548, 551, + 40, 556, 555, 40, 40, 40, 40, 40, 40, 559, + 40, 40, 562, 557, 560, 40, 40, 40, 565, 40, + 40, 40, 40, 40, 563, 569, 558, 571, 40, 561, + 567, 568, 40, 40, 570, 572, 40, 40, 566, 564, + 40, 40, 574, 40, 573, 576, 577, 40, 40, 40, + 580, 40, 40, 40, 40, 575, 578, 40, 581, 40, + 584, 40, 582, 583, 40, 586, 40, 592, 589, 579, + 587, 591, 585, 40, 40, 588, 590, 40, 40, 40, + + 40, 40, 40, 593, 40, 40, 40, 598, 599, 600, + 40, 40, 595, 604, 594, 40, 40, 40, 40, 597, + 596, 40, 603, 40, 605, 40, 40, 602, 40, 601, + 40, 606, 37, 37, 37, 37, 37, 37, 37, 37, + 39, 40, 39, 39, 39, 39, 41, 40, 41, 41, + 40, 41, 50, 40, 50, 50, 50, 50, 50, 50, + 138, 40, 138, 138, 40, 138, 265, 40, 265, 363, + 363, 363, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, @@ -745,166 +747,166 @@ 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, - 40, 40, 40, 40, 40, 40, 40, 40, 258, 40, - 40, 40, 40, 40, 133, 40, 38, 604, 3, 604, + 40, 40, 40, 264, 40, 40, 40, 40, 40, 39, + 47, 140, 40, 137, 39, 40, 38, 607, 3, 607, - 604, 604, 604, 604, 604, 604, 604, 604, 604, 604, - 604, 604, 604, 604, 604, 604, 604, 604, 604, 604, - 604, 604, 604, 604, 604, 604, 604, 604, 604, 604, - 604, 604, 604, 604, 604, 604, 604, 604, 604, 604, - 604, 604 + 607, 607, 607, 607, 607, 607, 607, 607, 607, 607, + 607, 607, 607, 607, 607, 607, 607, 607, 607, 607, + 607, 607, 607, 607, 607, 607, 607, 607, 607, 607, + 607, 607, 607, 607, 607, 607, 607, 607, 607, 607, + 607, 607, 607, 607, 607, 607 } ; -static yyconst short int yy_chk[1343] = +static yyconst short int yy_chk[1347] = { 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 9, 58, 9, 9, 9, 9, 10, - 10, 10, 10, 11, 11, 11, 11, 11, 12, 493, - 20, 63, 58, 12, 13, 13, 13, 13, 13, 13, - 14, 14, 14, 14, 14, 14, 16, 20, 46, 17, - 20, 26, 63, 46, 16, 493, 92, 20, 17, 54, - 26, 16, 17, 16, 18, 16, 13, 17, 16, 18, - - 17, 18, 19, 61, 22, 26, 92, 19, 54, 24, - 61, 19, 18, 22, 24, 19, 18, 19, 23, 22, - 19, 21, 24, 64, 29, 23, 21, 24, 21, 21, - 34, 24, 25, 29, 23, 23, 21, 25, 36, 34, - 21, 28, 21, 33, 35, 35, 64, 36, 33, 31, - 25, 56, 51, 28, 31, 218, 25, 27, 52, 28, - 51, 33, 56, 35, 28, 218, 27, 31, 27, 74, - 31, 52, 27, 52, 27, 103, 27, 31, 27, 30, - 53, 55, 74, 30, 42, 42, 42, 42, 53, 30, - 60, 30, 30, 55, 30, 30, 30, 55, 30, 43, - - 43, 43, 43, 103, 30, 60, 30, 30, 66, 30, - 32, 62, 60, 69, 32, 44, 44, 44, 44, 44, - 32, 69, 32, 32, 68, 32, 62, 32, 62, 32, - 78, 32, 81, 66, 67, 32, 32, 45, 45, 45, - 45, 45, 45, 47, 47, 47, 47, 47, 68, 67, - 47, 81, 130, 78, 130, 609, 47, 48, 48, 48, - 48, 48, 48, 49, 49, 49, 49, 49, 57, 49, - 49, 65, 49, 49, 49, 49, 49, 49, 65, 57, - 71, 65, 72, 73, 75, 76, 77, 71, 79, 80, - 65, 57, 82, 84, 76, 77, 87, 72, 607, 73, - - 86, 83, 75, 71, 72, 80, 79, 83, 76, 89, - 84, 87, 86, 85, 82, 82, 84, 82, 85, 88, - 91, 96, 93, 94, 89, 95, 96, 88, 97, 98, - 85, 93, 94, 100, 95, 91, 97, 99, 102, 101, - 104, 105, 98, 106, 603, 93, 94, 601, 105, 110, - 99, 108, 106, 104, 100, 101, 105, 107, 110, 108, - 109, 111, 101, 113, 105, 102, 106, 112, 105, 109, - 117, 114, 107, 112, 108, 107, 113, 116, 107, 111, - 118, 107, 119, 109, 114, 120, 122, 121, 123, 117, - 116, 125, 114, 164, 127, 119, 121, 123, 127, 164, - - 125, 116, 126, 122, 128, 120, 123, 131, 118, 122, - 121, 123, 124, 129, 126, 132, 142, 128, 129, 128, - 124, 124, 143, 145, 148, 124, 160, 142, 131, 190, - 124, 146, 145, 124, 150, 153, 132, 148, 124, 160, - 143, 150, 132, 135, 135, 135, 135, 136, 136, 136, - 136, 151, 146, 190, 136, 152, 159, 161, 153, 155, - 136, 138, 138, 138, 138, 138, 151, 155, 138, 156, - 152, 159, 161, 168, 138, 139, 139, 157, 139, 139, - 139, 139, 139, 158, 163, 165, 157, 166, 158, 169, - 167, 156, 171, 163, 170, 168, 166, 163, 165, 167, - - 172, 173, 174, 177, 179, 172, 175, 176, 178, 177, - 600, 167, 169, 170, 182, 175, 176, 171, 185, 179, - 174, 180, 175, 174, 181, 183, 184, 178, 173, 186, - 180, 187, 182, 181, 183, 188, 189, 186, 192, 199, - 184, 185, 187, 202, 203, 210, 219, 181, 208, 207, - 223, 189, 247, 192, 210, 219, 188, 265, 599, 199, - 202, 209, 216, 212, 265, 247, 223, 203, 206, 206, - 206, 206, 207, 208, 206, 206, 211, 206, 206, 206, - 206, 206, 206, 216, 209, 211, 212, 211, 220, 224, - 226, 211, 227, 211, 228, 229, 232, 233, 237, 230, - - 231, 240, 238, 242, 597, 228, 220, 227, 230, 231, - 224, 244, 242, 226, 229, 246, 230, 248, 240, 232, - 238, 237, 233, 249, 246, 250, 251, 252, 244, 253, - 250, 254, 252, 248, 251, 254, 256, 257, 264, 266, - 328, 249, 273, 253, 259, 259, 259, 259, 269, 273, - 328, 259, 595, 269, 256, 264, 266, 259, 260, 260, - 257, 260, 260, 260, 260, 261, 261, 261, 261, 262, - 262, 262, 262, 262, 263, 263, 263, 263, 263, 268, - 274, 275, 276, 277, 278, 279, 280, 282, 277, 281, - 283, 284, 294, 285, 286, 283, 268, 276, 279, 286, - - 287, 278, 282, 274, 275, 281, 291, 292, 288, 287, - 284, 293, 297, 280, 285, 288, 294, 298, 301, 300, - 302, 305, 298, 304, 303, 306, 311, 297, 300, 291, - 292, 307, 312, 293, 314, 293, 305, 304, 315, 301, - 318, 302, 303, 306, 311, 316, 307, 312, 321, 318, - 322, 320, 327, 323, 594, 321, 324, 325, 314, 329, - 332, 315, 323, 316, 320, 324, 325, 330, 329, 332, - 322, 333, 335, 336, 340, 327, 323, 330, 333, 324, - 338, 335, 343, 340, 344, 346, 345, 338, 336, 347, - 348, 350, 343, 351, 347, 344, 345, 353, 346, 355, - - 356, 358, 358, 358, 358, 360, 363, 348, 361, 355, - 360, 364, 350, 356, 351, 368, 361, 365, 364, 366, - 353, 355, 365, 369, 367, 370, 366, 371, 363, 367, - 372, 370, 369, 373, 374, 375, 368, 376, 377, 382, - 379, 385, 373, 383, 384, 377, 371, 379, 386, 372, - 385, 374, 382, 387, 376, 388, 383, 389, 375, 391, - 390, 384, 394, 386, 393, 395, 396, 397, 391, 387, - 399, 394, 395, 398, 389, 396, 397, 401, 388, 390, - 402, 393, 398, 399, 410, 412, 411, 415, 414, 416, - 419, 422, 425, 427, 423, 401, 411, 424, 416, 410, - - 414, 423, 426, 402, 412, 424, 427, 428, 429, 419, - 415, 430, 428, 426, 422, 425, 432, 433, 435, 436, - 437, 438, 440, 441, 442, 454, 436, 447, 430, 432, - 438, 429, 446, 452, 454, 435, 446, 446, 451, 457, - 433, 441, 442, 455, 440, 451, 456, 459, 437, 452, - 447, 456, 455, 464, 459, 465, 466, 468, 469, 476, - 480, 481, 457, 475, 484, 483, 468, 486, 469, 482, - 488, 476, 465, 466, 464, 480, 475, 482, 483, 491, - 492, 484, 494, 481, 495, 497, 498, 499, 488, 500, - 486, 501, 503, 495, 497, 504, 502, 494, 506, 507, - - 491, 492, 499, 498, 500, 502, 508, 510, 507, 511, - 509, 508, 501, 512, 503, 509, 510, 513, 504, 514, - 512, 516, 519, 506, 517, 518, 521, 522, 523, 524, - 514, 519, 511, 528, 530, 531, 539, 532, 524, 544, - 513, 521, 531, 530, 522, 516, 528, 517, 518, 533, - 535, 523, 532, 536, 537, 533, 542, 535, 536, 539, - 543, 542, 544, 545, 546, 547, 548, 537, 545, 543, - 549, 550, 551, 548, 552, 553, 554, 556, 558, 552, - 546, 554, 557, 559, 550, 562, 560, 551, 564, 566, - 553, 556, 561, 549, 547, 560, 565, 558, 557, 567, - - 568, 561, 570, 571, 566, 565, 559, 572, 562, 576, - 573, 570, 575, 578, 567, 568, 579, 564, 576, 580, - 572, 581, 582, 579, 583, 584, 571, 573, 578, 585, - 575, 586, 580, 587, 588, 589, 590, 592, 581, 586, - 587, 588, 583, 582, 596, 602, 598, 593, 584, 591, - 585, 596, 577, 574, 592, 598, 569, 563, 555, 590, - 541, 540, 538, 534, 589, 529, 602, 605, 605, 605, - 605, 606, 606, 608, 527, 608, 608, 526, 525, 520, - 515, 505, 496, 490, 489, 487, 485, 479, 478, 477, - 474, 473, 472, 471, 470, 467, 463, 462, 461, 460, - - 458, 453, 450, 449, 448, 445, 444, 443, 439, 434, - 431, 421, 420, 418, 417, 413, 409, 408, 407, 406, - 405, 404, 403, 400, 392, 381, 380, 378, 362, 359, - 357, 354, 352, 349, 342, 341, 339, 337, 334, 331, - 326, 319, 313, 310, 309, 308, 299, 296, 295, 290, - 289, 272, 271, 270, 267, 255, 245, 243, 241, 239, - 236, 235, 234, 225, 222, 221, 217, 215, 214, 213, - 205, 204, 201, 200, 198, 197, 196, 195, 194, 193, - 191, 162, 154, 149, 147, 144, 141, 137, 133, 115, - 90, 70, 59, 39, 37, 8, 7, 3, 604, 604, - - 604, 604, 604, 604, 604, 604, 604, 604, 604, 604, - 604, 604, 604, 604, 604, 604, 604, 604, 604, 604, - 604, 604, 604, 604, 604, 604, 604, 604, 604, 604, - 604, 604, 604, 604, 604, 604, 604, 604, 604, 604, - 604, 604 + 1, 1, 1, 1, 1, 1, 1, 9, 54, 9, + 9, 9, 9, 9, 9, 9, 9, 11, 11, 11, + 11, 11, 11, 11, 11, 11, 12, 54, 80, 20, + 80, 64, 35, 35, 58, 12, 13, 13, 13, 13, + 13, 13, 13, 13, 13, 16, 20, 51, 17, 20, + 26, 35, 58, 16, 64, 51, 20, 17, 18, 26, + + 16, 17, 16, 18, 16, 18, 17, 16, 19, 17, + 22, 61, 13, 19, 26, 29, 18, 19, 61, 22, + 18, 19, 21, 19, 29, 22, 19, 21, 614, 21, + 21, 68, 81, 34, 24, 25, 36, 21, 81, 24, + 25, 21, 34, 21, 23, 36, 23, 24, 46, 23, + 23, 23, 24, 25, 27, 68, 24, 46, 23, 25, + 28, 31, 53, 27, 106, 27, 31, 23, 23, 27, + 53, 27, 28, 27, 55, 27, 33, 56, 28, 31, + 52, 33, 31, 28, 30, 57, 55, 60, 56, 31, + 55, 106, 30, 52, 33, 52, 57, 62, 30, 63, + + 30, 30, 60, 30, 30, 30, 66, 30, 57, 60, + 65, 67, 62, 30, 62, 30, 30, 65, 30, 32, + 63, 73, 69, 77, 72, 75, 67, 32, 74, 65, + 69, 66, 77, 32, 102, 32, 32, 73, 32, 72, + 32, 74, 32, 75, 32, 78, 72, 102, 32, 32, + 42, 42, 42, 42, 42, 42, 42, 42, 47, 47, + 47, 47, 47, 47, 47, 47, 79, 82, 78, 47, + 131, 82, 176, 611, 131, 47, 49, 49, 49, 49, + 49, 49, 49, 49, 79, 84, 49, 49, 71, 49, + 49, 49, 49, 49, 49, 71, 76, 85, 86, 176, + + 87, 84, 90, 91, 92, 76, 87, 88, 89, 96, + 100, 71, 92, 89, 90, 100, 85, 93, 91, 76, + 86, 86, 95, 86, 88, 89, 97, 98, 105, 96, + 88, 99, 93, 101, 103, 97, 98, 95, 104, 107, + 99, 101, 108, 606, 105, 109, 112, 103, 110, 97, + 98, 105, 109, 114, 112, 108, 115, 110, 111, 104, + 109, 113, 114, 122, 117, 118, 121, 107, 109, 112, + 113, 110, 109, 111, 115, 116, 111, 117, 118, 111, + 120, 116, 111, 123, 113, 121, 118, 124, 125, 126, + 127, 122, 140, 120, 129, 133, 123, 125, 140, 127, + + 133, 128, 135, 129, 120, 130, 126, 124, 127, 128, + 128, 125, 126, 127, 128, 132, 134, 130, 134, 128, + 136, 146, 128, 135, 147, 149, 152, 128, 132, 150, + 132, 154, 146, 260, 149, 159, 604, 260, 154, 152, + 157, 136, 147, 159, 155, 156, 160, 136, 143, 143, + 150, 143, 143, 143, 143, 143, 143, 143, 143, 155, + 156, 161, 162, 157, 163, 164, 167, 162, 160, 166, + 161, 168, 167, 171, 169, 172, 170, 173, 166, 163, + 164, 174, 166, 169, 168, 170, 175, 177, 180, 185, + 179, 175, 184, 178, 180, 171, 173, 170, 172, 179, + + 188, 186, 178, 187, 185, 177, 174, 189, 177, 178, + 186, 184, 187, 190, 191, 192, 189, 193, 188, 194, + 195, 196, 205, 192, 198, 209, 187, 190, 193, 208, + 253, 256, 216, 214, 213, 195, 256, 191, 215, 198, + 194, 216, 205, 253, 603, 196, 208, 218, 209, 212, + 212, 212, 212, 212, 212, 212, 212, 213, 214, 212, + 212, 215, 212, 212, 212, 212, 212, 212, 217, 222, + 218, 224, 229, 225, 226, 230, 232, 217, 233, 217, + 234, 224, 225, 217, 235, 217, 237, 238, 229, 236, + 222, 234, 226, 233, 239, 237, 230, 243, 236, 232, + + 244, 254, 248, 235, 246, 250, 236, 252, 255, 258, + 238, 248, 262, 259, 258, 257, 252, 254, 244, 239, + 243, 246, 250, 257, 263, 265, 255, 259, 266, 266, + 262, 265, 267, 267, 268, 268, 269, 269, 270, 271, + 272, 274, 279, 275, 280, 281, 271, 263, 275, 279, + 282, 283, 285, 284, 286, 270, 283, 272, 274, 287, + 290, 289, 296, 292, 288, 282, 284, 280, 281, 288, + 286, 291, 292, 297, 287, 293, 291, 298, 299, 285, + 289, 290, 293, 302, 303, 296, 305, 306, 307, 303, + 309, 310, 308, 311, 320, 305, 297, 312, 302, 298, + + 316, 298, 299, 319, 309, 317, 310, 321, 306, 307, + 308, 311, 312, 323, 326, 325, 327, 320, 316, 332, + 317, 326, 323, 328, 329, 321, 330, 319, 325, 333, + 338, 334, 328, 329, 335, 330, 327, 338, 341, 333, + 334, 337, 332, 340, 335, 345, 328, 329, 343, 348, + 337, 349, 340, 341, 345, 343, 350, 351, 352, 348, + 353, 355, 349, 352, 356, 358, 350, 361, 360, 365, + 351, 366, 368, 602, 365, 373, 369, 353, 360, 366, + 361, 370, 355, 369, 371, 356, 370, 372, 358, 374, + 360, 371, 372, 375, 368, 374, 373, 376, 377, 379, + + 378, 380, 381, 383, 389, 390, 386, 377, 387, 381, + 383, 388, 375, 389, 391, 392, 376, 378, 380, 386, + 390, 387, 379, 393, 394, 395, 398, 397, 388, 399, + 391, 405, 400, 401, 395, 398, 399, 402, 392, 403, + 393, 400, 401, 394, 397, 406, 402, 414, 415, 405, + 416, 418, 403, 419, 423, 420, 426, 428, 415, 427, + 429, 430, 414, 418, 420, 428, 427, 431, 406, 416, + 432, 433, 430, 423, 434, 432, 419, 436, 437, 426, + 431, 439, 440, 429, 441, 443, 442, 444, 445, 440, + 436, 434, 449, 450, 433, 442, 449, 449, 439, 455, + + 460, 437, 454, 462, 457, 444, 445, 443, 458, 454, + 462, 467, 441, 457, 459, 455, 450, 458, 468, 459, + 469, 471, 484, 460, 472, 478, 483, 479, 485, 486, + 471, 487, 467, 489, 472, 468, 485, 469, 478, 479, + 491, 483, 486, 494, 484, 495, 496, 497, 487, 506, + 498, 500, 501, 502, 504, 503, 489, 507, 491, 498, + 500, 509, 497, 519, 494, 505, 495, 510, 502, 501, + 503, 506, 496, 511, 505, 504, 510, 512, 511, 513, + 507, 514, 512, 515, 516, 517, 509, 519, 513, 520, + 515, 521, 522, 524, 525, 526, 517, 527, 534, 600, + + 531, 522, 535, 536, 514, 534, 527, 516, 524, 536, + 533, 525, 520, 531, 521, 538, 539, 535, 526, 533, + 540, 539, 538, 542, 545, 546, 547, 548, 549, 545, + 550, 551, 548, 540, 546, 552, 554, 553, 551, 556, + 555, 559, 557, 561, 549, 555, 542, 557, 560, 547, + 553, 554, 562, 565, 556, 559, 563, 564, 552, 550, + 567, 568, 561, 569, 560, 563, 564, 570, 571, 574, + 568, 573, 575, 576, 583, 562, 565, 578, 569, 579, + 573, 581, 570, 571, 582, 575, 584, 583, 579, 567, + 576, 582, 574, 585, 586, 578, 581, 587, 588, 589, + + 592, 590, 591, 584, 593, 595, 599, 589, 590, 591, + 605, 598, 586, 599, 585, 601, 597, 596, 594, 588, + 587, 580, 595, 577, 601, 572, 566, 593, 558, 592, + 544, 605, 608, 608, 608, 608, 608, 608, 608, 608, + 609, 543, 609, 609, 609, 609, 610, 541, 610, 610, + 537, 610, 612, 532, 612, 612, 612, 612, 612, 612, + 613, 530, 613, 613, 529, 613, 615, 528, 615, 616, + 616, 616, 523, 518, 508, 499, 493, 492, 490, 488, + 482, 481, 480, 477, 476, 475, 474, 473, 470, 466, + 465, 464, 463, 461, 456, 453, 452, 451, 448, 447, + + 446, 438, 435, 425, 424, 422, 421, 417, 413, 412, + 411, 410, 409, 408, 407, 404, 396, 385, 384, 382, + 367, 364, 362, 359, 357, 354, 347, 346, 344, 342, + 339, 336, 331, 324, 318, 315, 314, 313, 304, 301, + 300, 295, 294, 278, 277, 276, 273, 261, 251, 249, + 247, 245, 242, 241, 240, 231, 228, 227, 223, 221, + 220, 219, 211, 210, 207, 206, 204, 203, 202, 201, + 200, 199, 197, 183, 182, 181, 165, 158, 153, 151, + 148, 145, 141, 137, 119, 94, 83, 70, 59, 48, + 45, 44, 39, 37, 14, 8, 7, 3, 607, 607, + + 607, 607, 607, 607, 607, 607, 607, 607, 607, 607, + 607, 607, 607, 607, 607, 607, 607, 607, 607, 607, + 607, 607, 607, 607, 607, 607, 607, 607, 607, 607, + 607, 607, 607, 607, 607, 607, 607, 607, 607, 607, + 607, 607, 607, 607, 607, 607 } ; static yy_state_type yy_state_buf[YY_BUF_SIZE + 2], *yy_state_ptr; @@ -921,7 +923,7 @@ #define YY_MORE_ADJ 0 #define YY_RESTORE_YY_MORE_OFFSET char *yytext; -#line 1 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +#line 1 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" #define INITIAL 0 /*===-- UpgradeLexer.l - Scanner for 1.9 assembly files --------*- C++ -*--===// // @@ -936,7 +938,7 @@ // //===----------------------------------------------------------------------===*/ #define YY_NEVER_INTERACTIVE 1 -#line 28 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +#line 28 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" #include "ParserInternals.h" #include "UpgradeParser.h" @@ -982,7 +984,7 @@ /* HexIntConstant - Hexadecimal constant generated by the CFE to avoid forcing * it to deal with 64 bit numbers. */ -#line 986 "UpgradeLexer.cpp" +#line 988 "UpgradeLexer.cpp" /* Macros after this point can all be overridden by user definitions in * section 1. @@ -1133,10 +1135,10 @@ register char *yy_cp = NULL, *yy_bp = NULL; register int yy_act; -#line 99 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +#line 99 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" -#line 1140 "UpgradeLexer.cpp" +#line 1142 "UpgradeLexer.cpp" if ( yy_init ) { @@ -1184,14 +1186,14 @@ while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 605 ) + if ( yy_current_state >= 608 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; *yy_state_ptr++ = yy_current_state; ++yy_cp; } - while ( yy_current_state != 604 ); + while ( yy_current_state != 607 ); yy_find_action: yy_current_state = *--yy_state_ptr; @@ -1229,761 +1231,776 @@ { /* beginning of action switch */ case 1: YY_RULE_SETUP -#line 101 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +#line 101 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" { /* Ignore comments for now */ } YY_BREAK case 2: YY_RULE_SETUP -#line 103 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +#line 103 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" { RET_TOK( BEGINTOK); } YY_BREAK case 3: YY_RULE_SETUP -#line 104 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +#line 104 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" { RET_TOK( ENDTOK); } YY_BREAK case 4: YY_RULE_SETUP -#line 105 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +#line 105 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" { RET_TOK( TRUETOK); } YY_BREAK case 5: YY_RULE_SETUP -#line 106 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +#line 106 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" { RET_TOK( FALSETOK); } YY_BREAK case 6: YY_RULE_SETUP -#line 107 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +#line 107 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" { RET_TOK( DECLARE); } YY_BREAK case 7: YY_RULE_SETUP -#line 108 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( DEFINE); } +#line 108 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( GLOBAL); } YY_BREAK case 8: YY_RULE_SETUP -#line 109 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( GLOBAL); } +#line 109 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( CONSTANT); } YY_BREAK case 9: YY_RULE_SETUP -#line 110 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( CONSTANT); } +#line 110 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( INTERNAL); } YY_BREAK case 10: YY_RULE_SETUP -#line 111 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( INTERNAL); } +#line 111 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( LINKONCE); } YY_BREAK case 11: YY_RULE_SETUP -#line 112 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( LINKONCE); } +#line 112 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( WEAK); } YY_BREAK case 12: YY_RULE_SETUP -#line 113 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( WEAK); } +#line 113 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( APPENDING); } YY_BREAK case 13: YY_RULE_SETUP -#line 114 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( APPENDING); } +#line 114 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( DLLIMPORT); } YY_BREAK case 14: YY_RULE_SETUP -#line 115 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( DLLIMPORT); } +#line 115 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( DLLEXPORT); } YY_BREAK case 15: YY_RULE_SETUP -#line 116 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( DLLEXPORT); } +#line 116 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( EXTERN_WEAK); } YY_BREAK case 16: YY_RULE_SETUP -#line 117 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( EXTERN_WEAK); } +#line 117 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( EXTERNAL); } YY_BREAK case 17: YY_RULE_SETUP -#line 118 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( EXTERNAL); } +#line 118 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( UNINITIALIZED); } // alias for external YY_BREAK case 18: YY_RULE_SETUP -#line 119 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( UNINITIALIZED); } // alias for external +#line 119 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( IMPLEMENTATION); } YY_BREAK case 19: YY_RULE_SETUP -#line 120 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( IMPLEMENTATION); } +#line 120 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( ZEROINITIALIZER); } YY_BREAK case 20: YY_RULE_SETUP -#line 121 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( ZEROINITIALIZER); } +#line 121 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( DOTDOTDOT); } YY_BREAK case 21: YY_RULE_SETUP -#line 122 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( DOTDOTDOT); } +#line 122 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( UNDEF); } YY_BREAK case 22: YY_RULE_SETUP -#line 123 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( UNDEF); } +#line 123 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( NULL_TOK); } YY_BREAK case 23: YY_RULE_SETUP -#line 124 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( NULL_TOK); } +#line 124 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( TO); } YY_BREAK case 24: YY_RULE_SETUP -#line 125 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( TO); } +#line 125 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( TAIL); } YY_BREAK case 25: YY_RULE_SETUP -#line 126 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( TAIL); } +#line 126 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( TARGET); } YY_BREAK case 26: YY_RULE_SETUP -#line 127 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( TARGET); } +#line 127 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( TRIPLE); } YY_BREAK case 27: YY_RULE_SETUP -#line 128 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( TRIPLE); } +#line 128 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( DEPLIBS); } YY_BREAK case 28: YY_RULE_SETUP -#line 129 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( DEPLIBS); } +#line 129 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( ENDIAN); } YY_BREAK case 29: YY_RULE_SETUP -#line 130 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( ENDIAN); } +#line 130 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( POINTERSIZE); } YY_BREAK case 30: YY_RULE_SETUP -#line 131 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( POINTERSIZE); } +#line 131 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( DATALAYOUT); } YY_BREAK case 31: YY_RULE_SETUP -#line 132 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( DATALAYOUT); } +#line 132 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( LITTLE); } YY_BREAK case 32: YY_RULE_SETUP -#line 133 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( LITTLE); } +#line 133 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( BIG); } YY_BREAK case 33: YY_RULE_SETUP -#line 134 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( BIG); } +#line 134 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( VOLATILE); } YY_BREAK case 34: YY_RULE_SETUP -#line 135 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( VOLATILE); } +#line 135 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( ALIGN); } YY_BREAK case 35: YY_RULE_SETUP -#line 136 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( ALIGN); } +#line 136 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( SECTION); } YY_BREAK case 36: YY_RULE_SETUP -#line 137 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( SECTION); } +#line 137 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( MODULE); } YY_BREAK case 37: YY_RULE_SETUP -#line 138 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( MODULE); } +#line 138 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( ASM_TOK); } YY_BREAK case 38: YY_RULE_SETUP -#line 139 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( ASM_TOK); } +#line 139 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( SIDEEFFECT); } YY_BREAK case 39: YY_RULE_SETUP -#line 140 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( SIDEEFFECT); } +#line 141 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( CC_TOK); } YY_BREAK case 40: YY_RULE_SETUP -#line 142 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( CC_TOK); } +#line 142 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( CCC_TOK); } YY_BREAK case 41: YY_RULE_SETUP -#line 143 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( CCC_TOK); } +#line 143 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( CSRETCC_TOK); } YY_BREAK case 42: YY_RULE_SETUP -#line 144 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( CSRETCC_TOK); } +#line 144 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( FASTCC_TOK); } YY_BREAK case 43: YY_RULE_SETUP -#line 145 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( FASTCC_TOK); } +#line 145 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( COLDCC_TOK); } YY_BREAK case 44: YY_RULE_SETUP -#line 146 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( COLDCC_TOK); } +#line 146 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( X86_STDCALLCC_TOK); } YY_BREAK case 45: YY_RULE_SETUP -#line 147 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( X86_STDCALLCC_TOK); } +#line 147 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( X86_FASTCALLCC_TOK); } YY_BREAK case 46: YY_RULE_SETUP -#line 148 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( X86_FASTCALLCC_TOK); } +#line 149 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TY(VOID,VoidTy,"void",false); } YY_BREAK case 47: YY_RULE_SETUP -#line 150 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TY(VOID,VoidTy,"void",false); } +#line 150 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TY(BOOL,BoolTy,"bool",false); } YY_BREAK case 48: YY_RULE_SETUP -#line 151 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TY(BOOL,BoolTy,"bool",false); } +#line 151 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TY(SBYTE,SByteTy,"i8",true); } YY_BREAK case 49: YY_RULE_SETUP -#line 152 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TY(SBYTE,SByteTy,"sbyte",true); } +#line 152 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TY(UBYTE,UByteTy,"i8",false); } YY_BREAK case 50: YY_RULE_SETUP -#line 153 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TY(UBYTE,UByteTy,"ubyte",false); } +#line 153 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TY(SHORT,ShortTy,"i16",true); } YY_BREAK case 51: YY_RULE_SETUP -#line 154 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TY(SHORT,ShortTy,"short",true); } +#line 154 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TY(USHORT,UShortTy,"i16",false); } YY_BREAK case 52: YY_RULE_SETUP -#line 155 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TY(USHORT,UShortTy,"ushort",false); } +#line 155 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TY(INT,IntTy,"i32",true); } YY_BREAK case 53: YY_RULE_SETUP -#line 156 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TY(INT,IntTy,"int",true); } +#line 156 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TY(UINT,UIntTy,"i32",false); } YY_BREAK case 54: YY_RULE_SETUP -#line 157 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TY(UINT,UIntTy,"uint",false); } +#line 157 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TY(LONG,LongTy,"i64",true); } YY_BREAK case 55: YY_RULE_SETUP -#line 158 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TY(LONG,LongTy,"long",true); } +#line 158 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TY(ULONG,ULongTy,"i64",false); } YY_BREAK case 56: YY_RULE_SETUP -#line 159 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TY(ULONG,ULongTy,"ulong",false); } +#line 159 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TY(UBYTE,UByteTy,"i8",false); } YY_BREAK case 57: YY_RULE_SETUP -#line 160 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TY(FLOAT,FloatTy,"float",false); } +#line 160 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TY(USHORT,UShortTy,"i16",false); } YY_BREAK case 58: YY_RULE_SETUP -#line 161 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TY(DOUBLE,DoubleTy,"double",false); } +#line 161 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TY(UINT,UIntTy,"i32",false); } YY_BREAK case 59: YY_RULE_SETUP -#line 162 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TY(LABEL,LabelTy,"label",false); } +#line 162 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TY(ULONG,ULongTy,"i64",false); } YY_BREAK case 60: YY_RULE_SETUP -#line 163 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK(OPAQUE); } +#line 163 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TY(FLOAT,FloatTy,"float",false); } YY_BREAK case 61: YY_RULE_SETUP -#line 164 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK(TYPE); } +#line 164 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TY(DOUBLE,DoubleTy,"double",false); } YY_BREAK case 62: YY_RULE_SETUP -#line 166 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( ADD); } +#line 165 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TY(LABEL,LabelTy,"label",false); } YY_BREAK case 63: YY_RULE_SETUP -#line 167 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( SUB); } +#line 166 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK(OPAQUE); } YY_BREAK case 64: YY_RULE_SETUP -#line 168 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( MUL); } +#line 167 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK(TYPE); } YY_BREAK case 65: YY_RULE_SETUP -#line 169 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( DIV); } +#line 169 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( ADD); } YY_BREAK case 66: YY_RULE_SETUP -#line 170 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( UDIV); } +#line 170 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( SUB); } YY_BREAK case 67: YY_RULE_SETUP -#line 171 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( SDIV); } +#line 171 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( MUL); } YY_BREAK case 68: YY_RULE_SETUP -#line 172 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( FDIV); } +#line 172 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( DIV); } YY_BREAK case 69: YY_RULE_SETUP -#line 173 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( REM); } +#line 173 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( UDIV); } YY_BREAK case 70: YY_RULE_SETUP -#line 174 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( UREM); } +#line 174 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( SDIV); } YY_BREAK case 71: YY_RULE_SETUP -#line 175 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( SREM); } +#line 175 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( FDIV); } YY_BREAK case 72: YY_RULE_SETUP -#line 176 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( FREM); } +#line 176 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( REM); } YY_BREAK case 73: YY_RULE_SETUP -#line 177 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( AND); } +#line 177 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( UREM); } YY_BREAK case 74: YY_RULE_SETUP -#line 178 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( OR); } +#line 178 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( SREM); } YY_BREAK case 75: YY_RULE_SETUP -#line 179 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( XOR); } +#line 179 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( FREM); } YY_BREAK case 76: YY_RULE_SETUP -#line 180 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( SETNE); } +#line 180 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( AND); } YY_BREAK case 77: YY_RULE_SETUP -#line 181 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( SETEQ); } +#line 181 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( OR); } YY_BREAK case 78: YY_RULE_SETUP -#line 182 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( SETLT); } +#line 182 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( XOR); } YY_BREAK case 79: YY_RULE_SETUP -#line 183 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( SETGT); } +#line 183 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( SETNE); } YY_BREAK case 80: YY_RULE_SETUP -#line 184 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( SETLE); } +#line 184 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( SETEQ); } YY_BREAK case 81: YY_RULE_SETUP -#line 185 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( SETGE); } +#line 185 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( SETLT); } YY_BREAK case 82: YY_RULE_SETUP -#line 186 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK(ICMP); } +#line 186 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( SETGT); } YY_BREAK case 83: YY_RULE_SETUP -#line 187 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK(FCMP); } +#line 187 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( SETLE); } YY_BREAK case 84: YY_RULE_SETUP -#line 188 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK(EQ); } +#line 188 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( SETGE); } YY_BREAK case 85: YY_RULE_SETUP -#line 189 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK(NE); } +#line 189 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK(ICMP); } YY_BREAK case 86: YY_RULE_SETUP -#line 190 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK(SLT); } +#line 190 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK(FCMP); } YY_BREAK case 87: YY_RULE_SETUP -#line 191 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK(SGT); } +#line 191 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK(EQ); } YY_BREAK case 88: YY_RULE_SETUP -#line 192 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK(SLE); } +#line 192 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK(NE); } YY_BREAK case 89: YY_RULE_SETUP -#line 193 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK(SGE); } +#line 193 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK(SLT); } YY_BREAK case 90: YY_RULE_SETUP -#line 194 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK(OEQ); } +#line 194 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK(SGT); } YY_BREAK case 91: YY_RULE_SETUP -#line 195 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK(ONE); } +#line 195 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK(SLE); } YY_BREAK case 92: YY_RULE_SETUP -#line 196 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK(OLT); } +#line 196 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK(SGE); } YY_BREAK case 93: YY_RULE_SETUP -#line 197 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK(OGT); } +#line 197 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK(OEQ); } YY_BREAK case 94: YY_RULE_SETUP -#line 198 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK(OLE); } +#line 198 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK(ONE); } YY_BREAK case 95: YY_RULE_SETUP -#line 199 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK(OGE); } +#line 199 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK(OLT); } YY_BREAK case 96: YY_RULE_SETUP -#line 200 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK(ORD); } +#line 200 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK(OGT); } YY_BREAK case 97: YY_RULE_SETUP -#line 201 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK(UNO); } +#line 201 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK(OLE); } YY_BREAK case 98: YY_RULE_SETUP -#line 202 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK(UEQ); } +#line 202 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK(OGE); } YY_BREAK case 99: YY_RULE_SETUP -#line 203 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK(UNE); } +#line 203 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK(ORD); } YY_BREAK case 100: YY_RULE_SETUP -#line 204 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK(ULT); } +#line 204 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK(UNO); } YY_BREAK case 101: YY_RULE_SETUP -#line 205 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK(UGT); } +#line 205 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK(UEQ); } YY_BREAK case 102: YY_RULE_SETUP -#line 206 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK(ULE); } +#line 206 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK(UNE); } YY_BREAK case 103: YY_RULE_SETUP -#line 207 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK(UGE); } +#line 207 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK(ULT); } YY_BREAK case 104: YY_RULE_SETUP -#line 209 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( PHI_TOK); } +#line 208 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK(UGT); } YY_BREAK case 105: YY_RULE_SETUP -#line 210 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( CALL); } +#line 209 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK(ULE); } YY_BREAK case 106: YY_RULE_SETUP -#line 211 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( CAST); } +#line 210 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK(UGE); } YY_BREAK case 107: YY_RULE_SETUP -#line 212 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( TRUNC); } +#line 212 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( PHI_TOK); } YY_BREAK case 108: YY_RULE_SETUP -#line 213 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( ZEXT); } +#line 213 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( CALL); } YY_BREAK case 109: YY_RULE_SETUP -#line 214 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( SEXT); } +#line 214 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( CAST); } YY_BREAK case 110: YY_RULE_SETUP -#line 215 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( FPTRUNC); } +#line 215 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( TRUNC); } YY_BREAK case 111: YY_RULE_SETUP -#line 216 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( FPEXT); } +#line 216 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( ZEXT); } YY_BREAK case 112: YY_RULE_SETUP -#line 217 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( FPTOUI); } +#line 217 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( SEXT); } YY_BREAK case 113: YY_RULE_SETUP -#line 218 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( FPTOSI); } +#line 218 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( FPTRUNC); } YY_BREAK case 114: YY_RULE_SETUP -#line 219 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( UITOFP); } +#line 219 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( FPEXT); } YY_BREAK case 115: YY_RULE_SETUP -#line 220 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( SITOFP); } +#line 220 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( FPTOUI); } YY_BREAK case 116: YY_RULE_SETUP -#line 221 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( PTRTOINT); } +#line 221 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( FPTOSI); } YY_BREAK case 117: YY_RULE_SETUP -#line 222 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( INTTOPTR); } +#line 222 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( UITOFP); } YY_BREAK case 118: YY_RULE_SETUP -#line 223 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( BITCAST); } +#line 223 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( SITOFP); } YY_BREAK case 119: YY_RULE_SETUP -#line 224 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( SELECT); } +#line 224 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( PTRTOINT); } YY_BREAK case 120: YY_RULE_SETUP -#line 225 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( SHL); } +#line 225 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( INTTOPTR); } YY_BREAK case 121: YY_RULE_SETUP -#line 226 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( SHR); } +#line 226 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( BITCAST); } YY_BREAK case 122: YY_RULE_SETUP -#line 227 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( ASHR); } +#line 227 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( SELECT); } YY_BREAK case 123: YY_RULE_SETUP -#line 228 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( LSHR); } +#line 228 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( SHL); } YY_BREAK case 124: YY_RULE_SETUP -#line 229 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( VAARG); } +#line 229 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( SHR); } YY_BREAK case 125: YY_RULE_SETUP -#line 230 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( RET); } +#line 230 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( ASHR); } YY_BREAK case 126: YY_RULE_SETUP -#line 231 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( BR); } +#line 231 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( LSHR); } YY_BREAK case 127: YY_RULE_SETUP -#line 232 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( SWITCH); } +#line 232 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( VAARG); } YY_BREAK case 128: YY_RULE_SETUP -#line 233 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( INVOKE); } +#line 233 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( RET); } YY_BREAK case 129: YY_RULE_SETUP -#line 234 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( UNWIND); } +#line 234 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( BR); } YY_BREAK case 130: YY_RULE_SETUP -#line 235 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( EXCEPT); } // alias for unwind +#line 235 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( SWITCH); } YY_BREAK case 131: YY_RULE_SETUP -#line 236 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( UNREACHABLE); } +#line 236 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( INVOKE); } YY_BREAK case 132: YY_RULE_SETUP -#line 238 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( MALLOC); } +#line 237 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( UNWIND); } YY_BREAK case 133: YY_RULE_SETUP -#line 239 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( ALLOCA); } +#line 238 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( EXCEPT); } // alias for unwind YY_BREAK case 134: YY_RULE_SETUP -#line 240 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( FREE); } +#line 239 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( UNREACHABLE); } YY_BREAK case 135: YY_RULE_SETUP -#line 241 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( LOAD); } +#line 241 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( MALLOC); } YY_BREAK case 136: YY_RULE_SETUP -#line 242 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( STORE); } +#line 242 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( ALLOCA); } YY_BREAK case 137: YY_RULE_SETUP -#line 243 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( GETELEMENTPTR); } +#line 243 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( FREE); } YY_BREAK case 138: YY_RULE_SETUP -#line 245 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( EXTRACTELEMENT); } +#line 244 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( LOAD); } YY_BREAK case 139: YY_RULE_SETUP -#line 246 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( INSERTELEMENT); } +#line 245 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( STORE); } YY_BREAK case 140: YY_RULE_SETUP -#line 247 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( SHUFFLEVECTOR); } +#line 246 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( GETELEMENTPTR); } YY_BREAK case 141: YY_RULE_SETUP -#line 250 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( VAR_ID); } +#line 248 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( EXTRACTELEMENT); } YY_BREAK case 142: YY_RULE_SETUP -#line 251 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( LABELSTR); } +#line 249 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( INSERTELEMENT); } YY_BREAK case 143: YY_RULE_SETUP -#line 252 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( LABELSTR); } +#line 250 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( SHUFFLEVECTOR); } YY_BREAK case 144: YY_RULE_SETUP -#line 253 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( STRINGCONSTANT ); } +#line 253 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( VAR_ID); } YY_BREAK case 145: YY_RULE_SETUP -#line 254 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( EUINT64VAL ); } +#line 254 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( LABELSTR); } YY_BREAK case 146: YY_RULE_SETUP -#line 255 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( ESINT64VAL ); } +#line 255 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( LABELSTR); } YY_BREAK case 147: YY_RULE_SETUP -#line 256 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( yytext[0] == 's' ? ESINT64VAL : EUINT64VAL ); } +#line 256 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( STRINGCONSTANT ); } YY_BREAK case 148: YY_RULE_SETUP -#line 257 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( UINTVAL); } +#line 257 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( EUINT64VAL ); } YY_BREAK case 149: YY_RULE_SETUP -#line 258 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( SINTVAL); } +#line 258 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( ESINT64VAL ); } YY_BREAK case 150: YY_RULE_SETUP -#line 259 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( FPVAL); } +#line 259 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( yytext[0] == 's' ? ESINT64VAL : EUINT64VAL ); } YY_BREAK case 151: YY_RULE_SETUP -#line 260 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +#line 260 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( UINTVAL); } + YY_BREAK +case 152: +YY_RULE_SETUP +#line 261 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( SINTVAL); } + YY_BREAK +case 153: +YY_RULE_SETUP +#line 262 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( FPVAL); } + YY_BREAK +case 154: +YY_RULE_SETUP +#line 263 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" { RET_TOK( FPVAL); } YY_BREAK case YY_STATE_EOF(INITIAL): -#line 261 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +#line 264 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" { /* Make sure to free the internal buffers for flex when we are * done reading our input! @@ -1992,22 +2009,22 @@ return EOF; } YY_BREAK -case 152: +case 155: YY_RULE_SETUP -#line 269 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +#line 272 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" { /* Ignore whitespace */ } YY_BREAK -case 153: +case 156: YY_RULE_SETUP -#line 270 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +#line 273 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" { return yytext[0]; } YY_BREAK -case 154: +case 157: YY_RULE_SETUP -#line 272 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +#line 275 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" YY_FATAL_ERROR( "flex scanner jammed" ); YY_BREAK -#line 2011 "UpgradeLexer.cpp" +#line 2028 "UpgradeLexer.cpp" case YY_END_OF_BUFFER: { @@ -2294,7 +2311,7 @@ while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 605 ) + if ( yy_current_state >= 608 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; @@ -2324,11 +2341,11 @@ while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 605 ) + if ( yy_current_state >= 608 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; - yy_is_jam = (yy_current_state == 604); + yy_is_jam = (yy_current_state == 607); if ( ! yy_is_jam ) *yy_state_ptr++ = yy_current_state; @@ -2885,5 +2902,5 @@ return 0; } #endif -#line 272 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +#line 275 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" Index: llvm/tools/llvm-upgrade/UpgradeLexer.cpp.cvs diff -u llvm/tools/llvm-upgrade/UpgradeLexer.cpp.cvs:1.10 llvm/tools/llvm-upgrade/UpgradeLexer.cpp.cvs:1.11 --- llvm/tools/llvm-upgrade/UpgradeLexer.cpp.cvs:1.10 Fri Dec 29 14:35:03 2006 +++ llvm/tools/llvm-upgrade/UpgradeLexer.cpp.cvs Sun Dec 31 00:02:26 2006 @@ -20,7 +20,7 @@ /* A lexical scanner generated by flex*/ /* Scanner skeleton version: - * $Header: /var/cvs/llvm/llvm/tools/llvm-upgrade/UpgradeLexer.cpp.cvs,v 1.10 2006/12/29 20:35:03 reid Exp $ + * $Header: /var/cvs/llvm/llvm/tools/llvm-upgrade/UpgradeLexer.cpp.cvs,v 1.11 2006/12/31 06:02:26 reid Exp $ */ #define FLEX_SCANNER @@ -317,39 +317,39 @@ *yy_cp = '\0'; \ yy_c_buf_p = yy_cp; -#define YY_NUM_RULES 154 -#define YY_END_OF_BUFFER 155 -static yyconst short int yy_acclist[232] = +#define YY_NUM_RULES 157 +#define YY_END_OF_BUFFER 158 +static yyconst short int yy_acclist[235] = { 0, - 155, 153, 154, 152, 153, 154, 152, 154, 153, 154, - 153, 154, 153, 154, 153, 154, 153, 154, 153, 154, - 145, 153, 154, 145, 153, 154, 1, 153, 154, 153, - 154, 153, 154, 153, 154, 153, 154, 153, 154, 153, - 154, 153, 154, 153, 154, 153, 154, 153, 154, 153, - 154, 153, 154, 153, 154, 153, 154, 153, 154, 153, - 154, 153, 154, 153, 154, 153, 154, 153, 154, 153, - 154, 144, 142, 141, 141, 148, 146, 150, 145, 1, - 126, 40, 84, 85, 74, 24, 144, 141, 141, 149, - 150, 21, 150, 151, 62, 73, 38, 33, 41, 65, - - 3, 53, 64, 90, 95, 93, 94, 92, 91, 96, - 104, 69, 125, 89, 87, 120, 121, 88, 86, 63, - 98, 103, 101, 102, 100, 99, 97, 75, 143, 150, - 150, 122, 48, 105, 106, 83, 68, 134, 72, 82, - 135, 55, 123, 23, 147, 67, 109, 71, 25, 4, - 61, 66, 54, 70, 47, 12, 108, 150, 35, 2, - 5, 57, 111, 59, 49, 77, 81, 79, 80, 78, - 76, 51, 136, 107, 50, 56, 22, 133, 44, 7, - 58, 29, 130, 43, 113, 112, 8, 128, 32, 132, - 37, 60, 119, 115, 127, 26, 27, 114, 129, 52, - - 124, 118, 42, 6, 28, 110, 36, 9, 17, 10, - 117, 11, 116, 34, 13, 15, 14, 31, 39, 16, - 30, 131, 137, 139, 140, 18, 45, 138, 19, 46, - 20 + 158, 156, 157, 155, 156, 157, 155, 157, 156, 157, + 156, 157, 156, 157, 156, 157, 156, 157, 156, 157, + 148, 156, 157, 148, 156, 157, 1, 156, 157, 156, + 157, 156, 157, 156, 157, 156, 157, 156, 157, 156, + 157, 156, 157, 156, 157, 156, 157, 156, 157, 156, + 157, 156, 157, 156, 157, 156, 157, 156, 157, 156, + 157, 156, 157, 156, 157, 156, 157, 156, 157, 156, + 157, 147, 145, 144, 144, 151, 149, 153, 148, 1, + 129, 39, 87, 56, 88, 77, 23, 147, 144, 144, + 152, 153, 20, 153, 154, 65, 76, 37, 32, 40, + + 68, 3, 57, 58, 59, 52, 67, 93, 98, 96, + 97, 95, 94, 99, 107, 72, 128, 92, 90, 123, + 124, 91, 89, 66, 101, 106, 104, 105, 103, 102, + 100, 78, 146, 153, 153, 125, 47, 108, 109, 86, + 71, 137, 75, 85, 138, 54, 126, 22, 150, 70, + 112, 74, 24, 4, 64, 69, 53, 73, 46, 11, + 111, 153, 34, 2, 5, 60, 114, 62, 48, 80, + 84, 82, 83, 81, 79, 50, 139, 110, 49, 55, + 21, 136, 43, 61, 28, 133, 42, 116, 115, 7, + 131, 31, 135, 36, 63, 122, 118, 130, 25, 26, + + 117, 132, 51, 127, 121, 41, 6, 27, 113, 35, + 8, 16, 9, 120, 10, 119, 33, 12, 14, 13, + 30, 38, 15, 29, 134, 140, 142, 143, 17, 44, + 141, 18, 45, 19 } ; -static yyconst short int yy_accept[606] = +static yyconst short int yy_accept[609] = { 0, 1, 1, 1, 2, 4, 7, 9, 11, 13, 15, 17, 19, 21, 24, 27, 30, 32, 34, 36, 38, @@ -359,65 +359,65 @@ 81, 81, 81, 81, 81, 81, 81, 81, 81, 82, 82, 83, 83, 83, 83, 83, 83, 83, 83, 83, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, - 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, - 85, 85, 85, 85, 85, 85, 85, 86, 86, 86, + 84, 84, 84, 85, 85, 85, 85, 85, 85, 85, + 85, 85, 85, 85, 86, 86, 86, 86, 86, 86, - 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, - 86, 86, 86, 86, 86, 87, 87, 87, 87, 87, - 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, - 87, 87, 87, 88, 89, 91, 92, 93, 94, 94, - 95, 96, 96, 96, 97, 97, 97, 98, 98, 99, - 99, 99, 99, 99, 100, 100, 100, 100, 100, 100, - 100, 100, 101, 101, 101, 102, 102, 102, 102, 102, - 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, - 102, 103, 103, 103, 103, 103, 103, 103, 103, 103, - 103, 104, 104, 105, 106, 107, 108, 109, 110, 110, - - 111, 112, 112, 112, 113, 114, 114, 114, 114, 114, - 114, 114, 114, 115, 116, 117, 117, 118, 118, 118, - 118, 119, 120, 120, 120, 121, 121, 121, 121, 121, - 121, 121, 121, 121, 122, 123, 124, 124, 124, 125, - 125, 126, 126, 127, 127, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 129, 129, 129, 130, 131, - 131, 131, 131, 132, 132, 132, 132, 133, 133, 133, - 134, 135, 136, 136, 136, 136, 136, 136, 136, 136, - 136, 136, 136, 136, 136, 136, 136, 136, 136, 137, - 138, 138, 138, 138, 138, 139, 140, 140, 140, 141, - - 141, 141, 141, 141, 141, 141, 141, 141, 142, 143, - 144, 144, 144, 145, 145, 145, 145, 146, 146, 147, - 147, 147, 147, 147, 147, 147, 148, 148, 148, 148, - 148, 149, 149, 149, 150, 150, 150, 151, 151, 152, - 152, 153, 154, 154, 154, 154, 154, 154, 154, 155, - 155, 155, 156, 156, 157, 157, 157, 158, 159, 160, - 160, 160, 161, 161, 161, 161, 161, 161, 161, 161, - 161, 161, 161, 161, 161, 161, 161, 161, 162, 162, - 163, 164, 164, 164, 164, 164, 164, 164, 164, 164, - 164, 164, 165, 165, 165, 165, 165, 165, 165, 165, - - 166, 166, 166, 167, 168, 169, 170, 171, 172, 173, - 173, 173, 173, 174, 174, 174, 174, 175, 176, 176, - 177, 178, 178, 178, 178, 178, 178, 178, 178, 178, - 178, 179, 179, 179, 180, 180, 180, 180, 180, 181, - 181, 181, 181, 182, 183, 184, 184, 184, 185, 186, - 187, 187, 187, 188, 188, 188, 188, 188, 189, 189, - 190, 191, 192, 193, 193, 193, 193, 194, 194, 194, - 195, 196, 197, 198, 199, 199, 199, 200, 201, 202, - 202, 202, 202, 202, 202, 203, 203, 204, 204, 205, - 206, 206, 206, 206, 206, 206, 207, 207, 207, 207, - - 207, 207, 207, 207, 207, 208, 208, 208, 208, 208, - 208, 208, 208, 208, 208, 209, 209, 209, 209, 209, - 210, 210, 210, 210, 210, 211, 212, 213, 213, 214, - 214, 214, 214, 214, 215, 215, 215, 215, 216, 216, - 217, 218, 218, 218, 218, 218, 218, 218, 218, 218, - 218, 218, 218, 218, 218, 219, 219, 219, 219, 219, - 219, 219, 219, 220, 220, 220, 220, 220, 220, 221, - 221, 221, 221, 221, 222, 222, 222, 223, 223, 223, - 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, - 223, 224, 224, 225, 226, 227, 227, 228, 228, 229, + 86, 87, 87, 87, 87, 87, 87, 87, 87, 87, + 87, 87, 87, 87, 87, 87, 87, 87, 87, 88, + 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, + 88, 88, 88, 88, 88, 88, 88, 89, 90, 92, + 93, 94, 95, 95, 96, 97, 97, 97, 98, 98, + 98, 99, 99, 100, 100, 100, 100, 100, 101, 101, + 101, 101, 101, 101, 101, 102, 102, 102, 103, 103, + 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, + 103, 104, 105, 106, 106, 106, 106, 107, 107, 107, + 107, 107, 107, 107, 107, 107, 107, 108, 108, 109, + + 110, 111, 112, 113, 114, 114, 115, 116, 116, 116, + 117, 118, 118, 118, 118, 118, 118, 118, 118, 119, + 120, 121, 121, 122, 122, 122, 122, 123, 124, 124, + 124, 125, 125, 125, 125, 125, 125, 125, 125, 125, + 126, 127, 128, 128, 128, 129, 129, 130, 130, 131, + 131, 132, 132, 132, 132, 132, 132, 132, 132, 132, + 132, 133, 133, 133, 134, 135, 135, 135, 135, 136, + 136, 136, 136, 137, 137, 137, 138, 139, 140, 140, + 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, + 140, 140, 140, 140, 141, 142, 142, 142, 142, 142, + + 143, 144, 144, 144, 145, 145, 145, 145, 145, 145, + 145, 145, 145, 146, 147, 148, 148, 148, 149, 149, + 149, 149, 150, 150, 151, 151, 151, 151, 151, 151, + 151, 152, 152, 152, 152, 152, 153, 153, 153, 154, + 154, 154, 155, 155, 156, 156, 157, 158, 158, 158, + 158, 158, 158, 158, 159, 159, 159, 160, 160, 161, + 161, 161, 162, 163, 164, 164, 164, 165, 165, 165, + 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, + 165, 165, 166, 166, 167, 168, 168, 168, 168, 168, + 168, 168, 168, 168, 168, 168, 169, 169, 169, 169, + + 169, 169, 169, 169, 170, 170, 170, 171, 172, 173, + 174, 175, 176, 177, 177, 177, 177, 178, 178, 178, + 178, 179, 180, 180, 181, 182, 182, 182, 182, 182, + 182, 182, 182, 182, 182, 183, 183, 183, 184, 184, + 184, 184, 184, 184, 184, 184, 185, 186, 187, 187, + 187, 188, 189, 190, 190, 190, 191, 191, 191, 191, + 191, 192, 192, 193, 194, 195, 196, 196, 196, 196, + 197, 197, 197, 198, 199, 200, 201, 202, 202, 202, + 203, 204, 205, 205, 205, 205, 205, 205, 206, 206, + 207, 207, 208, 209, 209, 209, 209, 209, 209, 210, + + 210, 210, 210, 210, 210, 210, 210, 210, 211, 211, + 211, 211, 211, 211, 211, 211, 211, 211, 212, 212, + 212, 212, 212, 213, 213, 213, 213, 213, 214, 215, + 216, 216, 217, 217, 217, 217, 217, 218, 218, 218, + 218, 219, 219, 220, 221, 221, 221, 221, 221, 221, + 221, 221, 221, 221, 221, 221, 221, 221, 222, 222, + 222, 222, 222, 222, 222, 222, 223, 223, 223, 223, + 223, 223, 224, 224, 224, 224, 224, 225, 225, 225, + 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, + 226, 226, 226, 226, 227, 227, 228, 229, 230, 230, - 230, 231, 231, 232, 232 + 231, 231, 232, 233, 234, 234, 235, 235 } ; static yyconst int yy_ec[256] = @@ -426,16 +426,16 @@ 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 4, 1, 5, 6, 1, 1, 1, - 1, 1, 7, 1, 8, 9, 1, 10, 11, 11, - 11, 11, 11, 12, 11, 13, 11, 14, 15, 1, - 1, 1, 1, 1, 16, 16, 16, 16, 17, 16, + 1, 1, 7, 1, 8, 9, 1, 10, 11, 12, + 13, 14, 15, 16, 15, 17, 15, 18, 19, 1, + 1, 1, 1, 1, 20, 20, 20, 20, 21, 20, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 1, 1, 1, 1, 18, 1, 19, 20, 21, 22, + 1, 1, 1, 1, 22, 1, 23, 24, 25, 26, - 23, 24, 25, 26, 27, 5, 28, 29, 30, 31, - 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, - 42, 43, 1, 1, 1, 1, 1, 1, 1, 1, + 27, 28, 29, 30, 31, 5, 32, 33, 34, 35, + 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, + 46, 47, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -452,288 +452,290 @@ 1, 1, 1, 1, 1 } ; -static yyconst int yy_meta[44] = +static yyconst int yy_meta[48] = { 0, - 1, 1, 2, 1, 3, 1, 1, 3, 3, 3, - 3, 3, 3, 4, 1, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 1, 1, 2, 1, 3, 1, 4, 5, 3, 6, + 6, 6, 6, 6, 6, 6, 6, 7, 1, 3, + 8, 3, 3, 3, 3, 3, 8, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3 + 3, 3, 3, 3, 3, 3, 3 } ; -static yyconst short int yy_base[610] = +static yyconst short int yy_base[617] = { 0, - 0, 0, 1298, 1299, 1299, 1299, 1293, 1282, 36, 40, - 44, 50, 56, 62, 0, 63, 66, 81, 89, 47, - 108, 91, 105, 96, 119, 68, 144, 128, 111, 170, - 136, 201, 130, 117, 132, 125, 1291, 1299, 1280, 1299, - 0, 175, 190, 207, 229, 70, 234, 249, 254, 0, - 139, 145, 167, 76, 168, 138, 255, 31, 1279, 177, - 90, 198, 48, 110, 258, 195, 221, 211, 200, 1278, - 267, 269, 270, 156, 271, 272, 273, 217, 275, 276, - 219, 279, 288, 280, 300, 287, 283, 306, 296, 1277, - 307, 73, 309, 310, 312, 308, 315, 316, 324, 320, - - 326, 325, 162, 327, 328, 330, 344, 338, 347, 336, - 348, 354, 350, 358, 1276, 364, 357, 367, 369, 372, - 374, 373, 375, 399, 378, 389, 381, 391, 400, 241, - 394, 402, 1275, 0, 434, 438, 1274, 452, 469, 0, - 1273, 403, 409, 1272, 410, 418, 1271, 411, 1270, 421, - 438, 442, 422, 1269, 446, 456, 464, 470, 443, 413, - 444, 1268, 471, 380, 472, 474, 477, 460, 476, 481, - 479, 487, 488, 489, 493, 494, 490, 495, 491, 508, - 511, 501, 512, 513, 505, 516, 518, 522, 523, 416, - 1267, 525, 1266, 1265, 1264, 1263, 1262, 1261, 526, 1260, - - 1259, 530, 531, 1258, 1257, 559, 536, 535, 548, 532, - 563, 550, 1256, 1255, 1254, 549, 1253, 142, 533, 575, - 1252, 1251, 537, 576, 1250, 577, 579, 581, 582, 586, - 587, 583, 584, 1249, 1248, 1247, 585, 589, 1246, 588, - 1245, 590, 1244, 598, 1243, 602, 539, 604, 610, 612, - 613, 614, 616, 618, 1242, 623, 624, 1299, 635, 652, - 656, 660, 665, 625, 544, 626, 1241, 666, 635, 1240, - 1239, 1238, 629, 667, 668, 669, 670, 671, 672, 673, - 676, 674, 677, 678, 680, 681, 687, 695, 1237, 1236, - 693, 694, 698, 679, 1235, 1234, 699, 704, 1233, 706, - - 705, 707, 711, 710, 708, 712, 718, 1232, 1231, 1230, - 713, 719, 1229, 721, 725, 732, 0, 727, 1228, 738, - 735, 737, 740, 743, 744, 1227, 739, 627, 746, 754, - 1226, 747, 758, 1225, 759, 760, 1224, 767, 1223, 761, - 1222, 1221, 769, 771, 773, 772, 776, 777, 1220, 778, - 780, 1219, 784, 1218, 786, 787, 1217, 792, 1216, 792, - 795, 1215, 793, 798, 804, 806, 811, 802, 810, 812, - 814, 817, 820, 821, 822, 824, 825, 1214, 827, 1213, - 1212, 826, 830, 831, 828, 835, 840, 842, 844, 847, - 846, 1211, 851, 849, 852, 853, 854, 860, 857, 1210, - - 864, 867, 1209, 1208, 1207, 1206, 1205, 1204, 1203, 871, - 873, 872, 1202, 875, 874, 876, 1201, 1200, 877, 1199, - 1198, 878, 881, 884, 879, 889, 880, 894, 895, 898, - 1197, 903, 904, 1196, 905, 906, 907, 908, 1195, 909, - 910, 911, 1194, 1193, 1192, 919, 914, 1191, 1190, 1189, - 925, 920, 1188, 912, 930, 933, 926, 1187, 934, 1186, - 1185, 1184, 1183, 940, 942, 943, 1182, 944, 945, 1181, - 1180, 1179, 1178, 1177, 950, 946, 1176, 1175, 1174, 947, - 948, 956, 952, 951, 1173, 954, 1172, 957, 1171, 1170, - 966, 967, 46, 969, 971, 1169, 972, 973, 974, 976, - - 978, 983, 979, 982, 1168, 985, 986, 993, 997, 994, - 996, 1000, 1004, 1006, 1167, 1008, 1011, 1012, 1009, 1166, - 1013, 1014, 1015, 1016, 1165, 1164, 1161, 1020, 1152, 1021, - 1022, 1024, 1036, 1150, 1037, 1040, 1041, 1149, 1023, 1148, - 1147, 1043, 1047, 1026, 1050, 1051, 1052, 1053, 1057, 1058, - 1059, 1061, 1062, 1063, 1145, 1064, 1069, 1065, 1070, 1073, - 1079, 1072, 1144, 1075, 1083, 1076, 1086, 1087, 1143, 1089, - 1090, 1094, 1097, 1140, 1099, 1096, 1139, 1100, 1103, 1106, - 1108, 1109, 1111, 1112, 1116, 1118, 1120, 1121, 1122, 1123, - 1136, 1124, 1134, 741, 639, 1131, 591, 1133, 545, 497, + 0, 0, 1298, 1299, 1299, 1299, 1293, 1278, 40, 0, + 48, 58, 68, 1250, 0, 68, 71, 81, 91, 52, + 105, 93, 134, 117, 118, 73, 137, 143, 98, 175, + 144, 210, 159, 116, 56, 119, 1290, 1299, 1275, 1299, + 0, 241, 0, 1283, 1282, 140, 249, 1245, 267, 0, + 70, 163, 145, 31, 157, 160, 168, 57, 1271, 170, + 94, 180, 182, 54, 193, 189, 194, 114, 205, 1270, + 271, 207, 204, 211, 208, 279, 206, 228, 249, 53, + 121, 254, 1269, 268, 280, 281, 283, 290, 291, 285, + 286, 287, 300, 1268, 305, 292, 309, 310, 314, 293, + + 316, 217, 317, 321, 311, 147, 322, 325, 328, 331, + 341, 329, 344, 336, 339, 358, 347, 348, 1267, 363, + 349, 346, 366, 370, 371, 372, 373, 384, 377, 388, + 253, 398, 378, 401, 385, 403, 1266, 0, 0, 372, + 1265, 0, 442, 0, 1264, 404, 407, 1263, 408, 412, + 1262, 409, 1261, 414, 427, 428, 423, 1260, 418, 429, + 444, 445, 447, 448, 1259, 452, 449, 454, 457, 459, + 456, 458, 460, 464, 469, 255, 470, 476, 473, 471, + 1258, 1257, 1256, 475, 472, 484, 486, 483, 490, 496, + 497, 498, 500, 502, 503, 504, 1255, 507, 1254, 1253, + + 1252, 1251, 1250, 1249, 505, 1248, 1247, 512, 508, 1246, + 1245, 540, 517, 516, 521, 515, 551, 530, 1244, 1243, + 1242, 552, 1241, 554, 556, 557, 1240, 1239, 555, 558, + 1238, 559, 561, 563, 567, 572, 569, 570, 577, 1237, + 1236, 1235, 580, 583, 1234, 587, 1233, 585, 1232, 588, + 1231, 590, 513, 584, 591, 514, 598, 592, 596, 416, + 1230, 595, 607, 1299, 605, 622, 626, 628, 630, 621, + 622, 623, 1229, 624, 626, 1228, 1227, 1226, 625, 627, + 628, 633, 634, 636, 635, 637, 642, 647, 644, 643, + 654, 646, 658, 1225, 1224, 645, 656, 660, 661, 1223, + + 1222, 666, 667, 1221, 669, 670, 671, 675, 673, 674, + 676, 680, 1220, 1219, 1218, 683, 688, 1217, 686, 677, + 690, 0, 696, 1216, 698, 697, 699, 706, 707, 709, + 1215, 702, 712, 714, 717, 1214, 724, 713, 1213, 726, + 721, 1212, 731, 1211, 728, 1210, 1209, 732, 734, 739, + 740, 741, 743, 1208, 744, 747, 1207, 748, 1206, 751, + 750, 1205, 0, 1204, 752, 754, 1203, 755, 759, 764, + 767, 770, 758, 772, 776, 780, 781, 783, 782, 784, + 785, 1202, 786, 1201, 1200, 789, 791, 794, 787, 788, + 797, 798, 806, 807, 808, 1199, 810, 809, 812, 815, + + 816, 820, 822, 1198, 814, 828, 1197, 1196, 1195, 1194, + 1193, 1192, 1191, 830, 831, 833, 1190, 834, 836, 838, + 1189, 1188, 837, 1187, 1186, 839, 842, 840, 843, 844, + 850, 853, 854, 857, 1185, 860, 861, 1184, 864, 865, + 867, 869, 868, 870, 871, 1183, 1182, 1181, 875, 876, + 1180, 1179, 1178, 885, 882, 1177, 887, 891, 897, 883, + 1176, 886, 1175, 1174, 1173, 1172, 894, 901, 903, 1171, + 904, 907, 1170, 1169, 1168, 1167, 1166, 908, 910, 1165, + 1164, 1163, 909, 905, 911, 912, 914, 1162, 916, 1161, + 923, 1160, 1159, 926, 928, 929, 930, 933, 1158, 934, + + 935, 936, 938, 937, 948, 932, 940, 1157, 944, 950, + 956, 960, 962, 964, 966, 967, 968, 1156, 946, 972, + 974, 975, 1155, 976, 977, 978, 980, 1150, 1147, 1144, + 983, 1136, 993, 981, 985, 986, 1133, 998, 999, 1003, + 1130, 1006, 1124, 1113, 1007, 1008, 1009, 1010, 1011, 1013, + 1014, 1018, 1020, 1019, 1023, 1022, 1025, 1111, 1024, 1031, + 1026, 1035, 1039, 1040, 1036, 1109, 1043, 1044, 1046, 1050, + 1051, 1108, 1054, 1052, 1055, 1056, 1106, 1060, 1062, 1104, + 1064, 1067, 1057, 1069, 1076, 1077, 1080, 1081, 1082, 1084, + 1085, 1083, 1087, 1101, 1088, 1100, 1099, 1094, 1089, 982, - 334, 1132, 331, 1299, 1167, 1169, 296, 1173, 253 + 1098, 756, 527, 419, 1093, 326, 1299, 1132, 1138, 1144, + 268, 1152, 1158, 123, 1161, 1166 } ; -static yyconst short int yy_def[610] = +static yyconst short int yy_def[617] = { 0, - 604, 1, 604, 604, 604, 604, 605, 606, 607, 604, - 606, 606, 606, 606, 608, 606, 606, 606, 606, 606, - 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, - 606, 606, 606, 606, 606, 606, 605, 604, 606, 604, - 609, 609, 604, 604, 606, 606, 606, 606, 606, 608, - 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, - 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, - 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, - 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, - 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, - - 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, - 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, - 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, - 606, 606, 604, 609, 609, 604, 606, 606, 606, 49, - 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, - 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, - 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, - 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, - 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, - 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, - - 606, 606, 606, 606, 606, 49, 606, 606, 606, 606, - 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, - 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, - 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, - 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, - 606, 606, 606, 606, 606, 606, 606, 604, 604, 604, - 604, 606, 606, 606, 606, 606, 606, 606, 606, 606, - 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, - 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, - 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, - - 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, - 606, 606, 606, 606, 606, 606, 206, 606, 606, 606, - 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, - 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, - 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, - 606, 606, 606, 606, 606, 606, 606, 604, 606, 606, - 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, - 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, - 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, - 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, - - 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, - 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, - 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, - 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, - 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, - 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, - 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, - 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, - 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, - 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, - - 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, - 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, - 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, - 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, - 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, - 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, - 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, - 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, - 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, - 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, + 607, 1, 607, 607, 607, 607, 608, 609, 610, 611, + 609, 609, 11, 13, 612, 609, 609, 609, 609, 609, + 609, 609, 609, 609, 609, 609, 609, 609, 609, 609, + 609, 609, 609, 609, 609, 609, 608, 607, 609, 607, + 613, 613, 614, 611, 11, 609, 11, 13, 11, 612, + 609, 609, 609, 609, 609, 609, 609, 609, 609, 609, + 609, 609, 609, 609, 609, 609, 609, 609, 609, 609, + 609, 609, 609, 609, 609, 609, 609, 609, 609, 609, + 609, 609, 609, 609, 609, 609, 609, 609, 609, 609, + 609, 609, 609, 609, 609, 609, 609, 609, 609, 609, + + 609, 609, 609, 609, 609, 609, 609, 609, 609, 609, + 609, 609, 609, 609, 609, 609, 609, 609, 609, 609, + 609, 609, 609, 609, 609, 609, 609, 609, 609, 609, + 609, 609, 609, 609, 609, 609, 607, 613, 42, 615, + 609, 47, 11, 49, 609, 609, 609, 609, 609, 609, + 609, 609, 609, 609, 609, 609, 609, 609, 609, 609, + 609, 609, 609, 609, 609, 609, 609, 609, 609, 609, + 609, 609, 609, 609, 609, 609, 609, 609, 609, 609, + 609, 609, 609, 609, 609, 609, 609, 609, 609, 609, + 609, 609, 609, 609, 609, 609, 609, 609, 609, 609, + + 609, 609, 609, 609, 609, 609, 609, 609, 609, 609, + 609, 49, 609, 609, 609, 609, 609, 609, 609, 609, + 609, 609, 609, 609, 609, 609, 609, 609, 609, 609, + 609, 609, 609, 609, 609, 609, 609, 609, 609, 609, + 609, 609, 609, 609, 609, 609, 609, 609, 609, 609, + 609, 609, 609, 609, 609, 609, 609, 609, 609, 609, + 609, 609, 609, 607, 615, 616, 616, 143, 143, 609, + 609, 609, 609, 609, 609, 609, 609, 609, 609, 609, + 609, 609, 609, 609, 609, 609, 609, 609, 609, 609, + 609, 609, 609, 609, 609, 609, 609, 609, 609, 609, + + 609, 609, 609, 609, 609, 609, 609, 609, 609, 609, + 609, 609, 609, 609, 609, 609, 609, 609, 609, 609, + 609, 212, 609, 609, 609, 609, 609, 609, 609, 609, + 609, 609, 609, 609, 609, 609, 609, 609, 609, 609, + 609, 609, 609, 609, 609, 609, 609, 609, 609, 609, + 609, 609, 609, 609, 609, 609, 609, 609, 609, 609, + 609, 609, 267, 609, 609, 609, 609, 609, 609, 609, + 609, 609, 609, 609, 609, 609, 609, 609, 609, 609, + 609, 609, 609, 609, 609, 609, 609, 609, 609, 609, + 609, 609, 609, 609, 609, 609, 609, 609, 609, 609, + + 609, 609, 609, 609, 609, 609, 609, 609, 609, 609, + 609, 609, 609, 609, 609, 609, 609, 609, 609, 609, + 609, 609, 609, 609, 609, 609, 609, 609, 609, 609, + 609, 609, 609, 609, 609, 609, 609, 609, 609, 609, + 609, 609, 609, 609, 609, 609, 609, 609, 609, 609, + 609, 609, 609, 609, 609, 609, 609, 609, 609, 609, + 609, 609, 609, 609, 609, 609, 609, 609, 609, 609, + 609, 609, 609, 609, 609, 609, 609, 609, 609, 609, + 609, 609, 609, 609, 609, 609, 609, 609, 609, 609, + 609, 609, 609, 609, 609, 609, 609, 609, 609, 609, + + 609, 609, 609, 609, 609, 609, 609, 609, 609, 609, + 609, 609, 609, 609, 609, 609, 609, 609, 609, 609, + 609, 609, 609, 609, 609, 609, 609, 609, 609, 609, + 609, 609, 609, 609, 609, 609, 609, 609, 609, 609, + 609, 609, 609, 609, 609, 609, 609, 609, 609, 609, + 609, 609, 609, 609, 609, 609, 609, 609, 609, 609, + 609, 609, 609, 609, 609, 609, 609, 609, 609, 609, + 609, 609, 609, 609, 609, 609, 609, 609, 609, 609, + 609, 609, 609, 609, 609, 609, 609, 609, 609, 609, + 609, 609, 609, 609, 609, 609, 609, 609, 609, 609, - 606, 606, 606, 0, 604, 604, 604, 604, 604 + 609, 609, 609, 609, 609, 609, 0, 607, 607, 607, + 607, 607, 607, 607, 607, 607 } ; -static yyconst short int yy_nxt[1343] = +static yyconst short int yy_nxt[1347] = { 0, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, - 14, 14, 14, 4, 15, 8, 8, 8, 16, 17, - 18, 19, 20, 21, 22, 8, 23, 8, 24, 25, - 26, 27, 28, 8, 29, 30, 31, 32, 33, 34, - 35, 8, 36, 42, 40, 43, 43, 43, 43, 44, - 44, 44, 44, 45, 45, 45, 45, 40, 46, 40, - 40, 40, 151, 40, 47, 48, 48, 48, 48, 40, - 47, 48, 48, 48, 48, 40, 40, 69, 137, 40, - 70, 40, 157, 40, 51, 519, 40, 71, 56, 40, - 90, 52, 57, 53, 40, 54, 49, 58, 55, 60, - - 59, 61, 40, 40, 40, 91, 193, 64, 145, 40, - 154, 65, 62, 78, 83, 66, 63, 67, 40, 79, - 68, 40, 84, 40, 40, 80, 72, 85, 73, 74, - 40, 86, 40, 101, 81, 82, 75, 87, 40, 129, - 76, 40, 77, 40, 130, 40, 158, 132, 127, 40, - 88, 40, 40, 98, 114, 40, 89, 40, 40, 99, - 141, 128, 148, 131, 100, 328, 92, 115, 93, 40, - 116, 142, 94, 143, 95, 40, 96, 117, 97, 102, - 40, 40, 171, 40, 135, 135, 135, 135, 144, 103, - 40, 104, 105, 146, 106, 107, 108, 147, 109, 43, - - 43, 43, 43, 207, 110, 152, 111, 112, 40, 113, - 102, 40, 153, 40, 40, 136, 44, 44, 44, 44, - 118, 165, 119, 120, 40, 121, 155, 122, 156, 123, - 40, 124, 40, 162, 40, 125, 126, 47, 45, 45, - 45, 45, 40, 138, 138, 138, 138, 40, 164, 163, - 139, 179, 254, 176, 40, 134, 139, 47, 48, 48, - 48, 48, 40, 140, 140, 140, 140, 40, 40, 140, - 140, 40, 140, 140, 140, 140, 140, 140, 159, 149, - 40, 160, 40, 40, 40, 40, 40, 166, 40, 40, - 161, 150, 40, 40, 173, 175, 40, 168, 41, 170, - - 40, 40, 172, 167, 169, 178, 177, 183, 174, 40, - 184, 189, 188, 40, 180, 181, 185, 182, 186, 40, - 40, 40, 40, 40, 191, 40, 199, 190, 40, 40, - 187, 194, 196, 40, 198, 192, 200, 40, 40, 40, - 40, 40, 201, 40, 40, 195, 197, 40, 209, 40, - 202, 40, 213, 208, 203, 204, 210, 40, 223, 219, - 40, 40, 205, 40, 211, 206, 214, 40, 212, 221, - 40, 40, 215, 225, 220, 216, 226, 40, 217, 224, - 40, 218, 40, 222, 227, 40, 40, 40, 40, 231, - 229, 40, 228, 40, 40, 233, 235, 239, 250, 282, - - 248, 230, 40, 237, 40, 234, 240, 40, 232, 238, - 236, 241, 40, 40, 249, 40, 40, 251, 253, 252, - 242, 243, 40, 40, 40, 244, 40, 264, 255, 40, - 245, 40, 266, 246, 40, 40, 256, 268, 247, 278, - 265, 269, 257, 135, 135, 135, 135, 259, 259, 259, - 259, 40, 267, 312, 260, 40, 40, 40, 272, 40, - 260, 138, 138, 138, 138, 40, 270, 273, 139, 40, - 271, 277, 279, 40, 139, 261, 262, 40, 263, 263, - 263, 263, 40, 40, 40, 40, 275, 40, 276, 40, - 40, 274, 40, 280, 40, 287, 284, 281, 283, 285, - - 40, 40, 40, 40, 40, 291, 40, 40, 40, 298, - 40, 286, 288, 289, 40, 295, 297, 290, 40, 300, - 293, 40, 296, 294, 40, 40, 40, 299, 292, 40, - 301, 40, 304, 302, 305, 40, 40, 308, 40, 40, - 306, 307, 309, 40, 40, 40, 40, 303, 40, 40, - 40, 311, 40, 313, 321, 329, 310, 40, 40, 314, - 315, 40, 40, 40, 360, 348, 331, 316, 317, 317, - 317, 317, 318, 319, 317, 317, 40, 317, 317, 317, - 317, 317, 317, 327, 320, 322, 326, 323, 40, 40, - 40, 324, 40, 325, 40, 40, 40, 40, 40, 40, - - 40, 40, 40, 40, 40, 335, 330, 334, 337, 339, - 332, 40, 345, 333, 336, 40, 338, 40, 344, 340, - 343, 342, 341, 40, 347, 40, 40, 40, 346, 40, - 351, 40, 353, 349, 352, 355, 40, 40, 40, 40, - 40, 350, 40, 354, 259, 259, 259, 259, 40, 364, - 410, 260, 40, 363, 356, 359, 361, 260, 261, 261, - 357, 358, 358, 358, 358, 358, 358, 358, 358, 263, - 263, 263, 263, 40, 263, 263, 263, 263, 40, 40, - 40, 40, 40, 40, 40, 40, 40, 40, 368, 40, - 40, 40, 40, 40, 40, 374, 362, 367, 370, 377, - - 40, 369, 373, 365, 366, 372, 40, 40, 40, 378, - 375, 40, 40, 371, 376, 379, 384, 40, 40, 40, - 40, 40, 386, 40, 40, 40, 40, 385, 387, 380, - 381, 40, 40, 382, 40, 383, 392, 391, 40, 388, - 40, 389, 390, 393, 395, 40, 394, 396, 40, 400, - 40, 40, 40, 40, 40, 402, 40, 40, 397, 40, - 40, 398, 404, 399, 401, 406, 408, 40, 411, 413, - 403, 40, 40, 40, 40, 409, 405, 412, 414, 407, - 40, 415, 40, 418, 40, 40, 40, 417, 416, 40, - 40, 40, 419, 40, 423, 420, 421, 40, 422, 40, - - 40, 358, 358, 358, 358, 40, 40, 424, 40, 428, - 431, 40, 425, 430, 426, 40, 432, 40, 434, 40, - 427, 429, 435, 40, 40, 40, 436, 40, 433, 437, - 40, 440, 439, 40, 40, 40, 438, 40, 40, 40, - 40, 40, 443, 40, 40, 447, 441, 448, 40, 442, - 452, 444, 449, 40, 446, 40, 450, 40, 445, 40, - 40, 451, 40, 453, 40, 40, 40, 40, 458, 454, - 40, 460, 461, 40, 456, 462, 463, 40, 455, 457, - 40, 459, 464, 465, 40, 40, 40, 40, 40, 40, - 40, 40, 40, 40, 40, 466, 469, 40, 473, 468, - - 471, 476, 40, 467, 470, 477, 480, 40, 40, 474, - 472, 40, 481, 479, 475, 478, 40, 40, 40, 40, - 40, 40, 40, 40, 40, 40, 487, 40, 483, 484, - 489, 482, 40, 40, 498, 486, 493, 494, 40, 40, - 485, 491, 492, 40, 490, 496, 40, 40, 488, 497, - 495, 500, 499, 40, 502, 40, 40, 40, 40, 40, - 40, 40, 501, 40, 40, 40, 506, 40, 507, 40, - 40, 509, 504, 505, 503, 510, 508, 512, 513, 40, - 40, 514, 40, 511, 40, 40, 40, 40, 516, 40, - 515, 40, 40, 521, 522, 40, 40, 520, 40, 40, - - 517, 518, 524, 523, 525, 527, 40, 40, 531, 40, - 40, 532, 526, 40, 528, 533, 534, 40, 529, 40, - 536, 40, 40, 530, 40, 40, 40, 40, 40, 40, - 538, 542, 535, 40, 40, 40, 40, 40, 546, 40, - 537, 543, 549, 548, 544, 539, 547, 540, 541, 40, - 40, 545, 550, 40, 40, 551, 40, 552, 553, 555, - 40, 556, 558, 40, 40, 40, 40, 554, 559, 557, - 40, 40, 40, 562, 40, 40, 40, 40, 40, 566, - 560, 568, 40, 40, 564, 40, 40, 565, 40, 40, - 567, 569, 40, 563, 561, 573, 40, 571, 570, 40, - - 40, 574, 40, 40, 578, 577, 572, 40, 575, 40, - 40, 581, 40, 40, 579, 580, 40, 576, 586, 40, - 583, 40, 40, 588, 40, 40, 582, 584, 587, 40, - 585, 40, 589, 40, 40, 40, 40, 40, 590, 595, - 596, 597, 592, 591, 40, 40, 40, 40, 593, 40, - 594, 601, 40, 40, 600, 602, 40, 40, 40, 599, - 40, 40, 40, 40, 598, 40, 603, 37, 37, 37, - 37, 39, 39, 50, 40, 50, 50, 40, 40, 40, + 14, 14, 14, 14, 14, 14, 14, 4, 15, 8, + 8, 8, 16, 17, 18, 19, 20, 21, 22, 8, + 23, 8, 24, 25, 26, 27, 28, 8, 29, 30, + 31, 32, 33, 34, 35, 8, 36, 42, 40, 43, + 43, 43, 43, 43, 43, 43, 43, 45, 45, 45, + 45, 45, 45, 45, 45, 40, 46, 149, 181, 40, + 40, 40, 134, 40, 40, 40, 47, 48, 48, 48, + 48, 48, 48, 48, 48, 40, 69, 40, 40, 70, + 40, 135, 155, 51, 162, 145, 71, 56, 40, 94, + + 52, 57, 53, 60, 54, 61, 58, 55, 40, 59, + 40, 40, 49, 64, 95, 40, 62, 65, 158, 78, + 63, 66, 40, 67, 105, 79, 68, 72, 43, 73, + 74, 40, 182, 40, 40, 40, 40, 75, 40, 87, + 91, 76, 133, 77, 80, 136, 81, 88, 141, 82, + 83, 40, 89, 92, 40, 167, 90, 40, 84, 93, + 40, 40, 40, 96, 40, 97, 118, 85, 86, 98, + 148, 99, 102, 100, 40, 101, 40, 40, 103, 119, + 40, 131, 120, 104, 106, 40, 150, 40, 152, 121, + 151, 212, 40, 146, 132, 147, 153, 40, 107, 40, + + 108, 109, 156, 110, 111, 112, 40, 113, 154, 157, + 40, 40, 159, 114, 160, 115, 116, 163, 117, 106, + 161, 40, 40, 40, 40, 40, 166, 40, 40, 164, + 168, 165, 178, 122, 40, 123, 124, 173, 125, 171, + 126, 174, 127, 175, 128, 40, 172, 207, 129, 130, + 139, 139, 139, 139, 139, 139, 139, 139, 142, 142, + 142, 142, 142, 142, 142, 142, 40, 183, 179, 143, + 40, 40, 40, 44, 256, 143, 144, 144, 144, 144, + 144, 144, 144, 144, 180, 40, 144, 144, 40, 144, + 144, 144, 144, 144, 144, 169, 40, 40, 40, 297, + + 40, 184, 40, 40, 40, 176, 189, 40, 40, 40, + 40, 170, 196, 192, 194, 205, 185, 40, 195, 177, + 186, 187, 40, 188, 190, 193, 40, 40, 40, 199, + 191, 40, 197, 40, 40, 200, 202, 198, 40, 40, + 204, 206, 40, 40, 210, 40, 40, 208, 40, 201, + 203, 211, 215, 40, 225, 214, 40, 219, 40, 209, + 216, 40, 229, 40, 40, 40, 40, 213, 217, 226, + 227, 220, 218, 221, 230, 40, 222, 232, 233, 223, + 40, 231, 224, 40, 228, 237, 234, 40, 40, 40, + 40, 238, 266, 235, 40, 40, 239, 241, 266, 245, + + 259, 40, 40, 254, 236, 40, 243, 240, 246, 248, + 249, 242, 244, 247, 250, 40, 260, 255, 40, 251, + 40, 40, 252, 261, 40, 40, 40, 253, 257, 40, + 258, 40, 270, 40, 272, 40, 40, 360, 275, 274, + 40, 262, 271, 279, 40, 40, 40, 263, 267, 268, + 273, 269, 269, 269, 269, 269, 269, 269, 269, 276, + 277, 40, 40, 278, 40, 40, 40, 282, 280, 40, + 281, 40, 287, 40, 40, 40, 40, 40, 285, 283, + 284, 40, 286, 289, 288, 290, 40, 40, 40, 40, + 40, 296, 40, 40, 303, 292, 294, 291, 293, 302, + + 40, 40, 300, 40, 305, 298, 295, 40, 299, 301, + 306, 304, 307, 40, 40, 40, 310, 40, 309, 40, + 40, 40, 40, 313, 40, 40, 308, 311, 314, 40, + 40, 40, 40, 40, 40, 316, 356, 312, 40, 318, + 315, 326, 319, 353, 40, 317, 320, 40, 321, 322, + 322, 322, 322, 322, 322, 322, 322, 323, 324, 322, + 322, 325, 322, 322, 322, 322, 322, 322, 40, 40, + 331, 40, 40, 40, 40, 40, 40, 327, 40, 328, + 40, 333, 334, 329, 40, 330, 40, 40, 336, 40, + 332, 340, 335, 339, 40, 344, 337, 40, 342, 338, + + 40, 40, 40, 341, 40, 40, 343, 40, 40, 40, + 345, 350, 40, 40, 358, 40, 352, 354, 348, 346, + 347, 349, 351, 357, 40, 266, 355, 359, 267, 267, + 361, 266, 607, 607, 607, 39, 607, 39, 40, 40, + 40, 40, 40, 40, 40, 40, 365, 362, 368, 369, + 40, 40, 40, 40, 40, 364, 373, 366, 367, 40, + 40, 40, 40, 40, 40, 372, 374, 370, 371, 378, + 376, 40, 382, 40, 377, 40, 381, 40, 40, 375, + 379, 380, 383, 40, 40, 384, 40, 40, 40, 390, + 40, 40, 40, 40, 40, 391, 385, 40, 389, 386, + + 40, 387, 388, 40, 395, 40, 396, 40, 392, 393, + 394, 397, 398, 40, 40, 40, 40, 402, 399, 40, + 400, 406, 404, 40, 40, 403, 40, 401, 405, 40, + 40, 40, 408, 410, 40, 412, 407, 418, 40, 414, + 415, 40, 413, 40, 416, 40, 409, 411, 40, 40, + 417, 40, 419, 420, 422, 421, 40, 40, 40, 423, + 40, 40, 424, 427, 40, 40, 425, 40, 40, 40, + 426, 40, 40, 40, 435, 40, 40, 428, 432, 436, + 434, 40, 429, 438, 40, 430, 439, 40, 431, 40, + 433, 440, 441, 40, 437, 443, 442, 40, 40, 40, + + 40, 40, 40, 40, 40, 40, 40, 446, 40, 450, + 451, 40, 444, 455, 40, 40, 445, 447, 449, 452, + 456, 453, 448, 40, 40, 40, 40, 40, 454, 40, + 457, 40, 40, 40, 461, 463, 464, 40, 458, 40, + 459, 465, 466, 460, 462, 40, 467, 40, 40, 469, + 40, 40, 468, 40, 40, 40, 40, 40, 472, 40, + 40, 40, 471, 474, 476, 480, 479, 40, 470, 473, + 40, 40, 482, 477, 40, 484, 475, 40, 40, 478, + 483, 40, 40, 481, 40, 40, 40, 40, 40, 490, + 487, 486, 40, 40, 485, 492, 496, 497, 489, 40, + + 40, 488, 40, 40, 40, 494, 495, 493, 40, 499, + 505, 40, 491, 501, 40, 500, 498, 502, 40, 503, + 40, 40, 40, 504, 40, 40, 40, 40, 40, 40, + 509, 40, 506, 40, 510, 507, 515, 508, 511, 512, + 40, 513, 516, 40, 514, 40, 40, 40, 517, 40, + 40, 40, 40, 40, 40, 40, 518, 40, 519, 524, + 525, 40, 523, 40, 520, 40, 521, 40, 527, 526, + 528, 531, 522, 40, 530, 529, 534, 40, 535, 40, + 532, 40, 536, 40, 40, 40, 533, 542, 537, 40, + 539, 40, 40, 40, 40, 40, 541, 40, 40, 40, + + 40, 545, 40, 40, 538, 552, 549, 540, 546, 554, + 40, 547, 543, 550, 544, 40, 40, 553, 548, 551, + 40, 556, 555, 40, 40, 40, 40, 40, 40, 559, + 40, 40, 562, 557, 560, 40, 40, 40, 565, 40, + 40, 40, 40, 40, 563, 569, 558, 571, 40, 561, + 567, 568, 40, 40, 570, 572, 40, 40, 566, 564, + 40, 40, 574, 40, 573, 576, 577, 40, 40, 40, + 580, 40, 40, 40, 40, 575, 578, 40, 581, 40, + 584, 40, 582, 583, 40, 586, 40, 592, 589, 579, + 587, 591, 585, 40, 40, 588, 590, 40, 40, 40, + + 40, 40, 40, 593, 40, 40, 40, 598, 599, 600, + 40, 40, 595, 604, 594, 40, 40, 40, 40, 597, + 596, 40, 603, 40, 605, 40, 40, 602, 40, 601, + 40, 606, 37, 37, 37, 37, 37, 37, 37, 37, + 39, 40, 39, 39, 39, 39, 41, 40, 41, 41, + 40, 41, 50, 40, 50, 50, 50, 50, 50, 50, + 138, 40, 138, 138, 40, 138, 265, 40, 265, 363, + 363, 363, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, @@ -745,166 +747,166 @@ 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, - 40, 40, 40, 40, 40, 40, 40, 40, 258, 40, - 40, 40, 40, 40, 133, 40, 38, 604, 3, 604, + 40, 40, 40, 264, 40, 40, 40, 40, 40, 39, + 47, 140, 40, 137, 39, 40, 38, 607, 3, 607, - 604, 604, 604, 604, 604, 604, 604, 604, 604, 604, - 604, 604, 604, 604, 604, 604, 604, 604, 604, 604, - 604, 604, 604, 604, 604, 604, 604, 604, 604, 604, - 604, 604, 604, 604, 604, 604, 604, 604, 604, 604, - 604, 604 + 607, 607, 607, 607, 607, 607, 607, 607, 607, 607, + 607, 607, 607, 607, 607, 607, 607, 607, 607, 607, + 607, 607, 607, 607, 607, 607, 607, 607, 607, 607, + 607, 607, 607, 607, 607, 607, 607, 607, 607, 607, + 607, 607, 607, 607, 607, 607 } ; -static yyconst short int yy_chk[1343] = +static yyconst short int yy_chk[1347] = { 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 9, 58, 9, 9, 9, 9, 10, - 10, 10, 10, 11, 11, 11, 11, 11, 12, 493, - 20, 63, 58, 12, 13, 13, 13, 13, 13, 13, - 14, 14, 14, 14, 14, 14, 16, 20, 46, 17, - 20, 26, 63, 46, 16, 493, 92, 20, 17, 54, - 26, 16, 17, 16, 18, 16, 13, 17, 16, 18, - - 17, 18, 19, 61, 22, 26, 92, 19, 54, 24, - 61, 19, 18, 22, 24, 19, 18, 19, 23, 22, - 19, 21, 24, 64, 29, 23, 21, 24, 21, 21, - 34, 24, 25, 29, 23, 23, 21, 25, 36, 34, - 21, 28, 21, 33, 35, 35, 64, 36, 33, 31, - 25, 56, 51, 28, 31, 218, 25, 27, 52, 28, - 51, 33, 56, 35, 28, 218, 27, 31, 27, 74, - 31, 52, 27, 52, 27, 103, 27, 31, 27, 30, - 53, 55, 74, 30, 42, 42, 42, 42, 53, 30, - 60, 30, 30, 55, 30, 30, 30, 55, 30, 43, - - 43, 43, 43, 103, 30, 60, 30, 30, 66, 30, - 32, 62, 60, 69, 32, 44, 44, 44, 44, 44, - 32, 69, 32, 32, 68, 32, 62, 32, 62, 32, - 78, 32, 81, 66, 67, 32, 32, 45, 45, 45, - 45, 45, 45, 47, 47, 47, 47, 47, 68, 67, - 47, 81, 130, 78, 130, 609, 47, 48, 48, 48, - 48, 48, 48, 49, 49, 49, 49, 49, 57, 49, - 49, 65, 49, 49, 49, 49, 49, 49, 65, 57, - 71, 65, 72, 73, 75, 76, 77, 71, 79, 80, - 65, 57, 82, 84, 76, 77, 87, 72, 607, 73, - - 86, 83, 75, 71, 72, 80, 79, 83, 76, 89, - 84, 87, 86, 85, 82, 82, 84, 82, 85, 88, - 91, 96, 93, 94, 89, 95, 96, 88, 97, 98, - 85, 93, 94, 100, 95, 91, 97, 99, 102, 101, - 104, 105, 98, 106, 603, 93, 94, 601, 105, 110, - 99, 108, 106, 104, 100, 101, 105, 107, 110, 108, - 109, 111, 101, 113, 105, 102, 106, 112, 105, 109, - 117, 114, 107, 112, 108, 107, 113, 116, 107, 111, - 118, 107, 119, 109, 114, 120, 122, 121, 123, 117, - 116, 125, 114, 164, 127, 119, 121, 123, 127, 164, - - 125, 116, 126, 122, 128, 120, 123, 131, 118, 122, - 121, 123, 124, 129, 126, 132, 142, 128, 129, 128, - 124, 124, 143, 145, 148, 124, 160, 142, 131, 190, - 124, 146, 145, 124, 150, 153, 132, 148, 124, 160, - 143, 150, 132, 135, 135, 135, 135, 136, 136, 136, - 136, 151, 146, 190, 136, 152, 159, 161, 153, 155, - 136, 138, 138, 138, 138, 138, 151, 155, 138, 156, - 152, 159, 161, 168, 138, 139, 139, 157, 139, 139, - 139, 139, 139, 158, 163, 165, 157, 166, 158, 169, - 167, 156, 171, 163, 170, 168, 166, 163, 165, 167, - - 172, 173, 174, 177, 179, 172, 175, 176, 178, 177, - 600, 167, 169, 170, 182, 175, 176, 171, 185, 179, - 174, 180, 175, 174, 181, 183, 184, 178, 173, 186, - 180, 187, 182, 181, 183, 188, 189, 186, 192, 199, - 184, 185, 187, 202, 203, 210, 219, 181, 208, 207, - 223, 189, 247, 192, 210, 219, 188, 265, 599, 199, - 202, 209, 216, 212, 265, 247, 223, 203, 206, 206, - 206, 206, 207, 208, 206, 206, 211, 206, 206, 206, - 206, 206, 206, 216, 209, 211, 212, 211, 220, 224, - 226, 211, 227, 211, 228, 229, 232, 233, 237, 230, - - 231, 240, 238, 242, 597, 228, 220, 227, 230, 231, - 224, 244, 242, 226, 229, 246, 230, 248, 240, 232, - 238, 237, 233, 249, 246, 250, 251, 252, 244, 253, - 250, 254, 252, 248, 251, 254, 256, 257, 264, 266, - 328, 249, 273, 253, 259, 259, 259, 259, 269, 273, - 328, 259, 595, 269, 256, 264, 266, 259, 260, 260, - 257, 260, 260, 260, 260, 261, 261, 261, 261, 262, - 262, 262, 262, 262, 263, 263, 263, 263, 263, 268, - 274, 275, 276, 277, 278, 279, 280, 282, 277, 281, - 283, 284, 294, 285, 286, 283, 268, 276, 279, 286, - - 287, 278, 282, 274, 275, 281, 291, 292, 288, 287, - 284, 293, 297, 280, 285, 288, 294, 298, 301, 300, - 302, 305, 298, 304, 303, 306, 311, 297, 300, 291, - 292, 307, 312, 293, 314, 293, 305, 304, 315, 301, - 318, 302, 303, 306, 311, 316, 307, 312, 321, 318, - 322, 320, 327, 323, 594, 321, 324, 325, 314, 329, - 332, 315, 323, 316, 320, 324, 325, 330, 329, 332, - 322, 333, 335, 336, 340, 327, 323, 330, 333, 324, - 338, 335, 343, 340, 344, 346, 345, 338, 336, 347, - 348, 350, 343, 351, 347, 344, 345, 353, 346, 355, - - 356, 358, 358, 358, 358, 360, 363, 348, 361, 355, - 360, 364, 350, 356, 351, 368, 361, 365, 364, 366, - 353, 355, 365, 369, 367, 370, 366, 371, 363, 367, - 372, 370, 369, 373, 374, 375, 368, 376, 377, 382, - 379, 385, 373, 383, 384, 377, 371, 379, 386, 372, - 385, 374, 382, 387, 376, 388, 383, 389, 375, 391, - 390, 384, 394, 386, 393, 395, 396, 397, 391, 387, - 399, 394, 395, 398, 389, 396, 397, 401, 388, 390, - 402, 393, 398, 399, 410, 412, 411, 415, 414, 416, - 419, 422, 425, 427, 423, 401, 411, 424, 416, 410, - - 414, 423, 426, 402, 412, 424, 427, 428, 429, 419, - 415, 430, 428, 426, 422, 425, 432, 433, 435, 436, - 437, 438, 440, 441, 442, 454, 436, 447, 430, 432, - 438, 429, 446, 452, 454, 435, 446, 446, 451, 457, - 433, 441, 442, 455, 440, 451, 456, 459, 437, 452, - 447, 456, 455, 464, 459, 465, 466, 468, 469, 476, - 480, 481, 457, 475, 484, 483, 468, 486, 469, 482, - 488, 476, 465, 466, 464, 480, 475, 482, 483, 491, - 492, 484, 494, 481, 495, 497, 498, 499, 488, 500, - 486, 501, 503, 495, 497, 504, 502, 494, 506, 507, - - 491, 492, 499, 498, 500, 502, 508, 510, 507, 511, - 509, 508, 501, 512, 503, 509, 510, 513, 504, 514, - 512, 516, 519, 506, 517, 518, 521, 522, 523, 524, - 514, 519, 511, 528, 530, 531, 539, 532, 524, 544, - 513, 521, 531, 530, 522, 516, 528, 517, 518, 533, - 535, 523, 532, 536, 537, 533, 542, 535, 536, 539, - 543, 542, 544, 545, 546, 547, 548, 537, 545, 543, - 549, 550, 551, 548, 552, 553, 554, 556, 558, 552, - 546, 554, 557, 559, 550, 562, 560, 551, 564, 566, - 553, 556, 561, 549, 547, 560, 565, 558, 557, 567, - - 568, 561, 570, 571, 566, 565, 559, 572, 562, 576, - 573, 570, 575, 578, 567, 568, 579, 564, 576, 580, - 572, 581, 582, 579, 583, 584, 571, 573, 578, 585, - 575, 586, 580, 587, 588, 589, 590, 592, 581, 586, - 587, 588, 583, 582, 596, 602, 598, 593, 584, 591, - 585, 596, 577, 574, 592, 598, 569, 563, 555, 590, - 541, 540, 538, 534, 589, 529, 602, 605, 605, 605, - 605, 606, 606, 608, 527, 608, 608, 526, 525, 520, - 515, 505, 496, 490, 489, 487, 485, 479, 478, 477, - 474, 473, 472, 471, 470, 467, 463, 462, 461, 460, - - 458, 453, 450, 449, 448, 445, 444, 443, 439, 434, - 431, 421, 420, 418, 417, 413, 409, 408, 407, 406, - 405, 404, 403, 400, 392, 381, 380, 378, 362, 359, - 357, 354, 352, 349, 342, 341, 339, 337, 334, 331, - 326, 319, 313, 310, 309, 308, 299, 296, 295, 290, - 289, 272, 271, 270, 267, 255, 245, 243, 241, 239, - 236, 235, 234, 225, 222, 221, 217, 215, 214, 213, - 205, 204, 201, 200, 198, 197, 196, 195, 194, 193, - 191, 162, 154, 149, 147, 144, 141, 137, 133, 115, - 90, 70, 59, 39, 37, 8, 7, 3, 604, 604, - - 604, 604, 604, 604, 604, 604, 604, 604, 604, 604, - 604, 604, 604, 604, 604, 604, 604, 604, 604, 604, - 604, 604, 604, 604, 604, 604, 604, 604, 604, 604, - 604, 604, 604, 604, 604, 604, 604, 604, 604, 604, - 604, 604 + 1, 1, 1, 1, 1, 1, 1, 9, 54, 9, + 9, 9, 9, 9, 9, 9, 9, 11, 11, 11, + 11, 11, 11, 11, 11, 11, 12, 54, 80, 20, + 80, 64, 35, 35, 58, 12, 13, 13, 13, 13, + 13, 13, 13, 13, 13, 16, 20, 51, 17, 20, + 26, 35, 58, 16, 64, 51, 20, 17, 18, 26, + + 16, 17, 16, 18, 16, 18, 17, 16, 19, 17, + 22, 61, 13, 19, 26, 29, 18, 19, 61, 22, + 18, 19, 21, 19, 29, 22, 19, 21, 614, 21, + 21, 68, 81, 34, 24, 25, 36, 21, 81, 24, + 25, 21, 34, 21, 23, 36, 23, 24, 46, 23, + 23, 23, 24, 25, 27, 68, 24, 46, 23, 25, + 28, 31, 53, 27, 106, 27, 31, 23, 23, 27, + 53, 27, 28, 27, 55, 27, 33, 56, 28, 31, + 52, 33, 31, 28, 30, 57, 55, 60, 56, 31, + 55, 106, 30, 52, 33, 52, 57, 62, 30, 63, + + 30, 30, 60, 30, 30, 30, 66, 30, 57, 60, + 65, 67, 62, 30, 62, 30, 30, 65, 30, 32, + 63, 73, 69, 77, 72, 75, 67, 32, 74, 65, + 69, 66, 77, 32, 102, 32, 32, 73, 32, 72, + 32, 74, 32, 75, 32, 78, 72, 102, 32, 32, + 42, 42, 42, 42, 42, 42, 42, 42, 47, 47, + 47, 47, 47, 47, 47, 47, 79, 82, 78, 47, + 131, 82, 176, 611, 131, 47, 49, 49, 49, 49, + 49, 49, 49, 49, 79, 84, 49, 49, 71, 49, + 49, 49, 49, 49, 49, 71, 76, 85, 86, 176, + + 87, 84, 90, 91, 92, 76, 87, 88, 89, 96, + 100, 71, 92, 89, 90, 100, 85, 93, 91, 76, + 86, 86, 95, 86, 88, 89, 97, 98, 105, 96, + 88, 99, 93, 101, 103, 97, 98, 95, 104, 107, + 99, 101, 108, 606, 105, 109, 112, 103, 110, 97, + 98, 105, 109, 114, 112, 108, 115, 110, 111, 104, + 109, 113, 114, 122, 117, 118, 121, 107, 109, 112, + 113, 110, 109, 111, 115, 116, 111, 117, 118, 111, + 120, 116, 111, 123, 113, 121, 118, 124, 125, 126, + 127, 122, 140, 120, 129, 133, 123, 125, 140, 127, + + 133, 128, 135, 129, 120, 130, 126, 124, 127, 128, + 128, 125, 126, 127, 128, 132, 134, 130, 134, 128, + 136, 146, 128, 135, 147, 149, 152, 128, 132, 150, + 132, 154, 146, 260, 149, 159, 604, 260, 154, 152, + 157, 136, 147, 159, 155, 156, 160, 136, 143, 143, + 150, 143, 143, 143, 143, 143, 143, 143, 143, 155, + 156, 161, 162, 157, 163, 164, 167, 162, 160, 166, + 161, 168, 167, 171, 169, 172, 170, 173, 166, 163, + 164, 174, 166, 169, 168, 170, 175, 177, 180, 185, + 179, 175, 184, 178, 180, 171, 173, 170, 172, 179, + + 188, 186, 178, 187, 185, 177, 174, 189, 177, 178, + 186, 184, 187, 190, 191, 192, 189, 193, 188, 194, + 195, 196, 205, 192, 198, 209, 187, 190, 193, 208, + 253, 256, 216, 214, 213, 195, 256, 191, 215, 198, + 194, 216, 205, 253, 603, 196, 208, 218, 209, 212, + 212, 212, 212, 212, 212, 212, 212, 213, 214, 212, + 212, 215, 212, 212, 212, 212, 212, 212, 217, 222, + 218, 224, 229, 225, 226, 230, 232, 217, 233, 217, + 234, 224, 225, 217, 235, 217, 237, 238, 229, 236, + 222, 234, 226, 233, 239, 237, 230, 243, 236, 232, + + 244, 254, 248, 235, 246, 250, 236, 252, 255, 258, + 238, 248, 262, 259, 258, 257, 252, 254, 244, 239, + 243, 246, 250, 257, 263, 265, 255, 259, 266, 266, + 262, 265, 267, 267, 268, 268, 269, 269, 270, 271, + 272, 274, 279, 275, 280, 281, 271, 263, 275, 279, + 282, 283, 285, 284, 286, 270, 283, 272, 274, 287, + 290, 289, 296, 292, 288, 282, 284, 280, 281, 288, + 286, 291, 292, 297, 287, 293, 291, 298, 299, 285, + 289, 290, 293, 302, 303, 296, 305, 306, 307, 303, + 309, 310, 308, 311, 320, 305, 297, 312, 302, 298, + + 316, 298, 299, 319, 309, 317, 310, 321, 306, 307, + 308, 311, 312, 323, 326, 325, 327, 320, 316, 332, + 317, 326, 323, 328, 329, 321, 330, 319, 325, 333, + 338, 334, 328, 329, 335, 330, 327, 338, 341, 333, + 334, 337, 332, 340, 335, 345, 328, 329, 343, 348, + 337, 349, 340, 341, 345, 343, 350, 351, 352, 348, + 353, 355, 349, 352, 356, 358, 350, 361, 360, 365, + 351, 366, 368, 602, 365, 373, 369, 353, 360, 366, + 361, 370, 355, 369, 371, 356, 370, 372, 358, 374, + 360, 371, 372, 375, 368, 374, 373, 376, 377, 379, + + 378, 380, 381, 383, 389, 390, 386, 377, 387, 381, + 383, 388, 375, 389, 391, 392, 376, 378, 380, 386, + 390, 387, 379, 393, 394, 395, 398, 397, 388, 399, + 391, 405, 400, 401, 395, 398, 399, 402, 392, 403, + 393, 400, 401, 394, 397, 406, 402, 414, 415, 405, + 416, 418, 403, 419, 423, 420, 426, 428, 415, 427, + 429, 430, 414, 418, 420, 428, 427, 431, 406, 416, + 432, 433, 430, 423, 434, 432, 419, 436, 437, 426, + 431, 439, 440, 429, 441, 443, 442, 444, 445, 440, + 436, 434, 449, 450, 433, 442, 449, 449, 439, 455, + + 460, 437, 454, 462, 457, 444, 445, 443, 458, 454, + 462, 467, 441, 457, 459, 455, 450, 458, 468, 459, + 469, 471, 484, 460, 472, 478, 483, 479, 485, 486, + 471, 487, 467, 489, 472, 468, 485, 469, 478, 479, + 491, 483, 486, 494, 484, 495, 496, 497, 487, 506, + 498, 500, 501, 502, 504, 503, 489, 507, 491, 498, + 500, 509, 497, 519, 494, 505, 495, 510, 502, 501, + 503, 506, 496, 511, 505, 504, 510, 512, 511, 513, + 507, 514, 512, 515, 516, 517, 509, 519, 513, 520, + 515, 521, 522, 524, 525, 526, 517, 527, 534, 600, + + 531, 522, 535, 536, 514, 534, 527, 516, 524, 536, + 533, 525, 520, 531, 521, 538, 539, 535, 526, 533, + 540, 539, 538, 542, 545, 546, 547, 548, 549, 545, + 550, 551, 548, 540, 546, 552, 554, 553, 551, 556, + 555, 559, 557, 561, 549, 555, 542, 557, 560, 547, + 553, 554, 562, 565, 556, 559, 563, 564, 552, 550, + 567, 568, 561, 569, 560, 563, 564, 570, 571, 574, + 568, 573, 575, 576, 583, 562, 565, 578, 569, 579, + 573, 581, 570, 571, 582, 575, 584, 583, 579, 567, + 576, 582, 574, 585, 586, 578, 581, 587, 588, 589, + + 592, 590, 591, 584, 593, 595, 599, 589, 590, 591, + 605, 598, 586, 599, 585, 601, 597, 596, 594, 588, + 587, 580, 595, 577, 601, 572, 566, 593, 558, 592, + 544, 605, 608, 608, 608, 608, 608, 608, 608, 608, + 609, 543, 609, 609, 609, 609, 610, 541, 610, 610, + 537, 610, 612, 532, 612, 612, 612, 612, 612, 612, + 613, 530, 613, 613, 529, 613, 615, 528, 615, 616, + 616, 616, 523, 518, 508, 499, 493, 492, 490, 488, + 482, 481, 480, 477, 476, 475, 474, 473, 470, 466, + 465, 464, 463, 461, 456, 453, 452, 451, 448, 447, + + 446, 438, 435, 425, 424, 422, 421, 417, 413, 412, + 411, 410, 409, 408, 407, 404, 396, 385, 384, 382, + 367, 364, 362, 359, 357, 354, 347, 346, 344, 342, + 339, 336, 331, 324, 318, 315, 314, 313, 304, 301, + 300, 295, 294, 278, 277, 276, 273, 261, 251, 249, + 247, 245, 242, 241, 240, 231, 228, 227, 223, 221, + 220, 219, 211, 210, 207, 206, 204, 203, 202, 201, + 200, 199, 197, 183, 182, 181, 165, 158, 153, 151, + 148, 145, 141, 137, 119, 94, 83, 70, 59, 48, + 45, 44, 39, 37, 14, 8, 7, 3, 607, 607, + + 607, 607, 607, 607, 607, 607, 607, 607, 607, 607, + 607, 607, 607, 607, 607, 607, 607, 607, 607, 607, + 607, 607, 607, 607, 607, 607, 607, 607, 607, 607, + 607, 607, 607, 607, 607, 607, 607, 607, 607, 607, + 607, 607, 607, 607, 607, 607 } ; static yy_state_type yy_state_buf[YY_BUF_SIZE + 2], *yy_state_ptr; @@ -921,7 +923,7 @@ #define YY_MORE_ADJ 0 #define YY_RESTORE_YY_MORE_OFFSET char *yytext; -#line 1 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +#line 1 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" #define INITIAL 0 /*===-- UpgradeLexer.l - Scanner for 1.9 assembly files --------*- C++ -*--===// // @@ -936,7 +938,7 @@ // //===----------------------------------------------------------------------===*/ #define YY_NEVER_INTERACTIVE 1 -#line 28 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +#line 28 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" #include "ParserInternals.h" #include "UpgradeParser.h" @@ -982,7 +984,7 @@ /* HexIntConstant - Hexadecimal constant generated by the CFE to avoid forcing * it to deal with 64 bit numbers. */ -#line 986 "UpgradeLexer.cpp" +#line 988 "UpgradeLexer.cpp" /* Macros after this point can all be overridden by user definitions in * section 1. @@ -1133,10 +1135,10 @@ register char *yy_cp = NULL, *yy_bp = NULL; register int yy_act; -#line 99 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +#line 99 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" -#line 1140 "UpgradeLexer.cpp" +#line 1142 "UpgradeLexer.cpp" if ( yy_init ) { @@ -1184,14 +1186,14 @@ while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 605 ) + if ( yy_current_state >= 608 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; *yy_state_ptr++ = yy_current_state; ++yy_cp; } - while ( yy_current_state != 604 ); + while ( yy_current_state != 607 ); yy_find_action: yy_current_state = *--yy_state_ptr; @@ -1229,761 +1231,776 @@ { /* beginning of action switch */ case 1: YY_RULE_SETUP -#line 101 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +#line 101 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" { /* Ignore comments for now */ } YY_BREAK case 2: YY_RULE_SETUP -#line 103 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +#line 103 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" { RET_TOK( BEGINTOK); } YY_BREAK case 3: YY_RULE_SETUP -#line 104 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +#line 104 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" { RET_TOK( ENDTOK); } YY_BREAK case 4: YY_RULE_SETUP -#line 105 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +#line 105 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" { RET_TOK( TRUETOK); } YY_BREAK case 5: YY_RULE_SETUP -#line 106 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +#line 106 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" { RET_TOK( FALSETOK); } YY_BREAK case 6: YY_RULE_SETUP -#line 107 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" +#line 107 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" { RET_TOK( DECLARE); } YY_BREAK case 7: YY_RULE_SETUP -#line 108 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( DEFINE); } +#line 108 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( GLOBAL); } YY_BREAK case 8: YY_RULE_SETUP -#line 109 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( GLOBAL); } +#line 109 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( CONSTANT); } YY_BREAK case 9: YY_RULE_SETUP -#line 110 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( CONSTANT); } +#line 110 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( INTERNAL); } YY_BREAK case 10: YY_RULE_SETUP -#line 111 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( INTERNAL); } +#line 111 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( LINKONCE); } YY_BREAK case 11: YY_RULE_SETUP -#line 112 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( LINKONCE); } +#line 112 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( WEAK); } YY_BREAK case 12: YY_RULE_SETUP -#line 113 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( WEAK); } +#line 113 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( APPENDING); } YY_BREAK case 13: YY_RULE_SETUP -#line 114 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( APPENDING); } +#line 114 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( DLLIMPORT); } YY_BREAK case 14: YY_RULE_SETUP -#line 115 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( DLLIMPORT); } +#line 115 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( DLLEXPORT); } YY_BREAK case 15: YY_RULE_SETUP -#line 116 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( DLLEXPORT); } +#line 116 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( EXTERN_WEAK); } YY_BREAK case 16: YY_RULE_SETUP -#line 117 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( EXTERN_WEAK); } +#line 117 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( EXTERNAL); } YY_BREAK case 17: YY_RULE_SETUP -#line 118 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( EXTERNAL); } +#line 118 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( UNINITIALIZED); } // alias for external YY_BREAK case 18: YY_RULE_SETUP -#line 119 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( UNINITIALIZED); } // alias for external +#line 119 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( IMPLEMENTATION); } YY_BREAK case 19: YY_RULE_SETUP -#line 120 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( IMPLEMENTATION); } +#line 120 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( ZEROINITIALIZER); } YY_BREAK case 20: YY_RULE_SETUP -#line 121 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( ZEROINITIALIZER); } +#line 121 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( DOTDOTDOT); } YY_BREAK case 21: YY_RULE_SETUP -#line 122 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( DOTDOTDOT); } +#line 122 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( UNDEF); } YY_BREAK case 22: YY_RULE_SETUP -#line 123 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( UNDEF); } +#line 123 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( NULL_TOK); } YY_BREAK case 23: YY_RULE_SETUP -#line 124 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( NULL_TOK); } +#line 124 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( TO); } YY_BREAK case 24: YY_RULE_SETUP -#line 125 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( TO); } +#line 125 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( TAIL); } YY_BREAK case 25: YY_RULE_SETUP -#line 126 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( TAIL); } +#line 126 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( TARGET); } YY_BREAK case 26: YY_RULE_SETUP -#line 127 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( TARGET); } +#line 127 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( TRIPLE); } YY_BREAK case 27: YY_RULE_SETUP -#line 128 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( TRIPLE); } +#line 128 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( DEPLIBS); } YY_BREAK case 28: YY_RULE_SETUP -#line 129 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( DEPLIBS); } +#line 129 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( ENDIAN); } YY_BREAK case 29: YY_RULE_SETUP -#line 130 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( ENDIAN); } +#line 130 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( POINTERSIZE); } YY_BREAK case 30: YY_RULE_SETUP -#line 131 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( POINTERSIZE); } +#line 131 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( DATALAYOUT); } YY_BREAK case 31: YY_RULE_SETUP -#line 132 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( DATALAYOUT); } +#line 132 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( LITTLE); } YY_BREAK case 32: YY_RULE_SETUP -#line 133 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( LITTLE); } +#line 133 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( BIG); } YY_BREAK case 33: YY_RULE_SETUP -#line 134 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( BIG); } +#line 134 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeLexer.l" +{ RET_TOK( VOLATILE); } YY_BREAK case 34: YY_RULE_SETUP -#line 135 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeLexer.l" -{ RET_TOK( VOLATILE); } +#line 135 "/proj/ll