From 80a75bfae980df96f969f1c05b0c4a80ce975240 Mon Sep 17 00:00:00 2001
From: Gordon Henriksen
Date: Mon, 10 Dec 2007 03:18:06 +0000
Subject: [PATCH] Adding a collector name attribute to Function in the IR.
These methods are new to Function:
bool hasCollector() const;
const std::string &getCollector() const;
void setCollector(const std::string &);
void clearCollector();
The assembly representation is as such:
define void @f() gc "shadow-stack" { ...
The implementation uses an on-the-side table to map Functions to
collector names, such that there is no overhead. A StringPool is
further used to unique collector names, which are extremely
likely to be unique per process.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44769 91177308-0d34-0410-b5e6-96231b3b80d8
---
bindings/ocaml/llvm/llvm.ml | 2 +
bindings/ocaml/llvm/llvm.mli | 9 +
bindings/ocaml/llvm/llvm_ocaml.c | 23 +
docs/LangRef.html | 25 +-
include/llvm-c/Core.h | 2 +
include/llvm/Bitcode/LLVMBitCodes.h | 4 +-
include/llvm/Function.h | 7 +
lib/AsmParser/LLLexer.cpp | 1 +
lib/AsmParser/llvmAsmParser.cpp.cvs | 2418 +++++++++++++------------
lib/AsmParser/llvmAsmParser.h.cvs | 20 +-
lib/AsmParser/llvmAsmParser.y | 16 +-
lib/AsmParser/llvmAsmParser.y.cvs | 16 +-
lib/Bitcode/Reader/BitcodeReader.cpp | 15 +-
lib/Bitcode/Writer/BitcodeWriter.cpp | 33 +-
lib/Transforms/Utils/CloneModule.cpp | 2 +
lib/VMCore/AsmWriter.cpp | 2 +
lib/VMCore/Core.cpp | 13 +
lib/VMCore/Function.cpp | 39 +
test/Assembler/2007-09-29-GC.ll | 12 +
test/Bindings/Ocaml/vmcore.ml | 19 +-
test/CodeGen/Generic/GC/alloc_loop.ll | 2 +-
21 files changed, 1449 insertions(+), 1231 deletions(-)
create mode 100644 test/Assembler/2007-09-29-GC.ll
diff --git a/bindings/ocaml/llvm/llvm.ml b/bindings/ocaml/llvm/llvm.ml
index a415b945947..d9ef2d3af37 100644
--- a/bindings/ocaml/llvm/llvm.ml
+++ b/bindings/ocaml/llvm/llvm.ml
@@ -282,6 +282,8 @@ external is_intrinsic : llvalue -> bool = "llvm_is_intrinsic"
external function_call_conv : llvalue -> int = "llvm_function_call_conv"
external set_function_call_conv : int -> llvalue -> unit
= "llvm_set_function_call_conv"
+external collector : llvalue -> string option = "llvm_collector"
+external set_collector : string option -> llvalue -> unit = "llvm_set_collector"
(* TODO: param attrs *)
diff --git a/bindings/ocaml/llvm/llvm.mli b/bindings/ocaml/llvm/llvm.mli
index ac83e428098..02bb58ca6c7 100644
--- a/bindings/ocaml/llvm/llvm.mli
+++ b/bindings/ocaml/llvm/llvm.mli
@@ -754,6 +754,15 @@ external function_call_conv : llvalue -> int = "llvm_function_call_conv"
external set_function_call_conv : int -> llvalue -> unit
= "llvm_set_function_call_conv"
+(** [collector f] returns [Some name] if the function [f] has a garbage
+ collection algorithm specified and [None] otherwise.
+ See the method [llvm::Function::getCollector]. **)
+external collector : llvalue -> string option = "llvm_collector"
+
+(** [set_collector gc f] sets the collection algorithm for the function [f] to
+ [gc]. See the method [llvm::Function::setCollector]. **)
+external set_collector : string option -> llvalue -> unit = "llvm_set_collector"
+
(*--... Operations on basic blocks .........................................--*)
(** [basic_blocks fn] returns the basic blocks of the function [f].
diff --git a/bindings/ocaml/llvm/llvm_ocaml.c b/bindings/ocaml/llvm/llvm_ocaml.c
index dd37e3e978a..342d890e747 100644
--- a/bindings/ocaml/llvm/llvm_ocaml.c
+++ b/bindings/ocaml/llvm/llvm_ocaml.c
@@ -536,6 +536,29 @@ CAMLprim value llvm_set_function_call_conv(value Id, LLVMValueRef Fn) {
return Val_unit;
}
+/* llvalue -> string option */
+CAMLprim value llvm_collector(LLVMValueRef Fn) {
+ const char *Collector;
+ CAMLparam0();
+ CAMLlocal2(Name, Option);
+
+ if ((Collector = LLVMGetCollector(Fn))) {
+ Name = copy_string(Collector);
+
+ Option = alloc(1, 0);
+ Field(Option, 0) = Name;
+ CAMLreturn(Option);
+ } else {
+ CAMLreturn(Val_int(0));
+ }
+}
+
+/* string option -> llvalue -> unit */
+CAMLprim value llvm_set_collector(value GC, LLVMValueRef Fn) {
+ LLVMSetCollector(Fn, GC == Val_int(0)? 0 : String_val(Field(GC, 0)));
+ return Val_unit;
+}
+
/*--... Operations on basic blocks .........................................--*/
/* llvalue -> llbasicblock array */
diff --git a/docs/LangRef.html b/docs/LangRef.html
index f85a441e531..80817e28dcc 100644
--- a/docs/LangRef.html
+++ b/docs/LangRef.html
@@ -26,6 +26,7 @@
Functions
Aliases
Parameter Attributes
+ Garbage Collector Names
Module-Level Inline Assembly
Data Layout
@@ -702,15 +703,16 @@ an optional linkage type, an optional
parameter attribute for the return type, a function
name, a (possibly empty) argument list (each with optional
parameter attributes), an optional section, an
-optional alignment, an opening curly brace, a list of basic blocks, and a
-closing curly brace.
+optional alignment, an optional garbage collector name, an
+opening curly brace, a list of basic blocks, and a closing curly brace.
LLVM function declarations consist of the "declare" keyword, an
optional linkage type, an optional
visibility style, an optional
calling convention, a return type, an optional
parameter attribute for the return type, a function
-name, a possibly empty list of arguments, and an optional alignment.
+name, a possibly empty list of arguments, an optional alignment, and an optional
+garbage collector name.
A function definition contains a list of basic blocks, forming the CFG for
the function. Each basic block may optionally start with a label (giving the
@@ -824,6 +826,23 @@ declare i32 @atoi(i8*) nounwind readonly
+
+
+
+
+
Each function may specify a garbage collector name, which is simply a
+string.
+
+
define void @f() gc "name" { ...
+
+
The compiler declares the supported values of name. Specifying a
+collector which will cause the compiler to alter its output in order to support
+the named garbage collection algorithm.
+
+
Module-Level Inline Assembly
diff --git a/include/llvm-c/Core.h b/include/llvm-c/Core.h
index a9228bcfc30..d3308eff638 100644
--- a/include/llvm-c/Core.h
+++ b/include/llvm-c/Core.h
@@ -339,6 +339,8 @@ LLVMValueRef LLVMGetParam(LLVMValueRef Fn, unsigned Index);
unsigned LLVMGetIntrinsicID(LLVMValueRef Fn);
unsigned LLVMGetFunctionCallConv(LLVMValueRef Fn);
void LLVMSetFunctionCallConv(LLVMValueRef Fn, unsigned CC);
+const char *LLVMGetCollector(LLVMValueRef Fn);
+void LLVMSetCollector(LLVMValueRef Fn, const char *Coll);
/* Operations on basic blocks */
LLVMValueRef LLVMBasicBlockAsValue(LLVMBasicBlockRef Bb);
diff --git a/include/llvm/Bitcode/LLVMBitCodes.h b/include/llvm/Bitcode/LLVMBitCodes.h
index f62af5e17c6..32311b26d90 100644
--- a/include/llvm/Bitcode/LLVMBitCodes.h
+++ b/include/llvm/Bitcode/LLVMBitCodes.h
@@ -58,7 +58,9 @@ namespace bitc {
MODULE_CODE_ALIAS = 9,
/// MODULE_CODE_PURGEVALS: [numvals]
- MODULE_CODE_PURGEVALS = 10
+ MODULE_CODE_PURGEVALS = 10,
+
+ MODULE_CODE_COLLECTORNAME = 11 // COLLECTORNAME: [strchr x N]
};
/// PARAMATTR blocks have code for defining a parameter attribute set.
diff --git a/include/llvm/Function.h b/include/llvm/Function.h
index 20a43e285cf..ece095d3808 100644
--- a/include/llvm/Function.h
+++ b/include/llvm/Function.h
@@ -153,6 +153,13 @@ public:
/// @brief Set the parameter attributes.
void setParamAttrs(const ParamAttrsList *attrs);
+ /// hasCollector/getCollector/setCollector/clearCollector - The name of the
+ /// garbage collection algorithm to use during code generation.
+ bool hasCollector() const;
+ const char *getCollector() const;
+ void setCollector(const char *Str);
+ void clearCollector();
+
/// @brief Determine whether the function has the given attribute.
bool paramHasAttr(uint16_t i, ParameterAttributes attr) const {
return ParamAttrs && ParamAttrs->paramHasAttr(i, attr);
diff --git a/lib/AsmParser/LLLexer.cpp b/lib/AsmParser/LLLexer.cpp
index 72e19f1d4d3..ef8d27c8a37 100644
--- a/lib/AsmParser/LLLexer.cpp
+++ b/lib/AsmParser/LLLexer.cpp
@@ -468,6 +468,7 @@ int LLLexer::LexIdentifier() {
KEYWORD("module", MODULE);
KEYWORD("asm", ASM_TOK);
KEYWORD("sideeffect", SIDEEFFECT);
+ KEYWORD("gc", GC);
KEYWORD("cc", CC_TOK);
KEYWORD("ccc", CCC_TOK);
diff --git a/lib/AsmParser/llvmAsmParser.cpp.cvs b/lib/AsmParser/llvmAsmParser.cpp.cvs
index ffe2398a53f..3d09b362ff2 100644
--- a/lib/AsmParser/llvmAsmParser.cpp.cvs
+++ b/lib/AsmParser/llvmAsmParser.cpp.cvs
@@ -216,9 +216,10 @@
NEST = 397,
READNONE = 398,
READONLY = 399,
- DEFAULT = 400,
- HIDDEN = 401,
- PROTECTED = 402
+ GC = 400,
+ DEFAULT = 401,
+ HIDDEN = 402,
+ PROTECTED = 403
};
#endif
/* Tokens. */
@@ -364,15 +365,16 @@
#define NEST 397
#define READNONE 398
#define READONLY 399
-#define DEFAULT 400
-#define HIDDEN 401
-#define PROTECTED 402
+#define GC 400
+#define DEFAULT 401
+#define HIDDEN 402
+#define PROTECTED 403
/* Copy the first part of user declarations. */
-#line 14 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+#line 14 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
#include "ParserInternals.h"
#include "llvm/CallingConv.h"
@@ -1324,7 +1326,7 @@ Module *llvm::RunVMAsmParser(llvm::MemoryBuffer *MB) {
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
typedef union YYSTYPE
-#line 945 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+#line 945 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{
llvm::Module *ModuleVal;
llvm::Function *FunctionVal;
@@ -1371,8 +1373,8 @@ typedef union YYSTYPE
llvm::ICmpInst::Predicate IPredicate;
llvm::FCmpInst::Predicate FPredicate;
}
-/* Line 187 of yacc.c. */
-#line 1376 "llvmAsmParser.tab.c"
+/* Line 193 of yacc.c. */
+#line 1378 "llvmAsmParser.tab.c"
YYSTYPE;
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
# define YYSTYPE_IS_DECLARED 1
@@ -1385,7 +1387,7 @@ typedef union YYSTYPE
/* Line 216 of yacc.c. */
-#line 1389 "llvmAsmParser.tab.c"
+#line 1391 "llvmAsmParser.tab.c"
#ifdef short
# undef short
@@ -1435,7 +1437,7 @@ typedef short int yytype_int16;
#define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
#ifndef YY_
-# if YYENABLE_NLS
+# if defined YYENABLE_NLS && YYENABLE_NLS
# if ENABLE_NLS
# include
/* INFRINGES ON USER NAME SPACE */
# define YY_(msgid) dgettext ("bison-runtime", msgid)
@@ -1600,20 +1602,20 @@ union yyalloc
/* YYFINAL -- State number of the termination state. */
#define YYFINAL 43
/* YYLAST -- Last index in YYTABLE. */
-#define YYLAST 1816
+#define YYLAST 1820
/* YYNTOKENS -- Number of terminals. */
-#define YYNTOKENS 162
+#define YYNTOKENS 163
/* YYNNTS -- Number of nonterminals. */
-#define YYNNTS 82
+#define YYNNTS 83
/* YYNRULES -- Number of rules. */
-#define YYNRULES 314
+#define YYNRULES 316
/* YYNRULES -- Number of states. */
-#define YYNSTATES 608
+#define YYNSTATES 611
/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
#define YYUNDEFTOK 2
-#define YYMAXUTOK 402
+#define YYMAXUTOK 403
#define YYTRANSLATE(YYX) \
((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
@@ -1625,15 +1627,15 @@ static const yytype_uint8 yytranslate[] =
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 152, 153, 150, 2, 149, 2, 2, 2, 2, 2,
+ 153, 154, 151, 2, 150, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 157, 148, 158, 2, 2, 2, 2, 2, 2, 2,
+ 158, 149, 159, 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, 151, 156, 2, 2, 2, 2, 2, 161,
+ 2, 155, 152, 157, 2, 2, 2, 2, 2, 162,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 155, 2, 2, 159, 2, 160, 2, 2, 2, 2,
+ 156, 2, 2, 160, 2, 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, 2, 2, 2, 2, 2, 2,
@@ -1661,7 +1663,7 @@ static const yytype_uint8 yytranslate[] =
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
+ 145, 146, 147, 148
};
#if YYDEBUG
@@ -1681,32 +1683,32 @@ static const yytype_uint16 yyprhs[] =
175, 177, 179, 181, 182, 184, 186, 187, 189, 191,
193, 195, 197, 200, 202, 204, 206, 208, 210, 212,
214, 216, 218, 219, 222, 224, 226, 228, 230, 232,
- 234, 235, 238, 239, 242, 243, 247, 250, 251, 253,
- 254, 258, 260, 263, 265, 267, 269, 271, 273, 275,
- 277, 279, 281, 284, 286, 289, 295, 301, 307, 313,
- 317, 320, 326, 331, 334, 336, 338, 340, 344, 346,
- 350, 352, 353, 355, 359, 364, 368, 372, 377, 382,
- 386, 393, 399, 402, 405, 408, 411, 414, 417, 420,
- 423, 426, 429, 432, 435, 442, 448, 457, 464, 471,
- 479, 487, 494, 503, 512, 516, 518, 520, 522, 524,
- 525, 528, 535, 537, 538, 540, 543, 544, 548, 549,
- 553, 557, 561, 565, 566, 574, 575, 584, 585, 594,
- 600, 603, 607, 609, 613, 617, 621, 625, 627, 628,
- 634, 638, 640, 644, 646, 647, 657, 659, 661, 666,
- 668, 670, 673, 677, 678, 680, 682, 684, 686, 688,
- 690, 692, 694, 696, 700, 702, 708, 710, 712, 714,
- 716, 718, 720, 723, 726, 729, 733, 736, 737, 739,
- 742, 745, 749, 759, 769, 778, 793, 795, 797, 804,
- 810, 813, 820, 828, 833, 838, 845, 852, 853, 854,
- 858, 861, 863, 869, 875, 882, 889, 894, 901, 906,
- 911, 918, 925, 928, 937, 939, 941, 942, 946, 953,
- 957, 964, 967, 973, 981
+ 234, 235, 238, 239, 242, 243, 246, 247, 251, 254,
+ 255, 257, 258, 262, 264, 267, 269, 271, 273, 275,
+ 277, 279, 281, 283, 285, 288, 290, 293, 299, 305,
+ 311, 317, 321, 324, 330, 335, 338, 340, 342, 344,
+ 348, 350, 354, 356, 357, 359, 363, 368, 372, 376,
+ 381, 386, 390, 397, 403, 406, 409, 412, 415, 418,
+ 421, 424, 427, 430, 433, 436, 439, 446, 452, 461,
+ 468, 475, 483, 491, 498, 507, 516, 520, 522, 524,
+ 526, 528, 529, 532, 539, 541, 542, 544, 547, 548,
+ 552, 553, 557, 561, 565, 569, 570, 578, 579, 588,
+ 589, 598, 604, 607, 611, 613, 617, 621, 625, 629,
+ 631, 632, 638, 642, 644, 648, 650, 651, 662, 664,
+ 666, 671, 673, 675, 678, 682, 683, 685, 687, 689,
+ 691, 693, 695, 697, 699, 701, 705, 707, 713, 715,
+ 717, 719, 721, 723, 725, 728, 731, 734, 738, 741,
+ 742, 744, 747, 750, 754, 764, 774, 783, 798, 800,
+ 802, 809, 815, 818, 825, 833, 838, 843, 850, 857,
+ 858, 859, 863, 866, 868, 874, 880, 887, 894, 899,
+ 906, 911, 916, 923, 930, 933, 942, 944, 946, 947,
+ 951, 958, 962, 969, 972, 978, 986
};
/* YYRHS -- A `-1'-separated list of the rules' RHS. */
static const yytype_int16 yyrhs[] =
{
- 206, 0, -1, 73, -1, 74, -1, 75, -1, 76,
+ 208, 0, -1, 73, -1, 74, -1, 75, -1, 76,
-1, 77, -1, 78, -1, 79, -1, 80, -1, 81,
-1, 85, -1, 86, -1, 87, -1, 82, -1, 83,
-1, 84, -1, 116, -1, 117, -1, 118, -1, 119,
@@ -1718,93 +1720,94 @@ static const yytype_int16 yyrhs[] =
-1, 107, -1, 108, -1, 109, -1, 96, -1, 97,
-1, 98, -1, 99, -1, 26, -1, 27, -1, 11,
-1, 12, -1, 13, -1, 16, -1, 15, -1, 14,
- -1, 19, -1, 22, -1, 24, -1, 170, -1, -1,
- 170, 148, -1, -1, 20, -1, 23, -1, 175, -1,
- -1, 173, 148, -1, 42, -1, 44, -1, 43, -1,
+ -1, 19, -1, 22, -1, 24, -1, 171, -1, -1,
+ 171, 149, -1, -1, 20, -1, 23, -1, 176, -1,
+ -1, 174, 149, -1, 42, -1, 44, -1, 43, -1,
45, -1, 47, -1, 46, -1, 48, -1, 50, -1,
- -1, 145, -1, 146, -1, 147, -1, -1, 46, -1,
+ -1, 146, -1, 147, -1, 148, -1, -1, 46, -1,
48, -1, -1, 42, -1, 43, -1, 44, -1, 47,
-1, -1, 44, -1, 42, -1, -1, 61, -1, 62,
-1, 63, -1, 64, -1, 65, -1, 60, 4, -1,
135, -1, 117, -1, 134, -1, 118, -1, 137, -1,
- 138, -1, 140, -1, 141, -1, 142, -1, -1, 184,
- 183, -1, 136, -1, 139, -1, 135, -1, 134, -1,
- 143, -1, 144, -1, -1, 186, 185, -1, -1, 53,
- 4, -1, -1, 149, 53, 4, -1, 34, 22, -1,
- -1, 189, -1, -1, 149, 192, 191, -1, 189, -1,
- 53, 4, -1, 11, -1, 12, -1, 13, -1, 16,
- -1, 15, -1, 14, -1, 17, -1, 49, -1, 193,
- -1, 194, 150, -1, 228, -1, 151, 4, -1, 194,
- 152, 198, 153, 186, -1, 10, 152, 198, 153, 186,
- -1, 154, 4, 155, 194, 156, -1, 157, 4, 155,
- 194, 158, -1, 159, 199, 160, -1, 159, 160, -1,
- 157, 159, 199, 160, 158, -1, 157, 159, 160, 158,
- -1, 194, 184, -1, 194, -1, 10, -1, 195, -1,
- 197, 149, 195, -1, 197, -1, 197, 149, 39, -1,
- 39, -1, -1, 194, -1, 199, 149, 194, -1, 194,
- 154, 202, 156, -1, 194, 154, 156, -1, 194, 161,
- 22, -1, 194, 157, 202, 158, -1, 194, 159, 202,
- 160, -1, 194, 159, 160, -1, 194, 157, 159, 202,
- 160, 158, -1, 194, 157, 159, 160, 158, -1, 194,
- 40, -1, 194, 41, -1, 194, 228, -1, 194, 201,
- -1, 194, 25, -1, 168, 3, -1, 168, 5, -1,
- 168, 4, -1, 168, 6, -1, 11, 26, -1, 11,
- 27, -1, 169, 9, -1, 165, 152, 200, 38, 194,
- 153, -1, 115, 152, 200, 239, 153, -1, 129, 152,
- 200, 149, 200, 149, 200, 153, -1, 163, 152, 200,
- 149, 200, 153, -1, 164, 152, 200, 149, 200, 153,
- -1, 88, 166, 152, 200, 149, 200, 153, -1, 89,
- 167, 152, 200, 149, 200, 153, -1, 131, 152, 200,
- 149, 200, 153, -1, 132, 152, 200, 149, 200, 149,
- 200, 153, -1, 133, 152, 200, 149, 200, 149, 200,
- 153, -1, 202, 149, 200, -1, 200, -1, 32, -1,
- 33, -1, 37, -1, -1, 196, 228, -1, 121, 152,
- 205, 38, 194, 153, -1, 207, -1, -1, 208, -1,
- 207, 208, -1, -1, 31, 209, 224, -1, -1, 30,
- 210, 225, -1, 58, 57, 214, -1, 172, 18, 194,
- -1, 172, 18, 10, -1, -1, 174, 178, 204, 203,
- 200, 211, 191, -1, -1, 174, 176, 178, 204, 203,
- 200, 212, 191, -1, -1, 174, 177, 178, 204, 203,
- 194, 213, 191, -1, 174, 178, 35, 181, 205, -1,
- 51, 215, -1, 54, 148, 216, -1, 22, -1, 52,
- 148, 22, -1, 66, 148, 22, -1, 154, 217, 156,
- -1, 217, 149, 22, -1, 22, -1, -1, 218, 149,
- 194, 184, 171, -1, 194, 184, 171, -1, 218, -1,
- 218, 149, 39, -1, 39, -1, -1, 182, 196, 173,
- 152, 219, 153, 186, 190, 187, -1, 28, -1, 159,
- -1, 180, 178, 220, 221, -1, 29, -1, 160, -1,
- 231, 223, -1, 179, 178, 220, -1, -1, 59, -1,
- 3, -1, 4, -1, 9, -1, 26, -1, 27, -1,
- 40, -1, 41, -1, 25, -1, 157, 202, 158, -1,
- 201, -1, 57, 226, 22, 149, 22, -1, 7, -1,
- 8, -1, 170, -1, 173, -1, 228, -1, 227, -1,
- 194, 229, -1, 231, 232, -1, 222, 232, -1, 233,
- 172, 234, -1, 233, 236, -1, -1, 21, -1, 67,
- 230, -1, 67, 10, -1, 68, 17, 229, -1, 68,
- 11, 229, 149, 17, 229, 149, 17, 229, -1, 69,
- 168, 229, 149, 17, 229, 154, 235, 156, -1, 69,
- 168, 229, 149, 17, 229, 154, 156, -1, 70, 182,
- 196, 229, 152, 238, 153, 186, 38, 17, 229, 71,
- 17, 229, -1, 71, -1, 72, -1, 235, 168, 227,
- 149, 17, 229, -1, 168, 227, 149, 17, 229, -1,
- 172, 241, -1, 194, 154, 229, 149, 229, 156, -1,
- 237, 149, 154, 229, 149, 229, 156, -1, 194, 184,
- 229, 184, -1, 17, 184, 229, 184, -1, 238, 149,
- 194, 184, 229, 184, -1, 238, 149, 17, 184, 229,
- 184, -1, -1, -1, 239, 149, 230, -1, 56, 55,
- -1, 55, -1, 163, 194, 229, 149, 229, -1, 164,
- 194, 229, 149, 229, -1, 88, 166, 194, 229, 149,
- 229, -1, 89, 167, 194, 229, 149, 229, -1, 165,
- 230, 38, 194, -1, 129, 230, 149, 230, 149, 230,
- -1, 130, 230, 149, 194, -1, 131, 230, 149, 230,
- -1, 132, 230, 149, 230, 149, 230, -1, 133, 230,
- 149, 230, 149, 230, -1, 128, 237, -1, 240, 182,
- 196, 229, 152, 238, 153, 186, -1, 243, -1, 36,
- -1, -1, 110, 194, 188, -1, 110, 194, 149, 11,
- 229, 188, -1, 111, 194, 188, -1, 111, 194, 149,
- 11, 229, 188, -1, 112, 230, -1, 242, 113, 194,
- 229, 188, -1, 242, 114, 230, 149, 194, 229, 188,
- -1, 115, 194, 229, 239, -1
+ 138, -1, 140, -1, 141, -1, 142, -1, -1, 185,
+ 184, -1, 136, -1, 139, -1, 135, -1, 134, -1,
+ 143, -1, 144, -1, -1, 187, 186, -1, -1, 145,
+ 22, -1, -1, 53, 4, -1, -1, 150, 53, 4,
+ -1, 34, 22, -1, -1, 191, -1, -1, 150, 194,
+ 193, -1, 191, -1, 53, 4, -1, 11, -1, 12,
+ -1, 13, -1, 16, -1, 15, -1, 14, -1, 17,
+ -1, 49, -1, 195, -1, 196, 151, -1, 230, -1,
+ 152, 4, -1, 196, 153, 200, 154, 187, -1, 10,
+ 153, 200, 154, 187, -1, 155, 4, 156, 196, 157,
+ -1, 158, 4, 156, 196, 159, -1, 160, 201, 161,
+ -1, 160, 161, -1, 158, 160, 201, 161, 159, -1,
+ 158, 160, 161, 159, -1, 196, 185, -1, 196, -1,
+ 10, -1, 197, -1, 199, 150, 197, -1, 199, -1,
+ 199, 150, 39, -1, 39, -1, -1, 196, -1, 201,
+ 150, 196, -1, 196, 155, 204, 157, -1, 196, 155,
+ 157, -1, 196, 162, 22, -1, 196, 158, 204, 159,
+ -1, 196, 160, 204, 161, -1, 196, 160, 161, -1,
+ 196, 158, 160, 204, 161, 159, -1, 196, 158, 160,
+ 161, 159, -1, 196, 40, -1, 196, 41, -1, 196,
+ 230, -1, 196, 203, -1, 196, 25, -1, 169, 3,
+ -1, 169, 5, -1, 169, 4, -1, 169, 6, -1,
+ 11, 26, -1, 11, 27, -1, 170, 9, -1, 166,
+ 153, 202, 38, 196, 154, -1, 115, 153, 202, 241,
+ 154, -1, 129, 153, 202, 150, 202, 150, 202, 154,
+ -1, 164, 153, 202, 150, 202, 154, -1, 165, 153,
+ 202, 150, 202, 154, -1, 88, 167, 153, 202, 150,
+ 202, 154, -1, 89, 168, 153, 202, 150, 202, 154,
+ -1, 131, 153, 202, 150, 202, 154, -1, 132, 153,
+ 202, 150, 202, 150, 202, 154, -1, 133, 153, 202,
+ 150, 202, 150, 202, 154, -1, 204, 150, 202, -1,
+ 202, -1, 32, -1, 33, -1, 37, -1, -1, 198,
+ 230, -1, 121, 153, 207, 38, 196, 154, -1, 209,
+ -1, -1, 210, -1, 209, 210, -1, -1, 31, 211,
+ 226, -1, -1, 30, 212, 227, -1, 58, 57, 216,
+ -1, 173, 18, 196, -1, 173, 18, 10, -1, -1,
+ 175, 179, 206, 205, 202, 213, 193, -1, -1, 175,
+ 177, 179, 206, 205, 202, 214, 193, -1, -1, 175,
+ 178, 179, 206, 205, 196, 215, 193, -1, 175, 179,
+ 35, 182, 207, -1, 51, 217, -1, 54, 149, 218,
+ -1, 22, -1, 52, 149, 22, -1, 66, 149, 22,
+ -1, 155, 219, 157, -1, 219, 150, 22, -1, 22,
+ -1, -1, 220, 150, 196, 185, 172, -1, 196, 185,
+ 172, -1, 220, -1, 220, 150, 39, -1, 39, -1,
+ -1, 183, 198, 174, 153, 221, 154, 187, 192, 189,
+ 188, -1, 28, -1, 160, -1, 181, 179, 222, 223,
+ -1, 29, -1, 161, -1, 233, 225, -1, 180, 179,
+ 222, -1, -1, 59, -1, 3, -1, 4, -1, 9,
+ -1, 26, -1, 27, -1, 40, -1, 41, -1, 25,
+ -1, 158, 204, 159, -1, 203, -1, 57, 228, 22,
+ 150, 22, -1, 7, -1, 8, -1, 171, -1, 174,
+ -1, 230, -1, 229, -1, 196, 231, -1, 233, 234,
+ -1, 224, 234, -1, 235, 173, 236, -1, 235, 238,
+ -1, -1, 21, -1, 67, 232, -1, 67, 10, -1,
+ 68, 17, 231, -1, 68, 11, 231, 150, 17, 231,
+ 150, 17, 231, -1, 69, 169, 231, 150, 17, 231,
+ 155, 237, 157, -1, 69, 169, 231, 150, 17, 231,
+ 155, 157, -1, 70, 183, 198, 231, 153, 240, 154,
+ 187, 38, 17, 231, 71, 17, 231, -1, 71, -1,
+ 72, -1, 237, 169, 229, 150, 17, 231, -1, 169,
+ 229, 150, 17, 231, -1, 173, 243, -1, 196, 155,
+ 231, 150, 231, 157, -1, 239, 150, 155, 231, 150,
+ 231, 157, -1, 196, 185, 231, 185, -1, 17, 185,
+ 231, 185, -1, 240, 150, 196, 185, 231, 185, -1,
+ 240, 150, 17, 185, 231, 185, -1, -1, -1, 241,
+ 150, 232, -1, 56, 55, -1, 55, -1, 164, 196,
+ 231, 150, 231, -1, 165, 196, 231, 150, 231, -1,
+ 88, 167, 196, 231, 150, 231, -1, 89, 168, 196,
+ 231, 150, 231, -1, 166, 232, 38, 196, -1, 129,
+ 232, 150, 232, 150, 232, -1, 130, 232, 150, 196,
+ -1, 131, 232, 150, 232, -1, 132, 232, 150, 232,
+ 150, 232, -1, 133, 232, 150, 232, 150, 232, -1,
+ 128, 239, -1, 242, 183, 198, 231, 153, 240, 154,
+ 187, -1, 245, -1, 36, -1, -1, 110, 196, 190,
+ -1, 110, 196, 150, 11, 231, 190, -1, 111, 196,
+ 190, -1, 111, 196, 150, 11, 231, 190, -1, 112,
+ 232, -1, 244, 113, 196, 231, 190, -1, 244, 114,
+ 232, 150, 196, 231, 190, -1, 115, 196, 231, 241,
+ -1
};
/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
@@ -1822,26 +1825,26 @@ static const yytype_uint16 yyrline[] =
1192, 1193, 1194, 1198, 1199, 1200, 1203, 1204, 1205, 1206,
1207, 1208, 1209, 1216, 1217, 1218, 1219, 1220, 1221, 1222,
1223, 1224, 1227, 1228, 1233, 1234, 1235, 1236, 1237, 1238,
- 1241, 1242, 1249, 1250, 1256, 1257, 1265, 1273, 1274, 1279,
- 1280, 1281, 1286, 1299, 1299, 1299, 1299, 1299, 1299, 1299,
- 1302, 1306, 1310, 1317, 1322, 1330, 1360, 1385, 1390, 1400,
- 1410, 1414, 1424, 1431, 1440, 1447, 1452, 1457, 1464, 1465,
- 1472, 1479, 1487, 1493, 1505, 1533, 1549, 1576, 1604, 1630,
- 1650, 1676, 1696, 1708, 1715, 1781, 1791, 1801, 1807, 1817,
- 1823, 1833, 1838, 1843, 1856, 1868, 1890, 1898, 1904, 1915,
- 1920, 1925, 1931, 1937, 1946, 1950, 1958, 1958, 1961, 1961,
- 1964, 1976, 1997, 2002, 2010, 2011, 2015, 2015, 2019, 2019,
- 2022, 2025, 2049, 2060, 2060, 2071, 2070, 2080, 2079, 2090,
- 2130, 2133, 2139, 2149, 2153, 2158, 2160, 2165, 2170, 2179,
- 2189, 2200, 2204, 2213, 2222, 2227, 2357, 2357, 2359, 2368,
- 2368, 2370, 2375, 2387, 2391, 2396, 2400, 2404, 2408, 2412,
- 2416, 2420, 2424, 2428, 2453, 2457, 2467, 2471, 2475, 2480,
- 2487, 2487, 2493, 2502, 2506, 2515, 2524, 2533, 2537, 2544,
- 2548, 2552, 2557, 2567, 2586, 2595, 2679, 2683, 2690, 2701,
- 2714, 2724, 2735, 2745, 2756, 2764, 2774, 2781, 2784, 2785,
- 2792, 2796, 2801, 2817, 2834, 2848, 2862, 2874, 2882, 2889,
- 2895, 2901, 2907, 2922, 3013, 3018, 3022, 3029, 3036, 3044,
- 3051, 3059, 3067, 3081, 3098
+ 1241, 1242, 1247, 1248, 1255, 1256, 1262, 1263, 1271, 1279,
+ 1280, 1285, 1286, 1287, 1292, 1305, 1305, 1305, 1305, 1305,
+ 1305, 1305, 1308, 1312, 1316, 1323, 1328, 1336, 1366, 1391,
+ 1396, 1406, 1416, 1420, 1430, 1437, 1446, 1453, 1458, 1463,
+ 1470, 1471, 1478, 1485, 1493, 1499, 1511, 1539, 1555, 1582,
+ 1610, 1636, 1656, 1682, 1702, 1714, 1721, 1787, 1797, 1807,
+ 1813, 1823, 1829, 1839, 1844, 1849, 1862, 1874, 1896, 1904,
+ 1910, 1921, 1926, 1931, 1937, 1943, 1952, 1956, 1964, 1964,
+ 1967, 1967, 1970, 1982, 2003, 2008, 2016, 2017, 2021, 2021,
+ 2025, 2025, 2028, 2031, 2055, 2066, 2066, 2077, 2076, 2086,
+ 2085, 2096, 2136, 2139, 2145, 2155, 2159, 2164, 2166, 2171,
+ 2176, 2185, 2195, 2206, 2210, 2219, 2228, 2233, 2367, 2367,
+ 2369, 2378, 2378, 2380, 2385, 2397, 2401, 2406, 2410, 2414,
+ 2418, 2422, 2426, 2430, 2434, 2438, 2463, 2467, 2477, 2481,
+ 2485, 2490, 2497, 2497, 2503, 2512, 2516, 2525, 2534, 2543,
+ 2547, 2554, 2558, 2562, 2567, 2577, 2596, 2605, 2689, 2693,
+ 2700, 2711, 2724, 2734, 2745, 2755, 2766, 2774, 2784, 2791,
+ 2794, 2795, 2802, 2806, 2811, 2827, 2844, 2858, 2872, 2884,
+ 2892, 2899, 2905, 2911, 2917, 2932, 3023, 3028, 3032, 3039,
+ 3046, 3054, 3061, 3069, 3077, 3091, 3108
};
#endif
@@ -1872,7 +1875,7 @@ static const char *const yytname[] =
"PTRTOINT", "PHI_TOK", "SELECT", "VAARG", "EXTRACTELEMENT",
"INSERTELEMENT", "SHUFFLEVECTOR", "SIGNEXT", "ZEROEXT", "NORETURN",
"INREG", "SRET", "NOUNWIND", "NOALIAS", "BYVAL", "NEST", "READNONE",
- "READONLY", "DEFAULT", "HIDDEN", "PROTECTED", "'='", "','", "'*'",
+ "READONLY", "GC", "DEFAULT", "HIDDEN", "PROTECTED", "'='", "','", "'*'",
"'\\\\'", "'('", "')'", "'['", "'x'", "']'", "'<'", "'>'", "'{'", "'}'",
"'c'", "$accept", "ArithmeticOps", "LogicalOps", "CastOps",
"IPredicates", "FPredicates", "IntType", "FPType", "LocalName",
@@ -1880,19 +1883,19 @@ static const char *const yytname[] =
"GlobalAssign", "GVInternalLinkage", "GVExternalLinkage",
"GVVisibilityStyle", "FunctionDeclareLinkage", "FunctionDefineLinkage",
"AliasLinkage", "OptCallingConv", "ParamAttr", "OptParamAttrs",
- "FuncAttr", "OptFuncAttrs", "OptAlign", "OptCAlign", "SectionString",
- "OptSection", "GlobalVarAttributes", "GlobalVarAttribute", "PrimType",
- "Types", "ArgType", "ResultTypes", "ArgTypeList", "ArgTypeListI",
- "TypeListI", "ConstVal", "ConstExpr", "ConstVector", "GlobalType",
- "ThreadLocal", "AliaseeRef", "Module", "DefinitionList", "Definition",
- "@1", "@2", "@3", "@4", "@5", "AsmBlock", "TargetDefinition",
- "LibrariesDefinition", "LibList", "ArgListH", "ArgList",
- "FunctionHeaderH", "BEGIN", "FunctionHeader", "END", "Function",
- "FunctionProto", "OptSideEffect", "ConstValueRef", "SymbolicValueRef",
- "ValueRef", "ResolvedVal", "BasicBlockList", "BasicBlock",
- "InstructionList", "BBTerminatorInst", "JumpTable", "Inst", "PHIList",
- "ParamList", "IndexList", "OptTailCall", "InstVal", "OptVolatile",
- "MemoryInst", 0
+ "FuncAttr", "OptFuncAttrs", "OptGC", "OptAlign", "OptCAlign",
+ "SectionString", "OptSection", "GlobalVarAttributes",
+ "GlobalVarAttribute", "PrimType", "Types", "ArgType", "ResultTypes",
+ "ArgTypeList", "ArgTypeListI", "TypeListI", "ConstVal", "ConstExpr",
+ "ConstVector", "GlobalType", "ThreadLocal", "AliaseeRef", "Module",
+ "DefinitionList", "Definition", "@1", "@2", "@3", "@4", "@5", "AsmBlock",
+ "TargetDefinition", "LibrariesDefinition", "LibList", "ArgListH",
+ "ArgList", "FunctionHeaderH", "BEGIN", "FunctionHeader", "END",
+ "Function", "FunctionProto", "OptSideEffect", "ConstValueRef",
+ "SymbolicValueRef", "ValueRef", "ResolvedVal", "BasicBlockList",
+ "BasicBlock", "InstructionList", "BBTerminatorInst", "JumpTable", "Inst",
+ "PHIList", "ParamList", "IndexList", "OptTailCall", "InstVal",
+ "OptVolatile", "MemoryInst", 0
};
#endif
@@ -1915,47 +1918,47 @@ static const yytype_uint16 yytoknum[] =
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,
- 395, 396, 397, 398, 399, 400, 401, 402, 61, 44,
- 42, 92, 40, 41, 91, 120, 93, 60, 62, 123,
- 125, 99
+ 395, 396, 397, 398, 399, 400, 401, 402, 403, 61,
+ 44, 42, 92, 40, 41, 91, 120, 93, 60, 62,
+ 123, 125, 99
};
# endif
/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
static const yytype_uint8 yyr1[] =
{
- 0, 162, 163, 163, 163, 163, 163, 163, 163, 163,
- 163, 164, 164, 164, 164, 164, 164, 165, 165, 165,
- 165, 165, 165, 165, 165, 165, 165, 165, 165, 166,
+ 0, 163, 164, 164, 164, 164, 164, 164, 164, 164,
+ 164, 165, 165, 165, 165, 165, 165, 166, 166, 166,
166, 166, 166, 166, 166, 166, 166, 166, 166, 167,
- 167, 167, 167, 167, 167, 167, 167, 167, 167, 167,
- 167, 167, 167, 167, 167, 168, 169, 169, 169, 169,
- 169, 170, 170, 170, 171, 171, 172, 172, 173, 173,
- 174, 174, 175, 176, 176, 176, 176, 176, 177, 177,
- 177, 178, 178, 178, 178, 179, 179, 179, 180, 180,
- 180, 180, 180, 181, 181, 181, 182, 182, 182, 182,
- 182, 182, 182, 183, 183, 183, 183, 183, 183, 183,
- 183, 183, 184, 184, 185, 185, 185, 185, 185, 185,
- 186, 186, 187, 187, 188, 188, 189, 190, 190, 191,
- 191, 192, 192, 193, 193, 193, 193, 193, 193, 193,
- 194, 194, 194, 194, 194, 194, 194, 194, 194, 194,
- 194, 194, 194, 195, 196, 196, 197, 197, 198, 198,
- 198, 198, 199, 199, 200, 200, 200, 200, 200, 200,
- 200, 200, 200, 200, 200, 200, 200, 200, 200, 200,
- 200, 200, 200, 200, 201, 201, 201, 201, 201, 201,
- 201, 201, 201, 201, 202, 202, 203, 203, 204, 204,
- 205, 205, 206, 206, 207, 207, 209, 208, 210, 208,
- 208, 208, 208, 211, 208, 212, 208, 213, 208, 208,
- 208, 208, 214, 215, 215, 216, 217, 217, 217, 218,
- 218, 219, 219, 219, 219, 220, 221, 221, 222, 223,
- 223, 224, 225, 226, 226, 227, 227, 227, 227, 227,
- 227, 227, 227, 227, 227, 227, 228, 228, 228, 228,
- 229, 229, 230, 231, 231, 232, 233, 233, 233, 234,
- 234, 234, 234, 234, 234, 234, 234, 234, 235, 235,
- 236, 237, 237, 238, 238, 238, 238, 238, 239, 239,
- 240, 240, 241, 241, 241, 241, 241, 241, 241, 241,
- 241, 241, 241, 241, 241, 242, 242, 243, 243, 243,
- 243, 243, 243, 243, 243
+ 167, 167, 167, 167, 167, 167, 167, 167, 167, 168,
+ 168, 168, 168, 168, 168, 168, 168, 168, 168, 168,
+ 168, 168, 168, 168, 168, 169, 170, 170, 170, 170,
+ 170, 171, 171, 171, 172, 172, 173, 173, 174, 174,
+ 175, 175, 176, 177, 177, 177, 177, 177, 178, 178,
+ 178, 179, 179, 179, 179, 180, 180, 180, 181, 181,
+ 181, 181, 181, 182, 182, 182, 183, 183, 183, 183,
+ 183, 183, 183, 184, 184, 184, 184, 184, 184, 184,
+ 184, 184, 185, 185, 186, 186, 186, 186, 186, 186,
+ 187, 187, 188, 188, 189, 189, 190, 190, 191, 192,
+ 192, 193, 193, 194, 194, 195, 195, 195, 195, 195,
+ 195, 195, 196, 196, 196, 196, 196, 196, 196, 196,
+ 196, 196, 196, 196, 196, 197, 198, 198, 199, 199,
+ 200, 200, 200, 200, 201, 201, 202, 202, 202, 202,
+ 202, 202, 202, 202, 202, 202, 202, 202, 202, 202,
+ 202, 202, 202, 202, 202, 202, 203, 203, 203, 203,
+ 203, 203, 203, 203, 203, 203, 204, 204, 205, 205,
+ 206, 206, 207, 207, 208, 208, 209, 209, 211, 210,
+ 212, 210, 210, 210, 210, 213, 210, 214, 210, 215,
+ 210, 210, 210, 210, 216, 217, 217, 218, 219, 219,
+ 219, 220, 220, 221, 221, 221, 221, 222, 223, 223,
+ 224, 225, 225, 226, 227, 228, 228, 229, 229, 229,
+ 229, 229, 229, 229, 229, 229, 229, 229, 230, 230,
+ 230, 230, 231, 231, 232, 233, 233, 234, 235, 235,
+ 235, 236, 236, 236, 236, 236, 236, 236, 236, 236,
+ 237, 237, 238, 239, 239, 240, 240, 240, 240, 240,
+ 241, 241, 242, 242, 243, 243, 243, 243, 243, 243,
+ 243, 243, 243, 243, 243, 243, 243, 244, 244, 245,
+ 245, 245, 245, 245, 245, 245, 245
};
/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
@@ -1973,26 +1976,26 @@ static const yytype_uint8 yyr2[] =
1, 1, 1, 0, 1, 1, 0, 1, 1, 1,
1, 1, 2, 1, 1, 1, 1, 1, 1, 1,
1, 1, 0, 2, 1, 1, 1, 1, 1, 1,
- 0, 2, 0, 2, 0, 3, 2, 0, 1, 0,
- 3, 1, 2, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 2, 1, 2, 5, 5, 5, 5, 3,
- 2, 5, 4, 2, 1, 1, 1, 3, 1, 3,
- 1, 0, 1, 3, 4, 3, 3, 4, 4, 3,
- 6, 5, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 6, 5, 8, 6, 6, 7,
- 7, 6, 8, 8, 3, 1, 1, 1, 1, 0,
- 2, 6, 1, 0, 1, 2, 0, 3, 0, 3,
- 3, 3, 3, 0, 7, 0, 8, 0, 8, 5,
- 2, 3, 1, 3, 3, 3, 3, 1, 0, 5,
- 3, 1, 3, 1, 0, 9, 1, 1, 4, 1,
- 1, 2, 3, 0, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 3, 1, 5, 1, 1, 1, 1,
- 1, 1, 2, 2, 2, 3, 2, 0, 1, 2,
- 2, 3, 9, 9, 8, 14, 1, 1, 6, 5,
- 2, 6, 7, 4, 4, 6, 6, 0, 0, 3,
- 2, 1, 5, 5, 6, 6, 4, 6, 4, 4,
- 6, 6, 2, 8, 1, 1, 0, 3, 6, 3,
- 6, 2, 5, 7, 4
+ 0, 2, 0, 2, 0, 2, 0, 3, 2, 0,
+ 1, 0, 3, 1, 2, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 2, 1, 2, 5, 5, 5,
+ 5, 3, 2, 5, 4, 2, 1, 1, 1, 3,
+ 1, 3, 1, 0, 1, 3, 4, 3, 3, 4,
+ 4, 3, 6, 5, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 6, 5, 8, 6,
+ 6, 7, 7, 6, 8, 8, 3, 1, 1, 1,
+ 1, 0, 2, 6, 1, 0, 1, 2, 0, 3,
+ 0, 3, 3, 3, 3, 0, 7, 0, 8, 0,
+ 8, 5, 2, 3, 1, 3, 3, 3, 3, 1,
+ 0, 5, 3, 1, 3, 1, 0, 10, 1, 1,
+ 4, 1, 1, 2, 3, 0, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 3, 1, 5, 1, 1,
+ 1, 1, 1, 1, 2, 2, 2, 3, 2, 0,
+ 1, 2, 2, 3, 9, 9, 8, 14, 1, 1,
+ 6, 5, 2, 6, 7, 4, 4, 6, 6, 0,
+ 0, 3, 2, 1, 5, 5, 6, 6, 4, 6,
+ 4, 4, 6, 6, 2, 8, 1, 1, 0, 3,
+ 6, 3, 6, 2, 5, 7, 4
};
/* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
@@ -2000,67 +2003,68 @@ static const yytype_uint8 yyr2[] =
means the default is an error. */
static const yytype_uint16 yydefact[] =
{
- 71, 61, 68, 62, 69, 63, 208, 206, 0, 0,
- 0, 0, 0, 0, 81, 70, 0, 71, 204, 85,
- 88, 0, 0, 220, 0, 0, 66, 0, 72, 73,
+ 71, 61, 68, 62, 69, 63, 210, 208, 0, 0,
+ 0, 0, 0, 0, 81, 70, 0, 71, 206, 85,
+ 88, 0, 0, 222, 0, 0, 66, 0, 72, 73,
75, 74, 76, 78, 77, 79, 80, 82, 83, 84,
- 81, 81, 199, 1, 205, 86, 87, 81, 209, 89,
- 90, 91, 92, 81, 267, 207, 267, 0, 0, 228,
- 221, 222, 210, 256, 257, 212, 133, 134, 135, 138,
- 137, 136, 139, 140, 0, 0, 0, 0, 258, 259,
- 141, 211, 143, 199, 199, 93, 198, 0, 96, 96,
- 268, 264, 67, 239, 240, 241, 263, 223, 224, 227,
- 0, 161, 144, 0, 0, 0, 0, 150, 162, 0,
- 142, 161, 0, 0, 95, 94, 0, 196, 197, 0,
- 0, 97, 98, 99, 100, 101, 0, 242, 0, 306,
- 266, 0, 225, 160, 112, 156, 158, 0, 0, 0,
- 0, 0, 0, 149, 0, 0, 0, 155, 0, 154,
- 0, 219, 133, 134, 135, 138, 137, 136, 0, 0,
- 0, 213, 102, 0, 236, 237, 238, 305, 291, 0,
- 0, 0, 0, 96, 276, 277, 2, 3, 4, 5,
+ 81, 81, 201, 1, 207, 86, 87, 81, 211, 89,
+ 90, 91, 92, 81, 269, 209, 269, 0, 0, 230,
+ 223, 224, 212, 258, 259, 214, 135, 136, 137, 140,
+ 139, 138, 141, 142, 0, 0, 0, 0, 260, 261,
+ 143, 213, 145, 201, 201, 93, 200, 0, 96, 96,
+ 270, 266, 67, 241, 242, 243, 265, 225, 226, 229,
+ 0, 163, 146, 0, 0, 0, 0, 152, 164, 0,
+ 144, 163, 0, 0, 95, 94, 0, 198, 199, 0,
+ 0, 97, 98, 99, 100, 101, 0, 244, 0, 308,
+ 268, 0, 227, 162, 112, 158, 160, 0, 0, 0,
+ 0, 0, 0, 151, 0, 0, 0, 157, 0, 156,
+ 0, 221, 135, 136, 137, 140, 139, 138, 0, 0,
+ 0, 215, 102, 0, 238, 239, 240, 307, 293, 0,
+ 0, 0, 0, 96, 278, 279, 2, 3, 4, 5,
6, 7, 8, 9, 10, 14, 15, 16, 11, 12,
13, 0, 0, 0, 0, 0, 0, 17, 18, 19,
20, 21, 22, 23, 24, 25, 26, 27, 28, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 265, 96,
- 280, 0, 304, 226, 153, 0, 120, 0, 0, 152,
- 0, 163, 120, 215, 217, 0, 200, 181, 182, 177,
- 179, 178, 180, 183, 176, 172, 173, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 267, 96,
+ 282, 0, 306, 228, 155, 0, 120, 0, 0, 154,
+ 0, 165, 120, 217, 219, 0, 202, 183, 184, 179,
+ 181, 180, 182, 185, 178, 174, 175, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 175, 174, 129, 0, 290, 270, 0, 269, 0,
+ 0, 177, 176, 131, 0, 292, 272, 0, 271, 0,
0, 55, 0, 0, 29, 30, 31, 32, 33, 34,
35, 36, 37, 38, 0, 53, 54, 49, 50, 51,
52, 39, 40, 41, 42, 43, 44, 45, 46, 47,
- 48, 0, 124, 124, 311, 0, 0, 302, 0, 0,
+ 48, 0, 126, 126, 313, 0, 0, 304, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 104,
- 106, 105, 103, 107, 108, 109, 110, 111, 113, 159,
- 157, 146, 147, 148, 151, 145, 129, 129, 0, 0,
- 0, 0, 0, 0, 0, 0, 165, 195, 0, 0,
- 0, 169, 0, 166, 0, 0, 0, 0, 214, 234,
- 245, 246, 247, 252, 248, 249, 250, 251, 243, 0,
- 254, 261, 260, 262, 0, 271, 0, 0, 0, 0,
- 0, 307, 0, 309, 288, 0, 0, 0, 0, 0,
+ 106, 105, 103, 107, 108, 109, 110, 111, 113, 161,
+ 159, 148, 149, 150, 153, 147, 131, 131, 0, 0,
+ 0, 0, 0, 0, 0, 0, 167, 197, 0, 0,
+ 0, 171, 0, 168, 0, 0, 0, 0, 216, 236,
+ 247, 248, 249, 254, 250, 251, 252, 253, 245, 0,
+ 256, 263, 262, 264, 0, 273, 0, 0, 0, 0,
+ 0, 309, 0, 311, 290, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 117, 116,
- 114, 115, 118, 119, 121, 216, 218, 0, 0, 0,
- 288, 0, 0, 0, 0, 0, 164, 150, 162, 0,
- 167, 168, 0, 0, 0, 0, 0, 131, 129, 233,
- 112, 231, 0, 244, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 314, 0, 0, 0, 298, 299,
- 0, 0, 0, 0, 296, 0, 124, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 194, 171, 0, 0,
- 0, 0, 126, 132, 130, 65, 0, 120, 0, 253,
- 0, 0, 287, 0, 0, 124, 125, 124, 0, 0,
- 0, 0, 0, 0, 292, 293, 287, 0, 312, 0,
- 201, 0, 0, 185, 0, 0, 0, 0, 170, 0,
- 0, 0, 64, 230, 232, 112, 127, 0, 0, 0,
- 112, 112, 0, 294, 295, 308, 310, 289, 0, 0,
- 297, 300, 301, 0, 124, 0, 0, 0, 191, 0,
- 0, 187, 188, 184, 65, 128, 122, 255, 0, 0,
- 0, 0, 0, 120, 281, 0, 120, 313, 189, 190,
- 0, 0, 0, 229, 0, 235, 0, 274, 0, 0,
- 104, 106, 112, 112, 112, 112, 0, 282, 303, 186,
- 192, 193, 123, 272, 0, 273, 0, 284, 283, 0,
- 0, 0, 0, 0, 112, 112, 0, 0, 0, 286,
- 285, 0, 279, 0, 0, 278, 0, 275
+ 114, 115, 118, 119, 121, 218, 220, 0, 0, 0,
+ 290, 0, 0, 0, 0, 0, 166, 152, 164, 0,
+ 169, 170, 0, 0, 0, 0, 0, 133, 131, 235,
+ 112, 233, 0, 246, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 316, 0, 0, 0, 300, 301,
+ 0, 0, 0, 0, 298, 0, 126, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 196, 173, 0, 0,
+ 0, 0, 128, 134, 132, 65, 0, 120, 0, 255,
+ 0, 0, 289, 0, 0, 126, 127, 126, 0, 0,
+ 0, 0, 0, 0, 294, 295, 289, 0, 314, 0,
+ 203, 0, 0, 187, 0, 0, 0, 0, 172, 0,
+ 0, 0, 64, 232, 234, 112, 129, 0, 0, 0,
+ 112, 112, 0, 296, 297, 310, 312, 291, 0, 0,
+ 299, 302, 303, 0, 126, 0, 0, 0, 193, 0,
+ 0, 189, 190, 186, 65, 130, 124, 257, 0, 0,
+ 0, 0, 0, 120, 283, 0, 120, 315, 191, 192,
+ 0, 0, 0, 231, 0, 122, 0, 276, 0, 0,
+ 104, 106, 112, 112, 112, 112, 0, 284, 305, 188,
+ 194, 195, 125, 0, 237, 274, 0, 275, 0, 286,
+ 285, 0, 0, 0, 123, 0, 0, 112, 112, 0,
+ 0, 0, 288, 287, 0, 281, 0, 0, 280, 0,
+ 277
};
/* YYDEFGOTO[NTERM-NUM]. */
@@ -2068,472 +2072,475 @@ static const yytype_int16 yydefgoto[] =
{
-1, 258, 259, 260, 284, 301, 158, 159, 78, 513,
12, 79, 14, 15, 40, 41, 42, 47, 53, 116,
- 126, 328, 224, 404, 331, 565, 381, 427, 546, 358,
- 428, 80, 160, 135, 150, 136, 137, 109, 347, 370,
- 348, 119, 87, 151, 16, 17, 18, 20, 19, 263,
- 336, 337, 62, 23, 60, 100, 431, 432, 127, 166,
- 54, 95, 55, 48, 434, 371, 82, 373, 268, 56,
- 91, 92, 218, 569, 130, 307, 522, 444, 219, 220,
- 221, 222
+ 126, 328, 224, 404, 331, 584, 565, 381, 427, 546,
+ 358, 428, 80, 160, 135, 150, 136, 137, 109, 347,
+ 370, 348, 119, 87, 151, 16, 17, 18, 20, 19,
+ 263, 336, 337, 62, 23, 60, 100, 431, 432, 127,
+ 166, 54, 95, 55, 48, 434, 371, 82, 373, 268,
+ 56, 91, 92, 218, 569, 130, 307, 522, 444, 219,
+ 220, 221, 222
};
/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
STATE-NUM. */
-#define YYPACT_NINF -546
+#define YYPACT_NINF -541
static const yytype_int16 yypact[] =
{
- 47, -546, -546, -546, -546, -546, -546, -546, -17, -95,
- 52, -90, 86, 14, 183, -546, 135, 1758, -546, -10,
- 64, 18, 33, -546, 5, 180, -546, 1341, -546, -546,
- -546, -546, -546, -546, -546, -546, -546, -546, -546, -546,
- 76, 76, 59, -546, -546, -546, -546, 76, -546, -546,
- -546, -546, -546, 76, 193, -546, 13, 202, 224, 233,
- -546, -546, -546, -546, -546, 111, -546, -546, -546, -546,
- -546, -546, -546, -546, 260, 261, 1, 378, -546, -546,
- -546, -7, -546, 231, 231, 150, -546, 55, 309, 309,
- -546, -546, 100, -546, -546, -546, -546, -546, -546, -546,
- -99, 1088, -546, 116, 122, 988, 111, -546, -7, -106,
- -546, 1088, 55, 55, -546, -546, 1142, -546, -546, 1359,
- 274, -546, -546, -546, -546, -546, 1414, -546, -18, 1624,
- -546, 257, -546, -546, -7, -546, 131, 128, 1454, 1454,
- 129, -105, 1454, -546, 136, 1359, 1454, 111, 141, -7,
- 237, -546, 214, 279, 285, 289, 291, 294, 145, 299,
- 803, -546, -546, 103, -546, -546, -546, -546, -546, 254,
- 1512, 57, 301, 309, -546, -546, -546, -546, -546, -546,
- -546, -546, -546, -546, -546, -546, -546, -546, -546, -546,
- -546, 596, 646, 1454, 1454, 1454, 1454, -546, -546, -546,
- -546, -546, -546, -546, -546, -546, -546, -546, -546, 1454,
- 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, -546, 309,
- -546, 61, -546, -546, 132, 1182, -546, -57, -69, -546,
- 155, -7, -546, -546, -7, 1142, -546, -546, -546, -546,
- -546, -546, -546, -546, -546, -546, -546, 596, 646, 162,
- 163, 164, 166, 167, 1242, 1530, 1028, 303, 169, 174,
- 179, -546, -546, 185, 191, -546, 111, 644, -546, 780,
- 780, -546, 780, 1414, -546, -546, -546, -546, -546, -546,
- -546, -546, -546, -546, 1454, -546, -546, -546, -546, -546,
- -546, -546, -546, -546, -546, -546, -546, -546, -546, -546,
- -546, 1454, 30, 48, -546, 644, -21, 197, 199, 203,
- 204, 205, 206, 644, 644, 313, 1414, 1454, 1454, -546,
- -546, -546, -546, -546, -546, -546, -546, -546, -546, -546,
- -546, 201, -546, -546, -546, 201, 185, 185, 320, 207,
- 208, 1359, 1359, 1359, 1359, 1359, -546, -546, -65, 1068,
- -86, -546, -104, -546, 1359, 1359, 1359, -20, -546, 1261,
- -546, -546, -546, -546, -546, -546, -546, -546, 273, 1359,
- -546, -546, -546, -546, 217, -546, 218, 780, 644, 644,
- 8, -546, 11, -546, -546, 780, 221, 1454, 1454, 1454,
- 1454, 1454, 227, 234, 1454, 780, 644, 235, -546, -546,
- -546, -546, -546, -546, -546, -546, -546, 1454, 1359, 1359,
- -546, 247, 258, 263, 265, 1359, -546, 259, 803, -101,
- -546, -546, 269, 270, 344, 398, 419, -546, 185, -546,
- -7, 276, 275, -546, 404, -76, 412, 413, 282, 288,
- 292, 780, 440, 780, 297, 300, 780, 302, -7, -546,
- 304, 308, 780, 780, -7, 306, 310, 1454, -35, 311,
- 314, -73, 1359, 1359, 1359, 1359, -546, -546, 315, 1359,
- 1359, 1454, -546, -546, -546, 298, 1301, -546, 319, -546,
- 780, 780, 1570, 780, 780, 310, -546, 310, 1454, 780,
- 322, 1454, 1454, 1454, -546, -546, 1570, 399, -546, 644,
- -546, 1359, 1359, -546, 323, 316, 325, 327, -546, 324,
- 326, 60, -546, -546, -546, -7, 3, 460, 334, 330,
- 82, -7, -13, -546, -546, -546, -546, -546, 332, 780,
- -546, -546, -546, 12, 310, 336, 337, 1359, -546, 1359,
- 1359, -546, -546, -546, 298, -546, 438, -546, 475, -4,
- 493, 493, 1610, -546, -546, 338, -546, -546, -546, -546,
- 342, 345, 346, -546, 501, -546, 780, -546, 940, 2,
- 354, 355, -546, -546, 82, -7, 72, -546, 201, -546,
- -546, -546, -546, -546, 359, -546, 940, 132, 132, 493,
- 493, 492, 494, 361, -546, -546, 780, 780, 497, 132,
- 132, 450, -546, 780, 505, -546, 780, -546
+ 658, -541, -541, -541, -541, -541, -541, -541, -12, -135,
+ -38, -125, 106, -69, 26, -541, 29, 1762, -541, 14,
+ 88, 43, 49, -541, 45, 127, -541, 1344, -541, -541,
+ -541, -541, -541, -541, -541, -541, -541, -541, -541, -541,
+ 131, 131, 73, -541, -541, -541, -541, 131, -541, -541,
+ -541, -541, -541, 131, 201, -541, -11, 135, 215, 216,
+ -541, -541, -541, -541, -541, 70, -541, -541, -541, -541,
+ -541, -541, -541, -541, 245, 247, 3, 553, -541, -541,
+ -541, -34, -541, 219, 219, 110, -541, 62, 171, 171,
+ -541, -541, 124, -541, -541, -541, -541, -541, -541, -541,
+ -66, 1092, -541, 108, 114, 991, 70, -541, -34, -109,
+ -541, 1092, 62, 62, -541, -541, 1146, -541, -541, 1362,
+ 261, -541, -541, -541, -541, -541, 1418, -541, -15, 1628,
+ -541, 260, -541, -541, -34, -541, 119, 129, 1458, 1458,
+ 147, -108, 1458, -541, 134, 1362, 1458, 70, 142, -34,
+ 118, -541, 40, 306, 307, 308, 309, 310, 172, 311,
+ 805, -541, -541, 113, -541, -541, -541, -541, -541, 266,
+ 1516, 72, 314, 171, -541, -541, -541, -541, -541, -541,
+ -541, -541, -541, -541, -541, -541, -541, -541, -541, -541,
+ -541, 313, 507, 1458, 1458, 1458, 1458, -541, -541, -541,
+ -541, -541, -541, -541, -541, -541, -541, -541, -541, 1458,
+ 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, -541, 171,
+ -541, 52, -541, -541, -36, 1186, -541, -94, -30, -541,
+ 163, -34, -541, -541, -34, 1146, -541, -541, -541, -541,
+ -541, -541, -541, -541, -541, -541, -541, 313, 507, 176,
+ 178, 184, 185, 187, 1246, 1534, 1031, 302, 190, 193,
+ 198, -541, -541, 202, 200, -541, 70, 645, -541, 782,
+ 782, -541, 782, 1418, -541, -541, -541, -541, -541, -541,
+ -541, -541, -541, -541, 1458, -541, -541, -541, -541, -541,
+ -541, -541, -541, -541, -541, -541, -541, -541, -541, -541,
+ -541, 1458, 136, 146, -541, 645, 104, 206, 207, 208,
+ 209, 210, 217, 645, 645, 328, 1418, 1458, 1458, -541,
+ -541, -541, -541, -541, -541, -541, -541, -541, -541, -541,
+ -541, 137, -541, -541, -541, 137, 202, 202, 333, 221,
+ 222, 1362, 1362, 1362, 1362, 1362, -541, -541, -64, 1071,
+ -103, -541, -100, -541, 1362, 1362, 1362, 2, -541, 1264,
+ -541, -541, -541, -541, -541, -541, -541, -541, 317, 1362,
+ -541, -541, -541, -541, 227, -541, 230, 782, 645, 645,
+ 11, -541, 12, -541, -541, 782, 228, 1458, 1458, 1458,
+ 1458, 1458, 232, 234, 1458, 782, 645, 235, -541, -541,
+ -541, -541, -541, -541, -541, -541, -541, 1458, 1362, 1362,
+ -541, 239, 241, 243, 244, 1362, -541, 256, 805, -73,
+ -541, -541, 248, 250, 385, 404, 423, -541, 202, -541,
+ -34, 278, 280, -541, 413, -72, 419, 420, 288, 292,
+ 293, 782, 440, 782, 296, 297, 782, 299, -34, -541,
+ 301, 303, 782, 782, -34, 304, 318, 1458, 151, 319,
+ 321, -43, 1362, 1362, 1362, 1362, -541, -541, 295, 1362,
+ 1362, 1458, -541, -541, -541, 279, 1304, -541, 322, -541,
+ 782, 782, 1574, 782, 782, 318, -541, 318, 1458, 782,
+ 323, 1458, 1458, 1458, -541, -541, 1574, 399, -541, 645,
+ -541, 1362, 1362, -541, 324, 305, 326, 327, -541, 325,
+ 329, 157, -541, -541, -541, -34, 81, 436, 332, 330,
+ 9, -34, 47, -541, -541, -541, -541, -541, 334, 782,
+ -541, -541, -541, 96, 318, 336, 338, 1362, -541, 1362,
+ 1362, -541, -541, -541, 279, -541, 407, -541, 444, -6,
+ 505, 505, 1614, -541, -541, 337, -541, -541, -541, -541,
+ 339, 342, 343, -541, 459, 341, 782, -541, 943, -2,
+ 331, 348, -541, -541, 9, -34, 109, -541, 137, -541,
+ -541, -541, -541, 442, -541, -541, 352, -541, 943, -36,
+ -36, 505, 505, 470, -541, 486, 354, -541, -541, 782,
+ 782, 488, -36, -36, 435, -541, 782, 490, -541, 782,
+ -541
};
/* YYPGOTO[NTERM-NUM]. */
static const yytype_int16 yypgoto[] =
{
- -546, 394, 395, 396, 280, 283, -170, -546, 0, -16,
- 444, 15, -546, -546, -546, -546, -1, -546, -546, -546,
- -157, -546, -418, -546, -229, -546, -292, 23, -546, -307,
- -546, -546, -26, 305, -120, -546, 429, 436, -59, -156,
- -235, 126, 168, 307, -546, -546, 526, -546, -546, -546,
- -546, -546, -546, -546, -546, -546, -546, -546, 456, -546,
- -546, -546, -546, -546, -546, -545, -142, 108, -186, -546,
- 490, -546, -546, -546, -546, -546, 51, 138, -546, -546,
- -546, -546
+ -541, 381, 382, 387, 270, 271, -170, -541, 0, -24,
+ 426, 8, -541, -541, -541, -541, 56, -541, -541, -541,
+ -161, -541, -393, -541, -217, -541, -541, -292, 5, -541,
+ -310, -541, -541, -26, 298, -120, -541, 411, 430, -115,
+ -157, -235, 94, 130, 312, -541, -541, 519, -541, -541,
+ -541, -541, -541, -541, -541, -541, -541, -541, -541, 448,
+ -541, -541, -541, -541, -541, -541, -540, -111, -51, -179,
+ -541, 482, -541, -541, -541, -541, -541, 46, 133, -541,
+ -541, -541, -541
};
/* 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 -204
+#define YYTABLE_NINF -206
static const yytype_int16 yytable[] =
{
- 11, 81, 272, 335, 261, 104, 163, 271, 236, 304,
- 164, 383, 475, 271, 425, 13, 273, 11, 262, 441,
- 350, 352, 443, 584, 308, 309, 310, 311, 312, 405,
- 406, 315, 13, 426, 90, 21, 45, 425, 46, 83,
- 84, 593, 93, 142, 142, 415, 88, -203, 415, 22,
- 131, 108, 89, 24, 143, 230, 421, 132, 26, 468,
- 161, 442, 316, 415, 442, -67, 1, 2, 269, 3,
- 4, 5, 420, 415, 270, 134, 488, 6, 7, 108,
- 503, 110, 479, 111, 415, 134, 233, 117, 118, 333,
- 149, 416, 11, 110, 85, 111, 86, 544, 8, 332,
- 149, 9, 550, 551, 27, 10, 49, 50, 51, 25,
- 591, 52, 227, 228, 419, 110, 231, 111, 500, 1,
- 234, 474, 3, 2, 5, 372, 4, 372, 372, 110,
- 372, 111, 397, 385, 435, 43, 552, 398, 399, 400,
- 553, 165, 401, 110, 267, 111, 402, 403, 239, 240,
- 241, 242, 567, 377, 587, 588, 589, 590, 585, 59,
- 105, 552, 28, 372, 498, 556, 57, 302, 303, 267,
- 305, 372, 372, 94, 317, 318, 599, 600, 264, 380,
- 110, 58, 111, 306, 267, 267, 267, 267, 267, 313,
- 314, 267, 114, 525, 115, 526, 395, 382, 110, 134,
- 111, 447, 61, 449, 450, 451, 398, 399, 400, 149,
- 110, 401, 111, 543, 90, 402, 403, -55, -55, -55,
- -55, 37, 38, 39, 97, 29, 30, 31, 32, 33,
- 34, 35, -139, 36, -139, 372, 372, 372, 145, 146,
- 237, 238, 557, 372, 63, 64, 98, 149, 516, 319,
- 320, 112, 113, 372, 372, 99, 1, 2, 378, 3,
- 4, 5, 261, 101, 102, 103, 321, 322, 86, 323,
- 324, 138, 325, 326, 327, 379, 262, 139, 162, 223,
- 225, 226, 410, 411, 412, 413, 414, 229, -56, 232,
- 149, 396, 267, 235, -57, 422, 423, 424, -60, 372,
- -59, 372, 527, -58, 372, 530, 531, 532, 243, 265,
- 372, 372, 271, 334, 341, 342, 343, 1, 344, 345,
- 3, 354, 5, 418, 576, 353, 355, 578, 37, 38,
- 39, 356, 433, 430, 357, 398, 399, 400, 372, 372,
- 401, 372, 372, 359, 402, 403, 386, 372, 387, 459,
- 460, 394, 388, 389, 390, 391, 466, 372, 407, 408,
- 409, 267, 448, 267, 267, 267, 436, 437, 454, 120,
- 121, 122, 123, 124, 125, 446, 452, 374, 375, 568,
- 376, 458, 471, 453, 457, 63, 64, 372, 106, 66,
- 67, 68, 69, 70, 71, 72, 462, 1, 2, 586,
- 3, 4, 5, 504, 505, 506, 507, 463, 372, 372,
- 509, 510, 464, 384, 465, 319, 320, 467, 469, 470,
- 472, 392, 393, 473, 372, 476, 478, 73, 477, 480,
- 481, 499, 321, 322, 482, 323, 324, 483, 325, 326,
- 327, 484, 535, 536, 486, 511, 488, 372, 372, 489,
- 515, 491, 442, 492, 372, 372, 521, 493, 496, 497,
- 501, 372, 267, 502, 372, 267, 267, 267, 517, 538,
- 521, 529, 537, 508, 539, 512, 540, 541, 560, 542,
- 561, 562, 547, 548, 549, 438, 439, 440, 554, 558,
- 559, 564, 566, 445, 577, 579, 360, 361, 580, 581,
- 63, 64, 362, 455, 456, 582, -18, -19, 592, 596,
- 598, 597, 1, 2, 603, 3, 4, 5, 363, 364,
- 365, 604, 606, 215, 216, 217, 575, 339, 563, 74,
- 330, 340, 75, 366, 367, 76, 129, 77, 107, 545,
- 144, 141, 338, 44, 512, 128, 96, 533, 461, 485,
- 368, 487, 0, 0, 490, 0, 0, 0, 0, 0,
- 494, 495, 0, 0, 0, 0, 176, 177, 178, 179,
- 180, 181, 182, 183, 184, 185, 186, 187, 188, 189,
- 190, 247, 248, 0, 0, 0, 0, 0, 518, 519,
- 0, 523, 524, 0, 0, 0, 0, 528, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 534, 249, 197,
- 570, 571, 200, 201, 202, 203, 204, 205, 206, 207,
- 208, 0, 250, 0, 251, 252, 253, 321, 322, 0,
- 323, 324, 0, 325, 326, 327, 0, 555, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 360, 361, 0,
- 369, 63, 64, 362, 0, 0, 0, 0, 572, 573,
- 0, 0, 0, 1, 2, 0, 3, 4, 5, 363,
- 364, 365, 285, 286, 583, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 366, 367, 274, 275, 276, 277,
- 278, 279, 280, 281, 282, 283, 0, 594, 595, 0,
- 0, 368, 0, 0, 601, 602, 0, 0, 0, 0,
- 0, 605, 0, 0, 607, 0, 0, 176, 177, 178,
- 179, 180, 181, 182, 183, 184, 185, 186, 187, 188,
- 189, 190, 247, 248, 0, 0, 0, 0, 0, 0,
- 0, 0, 287, 288, 289, 290, 291, 292, 293, 294,
- 295, 296, 297, 298, 299, 300, 0, 0, 0, 249,
- 197, 198, 199, 200, 201, 202, 203, 204, 205, 206,
- 207, 208, 0, 250, 0, 251, 252, 253, 0, 0,
- 0, 0, 0, 360, 361, 0, 0, 63, 64, 362,
- 0, 0, 0, 0, 110, 0, 111, 0, 0, 1,
- 2, 369, 3, 4, 5, 363, 364, 365, 0, 0,
- 63, 64, 0, 0, 0, 0, 0, 0, 0, 0,
- 366, 367, 1, 2, 0, 3, 4, 5, 244, 0,
- 0, 0, 0, 0, 0, 0, 0, 368, 0, 0,
- 0, 0, 0, 245, 246, 0, 0, 0, 0, 0,
- 0, 0, 0, 176, 177, 178, 179, 180, 181, 182,
- 183, 184, 185, 186, 187, 188, 189, 190, 247, 248,
- 0, 0, 0, 0, 0, 0, 176, 177, 178, 179,
+ 11, 81, 272, 261, 161, 271, 163, 104, 13, 271,
+ 90, 383, 273, 164, 24, 335, 304, 11, 93, 25,
+ 350, 352, 441, 443, 26, 13, 405, 406, 586, 43,
+ 233, 308, 309, 310, 311, 312, 425, 475, 315, 236,
+ 21, 142, 142, -55, -55, -55, -55, 415, 596, 262,
+ 415, 108, 143, 230, 22, 426, 420, 110, 316, 111,
+ 45, 421, 46, 332, 442, 442, 237, 238, 29, 30,
+ 31, 32, 33, 34, 35, 134, 36, 415, 415, 108,
+ 28, 319, 320, 269, 131, 134, 415, 479, 468, 270,
+ 149, 132, 11, 416, 117, 118, 83, 84, 321, 322,
+ 149, 323, 324, 88, 325, 326, 327, 488, 85, 89,
+ 86, 503, 227, 228, 419, 425, 231, 110, 474, 111,
+ 234, 110, 544, 111, 27, 63, 64, 550, 551, 333,
+ 49, 50, 51, 2, 435, 52, 4, 1, 2, 397,
+ 3, 4, 5, 1, 267, 165, 3, 593, 5, 61,
+ 94, 567, 114, 377, 115, 587, 372, 97, 372, 372,
+ -141, 372, -141, 105, 498, 317, 318, 302, 303, 267,
+ 305, 264, 37, 38, 39, 239, 240, 241, 242, 589,
+ 590, 591, 592, 306, 267, 267, 267, 267, 267, 313,
+ 314, 267, 57, 525, 372, 526, 395, 552, 58, 134,
+ 59, 553, 372, 372, 602, 603, 145, 146, 447, 149,
+ 449, 450, 451, 112, 113, 398, 399, 400, 374, 375,
+ 401, 376, 90, 101, 402, 403, 410, 411, 412, 413,
+ 414, 120, 121, 122, 123, 124, 125, 98, 99, 422,
+ 423, 424, 557, 398, 399, 400, 552, 149, 401, 102,
+ 556, 103, 402, 403, 384, 110, 86, 111, 378, 385,
+ 516, 261, 392, 393, 138, 162, 372, 372, 372, 225,
+ 139, 398, 399, 400, 372, 379, 401, 37, 38, 39,
+ 402, 403, 223, 226, 372, 372, 380, 110, 232, 111,
+ 149, 396, 267, 459, 460, 235, 382, 110, 1, 111,
+ 466, 3, 110, 5, 111, 500, 229, 262, 110, 527,
+ 111, 543, 530, 531, 532, -56, -57, -60, -59, -58,
+ 243, 265, 334, 418, 353, 271, 438, 439, 440, 341,
+ 372, 342, 372, 430, 445, 372, 576, 343, 344, 578,
+ 345, 372, 372, 354, 455, 456, 355, 504, 505, 506,
+ 507, 356, 357, 359, 509, 510, 386, 387, 388, 389,
+ 390, 267, 448, 267, 267, 267, 394, 391, 454, 372,
+ 372, 407, 372, 372, 408, 409, 433, 436, 372, 568,
+ 437, 458, 452, 446, 453, 457, 535, 536, 372, 462,
+ 485, 463, 487, 464, 465, 490, 319, 320, 469, 588,
+ 470, 494, 495, 274, 275, 276, 277, 278, 279, 280,
+ 281, 282, 283, 321, 322, 467, 323, 324, 372, 325,
+ 326, 327, 560, 471, 561, 562, 472, 473, 476, 518,
+ 519, 499, 523, 524, 477, 478, 480, 481, 528, 372,
+ 372, 482, 483, 484, 486, 511, 488, 489, 534, 491,
+ 515, 492, 442, 493, 508, 372, 521, 496, 547, 538,
+ 564, 566, 267, 582, 594, 267, 267, 267, 497, 501,
+ 521, 502, 517, 529, 537, 512, 539, 540, 555, 541,
+ 372, 372, 548, 542, -18, 549, 583, 599, 372, 372,
+ 558, 554, 559, 579, 577, 372, 580, 581, 372, 572,
+ 573, -19, 595, 600, 601, 606, 607, 609, 360, 361,
+ 215, 216, 63, 64, 362, 585, 217, 339, 129, 340,
+ 563, 545, 144, 330, 1, 2, 575, 3, 4, 5,
+ 363, 364, 365, 285, 286, 141, 44, 128, 96, 0,
+ 597, 598, 533, 461, 512, 366, 367, 338, 604, 605,
+ 0, 0, 0, 0, 0, 608, 0, 0, 610, 0,
+ 63, 64, 368, 106, 66, 67, 68, 69, 70, 71,
+ 72, 0, 1, 2, 0, 3, 4, 5, 176, 177,
+ 178, 179, 180, 181, 182, 183, 184, 185, 186, 187,
+ 188, 189, 190, 247, 248, 0, 0, 0, 0, 0,
+ 0, 0, 73, 287, 288, 289, 290, 291, 292, 293,
+ 294, 295, 296, 297, 298, 299, 300, 0, 0, 0,
+ 249, 197, 570, 571, 200, 201, 202, 203, 204, 205,
+ 206, 207, 208, 0, 250, 0, 251, 252, 253, 321,
+ 322, 0, 323, 324, 0, 325, 326, 327, 360, 361,
+ 0, 0, 63, 64, 362, 0, 0, 0, -205, 0,
+ 0, 0, 0, 369, 1, 2, 0, 3, 4, 5,
+ 363, 364, 365, 0, 0, 0, -67, 1, 2, 0,
+ 3, 4, 5, 0, 0, 366, 367, 0, 6, 7,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 368, 0, 0, 74, 0, 0, 75, 8,
+ 0, 76, 9, 77, 107, 0, 10, 0, 176, 177,
+ 178, 179, 180, 181, 182, 183, 184, 185, 186, 187,
+ 188, 189, 190, 247, 248, 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,
+ 249, 197, 198, 199, 200, 201, 202, 203, 204, 205,
+ 206, 207, 208, 0, 250, 0, 251, 252, 253, 0,
+ 0, 0, 0, 0, 0, 360, 361, 0, 0, 63,
+ 64, 362, 0, 0, 0, 0, 110, 0, 111, 0,
+ 0, 1, 2, 369, 3, 4, 5, 363, 364, 365,
+ 0, 0, 63, 64, 0, 0, 0, 0, 0, 0,
+ 0, 0, 366, 367, 1, 2, 0, 3, 4, 5,
+ 244, 0, 0, 0, 0, 0, 0, 0, 0, 368,
+ 0, 0, 0, 0, 0, 245, 246, 0, 0, 0,
+ 0, 0, 0, 0, 0, 176, 177, 178, 179, 180,
+ 181, 182, 183, 184, 185, 186, 187, 188, 189, 190,
+ 247, 248, 0, 0, 0, 0, 0, 0, 176, 177,
+ 178, 179, 180, 181, 182, 183, 184, 185, 186, 187,
+ 188, 189, 190, 247, 248, 0, 0, 249, 197, 198,
+ 199, 200, 201, 202, 203, 204, 205, 206, 207, 208,
+ 0, 250, 0, 251, 252, 253, 0, 0, 0, 0,
+ 249, 197, 198, 199, 200, 201, 202, 203, 204, 205,
+ 206, 207, 208, 0, 250, 0, 251, 252, 253, 0,
+ 369, 0, 0, 0, 0, 0, 360, 361, 0, 0,
+ 0, 0, 362, 0, 0, 0, 110, 0, 111, 0,
+ 254, 0, 0, 255, 0, 256, 0, 257, 363, 364,
+ 365, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 366, 367, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 63, 64,
+ 368, 106, 66, 67, 68, 69, 70, 71, 72, 0,
+ 1, 2, 0, 3, 4, 5, 176, 177, 178, 179,
180, 181, 182, 183, 184, 185, 186, 187, 188, 189,
- 190, 247, 248, 0, 0, 249, 197, 198, 199, 200,
- 201, 202, 203, 204, 205, 206, 207, 208, 0, 250,
- 0, 251, 252, 253, 0, 0, 0, 0, 249, 197,
+ 190, 247, 248, 0, 0, 0, 0, 0, 63, 64,
+ 73, 106, 152, 153, 154, 155, 156, 157, 72, 0,
+ 1, 2, 0, 3, 4, 5, 0, 0, 249, 197,
198, 199, 200, 201, 202, 203, 204, 205, 206, 207,
- 208, 0, 250, 0, 251, 252, 253, 369, 0, 0,
- 0, 0, 0, 360, 361, 0, 0, 0, 0, 362,
- 0, 0, 0, 110, 0, 111, 0, 254, 0, 0,
- 255, 0, 256, 0, 257, 363, 364, 365, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 366, 367, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 63, 64, 368, 106, 66,
- 67, 68, 69, 70, 71, 72, 0, 1, 2, 0,
- 3, 4, 5, 176, 177, 178, 179, 180, 181, 182,
- 183, 184, 185, 186, 187, 188, 189, 190, 247, 248,
- 0, 0, 0, 0, 0, 63, 64, 73, 106, 152,
- 153, 154, 155, 156, 157, 72, 0, 1, 2, 0,
- 3, 4, 5, 0, 0, 249, 197, 198, 199, 200,
- 201, 202, 203, 204, 205, 206, 207, 208, 0, 250,
- 0, 251, 252, 253, 0, 63, 64, 73, 106, 152,
- 153, 154, 155, 156, 157, 72, 0, 1, 2, 0,
- 3, 4, 5, 0, 0, 63, 64, 369, 106, 66,
- 67, 68, 69, 70, 71, 72, 0, 1, 2, 0,
- 3, 4, 5, 0, 0, 0, 0, 73, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 133, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 73, 0, 74,
- 0, 0, 75, 0, 0, 76, 0, 77, 140, 63,
- 64, 0, 147, 66, 67, 68, 69, 70, 71, 72,
- 0, 1, 2, 0, 3, 4, 5, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 74,
- 0, 0, 75, 0, 0, 76, 0, 77, 351, 63,
- 64, 73, 106, 66, 67, 68, 69, 70, 71, 72,
+ 208, 0, 250, 0, 251, 252, 253, 0, 63, 64,
+ 73, 106, 152, 153, 154, 155, 156, 157, 72, 0,
+ 1, 2, 0, 3, 4, 5, 0, 0, 0, 63,
+ 64, 369, 106, 66, 67, 68, 69, 70, 71, 72,
0, 1, 2, 0, 3, 4, 5, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 74,
- 0, 329, 75, 0, 0, 76, 0, 77, 417, 0,
- 0, 73, 0, 0, 0, 0, 0, 0, 0, 74,
- 0, 0, 75, 0, 0, 76, 0, 77, 0, 63,
- 64, 0, 106, 152, 153, 154, 155, 156, 157, 72,
- 0, 1, 2, 148, 3, 4, 5, 0, 63, 64,
- 0, 106, 66, 67, 68, 69, 70, 71, 72, 0,
- 1, 2, 0, 3, 4, 5, 0, 0, 0, 0,
+ 73, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 133, 0, 0, 0, 0, 0, 0, 0, 0,
0, 73, 0, 74, 0, 0, 75, 0, 0, 76,
- 429, 77, 0, 0, 0, 0, 0, 0, 63, 64,
- 73, 106, 66, 67, 68, 69, 70, 71, 72, 0,
- 1, 2, 0, 3, 4, 5, 0, 0, 0, 0,
+ 0, 77, 140, 63, 64, 0, 147, 66, 67, 68,
+ 69, 70, 71, 72, 0, 1, 2, 0, 3, 4,
+ 5, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 74, 0, 0, 75, 0, 0, 76,
- 514, 77, 0, 0, 0, 0, 0, 0, 63, 64,
- 73, 65, 66, 67, 68, 69, 70, 71, 72, 0,
- 1, 2, 0, 3, 4, 5, 63, 64, 0, 106,
- 152, 153, 154, 155, 156, 157, 72, 0, 1, 2,
- 0, 3, 4, 5, 0, 0, 0, 0, 0, 0,
- 73, 0, 0, 74, 0, 0, 75, 0, 346, 76,
- 0, 77, 0, 0, 0, 0, 0, 0, 73, 0,
- 0, 0, 74, 0, 0, 75, 0, 0, 76, 0,
- 77, 63, 64, 0, 147, 66, 67, 68, 69, 70,
+ 0, 77, 351, 63, 64, 73, 106, 66, 67, 68,
+ 69, 70, 71, 72, 0, 1, 2, 0, 3, 4,
+ 5, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 74, 0, 329, 75, 0, 0, 76,
+ 0, 77, 417, 0, 0, 73, 0, 0, 0, 0,
+ 0, 0, 0, 0, 74, 0, 0, 75, 0, 0,
+ 76, 0, 77, 63, 64, 0, 106, 152, 153, 154,
+ 155, 156, 157, 72, 0, 1, 2, 148, 3, 4,
+ 5, 63, 64, 0, 106, 66, 67, 68, 69, 70,
71, 72, 0, 1, 2, 0, 3, 4, 5, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 74, 0, 0, 75, 0, 0, 76, 0,
- 77, 63, 64, 73, 106, 66, 67, 68, 69, 70,
+ 0, 0, 0, 0, 0, 73, 0, 0, 74, 0,
+ 0, 75, 0, 429, 76, 0, 77, 0, 0, 0,
+ 0, 63, 64, 73, 106, 66, 67, 68, 69, 70,
71, 72, 0, 1, 2, 0, 3, 4, 5, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 74, 0,
+ 0, 75, 0, 514, 76, 0, 77, 0, 0, 0,
+ 0, 63, 64, 73, 65, 66, 67, 68, 69, 70,
+ 71, 72, 0, 1, 2, 0, 3, 4, 5, 63,
+ 64, 0, 106, 152, 153, 154, 155, 156, 157, 72,
+ 0, 1, 2, 0, 3, 4, 5, 0, 0, 0,
+ 0, 0, 0, 73, 0, 0, 0, 0, 74, 0,
+ 0, 75, 0, 346, 76, 0, 77, 0, 0, 0,
+ 0, 73, 0, 0, 0, 0, 74, 0, 0, 75,
+ 0, 0, 76, 0, 77, 63, 64, 0, 147, 66,
+ 67, 68, 69, 70, 71, 72, 0, 1, 2, 0,
+ 3, 4, 5, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 74, 0, 0, 75,
+ 0, 0, 76, 0, 77, 63, 64, 73, 106, 66,
+ 67, 68, 69, 70, 71, 72, 0, 1, 2, 0,
+ 3, 4, 5, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 74, 0, 0, 75,
+ 0, 0, 76, 0, 77, 0, 0, 73, 0, 0,
+ 0, 0, 0, 0, 74, 0, 0, 75, 0, 0,
+ 76, 0, 77, 63, 64, 0, 266, 66, 67, 68,
+ 69, 70, 71, 72, 0, 1, 2, 0, 3, 4,
+ 5, 63, 64, 0, 106, 152, 153, 154, 155, 156,
+ 157, 72, 0, 1, 2, 0, 3, 4, 5, 0,
+ 0, 0, 0, 0, 0, 73, 0, 0, 0, 0,
+ 74, 0, 0, 75, 0, 0, 76, 0, 77, 0,
+ 0, 63, 64, 73, 106, 66, 67, 68, 69, 70,
+ 71, 520, 0, 1, 2, 0, 3, 4, 5, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 74, 0, 0, 75, 0, 0, 76, 0, 77, 0,
+ 0, 63, 64, 73, 106, 66, 67, 68, 69, 70,
+ 71, 574, 0, 1, 2, 0, 3, 4, 5, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 74, 0, 0, 75, 0, 0, 76, 0,
- 77, 0, 0, 73, 0, 0, 0, 0, 0, 0,
- 74, 0, 0, 75, 0, 0, 76, 0, 77, 63,
- 64, 0, 266, 66, 67, 68, 69, 70, 71, 72,
- 0, 1, 2, 0, 3, 4, 5, 63, 64, 0,
- 106, 152, 153, 154, 155, 156, 157, 72, 0, 1,
- 2, 0, 3, 4, 5, 0, 0, 0, 0, 0,
- 0, 73, 0, 0, 0, 74, 0, 0, 75, 0,
- 0, 76, 0, 77, 0, 0, 0, 63, 64, 73,
- 106, 66, 67, 68, 69, 70, 71, 520, 0, 1,
- 2, 0, 3, 4, 5, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 74, 0, 0, 75, 0,
- 0, 76, 0, 77, 0, 0, 0, 63, 64, 73,
- 106, 66, 67, 68, 69, 70, 71, 574, 0, 1,
- 2, 0, 3, 4, 5, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 73,
- 167, 0, 0, 74, 0, 0, 75, 0, 0, 76,
- 0, 77, 0, 0, 0, 0, 0, 0, 0, 168,
- 169, 74, 0, 0, 75, 0, 0, 76, 0, 349,
- 0, 170, 171, 172, 173, 174, 175, 176, 177, 178,
- 179, 180, 181, 182, 183, 184, 185, 186, 187, 188,
- 189, 190, 191, 192, 0, 0, 0, 0, 0, 0,
- 0, 74, 0, 0, 75, 0, 0, 76, 0, 77,
- 0, 0, 0, 0, 193, 194, 195, 0, 0, 196,
- 197, 198, 199, 200, 201, 202, 203, 204, 205, 206,
- 207, 208, 209, 210, 211, 212, 213, 214, -202, 0,
- 0, 74, 0, 0, 75, 0, 0, 76, 0, 77,
- 0, 0, 0, 0, 0, 0, -67, 1, 2, 0,
- 3, 4, 5, 0, 0, 0, 0, 0, 6, 7,
+ 0, 0, 0, 73, 167, 0, 0, 0, 74, 0,
+ 0, 75, 0, 0, 76, 0, 77, 0, 0, 0,
+ 0, 0, 0, 168, 169, 0, 74, 0, 0, 75,
+ 0, 0, 76, 0, 349, 170, 171, 172, 173, 174,
+ 175, 176, 177, 178, 179, 180, 181, 182, 183, 184,
+ 185, 186, 187, 188, 189, 190, 191, 192, 0, 0,
+ 0, 0, 0, 0, 0, 0, 74, 0, 0, 75,
+ 0, 0, 76, 0, 77, 0, 0, 0, 193, 194,
+ 195, 0, 0, 196, 197, 198, 199, 200, 201, 202,
+ 203, 204, 205, 206, 207, 208, 209, 210, 211, 212,
+ 213, 214, -204, 0, 0, 0, 74, 0, 0, 75,
+ 0, 0, 76, 0, 77, 0, 0, 0, 0, 0,
+ -67, 1, 2, 0, 3, 4, 5, 0, 0, 0,
+ 0, 0, 6, 7, 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, 8,
- 0, 0, 9, 0, 0, 0, 10
+ 0, 0, 0, 8, 0, 0, 9, 0, 0, 0,
+ 10
};
static const yytype_int16 yycheck[] =
{
- 0, 27, 172, 232, 160, 4, 126, 11, 150, 195,
- 28, 303, 430, 11, 34, 0, 173, 17, 160, 11,
- 255, 256, 11, 568, 210, 211, 212, 213, 214, 336,
- 337, 217, 17, 53, 21, 52, 46, 34, 48, 40,
- 41, 586, 29, 149, 149, 149, 47, 0, 149, 66,
- 149, 77, 53, 148, 160, 160, 160, 156, 148, 160,
- 119, 53, 219, 149, 53, 18, 19, 20, 11, 22,
- 23, 24, 158, 149, 17, 101, 149, 30, 31, 105,
- 153, 150, 158, 152, 149, 111, 145, 32, 33, 158,
- 116, 156, 92, 150, 35, 152, 37, 515, 51, 156,
- 126, 54, 520, 521, 18, 58, 42, 43, 44, 57,
- 38, 47, 138, 139, 349, 150, 142, 152, 153, 19,
- 146, 428, 22, 20, 24, 267, 23, 269, 270, 150,
- 272, 152, 318, 154, 369, 0, 149, 134, 135, 136,
- 153, 159, 139, 150, 170, 152, 143, 144, 3, 4,
- 5, 6, 156, 273, 572, 573, 574, 575, 156, 154,
- 159, 149, 148, 305, 456, 153, 148, 193, 194, 195,
- 196, 313, 314, 160, 113, 114, 594, 595, 163, 149,
- 150, 148, 152, 209, 210, 211, 212, 213, 214, 215,
- 216, 217, 42, 485, 44, 487, 316, 149, 150, 225,
- 152, 387, 22, 389, 390, 391, 134, 135, 136, 235,
- 150, 139, 152, 153, 21, 143, 144, 3, 4, 5,
- 6, 145, 146, 147, 22, 42, 43, 44, 45, 46,
- 47, 48, 150, 50, 152, 377, 378, 379, 112, 113,
- 26, 27, 534, 385, 7, 8, 22, 273, 477, 117,
- 118, 83, 84, 395, 396, 22, 19, 20, 284, 22,
- 23, 24, 418, 152, 4, 4, 134, 135, 37, 137,
- 138, 155, 140, 141, 142, 301, 418, 155, 4, 22,
- 149, 153, 341, 342, 343, 344, 345, 158, 9, 153,
- 316, 317, 318, 152, 9, 354, 355, 356, 9, 441,
- 9, 443, 488, 9, 446, 491, 492, 493, 9, 55,
- 452, 453, 11, 158, 152, 152, 152, 19, 152, 152,
- 22, 152, 24, 349, 553, 22, 152, 556, 145, 146,
- 147, 152, 59, 359, 149, 134, 135, 136, 480, 481,
- 139, 483, 484, 152, 143, 144, 149, 489, 149, 408,
- 409, 38, 149, 149, 149, 149, 415, 499, 38, 152,
- 152, 387, 388, 389, 390, 391, 149, 149, 394, 60,
- 61, 62, 63, 64, 65, 154, 149, 269, 270, 549,
- 272, 407, 38, 149, 149, 7, 8, 529, 10, 11,
- 12, 13, 14, 15, 16, 17, 149, 19, 20, 569,
- 22, 23, 24, 462, 463, 464, 465, 149, 550, 551,
- 469, 470, 149, 305, 149, 117, 118, 158, 149, 149,
- 22, 313, 314, 4, 566, 149, 22, 49, 153, 17,
- 17, 457, 134, 135, 152, 137, 138, 149, 140, 141,
- 142, 149, 501, 502, 4, 471, 149, 589, 590, 149,
- 476, 149, 53, 149, 596, 597, 482, 149, 152, 149,
- 149, 603, 488, 149, 606, 491, 492, 493, 149, 153,
- 496, 149, 149, 158, 149, 475, 149, 153, 537, 153,
- 539, 540, 22, 149, 154, 377, 378, 379, 156, 153,
- 153, 53, 17, 385, 156, 153, 3, 4, 153, 153,
- 7, 8, 9, 395, 396, 4, 152, 152, 149, 17,
- 149, 17, 19, 20, 17, 22, 23, 24, 25, 26,
- 27, 71, 17, 129, 129, 129, 552, 247, 544, 151,
- 225, 248, 154, 40, 41, 157, 92, 159, 160, 516,
- 111, 105, 235, 17, 544, 89, 56, 496, 410, 441,
- 57, 443, -1, -1, 446, -1, -1, -1, -1, -1,
- 452, 453, -1, -1, -1, -1, 73, 74, 75, 76,
- 77, 78, 79, 80, 81, 82, 83, 84, 85, 86,
- 87, 88, 89, -1, -1, -1, -1, -1, 480, 481,
- -1, 483, 484, -1, -1, -1, -1, 489, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 499, 115, 116,
- 117, 118, 119, 120, 121, 122, 123, 124, 125, 126,
- 127, -1, 129, -1, 131, 132, 133, 134, 135, -1,
- 137, 138, -1, 140, 141, 142, -1, 529, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 3, 4, -1,
- 157, 7, 8, 9, -1, -1, -1, -1, 550, 551,
- -1, -1, -1, 19, 20, -1, 22, 23, 24, 25,
- 26, 27, 26, 27, 566, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 40, 41, 90, 91, 92, 93,
- 94, 95, 96, 97, 98, 99, -1, 589, 590, -1,
- -1, 57, -1, -1, 596, 597, -1, -1, -1, -1,
- -1, 603, -1, -1, 606, -1, -1, 73, 74, 75,
- 76, 77, 78, 79, 80, 81, 82, 83, 84, 85,
- 86, 87, 88, 89, -1, -1, -1, -1, -1, -1,
- -1, -1, 96, 97, 98, 99, 100, 101, 102, 103,
- 104, 105, 106, 107, 108, 109, -1, -1, -1, 115,
- 116, 117, 118, 119, 120, 121, 122, 123, 124, 125,
- 126, 127, -1, 129, -1, 131, 132, 133, -1, -1,
- -1, -1, -1, 3, 4, -1, -1, 7, 8, 9,
- -1, -1, -1, -1, 150, -1, 152, -1, -1, 19,
- 20, 157, 22, 23, 24, 25, 26, 27, -1, -1,
- 7, 8, -1, -1, -1, -1, -1, -1, -1, -1,
- 40, 41, 19, 20, -1, 22, 23, 24, 25, -1,
- -1, -1, -1, -1, -1, -1, -1, 57, -1, -1,
+ 0, 27, 172, 160, 119, 11, 126, 4, 0, 11,
+ 21, 303, 173, 28, 149, 232, 195, 17, 29, 57,
+ 255, 256, 11, 11, 149, 17, 336, 337, 568, 0,
+ 145, 210, 211, 212, 213, 214, 34, 430, 217, 150,
+ 52, 150, 150, 3, 4, 5, 6, 150, 588, 160,
+ 150, 77, 161, 161, 66, 53, 159, 151, 219, 153,
+ 46, 161, 48, 157, 53, 53, 26, 27, 42, 43,
+ 44, 45, 46, 47, 48, 101, 50, 150, 150, 105,
+ 149, 117, 118, 11, 150, 111, 150, 159, 161, 17,
+ 116, 157, 92, 157, 32, 33, 40, 41, 134, 135,
+ 126, 137, 138, 47, 140, 141, 142, 150, 35, 53,
+ 37, 154, 138, 139, 349, 34, 142, 151, 428, 153,
+ 146, 151, 515, 153, 18, 7, 8, 520, 521, 159,
+ 42, 43, 44, 20, 369, 47, 23, 19, 20, 318,
+ 22, 23, 24, 19, 170, 160, 22, 38, 24, 22,
+ 161, 157, 42, 273, 44, 157, 267, 22, 269, 270,
+ 151, 272, 153, 160, 456, 113, 114, 193, 194, 195,
+ 196, 163, 146, 147, 148, 3, 4, 5, 6, 572,
+ 573, 574, 575, 209, 210, 211, 212, 213, 214, 215,
+ 216, 217, 149, 485, 305, 487, 316, 150, 149, 225,
+ 155, 154, 313, 314, 597, 598, 112, 113, 387, 235,
+ 389, 390, 391, 83, 84, 134, 135, 136, 269, 270,
+ 139, 272, 21, 153, 143, 144, 341, 342, 343, 344,
+ 345, 60, 61, 62, 63, 64, 65, 22, 22, 354,
+ 355, 356, 534, 134, 135, 136, 150, 273, 139, 4,
+ 154, 4, 143, 144, 305, 151, 37, 153, 284, 155,
+ 477, 418, 313, 314, 156, 4, 377, 378, 379, 150,
+ 156, 134, 135, 136, 385, 301, 139, 146, 147, 148,
+ 143, 144, 22, 154, 395, 396, 150, 151, 154, 153,
+ 316, 317, 318, 408, 409, 153, 150, 151, 19, 153,
+ 415, 22, 151, 24, 153, 154, 159, 418, 151, 488,
+ 153, 154, 491, 492, 493, 9, 9, 9, 9, 9,
+ 9, 55, 159, 349, 22, 11, 377, 378, 379, 153,
+ 441, 153, 443, 359, 385, 446, 553, 153, 153, 556,
+ 153, 452, 453, 153, 395, 396, 153, 462, 463, 464,
+ 465, 153, 150, 153, 469, 470, 150, 150, 150, 150,
+ 150, 387, 388, 389, 390, 391, 38, 150, 394, 480,
+ 481, 38, 483, 484, 153, 153, 59, 150, 489, 549,
+ 150, 407, 150, 155, 150, 150, 501, 502, 499, 150,
+ 441, 150, 443, 150, 150, 446, 117, 118, 150, 569,
+ 150, 452, 453, 90, 91, 92, 93, 94, 95, 96,
+ 97, 98, 99, 134, 135, 159, 137, 138, 529, 140,
+ 141, 142, 537, 38, 539, 540, 22, 4, 150, 480,
+ 481, 457, 483, 484, 154, 22, 17, 17, 489, 550,
+ 551, 153, 150, 150, 4, 471, 150, 150, 499, 150,
+ 476, 150, 53, 150, 159, 566, 482, 153, 22, 154,
+ 53, 17, 488, 4, 22, 491, 492, 493, 150, 150,
+ 496, 150, 150, 150, 150, 475, 150, 150, 529, 154,
+ 591, 592, 150, 154, 153, 155, 145, 17, 599, 600,
+ 154, 157, 154, 154, 157, 606, 154, 154, 609, 550,
+ 551, 153, 150, 17, 150, 17, 71, 17, 3, 4,
+ 129, 129, 7, 8, 9, 566, 129, 247, 92, 248,
+ 544, 516, 111, 225, 19, 20, 552, 22, 23, 24,
+ 25, 26, 27, 26, 27, 105, 17, 89, 56, -1,
+ 591, 592, 496, 410, 544, 40, 41, 235, 599, 600,
+ -1, -1, -1, -1, -1, 606, -1, -1, 609, -1,
+ 7, 8, 57, 10, 11, 12, 13, 14, 15, 16,
+ 17, -1, 19, 20, -1, 22, 23, 24, 73, 74,
+ 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
+ 85, 86, 87, 88, 89, -1, -1, -1, -1, -1,
+ -1, -1, 49, 96, 97, 98, 99, 100, 101, 102,
+ 103, 104, 105, 106, 107, 108, 109, -1, -1, -1,
+ 115, 116, 117, 118, 119, 120, 121, 122, 123, 124,
+ 125, 126, 127, -1, 129, -1, 131, 132, 133, 134,
+ 135, -1, 137, 138, -1, 140, 141, 142, 3, 4,
+ -1, -1, 7, 8, 9, -1, -1, -1, 0, -1,
+ -1, -1, -1, 158, 19, 20, -1, 22, 23, 24,
+ 25, 26, 27, -1, -1, -1, 18, 19, 20, -1,
+ 22, 23, 24, -1, -1, 40, 41, -1, 30, 31,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 57, -1, -1, 152, -1, -1, 155, 51,
+ -1, 158, 54, 160, 161, -1, 58, -1, 73, 74,
+ 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
+ 85, 86, 87, 88, 89, -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,
+ 115, 116, 117, 118, 119, 120, 121, 122, 123, 124,
+ 125, 126, 127, -1, 129, -1, 131, 132, 133, -1,
+ -1, -1, -1, -1, -1, 3, 4, -1, -1, 7,
+ 8, 9, -1, -1, -1, -1, 151, -1, 153, -1,
+ -1, 19, 20, 158, 22, 23, 24, 25, 26, 27,
+ -1, -1, 7, 8, -1, -1, -1, -1, -1, -1,
+ -1, -1, 40, 41, 19, 20, -1, 22, 23, 24,
+ 25, -1, -1, -1, -1, -1, -1, -1, -1, 57,
+ -1, -1, -1, -1, -1, 40, 41, -1, -1, -1,
+ -1, -1, -1, -1, -1, 73, 74, 75, 76, 77,
+ 78, 79, 80, 81, 82, 83, 84, 85, 86, 87,
+ 88, 89, -1, -1, -1, -1, -1, -1, 73, 74,
+ 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
+ 85, 86, 87, 88, 89, -1, -1, 115, 116, 117,
+ 118, 119, 120, 121, 122, 123, 124, 125, 126, 127,
+ -1, 129, -1, 131, 132, 133, -1, -1, -1, -1,
+ 115, 116, 117, 118, 119, 120, 121, 122, 123, 124,
+ 125, 126, 127, -1, 129, -1, 131, 132, 133, -1,
+ 158, -1, -1, -1, -1, -1, 3, 4, -1, -1,
+ -1, -1, 9, -1, -1, -1, 151, -1, 153, -1,
+ 155, -1, -1, 158, -1, 160, -1, 162, 25, 26,
+ 27, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 40, 41, -1, -1, -1, -1, -1,
- -1, -1, -1, 73, 74, 75, 76, 77, 78, 79,
- 80, 81, 82, 83, 84, 85, 86, 87, 88, 89,
- -1, -1, -1, -1, -1, -1, 73, 74, 75, 76,
+ -1, -1, -1, -1, -1, -1, -1, -1, 7, 8,
+ 57, 10, 11, 12, 13, 14, 15, 16, 17, -1,
+ 19, 20, -1, 22, 23, 24, 73, 74, 75, 76,
77, 78, 79, 80, 81, 82, 83, 84, 85, 86,
- 87, 88, 89, -1, -1, 115, 116, 117, 118, 119,
- 120, 121, 122, 123, 124, 125, 126, 127, -1, 129,
- -1, 131, 132, 133, -1, -1, -1, -1, 115, 116,
+ 87, 88, 89, -1, -1, -1, -1, -1, 7, 8,
+ 49, 10, 11, 12, 13, 14, 15, 16, 17, -1,
+ 19, 20, -1, 22, 23, 24, -1, -1, 115, 116,
117, 118, 119, 120, 121, 122, 123, 124, 125, 126,
- 127, -1, 129, -1, 131, 132, 133, 157, -1, -1,
- -1, -1, -1, 3, 4, -1, -1, -1, -1, 9,
- -1, -1, -1, 150, -1, 152, -1, 154, -1, -1,
- 157, -1, 159, -1, 161, 25, 26, 27, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 40, 41, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 7, 8, 57, 10, 11,
- 12, 13, 14, 15, 16, 17, -1, 19, 20, -1,
- 22, 23, 24, 73, 74, 75, 76, 77, 78, 79,
- 80, 81, 82, 83, 84, 85, 86, 87, 88, 89,
- -1, -1, -1, -1, -1, 7, 8, 49, 10, 11,
- 12, 13, 14, 15, 16, 17, -1, 19, 20, -1,
- 22, 23, 24, -1, -1, 115, 116, 117, 118, 119,
- 120, 121, 122, 123, 124, 125, 126, 127, -1, 129,
- -1, 131, 132, 133, -1, 7, 8, 49, 10, 11,
- 12, 13, 14, 15, 16, 17, -1, 19, 20, -1,
- 22, 23, 24, -1, -1, 7, 8, 157, 10, 11,
- 12, 13, 14, 15, 16, 17, -1, 19, 20, -1,
- 22, 23, 24, -1, -1, -1, -1, 49, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 39, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 49, -1, 151,
- -1, -1, 154, -1, -1, 157, -1, 159, 160, 7,
- 8, -1, 10, 11, 12, 13, 14, 15, 16, 17,
- -1, 19, 20, -1, 22, 23, 24, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 151,
- -1, -1, 154, -1, -1, 157, -1, 159, 160, 7,
- 8, 49, 10, 11, 12, 13, 14, 15, 16, 17,
+ 127, -1, 129, -1, 131, 132, 133, -1, 7, 8,
+ 49, 10, 11, 12, 13, 14, 15, 16, 17, -1,
+ 19, 20, -1, 22, 23, 24, -1, -1, -1, 7,
+ 8, 158, 10, 11, 12, 13, 14, 15, 16, 17,
-1, 19, 20, -1, 22, 23, 24, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 151,
- -1, 39, 154, -1, -1, 157, -1, 159, 160, -1,
- -1, 49, -1, -1, -1, -1, -1, -1, -1, 151,
- -1, -1, 154, -1, -1, 157, -1, 159, -1, 7,
+ 49, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 39, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 49, -1, 152, -1, -1, 155, -1, -1, 158,
+ -1, 160, 161, 7, 8, -1, 10, 11, 12, 13,
+ 14, 15, 16, 17, -1, 19, 20, -1, 22, 23,
+ 24, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 152, -1, -1, 155, -1, -1, 158,
+ -1, 160, 161, 7, 8, 49, 10, 11, 12, 13,
+ 14, 15, 16, 17, -1, 19, 20, -1, 22, 23,
+ 24, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 152, -1, 39, 155, -1, -1, 158,
+ -1, 160, 161, -1, -1, 49, -1, -1, -1, -1,
+ -1, -1, -1, -1, 152, -1, -1, 155, -1, -1,
+ 158, -1, 160, 7, 8, -1, 10, 11, 12, 13,
+ 14, 15, 16, 17, -1, 19, 20, 121, 22, 23,
+ 24, 7, 8, -1, 10, 11, 12, 13, 14, 15,
+ 16, 17, -1, 19, 20, -1, 22, 23, 24, -1,
+ -1, -1, -1, -1, -1, 49, -1, -1, 152, -1,
+ -1, 155, -1, 39, 158, -1, 160, -1, -1, -1,
+ -1, 7, 8, 49, 10, 11, 12, 13, 14, 15,
+ 16, 17, -1, 19, 20, -1, 22, 23, 24, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 152, -1,
+ -1, 155, -1, 39, 158, -1, 160, -1, -1, -1,
+ -1, 7, 8, 49, 10, 11, 12, 13, 14, 15,
+ 16, 17, -1, 19, 20, -1, 22, 23, 24, 7,
8, -1, 10, 11, 12, 13, 14, 15, 16, 17,
- -1, 19, 20, 121, 22, 23, 24, -1, 7, 8,
- -1, 10, 11, 12, 13, 14, 15, 16, 17, -1,
- 19, 20, -1, 22, 23, 24, -1, -1, -1, -1,
- -1, 49, -1, 151, -1, -1, 154, -1, -1, 157,
- 39, 159, -1, -1, -1, -1, -1, -1, 7, 8,
- 49, 10, 11, 12, 13, 14, 15, 16, 17, -1,
- 19, 20, -1, 22, 23, 24, -1, -1, -1, -1,
- -1, -1, -1, 151, -1, -1, 154, -1, -1, 157,
- 39, 159, -1, -1, -1, -1, -1, -1, 7, 8,
- 49, 10, 11, 12, 13, 14, 15, 16, 17, -1,
- 19, 20, -1, 22, 23, 24, 7, 8, -1, 10,
- 11, 12, 13, 14, 15, 16, 17, -1, 19, 20,
- -1, 22, 23, 24, -1, -1, -1, -1, -1, -1,
- 49, -1, -1, 151, -1, -1, 154, -1, 156, 157,
- -1, 159, -1, -1, -1, -1, -1, -1, 49, -1,
- -1, -1, 151, -1, -1, 154, -1, -1, 157, -1,
- 159, 7, 8, -1, 10, 11, 12, 13, 14, 15,
+ -1, 19, 20, -1, 22, 23, 24, -1, -1, -1,
+ -1, -1, -1, 49, -1, -1, -1, -1, 152, -1,
+ -1, 155, -1, 157, 158, -1, 160, -1, -1, -1,
+ -1, 49, -1, -1, -1, -1, 152, -1, -1, 155,
+ -1, -1, 158, -1, 160, 7, 8, -1, 10, 11,
+ 12, 13, 14, 15, 16, 17, -1, 19, 20, -1,
+ 22, 23, 24, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 152, -1, -1, 155,
+ -1, -1, 158, -1, 160, 7, 8, 49, 10, 11,
+ 12, 13, 14, 15, 16, 17, -1, 19, 20, -1,
+ 22, 23, 24, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 152, -1, -1, 155,
+ -1, -1, 158, -1, 160, -1, -1, 49, -1, -1,
+ -1, -1, -1, -1, 152, -1, -1, 155, -1, -1,
+ 158, -1, 160, 7, 8, -1, 10, 11, 12, 13,
+ 14, 15, 16, 17, -1, 19, 20, -1, 22, 23,
+ 24, 7, 8, -1, 10, 11, 12, 13, 14, 15,
+ 16, 17, -1, 19, 20, -1, 22, 23, 24, -1,
+ -1, -1, -1, -1, -1, 49, -1, -1, -1, -1,
+ 152, -1, -1, 155, -1, -1, 158, -1, 160, -1,
+ -1, 7, 8, 49, 10, 11, 12, 13, 14, 15,
16, 17, -1, 19, 20, -1, 22, 23, 24, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 151, -1, -1, 154, -1, -1, 157, -1,
- 159, 7, 8, 49, 10, 11, 12, 13, 14, 15,
+ 152, -1, -1, 155, -1, -1, 158, -1, 160, -1,
+ -1, 7, 8, 49, 10, 11, 12, 13, 14, 15,
16, 17, -1, 19, 20, -1, 22, 23, 24, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 151, -1, -1, 154, -1, -1, 157, -1,
- 159, -1, -1, 49, -1, -1, -1, -1, -1, -1,
- 151, -1, -1, 154, -1, -1, 157, -1, 159, 7,
- 8, -1, 10, 11, 12, 13, 14, 15, 16, 17,
- -1, 19, 20, -1, 22, 23, 24, 7, 8, -1,
- 10, 11, 12, 13, 14, 15, 16, 17, -1, 19,
- 20, -1, 22, 23, 24, -1, -1, -1, -1, -1,
- -1, 49, -1, -1, -1, 151, -1, -1, 154, -1,
- -1, 157, -1, 159, -1, -1, -1, 7, 8, 49,
- 10, 11, 12, 13, 14, 15, 16, 17, -1, 19,
- 20, -1, 22, 23, 24, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 151, -1, -1, 154, -1,
- -1, 157, -1, 159, -1, -1, -1, 7, 8, 49,
- 10, 11, 12, 13, 14, 15, 16, 17, -1, 19,
- 20, -1, 22, 23, 24, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 49,
- 36, -1, -1, 151, -1, -1, 154, -1, -1, 157,
- -1, 159, -1, -1, -1, -1, -1, -1, -1, 55,
- 56, 151, -1, -1, 154, -1, -1, 157, -1, 159,
- -1, 67, 68, 69, 70, 71, 72, 73, 74, 75,
- 76, 77, 78, 79, 80, 81, 82, 83, 84, 85,
- 86, 87, 88, 89, -1, -1, -1, -1, -1, -1,
- -1, 151, -1, -1, 154, -1, -1, 157, -1, 159,
- -1, -1, -1, -1, 110, 111, 112, -1, -1, 115,
- 116, 117, 118, 119, 120, 121, 122, 123, 124, 125,
- 126, 127, 128, 129, 130, 131, 132, 133, 0, -1,
- -1, 151, -1, -1, 154, -1, -1, 157, -1, 159,
- -1, -1, -1, -1, -1, -1, 18, 19, 20, -1,
- 22, 23, 24, -1, -1, -1, -1, -1, 30, 31,
+ -1, -1, -1, 49, 36, -1, -1, -1, 152, -1,
+ -1, 155, -1, -1, 158, -1, 160, -1, -1, -1,
+ -1, -1, -1, 55, 56, -1, 152, -1, -1, 155,
+ -1, -1, 158, -1, 160, 67, 68, 69, 70, 71,
+ 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
+ 82, 83, 84, 85, 86, 87, 88, 89, -1, -1,
+ -1, -1, -1, -1, -1, -1, 152, -1, -1, 155,
+ -1, -1, 158, -1, 160, -1, -1, -1, 110, 111,
+ 112, -1, -1, 115, 116, 117, 118, 119, 120, 121,
+ 122, 123, 124, 125, 126, 127, 128, 129, 130, 131,
+ 132, 133, 0, -1, -1, -1, 152, -1, -1, 155,
+ -1, -1, 158, -1, 160, -1, -1, -1, -1, -1,
+ 18, 19, 20, -1, 22, 23, 24, -1, -1, -1,
+ -1, -1, 30, 31, -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, 51,
- -1, -1, 54, -1, -1, -1, 58
+ -1, -1, -1, 51, -1, -1, 54, -1, -1, -1,
+ 58
};
/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
@@ -2541,66 +2548,67 @@ static const yytype_int16 yycheck[] =
static const yytype_uint8 yystos[] =
{
0, 19, 20, 22, 23, 24, 30, 31, 51, 54,
- 58, 170, 172, 173, 174, 175, 206, 207, 208, 210,
- 209, 52, 66, 215, 148, 57, 148, 18, 148, 42,
- 43, 44, 45, 46, 47, 48, 50, 145, 146, 147,
- 176, 177, 178, 0, 208, 46, 48, 179, 225, 42,
- 43, 44, 47, 180, 222, 224, 231, 148, 148, 154,
- 216, 22, 214, 7, 8, 10, 11, 12, 13, 14,
- 15, 16, 17, 49, 151, 154, 157, 159, 170, 173,
- 193, 194, 228, 178, 178, 35, 37, 204, 178, 178,
- 21, 232, 233, 29, 160, 223, 232, 22, 22, 22,
- 217, 152, 4, 4, 4, 159, 10, 160, 194, 199,
- 150, 152, 204, 204, 42, 44, 181, 32, 33, 203,
- 60, 61, 62, 63, 64, 65, 182, 220, 220, 172,
- 236, 149, 156, 39, 194, 195, 197, 198, 155, 155,
- 160, 199, 149, 160, 198, 203, 203, 10, 121, 194,
- 196, 205, 11, 12, 13, 14, 15, 16, 168, 169,
- 194, 200, 4, 196, 28, 159, 221, 36, 55, 56,
+ 58, 171, 173, 174, 175, 176, 208, 209, 210, 212,
+ 211, 52, 66, 217, 149, 57, 149, 18, 149, 42,
+ 43, 44, 45, 46, 47, 48, 50, 146, 147, 148,
+ 177, 178, 179, 0, 210, 46, 48, 180, 227, 42,
+ 43, 44, 47, 181, 224, 226, 233, 149, 149, 155,
+ 218, 22, 216, 7, 8, 10, 11, 12, 13, 14,
+ 15, 16, 17, 49, 152, 155, 158, 160, 171, 174,
+ 195, 196, 230, 179, 179, 35, 37, 206, 179, 179,
+ 21, 234, 235, 29, 161, 225, 234, 22, 22, 22,
+ 219, 153, 4, 4, 4, 160, 10, 161, 196, 201,
+ 151, 153, 206, 206, 42, 44, 182, 32, 33, 205,
+ 60, 61, 62, 63, 64, 65, 183, 222, 222, 173,
+ 238, 150, 157, 39, 196, 197, 199, 200, 156, 156,
+ 161, 201, 150, 161, 200, 205, 205, 10, 121, 196,
+ 198, 207, 11, 12, 13, 14, 15, 16, 169, 170,
+ 196, 202, 4, 198, 28, 160, 223, 36, 55, 56,
67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
77, 78, 79, 80, 81, 82, 83, 84, 85, 86,
87, 88, 89, 110, 111, 112, 115, 116, 117, 118,
119, 120, 121, 122, 123, 124, 125, 126, 127, 128,
- 129, 130, 131, 132, 133, 163, 164, 165, 234, 240,
- 241, 242, 243, 22, 184, 149, 153, 194, 194, 158,
- 160, 194, 153, 200, 194, 152, 228, 26, 27, 3,
+ 129, 130, 131, 132, 133, 164, 165, 166, 236, 242,
+ 243, 244, 245, 22, 185, 150, 154, 196, 196, 159,
+ 161, 196, 154, 202, 196, 153, 230, 26, 27, 3,
4, 5, 6, 9, 25, 40, 41, 88, 89, 115,
- 129, 131, 132, 133, 154, 157, 159, 161, 163, 164,
- 165, 201, 228, 211, 173, 55, 10, 194, 230, 11,
- 17, 11, 168, 182, 90, 91, 92, 93, 94, 95,
- 96, 97, 98, 99, 166, 26, 27, 96, 97, 98,
+ 129, 131, 132, 133, 155, 158, 160, 162, 164, 165,
+ 166, 203, 230, 213, 174, 55, 10, 196, 232, 11,
+ 17, 11, 169, 183, 90, 91, 92, 93, 94, 95,
+ 96, 97, 98, 99, 167, 26, 27, 96, 97, 98,
99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
- 109, 167, 194, 194, 230, 194, 194, 237, 230, 230,
- 230, 230, 230, 194, 194, 230, 182, 113, 114, 117,
- 118, 134, 135, 137, 138, 140, 141, 142, 183, 39,
- 195, 186, 156, 158, 158, 186, 212, 213, 205, 166,
- 167, 152, 152, 152, 152, 152, 156, 200, 202, 159,
- 202, 160, 202, 22, 152, 152, 152, 149, 191, 152,
- 3, 4, 9, 25, 26, 27, 40, 41, 57, 157,
- 201, 227, 228, 229, 229, 229, 229, 196, 194, 194,
- 149, 188, 149, 188, 229, 154, 149, 149, 149, 149,
- 149, 149, 229, 229, 38, 196, 194, 230, 134, 135,
- 136, 139, 143, 144, 185, 191, 191, 38, 152, 152,
- 200, 200, 200, 200, 200, 149, 156, 160, 194, 202,
- 158, 160, 200, 200, 200, 34, 53, 189, 192, 39,
- 194, 218, 219, 59, 226, 202, 149, 149, 229, 229,
- 229, 11, 53, 11, 239, 229, 154, 230, 194, 230,
- 230, 230, 149, 149, 194, 229, 229, 149, 194, 200,
- 200, 239, 149, 149, 149, 149, 200, 158, 160, 149,
- 149, 38, 22, 4, 191, 184, 149, 153, 22, 158,
- 17, 17, 152, 149, 149, 229, 4, 229, 149, 149,
- 229, 149, 149, 149, 229, 229, 152, 149, 188, 194,
- 153, 149, 149, 153, 200, 200, 200, 200, 158, 200,
- 200, 194, 170, 171, 39, 194, 186, 149, 229, 229,
- 17, 194, 238, 229, 229, 188, 188, 230, 229, 149,
- 230, 230, 230, 238, 229, 200, 200, 149, 153, 149,
- 149, 153, 153, 153, 184, 189, 190, 22, 149, 154,
- 184, 184, 149, 153, 156, 229, 153, 188, 153, 153,
- 200, 200, 200, 171, 53, 187, 17, 156, 168, 235,
- 117, 118, 229, 229, 17, 194, 186, 156, 186, 153,
- 153, 153, 4, 229, 227, 156, 168, 184, 184, 184,
- 184, 38, 149, 227, 229, 229, 17, 17, 149, 184,
- 184, 229, 229, 17, 71, 229, 17, 229
+ 109, 168, 196, 196, 232, 196, 196, 239, 232, 232,
+ 232, 232, 232, 196, 196, 232, 183, 113, 114, 117,
+ 118, 134, 135, 137, 138, 140, 141, 142, 184, 39,
+ 197, 187, 157, 159, 159, 187, 214, 215, 207, 167,
+ 168, 153, 153, 153, 153, 153, 157, 202, 204, 160,
+ 204, 161, 204, 22, 153, 153, 153, 150, 193, 153,
+ 3, 4, 9, 25, 26, 27, 40, 41, 57, 158,
+ 203, 229, 230, 231, 231, 231, 231, 198, 196, 196,
+ 150, 190, 150, 190, 231, 155, 150, 150, 150, 150,
+ 150, 150, 231, 231, 38, 198, 196, 232, 134, 135,
+ 136, 139, 143, 144, 186, 193, 193, 38, 153, 153,
+ 202, 202, 202, 202, 202, 150, 157, 161, 196, 204,
+ 159, 161, 202, 202, 202, 34, 53, 191, 194, 39,
+ 196, 220, 221, 59, 228, 204, 150, 150, 231, 231,
+ 231, 11, 53, 11, 241, 231, 155, 232, 196, 232,
+ 232, 232, 150, 150, 196, 231, 231, 150, 196, 202,
+ 202, 241, 150, 150, 150, 150, 202, 159, 161, 150,
+ 150, 38, 22, 4, 193, 185, 150, 154, 22, 159,
+ 17, 17, 153, 150, 150, 231, 4, 231, 150, 150,
+ 231, 150, 150, 150, 231, 231, 153, 150, 190, 196,
+ 154, 150, 150, 154, 202, 202, 202, 202, 159, 202,
+ 202, 196, 171, 172, 39, 196, 187, 150, 231, 231,
+ 17, 196, 240, 231, 231, 190, 190, 232, 231, 150,
+ 232, 232, 232, 240, 231, 202, 202, 150, 154, 150,
+ 150, 154, 154, 154, 185, 191, 192, 22, 150, 155,
+ 185, 185, 150, 154, 157, 231, 154, 190, 154, 154,
+ 202, 202, 202, 172, 53, 189, 17, 157, 169, 237,
+ 117, 118, 231, 231, 17, 196, 187, 157, 187, 154,
+ 154, 154, 4, 145, 188, 231, 229, 157, 169, 185,
+ 185, 185, 185, 38, 22, 150, 229, 231, 231, 17,
+ 17, 150, 185, 185, 231, 231, 17, 71, 231, 17,
+ 231
};
#define yyerrok (yyerrstatus = 0)
@@ -2674,7 +2682,7 @@ while (YYID (0))
we won't break user code: when these are the locations we know. */
#ifndef YY_LOCATION_PRINT
-# if YYLTYPE_IS_TRIVIAL
+# if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL
# define YY_LOCATION_PRINT(File, Loc) \
fprintf (File, "%d.%d-%d.%d", \
(Loc).first_line, (Loc).first_column, \
@@ -3415,142 +3423,142 @@ yyreduce:
switch (yyn)
{
case 29:
-#line 1111 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+#line 1111 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.IPredicate) = ICmpInst::ICMP_EQ; ;}
break;
case 30:
-#line 1111 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+#line 1111 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.IPredicate) = ICmpInst::ICMP_NE; ;}
break;
case 31:
-#line 1112 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+#line 1112 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.IPredicate) = ICmpInst::ICMP_SLT; ;}
break;
case 32:
-#line 1112 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+#line 1112 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.IPredicate) = ICmpInst::ICMP_SGT; ;}
break;
case 33:
-#line 1113 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+#line 1113 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.IPredicate) = ICmpInst::ICMP_SLE; ;}
break;
case 34:
-#line 1113 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+#line 1113 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.IPredicate) = ICmpInst::ICMP_SGE; ;}
break;
case 35:
-#line 1114 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+#line 1114 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.IPredicate) = ICmpInst::ICMP_ULT; ;}
break;
case 36:
-#line 1114 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+#line 1114 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.IPredicate) = ICmpInst::ICMP_UGT; ;}
break;
case 37:
-#line 1115 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+#line 1115 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.IPredicate) = ICmpInst::ICMP_ULE; ;}
break;
case 38:
-#line 1115 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+#line 1115 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.IPredicate) = ICmpInst::ICMP_UGE; ;}
break;
case 39:
-#line 1119 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+#line 1119 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.FPredicate) = FCmpInst::FCMP_OEQ; ;}
break;
case 40:
-#line 1119 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+#line 1119 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.FPredicate) = FCmpInst::FCMP_ONE; ;}
break;
case 41:
-#line 1120 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+#line 1120 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.FPredicate) = FCmpInst::FCMP_OLT; ;}
break;
case 42:
-#line 1120 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+#line 1120 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.FPredicate) = FCmpInst::FCMP_OGT; ;}
break;
case 43:
-#line 1121 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+#line 1121 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.FPredicate) = FCmpInst::FCMP_OLE; ;}
break;
case 44:
-#line 1121 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+#line 1121 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.FPredicate) = FCmpInst::FCMP_OGE; ;}
break;
case 45:
-#line 1122 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+#line 1122 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.FPredicate) = FCmpInst::FCMP_ORD; ;}
break;
case 46:
-#line 1122 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+#line 1122 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.FPredicate) = FCmpInst::FCMP_UNO; ;}
break;
case 47:
-#line 1123 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+#line 1123 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.FPredicate) = FCmpInst::FCMP_UEQ; ;}
break;
case 48:
-#line 1123 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+#line 1123 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.FPredicate) = FCmpInst::FCMP_UNE; ;}
break;
case 49:
-#line 1124 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+#line 1124 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.FPredicate) = FCmpInst::FCMP_ULT; ;}
break;
case 50:
-#line 1124 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+#line 1124 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.FPredicate) = FCmpInst::FCMP_UGT; ;}
break;
case 51:
-#line 1125 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+#line 1125 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.FPredicate) = FCmpInst::FCMP_ULE; ;}
break;
case 52:
-#line 1125 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+#line 1125 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.FPredicate) = FCmpInst::FCMP_UGE; ;}
break;
case 53:
-#line 1126 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+#line 1126 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.FPredicate) = FCmpInst::FCMP_TRUE; ;}
break;
case 54:
-#line 1127 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+#line 1127 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.FPredicate) = FCmpInst::FCMP_FALSE; ;}
break;
case 65:
-#line 1136 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+#line 1136 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.StrVal) = 0; ;}
break;
case 66:
-#line 1140 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+#line 1140 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.StrVal) = (yyvsp[(1) - (2)].StrVal);
CHECK_FOR_ERROR
@@ -3558,7 +3566,7 @@ yyreduce:
break;
case 67:
-#line 1144 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+#line 1144 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.StrVal) = 0;
CHECK_FOR_ERROR
@@ -3566,7 +3574,7 @@ yyreduce:
break;
case 71:
-#line 1152 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+#line 1152 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.StrVal) = 0;
CHECK_FOR_ERROR
@@ -3574,7 +3582,7 @@ yyreduce:
break;
case 72:
-#line 1157 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+#line 1157 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.StrVal) = (yyvsp[(1) - (2)].StrVal);
CHECK_FOR_ERROR
@@ -3582,152 +3590,152 @@ yyreduce:
break;
case 73:
-#line 1163 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+#line 1163 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.Linkage) = GlobalValue::InternalLinkage; ;}
break;
case 74:
-#line 1164 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+#line 1164 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.Linkage) = GlobalValue::WeakLinkage; ;}
break;
case 75:
-#line 1165 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+#line 1165 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.Linkage) = GlobalValue::LinkOnceLinkage; ;}
break;
case 76:
-#line 1166 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+#line 1166 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.Linkage) = GlobalValue::AppendingLinkage; ;}
break;
case 77:
-#line 1167 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+#line 1167 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.Linkage) = GlobalValue::DLLExportLinkage; ;}
break;
case 78:
-#line 1171 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+#line 1171 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.Linkage) = GlobalValue::DLLImportLinkage; ;}
break;
case 79:
-#line 1172 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+#line 1172 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.Linkage) = GlobalValue::ExternalWeakLinkage; ;}
break;
case 80:
-#line 1173 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+#line 1173 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.Linkage) = GlobalValue::ExternalLinkage; ;}
break;
case 81:
-#line 1177 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+#line 1177 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.Visibility) = GlobalValue::DefaultVisibility; ;}
break;
case 82:
-#line 1178 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+#line 1178 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.Visibility) = GlobalValue::DefaultVisibility; ;}
break;
case 83:
-#line 1179 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+#line 1179 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.Visibility) = GlobalValue::HiddenVisibility; ;}
break;
case 84:
-#line 1180 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+#line 1180 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.Visibility) = GlobalValue::ProtectedVisibility; ;}
break;
case 85:
-#line 1184 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+#line 1184 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.Linkage) = GlobalValue::ExternalLinkage; ;}
break;
case 86:
-#line 1185 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+#line 1185 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.Linkage) = GlobalValue::DLLImportLinkage; ;}
break;
case 87:
-#line 1186 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+#line 1186 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.Linkage) = GlobalValue::ExternalWeakLinkage; ;}
break;
case 88:
-#line 1190 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+#line 1190 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.Linkage) = GlobalValue::ExternalLinkage; ;}
break;
case 89:
-#line 1191 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+#line 1191 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.Linkage) = GlobalValue::InternalLinkage; ;}
break;
case 90:
-#line 1192 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+#line 1192 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.Linkage) = GlobalValue::LinkOnceLinkage; ;}
break;
case 91:
-#line 1193 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+#line 1193 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.Linkage) = GlobalValue::WeakLinkage; ;}
break;
case 92:
-#line 1194 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+#line 1194 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.Linkage) = GlobalValue::DLLExportLinkage; ;}
break;
case 93:
-#line 1198 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+#line 1198 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.Linkage) = GlobalValue::ExternalLinkage; ;}
break;
case 94:
-#line 1199 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+#line 1199 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.Linkage) = GlobalValue::WeakLinkage; ;}
break;
case 95:
-#line 1200 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+#line 1200 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.Linkage) = GlobalValue::InternalLinkage; ;}
break;
case 96:
-#line 1203 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+#line 1203 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.UIntVal) = CallingConv::C; ;}
break;
case 97:
-#line 1204 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+#line 1204 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.UIntVal) = CallingConv::C; ;}
break;
case 98:
-#line 1205 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+#line 1205 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.UIntVal) = CallingConv::Fast; ;}
break;
case 99:
-#line 1206 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+#line 1206 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.UIntVal) = CallingConv::Cold; ;}
break;
case 100:
-#line 1207 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+#line 1207 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.UIntVal) = CallingConv::X86_StdCall; ;}
break;
case 101:
-#line 1208 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+#line 1208 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.UIntVal) = CallingConv::X86_FastCall; ;}
break;
case 102:
-#line 1209 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+#line 1209 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{
if ((unsigned)(yyvsp[(2) - (2)].UInt64Val) != (yyvsp[(2) - (2)].UInt64Val))
GEN_ERROR("Calling conv too large");
@@ -3737,111 +3745,123 @@ yyreduce:
break;
case 103:
-#line 1216 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+#line 1216 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.ParamAttrs) = ParamAttr::ZExt; ;}
break;
case 104:
-#line 1217 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+#line 1217 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.ParamAttrs) = ParamAttr::ZExt; ;}
break;
case 105:
-#line 1218 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+#line 1218 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.ParamAttrs) = ParamAttr::SExt; ;}
break;
case 106:
-#line 1219 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+#line 1219 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.ParamAttrs) = ParamAttr::SExt; ;}
break;
case 107:
-#line 1220 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+#line 1220 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.ParamAttrs) = ParamAttr::InReg; ;}
break;
case 108:
-#line 1221 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+#line 1221 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.ParamAttrs) = ParamAttr::StructRet; ;}
break;
case 109:
-#line 1222 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+#line 1222 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.ParamAttrs) = ParamAttr::NoAlias; ;}
break;
case 110:
-#line 1223 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+#line 1223 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.ParamAttrs) = ParamAttr::ByVal; ;}
break;
case 111:
-#line 1224 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+#line 1224 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.ParamAttrs) = ParamAttr::Nest; ;}
break;
case 112:
-#line 1227 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+#line 1227 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.ParamAttrs) = ParamAttr::None; ;}
break;
case 113:
-#line 1228 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+#line 1228 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.ParamAttrs) = (yyvsp[(1) - (2)].ParamAttrs) | (yyvsp[(2) - (2)].ParamAttrs);
;}
break;
case 114:
-#line 1233 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+#line 1233 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.ParamAttrs) = ParamAttr::NoReturn; ;}
break;
case 115:
-#line 1234 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+#line 1234 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.ParamAttrs) = ParamAttr::NoUnwind; ;}
break;
case 116:
-#line 1235 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+#line 1235 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.ParamAttrs) = ParamAttr::ZExt; ;}
break;
case 117:
-#line 1236 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+#line 1236 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.ParamAttrs) = ParamAttr::SExt; ;}
break;
case 118:
-#line 1237 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+#line 1237 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.ParamAttrs) = ParamAttr::ReadNone; ;}
break;
case 119:
-#line 1238 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+#line 1238 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.ParamAttrs) = ParamAttr::ReadOnly; ;}
break;
case 120:
-#line 1241 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+#line 1241 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.ParamAttrs) = ParamAttr::None; ;}
break;
case 121:
-#line 1242 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+#line 1242 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.ParamAttrs) = (yyvsp[(1) - (2)].ParamAttrs) | (yyvsp[(2) - (2)].ParamAttrs);
;}
break;
case 122:
-#line 1249 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
- { (yyval.UIntVal) = 0; ;}
+#line 1247 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
+ { (yyval.StrVal) = 0; ;}
break;
case 123:
-#line 1250 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+#line 1248 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
+ {
+ (yyval.StrVal) = (yyvsp[(2) - (2)].StrVal);
+ ;}
+ break;
+
+ case 124:
+#line 1255 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
+ { (yyval.UIntVal) = 0; ;}
+ break;
+
+ case 125:
+#line 1256 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.UIntVal) = (yyvsp[(2) - (2)].UInt64Val);
if ((yyval.UIntVal) != 0 && !isPowerOf2_32((yyval.UIntVal)))
@@ -3850,13 +3870,13 @@ yyreduce:
;}
break;
- case 124:
-#line 1256 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+ case 126:
+#line 1262 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.UIntVal) = 0; ;}
break;
- case 125:
-#line 1257 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+ case 127:
+#line 1263 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.UIntVal) = (yyvsp[(3) - (3)].UInt64Val);
if ((yyval.UIntVal) != 0 && !isPowerOf2_32((yyval.UIntVal)))
@@ -3865,8 +3885,8 @@ yyreduce:
;}
break;
- case 126:
-#line 1265 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+ case 128:
+#line 1271 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{
for (unsigned i = 0, e = (yyvsp[(2) - (2)].StrVal)->length(); i != e; ++i)
if ((*(yyvsp[(2) - (2)].StrVal))[i] == '"' || (*(yyvsp[(2) - (2)].StrVal))[i] == '\\')
@@ -3876,28 +3896,28 @@ yyreduce:
;}
break;
- case 127:
-#line 1273 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+ case 129:
+#line 1279 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.StrVal) = 0; ;}
break;
- case 128:
-#line 1274 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+ case 130:
+#line 1280 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.StrVal) = (yyvsp[(1) - (1)].StrVal); ;}
break;
- case 129:
-#line 1279 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+ case 131:
+#line 1285 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{;}
break;
- case 130:
-#line 1280 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+ case 132:
+#line 1286 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{;}
break;
- case 131:
-#line 1281 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+ case 133:
+#line 1287 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{
CurGV->setSection(*(yyvsp[(1) - (1)].StrVal));
delete (yyvsp[(1) - (1)].StrVal);
@@ -3905,8 +3925,8 @@ yyreduce:
;}
break;
- case 132:
-#line 1286 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+ case 134:
+#line 1292 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{
if ((yyvsp[(2) - (2)].UInt64Val) != 0 && !isPowerOf2_32((yyvsp[(2) - (2)].UInt64Val)))
GEN_ERROR("Alignment must be a power of two");
@@ -3915,24 +3935,24 @@ yyreduce:
;}
break;
- case 140:
-#line 1302 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+ case 142:
+#line 1308 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.TypeVal) = new PATypeHolder(OpaqueType::get());
CHECK_FOR_ERROR
;}
break;
- case 141:
-#line 1306 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+ case 143:
+#line 1312 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.TypeVal) = new PATypeHolder((yyvsp[(1) - (1)].PrimType));
CHECK_FOR_ERROR
;}
break;
- case 142:
-#line 1310 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+ case 144:
+#line 1316 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{ // Pointer type?
if (*(yyvsp[(1) - (2)].TypeVal) == Type::LabelTy)
GEN_ERROR("Cannot form a pointer to a basic block");
@@ -3942,8 +3962,8 @@ yyreduce:
;}
break;
- case 143:
-#line 1317 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+ case 145:
+#line 1323 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{ // Named types are also simple types...
const Type* tmp = getTypeVal((yyvsp[(1) - (1)].ValIDVal));
CHECK_FOR_ERROR
@@ -3951,8 +3971,8 @@ yyreduce:
;}
break;
- case 144:
-#line 1322 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+ case 146:
+#line 1328 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{ // Type UpReference
if ((yyvsp[(2) - (2)].UInt64Val) > (uint64_t)~0U) GEN_ERROR("Value out of range");
OpaqueType *OT = OpaqueType::get(); // Use temporary placeholder
@@ -3963,8 +3983,8 @@ yyreduce:
;}
break;
- case 145:
-#line 1330 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+ case 147:
+#line 1336 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{
// Allow but ignore attributes on function types; this permits auto-upgrade.
// FIXME: remove in LLVM 3.0.
@@ -3997,8 +4017,8 @@ yyreduce:
;}
break;
- case 146:
-#line 1360 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+ case 148:
+#line 1366 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{
// Allow but ignore attributes on function types; this permits auto-upgrade.
// FIXME: remove in LLVM 3.0.
@@ -4025,8 +4045,8 @@ yyreduce:
;}
break;
- case 147:
-#line 1385 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+ case 149:
+#line 1391 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{ // Sized array type?
(yyval.TypeVal) = new PATypeHolder(HandleUpRefs(ArrayType::get(*(yyvsp[(4) - (5)].TypeVal), (unsigned)(yyvsp[(2) - (5)].UInt64Val))));
delete (yyvsp[(4) - (5)].TypeVal);
@@ -4034,8 +4054,8 @@ yyreduce:
;}
break;
- case 148:
-#line 1390 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+ case 150:
+#line 1396 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{ // Vector type?
const llvm::Type* ElemTy = (yyvsp[(4) - (5)].TypeVal)->get();
if ((unsigned)(yyvsp[(2) - (5)].UInt64Val) != (yyvsp[(2) - (5)].UInt64Val))
@@ -4048,8 +4068,8 @@ yyreduce:
;}
break;
- case 149:
-#line 1400 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+ case 151:
+#line 1406 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{ // Structure type?
std::vector Elements;
for (std::list::iterator I = (yyvsp[(2) - (3)].TypeList)->begin(),
@@ -4062,16 +4082,16 @@ yyreduce:
;}
break;
- case 150:
-#line 1410 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+ case 152:
+#line 1416 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{ // Empty structure type?
(yyval.TypeVal) = new PATypeHolder(StructType::get(std::vector()));
CHECK_FOR_ERROR
;}
break;
- case 151:
-#line 1414 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+ case 153:
+#line 1420 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{
std::vector Elements;
for (std::list::iterator I = (yyvsp[(3) - (5)].TypeList)->begin(),
@@ -4084,16 +4104,16 @@ yyreduce:
;}
break;
- case 152:
-#line 1424 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+ case 154:
+#line 1430 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{ // Empty structure type?
(yyval.TypeVal) = new PATypeHolder(StructType::get(std::vector(), true));
CHECK_FOR_ERROR
;}
break;
- case 153:
-#line 1431 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+ case 155:
+#line 1437 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{
// Allow but ignore attributes on function types; this permits auto-upgrade.
// FIXME: remove in LLVM 3.0.
@@ -4102,8 +4122,8 @@ yyreduce:
;}
break;
- case 154:
-#line 1440 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+ case 156:
+#line 1446 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (1)].TypeVal))->getDescription());
@@ -4113,15 +4133,15 @@ yyreduce:
;}
break;
- case 155:
-#line 1447 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+ case 157:
+#line 1453 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.TypeVal) = new PATypeHolder(Type::VoidTy);
;}
break;
- case 156:
-#line 1452 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+ case 158:
+#line 1458 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.TypeWithAttrsList) = new TypeWithAttrsList();
(yyval.TypeWithAttrsList)->push_back((yyvsp[(1) - (1)].TypeWithAttrs));
@@ -4129,16 +4149,16 @@ yyreduce:
;}
break;
- case 157:
-#line 1457 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+ case 159:
+#line 1463 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{
((yyval.TypeWithAttrsList)=(yyvsp[(1) - (3)].TypeWithAttrsList))->push_back((yyvsp[(3) - (3)].TypeWithAttrs));
CHECK_FOR_ERROR
;}
break;
- case 159:
-#line 1465 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+ case 161:
+#line 1471 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.TypeWithAttrsList)=(yyvsp[(1) - (3)].TypeWithAttrsList);
TypeWithAttrs TWA; TWA.Attrs = ParamAttr::None;
@@ -4148,8 +4168,8 @@ yyreduce:
;}
break;
- case 160:
-#line 1472 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+ case 162:
+#line 1478 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.TypeWithAttrsList) = new TypeWithAttrsList;
TypeWithAttrs TWA; TWA.Attrs = ParamAttr::None;
@@ -4159,16 +4179,16 @@ yyreduce:
;}
break;
- case 161:
-#line 1479 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+ case 163:
+#line 1485 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.TypeWithAttrsList) = new TypeWithAttrsList();
CHECK_FOR_ERROR
;}
break;
- case 162:
-#line 1487 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+ case 164:
+#line 1493 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.TypeList) = new std::list();
(yyval.TypeList)->push_back(*(yyvsp[(1) - (1)].TypeVal));
@@ -4177,8 +4197,8 @@ yyreduce:
;}
break;
- case 163:
-#line 1493 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+ case 165:
+#line 1499 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{
((yyval.TypeList)=(yyvsp[(1) - (3)].TypeList))->push_back(*(yyvsp[(3) - (3)].TypeVal));
delete (yyvsp[(3) - (3)].TypeVal);
@@ -4186,8 +4206,8 @@ yyreduce:
;}
break;
- case 164:
-#line 1505 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+ case 166:
+#line 1511 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{ // Nonempty unsized arr
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (4)].TypeVal))->getDescription());
@@ -4218,8 +4238,8 @@ yyreduce:
;}
break;
- case 165:
-#line 1533 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+ case 167:
+#line 1539 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (3)].TypeVal))->getDescription());
@@ -4238,8 +4258,8 @@ yyreduce:
;}
break;
- case 166:
-#line 1549 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+ case 168:
+#line 1555 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (3)].TypeVal))->getDescription());
@@ -4269,8 +4289,8 @@ yyreduce:
;}
break;
- case 167:
-#line 1576 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+ case 169:
+#line 1582 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{ // Nonempty unsized arr
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (4)].TypeVal))->getDescription());
@@ -4301,8 +4321,8 @@ yyreduce:
;}
break;
- case 168:
-#line 1604 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+ case 170:
+#line 1610 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{
const StructType *STy = dyn_cast((yyvsp[(1) - (4)].TypeVal)->get());
if (STy == 0)
@@ -4331,8 +4351,8 @@ yyreduce:
;}
break;
- case 169:
-#line 1630 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+ case 171:
+#line 1636 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (3)].TypeVal))->getDescription());
@@ -4355,8 +4375,8 @@ yyreduce:
;}
break;
- case 170:
-#line 1650 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+ case 172:
+#line 1656 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{
const StructType *STy = dyn_cast((yyvsp[(1) - (6)].TypeVal)->get());
if (STy == 0)
@@ -4385,8 +4405,8 @@ yyreduce:
;}
break;
- case 171:
-#line 1676 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+ case 173:
+#line 1682 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (5)].TypeVal))->getDescription());
@@ -4409,8 +4429,8 @@ yyreduce:
;}
break;
- case 172:
-#line 1696 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+ case 174:
+#line 1702 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (2)].TypeVal))->getDescription());
@@ -4425,8 +4445,8 @@ yyreduce:
;}
break;
- case 173:
-#line 1708 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+ case 175:
+#line 1714 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (2)].TypeVal))->getDescription());
@@ -4436,8 +4456,8 @@ yyreduce:
;}
break;
- case 174:
-#line 1715 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+ case 176:
+#line 1721 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (2)].TypeVal))->getDescription());
@@ -4506,8 +4526,8 @@ yyreduce:
;}
break;
- case 175:
-#line 1781 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+ case 177:
+#line 1787 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (2)].TypeVal))->getDescription());
@@ -4520,8 +4540,8 @@ yyreduce:
;}
break;
- case 176:
-#line 1791 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+ case 178:
+#line 1797 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (2)].TypeVal))->getDescription());
@@ -4534,8 +4554,8 @@ yyreduce:
;}
break;
- case 177:
-#line 1801 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+ case 179:
+#line 1807 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{ // integral constants
if (!ConstantInt::isValueValidForType((yyvsp[(1) - (2)].PrimType), (yyvsp[(2) - (2)].SInt64Val)))
GEN_ERROR("Constant value doesn't fit in type");
@@ -4544,8 +4564,8 @@ yyreduce:
;}
break;
- case 178:
-#line 1807 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+ case 180:
+#line 1813 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{ // arbitrary precision integer constants
uint32_t BitWidth = cast((yyvsp[(1) - (2)].PrimType))->getBitWidth();
if ((yyvsp[(2) - (2)].APIntVal)->getBitWidth() > BitWidth) {
@@ -4558,8 +4578,8 @@ yyreduce:
;}
break;
- case 179:
-#line 1817 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+ case 181:
+#line 1823 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{ // integral constants
if (!ConstantInt::isValueValidForType((yyvsp[(1) - (2)].PrimType), (yyvsp[(2) - (2)].UInt64Val)))
GEN_ERROR("Constant value doesn't fit in type");
@@ -4568,8 +4588,8 @@ yyreduce:
;}
break;
- case 180:
-#line 1823 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+ case 182:
+#line 1829 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{ // arbitrary precision integer constants
uint32_t BitWidth = cast((yyvsp[(1) - (2)].PrimType))->getBitWidth();
if ((yyvsp[(2) - (2)].APIntVal)->getBitWidth() > BitWidth) {
@@ -4582,8 +4602,8 @@ yyreduce:
;}
break;
- case 181:
-#line 1833 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+ case 183:
+#line 1839 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{ // Boolean constants
assert(cast((yyvsp[(1) - (2)].PrimType))->getBitWidth() == 1 && "Not Bool?");
(yyval.ConstVal) = ConstantInt::getTrue();
@@ -4591,8 +4611,8 @@ yyreduce:
;}
break;
- case 182:
-#line 1838 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+ case 184:
+#line 1844 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{ // Boolean constants
assert(cast((yyvsp[(1) - (2)].PrimType))->getBitWidth() == 1 && "Not Bool?");
(yyval.ConstVal) = ConstantInt::getFalse();
@@ -4600,8 +4620,8 @@ yyreduce:
;}
break;
- case 183:
-#line 1843 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+ case 185:
+#line 1849 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{ // Floating point constants
if (!ConstantFP::isValueValidForType((yyvsp[(1) - (2)].PrimType), *(yyvsp[(2) - (2)].FPVal)))
GEN_ERROR("Floating point constant invalid for type");
@@ -4615,8 +4635,8 @@ yyreduce:
;}
break;
- case 184:
-#line 1856 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+ case 186:
+#line 1862 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(5) - (6)].TypeVal))->getDescription());
@@ -4631,8 +4651,8 @@ yyreduce:
;}
break;
- case 185:
-#line 1868 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+ case 187:
+#line 1874 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!isa((yyvsp[(3) - (5)].ConstVal)->getType()))
GEN_ERROR("GetElementPtr requires a pointer operand");
@@ -4657,8 +4677,8 @@ yyreduce:
;}
break;
- case 186:
-#line 1890 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+ case 188:
+#line 1896 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{
if ((yyvsp[(3) - (8)].ConstVal)->getType() != Type::Int1Ty)
GEN_ERROR("Select condition must be of boolean type");
@@ -4669,8 +4689,8 @@ yyreduce:
;}
break;
- case 187:
-#line 1898 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+ case 189:
+#line 1904 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{
if ((yyvsp[(3) - (6)].ConstVal)->getType() != (yyvsp[(5) - (6)].ConstVal)->getType())
GEN_ERROR("Binary operator types must match");
@@ -4679,8 +4699,8 @@ yyreduce:
;}
break;
- case 188:
-#line 1904 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+ case 190:
+#line 1910 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{
if ((yyvsp[(3) - (6)].ConstVal)->getType() != (yyvsp[(5) - (6)].ConstVal)->getType())
GEN_ERROR("Logical operator types must match");
@@ -4694,8 +4714,8 @@ yyreduce:
;}
break;
- case 189:
-#line 1915 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+ case 191:
+#line 1921 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{
if ((yyvsp[(4) - (7)].ConstVal)->getType() != (yyvsp[(6) - (7)].ConstVal)->getType())
GEN_ERROR("icmp operand types must match");
@@ -4703,8 +4723,8 @@ yyreduce:
;}
break;
- case 190:
-#line 1920 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+ case 192:
+#line 1926 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{
if ((yyvsp[(4) - (7)].ConstVal)->getType() != (yyvsp[(6) - (7)].ConstVal)->getType())
GEN_ERROR("fcmp operand types must match");
@@ -4712,8 +4732,8 @@ yyreduce:
;}
break;
- case 191:
-#line 1925 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+ case 193:
+#line 1931 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!ExtractElementInst::isValidOperands((yyvsp[(3) - (6)].ConstVal), (yyvsp[(5) - (6)].ConstVal)))
GEN_ERROR("Invalid extractelement operands");
@@ -4722,8 +4742,8 @@ yyreduce:
;}
break;
- case 192:
-#line 1931 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+ case 194:
+#line 1937 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!InsertElementInst::isValidOperands((yyvsp[(3) - (8)].ConstVal), (yyvsp[(5) - (8)].ConstVal), (yyvsp[(7) - (8)].ConstVal)))
GEN_ERROR("Invalid insertelement operands");
@@ -4732,8 +4752,8 @@ yyreduce:
;}
break;
- case 193:
-#line 1937 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+ case 195:
+#line 1943 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!ShuffleVectorInst::isValidOperands((yyvsp[(3) - (8)].ConstVal), (yyvsp[(5) - (8)].ConstVal), (yyvsp[(7) - (8)].ConstVal)))
GEN_ERROR("Invalid shufflevector operands");
@@ -4742,16 +4762,16 @@ yyreduce:
;}
break;
- case 194:
-#line 1946 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+ case 196:
+#line 1952 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{
((yyval.ConstVector) = (yyvsp[(1) - (3)].ConstVector))->push_back((yyvsp[(3) - (3)].ConstVal));
CHECK_FOR_ERROR
;}
break;
- case 195:
-#line 1950 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+ case 197:
+#line 1956 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.ConstVector) = new std::vector();
(yyval.ConstVector)->push_back((yyvsp[(1) - (1)].ConstVal));
@@ -4759,28 +4779,28 @@ yyreduce:
;}
break;
- case 196:
-#line 1958 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+ case 198:
+#line 1964 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.BoolVal) = false; ;}
break;
- case 197:
-#line 1958 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+ case 199:
+#line 1964 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.BoolVal) = true; ;}
break;
- case 198:
-#line 1961 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+ case 200:
+#line 1967 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.BoolVal) = true; ;}
break;
- case 199:
-#line 1961 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+ case 201:
+#line 1967 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.BoolVal) = false; ;}
break;
- case 200:
-#line 1964 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+ case 202:
+#line 1970 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{
const Type* VTy = (yyvsp[(1) - (2)].TypeVal)->get();
Value *V = getVal(VTy, (yyvsp[(2) - (2)].ValIDVal));
@@ -4795,8 +4815,8 @@ yyreduce:
;}
break;
- case 201:
-#line 1976 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+ case 203:
+#line 1982 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{
Constant *Val = (yyvsp[(3) - (6)].ConstVal);
const Type *DestTy = (yyvsp[(5) - (6)].TypeVal)->get();
@@ -4811,8 +4831,8 @@ yyreduce:
;}
break;
- case 202:
-#line 1997 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+ case 204:
+#line 2003 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.ModuleVal) = ParserResult = CurModule.CurrentModule;
CurModule.ModuleDone();
@@ -4820,8 +4840,8 @@ yyreduce:
;}
break;
- case 203:
-#line 2002 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+ case 205:
+#line 2008 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.ModuleVal) = ParserResult = CurModule.CurrentModule;
CurModule.ModuleDone();
@@ -4829,40 +4849,40 @@ yyreduce:
;}
break;
- case 206:
-#line 2015 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+ case 208:
+#line 2021 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{ CurFun.isDeclare = false; ;}
break;
- case 207:
-#line 2015 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+ case 209:
+#line 2021 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{
CurFun.FunctionDone();
CHECK_FOR_ERROR
;}
break;
- case 208:
-#line 2019 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+ case 210:
+#line 2025 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{ CurFun.isDeclare = true; ;}
break;
- case 209:
-#line 2019 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+ case 211:
+#line 2025 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{
CHECK_FOR_ERROR
;}
break;
- case 210:
-#line 2022 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+ case 212:
+#line 2028 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{
CHECK_FOR_ERROR
;}
break;
- case 211:
-#line 2025 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+ case 213:
+#line 2031 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(3) - (3)].TypeVal))->getDescription());
@@ -4889,8 +4909,8 @@ yyreduce:
;}
break;
- case 212:
-#line 2049 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+ case 214:
+#line 2055 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{
ResolveTypeTo((yyvsp[(1) - (3)].StrVal), (yyvsp[(3) - (3)].PrimType));
@@ -4904,8 +4924,8 @@ yyreduce:
;}
break;
- case 213:
-#line 2060 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+ case 215:
+#line 2066 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{
/* "Externally Visible" Linkage */
if ((yyvsp[(5) - (5)].ConstVal) == 0)
@@ -4916,15 +4936,15 @@ yyreduce:
;}
break;
- case 214:
-#line 2067 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+ case 216:
+#line 2073 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{
CurGV = 0;
;}
break;
- case 215:
-#line 2071 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+ case 217:
+#line 2077 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{
if ((yyvsp[(6) - (6)].ConstVal) == 0)
GEN_ERROR("Global value initializer is not a constant");
@@ -4933,15 +4953,15 @@ yyreduce:
;}
break;
- case 216:
-#line 2076 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+ case 218:
+#line 2082 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{
CurGV = 0;
;}
break;
- case 217:
-#line 2080 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+ case 219:
+#line 2086 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(6) - (6)].TypeVal))->getDescription());
@@ -4951,16 +4971,16 @@ yyreduce:
;}
break;
- case 218:
-#line 2086 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+ case 220:
+#line 2092 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{
CurGV = 0;
CHECK_FOR_ERROR
;}
break;
- case 219:
-#line 2090 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+ case 221:
+#line 2096 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{
std::string Name;
if ((yyvsp[(1) - (5)].StrVal)) {
@@ -5003,22 +5023,22 @@ yyreduce:
;}
break;
- case 220:
-#line 2130 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+ case 222:
+#line 2136 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{
CHECK_FOR_ERROR
;}
break;
- case 221:
-#line 2133 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+ case 223:
+#line 2139 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{
CHECK_FOR_ERROR
;}
break;
- case 222:
-#line 2139 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+ case 224:
+#line 2145 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{
const std::string &AsmSoFar = CurModule.CurrentModule->getModuleInlineAsm();
if (AsmSoFar.empty())
@@ -5030,24 +5050,24 @@ yyreduce:
;}
break;
- case 223:
-#line 2149 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+ case 225:
+#line 2155 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{
CurModule.CurrentModule->setTargetTriple(*(yyvsp[(3) - (3)].StrVal));
delete (yyvsp[(3) - (3)].StrVal);
;}
break;
- case 224:
-#line 2153 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+ case 226:
+#line 2159 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{
CurModule.CurrentModule->setDataLayout(*(yyvsp[(3) - (3)].StrVal));
delete (yyvsp[(3) - (3)].StrVal);
;}
break;
- case 226:
-#line 2160 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+ case 228:
+#line 2166 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{
CurModule.CurrentModule->addLibrary(*(yyvsp[(3) - (3)].StrVal));
delete (yyvsp[(3) - (3)].StrVal);
@@ -5055,8 +5075,8 @@ yyreduce:
;}
break;
- case 227:
-#line 2165 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+ case 229:
+#line 2171 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{
CurModule.CurrentModule->addLibrary(*(yyvsp[(1) - (1)].StrVal));
delete (yyvsp[(1) - (1)].StrVal);
@@ -5064,15 +5084,15 @@ yyreduce:
;}
break;
- case 228:
-#line 2170 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+ case 230:
+#line 2176 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{
CHECK_FOR_ERROR
;}
break;
- case 229:
-#line 2179 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+ case 231:
+#line 2185 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(3) - (5)].TypeVal))->getDescription());
@@ -5085,8 +5105,8 @@ yyreduce:
;}
break;
- case 230:
-#line 2189 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+ case 232:
+#line 2195 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (3)].TypeVal))->getDescription());
@@ -5099,16 +5119,16 @@ yyreduce:
;}
break;
- case 231:
-#line 2200 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+ case 233:
+#line 2206 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.ArgList) = (yyvsp[(1) - (1)].ArgList);
CHECK_FOR_ERROR
;}
break;
- case 232:
-#line 2204 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+ case 234:
+#line 2210 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.ArgList) = (yyvsp[(1) - (3)].ArgList);
struct ArgListEntry E;
@@ -5120,8 +5140,8 @@ yyreduce:
;}
break;
- case 233:
-#line 2213 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+ case 235:
+#line 2219 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.ArgList) = new ArgListType;
struct ArgListEntry E;
@@ -5133,36 +5153,36 @@ yyreduce:
;}
break;
- case 234:
-#line 2222 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+ case 236:
+#line 2228 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.ArgList) = 0;
CHECK_FOR_ERROR
;}
break;
- case 235:
-#line 2228 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+ case 237:
+#line 2234 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{
- std::string FunctionName(*(yyvsp[(3) - (9)].StrVal));
- delete (yyvsp[(3) - (9)].StrVal); // Free strdup'd memory!
+ std::string FunctionName(*(yyvsp[(3) - (10)].StrVal));
+ delete (yyvsp[(3) - (10)].StrVal); // Free strdup'd memory!
// Check the function result for abstractness if this is a define. We should
// have no abstract types at this point
- if (!CurFun.isDeclare && CurModule.TypeIsUnresolved((yyvsp[(2) - (9)].TypeVal)))
- GEN_ERROR("Reference to abstract result: "+ (yyvsp[(2) - (9)].TypeVal)->get()->getDescription());
+ if (!CurFun.isDeclare && CurModule.TypeIsUnresolved((yyvsp[(2) - (10)].TypeVal)))
+ GEN_ERROR("Reference to abstract result: "+ (yyvsp[(2) - (10)].TypeVal)->get()->getDescription());
std::vector ParamTypeList;
ParamAttrsVector Attrs;
- if ((yyvsp[(7) - (9)].ParamAttrs) != ParamAttr::None) {
+ if ((yyvsp[(7) - (10)].ParamAttrs) != ParamAttr::None) {
ParamAttrsWithIndex PAWI;
PAWI.index = 0;
- PAWI.attrs = (yyvsp[(7) - (9)].ParamAttrs);
+ PAWI.attrs = (yyvsp[(7) - (10)].ParamAttrs);
Attrs.push_back(PAWI);
}
- if ((yyvsp[(5) - (9)].ArgList)) { // If there are arguments...
+ if ((yyvsp[(5) - (10)].ArgList)) { // If there are arguments...
unsigned index = 1;
- for (ArgListType::iterator I = (yyvsp[(5) - (9)].ArgList)->begin(); I != (yyvsp[(5) - (9)].ArgList)->end(); ++I, ++index) {
+ for (ArgListType::iterator I = (yyvsp[(5) - (10)].ArgList)->begin(); I != (yyvsp[(5) - (10)].ArgList)->end(); ++I, ++index) {
const Type* Ty = I->Ty->get();
if (!CurFun.isDeclare && CurModule.TypeIsUnresolved(I->Ty))
GEN_ERROR("Reference to abstract argument: " + Ty->getDescription());
@@ -5184,9 +5204,9 @@ yyreduce:
if (!Attrs.empty())
PAL = ParamAttrsList::get(Attrs);
- FunctionType *FT = FunctionType::get(*(yyvsp[(2) - (9)].TypeVal), ParamTypeList, isVarArg);
+ FunctionType *FT = FunctionType::get(*(yyvsp[(2) - (10)].TypeVal), ParamTypeList, isVarArg);
const PointerType *PFT = PointerType::get(FT);
- delete (yyvsp[(2) - (9)].TypeVal);
+ delete (yyvsp[(2) - (10)].TypeVal);
ValID ID;
if (!FunctionName.empty()) {
@@ -5239,27 +5259,31 @@ yyreduce:
Fn->setLinkage(CurFun.Linkage);
Fn->setVisibility(CurFun.Visibility);
}
- Fn->setCallingConv((yyvsp[(1) - (9)].UIntVal));
+ Fn->setCallingConv((yyvsp[(1) - (10)].UIntVal));
Fn->setParamAttrs(PAL);
- Fn->setAlignment((yyvsp[(9) - (9)].UIntVal));
- if ((yyvsp[(8) - (9)].StrVal)) {
- Fn->setSection(*(yyvsp[(8) - (9)].StrVal));
- delete (yyvsp[(8) - (9)].StrVal);
+ Fn->setAlignment((yyvsp[(9) - (10)].UIntVal));
+ if ((yyvsp[(8) - (10)].StrVal)) {
+ Fn->setSection(*(yyvsp[(8) - (10)].StrVal));
+ delete (yyvsp[(8) - (10)].StrVal);
+ }
+ if ((yyvsp[(10) - (10)].StrVal)) {
+ Fn->setCollector((yyvsp[(10) - (10)].StrVal)->c_str());
+ delete (yyvsp[(10) - (10)].StrVal);
}
// Add all of the arguments we parsed to the function...
- if ((yyvsp[(5) - (9)].ArgList)) { // Is null if empty...
+ if ((yyvsp[(5) - (10)].ArgList)) { // Is null if empty...
if (isVarArg) { // Nuke the last entry
- assert((yyvsp[(5) - (9)].ArgList)->back().Ty->get() == Type::VoidTy && (yyvsp[(5) - (9)].ArgList)->back().Name == 0 &&
+ assert((yyvsp[(5) - (10)].ArgList)->back().Ty->get() == Type::VoidTy && (yyvsp[(5) - (10)].ArgList)->back().Name == 0 &&
"Not a varargs marker!");
- delete (yyvsp[(5) - (9)].ArgList)->back().Ty;
- (yyvsp[(5) - (9)].ArgList)->pop_back(); // Delete the last entry
+ delete (yyvsp[(5) - (10)].ArgList)->back().Ty;
+ (yyvsp[(5) - (10)].ArgList)->pop_back(); // Delete the last entry
}
Function::arg_iterator ArgIt = Fn->arg_begin();
Function::arg_iterator ArgEnd = Fn->arg_end();
unsigned Idx = 1;
- for (ArgListType::iterator I = (yyvsp[(5) - (9)].ArgList)->begin();
- I != (yyvsp[(5) - (9)].ArgList)->end() && ArgIt != ArgEnd; ++I, ++ArgIt) {
+ for (ArgListType::iterator I = (yyvsp[(5) - (10)].ArgList)->begin();
+ I != (yyvsp[(5) - (10)].ArgList)->end() && ArgIt != ArgEnd; ++I, ++ArgIt) {
delete I->Ty; // Delete the typeholder...
setValueName(ArgIt, I->Name); // Insert arg into symtab...
CHECK_FOR_ERROR
@@ -5267,14 +5291,14 @@ yyreduce:
Idx++;
}
- delete (yyvsp[(5) - (9)].ArgList); // We're now done with the argument list
+ delete (yyvsp[(5) - (10)].ArgList); // We're now done with the argument list
}
CHECK_FOR_ERROR
;}
break;
- case 238:
-#line 2359 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+ case 240:
+#line 2369 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.FunctionVal) = CurFun.CurrentFunction;
@@ -5285,16 +5309,16 @@ yyreduce:
;}
break;
- case 241:
-#line 2370 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+ case 243:
+#line 2380 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.FunctionVal) = (yyvsp[(1) - (2)].FunctionVal);
CHECK_FOR_ERROR
;}
break;
- case 242:
-#line 2375 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+ case 244:
+#line 2385 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{
CurFun.CurrentFunction->setLinkage((yyvsp[(1) - (3)].Linkage));
CurFun.CurrentFunction->setVisibility((yyvsp[(2) - (3)].Visibility));
@@ -5304,88 +5328,88 @@ yyreduce:
;}
break;
- case 243:
-#line 2387 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+ case 245:
+#line 2397 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.BoolVal) = false;
CHECK_FOR_ERROR
;}
break;
- case 244:
-#line 2391 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+ case 246:
+#line 2401 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.BoolVal) = true;
CHECK_FOR_ERROR
;}
break;
- case 245:
-#line 2396 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+ case 247:
+#line 2406 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{ // A reference to a direct constant
(yyval.ValIDVal) = ValID::create((yyvsp[(1) - (1)].SInt64Val));
CHECK_FOR_ERROR
;}
break;
- case 246:
-#line 2400 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+ case 248:
+#line 2410 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.ValIDVal) = ValID::create((yyvsp[(1) - (1)].UInt64Val));
CHECK_FOR_ERROR
;}
break;
- case 247:
-#line 2404 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+ case 249:
+#line 2414 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{ // Perhaps it's an FP constant?
(yyval.ValIDVal) = ValID::create((yyvsp[(1) - (1)].FPVal));
CHECK_FOR_ERROR
;}
break;
- case 248:
-#line 2408 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+ case 250:
+#line 2418 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.ValIDVal) = ValID::create(ConstantInt::getTrue());
CHECK_FOR_ERROR
;}
break;
- case 249:
-#line 2412 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+ case 251:
+#line 2422 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.ValIDVal) = ValID::create(ConstantInt::getFalse());
CHECK_FOR_ERROR
;}
break;
- case 250:
-#line 2416 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+ case 252:
+#line 2426 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.ValIDVal) = ValID::createNull();
CHECK_FOR_ERROR
;}
break;
- case 251:
-#line 2420 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+ case 253:
+#line 2430 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.ValIDVal) = ValID::createUndef();
CHECK_FOR_ERROR
;}
break;
- case 252:
-#line 2424 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+ case 254:
+#line 2434 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{ // A vector zero constant.
(yyval.ValIDVal) = ValID::createZeroInit();
CHECK_FOR_ERROR
;}
break;
- case 253:
-#line 2428 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+ case 255:
+#line 2438 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{ // Nonempty unsized packed vector
const Type *ETy = (*(yyvsp[(2) - (3)].ConstVector))[0]->getType();
int NumElements = (yyvsp[(2) - (3)].ConstVector)->size();
@@ -5413,16 +5437,16 @@ yyreduce:
;}
break;
- case 254:
-#line 2453 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+ case 256:
+#line 2463 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.ValIDVal) = ValID::create((yyvsp[(1) - (1)].ConstVal));
CHECK_FOR_ERROR
;}
break;
- case 255:
-#line 2457 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+ case 257:
+#line 2467 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.ValIDVal) = ValID::createInlineAsm(*(yyvsp[(3) - (5)].StrVal), *(yyvsp[(5) - (5)].StrVal), (yyvsp[(2) - (5)].BoolVal));
delete (yyvsp[(3) - (5)].StrVal);
@@ -5431,24 +5455,24 @@ yyreduce:
;}
break;
- case 256:
-#line 2467 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+ case 258:
+#line 2477 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{ // Is it an integer reference...?
(yyval.ValIDVal) = ValID::createLocalID((yyvsp[(1) - (1)].UIntVal));
CHECK_FOR_ERROR
;}
break;
- case 257:
-#line 2471 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+ case 259:
+#line 2481 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.ValIDVal) = ValID::createGlobalID((yyvsp[(1) - (1)].UIntVal));
CHECK_FOR_ERROR
;}
break;
- case 258:
-#line 2475 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+ case 260:
+#line 2485 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{ // Is it a named reference...?
(yyval.ValIDVal) = ValID::createLocalName(*(yyvsp[(1) - (1)].StrVal));
delete (yyvsp[(1) - (1)].StrVal);
@@ -5456,8 +5480,8 @@ yyreduce:
;}
break;
- case 259:
-#line 2480 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+ case 261:
+#line 2490 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{ // Is it a named reference...?
(yyval.ValIDVal) = ValID::createGlobalName(*(yyvsp[(1) - (1)].StrVal));
delete (yyvsp[(1) - (1)].StrVal);
@@ -5465,8 +5489,8 @@ yyreduce:
;}
break;
- case 262:
-#line 2493 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+ case 264:
+#line 2503 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (2)].TypeVal))->getDescription());
@@ -5476,24 +5500,24 @@ yyreduce:
;}
break;
- case 263:
-#line 2502 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+ case 265:
+#line 2512 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.FunctionVal) = (yyvsp[(1) - (2)].FunctionVal);
CHECK_FOR_ERROR
;}
break;
- case 264:
-#line 2506 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+ case 266:
+#line 2516 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{ // Do not allow functions with 0 basic blocks
(yyval.FunctionVal) = (yyvsp[(1) - (2)].FunctionVal);
CHECK_FOR_ERROR
;}
break;
- case 265:
-#line 2515 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+ case 267:
+#line 2525 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{
setValueName((yyvsp[(3) - (3)].TermInstVal), (yyvsp[(2) - (3)].StrVal));
CHECK_FOR_ERROR
@@ -5504,8 +5528,8 @@ yyreduce:
;}
break;
- case 266:
-#line 2524 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+ case 268:
+#line 2534 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (CastInst *CI1 = dyn_cast((yyvsp[(2) - (2)].InstVal)))
if (CastInst *CI2 = dyn_cast(CI1->getOperand(0)))
@@ -5517,16 +5541,16 @@ yyreduce:
;}
break;
- case 267:
-#line 2533 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+ case 269:
+#line 2543 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{ // Empty space between instruction lists
(yyval.BasicBlockVal) = defineBBVal(ValID::createLocalID(CurFun.NextValNum));
CHECK_FOR_ERROR
;}
break;
- case 268:
-#line 2537 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+ case 270:
+#line 2547 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{ // Labelled (named) basic block
(yyval.BasicBlockVal) = defineBBVal(ValID::createLocalName(*(yyvsp[(1) - (1)].StrVal)));
delete (yyvsp[(1) - (1)].StrVal);
@@ -5535,24 +5559,24 @@ yyreduce:
;}
break;
- case 269:
-#line 2544 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+ case 271:
+#line 2554 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{ // Return with a result...
(yyval.TermInstVal) = new ReturnInst((yyvsp[(2) - (2)].ValueVal));
CHECK_FOR_ERROR
;}
break;
- case 270:
-#line 2548 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+ case 272:
+#line 2558 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{ // Return with no result...
(yyval.TermInstVal) = new ReturnInst();
CHECK_FOR_ERROR
;}
break;
- case 271:
-#line 2552 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+ case 273:
+#line 2562 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{ // Unconditional Branch...
BasicBlock* tmpBB = getBBVal((yyvsp[(3) - (3)].ValIDVal));
CHECK_FOR_ERROR
@@ -5560,8 +5584,8 @@ yyreduce:
;}
break;
- case 272:
-#line 2557 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+ case 274:
+#line 2567 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{
assert(cast((yyvsp[(2) - (9)].PrimType))->getBitWidth() == 1 && "Not Bool?");
BasicBlock* tmpBBA = getBBVal((yyvsp[(6) - (9)].ValIDVal));
@@ -5574,8 +5598,8 @@ yyreduce:
;}
break;
- case 273:
-#line 2567 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+ case 275:
+#line 2577 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{
Value* tmpVal = getVal((yyvsp[(2) - (9)].PrimType), (yyvsp[(3) - (9)].ValIDVal));
CHECK_FOR_ERROR
@@ -5597,8 +5621,8 @@ yyreduce:
;}
break;
- case 274:
-#line 2586 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+ case 276:
+#line 2596 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{
Value* tmpVal = getVal((yyvsp[(2) - (8)].PrimType), (yyvsp[(3) - (8)].ValIDVal));
CHECK_FOR_ERROR
@@ -5610,8 +5634,8 @@ yyreduce:
;}
break;
- case 275:
-#line 2596 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+ case 277:
+#line 2606 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{
// Handle the short syntax
@@ -5697,24 +5721,24 @@ yyreduce:
;}
break;
- case 276:
-#line 2679 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+ case 278:
+#line 2689 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.TermInstVal) = new UnwindInst();
CHECK_FOR_ERROR
;}
break;
- case 277:
-#line 2683 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+ case 279:
+#line 2693 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.TermInstVal) = new UnreachableInst();
CHECK_FOR_ERROR
;}
break;
- case 278:
-#line 2690 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+ case 280:
+#line 2700 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.JumpTable) = (yyvsp[(1) - (6)].JumpTable);
Constant *V = cast(getExistingVal((yyvsp[(2) - (6)].PrimType), (yyvsp[(3) - (6)].ValIDVal)));
@@ -5728,8 +5752,8 @@ yyreduce:
;}
break;
- case 279:
-#line 2701 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+ case 281:
+#line 2711 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.JumpTable) = new std::vector >();
Constant *V = cast(getExistingVal((yyvsp[(1) - (5)].PrimType), (yyvsp[(2) - (5)].ValIDVal)));
@@ -5744,8 +5768,8 @@ yyreduce:
;}
break;
- case 280:
-#line 2714 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+ case 282:
+#line 2724 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{
// Is this definition named?? if so, assign the name...
setValueName((yyvsp[(2) - (2)].InstVal), (yyvsp[(1) - (2)].StrVal));
@@ -5756,8 +5780,8 @@ yyreduce:
;}
break;
- case 281:
-#line 2724 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+ case 283:
+#line 2734 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{ // Used for PHI nodes
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (6)].TypeVal))->getDescription());
@@ -5771,8 +5795,8 @@ yyreduce:
;}
break;
- case 282:
-#line 2735 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+ case 284:
+#line 2745 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.PHIList) = (yyvsp[(1) - (7)].PHIList);
Value* tmpVal = getVal((yyvsp[(1) - (7)].PHIList)->front().first->getType(), (yyvsp[(4) - (7)].ValIDVal));
@@ -5783,8 +5807,8 @@ yyreduce:
;}
break;
- case 283:
-#line 2745 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+ case 285:
+#line 2755 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{
// FIXME: Remove trailing OptParamAttrs in LLVM 3.0, it was a mistake in 2.0
if (!UpRefs.empty())
@@ -5798,8 +5822,8 @@ yyreduce:
;}
break;
- case 284:
-#line 2756 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+ case 286:
+#line 2766 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{
// FIXME: Remove trailing OptParamAttrs in LLVM 3.0, it was a mistake in 2.0
// Labels are only valid in ASMs
@@ -5810,8 +5834,8 @@ yyreduce:
;}
break;
- case 285:
-#line 2764 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+ case 287:
+#line 2774 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{
// FIXME: Remove trailing OptParamAttrs in LLVM 3.0, it was a mistake in 2.0
if (!UpRefs.empty())
@@ -5824,8 +5848,8 @@ yyreduce:
;}
break;
- case 286:
-#line 2774 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+ case 288:
+#line 2784 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{
// FIXME: Remove trailing OptParamAttrs in LLVM 3.0, it was a mistake in 2.0
(yyval.ParamList) = (yyvsp[(1) - (6)].ParamList);
@@ -5835,18 +5859,18 @@ yyreduce:
;}
break;
- case 287:
-#line 2781 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+ case 289:
+#line 2791 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.ParamList) = new ParamList(); ;}
break;
- case 288:
-#line 2784 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+ case 290:
+#line 2794 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.ValueList) = new std::vector(); ;}
break;
- case 289:
-#line 2785 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+ case 291:
+#line 2795 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.ValueList) = (yyvsp[(1) - (3)].ValueList);
(yyval.ValueList)->push_back((yyvsp[(3) - (3)].ValueVal));
@@ -5854,24 +5878,24 @@ yyreduce:
;}
break;
- case 290:
-#line 2792 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+ case 292:
+#line 2802 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.BoolVal) = true;
CHECK_FOR_ERROR
;}
break;
- case 291:
-#line 2796 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+ case 293:
+#line 2806 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.BoolVal) = false;
CHECK_FOR_ERROR
;}
break;
- case 292:
-#line 2801 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+ case 294:
+#line 2811 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(2) - (5)].TypeVal))->getDescription());
@@ -5890,8 +5914,8 @@ yyreduce:
;}
break;
- case 293:
-#line 2817 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+ case 295:
+#line 2827 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(2) - (5)].TypeVal))->getDescription());
@@ -5911,8 +5935,8 @@ yyreduce:
;}
break;
- case 294:
-#line 2834 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+ case 296:
+#line 2844 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(3) - (6)].TypeVal))->getDescription());
@@ -5929,8 +5953,8 @@ yyreduce:
;}
break;
- case 295:
-#line 2848 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+ case 297:
+#line 2858 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(3) - (6)].TypeVal))->getDescription());
@@ -5947,8 +5971,8 @@ yyreduce:
;}
break;
- case 296:
-#line 2862 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+ case 298:
+#line 2872 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(4) - (4)].TypeVal))->getDescription());
@@ -5963,8 +5987,8 @@ yyreduce:
;}
break;
- case 297:
-#line 2874 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+ case 299:
+#line 2884 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{
if ((yyvsp[(2) - (6)].ValueVal)->getType() != Type::Int1Ty)
GEN_ERROR("select condition must be boolean");
@@ -5975,8 +5999,8 @@ yyreduce:
;}
break;
- case 298:
-#line 2882 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+ case 300:
+#line 2892 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(4) - (4)].TypeVal))->getDescription());
@@ -5986,8 +6010,8 @@ yyreduce:
;}
break;
- case 299:
-#line 2889 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+ case 301:
+#line 2899 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!ExtractElementInst::isValidOperands((yyvsp[(2) - (4)].ValueVal), (yyvsp[(4) - (4)].ValueVal)))
GEN_ERROR("Invalid extractelement operands");
@@ -5996,8 +6020,8 @@ yyreduce:
;}
break;
- case 300:
-#line 2895 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+ case 302:
+#line 2905 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!InsertElementInst::isValidOperands((yyvsp[(2) - (6)].ValueVal), (yyvsp[(4) - (6)].ValueVal), (yyvsp[(6) - (6)].ValueVal)))
GEN_ERROR("Invalid insertelement operands");
@@ -6006,8 +6030,8 @@ yyreduce:
;}
break;
- case 301:
-#line 2901 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+ case 303:
+#line 2911 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!ShuffleVectorInst::isValidOperands((yyvsp[(2) - (6)].ValueVal), (yyvsp[(4) - (6)].ValueVal), (yyvsp[(6) - (6)].ValueVal)))
GEN_ERROR("Invalid shufflevector operands");
@@ -6016,8 +6040,8 @@ yyreduce:
;}
break;
- case 302:
-#line 2907 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+ case 304:
+#line 2917 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{
const Type *Ty = (yyvsp[(2) - (2)].PHIList)->front().first->getType();
if (!Ty->isFirstClassType())
@@ -6035,8 +6059,8 @@ yyreduce:
;}
break;
- case 303:
-#line 2923 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+ case 305:
+#line 2933 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{
// Handle the short syntax
@@ -6129,32 +6153,32 @@ yyreduce:
;}
break;
- case 304:
-#line 3013 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+ case 306:
+#line 3023 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.InstVal) = (yyvsp[(1) - (1)].InstVal);
CHECK_FOR_ERROR
;}
break;
- case 305:
-#line 3018 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+ case 307:
+#line 3028 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.BoolVal) = true;
CHECK_FOR_ERROR
;}
break;
- case 306:
-#line 3022 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+ case 308:
+#line 3032 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.BoolVal) = false;
CHECK_FOR_ERROR
;}
break;
- case 307:
-#line 3029 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+ case 309:
+#line 3039 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(2) - (3)].TypeVal))->getDescription());
@@ -6164,8 +6188,8 @@ yyreduce:
;}
break;
- case 308:
-#line 3036 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+ case 310:
+#line 3046 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(2) - (6)].TypeVal))->getDescription());
@@ -6176,8 +6200,8 @@ yyreduce:
;}
break;
- case 309:
-#line 3044 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+ case 311:
+#line 3054 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(2) - (3)].TypeVal))->getDescription());
@@ -6187,8 +6211,8 @@ yyreduce:
;}
break;
- case 310:
-#line 3051 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+ case 312:
+#line 3061 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(2) - (6)].TypeVal))->getDescription());
@@ -6199,8 +6223,8 @@ yyreduce:
;}
break;
- case 311:
-#line 3059 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+ case 313:
+#line 3069 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!isa((yyvsp[(2) - (2)].ValueVal)->getType()))
GEN_ERROR("Trying to free nonpointer type " +
@@ -6210,8 +6234,8 @@ yyreduce:
;}
break;
- case 312:
-#line 3067 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+ case 314:
+#line 3077 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(3) - (5)].TypeVal))->getDescription());
@@ -6228,8 +6252,8 @@ yyreduce:
;}
break;
- case 313:
-#line 3081 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+ case 315:
+#line 3091 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(5) - (7)].TypeVal))->getDescription());
@@ -6249,8 +6273,8 @@ yyreduce:
;}
break;
- case 314:
-#line 3098 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+ case 316:
+#line 3108 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(2) - (4)].TypeVal))->getDescription());
@@ -6270,7 +6294,7 @@ yyreduce:
/* Line 1267 of yacc.c. */
-#line 6274 "llvmAsmParser.tab.c"
+#line 6298 "llvmAsmParser.tab.c"
default: break;
}
YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
@@ -6484,7 +6508,7 @@ yyreturn:
}
-#line 3115 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+#line 3125 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
// common code from the two 'RunVMAsmParser' functions
diff --git a/lib/AsmParser/llvmAsmParser.h.cvs b/lib/AsmParser/llvmAsmParser.h.cvs
index a943b416dc1..39fd1386339 100644
--- a/lib/AsmParser/llvmAsmParser.h.cvs
+++ b/lib/AsmParser/llvmAsmParser.h.cvs
@@ -181,9 +181,10 @@
NEST = 397,
READNONE = 398,
READONLY = 399,
- DEFAULT = 400,
- HIDDEN = 401,
- PROTECTED = 402
+ GC = 400,
+ DEFAULT = 401,
+ HIDDEN = 402,
+ PROTECTED = 403
};
#endif
/* Tokens. */
@@ -329,16 +330,17 @@
#define NEST 397
#define READNONE 398
#define READONLY 399
-#define DEFAULT 400
-#define HIDDEN 401
-#define PROTECTED 402
+#define GC 400
+#define DEFAULT 401
+#define HIDDEN 402
+#define PROTECTED 403
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
typedef union YYSTYPE
-#line 945 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+#line 945 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
{
llvm::Module *ModuleVal;
llvm::Function *FunctionVal;
@@ -385,8 +387,8 @@ typedef union YYSTYPE
llvm::ICmpInst::Predicate IPredicate;
llvm::FCmpInst::Predicate FPredicate;
}
-/* Line 1489 of yacc.c. */
-#line 390 "llvmAsmParser.tab.h"
+/* Line 1529 of yacc.c. */
+#line 392 "llvmAsmParser.tab.h"
YYSTYPE;
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
# define YYSTYPE_IS_DECLARED 1
diff --git a/lib/AsmParser/llvmAsmParser.y b/lib/AsmParser/llvmAsmParser.y
index 16204ccf9b9..57b6f81d8fb 100644
--- a/lib/AsmParser/llvmAsmParser.y
+++ b/lib/AsmParser/llvmAsmParser.y
@@ -1046,7 +1046,7 @@ Module *llvm::RunVMAsmParser(llvm::MemoryBuffer *MB) {
%token STRINGCONSTANT ATSTRINGCONSTANT PCTSTRINGCONSTANT
%type LocalName OptLocalName OptLocalAssign
%type GlobalName OptGlobalAssign GlobalAssign
-%type OptSection SectionString
+%type OptSection SectionString OptGC
%type OptAlign OptCAlign
@@ -1090,7 +1090,7 @@ Module *llvm::RunVMAsmParser(llvm::MemoryBuffer *MB) {
// Function Attributes
%token SIGNEXT ZEROEXT NORETURN INREG SRET NOUNWIND NOALIAS BYVAL NEST
-%token READNONE READONLY
+%token READNONE READONLY GC
// Visibility Styles
%token DEFAULT HIDDEN PROTECTED
@@ -1244,6 +1244,12 @@ OptFuncAttrs : /* empty */ { $$ = ParamAttr::None; }
}
;
+OptGC : /* empty */ { $$ = 0; }
+ | GC STRINGCONSTANT {
+ $$ = $2;
+ }
+ ;
+
// OptAlign/OptCAlign - An optional alignment, and an optional alignment with
// a comma before it.
OptAlign : /*empty*/ { $$ = 0; } |
@@ -2225,7 +2231,7 @@ ArgList : ArgListH {
};
FunctionHeaderH : OptCallingConv ResultTypes GlobalName '(' ArgList ')'
- OptFuncAttrs OptSection OptAlign {
+ OptFuncAttrs OptSection OptAlign OptGC {
std::string FunctionName(*$3);
delete $3; // Free strdup'd memory!
@@ -2328,6 +2334,10 @@ FunctionHeaderH : OptCallingConv ResultTypes GlobalName '(' ArgList ')'
Fn->setSection(*$8);
delete $8;
}
+ if ($10) {
+ Fn->setCollector($10->c_str());
+ delete $10;
+ }
// Add all of the arguments we parsed to the function...
if ($5) { // Is null if empty...
diff --git a/lib/AsmParser/llvmAsmParser.y.cvs b/lib/AsmParser/llvmAsmParser.y.cvs
index 16204ccf9b9..57b6f81d8fb 100644
--- a/lib/AsmParser/llvmAsmParser.y.cvs
+++ b/lib/AsmParser/llvmAsmParser.y.cvs
@@ -1046,7 +1046,7 @@ Module *llvm::RunVMAsmParser(llvm::MemoryBuffer *MB) {
%token STRINGCONSTANT ATSTRINGCONSTANT PCTSTRINGCONSTANT
%type LocalName OptLocalName OptLocalAssign
%type GlobalName OptGlobalAssign GlobalAssign
-%type OptSection SectionString
+%type OptSection SectionString OptGC
%type OptAlign OptCAlign
@@ -1090,7 +1090,7 @@ Module *llvm::RunVMAsmParser(llvm::MemoryBuffer *MB) {
// Function Attributes
%token SIGNEXT ZEROEXT NORETURN INREG SRET NOUNWIND NOALIAS BYVAL NEST
-%token READNONE READONLY
+%token READNONE READONLY GC
// Visibility Styles
%token DEFAULT HIDDEN PROTECTED
@@ -1244,6 +1244,12 @@ OptFuncAttrs : /* empty */ { $$ = ParamAttr::None; }
}
;
+OptGC : /* empty */ { $$ = 0; }
+ | GC STRINGCONSTANT {
+ $$ = $2;
+ }
+ ;
+
// OptAlign/OptCAlign - An optional alignment, and an optional alignment with
// a comma before it.
OptAlign : /*empty*/ { $$ = 0; } |
@@ -2225,7 +2231,7 @@ ArgList : ArgListH {
};
FunctionHeaderH : OptCallingConv ResultTypes GlobalName '(' ArgList ')'
- OptFuncAttrs OptSection OptAlign {
+ OptFuncAttrs OptSection OptAlign OptGC {
std::string FunctionName(*$3);
delete $3; // Free strdup'd memory!
@@ -2328,6 +2334,10 @@ FunctionHeaderH : OptCallingConv ResultTypes GlobalName '(' ArgList ')'
Fn->setSection(*$8);
delete $8;
}
+ if ($10) {
+ Fn->setCollector($10->c_str());
+ delete $10;
+ }
// Add all of the arguments we parsed to the function...
if ($5) { // Is null if empty...
diff --git a/lib/Bitcode/Reader/BitcodeReader.cpp b/lib/Bitcode/Reader/BitcodeReader.cpp
index c405feb898d..fd3ec9e6985 100644
--- a/lib/Bitcode/Reader/BitcodeReader.cpp
+++ b/lib/Bitcode/Reader/BitcodeReader.cpp
@@ -849,6 +849,7 @@ bool BitcodeReader::ParseModule(const std::string &ModuleID) {
SmallVector Record;
std::vector SectionTable;
+ std::vector CollectorTable;
// Read all the records for this module.
while (!Stream.AtEndOfStream()) {
@@ -974,6 +975,13 @@ bool BitcodeReader::ParseModule(const std::string &ModuleID) {
SectionTable.push_back(S);
break;
}
+ case bitc::MODULE_CODE_COLLECTORNAME: { // SECTIONNAME: [strchr x N]
+ std::string S;
+ if (ConvertToString(Record, 0, S))
+ return Error("Invalid MODULE_CODE_COLLECTORNAME record");
+ CollectorTable.push_back(S);
+ break;
+ }
// GLOBALVAR: [type, isconst, initid,
// linkage, alignment, section, visibility, threadlocal]
case bitc::MODULE_CODE_GLOBALVAR: {
@@ -1016,7 +1024,7 @@ bool BitcodeReader::ParseModule(const std::string &ModuleID) {
break;
}
// FUNCTION: [type, callingconv, isproto, linkage, paramattr,
- // alignment, section, visibility]
+ // alignment, section, visibility, collector]
case bitc::MODULE_CODE_FUNCTION: {
if (Record.size() < 8)
return Error("Invalid MODULE_CODE_FUNCTION record");
@@ -1044,6 +1052,11 @@ bool BitcodeReader::ParseModule(const std::string &ModuleID) {
Func->setSection(SectionTable[Record[6]-1]);
}
Func->setVisibility(GetDecodedVisibility(Record[7]));
+ if (Record.size() > 8 && Record[8]) {
+ if (Record[8]-1 > CollectorTable.size())
+ return Error("Invalid collector ID");
+ Func->setCollector(CollectorTable[Record[8]-1].c_str());
+ }
ValueList.push_back(Func);
diff --git a/lib/Bitcode/Writer/BitcodeWriter.cpp b/lib/Bitcode/Writer/BitcodeWriter.cpp
index 6d111fa36e3..612d89338b7 100644
--- a/lib/Bitcode/Writer/BitcodeWriter.cpp
+++ b/lib/Bitcode/Writer/BitcodeWriter.cpp
@@ -297,9 +297,10 @@ static void WriteModuleInfo(const Module *M, const ValueEnumerator &VE,
WriteStringRecord(bitc::MODULE_CODE_ASM, M->getModuleInlineAsm(),
0/*TODO*/, Stream);
- // Emit information about sections, computing how many there are. Also
- // compute the maximum alignment value.
+ // Emit information about sections and collectors, computing how many there
+ // are. Also compute the maximum alignment value.
std::map SectionMap;
+ std::map CollectorMap;
unsigned MaxAlignment = 0;
unsigned MaxGlobalType = 0;
for (Module::const_global_iterator GV = M->global_begin(),E = M->global_end();
@@ -317,13 +318,24 @@ static void WriteModuleInfo(const Module *M, const ValueEnumerator &VE,
}
for (Module::const_iterator F = M->begin(), E = M->end(); F != E; ++F) {
MaxAlignment = std::max(MaxAlignment, F->getAlignment());
- if (!F->hasSection()) continue;
- // Give section names unique ID's.
- unsigned &Entry = SectionMap[F->getSection()];
- if (Entry != 0) continue;
- WriteStringRecord(bitc::MODULE_CODE_SECTIONNAME, F->getSection(),
- 0/*TODO*/, Stream);
- Entry = SectionMap.size();
+ if (F->hasSection()) {
+ // Give section names unique ID's.
+ unsigned &Entry = SectionMap[F->getSection()];
+ if (!Entry) {
+ WriteStringRecord(bitc::MODULE_CODE_SECTIONNAME, F->getSection(),
+ 0/*TODO*/, Stream);
+ Entry = SectionMap.size();
+ }
+ }
+ if (F->hasCollector()) {
+ // Same for collector names.
+ unsigned &Entry = CollectorMap[F->getCollector()];
+ if (!Entry) {
+ WriteStringRecord(bitc::MODULE_CODE_COLLECTORNAME, F->getCollector(),
+ 0/*TODO*/, Stream);
+ Entry = CollectorMap.size();
+ }
+ }
}
// Emit abbrev for globals, now that we know # sections and max alignment.
@@ -383,7 +395,7 @@ static void WriteModuleInfo(const Module *M, const ValueEnumerator &VE,
// Emit the function proto information.
for (Module::const_iterator F = M->begin(), E = M->end(); F != E; ++F) {
// FUNCTION: [type, callingconv, isproto, paramattr,
- // linkage, alignment, section, visibility]
+ // linkage, alignment, section, visibility, collector]
Vals.push_back(VE.getTypeID(F->getType()));
Vals.push_back(F->getCallingConv());
Vals.push_back(F->isDeclaration());
@@ -392,6 +404,7 @@ static void WriteModuleInfo(const Module *M, const ValueEnumerator &VE,
Vals.push_back(Log2_32(F->getAlignment())+1);
Vals.push_back(F->hasSection() ? SectionMap[F->getSection()] : 0);
Vals.push_back(getEncodedVisibility(F));
+ Vals.push_back(F->hasCollector() ? CollectorMap[F->getCollector()] : 0);
unsigned AbbrevToUse = 0;
Stream.EmitRecord(bitc::MODULE_CODE_FUNCTION, Vals, AbbrevToUse);
diff --git a/lib/Transforms/Utils/CloneModule.cpp b/lib/Transforms/Utils/CloneModule.cpp
index 201da5be9af..cc645a9bd82 100644
--- a/lib/Transforms/Utils/CloneModule.cpp
+++ b/lib/Transforms/Utils/CloneModule.cpp
@@ -67,6 +67,8 @@ Module *llvm::CloneModule(const Module *M,
GlobalValue::ExternalLinkage, I->getName(), New);
NF->setCallingConv(I->getCallingConv());
NF->setParamAttrs(I->getParamAttrs());
+ if (I->hasCollector())
+ NF->setCollector(I->getCollector());
ValueMap[I]= NF;
}
diff --git a/lib/VMCore/AsmWriter.cpp b/lib/VMCore/AsmWriter.cpp
index ef8161b0334..008c1daee19 100644
--- a/lib/VMCore/AsmWriter.cpp
+++ b/lib/VMCore/AsmWriter.cpp
@@ -1112,6 +1112,8 @@ void AssemblyWriter::printFunction(const Function *F) {
Out << " section \"" << F->getSection() << '"';
if (F->getAlignment())
Out << " align " << F->getAlignment();
+ if (F->hasCollector())
+ Out << " gc \"" << F->getCollector() << '"';
if (F->isDeclaration()) {
Out << "\n";
diff --git a/lib/VMCore/Core.cpp b/lib/VMCore/Core.cpp
index 61ff6a8c00d..2f0053a2f13 100644
--- a/lib/VMCore/Core.cpp
+++ b/lib/VMCore/Core.cpp
@@ -619,6 +619,19 @@ void LLVMSetFunctionCallConv(LLVMValueRef Fn, unsigned CC) {
return unwrap(Fn)->setCallingConv(CC);
}
+const char *LLVMGetCollector(LLVMValueRef Fn) {
+ Function *F = unwrap(Fn);
+ return F->hasCollector()? F->getCollector() : 0;
+}
+
+void LLVMSetCollector(LLVMValueRef Fn, const char *Coll) {
+ Function *F = unwrap(Fn);
+ if (Coll)
+ F->setCollector(Coll);
+ else
+ F->clearCollector();
+}
+
/*--.. Operations on basic blocks ..........................................--*/
LLVMValueRef LLVMBasicBlockAsValue(LLVMBasicBlockRef Bb) {
diff --git a/lib/VMCore/Function.cpp b/lib/VMCore/Function.cpp
index 04db3aa06c3..18effea5091 100644
--- a/lib/VMCore/Function.cpp
+++ b/lib/VMCore/Function.cpp
@@ -17,8 +17,10 @@
#include "llvm/CodeGen/ValueTypes.h"
#include "llvm/Support/LeakDetector.h"
#include "llvm/Support/ManagedStatic.h"
+#include "llvm/Support/StringPool.h"
#include "SymbolTableListTraitsImpl.h"
#include "llvm/ADT/BitVector.h"
+#include "llvm/ADT/DenseMap.h"
#include "llvm/ADT/StringExtras.h"
using namespace llvm;
@@ -297,6 +299,9 @@ Function::~Function() {
// Drop our reference to the parameter attributes, if any.
if (ParamAttrs)
ParamAttrs->dropRef();
+
+ // Remove the function from the on-the-side collector table.
+ clearCollector();
}
void Function::BuildLazyArguments() const {
@@ -379,6 +384,40 @@ void Function::dropAllReferences() {
BasicBlocks.clear(); // Delete all basic blocks...
}
+// Maintain the collector name for each function in an on-the-side table. This
+// saves allocating an additional word in Function for programs which do not use
+// GC (i.e., most programs) at the cost of increased overhead for clients which
+// do use GC.
+static DenseMap *CollectorNames;
+static StringPool *CollectorNamePool;
+
+bool Function::hasCollector() const {
+ return CollectorNames && CollectorNames->count(this);
+}
+
+const char *Function::getCollector() const {
+ assert(hasCollector() && "Function has no collector");
+ return *(*CollectorNames)[this];
+}
+
+void Function::setCollector(const char *Str) {
+ if (!CollectorNamePool)
+ CollectorNamePool = new StringPool();
+ if (!CollectorNames)
+ CollectorNames = new DenseMap();
+ (*CollectorNames)[this] = CollectorNamePool->intern(Str);
+}
+
+void Function::clearCollector() {
+ if (CollectorNames) {
+ CollectorNames->erase(this);
+ if (CollectorNames->empty()) {
+ delete CollectorNames;
+ CollectorNames = 0;
+ }
+ }
+}
+
/// getIntrinsicID - This method returns the ID number of the specified
/// function, or Intrinsic::not_intrinsic if the function is not an
/// intrinsic, or if the pointer is null. This value is always defined to be
diff --git a/test/Assembler/2007-09-29-GC.ll b/test/Assembler/2007-09-29-GC.ll
new file mode 100644
index 00000000000..789a0fe1edc
--- /dev/null
+++ b/test/Assembler/2007-09-29-GC.ll
@@ -0,0 +1,12 @@
+; RUN: llvm-as < %s | llvm-dis | grep {@f.*gc.*shadowstack}
+; RUN: llvm-as < %s | llvm-dis | grep {@g.*gc.*java}
+
+define void @f() gc "shadowstack" {
+entry:
+ ret void
+}
+
+define void @g() gc "java" {
+entry:
+ ret void
+}
diff --git a/test/Bindings/Ocaml/vmcore.ml b/test/Bindings/Ocaml/vmcore.ml
index 5c24992929a..f17693258b4 100644
--- a/test/Bindings/Ocaml/vmcore.ml
+++ b/test/Bindings/Ocaml/vmcore.ml
@@ -25,7 +25,8 @@ let insist cond =
exit_status := 10;
" FAIL "
end in
- prerr_endline (msg ^ (string_of_int !case_num))
+ prerr_endline (" " ^ (string_of_int !case_num) ^ if cond then ""
+ else " FAIL")
let suite name f =
prerr_endline (name ^ ":");
@@ -490,7 +491,20 @@ let test_functions () =
insist (ccc = function_call_conv fn);
set_function_call_conv fastcc fn;
insist (fastcc = function_call_conv fn);
- ignore (build_unreachable (builder_at_end (entry_block fn)))
+ ignore (build_unreachable (builder_at_end (entry_block fn)));
+
+ begin group "collector";
+ (* RUN: grep {Fn6.*gc.*shadowstack} < %t.ll
+ *)
+ let fn = define_function "Fn6" ty m in
+ insist (None = collector fn);
+ set_collector (Some "ocaml") fn;
+ insist (Some "ocaml" = collector fn);
+ set_collector None fn;
+ insist (None = collector fn);
+ set_collector (Some "shadowstack") fn;
+ ignore (build_unreachable (builder_at_end (entry_block fn)));
+ end
(*===-- Basic Blocks ------------------------------------------------------===*)
@@ -749,7 +763,6 @@ let test_builder () =
let t3 = const_vector [| one; one; zero; zero |] in
let vec1 = build_insertelement t1 p1 p2 "Vec1" atentry in
let vec2 = build_insertelement t2 p1 p2 "Vec2" atentry in
- let vec3 = build_insertelement t3 p1 p2 "Vec3" atentry in
ignore (build_extractelement vec1 p2 "Inst49" atentry);
ignore (build_insertelement vec1 p1 p2 "Inst50" atentry);
diff --git a/test/CodeGen/Generic/GC/alloc_loop.ll b/test/CodeGen/Generic/GC/alloc_loop.ll
index b479cdbc9df..b1fee68abab 100644
--- a/test/CodeGen/Generic/GC/alloc_loop.ll
+++ b/test/CodeGen/Generic/GC/alloc_loop.ll
@@ -7,7 +7,7 @@ declare void @llvm_gc_initialize(i32)
declare void @llvm.gcroot(i8**, i8*)
declare void @llvm.gcwrite(i8*, i8*, i8**)
-define i32 @main() {
+define i32 @main() gc "shadow-stack" {
entry:
%A = alloca i8*
%B = alloca i8**
--
2.34.1