From d49808184f1b01339921f3fa22077f0fabce407c Mon Sep 17 00:00:00 2001 From: Devang Patel Date: Tue, 2 Sep 2008 20:52:40 +0000 Subject: Parse function notes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55646 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/AsmParser/LLLexer.cpp | 6 + lib/AsmParser/llvmAsmParser.cpp.cvs | 2873 ++++++++++++++++++----------------- lib/AsmParser/llvmAsmParser.h.cvs | 27 +- lib/AsmParser/llvmAsmParser.y | 34 +- lib/AsmParser/llvmAsmParser.y.cvs | 34 +- 5 files changed, 1566 insertions(+), 1408 deletions(-) (limited to 'lib/AsmParser') diff --git a/lib/AsmParser/LLLexer.cpp b/lib/AsmParser/LLLexer.cpp index ce53f0d2a9..6af0ab4c84 100644 --- a/lib/AsmParser/LLLexer.cpp +++ b/lib/AsmParser/LLLexer.cpp @@ -497,6 +497,12 @@ int LLLexer::LexIdentifier() { KEYWORD("readnone", READNONE); KEYWORD("readonly", READONLY); + KEYWORD("notes", FNNOTE); + KEYWORD("inline", INLINE); + KEYWORD("always", ALWAYS); + KEYWORD("never", NEVER); + KEYWORD("optimizeforsize", OPTIMIZEFORSIZE); + KEYWORD("type", TYPE); KEYWORD("opaque", OPAQUE); diff --git a/lib/AsmParser/llvmAsmParser.cpp.cvs b/lib/AsmParser/llvmAsmParser.cpp.cvs index 4f45cfd1e4..45a57998b7 100644 --- a/lib/AsmParser/llvmAsmParser.cpp.cvs +++ b/lib/AsmParser/llvmAsmParser.cpp.cvs @@ -225,9 +225,14 @@ READNONE = 406, READONLY = 407, GC = 408, - DEFAULT = 409, - HIDDEN = 410, - PROTECTED = 411 + FNNOTE = 409, + INLINE = 410, + ALWAYS = 411, + NEVER = 412, + OPTIMIZEFORSIZE = 413, + DEFAULT = 414, + HIDDEN = 415, + PROTECTED = 416 }; #endif /* Tokens. */ @@ -382,15 +387,20 @@ #define READNONE 406 #define READONLY 407 #define GC 408 -#define DEFAULT 409 -#define HIDDEN 410 -#define PROTECTED 411 +#define FNNOTE 409 +#define INLINE 410 +#define ALWAYS 411 +#define NEVER 412 +#define OPTIMIZEFORSIZE 413 +#define DEFAULT 414 +#define HIDDEN 415 +#define PROTECTED 416 /* Copy the first part of user declarations. */ -#line 14 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" +#line 14 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" #include "ParserInternals.h" #include "llvm/CallingConv.h" @@ -1367,7 +1377,7 @@ Module *llvm::RunVMAsmParser(llvm::MemoryBuffer *MB) { #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED typedef union YYSTYPE -#line 970 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" +#line 970 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { llvm::Module *ModuleVal; llvm::Function *FunctionVal; @@ -1396,6 +1406,7 @@ typedef union YYSTYPE llvm::GlobalValue::LinkageTypes Linkage; llvm::GlobalValue::VisibilityTypes Visibility; llvm::ParameterAttributes ParamAttrs; + llvm::FunctionNotes FunctionNotes; llvm::APInt *APIntVal; int64_t SInt64Val; uint64_t UInt64Val; @@ -1416,7 +1427,7 @@ typedef union YYSTYPE llvm::FCmpInst::Predicate FPredicate; } /* Line 193 of yacc.c. */ -#line 1420 "llvmAsmParser.tab.c" +#line 1431 "llvmAsmParser.tab.c" YYSTYPE; # define yystype YYSTYPE /* obsolescent; will be withdrawn */ # define YYSTYPE_IS_DECLARED 1 @@ -1429,7 +1440,7 @@ typedef union YYSTYPE /* Line 216 of yacc.c. */ -#line 1433 "llvmAsmParser.tab.c" +#line 1444 "llvmAsmParser.tab.c" #ifdef short # undef short @@ -1644,20 +1655,20 @@ union yyalloc /* YYFINAL -- State number of the termination state. */ #define YYFINAL 44 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 2386 +#define YYLAST 2421 /* YYNTOKENS -- Number of terminals. */ -#define YYNTOKENS 171 +#define YYNTOKENS 176 /* YYNNTS -- Number of nonterminals. */ -#define YYNNTS 87 +#define YYNNTS 90 /* YYNRULES -- Number of rules. */ -#define YYNRULES 346 +#define YYNRULES 353 /* YYNRULES -- Number of states. */ -#define YYNSTATES 707 +#define YYNSTATES 720 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ #define YYUNDEFTOK 2 -#define YYMAXUTOK 411 +#define YYMAXUTOK 416 #define YYTRANSLATE(YYX) \ ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) @@ -1669,15 +1680,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, - 157, 158, 161, 2, 160, 2, 2, 2, 2, 2, + 162, 163, 166, 2, 165, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 166, 159, 167, 2, 2, 2, 2, 2, 2, 2, + 171, 164, 172, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 163, 162, 165, 2, 2, 2, 2, 2, 170, + 2, 168, 167, 170, 2, 2, 2, 2, 2, 175, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 164, 2, 2, 168, 2, 169, 2, 2, 2, 2, + 169, 2, 2, 173, 2, 174, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, @@ -1706,7 +1717,7 @@ static const yytype_uint8 yytranslate[] = 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, - 155, 156 + 155, 156, 157, 158, 159, 160, 161 }; #if YYDEBUG @@ -1726,35 +1737,36 @@ static const yytype_uint16 yyprhs[] = 179, 181, 183, 184, 186, 188, 190, 192, 193, 195, 197, 198, 200, 202, 204, 206, 208, 210, 213, 215, 217, 219, 221, 223, 225, 227, 229, 231, 234, 235, - 238, 240, 242, 244, 246, 248, 250, 251, 254, 255, - 258, 259, 262, 263, 267, 270, 271, 273, 274, 278, - 280, 283, 285, 287, 289, 291, 293, 295, 297, 299, - 301, 305, 307, 310, 316, 322, 328, 334, 338, 341, - 347, 352, 355, 357, 359, 361, 365, 367, 371, 373, - 374, 376, 380, 385, 389, 393, 398, 403, 407, 414, - 420, 423, 426, 429, 432, 435, 438, 441, 444, 447, - 450, 453, 456, 463, 469, 478, 485, 492, 500, 508, - 516, 524, 531, 540, 549, 555, 563, 567, 569, 571, - 573, 575, 576, 579, 586, 588, 589, 591, 594, 595, - 599, 600, 604, 608, 612, 616, 617, 626, 627, 637, - 638, 648, 654, 657, 661, 663, 667, 671, 675, 679, - 681, 682, 688, 692, 694, 698, 700, 701, 712, 714, - 716, 721, 723, 725, 728, 732, 733, 735, 737, 739, - 741, 743, 745, 747, 749, 751, 753, 755, 759, 763, - 766, 769, 773, 776, 782, 787, 789, 795, 797, 799, - 801, 803, 805, 807, 810, 812, 816, 819, 822, 826, - 830, 833, 834, 836, 839, 842, 846, 856, 866, 875, - 890, 892, 894, 901, 907, 910, 913, 920, 928, 933, - 938, 945, 952, 953, 954, 958, 961, 965, 968, 970, - 976, 982, 989, 996, 1003, 1010, 1015, 1022, 1027, 1032, - 1039, 1046, 1049, 1058, 1060, 1062, 1063, 1067, 1074, 1078, - 1085, 1088, 1094, 1102, 1108, 1113, 1118 + 238, 240, 242, 244, 246, 248, 250, 251, 254, 256, + 260, 264, 268, 270, 271, 276, 277, 280, 281, 284, + 285, 289, 292, 293, 295, 296, 300, 302, 305, 307, + 309, 311, 313, 315, 317, 319, 321, 323, 327, 329, + 332, 338, 344, 350, 356, 360, 363, 369, 374, 377, + 379, 381, 383, 387, 389, 393, 395, 396, 398, 402, + 407, 411, 415, 420, 425, 429, 436, 442, 445, 448, + 451, 454, 457, 460, 463, 466, 469, 472, 475, 478, + 485, 491, 500, 507, 514, 522, 530, 538, 546, 553, + 562, 571, 577, 585, 589, 591, 593, 595, 597, 598, + 601, 608, 610, 611, 613, 616, 617, 621, 622, 626, + 630, 634, 638, 639, 648, 649, 659, 660, 670, 676, + 679, 683, 685, 689, 693, 697, 701, 703, 704, 710, + 714, 716, 720, 722, 723, 735, 737, 739, 744, 746, + 748, 751, 755, 756, 758, 760, 762, 764, 766, 768, + 770, 772, 774, 776, 778, 782, 786, 789, 792, 796, + 799, 805, 810, 812, 818, 820, 822, 824, 826, 828, + 830, 833, 835, 839, 842, 845, 849, 853, 856, 857, + 859, 862, 865, 869, 879, 889, 898, 913, 915, 917, + 924, 930, 933, 936, 943, 951, 956, 961, 968, 975, + 976, 977, 981, 984, 988, 991, 993, 999, 1005, 1012, + 1019, 1026, 1033, 1038, 1045, 1050, 1055, 1062, 1069, 1072, + 1081, 1083, 1085, 1086, 1090, 1097, 1101, 1108, 1111, 1117, + 1125, 1131, 1136, 1141 }; /* YYRHS -- A `-1'-separated list of the rules' RHS. */ static const yytype_int16 yyrhs[] = { - 218, 0, -1, 76, -1, 77, -1, 78, -1, 79, + 226, 0, -1, 76, -1, 77, -1, 78, -1, 79, -1, 80, -1, 81, -1, 82, -1, 83, -1, 84, -1, 88, -1, 89, -1, 90, -1, 85, -1, 86, -1, 87, -1, 121, -1, 122, -1, 123, -1, 124, @@ -1766,147 +1778,150 @@ static const yytype_int16 yyrhs[] = -1, 112, -1, 113, -1, 114, -1, 101, -1, 102, -1, 103, -1, 104, -1, 26, -1, 27, -1, 11, -1, 12, -1, 13, -1, 16, -1, 15, -1, 14, - -1, 19, -1, 22, -1, 24, -1, 179, -1, -1, - 55, 157, 4, 158, -1, -1, 179, 159, -1, -1, - 7, 159, -1, 20, -1, 23, -1, 186, -1, -1, - 184, 159, -1, 42, -1, 44, -1, 43, -1, 45, + -1, 19, -1, 22, -1, 24, -1, 184, -1, -1, + 55, 162, 4, 163, -1, -1, 184, 164, -1, -1, + 7, 164, -1, 20, -1, 23, -1, 191, -1, -1, + 189, 164, -1, 42, -1, 44, -1, 43, -1, 45, -1, 47, -1, 49, -1, 46, -1, 48, -1, 51, - -1, -1, 154, -1, 155, -1, 156, -1, -1, 46, + -1, -1, 159, -1, 160, -1, 161, -1, -1, 46, -1, 48, -1, -1, 42, -1, 43, -1, 44, -1, 47, -1, -1, 44, -1, 42, -1, -1, 63, -1, 64, -1, 65, -1, 66, -1, 67, -1, 68, -1, 62, 4, -1, 143, -1, 122, -1, 142, -1, 123, -1, 145, -1, 146, -1, 148, -1, 149, -1, 150, - -1, 54, 4, -1, -1, 195, 194, -1, 144, -1, + -1, 54, 4, -1, -1, 200, 199, -1, 144, -1, 147, -1, 143, -1, 142, -1, 151, -1, 152, -1, - -1, 197, 196, -1, -1, 153, 22, -1, -1, 54, - 4, -1, -1, 160, 54, 4, -1, 34, 22, -1, - -1, 201, -1, -1, 160, 204, 203, -1, 201, -1, - 54, 4, -1, 11, -1, 12, -1, 13, -1, 16, - -1, 15, -1, 14, -1, 17, -1, 50, -1, 205, - -1, 206, 181, 161, -1, 240, -1, 162, 4, -1, - 206, 157, 210, 158, 197, -1, 10, 157, 210, 158, - 197, -1, 163, 4, 164, 206, 165, -1, 166, 4, - 164, 206, 167, -1, 168, 211, 169, -1, 168, 169, - -1, 166, 168, 211, 169, 167, -1, 166, 168, 169, - 167, -1, 206, 195, -1, 206, -1, 10, -1, 207, - -1, 209, 160, 207, -1, 209, -1, 209, 160, 39, - -1, 39, -1, -1, 206, -1, 211, 160, 206, -1, - 206, 163, 214, 165, -1, 206, 163, 165, -1, 206, - 170, 22, -1, 206, 166, 214, 167, -1, 206, 168, - 214, 169, -1, 206, 168, 169, -1, 206, 166, 168, - 214, 169, 167, -1, 206, 166, 168, 169, 167, -1, - 206, 40, -1, 206, 41, -1, 206, 240, -1, 206, - 213, -1, 206, 25, -1, 177, 3, -1, 177, 5, - -1, 177, 4, -1, 177, 6, -1, 11, 26, -1, - 11, 27, -1, 178, 9, -1, 174, 157, 212, 38, - 206, 158, -1, 120, 157, 212, 252, 158, -1, 134, - 157, 212, 160, 212, 160, 212, 158, -1, 172, 157, - 212, 160, 212, 158, -1, 173, 157, 212, 160, 212, - 158, -1, 91, 175, 157, 212, 160, 212, 158, -1, - 92, 176, 157, 212, 160, 212, 158, -1, 93, 175, - 157, 212, 160, 212, 158, -1, 94, 176, 157, 212, - 160, 212, 158, -1, 136, 157, 212, 160, 212, 158, - -1, 137, 157, 212, 160, 212, 160, 212, 158, -1, - 138, 157, 212, 160, 212, 160, 212, 158, -1, 140, - 157, 212, 253, 158, -1, 141, 157, 212, 160, 212, - 253, 158, -1, 214, 160, 212, -1, 212, -1, 32, - -1, 33, -1, 37, -1, -1, 208, 240, -1, 126, - 157, 217, 38, 206, 158, -1, 219, -1, -1, 220, - -1, 219, 220, -1, -1, 31, 221, 236, -1, -1, - 30, 222, 237, -1, 60, 59, 226, -1, 182, 18, - 206, -1, 182, 18, 10, -1, -1, 185, 189, 216, - 215, 212, 181, 223, 203, -1, -1, 185, 187, 189, - 216, 215, 212, 181, 224, 203, -1, -1, 185, 188, - 189, 216, 215, 206, 181, 225, 203, -1, 185, 189, - 35, 192, 217, -1, 52, 227, -1, 56, 159, 228, - -1, 22, -1, 53, 159, 22, -1, 69, 159, 22, - -1, 163, 229, 165, -1, 229, 160, 22, -1, 22, - -1, -1, 230, 160, 206, 195, 180, -1, 206, 195, - 180, -1, 230, -1, 230, 160, 39, -1, 39, -1, - -1, 193, 208, 184, 157, 231, 158, 197, 202, 199, - 198, -1, 28, -1, 168, -1, 191, 189, 232, 233, - -1, 29, -1, 169, -1, 244, 235, -1, 190, 189, - 232, -1, -1, 61, -1, 3, -1, 4, -1, 5, - -1, 6, -1, 9, -1, 26, -1, 27, -1, 40, - -1, 41, -1, 25, -1, 166, 214, 167, -1, 163, - 214, 165, -1, 163, 165, -1, 170, 22, -1, 168, - 214, 169, -1, 168, 169, -1, 166, 168, 214, 169, - 167, -1, 166, 168, 169, 167, -1, 213, -1, 59, - 238, 22, 160, 22, -1, 7, -1, 8, -1, 179, - -1, 184, -1, 240, -1, 239, -1, 206, 241, -1, - 242, -1, 243, 160, 242, -1, 244, 245, -1, 234, - 245, -1, 246, 182, 247, -1, 246, 183, 247, -1, - 246, 249, -1, -1, 21, -1, 70, 243, -1, 70, - 10, -1, 71, 17, 241, -1, 71, 11, 241, 160, - 17, 241, 160, 17, 241, -1, 72, 177, 241, 160, - 17, 241, 163, 248, 165, -1, 72, 177, 241, 160, - 17, 241, 163, 165, -1, 73, 193, 208, 241, 157, - 251, 158, 197, 38, 17, 241, 74, 17, 241, -1, - 74, -1, 75, -1, 248, 177, 239, 160, 17, 241, - -1, 177, 239, 160, 17, 241, -1, 182, 255, -1, - 183, 255, -1, 206, 163, 241, 160, 241, 165, -1, - 250, 160, 163, 241, 160, 241, 165, -1, 206, 195, - 241, 195, -1, 17, 195, 241, 195, -1, 251, 160, - 206, 195, 241, 195, -1, 251, 160, 17, 195, 241, - 195, -1, -1, -1, 252, 160, 242, -1, 160, 4, - -1, 253, 160, 4, -1, 58, 57, -1, 57, -1, - 172, 206, 241, 160, 241, -1, 173, 206, 241, 160, - 241, -1, 91, 175, 206, 241, 160, 241, -1, 92, - 176, 206, 241, 160, 241, -1, 93, 175, 206, 241, - 160, 241, -1, 94, 176, 206, 241, 160, 241, -1, - 174, 242, 38, 206, -1, 134, 242, 160, 242, 160, - 242, -1, 135, 242, 160, 206, -1, 136, 242, 160, - 242, -1, 137, 242, 160, 242, 160, 242, -1, 138, - 242, 160, 242, 160, 242, -1, 133, 250, -1, 254, - 193, 208, 241, 157, 251, 158, 197, -1, 257, -1, - 36, -1, -1, 115, 206, 200, -1, 115, 206, 160, - 11, 241, 200, -1, 116, 206, 200, -1, 116, 206, - 160, 11, 241, 200, -1, 117, 242, -1, 256, 118, - 206, 241, 200, -1, 256, 119, 242, 160, 206, 241, - 200, -1, 139, 206, 241, 160, 4, -1, 120, 206, - 241, 252, -1, 140, 206, 241, 253, -1, 141, 206, - 241, 160, 206, 241, 253, -1 + -1, 202, 201, -1, 204, -1, 203, 165, 204, -1, + 155, 164, 157, -1, 155, 164, 156, -1, 158, -1, + -1, 154, 162, 203, 163, -1, -1, 153, 22, -1, + -1, 54, 4, -1, -1, 165, 54, 4, -1, 34, + 22, -1, -1, 209, -1, -1, 165, 212, 211, -1, + 209, -1, 54, 4, -1, 11, -1, 12, -1, 13, + -1, 16, -1, 15, -1, 14, -1, 17, -1, 50, + -1, 213, -1, 214, 186, 166, -1, 248, -1, 167, + 4, -1, 214, 162, 218, 163, 202, -1, 10, 162, + 218, 163, 202, -1, 168, 4, 169, 214, 170, -1, + 171, 4, 169, 214, 172, -1, 173, 219, 174, -1, + 173, 174, -1, 171, 173, 219, 174, 172, -1, 171, + 173, 174, 172, -1, 214, 200, -1, 214, -1, 10, + -1, 215, -1, 217, 165, 215, -1, 217, -1, 217, + 165, 39, -1, 39, -1, -1, 214, -1, 219, 165, + 214, -1, 214, 168, 222, 170, -1, 214, 168, 170, + -1, 214, 175, 22, -1, 214, 171, 222, 172, -1, + 214, 173, 222, 174, -1, 214, 173, 174, -1, 214, + 171, 173, 222, 174, 172, -1, 214, 171, 173, 174, + 172, -1, 214, 40, -1, 214, 41, -1, 214, 248, + -1, 214, 221, -1, 214, 25, -1, 182, 3, -1, + 182, 5, -1, 182, 4, -1, 182, 6, -1, 11, + 26, -1, 11, 27, -1, 183, 9, -1, 179, 162, + 220, 38, 214, 163, -1, 120, 162, 220, 260, 163, + -1, 134, 162, 220, 165, 220, 165, 220, 163, -1, + 177, 162, 220, 165, 220, 163, -1, 178, 162, 220, + 165, 220, 163, -1, 91, 180, 162, 220, 165, 220, + 163, -1, 92, 181, 162, 220, 165, 220, 163, -1, + 93, 180, 162, 220, 165, 220, 163, -1, 94, 181, + 162, 220, 165, 220, 163, -1, 136, 162, 220, 165, + 220, 163, -1, 137, 162, 220, 165, 220, 165, 220, + 163, -1, 138, 162, 220, 165, 220, 165, 220, 163, + -1, 140, 162, 220, 261, 163, -1, 141, 162, 220, + 165, 220, 261, 163, -1, 222, 165, 220, -1, 220, + -1, 32, -1, 33, -1, 37, -1, -1, 216, 248, + -1, 126, 162, 225, 38, 214, 163, -1, 227, -1, + -1, 228, -1, 227, 228, -1, -1, 31, 229, 244, + -1, -1, 30, 230, 245, -1, 60, 59, 234, -1, + 187, 18, 214, -1, 187, 18, 10, -1, -1, 190, + 194, 224, 223, 220, 186, 231, 211, -1, -1, 190, + 192, 194, 224, 223, 220, 186, 232, 211, -1, -1, + 190, 193, 194, 224, 223, 214, 186, 233, 211, -1, + 190, 194, 35, 197, 225, -1, 52, 235, -1, 56, + 164, 236, -1, 22, -1, 53, 164, 22, -1, 69, + 164, 22, -1, 168, 237, 170, -1, 237, 165, 22, + -1, 22, -1, -1, 238, 165, 214, 200, 185, -1, + 214, 200, 185, -1, 238, -1, 238, 165, 39, -1, + 39, -1, -1, 198, 216, 189, 162, 239, 163, 202, + 210, 207, 206, 205, -1, 28, -1, 173, -1, 196, + 194, 240, 241, -1, 29, -1, 174, -1, 252, 243, + -1, 195, 194, 240, -1, -1, 61, -1, 3, -1, + 4, -1, 5, -1, 6, -1, 9, -1, 26, -1, + 27, -1, 40, -1, 41, -1, 25, -1, 171, 222, + 172, -1, 168, 222, 170, -1, 168, 170, -1, 175, + 22, -1, 173, 222, 174, -1, 173, 174, -1, 171, + 173, 222, 174, 172, -1, 171, 173, 174, 172, -1, + 221, -1, 59, 246, 22, 165, 22, -1, 7, -1, + 8, -1, 184, -1, 189, -1, 248, -1, 247, -1, + 214, 249, -1, 250, -1, 251, 165, 250, -1, 252, + 253, -1, 242, 253, -1, 254, 187, 255, -1, 254, + 188, 255, -1, 254, 257, -1, -1, 21, -1, 70, + 251, -1, 70, 10, -1, 71, 17, 249, -1, 71, + 11, 249, 165, 17, 249, 165, 17, 249, -1, 72, + 182, 249, 165, 17, 249, 168, 256, 170, -1, 72, + 182, 249, 165, 17, 249, 168, 170, -1, 73, 198, + 216, 249, 162, 259, 163, 202, 38, 17, 249, 74, + 17, 249, -1, 74, -1, 75, -1, 256, 182, 247, + 165, 17, 249, -1, 182, 247, 165, 17, 249, -1, + 187, 263, -1, 188, 263, -1, 214, 168, 249, 165, + 249, 170, -1, 258, 165, 168, 249, 165, 249, 170, + -1, 214, 200, 249, 200, -1, 17, 200, 249, 200, + -1, 259, 165, 214, 200, 249, 200, -1, 259, 165, + 17, 200, 249, 200, -1, -1, -1, 260, 165, 250, + -1, 165, 4, -1, 261, 165, 4, -1, 58, 57, + -1, 57, -1, 177, 214, 249, 165, 249, -1, 178, + 214, 249, 165, 249, -1, 91, 180, 214, 249, 165, + 249, -1, 92, 181, 214, 249, 165, 249, -1, 93, + 180, 214, 249, 165, 249, -1, 94, 181, 214, 249, + 165, 249, -1, 179, 250, 38, 214, -1, 134, 250, + 165, 250, 165, 250, -1, 135, 250, 165, 214, -1, + 136, 250, 165, 250, -1, 137, 250, 165, 250, 165, + 250, -1, 138, 250, 165, 250, 165, 250, -1, 133, + 258, -1, 262, 198, 216, 249, 162, 259, 163, 202, + -1, 265, -1, 36, -1, -1, 115, 214, 208, -1, + 115, 214, 165, 11, 249, 208, -1, 116, 214, 208, + -1, 116, 214, 165, 11, 249, 208, -1, 117, 250, + -1, 264, 118, 214, 249, 208, -1, 264, 119, 250, + 165, 214, 249, 208, -1, 139, 214, 249, 165, 4, + -1, 120, 214, 249, 260, -1, 140, 214, 249, 261, + -1, 141, 214, 249, 165, 214, 249, 261, -1 }; /* YYRLINE[YYN] -- source line where rule number YYN was defined. */ static const yytype_uint16 yyrline[] = { - 0, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, - 1136, 1137, 1137, 1137, 1137, 1137, 1137, 1138, 1138, 1138, - 1138, 1138, 1138, 1139, 1139, 1139, 1139, 1139, 1139, 1142, - 1142, 1143, 1143, 1144, 1144, 1145, 1145, 1146, 1146, 1150, - 1150, 1151, 1151, 1152, 1152, 1153, 1153, 1154, 1154, 1155, - 1155, 1156, 1156, 1157, 1158, 1163, 1164, 1164, 1164, 1164, - 1164, 1166, 1166, 1166, 1167, 1167, 1169, 1170, 1174, 1178, - 1183, 1189, 1189, 1191, 1192, 1197, 1203, 1204, 1205, 1206, - 1207, 1208, 1212, 1213, 1214, 1218, 1219, 1220, 1221, 1225, - 1226, 1227, 1231, 1232, 1233, 1234, 1235, 1239, 1240, 1241, - 1244, 1245, 1246, 1247, 1248, 1249, 1250, 1251, 1258, 1259, - 1260, 1261, 1262, 1263, 1264, 1265, 1266, 1267, 1271, 1272, - 1277, 1278, 1279, 1280, 1281, 1282, 1285, 1286, 1291, 1292, - 1299, 1300, 1306, 1307, 1316, 1324, 1325, 1330, 1331, 1332, - 1337, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1353, 1357, - 1361, 1368, 1373, 1381, 1410, 1435, 1440, 1450, 1460, 1464, - 1474, 1481, 1490, 1497, 1502, 1507, 1514, 1515, 1522, 1529, - 1537, 1543, 1555, 1583, 1599, 1626, 1654, 1680, 1700, 1726, - 1746, 1758, 1765, 1831, 1841, 1851, 1857, 1867, 1873, 1883, - 1889, 1895, 1908, 1920, 1941, 1949, 1955, 1966, 1971, 1976, - 1981, 1986, 1992, 1998, 2004, 2012, 2023, 2027, 2035, 2035, - 2038, 2038, 2041, 2053, 2074, 2079, 2087, 2088, 2092, 2092, - 2096, 2096, 2099, 2102, 2126, 2138, 2137, 2149, 2148, 2158, - 2157, 2168, 2208, 2211, 2217, 2227, 2231, 2236, 2238, 2243, - 2248, 2257, 2267, 2278, 2282, 2291, 2300, 2305, 2434, 2434, - 2436, 2445, 2445, 2447, 2452, 2464, 2468, 2473, 2477, 2481, - 2486, 2491, 2495, 2499, 2503, 2507, 2511, 2515, 2537, 2559, - 2565, 2578, 2590, 2595, 2607, 2613, 2617, 2627, 2631, 2635, - 2640, 2647, 2647, 2653, 2662, 2667, 2672, 2676, 2685, 2694, - 2707, 2716, 2720, 2728, 2748, 2752, 2757, 2768, 2787, 2796, - 2882, 2886, 2893, 2904, 2917, 2926, 2939, 2950, 2960, 2971, - 2979, 2989, 2996, 2999, 3000, 3008, 3014, 3023, 3027, 3032, - 3048, 3065, 3079, 3093, 3107, 3121, 3133, 3141, 3148, 3154, - 3160, 3166, 3181, 3271, 3276, 3280, 3287, 3294, 3304, 3311, - 3321, 3329, 3343, 3360, 3374, 3389, 3404 + 0, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, + 1142, 1143, 1143, 1143, 1143, 1143, 1143, 1144, 1144, 1144, + 1144, 1144, 1144, 1145, 1145, 1145, 1145, 1145, 1145, 1148, + 1148, 1149, 1149, 1150, 1150, 1151, 1151, 1152, 1152, 1156, + 1156, 1157, 1157, 1158, 1158, 1159, 1159, 1160, 1160, 1161, + 1161, 1162, 1162, 1163, 1164, 1169, 1170, 1170, 1170, 1170, + 1170, 1172, 1172, 1172, 1173, 1173, 1175, 1176, 1180, 1184, + 1189, 1195, 1195, 1197, 1198, 1203, 1209, 1210, 1211, 1212, + 1213, 1214, 1218, 1219, 1220, 1224, 1225, 1226, 1227, 1231, + 1232, 1233, 1237, 1238, 1239, 1240, 1241, 1245, 1246, 1247, + 1250, 1251, 1252, 1253, 1254, 1255, 1256, 1257, 1264, 1265, + 1266, 1267, 1268, 1269, 1270, 1271, 1272, 1273, 1277, 1278, + 1283, 1284, 1285, 1286, 1287, 1288, 1291, 1292, 1297, 1298, + 1309, 1310, 1311, 1314, 1315, 1320, 1321, 1328, 1329, 1335, + 1336, 1345, 1353, 1354, 1359, 1360, 1361, 1366, 1379, 1379, + 1379, 1379, 1379, 1379, 1379, 1382, 1386, 1390, 1397, 1402, + 1410, 1439, 1464, 1469, 1479, 1489, 1493, 1503, 1510, 1519, + 1526, 1531, 1536, 1543, 1544, 1551, 1558, 1566, 1572, 1584, + 1612, 1628, 1655, 1683, 1709, 1729, 1755, 1775, 1787, 1794, + 1860, 1870, 1880, 1886, 1896, 1902, 1912, 1918, 1924, 1937, + 1949, 1970, 1978, 1984, 1995, 2000, 2005, 2010, 2015, 2021, + 2027, 2033, 2041, 2052, 2056, 2064, 2064, 2067, 2067, 2070, + 2082, 2103, 2108, 2116, 2117, 2121, 2121, 2125, 2125, 2128, + 2131, 2155, 2167, 2166, 2178, 2177, 2187, 2186, 2197, 2237, + 2240, 2246, 2256, 2260, 2265, 2267, 2272, 2277, 2286, 2296, + 2307, 2311, 2320, 2329, 2334, 2466, 2466, 2468, 2477, 2477, + 2479, 2484, 2496, 2500, 2505, 2509, 2513, 2518, 2523, 2527, + 2531, 2535, 2539, 2543, 2547, 2569, 2591, 2597, 2610, 2622, + 2627, 2639, 2645, 2649, 2659, 2663, 2667, 2672, 2679, 2679, + 2685, 2694, 2699, 2704, 2708, 2717, 2726, 2739, 2748, 2752, + 2760, 2780, 2784, 2789, 2800, 2819, 2828, 2914, 2918, 2925, + 2936, 2949, 2958, 2971, 2982, 2992, 3003, 3011, 3021, 3028, + 3031, 3032, 3040, 3046, 3055, 3059, 3064, 3080, 3097, 3111, + 3125, 3139, 3153, 3165, 3173, 3180, 3186, 3192, 3198, 3213, + 3303, 3308, 3312, 3319, 3326, 3336, 3343, 3353, 3361, 3375, + 3392, 3406, 3421, 3436 }; #endif @@ -1938,16 +1953,17 @@ static const char *const yytname[] = "PHI_TOK", "SELECT", "VAARG", "EXTRACTELEMENT", "INSERTELEMENT", "SHUFFLEVECTOR", "GETRESULT", "EXTRACTVALUE", "INSERTVALUE", "SIGNEXT", "ZEROEXT", "NORETURN", "INREG", "SRET", "NOUNWIND", "NOALIAS", "BYVAL", - "NEST", "READNONE", "READONLY", "GC", "DEFAULT", "HIDDEN", "PROTECTED", - "'('", "')'", "'='", "','", "'*'", "'\\\\'", "'['", "'x'", "']'", "'<'", - "'>'", "'{'", "'}'", "'c'", "$accept", "ArithmeticOps", "LogicalOps", - "CastOps", "IPredicates", "FPredicates", "IntType", "FPType", - "LocalName", "OptLocalName", "OptAddrSpace", "OptLocalAssign", - "LocalNumber", "GlobalName", "OptGlobalAssign", "GlobalAssign", - "GVInternalLinkage", "GVExternalLinkage", "GVVisibilityStyle", - "FunctionDeclareLinkage", "FunctionDefineLinkage", "AliasLinkage", - "OptCallingConv", "ParamAttr", "OptParamAttrs", "FuncAttr", - "OptFuncAttrs", "OptGC", "OptAlign", "OptCAlign", "SectionString", + "NEST", "READNONE", "READONLY", "GC", "FNNOTE", "INLINE", "ALWAYS", + "NEVER", "OPTIMIZEFORSIZE", "DEFAULT", "HIDDEN", "PROTECTED", "'('", + "')'", "'='", "','", "'*'", "'\\\\'", "'['", "'x'", "']'", "'<'", "'>'", + "'{'", "'}'", "'c'", "$accept", "ArithmeticOps", "LogicalOps", "CastOps", + "IPredicates", "FPredicates", "IntType", "FPType", "LocalName", + "OptLocalName", "OptAddrSpace", "OptLocalAssign", "LocalNumber", + "GlobalName", "OptGlobalAssign", "GlobalAssign", "GVInternalLinkage", + "GVExternalLinkage", "GVVisibilityStyle", "FunctionDeclareLinkage", + "FunctionDefineLinkage", "AliasLinkage", "OptCallingConv", "ParamAttr", + "OptParamAttrs", "FuncAttr", "OptFuncAttrs", "FuncNoteList", "FuncNote", + "OptFuncNotes", "OptGC", "OptAlign", "OptCAlign", "SectionString", "OptSection", "GlobalVarAttributes", "GlobalVarAttribute", "PrimType", "Types", "ArgType", "ResultTypes", "ArgTypeList", "ArgTypeListI", "TypeListI", "ConstVal", "ConstExpr", "ConstVector", "GlobalType", @@ -1983,50 +1999,51 @@ static const yytype_uint16 yytoknum[] = 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, - 405, 406, 407, 408, 409, 410, 411, 40, 41, 61, - 44, 42, 92, 91, 120, 93, 60, 62, 123, 125, - 99 + 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, + 415, 416, 40, 41, 61, 44, 42, 92, 91, 120, + 93, 60, 62, 123, 125, 99 }; # endif /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ static const yytype_uint16 yyr1[] = { - 0, 171, 172, 172, 172, 172, 172, 172, 172, 172, - 172, 173, 173, 173, 173, 173, 173, 174, 174, 174, - 174, 174, 174, 174, 174, 174, 174, 174, 174, 175, - 175, 175, 175, 175, 175, 175, 175, 175, 175, 176, - 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, - 176, 176, 176, 176, 176, 177, 178, 178, 178, 178, - 178, 179, 179, 179, 180, 180, 181, 181, 182, 182, - 183, 184, 184, 185, 185, 186, 187, 187, 187, 187, - 187, 187, 188, 188, 188, 189, 189, 189, 189, 190, - 190, 190, 191, 191, 191, 191, 191, 192, 192, 192, - 193, 193, 193, 193, 193, 193, 193, 193, 194, 194, - 194, 194, 194, 194, 194, 194, 194, 194, 195, 195, - 196, 196, 196, 196, 196, 196, 197, 197, 198, 198, - 199, 199, 200, 200, 201, 202, 202, 203, 203, 204, - 204, 205, 205, 205, 205, 205, 205, 205, 206, 206, - 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, - 206, 207, 208, 208, 209, 209, 210, 210, 210, 210, - 211, 211, 212, 212, 212, 212, 212, 212, 212, 212, - 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, - 212, 212, 213, 213, 213, 213, 213, 213, 213, 213, - 213, 213, 213, 213, 213, 213, 214, 214, 215, 215, - 216, 216, 217, 217, 218, 218, 219, 219, 221, 220, - 222, 220, 220, 220, 220, 223, 220, 224, 220, 225, - 220, 220, 220, 220, 226, 227, 227, 228, 229, 229, - 229, 230, 230, 231, 231, 231, 231, 232, 233, 233, - 234, 235, 235, 236, 237, 238, 238, 239, 239, 239, - 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, - 239, 239, 239, 239, 239, 239, 239, 240, 240, 240, - 240, 241, 241, 242, 243, 243, 244, 244, 245, 245, - 246, 246, 246, 247, 247, 247, 247, 247, 247, 247, - 247, 247, 248, 248, 249, 249, 250, 250, 251, 251, - 251, 251, 251, 252, 252, 253, 253, 254, 254, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 256, 256, 257, 257, 257, 257, - 257, 257, 257, 257, 257, 257, 257 + 0, 176, 177, 177, 177, 177, 177, 177, 177, 177, + 177, 178, 178, 178, 178, 178, 178, 179, 179, 179, + 179, 179, 179, 179, 179, 179, 179, 179, 179, 180, + 180, 180, 180, 180, 180, 180, 180, 180, 180, 181, + 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, + 181, 181, 181, 181, 181, 182, 183, 183, 183, 183, + 183, 184, 184, 184, 185, 185, 186, 186, 187, 187, + 188, 189, 189, 190, 190, 191, 192, 192, 192, 192, + 192, 192, 193, 193, 193, 194, 194, 194, 194, 195, + 195, 195, 196, 196, 196, 196, 196, 197, 197, 197, + 198, 198, 198, 198, 198, 198, 198, 198, 199, 199, + 199, 199, 199, 199, 199, 199, 199, 199, 200, 200, + 201, 201, 201, 201, 201, 201, 202, 202, 203, 203, + 204, 204, 204, 205, 205, 206, 206, 207, 207, 208, + 208, 209, 210, 210, 211, 211, 212, 212, 213, 213, + 213, 213, 213, 213, 213, 214, 214, 214, 214, 214, + 214, 214, 214, 214, 214, 214, 214, 214, 215, 216, + 216, 217, 217, 218, 218, 218, 218, 219, 219, 220, + 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, + 220, 220, 220, 220, 220, 220, 220, 220, 220, 221, + 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, + 221, 221, 221, 222, 222, 223, 223, 224, 224, 225, + 225, 226, 226, 227, 227, 229, 228, 230, 228, 228, + 228, 228, 231, 228, 232, 228, 233, 228, 228, 228, + 228, 234, 235, 235, 236, 237, 237, 237, 238, 238, + 239, 239, 239, 239, 240, 241, 241, 242, 243, 243, + 244, 245, 246, 246, 247, 247, 247, 247, 247, 247, + 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, + 247, 247, 247, 247, 248, 248, 248, 248, 249, 249, + 250, 251, 251, 252, 252, 253, 253, 254, 254, 254, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 256, + 256, 257, 257, 258, 258, 259, 259, 259, 259, 259, + 260, 260, 261, 261, 262, 262, 263, 263, 263, 263, + 263, 263, 263, 263, 263, 263, 263, 263, 263, 263, + 263, 264, 264, 265, 265, 265, 265, 265, 265, 265, + 265, 265, 265, 265 }; /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ @@ -2044,29 +2061,30 @@ static const yytype_uint8 yyr2[] = 1, 1, 0, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 0, 2, - 1, 1, 1, 1, 1, 1, 0, 2, 0, 2, - 0, 2, 0, 3, 2, 0, 1, 0, 3, 1, - 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 3, 1, 2, 5, 5, 5, 5, 3, 2, 5, - 4, 2, 1, 1, 1, 3, 1, 3, 1, 0, - 1, 3, 4, 3, 3, 4, 4, 3, 6, 5, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 6, 5, 8, 6, 6, 7, 7, 7, - 7, 6, 8, 8, 5, 7, 3, 1, 1, 1, - 1, 0, 2, 6, 1, 0, 1, 2, 0, 3, - 0, 3, 3, 3, 3, 0, 8, 0, 9, 0, - 9, 5, 2, 3, 1, 3, 3, 3, 3, 1, - 0, 5, 3, 1, 3, 1, 0, 10, 1, 1, - 4, 1, 1, 2, 3, 0, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 3, 3, 2, - 2, 3, 2, 5, 4, 1, 5, 1, 1, 1, - 1, 1, 1, 2, 1, 3, 2, 2, 3, 3, - 2, 0, 1, 2, 2, 3, 9, 9, 8, 14, - 1, 1, 6, 5, 2, 2, 6, 7, 4, 4, - 6, 6, 0, 0, 3, 2, 3, 2, 1, 5, - 5, 6, 6, 6, 6, 4, 6, 4, 4, 6, - 6, 2, 8, 1, 1, 0, 3, 6, 3, 6, - 2, 5, 7, 5, 4, 4, 7 + 1, 1, 1, 1, 1, 1, 0, 2, 1, 3, + 3, 3, 1, 0, 4, 0, 2, 0, 2, 0, + 3, 2, 0, 1, 0, 3, 1, 2, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 3, 1, 2, + 5, 5, 5, 5, 3, 2, 5, 4, 2, 1, + 1, 1, 3, 1, 3, 1, 0, 1, 3, 4, + 3, 3, 4, 4, 3, 6, 5, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 6, + 5, 8, 6, 6, 7, 7, 7, 7, 6, 8, + 8, 5, 7, 3, 1, 1, 1, 1, 0, 2, + 6, 1, 0, 1, 2, 0, 3, 0, 3, 3, + 3, 3, 0, 8, 0, 9, 0, 9, 5, 2, + 3, 1, 3, 3, 3, 3, 1, 0, 5, 3, + 1, 3, 1, 0, 11, 1, 1, 4, 1, 1, + 2, 3, 0, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 3, 3, 2, 2, 3, 2, + 5, 4, 1, 5, 1, 1, 1, 1, 1, 1, + 2, 1, 3, 2, 2, 3, 3, 2, 0, 1, + 2, 2, 3, 9, 9, 8, 14, 1, 1, 6, + 5, 2, 2, 6, 7, 4, 4, 6, 6, 0, + 0, 3, 2, 3, 2, 1, 5, 5, 6, 6, + 6, 6, 4, 6, 4, 4, 6, 6, 2, 8, + 1, 1, 0, 3, 6, 3, 6, 2, 5, 7, + 5, 4, 4, 7 }; /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state @@ -2074,77 +2092,78 @@ static const yytype_uint8 yyr2[] = means the default is an error. */ static const yytype_uint16 yydefact[] = { - 74, 61, 71, 62, 72, 63, 220, 218, 0, 0, - 0, 0, 0, 0, 85, 73, 0, 74, 216, 89, - 92, 0, 0, 232, 0, 0, 68, 0, 75, 76, + 74, 61, 71, 62, 72, 63, 227, 225, 0, 0, + 0, 0, 0, 0, 85, 73, 0, 74, 223, 89, + 92, 0, 0, 239, 0, 0, 68, 0, 75, 76, 78, 77, 79, 82, 80, 83, 81, 84, 86, 87, - 88, 85, 85, 211, 1, 217, 90, 91, 85, 221, - 93, 94, 95, 96, 85, 291, 219, 291, 0, 0, - 240, 233, 234, 222, 277, 278, 224, 141, 142, 143, - 146, 145, 144, 147, 148, 0, 0, 0, 0, 279, - 280, 149, 223, 151, 211, 211, 97, 210, 0, 100, - 100, 292, 287, 69, 251, 252, 253, 286, 235, 236, - 239, 0, 169, 152, 0, 0, 0, 0, 158, 170, - 0, 0, 169, 0, 0, 0, 99, 98, 0, 208, - 209, 0, 0, 101, 102, 103, 104, 105, 106, 0, - 254, 0, 0, 335, 335, 290, 0, 237, 168, 118, - 164, 166, 0, 0, 0, 0, 0, 0, 157, 0, - 0, 150, 0, 0, 163, 0, 162, 0, 231, 141, - 142, 143, 146, 145, 144, 0, 0, 67, 67, 107, - 0, 248, 249, 250, 70, 334, 318, 0, 0, 0, - 0, 100, 300, 301, 2, 3, 4, 5, 6, 7, + 88, 85, 85, 218, 1, 224, 90, 91, 85, 228, + 93, 94, 95, 96, 85, 298, 226, 298, 0, 0, + 247, 240, 241, 229, 284, 285, 231, 148, 149, 150, + 153, 152, 151, 154, 155, 0, 0, 0, 0, 286, + 287, 156, 230, 158, 218, 218, 97, 217, 0, 100, + 100, 299, 294, 69, 258, 259, 260, 293, 242, 243, + 246, 0, 176, 159, 0, 0, 0, 0, 165, 177, + 0, 0, 176, 0, 0, 0, 99, 98, 0, 215, + 216, 0, 0, 101, 102, 103, 104, 105, 106, 0, + 261, 0, 0, 342, 342, 297, 0, 244, 175, 118, + 171, 173, 0, 0, 0, 0, 0, 0, 164, 0, + 0, 157, 0, 0, 170, 0, 169, 0, 238, 148, + 149, 150, 153, 152, 151, 0, 0, 67, 67, 107, + 0, 255, 256, 257, 70, 341, 325, 0, 0, 0, + 0, 100, 307, 308, 2, 3, 4, 5, 6, 7, 8, 9, 10, 14, 15, 16, 11, 12, 13, 0, 0, 0, 0, 0, 0, 0, 0, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 288, 100, 304, 0, 333, 289, 305, 238, 161, - 0, 126, 67, 67, 160, 0, 171, 0, 126, 67, - 67, 0, 212, 189, 190, 185, 187, 186, 188, 191, - 184, 180, 181, 0, 0, 0, 0, 0, 0, 0, + 0, 295, 100, 311, 0, 340, 296, 312, 245, 168, + 0, 126, 67, 67, 167, 0, 178, 0, 126, 67, + 67, 0, 219, 196, 197, 192, 194, 193, 195, 198, + 191, 187, 188, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 183, 182, 225, 0, 317, 294, 67, 284, 293, + 0, 190, 189, 232, 0, 324, 301, 67, 291, 300, 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, 0, 0, 132, 132, 340, 67, 67, - 331, 0, 0, 0, 0, 0, 67, 67, 67, 67, + 47, 48, 0, 0, 0, 139, 139, 347, 67, 67, + 338, 0, 0, 0, 0, 0, 67, 67, 67, 67, 67, 0, 0, 0, 0, 0, 109, 111, 110, 108, - 112, 113, 114, 115, 116, 119, 167, 165, 154, 155, - 156, 159, 66, 153, 227, 229, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 173, 207, - 0, 0, 0, 177, 0, 174, 0, 0, 0, 137, - 246, 257, 258, 259, 260, 261, 266, 262, 263, 264, - 265, 255, 0, 0, 0, 0, 275, 282, 281, 283, - 0, 0, 295, 0, 0, 67, 67, 67, 67, 0, - 336, 0, 338, 313, 0, 0, 0, 0, 0, 0, + 112, 113, 114, 115, 116, 119, 174, 172, 161, 162, + 163, 166, 66, 160, 234, 236, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 180, 214, + 0, 0, 0, 184, 0, 181, 0, 0, 0, 144, + 253, 264, 265, 266, 267, 268, 273, 269, 270, 271, + 272, 262, 0, 0, 0, 0, 282, 289, 288, 290, + 0, 0, 302, 0, 0, 67, 67, 67, 67, 0, + 343, 0, 345, 320, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 0, - 117, 123, 122, 120, 121, 124, 125, 127, 137, 137, - 0, 0, 0, 0, 0, 313, 0, 0, 0, 0, - 0, 0, 0, 172, 158, 170, 0, 175, 176, 0, - 0, 0, 0, 226, 245, 118, 243, 0, 256, 0, - 269, 0, 0, 0, 272, 0, 270, 285, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 344, 0, - 0, 0, 327, 328, 0, 0, 0, 0, 345, 0, - 0, 0, 325, 0, 132, 0, 228, 230, 67, 0, + 117, 123, 122, 120, 121, 124, 125, 127, 144, 144, + 0, 0, 0, 0, 0, 320, 0, 0, 0, 0, + 0, 0, 0, 179, 165, 177, 0, 182, 183, 0, + 0, 0, 0, 233, 252, 118, 250, 0, 263, 0, + 276, 0, 0, 0, 279, 0, 277, 292, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 351, 0, + 0, 0, 334, 335, 0, 0, 0, 0, 352, 0, + 0, 0, 332, 0, 139, 0, 235, 237, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 206, 179, 0, 0, 0, 0, 0, 0, 139, 137, - 65, 0, 126, 0, 268, 158, 0, 267, 271, 0, - 0, 312, 0, 0, 0, 0, 132, 133, 132, 0, - 0, 0, 0, 0, 0, 343, 315, 0, 67, 319, - 320, 312, 0, 341, 67, 213, 0, 0, 0, 0, - 193, 0, 0, 0, 0, 204, 0, 178, 0, 0, - 67, 134, 140, 138, 64, 242, 244, 118, 135, 0, - 274, 0, 0, 0, 118, 118, 0, 321, 322, 323, - 324, 337, 339, 314, 0, 0, 326, 329, 330, 316, - 0, 0, 132, 0, 0, 0, 0, 0, 201, 0, - 0, 0, 195, 196, 192, 65, 136, 130, 276, 273, - 0, 0, 0, 0, 126, 0, 306, 0, 346, 126, - 342, 197, 198, 199, 200, 0, 0, 0, 205, 241, - 0, 128, 0, 298, 0, 0, 109, 111, 118, 118, - 0, 118, 118, 307, 332, 194, 202, 203, 131, 0, - 247, 296, 0, 297, 0, 309, 308, 0, 0, 0, - 129, 0, 0, 0, 118, 118, 0, 0, 0, 311, - 310, 303, 0, 0, 302, 0, 299 + 213, 186, 0, 0, 0, 0, 0, 0, 146, 144, + 65, 0, 126, 0, 275, 165, 0, 274, 278, 0, + 0, 319, 0, 0, 0, 0, 139, 140, 139, 0, + 0, 0, 0, 0, 0, 350, 322, 0, 67, 326, + 327, 319, 0, 348, 67, 220, 0, 0, 0, 0, + 200, 0, 0, 0, 0, 211, 0, 185, 0, 0, + 67, 141, 147, 145, 64, 249, 251, 118, 142, 0, + 281, 0, 0, 0, 118, 118, 0, 328, 329, 330, + 331, 344, 346, 321, 0, 0, 333, 336, 337, 323, + 0, 0, 139, 0, 0, 0, 0, 0, 208, 0, + 0, 0, 202, 203, 199, 65, 143, 137, 283, 280, + 0, 0, 0, 0, 126, 0, 313, 0, 353, 126, + 349, 204, 205, 206, 207, 0, 0, 0, 212, 248, + 0, 135, 0, 305, 0, 0, 109, 111, 118, 118, + 0, 118, 118, 314, 339, 201, 209, 210, 138, 0, + 133, 303, 0, 304, 0, 316, 315, 0, 0, 0, + 136, 0, 254, 0, 0, 0, 118, 118, 0, 0, + 0, 0, 318, 317, 0, 132, 0, 128, 310, 0, + 0, 0, 134, 0, 309, 0, 131, 130, 129, 306 }; /* YYDEFGOTO[NTERM-NUM]. */ @@ -2152,596 +2171,605 @@ static const yytype_int16 yydefgoto[] = { -1, 278, 279, 280, 305, 322, 165, 166, 79, 595, 113, 12, 134, 80, 14, 15, 41, 42, 43, 48, - 54, 118, 129, 355, 239, 447, 358, 680, 661, 420, - 538, 637, 473, 539, 81, 167, 140, 157, 141, 142, - 110, 379, 406, 380, 121, 88, 158, 16, 17, 18, - 20, 19, 389, 448, 449, 63, 23, 61, 101, 476, - 477, 130, 173, 55, 96, 56, 49, 479, 407, 83, - 409, 288, 289, 57, 92, 93, 231, 665, 135, 330, - 606, 498, 508, 232, 233, 234, 235 + 54, 118, 129, 355, 239, 447, 358, 706, 707, 692, + 680, 661, 420, 538, 637, 473, 539, 81, 167, 140, + 157, 141, 142, 110, 379, 406, 380, 121, 88, 158, + 16, 17, 18, 20, 19, 389, 448, 449, 63, 23, + 61, 101, 476, 477, 130, 173, 55, 96, 56, 49, + 479, 407, 83, 409, 288, 289, 57, 92, 93, 231, + 665, 135, 330, 606, 498, 508, 232, 233, 234, 235 }; /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing STATE-NUM. */ -#define YYPACT_NINF -615 +#define YYPACT_NINF -630 static const yytype_int16 yypact[] = { - 498, -615, -615, -615, -615, -615, -615, -615, 2, -101, - 46, -19, 101, -9, 227, -615, 168, 547, -615, 49, - 266, 22, 25, -615, 24, 170, -615, 1932, -615, -615, - -615, -615, -615, -615, -615, -615, -615, -615, -615, -615, - -615, -81, -81, 181, -615, -615, -615, -615, -81, -615, - -615, -615, -615, -615, -81, 205, -615, -10, 197, 212, - 219, -615, -615, -615, -615, -615, 97, -615, -615, -615, - -615, -615, -615, -615, -615, 259, 263, 3, 629, -615, - -615, -615, -12, -615, 240, 240, 211, -615, 142, 387, - 387, -615, -615, 77, -615, -615, -615, -615, -615, -615, - -615, -53, 1650, -615, 120, 143, 811, 97, -615, -12, - -112, 173, 1650, 166, 142, 142, -615, -615, 1691, -615, - -615, 1950, 335, -615, -615, -615, -615, -615, -615, 1979, - -615, -8, 184, 2213, 2213, -615, 325, -615, -615, -12, - -615, 193, 196, 1997, 1997, 189, -104, 1997, -615, 355, - 202, -615, 1950, 1997, 97, 204, -12, 242, -615, 41, - 353, 354, 361, 362, 366, 277, 368, 1514, 323, -615, - 141, -615, -615, -615, -615, -615, -615, 322, 2038, 72, - 369, 387, -615, -615, -615, -615, -615, -615, -615, -615, - -615, -615, -615, -615, -615, -615, -615, -615, -615, 559, - 285, 559, 285, 1997, 1997, 1997, 1997, -615, -615, -615, - -615, -615, -615, -615, -615, -615, -615, -615, -615, 1997, - 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, - 1997, -615, 387, -615, 104, -615, -615, -615, -615, 183, - 1709, -615, -34, -41, -615, 238, -12, 249, -615, 323, - -29, 1691, -615, -615, -615, -615, -615, -615, -615, -615, - -615, -615, -615, 559, 285, 559, 285, 251, 252, 255, - 256, 257, 261, 262, 1750, 2056, 1131, 394, 264, 265, - 268, -615, -615, -615, 269, -615, 97, 913, -615, 272, - 1081, 1081, -615, 1081, 1979, -615, -615, -615, -615, -615, - -615, -615, -615, -615, -615, 1997, -615, -615, -615, -615, - -615, -615, -615, -615, -615, -615, -615, -615, -615, -615, - -615, -615, 1997, 1997, 1997, -28, 67, -615, 913, -33, - 273, 274, 275, 276, 282, 284, 913, 913, 913, 913, - 913, 385, 1979, 1997, 1997, 423, -615, -615, -615, -615, - -615, -615, -615, -615, -615, -615, -615, -615, 198, -615, - -615, -615, -615, 198, -615, 166, 390, 280, 288, 289, - 300, 1950, 1950, 1950, 1950, 1950, 1950, 1950, -615, -615, - -52, 1175, -107, -615, -79, -615, 1950, 1950, 1950, 298, - 1769, -615, -615, -615, -615, -615, -615, -615, -615, -615, - -615, 398, 1813, 2112, 1408, 407, -615, -615, -615, -615, - 1997, 301, -615, 302, 1081, 913, 913, 913, 913, 18, - -615, 28, -615, -615, 1081, 297, 1997, 1997, 1997, 1997, - 1997, 306, 308, 311, 316, 317, 1997, 1081, 913, 318, - -615, -615, -615, -615, -615, -615, -615, -615, 298, 298, - 1997, 1950, 1950, 1950, 1950, -615, 319, 321, 324, 326, - 308, 336, 1950, -615, 315, 1362, -58, -615, -615, 337, - 339, 447, 15, -615, -615, -12, 340, 343, -615, 473, - -615, -40, 1454, -106, -615, -2, -615, -615, 486, 487, - 348, 346, 347, 359, 363, 1081, 504, 1081, 364, 367, - 1081, 370, -12, -615, 371, 372, 522, 530, 379, 1997, - 1081, 1081, -12, 389, 382, 1997, -615, -615, -14, 388, - 391, 392, 393, 134, 1950, 1950, 1950, 1950, 135, 1950, - -615, -615, 397, 1950, 1950, 1997, 527, 551, -615, 298, - 40, 1871, -615, 396, -615, 401, 52, -615, -615, 1081, - 1081, 2159, 1081, 1081, 1081, 1081, 382, -615, 382, 1997, - 1081, 399, 1997, 1997, 1997, -615, -615, 553, 913, -615, - -615, 2159, 506, -615, 913, -615, 1950, 1950, 1950, 1950, - -615, 412, 403, 413, 414, -615, 308, -615, 417, 418, - 8, -615, -615, -615, -615, -615, -615, -12, 4, 557, - -615, 416, 420, 421, -4, -12, 161, -615, -615, -615, - -615, -615, -615, -615, 422, 1081, -615, -615, -615, -615, - 308, 162, 382, 427, 428, 435, 436, 1950, -615, 1950, - 1950, 188, -615, -615, -615, 40, -615, 541, -615, -615, - 564, 5, 761, 761, -615, 2218, -615, 431, 379, -615, - -615, -615, -615, -615, -615, 439, 442, 443, -615, -615, - 598, 451, 1081, -615, 1227, 7, 448, 449, -615, -615, - 100, -4, -12, -615, 198, -615, -615, -615, -615, 588, - -615, -615, 454, -615, 1227, 183, 183, 600, 761, 761, - -615, 601, 455, 1081, -615, -615, 1081, 603, 549, 183, - 183, -615, 1081, 604, -615, 1081, -615 + 247, -630, -630, -630, -630, -630, -630, -630, 30, -108, + 28, -66, 102, -40, -1, -630, 128, 668, -630, 29, + 248, 21, 44, -630, -28, 143, -630, 1914, -630, -630, + -630, -630, -630, -630, -630, -630, -630, -630, -630, -630, + -630, 191, 191, 170, -630, -630, -630, -630, 191, -630, + -630, -630, -630, -630, 191, 167, -630, -7, 190, 210, + 221, -630, -630, -630, -630, -630, 114, -630, -630, -630, + -630, -630, -630, -630, -630, 289, 315, 3, 50, -630, + -630, -630, -32, -630, 252, 252, 171, -630, 280, 189, + 189, -630, -630, 324, -630, -630, -630, -630, -630, -630, + -630, 57, 1662, -630, 153, 165, 313, 114, -630, -32, + -84, 204, 1662, 214, 280, 280, -630, -630, 1614, -630, + -630, 1955, 366, -630, -630, -630, -630, -630, -630, 1996, + -630, -18, 219, 2230, 2230, -630, 354, -630, -630, -32, + -630, 234, 260, 2040, 2040, 256, -80, 2040, -630, 411, + 275, -630, 1955, 2040, 114, 278, -32, 222, -630, 282, + 438, 439, 440, 441, 442, 158, 443, 1568, 398, -630, + 86, -630, -630, -630, -630, -630, -630, 400, 2081, 105, + 447, 189, -630, -630, -630, -630, -630, -630, -630, -630, + -630, -630, -630, -630, -630, -630, -630, -630, -630, 480, + 284, 480, 284, 2040, 2040, 2040, 2040, -630, -630, -630, + -630, -630, -630, -630, -630, -630, -630, -630, -630, 2040, + 2040, 2040, 2040, 2040, 2040, 2040, 2040, 2040, 2040, 2040, + 2040, -630, 189, -630, 55, -630, -630, -630, -630, 424, + 1703, -630, -19, -36, -630, 287, -32, 297, -630, 398, + 13, 1614, -630, -630, -630, -630, -630, -630, -630, -630, + -630, -630, -630, 480, 284, 480, 284, 299, 300, 306, + 307, 310, 317, 320, 1744, 2122, 541, 453, 323, 326, + 328, -630, -630, -630, 330, -630, 114, 984, -630, 312, + 1157, 1157, -630, 1157, 1996, -630, -630, -630, -630, -630, + -630, -630, -630, -630, -630, 2040, -630, -630, -630, -630, + -630, -630, -630, -630, -630, -630, -630, -630, -630, -630, + -630, -630, 2040, 2040, 2040, -17, 24, -630, 984, -39, + 336, 337, 341, 342, 343, 345, 984, 984, 984, 984, + 984, 457, 1996, 2040, 2040, 509, -630, -630, -630, -630, + -630, -630, -630, -630, -630, -630, -630, -630, 283, -630, + -630, -630, -630, 283, -630, 214, 486, 364, 365, 367, + 368, 1955, 1955, 1955, 1955, 1955, 1955, 1955, -630, -630, + 63, 650, 54, -630, -70, -630, 1955, 1955, 1955, 363, + 1788, -630, -630, -630, -630, -630, -630, -630, -630, -630, + -630, 470, 1829, 2166, 755, 510, -630, -630, -630, -630, + 2040, 369, -630, 374, 1157, 984, 984, 984, 984, 42, + -630, 43, -630, -630, 1157, 373, 2040, 2040, 2040, 2040, + 2040, 377, 378, 379, 385, 397, 2040, 1157, 984, 403, + -630, -630, -630, -630, -630, -630, -630, -630, 363, 363, + 2040, 1955, 1955, 1955, 1955, -630, 406, 420, 423, 425, + 378, 427, 1955, -630, 417, 1432, -60, -630, -630, 428, + 429, 557, 17, -630, -630, -32, 431, 445, -630, 580, + -630, 177, 1034, 129, -630, -24, -630, -630, 588, 592, + 448, 446, 449, 450, 451, 1157, 608, 1157, 452, 460, + 1157, 463, -32, -630, 469, 471, 609, 614, 472, 2040, + 1157, 1157, -32, 476, 475, 2040, -630, -630, -6, 477, + 479, 482, 483, 141, 1955, 1955, 1955, 1955, 202, 1955, + -630, -630, 473, 1955, 1955, 2040, 600, 637, -630, 363, + 481, 1870, -630, 484, -630, 474, -21, -630, -630, 1157, + 1157, 2207, 1157, 1157, 1157, 1157, 475, -630, 475, 2040, + 1157, 485, 2040, 2040, 2040, -630, -630, 647, 984, -630, + -630, 2207, 598, -630, 984, -630, 1955, 1955, 1955, 1955, + -630, 489, 492, 491, 506, -630, 378, -630, 512, 513, + 47, -630, -630, -630, -630, -630, -630, -32, -5, 655, + -630, 507, 516, 514, 4, -32, 212, -630, -630, -630, + -630, -630, -630, -630, 515, 1157, -630, -630, -630, -630, + 378, 242, 475, 521, 526, 532, 533, 1955, -630, 1955, + 1955, 243, -630, -630, -630, 481, -630, 643, -630, -630, + 684, 1, 827, 827, -630, 2248, -630, 534, 472, -630, + -630, -630, -630, -630, -630, 539, 540, 542, -630, -630, + 702, 554, 1157, -630, 1296, 2, 548, 549, -630, -630, + 40, 4, -32, -630, 283, -630, -630, -630, -630, 691, + 562, -630, 552, -630, 1296, 424, 424, 701, 827, 827, + -630, 559, -630, 705, 558, 1157, -630, -630, 147, 1157, + 708, 645, 424, 424, 563, -630, 266, -630, -630, 1157, + 709, 188, -630, 147, -630, 1157, -630, -630, -630, -630 }; /* YYPGOTO[NTERM-NUM]. */ static const yytype_int16 yypgoto[] = { - -615, 96, 112, 190, -165, -160, -178, -615, 0, -11, - -140, 533, -615, 6, -615, -615, -615, -615, 37, -615, - -615, -615, -144, -615, -463, -615, -238, -615, -615, -323, - 29, -615, -424, -615, -615, -26, 410, -125, -615, 516, - 523, -86, -162, -267, 200, 267, 380, -615, -615, 613, - -615, -615, -615, -615, -615, -615, -615, -615, -615, -615, - -615, 542, -615, -615, -615, -615, -615, -615, -614, -80, - 174, -190, -615, -615, 576, -615, 500, -615, -615, -615, - 76, 209, -447, -615, 531, -615, -615 + -630, 220, 223, 285, -181, -175, -174, -630, 0, 94, + -142, 638, -630, 11, -630, -630, -630, -630, 71, -630, + -630, -630, -144, -630, -226, -630, -227, -630, 26, -630, + -630, -630, -308, 132, -630, -424, -630, -630, -26, 494, + -126, -630, 628, 635, -113, -165, -271, 318, 352, 493, + -630, -630, 725, -630, -630, -630, -630, -630, -630, -630, + -630, -630, -630, -630, 656, -630, -630, -630, -630, -630, + -630, -629, -56, 183, -190, -630, -630, 688, -630, 613, + -630, -630, -630, 178, 293, -451, -630, 616, -630, -630 }; /* 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 -216 +#define YYTABLE_NINF -223 static const yytype_int16 yytable[] = { - 11, 82, 293, 422, 170, 281, 13, 105, 382, 384, - 363, 91, 540, 528, 111, 327, 292, 11, 292, 94, - 171, 111, 111, 13, 516, 517, 111, 111, 283, 495, - 331, 332, 333, 334, 335, 168, 323, 294, 536, 497, - 341, 111, 324, 111, -55, -55, -55, -55, 147, 536, - 682, -147, 109, 462, 462, 21, 147, 148, 24, 1, - 467, 547, 3, 111, 5, 245, 249, 253, 254, 537, - 692, 22, 496, 38, 39, 40, 139, 252, 84, 85, - 109, 462, 496, 290, 132, 89, 139, 282, 342, 291, - 468, 90, 156, 11, 345, 46, 1, 47, 367, 3, - 369, 5, 462, 156, 368, 25, 370, 136, 462, 364, - 365, 532, 137, 463, 466, 593, 112, 242, 243, 27, - 462, 246, 111, 112, 112, 544, 360, 250, 112, 112, - 424, 359, 419, -67, 635, 481, 483, 485, 687, 631, - 26, 642, 643, 112, 575, 112, 441, 442, 443, -67, - 28, 444, 287, -147, 439, 445, 446, -147, 462, 95, - 172, 2, 346, 347, 4, 112, 634, 548, 44, 414, - 663, 106, 683, 648, 119, 120, 284, 325, 326, 287, - 328, 58, 348, 349, 59, 350, 351, 60, 352, 353, - 354, 573, 62, 329, 287, 287, 287, 287, 287, 336, - 337, 338, 339, 340, 287, 685, 686, 408, 688, 689, - 408, 408, 462, 408, 139, 546, 86, 437, 87, 98, - 487, 601, 343, 344, 112, 156, 91, 421, -67, 228, - 228, 699, 700, 611, 99, 612, 501, 345, 503, 504, - 505, 100, 441, 442, 443, 229, 229, 444, 408, 64, - 65, 445, 446, 116, 102, 117, 408, 408, 408, 408, - 408, 1, 2, 103, 3, 4, 5, 104, 156, 29, - 30, 31, 32, 33, 34, 35, 36, 87, 37, 415, - 255, 256, 257, 258, 143, 455, 456, 457, 458, 459, - 460, 461, 580, 585, 559, 567, 416, 417, 418, 650, - 469, 470, 471, 281, 598, 346, 347, 144, 50, 51, - 52, 306, 307, 53, 152, 153, 156, 438, 287, 644, - 649, 645, 645, 230, 230, 348, 349, 151, 350, 351, - 149, 352, 353, 354, 408, 408, 408, 408, 408, 169, - 441, 442, 443, 174, 408, 444, 658, 238, 567, 445, - 446, 114, 115, 240, 241, 465, 244, 408, 408, 247, - 248, 251, -56, -57, 475, 519, 520, 521, 522, 613, - -60, -59, 616, 617, 618, -58, 530, 259, 111, 285, - 292, 38, 39, 40, 287, 282, 308, 309, 310, 311, - 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, - 287, 502, 287, 287, 287, 361, 670, 362, 371, 372, - 512, 674, 373, 374, 375, 408, 385, 408, 376, 377, - 408, 386, 387, 436, 518, 388, 390, 440, 450, 486, - 408, 408, 410, 425, 426, 427, 428, 451, 581, 582, - 583, 584, 429, 586, 430, 452, 453, 588, 589, 122, - 123, 124, 125, 126, 127, 128, 465, 454, 472, 478, - 500, 488, 489, 664, 411, 412, 506, 413, 507, 408, - 408, 509, 408, 408, 408, 408, 510, 511, 515, 524, - 408, 525, 531, 568, 526, 535, 527, 684, 408, 574, - 623, 624, 625, 626, 408, 543, 529, 533, -215, 534, - 541, 542, 423, 549, 550, 551, 552, 553, 557, 590, - 431, 432, 433, 434, 435, 597, -69, 1, 2, 554, - 3, 4, 5, 555, 559, 605, 565, 560, 6, 7, - 562, 563, 564, 287, 566, 408, 287, 287, 287, 567, - 594, 655, 572, 656, 657, 605, 571, -214, 576, 591, - 8, 577, 578, 579, 9, 592, 599, 619, 10, 615, - 496, 628, 408, 408, 587, -69, 1, 2, 600, 3, - 4, 5, 627, 629, 630, 632, 633, 6, 7, 638, - 640, 662, 408, 639, 641, 651, 652, 646, 490, 491, - 492, 493, 494, 653, 654, 660, 673, 675, 499, 8, - 676, 677, 678, 9, 679, -18, -19, 10, 408, 408, - 690, 513, 514, 408, 691, 697, 408, 693, 696, 672, - 702, 705, 408, 703, 659, 408, 133, 636, 150, 146, - 45, 366, 131, 97, 236, 594, 64, 65, 0, 107, - 67, 68, 69, 70, 71, 72, 73, 621, 1, 2, - 357, 3, 4, 5, 295, 296, 297, 298, 299, 300, - 301, 302, 303, 304, 523, 237, 0, 0, 0, 556, - 0, 558, 0, 0, 561, 0, 0, 0, 0, 74, - 0, 0, 0, 0, 569, 570, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 602, 603, 0, 607, 608, 609, 610, - 0, 0, 0, 0, 614, 0, 0, 0, 0, 0, - 0, 0, 620, 0, 0, 0, 0, 0, 622, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 391, 392, 393, 394, 64, 65, - 395, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1, 2, 0, 3, 4, 5, 396, 397, 398, 647, - 0, 75, 76, 0, 0, 77, 0, 78, 108, 0, - 0, 399, 400, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 345, 668, 669, 64, 65, - 401, 107, 67, 68, 69, 70, 71, 72, 73, 0, - 1, 2, 0, 3, 4, 5, 681, 184, 185, 186, - 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, - 197, 198, 263, 264, 265, 266, 0, 0, 0, 0, - 0, 74, 694, 695, 0, 0, 0, 698, 0, 0, - 701, 0, 0, 0, 0, 0, 704, 0, 0, 706, - 0, 267, 207, 666, 667, 210, 211, 212, 213, 214, - 215, 216, 217, 218, 0, 268, 0, 269, 270, 271, - 0, 272, 273, 348, 349, 0, 350, 351, 0, 352, - 353, 354, 0, 0, 0, 0, 391, 392, 393, 394, - 64, 65, 395, 0, 402, 0, 0, 403, 0, 404, - 0, 405, 1, 2, 0, 3, 4, 5, 396, 397, - 398, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 399, 400, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 111, 0, - 0, 0, 401, 75, 76, 0, 0, 77, 0, 78, - 145, 0, 0, 0, 0, 0, 0, 0, 0, 184, - 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, - 195, 196, 197, 198, 263, 264, 265, 266, 0, 0, + 11, 82, 281, 170, 382, 384, 293, 105, 168, 528, + 171, 13, 292, 292, 91, 327, 111, 11, 422, 111, + 323, 363, 94, 111, 516, 517, 283, 324, 13, 536, + 331, 332, 333, 334, 335, 682, 111, 294, 111, 249, + 341, 29, 30, 31, 32, 33, 34, 35, 36, 111, + 37, 536, 109, 495, 497, 694, 24, 64, 65, -154, + 107, 67, 68, 69, 70, 71, 72, 73, 111, 1, + 2, 537, 3, 4, 5, 46, 139, 47, 687, 111, + 109, 147, 367, 21, 369, 147, 139, 25, 342, 368, + 148, 370, 156, 11, 245, 462, 496, 496, 26, 22, + 74, 252, 111, 156, 468, 462, 2, 364, 365, 4, + 466, 282, 84, 85, 532, 593, 290, 242, 243, 89, + 27, 246, 291, 112, 28, 90, 112, 250, 44, 424, + 112, 481, 483, 485, -67, 631, 360, 441, 442, 443, + 60, 462, 444, 112, 462, 112, 445, 446, 419, -67, + 548, 359, 287, 601, 439, 172, 112, 575, 38, 39, + 40, 255, 256, 257, 258, 62, -154, 95, 414, 648, + -154, 663, 683, 343, 344, 112, 106, 325, 326, 287, + 328, 284, 441, 442, 443, 58, 112, 444, 91, 421, + -67, 445, 446, 329, 287, 287, 287, 287, 287, 336, + 337, 338, 339, 340, 287, 86, 573, 87, 59, 112, + 634, 546, 98, 116, 139, 117, 437, 75, 76, 462, + 487, 77, 136, 78, 108, 156, 467, 137, 462, 64, + 65, 408, 99, 463, 408, 408, 501, 408, 503, 504, + 505, 1, 2, 100, 3, 4, 5, -222, 611, 540, + 612, 122, 123, 124, 125, 126, 127, 128, 455, 456, + 457, 458, 459, 460, 461, -69, 1, 2, 156, 3, + 4, 5, 408, 469, 470, 471, 102, 6, 7, 415, + 408, 408, 408, 408, 408, -55, -55, -55, -55, 87, + 50, 51, 52, 103, 462, 53, 416, 417, 418, 8, + 281, 547, 704, 9, 580, 705, 559, 10, 253, 254, + 306, 307, 119, 120, 650, 598, 156, 438, 287, 104, + 64, 65, 143, 107, 67, 68, 69, 70, 71, 72, + 73, 132, 1, 2, 144, 3, 4, 5, 519, 520, + 521, 522, 462, 1, 716, 717, 3, 544, 5, 530, + 38, 39, 40, 228, 228, 465, 229, 229, 408, 408, + 408, 408, 408, 74, 475, 585, 149, 567, 408, 613, + 169, 635, 616, 617, 618, 644, 238, 645, 642, 643, + 151, 408, 408, 174, 287, 308, 309, 310, 311, 312, + 313, 314, 315, 316, 317, 318, 319, 320, 321, 240, + 287, 502, 287, 287, 287, 649, 658, 645, 567, 282, + 512, 581, 582, 583, 584, 247, 586, 670, 230, 230, + 588, 589, 674, 241, 518, 441, 442, 443, 244, 712, + 444, 713, 152, 153, 445, 446, 114, 115, 248, 408, + 251, 408, 685, 686, 408, 688, 689, -56, -57, -60, + -59, -58, 259, 111, 408, 408, 465, 285, 292, 361, + 362, 371, 372, 623, 624, 625, 626, 664, 373, 374, + 702, 703, 375, 411, 412, 385, 413, 410, 345, 376, + 75, 76, 377, 568, 77, 386, 78, 145, 387, 574, + 388, 684, 390, 408, 408, 436, 408, 408, 408, 408, + 1, 425, 426, 3, 408, 5, 427, 428, 429, 590, + 430, 423, 408, 440, 655, 597, 656, 657, 408, 431, + 432, 433, 434, 435, 450, 605, 451, 452, 472, 453, + 454, 478, 486, 287, 488, 345, 287, 287, 287, 489, + 594, 500, 506, 507, 509, 605, 346, 347, 64, 65, + 510, 107, 159, 160, 161, 162, 163, 164, 73, 408, + 1, 2, 511, 3, 4, 5, 348, 349, 515, 350, + 351, 524, 352, 353, 354, 295, 296, 297, 298, 299, + 300, 301, 302, 303, 304, 525, 408, 408, 526, 531, + 527, 74, 529, 533, 534, 535, 541, 490, 491, 492, + 493, 494, 543, 346, 347, 549, 408, 499, 542, 550, + 551, 552, 557, 565, 553, 554, 555, 559, 566, 672, + 513, 514, 591, 348, 349, 560, 350, 351, 562, 352, + 353, 354, 408, 408, 563, 594, 564, 567, 571, 408, + 572, 592, 576, 408, 577, 587, 600, 578, 579, 599, + 615, 619, 496, 408, 627, 628, 629, 64, 65, 408, + 107, 159, 160, 161, 162, 163, 164, 73, -221, 1, + 2, 630, 3, 4, 5, 632, 633, 638, 556, 639, + 558, 640, 641, 561, 651, 646, -69, 1, 2, 652, + 3, 4, 5, 569, 570, 653, 654, 660, 6, 7, + 74, 662, 675, 676, 673, 677, 678, 679, 75, 76, + -18, -19, 77, 690, 78, 383, 691, 693, 695, 710, + 8, 698, 699, 700, 9, 709, 715, 711, 10, 659, + 636, 133, 602, 603, 357, 607, 608, 609, 610, 718, + 150, 146, 45, 614, 366, 97, 131, 236, 523, 621, + 237, 620, 0, 0, 0, 0, 0, 622, 0, 0, + 0, 0, 64, 65, 0, 107, 159, 160, 161, 162, + 163, 164, 73, 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, 647, 0, + 0, 0, 0, 0, 0, 74, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 75, 76, 0, + 0, 77, 0, 78, 464, 668, 669, 0, 0, 0, + 391, 392, 393, 394, 64, 65, 395, 0, 0, 0, + 0, 0, 0, 0, 0, 681, 1, 2, 0, 3, + 4, 5, 396, 397, 398, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 399, 400, 0, + 0, 696, 697, 0, 0, 0, 0, 0, 701, 0, + 0, 345, 708, 0, 0, 0, 401, 0, 0, 0, + 0, 0, 714, 0, 0, 0, 0, 0, 719, 0, + 0, 0, 0, 184, 185, 186, 187, 188, 189, 190, + 191, 192, 193, 194, 195, 196, 197, 198, 263, 264, + 265, 266, 75, 76, 0, 0, 77, 0, 78, 484, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 267, 207, 208, 209, 210, 211, 212, - 213, 214, 215, 216, 217, 218, 0, 268, 0, 269, - 270, 271, 0, 272, 273, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 267, 207, 666, + 667, 210, 211, 212, 213, 214, 215, 216, 217, 218, + 0, 268, 0, 269, 270, 271, 0, 272, 273, 348, + 349, 0, 350, 351, 0, 352, 353, 354, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 391, 392, 393, + 394, 64, 65, 395, 0, 402, 0, 0, 403, 0, + 404, 0, 405, 1, 2, 0, 3, 4, 5, 396, + 397, 398, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 399, 400, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 111, + 0, 64, 65, 401, 107, 159, 160, 161, 162, 163, + 164, 73, 0, 1, 2, 0, 3, 4, 5, 0, + 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, + 194, 195, 196, 197, 198, 263, 264, 265, 266, 0, + 0, 0, 0, 0, 74, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 112, 0, 0, 0, 0, 0, 402, 0, 0, 403, - 0, 404, 0, 405, 391, 392, 393, 394, 64, 65, - 395, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1, 2, 0, 3, 4, 5, 396, 397, 398, 0, + 0, 0, 0, 0, 267, 207, 208, 209, 210, 211, + 212, 213, 214, 215, 216, 217, 218, 0, 268, 0, + 269, 270, 271, 0, 272, 273, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 399, 400, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 64, 65, - 401, 107, 159, 160, 161, 162, 163, 164, 73, 0, - 1, 2, 0, 3, 4, 5, 0, 184, 185, 186, - 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, - 197, 198, 263, 264, 265, 266, 0, 0, 0, 0, - 0, 74, 64, 65, 0, 107, 159, 160, 161, 162, - 163, 164, 73, 0, 1, 2, 0, 3, 4, 5, - 0, 267, 207, 208, 209, 210, 211, 212, 213, 214, - 215, 216, 217, 218, 0, 268, 0, 269, 270, 271, - 0, 272, 273, 0, 0, 74, 0, 0, 0, 0, - 391, 392, 393, 394, 0, 0, 395, 0, 0, 0, - 0, 0, 0, 0, 402, 0, 0, 403, 0, 404, - 0, 405, 396, 397, 398, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 112, 0, 0, 0, + 0, 0, 402, 0, 0, 403, 0, 404, 0, 405, + 391, 392, 393, 394, 64, 65, 395, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 2, 0, 3, + 4, 5, 396, 397, 398, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 399, 400, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 75, 76, 0, 0, 77, 0, 78, 545, 0, 0, 0, 0, 0, 0, 0, 401, 0, 0, 0, - 0, 0, 0, 75, 76, 0, 0, 77, 0, 78, - 383, 0, 0, 184, 185, 186, 187, 188, 189, 190, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 263, 264, 265, 266, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 75, 76, 0, - 0, 77, 0, 78, 464, 0, 0, 267, 207, 208, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 267, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, - 0, 268, 0, 269, 270, 271, 0, 272, 273, 64, + 0, 268, 0, 269, 270, 271, 0, 272, 273, 391, + 392, 393, 394, 0, 0, 395, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 396, 397, 398, 0, 402, 0, 0, 403, 0, + 404, 0, 405, 0, 0, 0, 399, 400, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 401, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 184, 185, 186, 187, 188, 189, 190, 191, + 192, 193, 194, 195, 196, 197, 198, 263, 264, 265, + 266, 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, 267, 207, 208, 209, + 210, 211, 212, 213, 214, 215, 216, 217, 218, 0, + 268, 0, 269, 270, 271, 0, 272, 273, 0, 64, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, 3, 4, 5, 260, 0, 0, - 402, 0, 0, 403, 0, 404, 0, 405, 0, 0, - 0, 0, 261, 262, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 64, 65, 111, 107, 159, - 160, 161, 162, 163, 164, 73, 0, 1, 2, 0, - 3, 4, 5, 0, 0, 0, 0, 0, 184, 185, + 0, 0, 0, 0, 402, 0, 0, 403, 0, 404, + 0, 405, 261, 262, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 111, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, - 196, 197, 198, 263, 264, 265, 266, 0, 74, 0, - 0, 64, 65, 0, 107, 159, 160, 161, 162, 163, - 164, 73, 0, 1, 2, 0, 3, 4, 5, 0, + 196, 197, 198, 263, 264, 265, 266, 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, 267, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 0, 268, 0, 269, 270, - 271, 0, 272, 273, 74, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 112, - 0, 64, 65, -67, 0, 274, 0, 0, 275, 0, - 276, 0, 277, 1, 2, 0, 3, 4, 5, 260, + 271, 0, 272, 273, 0, 64, 65, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, + 3, 4, 5, 260, 112, 0, 0, 0, -67, 0, + 274, 0, 0, 275, 0, 276, 0, 277, 261, 262, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 261, 262, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 111, - 75, 76, 0, 0, 77, 0, 78, 484, 0, 0, + 0, 64, 65, 111, 154, 67, 68, 69, 70, 71, + 72, 73, 0, 1, 2, 0, 3, 4, 5, 0, + 0, 0, 0, 0, 184, 185, 186, 187, 188, 189, + 190, 191, 192, 193, 194, 195, 196, 197, 198, 263, + 264, 265, 266, 0, 74, 0, 0, 0, 0, 64, + 65, 0, 107, 67, 68, 69, 70, 71, 72, 73, + 0, 1, 2, 0, 3, 4, 5, 0, 267, 207, + 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, + 218, 138, 268, 0, 269, 270, 271, 0, 272, 273, + 64, 65, 74, 107, 67, 68, 69, 70, 71, 72, + 73, 0, 1, 2, 0, 3, 4, 5, 0, 0, + 112, 0, 0, 0, 0, 0, 274, 0, 0, 275, + 155, 276, 356, 277, 0, 0, 0, 0, 0, 0, + 0, 64, 65, 74, 107, 159, 160, 161, 162, 163, + 164, 73, 0, 1, 2, 0, 3, 4, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, - 194, 195, 196, 197, 198, 263, 264, 265, 266, 0, - 0, 0, 0, 0, 0, 0, 75, 76, 0, 0, - 77, 0, 78, 545, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 267, 207, 208, 209, 210, 211, - 212, 213, 214, 215, 216, 217, 218, 0, 268, 0, - 269, 270, 271, 0, 272, 273, 0, 64, 65, 0, - 107, 67, 68, 69, 70, 71, 72, 73, 0, 1, - 2, 112, 3, 4, 5, 0, 0, 274, 0, 0, - 275, 0, 276, 0, 277, 0, 0, 0, 0, 138, - 0, 0, 0, 0, 0, 0, 0, 0, 64, 65, - 74, 154, 67, 68, 69, 70, 71, 72, 73, 0, - 1, 2, 0, 3, 4, 5, 64, 65, 0, 107, - 67, 68, 69, 70, 71, 72, 73, 0, 1, 2, - 0, 3, 4, 5, 0, 0, 0, 0, 0, 0, - 0, 74, 0, 0, 0, 0, 0, 0, 356, 0, - 0, 0, 0, 0, 0, 0, 0, 64, 65, 74, - 107, 159, 160, 161, 162, 163, 164, 73, 0, 1, - 2, 0, 3, 4, 5, 0, 64, 65, 0, 107, - 67, 68, 69, 70, 71, 72, 73, 0, 1, 2, + 0, 75, 76, 0, 0, 77, 0, 78, 0, 0, + 0, 0, 0, 0, 74, 64, 65, 0, 107, 67, + 68, 69, 70, 71, 72, 73, 0, 1, 2, 0, + 3, 4, 5, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 474, 0, 75, + 76, 0, 0, 77, 0, 78, 64, 65, 74, 107, + 159, 160, 161, 162, 163, 164, 73, 0, 1, 2, 0, 3, 4, 5, 0, 0, 0, 0, 0, 0, - 74, 0, 0, 0, 0, 0, 0, 0, 474, 0, - 0, 0, 75, 76, 0, 0, 77, 155, 78, 74, - 64, 65, 0, 107, 159, 160, 161, 162, 163, 164, - 73, 0, 1, 2, 0, 3, 4, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 75, 76, 0, 0, 77, 0, 78, - 0, 0, 0, 74, 0, 0, 0, 0, 0, 0, + 75, 76, 0, 0, 77, 0, 78, 64, 65, 74, + 107, 67, 68, 69, 70, 71, 72, 73, 0, 1, + 2, 0, 3, 4, 5, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 596, + 0, 75, 76, 0, 378, 77, 0, 78, 0, 0, + 74, 64, 65, 0, 66, 67, 68, 69, 70, 71, + 72, 73, 0, 1, 2, 0, 3, 4, 5, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 75, 76, 0, 0, 77, + 0, 78, 64, 65, 74, 107, 159, 160, 161, 162, + 163, 164, 73, 0, 1, 2, 0, 3, 4, 5, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 75, 76, 0, 480, + 77, 0, 78, 64, 65, 74, 154, 67, 68, 69, + 70, 71, 72, 73, 0, 1, 2, 0, 3, 4, + 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 75, 76, 0, + 0, 77, 0, 78, 0, 0, 74, 64, 65, 0, + 107, 67, 68, 69, 70, 71, 72, 73, 0, 1, + 2, 0, 3, 4, 5, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 75, 76, 0, 0, 77, 0, 78, 64, 65, - 0, 107, 67, 68, 69, 70, 71, 72, 73, 0, + 74, 286, 67, 68, 69, 70, 71, 72, 73, 0, 1, 2, 0, 3, 4, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 596, 0, 75, 76, 0, 378, 77, 0, 78, 0, - 0, 74, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 75, 76, 0, 0, 77, 0, 78, 0, 64, - 65, 0, 66, 67, 68, 69, 70, 71, 72, 73, - 0, 1, 2, 0, 3, 4, 5, 64, 65, 0, - 107, 159, 160, 161, 162, 163, 164, 73, 0, 1, - 2, 0, 3, 4, 5, 75, 76, 0, 480, 77, - 0, 78, 74, 0, 0, 0, 64, 65, 0, 154, - 67, 68, 69, 70, 71, 72, 73, 0, 1, 2, - 74, 3, 4, 5, 64, 65, 0, 107, 67, 68, - 69, 70, 71, 72, 73, 0, 1, 2, 0, 3, - 4, 5, 0, 0, 0, 0, 0, 0, 0, 74, - 0, 0, 0, 75, 76, 0, 0, 77, 0, 78, - 0, 0, 0, 0, 0, 64, 65, 74, 286, 67, - 68, 69, 70, 71, 72, 73, 0, 1, 2, 0, - 3, 4, 5, 64, 65, 0, 107, 159, 160, 161, - 162, 163, 164, 73, 0, 1, 2, 0, 3, 4, - 5, 0, 0, 0, 0, 0, 0, 0, 74, 0, - 0, 0, 0, 0, 75, 76, 0, 0, 77, 0, - 78, 0, 0, 0, 0, 0, 74, 0, 0, 0, 0, 0, 75, 76, 0, 0, 77, 0, 78, 64, - 65, 0, 107, 159, 160, 161, 162, 163, 164, 73, + 65, 74, 107, 159, 160, 161, 162, 163, 164, 73, 0, 1, 2, 0, 3, 4, 5, 0, 0, 0, - 0, 75, 76, 0, 0, 77, 0, 78, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 75, - 76, 0, 74, 77, 0, 78, 64, 65, 0, 107, - 67, 68, 69, 70, 71, 72, 604, 0, 1, 2, - 0, 3, 4, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 75, 76, 0, 0, 77, 0, 78, 0, 0, 74, + 0, 0, 0, 75, 76, 0, 0, 77, 0, 78, + 0, 0, 74, 64, 65, 0, 107, 159, 160, 161, + 162, 163, 164, 73, 0, 1, 2, 0, 3, 4, + 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 75, 76, 0, + 0, 77, 0, 78, 64, 65, 74, 107, 67, 68, + 69, 70, 71, 72, 604, 0, 1, 2, 0, 3, + 4, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 75, 76, - 0, 0, 77, 0, 381, 64, 65, 0, 107, 67, - 68, 69, 70, 71, 72, 671, 0, 1, 2, 0, - 3, 4, 5, 0, 0, 0, 0, 0, 0, 175, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 74, 0, - 176, 177, 0, 0, 75, 76, 0, 0, 77, 0, - 482, 0, 0, 178, 179, 180, 181, 182, 183, 184, - 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, - 195, 196, 197, 198, 199, 200, 201, 202, 0, 0, + 0, 0, 77, 0, 78, 64, 65, 74, 107, 67, + 68, 69, 70, 71, 72, 671, 175, 1, 2, 0, + 3, 4, 5, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 176, 177, 75, + 76, 0, 0, 77, 0, 381, 0, 0, 74, 0, + 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, + 198, 199, 200, 201, 202, 0, 0, 0, 0, 0, + 0, 0, 0, 75, 76, 0, 0, 77, 0, 482, + 0, 0, 0, 0, 0, 203, 204, 205, 0, 0, + 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, + 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, + 226, 227, 0, 0, 75, 76, 0, 0, 77, 0, + 78, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 75, 76, 0, 0, 77, 0, 78, 203, 204, - 205, 0, 0, 206, 207, 208, 209, 210, 211, 212, - 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, - 223, 224, 225, 226, 227, 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, - 75, 76, 0, 0, 77, 0, 78 + 0, 0, 0, 0, 0, 75, 76, 0, 0, 77, + 0, 78 }; static const yytype_int16 yycheck[] = { - 0, 27, 180, 326, 129, 167, 0, 4, 275, 276, - 248, 21, 475, 460, 55, 205, 11, 17, 11, 29, - 28, 55, 55, 17, 448, 449, 55, 55, 168, 11, - 220, 221, 222, 223, 224, 121, 201, 181, 34, 11, - 230, 55, 202, 55, 3, 4, 5, 6, 160, 34, - 664, 55, 78, 160, 160, 53, 160, 169, 159, 19, - 167, 167, 22, 55, 24, 169, 152, 26, 27, 54, - 684, 69, 54, 154, 155, 156, 102, 157, 41, 42, - 106, 160, 54, 11, 7, 48, 112, 167, 232, 17, - 169, 54, 118, 93, 54, 46, 19, 48, 263, 22, - 265, 24, 160, 129, 264, 59, 266, 160, 160, 249, - 250, 169, 165, 165, 381, 539, 157, 143, 144, 18, - 160, 147, 55, 157, 157, 165, 167, 153, 157, 157, - 163, 165, 160, 161, 597, 402, 403, 404, 38, 586, - 159, 604, 605, 157, 158, 157, 142, 143, 144, 161, - 159, 147, 178, 157, 344, 151, 152, 161, 160, 169, - 168, 20, 122, 123, 23, 157, 158, 169, 0, 294, - 165, 168, 165, 620, 32, 33, 170, 203, 204, 205, - 206, 159, 142, 143, 159, 145, 146, 163, 148, 149, - 150, 514, 22, 219, 220, 221, 222, 223, 224, 225, - 226, 227, 228, 229, 230, 668, 669, 287, 671, 672, - 290, 291, 160, 293, 240, 482, 35, 342, 37, 22, - 410, 169, 118, 119, 157, 251, 21, 160, 161, 133, - 134, 694, 695, 556, 22, 558, 426, 54, 428, 429, - 430, 22, 142, 143, 144, 133, 134, 147, 328, 7, - 8, 151, 152, 42, 157, 44, 336, 337, 338, 339, - 340, 19, 20, 4, 22, 23, 24, 4, 294, 42, - 43, 44, 45, 46, 47, 48, 49, 37, 51, 305, - 3, 4, 5, 6, 164, 371, 372, 373, 374, 375, - 376, 377, 158, 158, 160, 160, 322, 323, 324, 622, - 386, 387, 388, 465, 542, 122, 123, 164, 42, 43, - 44, 26, 27, 47, 114, 115, 342, 343, 344, 158, - 158, 160, 160, 133, 134, 142, 143, 161, 145, 146, - 157, 148, 149, 150, 414, 415, 416, 417, 418, 4, - 142, 143, 144, 159, 424, 147, 158, 22, 160, 151, - 152, 84, 85, 160, 158, 381, 167, 437, 438, 4, - 158, 157, 9, 9, 390, 451, 452, 453, 454, 559, - 9, 9, 562, 563, 564, 9, 462, 9, 55, 57, - 11, 154, 155, 156, 410, 465, 101, 102, 103, 104, - 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, - 426, 427, 428, 429, 430, 167, 644, 158, 157, 157, - 436, 649, 157, 157, 157, 495, 22, 497, 157, 157, - 500, 157, 157, 38, 450, 157, 157, 4, 38, 22, - 510, 511, 160, 160, 160, 160, 160, 157, 524, 525, - 526, 527, 160, 529, 160, 157, 157, 533, 534, 62, - 63, 64, 65, 66, 67, 68, 482, 157, 160, 61, - 163, 160, 160, 641, 290, 291, 160, 293, 160, 549, - 550, 160, 552, 553, 554, 555, 160, 160, 160, 160, - 560, 160, 167, 509, 160, 38, 160, 665, 568, 515, - 576, 577, 578, 579, 574, 22, 160, 160, 0, 160, - 160, 158, 328, 17, 17, 157, 160, 160, 4, 535, - 336, 337, 338, 339, 340, 541, 18, 19, 20, 160, - 22, 23, 24, 160, 160, 551, 4, 160, 30, 31, - 160, 160, 160, 559, 4, 615, 562, 563, 564, 160, - 540, 627, 160, 629, 630, 571, 157, 0, 160, 22, - 52, 160, 160, 160, 56, 4, 160, 4, 60, 160, - 54, 158, 642, 643, 167, 18, 19, 20, 167, 22, - 23, 24, 160, 160, 160, 158, 158, 30, 31, 22, - 160, 17, 662, 167, 163, 158, 158, 165, 414, 415, - 416, 417, 418, 158, 158, 54, 165, 158, 424, 52, - 158, 158, 4, 56, 153, 157, 157, 60, 688, 689, - 22, 437, 438, 693, 160, 160, 696, 17, 17, 645, - 17, 17, 702, 74, 635, 705, 93, 598, 112, 106, - 17, 251, 90, 57, 134, 635, 7, 8, -1, 10, - 11, 12, 13, 14, 15, 16, 17, 571, 19, 20, - 240, 22, 23, 24, 95, 96, 97, 98, 99, 100, - 101, 102, 103, 104, 455, 134, -1, -1, -1, 495, - -1, 497, -1, -1, 500, -1, -1, -1, -1, 50, - -1, -1, -1, -1, 510, 511, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 549, 550, -1, 552, 553, 554, 555, - -1, -1, -1, -1, 560, -1, -1, -1, -1, -1, - -1, -1, 568, -1, -1, -1, -1, -1, 574, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 3, 4, 5, 6, 7, 8, - 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 19, 20, -1, 22, 23, 24, 25, 26, 27, 615, - -1, 162, 163, -1, -1, 166, -1, 168, 169, -1, - -1, 40, 41, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 54, 642, 643, 7, 8, - 59, 10, 11, 12, 13, 14, 15, 16, 17, -1, - 19, 20, -1, 22, 23, 24, 662, 76, 77, 78, - 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, - 89, 90, 91, 92, 93, 94, -1, -1, -1, -1, - -1, 50, 688, 689, -1, -1, -1, 693, -1, -1, - 696, -1, -1, -1, -1, -1, 702, -1, -1, 705, - -1, 120, 121, 122, 123, 124, 125, 126, 127, 128, - 129, 130, 131, 132, -1, 134, -1, 136, 137, 138, - -1, 140, 141, 142, 143, -1, 145, 146, -1, 148, - 149, 150, -1, -1, -1, -1, 3, 4, 5, 6, - 7, 8, 9, -1, 163, -1, -1, 166, -1, 168, - -1, 170, 19, 20, -1, 22, 23, 24, 25, 26, - 27, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 40, 41, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 55, -1, - -1, -1, 59, 162, 163, -1, -1, 166, -1, 168, - 169, -1, -1, -1, -1, -1, -1, -1, -1, 76, - 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, - 87, 88, 89, 90, 91, 92, 93, 94, -1, -1, + 0, 27, 167, 129, 275, 276, 180, 4, 121, 460, + 28, 0, 11, 11, 21, 205, 55, 17, 326, 55, + 201, 248, 29, 55, 448, 449, 168, 202, 17, 34, + 220, 221, 222, 223, 224, 664, 55, 181, 55, 152, + 230, 42, 43, 44, 45, 46, 47, 48, 49, 55, + 51, 34, 78, 11, 11, 684, 164, 7, 8, 55, + 10, 11, 12, 13, 14, 15, 16, 17, 55, 19, + 20, 54, 22, 23, 24, 46, 102, 48, 38, 55, + 106, 165, 263, 53, 265, 165, 112, 59, 232, 264, + 174, 266, 118, 93, 174, 165, 54, 54, 164, 69, + 50, 157, 55, 129, 174, 165, 20, 249, 250, 23, + 381, 167, 41, 42, 174, 539, 11, 143, 144, 48, + 18, 147, 17, 162, 164, 54, 162, 153, 0, 168, + 162, 402, 403, 404, 166, 586, 172, 142, 143, 144, + 168, 165, 147, 162, 165, 162, 151, 152, 165, 166, + 174, 170, 178, 174, 344, 173, 162, 163, 159, 160, + 161, 3, 4, 5, 6, 22, 162, 174, 294, 620, + 166, 170, 170, 118, 119, 162, 173, 203, 204, 205, + 206, 170, 142, 143, 144, 164, 162, 147, 21, 165, + 166, 151, 152, 219, 220, 221, 222, 223, 224, 225, + 226, 227, 228, 229, 230, 35, 514, 37, 164, 162, + 163, 482, 22, 42, 240, 44, 342, 167, 168, 165, + 410, 171, 165, 173, 174, 251, 172, 170, 165, 7, + 8, 287, 22, 170, 290, 291, 426, 293, 428, 429, + 430, 19, 20, 22, 22, 23, 24, 0, 556, 475, + 558, 62, 63, 64, 65, 66, 67, 68, 371, 372, + 373, 374, 375, 376, 377, 18, 19, 20, 294, 22, + 23, 24, 328, 386, 387, 388, 162, 30, 31, 305, + 336, 337, 338, 339, 340, 3, 4, 5, 6, 37, + 42, 43, 44, 4, 165, 47, 322, 323, 324, 52, + 465, 172, 155, 56, 163, 158, 165, 60, 26, 27, + 26, 27, 32, 33, 622, 542, 342, 343, 344, 4, + 7, 8, 169, 10, 11, 12, 13, 14, 15, 16, + 17, 7, 19, 20, 169, 22, 23, 24, 451, 452, + 453, 454, 165, 19, 156, 157, 22, 170, 24, 462, + 159, 160, 161, 133, 134, 381, 133, 134, 414, 415, + 416, 417, 418, 50, 390, 163, 162, 165, 424, 559, + 4, 597, 562, 563, 564, 163, 22, 165, 604, 605, + 166, 437, 438, 164, 410, 101, 102, 103, 104, 105, + 106, 107, 108, 109, 110, 111, 112, 113, 114, 165, + 426, 427, 428, 429, 430, 163, 163, 165, 165, 465, + 436, 524, 525, 526, 527, 4, 529, 644, 133, 134, + 533, 534, 649, 163, 450, 142, 143, 144, 172, 163, + 147, 165, 114, 115, 151, 152, 84, 85, 163, 495, + 162, 497, 668, 669, 500, 671, 672, 9, 9, 9, + 9, 9, 9, 55, 510, 511, 482, 57, 11, 172, + 163, 162, 162, 576, 577, 578, 579, 641, 162, 162, + 696, 697, 162, 290, 291, 22, 293, 165, 54, 162, + 167, 168, 162, 509, 171, 162, 173, 174, 162, 515, + 162, 665, 162, 549, 550, 38, 552, 553, 554, 555, + 19, 165, 165, 22, 560, 24, 165, 165, 165, 535, + 165, 328, 568, 4, 627, 541, 629, 630, 574, 336, + 337, 338, 339, 340, 38, 551, 162, 162, 165, 162, + 162, 61, 22, 559, 165, 54, 562, 563, 564, 165, + 540, 168, 165, 165, 165, 571, 122, 123, 7, 8, + 165, 10, 11, 12, 13, 14, 15, 16, 17, 615, + 19, 20, 165, 22, 23, 24, 142, 143, 165, 145, + 146, 165, 148, 149, 150, 95, 96, 97, 98, 99, + 100, 101, 102, 103, 104, 165, 642, 643, 165, 172, + 165, 50, 165, 165, 165, 38, 165, 414, 415, 416, + 417, 418, 22, 122, 123, 17, 662, 424, 163, 17, + 162, 165, 4, 4, 165, 165, 165, 165, 4, 645, + 437, 438, 22, 142, 143, 165, 145, 146, 165, 148, + 149, 150, 688, 689, 165, 635, 165, 165, 162, 695, + 165, 4, 165, 699, 165, 172, 172, 165, 165, 165, + 165, 4, 54, 709, 165, 163, 165, 7, 8, 715, + 10, 11, 12, 13, 14, 15, 16, 17, 0, 19, + 20, 165, 22, 23, 24, 163, 163, 22, 495, 172, + 497, 165, 168, 500, 163, 170, 18, 19, 20, 163, + 22, 23, 24, 510, 511, 163, 163, 54, 30, 31, + 50, 17, 163, 163, 170, 163, 4, 153, 167, 168, + 162, 162, 171, 22, 173, 174, 154, 165, 17, 74, + 52, 162, 17, 165, 56, 17, 17, 164, 60, 635, + 598, 93, 549, 550, 240, 552, 553, 554, 555, 713, + 112, 106, 17, 560, 251, 57, 90, 134, 455, 571, + 134, 568, -1, -1, -1, -1, -1, 574, -1, -1, + -1, -1, 7, 8, -1, 10, 11, 12, 13, 14, + 15, 16, 17, -1, 19, 20, -1, 22, 23, 24, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 615, -1, + -1, -1, -1, -1, -1, 50, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 167, 168, -1, + -1, 171, -1, 173, 174, 642, 643, -1, -1, -1, + 3, 4, 5, 6, 7, 8, 9, -1, -1, -1, + -1, -1, -1, -1, -1, 662, 19, 20, -1, 22, + 23, 24, 25, 26, 27, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 40, 41, -1, + -1, 688, 689, -1, -1, -1, -1, -1, 695, -1, + -1, 54, 699, -1, -1, -1, 59, -1, -1, -1, + -1, -1, 709, -1, -1, -1, -1, -1, 715, -1, + -1, -1, -1, 76, 77, 78, 79, 80, 81, 82, + 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, + 93, 94, 167, 168, -1, -1, 171, -1, 173, 174, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 120, 121, 122, 123, 124, 125, 126, - 127, 128, 129, 130, 131, 132, -1, 134, -1, 136, - 137, 138, -1, 140, 141, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 120, 121, 122, + 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, + -1, 134, -1, 136, 137, 138, -1, 140, 141, 142, + 143, -1, 145, 146, -1, 148, 149, 150, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 3, 4, 5, + 6, 7, 8, 9, -1, 168, -1, -1, 171, -1, + 173, -1, 175, 19, 20, -1, 22, 23, 24, 25, + 26, 27, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 40, 41, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 55, + -1, 7, 8, 59, 10, 11, 12, 13, 14, 15, + 16, 17, -1, 19, 20, -1, 22, 23, 24, -1, + 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, + 86, 87, 88, 89, 90, 91, 92, 93, 94, -1, + -1, -1, -1, -1, 50, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 157, -1, -1, -1, -1, -1, 163, -1, -1, 166, - -1, 168, -1, 170, 3, 4, 5, 6, 7, 8, - 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 19, 20, -1, 22, 23, 24, 25, 26, 27, -1, + -1, -1, -1, -1, 120, 121, 122, 123, 124, 125, + 126, 127, 128, 129, 130, 131, 132, -1, 134, -1, + 136, 137, 138, -1, 140, 141, -1, -1, -1, -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, -1, -1, 7, 8, - 59, 10, 11, 12, 13, 14, 15, 16, 17, -1, - 19, 20, -1, 22, 23, 24, -1, 76, 77, 78, - 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, - 89, 90, 91, 92, 93, 94, -1, -1, -1, -1, - -1, 50, 7, 8, -1, 10, 11, 12, 13, 14, - 15, 16, 17, -1, 19, 20, -1, 22, 23, 24, - -1, 120, 121, 122, 123, 124, 125, 126, 127, 128, - 129, 130, 131, 132, -1, 134, -1, 136, 137, 138, - -1, 140, 141, -1, -1, 50, -1, -1, -1, -1, - 3, 4, 5, 6, -1, -1, 9, -1, -1, -1, - -1, -1, -1, -1, 163, -1, -1, 166, -1, 168, - -1, 170, 25, 26, 27, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 162, -1, -1, -1, + -1, -1, 168, -1, -1, 171, -1, 173, -1, 175, + 3, 4, 5, 6, 7, 8, 9, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 19, 20, -1, 22, + 23, 24, 25, 26, 27, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 40, 41, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 167, 168, -1, -1, 171, -1, 173, 174, -1, -1, -1, -1, -1, -1, -1, 59, -1, -1, -1, - -1, -1, -1, 162, 163, -1, -1, 166, -1, 168, - 169, -1, -1, 76, 77, 78, 79, 80, 81, 82, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 162, 163, -1, - -1, 166, -1, 168, 169, -1, -1, 120, 121, 122, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, - -1, 134, -1, 136, 137, 138, -1, 140, 141, 7, + -1, 134, -1, 136, 137, 138, -1, 140, 141, 3, + 4, 5, 6, -1, -1, 9, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 25, 26, 27, -1, 168, -1, -1, 171, -1, + 173, -1, 175, -1, -1, -1, 40, 41, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 59, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 76, 77, 78, 79, 80, 81, 82, 83, + 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, + 94, -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, 120, 121, 122, 123, + 124, 125, 126, 127, 128, 129, 130, 131, 132, -1, + 134, -1, 136, 137, 138, -1, 140, 141, -1, 7, 8, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 19, 20, -1, 22, 23, 24, 25, -1, -1, - 163, -1, -1, 166, -1, 168, -1, 170, -1, -1, - -1, -1, 40, 41, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 7, 8, 55, 10, 11, - 12, 13, 14, 15, 16, 17, -1, 19, 20, -1, - 22, 23, 24, -1, -1, -1, -1, -1, 76, 77, + -1, -1, -1, -1, 168, -1, -1, 171, -1, 173, + -1, 175, 40, 41, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 55, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, - 88, 89, 90, 91, 92, 93, 94, -1, 50, -1, - -1, 7, 8, -1, 10, 11, 12, 13, 14, 15, - 16, 17, -1, 19, 20, -1, 22, 23, 24, -1, + 88, 89, 90, 91, 92, 93, 94, -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, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, -1, 134, -1, 136, 137, - 138, -1, 140, 141, 50, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 157, - -1, 7, 8, 161, -1, 163, -1, -1, 166, -1, - 168, -1, 170, 19, 20, -1, 22, 23, 24, 25, + 138, -1, 140, 141, -1, 7, 8, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 19, 20, -1, + 22, 23, 24, 25, 162, -1, -1, -1, 166, -1, + 168, -1, -1, 171, -1, 173, -1, 175, 40, 41, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 40, 41, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 55, - 162, 163, -1, -1, 166, -1, 168, 169, -1, -1, + -1, 7, 8, 55, 10, 11, 12, 13, 14, 15, + 16, 17, -1, 19, 20, -1, 22, 23, 24, -1, + -1, -1, -1, -1, 76, 77, 78, 79, 80, 81, + 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, + 92, 93, 94, -1, 50, -1, -1, -1, -1, 7, + 8, -1, 10, 11, 12, 13, 14, 15, 16, 17, + -1, 19, 20, -1, 22, 23, 24, -1, 120, 121, + 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, + 132, 39, 134, -1, 136, 137, 138, -1, 140, 141, + 7, 8, 50, 10, 11, 12, 13, 14, 15, 16, + 17, -1, 19, 20, -1, 22, 23, 24, -1, -1, + 162, -1, -1, -1, -1, -1, 168, -1, -1, 171, + 126, 173, 39, 175, -1, -1, -1, -1, -1, -1, + -1, 7, 8, 50, 10, 11, 12, 13, 14, 15, + 16, 17, -1, 19, 20, -1, 22, 23, 24, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, - 86, 87, 88, 89, 90, 91, 92, 93, 94, -1, - -1, -1, -1, -1, -1, -1, 162, 163, -1, -1, - 166, -1, 168, 169, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 120, 121, 122, 123, 124, 125, - 126, 127, 128, 129, 130, 131, 132, -1, 134, -1, - 136, 137, 138, -1, 140, 141, -1, 7, 8, -1, - 10, 11, 12, 13, 14, 15, 16, 17, -1, 19, - 20, 157, 22, 23, 24, -1, -1, 163, -1, -1, - 166, -1, 168, -1, 170, -1, -1, -1, -1, 39, - -1, -1, -1, -1, -1, -1, -1, -1, 7, 8, - 50, 10, 11, 12, 13, 14, 15, 16, 17, -1, - 19, 20, -1, 22, 23, 24, 7, 8, -1, 10, + -1, 167, 168, -1, -1, 171, -1, 173, -1, -1, + -1, -1, -1, -1, 50, 7, 8, -1, 10, 11, + 12, 13, 14, 15, 16, 17, -1, 19, 20, -1, + 22, 23, 24, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 39, -1, 167, + 168, -1, -1, 171, -1, 173, 7, 8, 50, 10, 11, 12, 13, 14, 15, 16, 17, -1, 19, 20, -1, 22, 23, 24, -1, -1, -1, -1, -1, -1, - -1, 50, -1, -1, -1, -1, -1, -1, 39, -1, - -1, -1, -1, -1, -1, -1, -1, 7, 8, 50, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 167, 168, -1, -1, 171, -1, 173, 7, 8, 50, 10, 11, 12, 13, 14, 15, 16, 17, -1, 19, - 20, -1, 22, 23, 24, -1, 7, 8, -1, 10, - 11, 12, 13, 14, 15, 16, 17, -1, 19, 20, - -1, 22, 23, 24, -1, -1, -1, -1, -1, -1, - 50, -1, -1, -1, -1, -1, -1, -1, 39, -1, - -1, -1, 162, 163, -1, -1, 166, 126, 168, 50, - 7, 8, -1, 10, 11, 12, 13, 14, 15, 16, - 17, -1, 19, 20, -1, 22, 23, 24, -1, -1, + 20, -1, 22, 23, 24, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 39, + -1, 167, 168, -1, 170, 171, -1, 173, -1, -1, + 50, 7, 8, -1, 10, 11, 12, 13, 14, 15, + 16, 17, -1, 19, 20, -1, 22, 23, 24, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 162, 163, -1, -1, 166, -1, 168, - -1, -1, -1, 50, -1, -1, -1, -1, -1, -1, - -1, 162, 163, -1, -1, 166, -1, 168, 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, 167, 168, -1, -1, 171, + -1, 173, 7, 8, 50, 10, 11, 12, 13, 14, + 15, 16, 17, -1, 19, 20, -1, 22, 23, 24, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 39, -1, 162, 163, -1, 165, 166, -1, 168, -1, - -1, 50, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 162, 163, -1, -1, 166, -1, 168, -1, 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, 162, 163, -1, 165, 166, - -1, 168, 50, -1, -1, -1, 7, 8, -1, 10, - 11, 12, 13, 14, 15, 16, 17, -1, 19, 20, - 50, 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, -1, 50, - -1, -1, -1, 162, 163, -1, -1, 166, -1, 168, - -1, -1, -1, -1, -1, 7, 8, 50, 10, 11, - 12, 13, 14, 15, 16, 17, -1, 19, 20, -1, - 22, 23, 24, 7, 8, -1, 10, 11, 12, 13, + -1, -1, -1, -1, -1, -1, 167, 168, -1, 170, + 171, -1, 173, 7, 8, 50, 10, 11, 12, 13, 14, 15, 16, 17, -1, 19, 20, -1, 22, 23, - 24, -1, -1, -1, -1, -1, -1, -1, 50, -1, - -1, -1, -1, -1, 162, 163, -1, -1, 166, -1, - 168, -1, -1, -1, -1, -1, 50, -1, -1, -1, - -1, -1, 162, 163, -1, -1, 166, -1, 168, 7, - 8, -1, 10, 11, 12, 13, 14, 15, 16, 17, - -1, 19, 20, -1, 22, 23, 24, -1, -1, -1, - -1, 162, 163, -1, -1, 166, -1, 168, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 162, - 163, -1, 50, 166, -1, 168, 7, 8, -1, 10, - 11, 12, 13, 14, 15, 16, 17, -1, 19, 20, - -1, 22, 23, 24, -1, -1, -1, -1, -1, -1, + 24, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 167, 168, -1, + -1, 171, -1, 173, -1, -1, 50, 7, 8, -1, + 10, 11, 12, 13, 14, 15, 16, 17, -1, 19, + 20, -1, 22, 23, 24, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 162, 163, -1, -1, 166, -1, 168, -1, -1, 50, - -1, -1, -1, -1, -1, -1, -1, -1, 162, 163, - -1, -1, 166, -1, 168, 7, 8, -1, 10, 11, - 12, 13, 14, 15, 16, 17, -1, 19, 20, -1, - 22, 23, 24, -1, -1, -1, -1, -1, -1, 36, + -1, 167, 168, -1, -1, 171, -1, 173, 7, 8, + 50, 10, 11, 12, 13, 14, 15, 16, 17, -1, + 19, 20, -1, 22, 23, 24, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 50, -1, - 57, 58, -1, -1, 162, 163, -1, -1, 166, -1, - 168, -1, -1, 70, 71, 72, 73, 74, 75, 76, - 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, - 87, 88, 89, 90, 91, 92, 93, 94, -1, -1, + -1, -1, 167, 168, -1, -1, 171, -1, 173, 7, + 8, 50, 10, 11, 12, 13, 14, 15, 16, 17, + -1, 19, 20, -1, 22, 23, 24, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 162, 163, -1, -1, 166, -1, 168, 115, 116, - 117, -1, -1, 120, 121, 122, 123, 124, 125, 126, - 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, - 137, 138, 139, 140, 141, -1, -1, -1, -1, -1, + -1, -1, -1, 167, 168, -1, -1, 171, -1, 173, + -1, -1, 50, 7, 8, -1, 10, 11, 12, 13, + 14, 15, 16, 17, -1, 19, 20, -1, 22, 23, + 24, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 167, 168, -1, + -1, 171, -1, 173, 7, 8, 50, 10, 11, 12, + 13, 14, 15, 16, 17, -1, 19, 20, -1, 22, + 23, 24, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 167, 168, + -1, -1, 171, -1, 173, 7, 8, 50, 10, 11, + 12, 13, 14, 15, 16, 17, 36, 19, 20, -1, + 22, 23, 24, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 57, 58, 167, + 168, -1, -1, 171, -1, 173, -1, -1, 50, -1, + 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, + 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, + 90, 91, 92, 93, 94, -1, -1, -1, -1, -1, + -1, -1, -1, 167, 168, -1, -1, 171, -1, 173, + -1, -1, -1, -1, -1, 115, 116, 117, -1, -1, + 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, + 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, + 140, 141, -1, -1, 167, 168, -1, -1, 171, -1, + 173, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 162, 163, -1, -1, 166, -1, 168 + -1, -1, -1, -1, -1, 167, 168, -1, -1, 171, + -1, 173 }; /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing @@ -2749,76 +2777,77 @@ static const yytype_int16 yycheck[] = static const yytype_uint16 yystos[] = { 0, 19, 20, 22, 23, 24, 30, 31, 52, 56, - 60, 179, 182, 184, 185, 186, 218, 219, 220, 222, - 221, 53, 69, 227, 159, 59, 159, 18, 159, 42, - 43, 44, 45, 46, 47, 48, 49, 51, 154, 155, - 156, 187, 188, 189, 0, 220, 46, 48, 190, 237, - 42, 43, 44, 47, 191, 234, 236, 244, 159, 159, - 163, 228, 22, 226, 7, 8, 10, 11, 12, 13, - 14, 15, 16, 17, 50, 162, 163, 166, 168, 179, - 184, 205, 206, 240, 189, 189, 35, 37, 216, 189, - 189, 21, 245, 246, 29, 169, 235, 245, 22, 22, - 22, 229, 157, 4, 4, 4, 168, 10, 169, 206, - 211, 55, 157, 181, 216, 216, 42, 44, 192, 32, - 33, 215, 62, 63, 64, 65, 66, 67, 68, 193, - 232, 232, 7, 182, 183, 249, 160, 165, 39, 206, - 207, 209, 210, 164, 164, 169, 211, 160, 169, 157, - 210, 161, 215, 215, 10, 126, 206, 208, 217, 11, - 12, 13, 14, 15, 16, 177, 178, 206, 212, 4, - 208, 28, 168, 233, 159, 36, 57, 58, 70, 71, + 60, 184, 187, 189, 190, 191, 226, 227, 228, 230, + 229, 53, 69, 235, 164, 59, 164, 18, 164, 42, + 43, 44, 45, 46, 47, 48, 49, 51, 159, 160, + 161, 192, 193, 194, 0, 228, 46, 48, 195, 245, + 42, 43, 44, 47, 196, 242, 244, 252, 164, 164, + 168, 236, 22, 234, 7, 8, 10, 11, 12, 13, + 14, 15, 16, 17, 50, 167, 168, 171, 173, 184, + 189, 213, 214, 248, 194, 194, 35, 37, 224, 194, + 194, 21, 253, 254, 29, 174, 243, 253, 22, 22, + 22, 237, 162, 4, 4, 4, 173, 10, 174, 214, + 219, 55, 162, 186, 224, 224, 42, 44, 197, 32, + 33, 223, 62, 63, 64, 65, 66, 67, 68, 198, + 240, 240, 7, 187, 188, 257, 165, 170, 39, 214, + 215, 217, 218, 169, 169, 174, 219, 165, 174, 162, + 218, 166, 223, 223, 10, 126, 214, 216, 225, 11, + 12, 13, 14, 15, 16, 182, 183, 214, 220, 4, + 216, 28, 173, 241, 164, 36, 57, 58, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 115, 116, 117, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, - 134, 135, 136, 137, 138, 139, 140, 141, 172, 173, - 174, 247, 254, 255, 256, 257, 247, 255, 22, 195, - 160, 158, 206, 206, 167, 169, 206, 4, 158, 212, - 206, 157, 240, 26, 27, 3, 4, 5, 6, 9, + 134, 135, 136, 137, 138, 139, 140, 141, 177, 178, + 179, 255, 262, 263, 264, 265, 255, 263, 22, 200, + 165, 163, 214, 214, 172, 174, 214, 4, 163, 220, + 214, 162, 248, 26, 27, 3, 4, 5, 6, 9, 25, 40, 41, 91, 92, 93, 94, 120, 134, 136, - 137, 138, 140, 141, 163, 166, 168, 170, 172, 173, - 174, 213, 240, 181, 184, 57, 10, 206, 242, 243, - 11, 17, 11, 177, 193, 95, 96, 97, 98, 99, - 100, 101, 102, 103, 104, 175, 26, 27, 101, 102, + 137, 138, 140, 141, 168, 171, 173, 175, 177, 178, + 179, 221, 248, 186, 189, 57, 10, 214, 250, 251, + 11, 17, 11, 182, 198, 95, 96, 97, 98, 99, + 100, 101, 102, 103, 104, 180, 26, 27, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, - 113, 114, 176, 175, 176, 206, 206, 242, 206, 206, - 250, 242, 242, 242, 242, 242, 206, 206, 206, 206, - 206, 242, 193, 118, 119, 54, 122, 123, 142, 143, - 145, 146, 148, 149, 150, 194, 39, 207, 197, 165, - 167, 167, 158, 197, 181, 181, 217, 175, 176, 175, - 176, 157, 157, 157, 157, 157, 157, 157, 165, 212, - 214, 168, 214, 169, 214, 22, 157, 157, 157, 223, - 157, 3, 4, 5, 6, 9, 25, 26, 27, 40, - 41, 59, 163, 166, 168, 170, 213, 239, 240, 241, - 160, 241, 241, 241, 208, 206, 206, 206, 206, 160, - 200, 160, 200, 241, 163, 160, 160, 160, 160, 160, - 160, 241, 241, 241, 241, 241, 38, 208, 206, 242, - 4, 142, 143, 144, 147, 151, 152, 196, 224, 225, - 38, 157, 157, 157, 157, 212, 212, 212, 212, 212, - 212, 212, 160, 165, 169, 206, 214, 167, 169, 212, - 212, 212, 160, 203, 39, 206, 230, 231, 61, 238, - 165, 214, 168, 214, 169, 214, 22, 242, 160, 160, - 241, 241, 241, 241, 241, 11, 54, 11, 252, 241, - 163, 242, 206, 242, 242, 242, 160, 160, 253, 160, - 160, 160, 206, 241, 241, 160, 203, 203, 206, 212, - 212, 212, 212, 252, 160, 160, 160, 160, 253, 160, - 212, 167, 169, 160, 160, 38, 34, 54, 201, 204, - 195, 160, 158, 22, 165, 169, 214, 167, 169, 17, - 17, 157, 160, 160, 160, 160, 241, 4, 241, 160, - 160, 241, 160, 160, 160, 4, 4, 160, 206, 241, - 241, 157, 160, 200, 206, 158, 160, 160, 160, 160, - 158, 212, 212, 212, 212, 158, 212, 167, 212, 212, - 206, 22, 4, 203, 179, 180, 39, 206, 197, 160, - 167, 169, 241, 241, 17, 206, 251, 241, 241, 241, - 241, 200, 200, 242, 241, 160, 242, 242, 242, 4, - 241, 251, 241, 212, 212, 212, 212, 160, 158, 160, - 160, 253, 158, 158, 158, 195, 201, 202, 22, 167, - 160, 163, 195, 195, 158, 160, 165, 241, 253, 158, - 200, 158, 158, 158, 158, 212, 212, 212, 158, 180, - 54, 199, 17, 165, 177, 248, 122, 123, 241, 241, - 197, 17, 206, 165, 197, 158, 158, 158, 4, 153, - 198, 241, 239, 165, 177, 195, 195, 38, 195, 195, - 22, 160, 239, 17, 241, 241, 17, 160, 241, 195, - 195, 241, 17, 74, 241, 17, 241 + 113, 114, 181, 180, 181, 214, 214, 250, 214, 214, + 258, 250, 250, 250, 250, 250, 214, 214, 214, 214, + 214, 250, 198, 118, 119, 54, 122, 123, 142, 143, + 145, 146, 148, 149, 150, 199, 39, 215, 202, 170, + 172, 172, 163, 202, 186, 186, 225, 180, 181, 180, + 181, 162, 162, 162, 162, 162, 162, 162, 170, 220, + 222, 173, 222, 174, 222, 22, 162, 162, 162, 231, + 162, 3, 4, 5, 6, 9, 25, 26, 27, 40, + 41, 59, 168, 171, 173, 175, 221, 247, 248, 249, + 165, 249, 249, 249, 216, 214, 214, 214, 214, 165, + 208, 165, 208, 249, 168, 165, 165, 165, 165, 165, + 165, 249, 249, 249, 249, 249, 38, 216, 214, 250, + 4, 142, 143, 144, 147, 151, 152, 201, 232, 233, + 38, 162, 162, 162, 162, 220, 220, 220, 220, 220, + 220, 220, 165, 170, 174, 214, 222, 172, 174, 220, + 220, 220, 165, 211, 39, 214, 238, 239, 61, 246, + 170, 222, 173, 222, 174, 222, 22, 250, 165, 165, + 249, 249, 249, 249, 249, 11, 54, 11, 260, 249, + 168, 250, 214, 250, 250, 250, 165, 165, 261, 165, + 165, 165, 214, 249, 249, 165, 211, 211, 214, 220, + 220, 220, 220, 260, 165, 165, 165, 165, 261, 165, + 220, 172, 174, 165, 165, 38, 34, 54, 209, 212, + 200, 165, 163, 22, 170, 174, 222, 172, 174, 17, + 17, 162, 165, 165, 165, 165, 249, 4, 249, 165, + 165, 249, 165, 165, 165, 4, 4, 165, 214, 249, + 249, 162, 165, 208, 214, 163, 165, 165, 165, 165, + 163, 220, 220, 220, 220, 163, 220, 172, 220, 220, + 214, 22, 4, 211, 184, 185, 39, 214, 202, 165, + 172, 174, 249, 249, 17, 214, 259, 249, 249, 249, + 249, 208, 208, 250, 249, 165, 250, 250, 250, 4, + 249, 259, 249, 220, 220, 220, 220, 165, 163, 165, + 165, 261, 163, 163, 163, 200, 209, 210, 22, 172, + 165, 168, 200, 200, 163, 165, 170, 249, 261, 163, + 208, 163, 163, 163, 163, 220, 220, 220, 163, 185, + 54, 207, 17, 170, 182, 256, 122, 123, 249, 249, + 202, 17, 214, 170, 202, 163, 163, 163, 4, 153, + 206, 249, 247, 170, 182, 200, 200, 38, 200, 200, + 22, 154, 205, 165, 247, 17, 249, 249, 162, 17, + 165, 249, 200, 200, 155, 158, 203, 204, 249, 17, + 74, 164, 163, 165, 249, 17, 156, 157, 204, 249 }; #define yyerrok (yyerrstatus = 0) @@ -3633,152 +3662,152 @@ yyreduce: switch (yyn) { case 29: -#line 1142 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1148 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.IPredicate) = ICmpInst::ICMP_EQ; ;} break; case 30: -#line 1142 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1148 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.IPredicate) = ICmpInst::ICMP_NE; ;} break; case 31: -#line 1143 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1149 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.IPredicate) = ICmpInst::ICMP_SLT; ;} break; case 32: -#line 1143 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1149 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.IPredicate) = ICmpInst::ICMP_SGT; ;} break; case 33: -#line 1144 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1150 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.IPredicate) = ICmpInst::ICMP_SLE; ;} break; case 34: -#line 1144 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1150 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.IPredicate) = ICmpInst::ICMP_SGE; ;} break; case 35: -#line 1145 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1151 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.IPredicate) = ICmpInst::ICMP_ULT; ;} break; case 36: -#line 1145 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1151 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.IPredicate) = ICmpInst::ICMP_UGT; ;} break; case 37: -#line 1146 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1152 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.IPredicate) = ICmpInst::ICMP_ULE; ;} break; case 38: -#line 1146 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1152 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.IPredicate) = ICmpInst::ICMP_UGE; ;} break; case 39: -#line 1150 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1156 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.FPredicate) = FCmpInst::FCMP_OEQ; ;} break; case 40: -#line 1150 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1156 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.FPredicate) = FCmpInst::FCMP_ONE; ;} break; case 41: -#line 1151 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1157 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.FPredicate) = FCmpInst::FCMP_OLT; ;} break; case 42: -#line 1151 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1157 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.FPredicate) = FCmpInst::FCMP_OGT; ;} break; case 43: -#line 1152 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1158 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.FPredicate) = FCmpInst::FCMP_OLE; ;} break; case 44: -#line 1152 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1158 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.FPredicate) = FCmpInst::FCMP_OGE; ;} break; case 45: -#line 1153 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1159 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.FPredicate) = FCmpInst::FCMP_ORD; ;} break; case 46: -#line 1153 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1159 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.FPredicate) = FCmpInst::FCMP_UNO; ;} break; case 47: -#line 1154 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1160 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.FPredicate) = FCmpInst::FCMP_UEQ; ;} break; case 48: -#line 1154 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1160 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.FPredicate) = FCmpInst::FCMP_UNE; ;} break; case 49: -#line 1155 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1161 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.FPredicate) = FCmpInst::FCMP_ULT; ;} break; case 50: -#line 1155 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1161 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.FPredicate) = FCmpInst::FCMP_UGT; ;} break; case 51: -#line 1156 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1162 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.FPredicate) = FCmpInst::FCMP_ULE; ;} break; case 52: -#line 1156 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1162 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.FPredicate) = FCmpInst::FCMP_UGE; ;} break; case 53: -#line 1157 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1163 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.FPredicate) = FCmpInst::FCMP_TRUE; ;} break; case 54: -#line 1158 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1164 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.FPredicate) = FCmpInst::FCMP_FALSE; ;} break; case 65: -#line 1167 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1173 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.StrVal) = 0; ;} break; case 66: -#line 1169 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1175 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.UIntVal)=(yyvsp[(3) - (4)].UInt64Val); ;} break; case 67: -#line 1170 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1176 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.UIntVal)=0; ;} break; case 68: -#line 1174 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1180 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.StrVal) = (yyvsp[(1) - (2)].StrVal); CHECK_FOR_ERROR @@ -3786,7 +3815,7 @@ yyreduce: break; case 69: -#line 1178 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1184 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.StrVal) = 0; CHECK_FOR_ERROR @@ -3794,7 +3823,7 @@ yyreduce: break; case 70: -#line 1183 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1189 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.UIntVal) = (yyvsp[(1) - (2)].UIntVal); CHECK_FOR_ERROR @@ -3802,7 +3831,7 @@ yyreduce: break; case 74: -#line 1192 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1198 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.StrVal) = 0; CHECK_FOR_ERROR @@ -3810,7 +3839,7 @@ yyreduce: break; case 75: -#line 1197 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1203 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.StrVal) = (yyvsp[(1) - (2)].StrVal); CHECK_FOR_ERROR @@ -3818,162 +3847,162 @@ yyreduce: break; case 76: -#line 1203 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1209 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.Linkage) = GlobalValue::InternalLinkage; ;} break; case 77: -#line 1204 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1210 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.Linkage) = GlobalValue::WeakLinkage; ;} break; case 78: -#line 1205 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1211 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.Linkage) = GlobalValue::LinkOnceLinkage; ;} break; case 79: -#line 1206 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1212 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.Linkage) = GlobalValue::AppendingLinkage; ;} break; case 80: -#line 1207 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1213 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.Linkage) = GlobalValue::DLLExportLinkage; ;} break; case 81: -#line 1208 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1214 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.Linkage) = GlobalValue::CommonLinkage; ;} break; case 82: -#line 1212 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1218 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.Linkage) = GlobalValue::DLLImportLinkage; ;} break; case 83: -#line 1213 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1219 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.Linkage) = GlobalValue::ExternalWeakLinkage; ;} break; case 84: -#line 1214 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1220 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.Linkage) = GlobalValue::ExternalLinkage; ;} break; case 85: -#line 1218 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1224 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.Visibility) = GlobalValue::DefaultVisibility; ;} break; case 86: -#line 1219 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1225 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.Visibility) = GlobalValue::DefaultVisibility; ;} break; case 87: -#line 1220 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1226 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.Visibility) = GlobalValue::HiddenVisibility; ;} break; case 88: -#line 1221 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1227 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.Visibility) = GlobalValue::ProtectedVisibility; ;} break; case 89: -#line 1225 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1231 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.Linkage) = GlobalValue::ExternalLinkage; ;} break; case 90: -#line 1226 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1232 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.Linkage) = GlobalValue::DLLImportLinkage; ;} break; case 91: -#line 1227 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1233 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.Linkage) = GlobalValue::ExternalWeakLinkage; ;} break; case 92: -#line 1231 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1237 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.Linkage) = GlobalValue::ExternalLinkage; ;} break; case 93: -#line 1232 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1238 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.Linkage) = GlobalValue::InternalLinkage; ;} break; case 94: -#line 1233 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1239 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.Linkage) = GlobalValue::LinkOnceLinkage; ;} break; case 95: -#line 1234 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1240 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.Linkage) = GlobalValue::WeakLinkage; ;} break; case 96: -#line 1235 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1241 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.Linkage) = GlobalValue::DLLExportLinkage; ;} break; case 97: -#line 1239 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1245 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.Linkage) = GlobalValue::ExternalLinkage; ;} break; case 98: -#line 1240 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1246 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.Linkage) = GlobalValue::WeakLinkage; ;} break; case 99: -#line 1241 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1247 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.Linkage) = GlobalValue::InternalLinkage; ;} break; case 100: -#line 1244 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1250 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.UIntVal) = CallingConv::C; ;} break; case 101: -#line 1245 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1251 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.UIntVal) = CallingConv::C; ;} break; case 102: -#line 1246 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1252 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.UIntVal) = CallingConv::Fast; ;} break; case 103: -#line 1247 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1253 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.UIntVal) = CallingConv::Cold; ;} break; case 104: -#line 1248 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1254 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.UIntVal) = CallingConv::X86_StdCall; ;} break; case 105: -#line 1249 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1255 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.UIntVal) = CallingConv::X86_FastCall; ;} break; case 106: -#line 1250 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1256 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.UIntVal) = CallingConv::X86_SSECall; ;} break; case 107: -#line 1251 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1257 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { if ((unsigned)(yyvsp[(2) - (2)].UInt64Val) != (yyvsp[(2) - (2)].UInt64Val)) GEN_ERROR("Calling conv too large"); @@ -3983,129 +4012,174 @@ yyreduce: break; case 108: -#line 1258 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1264 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.ParamAttrs) = ParamAttr::ZExt; ;} break; case 109: -#line 1259 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1265 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.ParamAttrs) = ParamAttr::ZExt; ;} break; case 110: -#line 1260 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1266 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.ParamAttrs) = ParamAttr::SExt; ;} break; case 111: -#line 1261 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1267 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.ParamAttrs) = ParamAttr::SExt; ;} break; case 112: -#line 1262 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1268 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.ParamAttrs) = ParamAttr::InReg; ;} break; case 113: -#line 1263 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1269 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.ParamAttrs) = ParamAttr::StructRet; ;} break; case 114: -#line 1264 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1270 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.ParamAttrs) = ParamAttr::NoAlias; ;} break; case 115: -#line 1265 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1271 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.ParamAttrs) = ParamAttr::ByVal; ;} break; case 116: -#line 1266 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1272 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.ParamAttrs) = ParamAttr::Nest; ;} break; case 117: -#line 1267 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1273 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.ParamAttrs) = ParamAttr::constructAlignmentFromInt((yyvsp[(2) - (2)].UInt64Val)); ;} break; case 118: -#line 1271 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1277 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.ParamAttrs) = ParamAttr::None; ;} break; case 119: -#line 1272 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1278 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.ParamAttrs) = (yyvsp[(1) - (2)].ParamAttrs) | (yyvsp[(2) - (2)].ParamAttrs); ;} break; case 120: -#line 1277 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1283 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.ParamAttrs) = ParamAttr::NoReturn; ;} break; case 121: -#line 1278 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1284 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.ParamAttrs) = ParamAttr::NoUnwind; ;} break; case 122: -#line 1279 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1285 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.ParamAttrs) = ParamAttr::ZExt; ;} break; case 123: -#line 1280 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1286 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.ParamAttrs) = ParamAttr::SExt; ;} break; case 124: -#line 1281 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1287 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.ParamAttrs) = ParamAttr::ReadNone; ;} break; case 125: -#line 1282 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1288 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.ParamAttrs) = ParamAttr::ReadOnly; ;} break; case 126: -#line 1285 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1291 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.ParamAttrs) = ParamAttr::None; ;} break; case 127: -#line 1286 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1292 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.ParamAttrs) = (yyvsp[(1) - (2)].ParamAttrs) | (yyvsp[(2) - (2)].ParamAttrs); ;} break; case 128: -#line 1291 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" - { (yyval.StrVal) = 0; ;} +#line 1297 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" + { (yyval.FunctionNotes) = (yyvsp[(1) - (1)].FunctionNotes); ;} break; case 129: -#line 1292 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1298 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" + { + FunctionNotes tmp = (yyvsp[(1) - (3)].FunctionNotes) | (yyvsp[(3) - (3)].FunctionNotes); + if ((yyvsp[(3) - (3)].FunctionNotes) == FP_NoInline && ((yyvsp[(1) - (3)].FunctionNotes) & FP_AlwaysInline)) + GEN_ERROR("Function Notes may include only one inline notes!") + if ((yyvsp[(3) - (3)].FunctionNotes) == FP_AlwaysInline && ((yyvsp[(1) - (3)].FunctionNotes) & FP_NoInline)) + GEN_ERROR("Function Notes may include only one inline notes!") + (yyval.FunctionNotes) = tmp; + CHECK_FOR_ERROR + ;} + break; + + case 130: +#line 1309 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" + { (yyval.FunctionNotes) = FP_NoInline; ;} + break; + + case 131: +#line 1310 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" + { (yyval.FunctionNotes) = FP_AlwaysInline; ;} + break; + + case 132: +#line 1311 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" + { (yyval.FunctionNotes) = FP_OptimizeForSize; ;} + break; + + case 133: +#line 1314 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" + { (yyval.FunctionNotes) = FP_None; ;} + break; + + case 134: +#line 1315 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" + { + (yyval.FunctionNotes) = (yyvsp[(3) - (4)].FunctionNotes); + ;} + break; + + case 135: +#line 1320 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" + { (yyval.StrVal) = 0; ;} + break; + + case 136: +#line 1321 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.StrVal) = (yyvsp[(2) - (2)].StrVal); ;} break; - case 130: -#line 1299 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 137: +#line 1328 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.UIntVal) = 0; ;} break; - case 131: -#line 1300 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 138: +#line 1329 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.UIntVal) = (yyvsp[(2) - (2)].UInt64Val); if ((yyval.UIntVal) != 0 && !isPowerOf2_32((yyval.UIntVal))) @@ -4114,13 +4188,13 @@ yyreduce: ;} break; - case 132: -#line 1306 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 139: +#line 1335 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.UIntVal) = 0; ;} break; - case 133: -#line 1307 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 140: +#line 1336 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.UIntVal) = (yyvsp[(3) - (3)].UInt64Val); if ((yyval.UIntVal) != 0 && !isPowerOf2_32((yyval.UIntVal))) @@ -4129,8 +4203,8 @@ yyreduce: ;} break; - case 134: -#line 1316 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 141: +#line 1345 "/Volumes/Nanpura/fn_prop/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] == '\\') @@ -4140,28 +4214,28 @@ yyreduce: ;} break; - case 135: -#line 1324 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 142: +#line 1353 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.StrVal) = 0; ;} break; - case 136: -#line 1325 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 143: +#line 1354 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.StrVal) = (yyvsp[(1) - (1)].StrVal); ;} break; - case 137: -#line 1330 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 144: +#line 1359 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" {;} break; - case 138: -#line 1331 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 145: +#line 1360 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" {;} break; - case 139: -#line 1332 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 146: +#line 1361 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { CurGV->setSection(*(yyvsp[(1) - (1)].StrVal)); delete (yyvsp[(1) - (1)].StrVal); @@ -4169,8 +4243,8 @@ yyreduce: ;} break; - case 140: -#line 1337 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 147: +#line 1366 "/Volumes/Nanpura/fn_prop/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"); @@ -4179,24 +4253,24 @@ yyreduce: ;} break; - case 148: -#line 1353 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 155: +#line 1382 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.TypeVal) = new PATypeHolder(OpaqueType::get()); CHECK_FOR_ERROR ;} break; - case 149: -#line 1357 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 156: +#line 1386 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.TypeVal) = new PATypeHolder((yyvsp[(1) - (1)].PrimType)); CHECK_FOR_ERROR ;} break; - case 150: -#line 1361 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 157: +#line 1390 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { // Pointer type? if (*(yyvsp[(1) - (3)].TypeVal) == Type::LabelTy) GEN_ERROR("Cannot form a pointer to a basic block"); @@ -4206,8 +4280,8 @@ yyreduce: ;} break; - case 151: -#line 1368 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 158: +#line 1397 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { // Named types are also simple types... const Type* tmp = getTypeVal((yyvsp[(1) - (1)].ValIDVal)); CHECK_FOR_ERROR @@ -4215,8 +4289,8 @@ yyreduce: ;} break; - case 152: -#line 1373 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 159: +#line 1402 "/Volumes/Nanpura/fn_prop/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 @@ -4227,8 +4301,8 @@ yyreduce: ;} break; - case 153: -#line 1381 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 160: +#line 1410 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { // Allow but ignore attributes on function types; this permits auto-upgrade. // FIXME: remove in LLVM 3.0. @@ -4260,8 +4334,8 @@ yyreduce: ;} break; - case 154: -#line 1410 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 161: +#line 1439 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { // Allow but ignore attributes on function types; this permits auto-upgrade. // FIXME: remove in LLVM 3.0. @@ -4288,8 +4362,8 @@ yyreduce: ;} break; - case 155: -#line 1435 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 162: +#line 1464 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { // Sized array type? (yyval.TypeVal) = new PATypeHolder(HandleUpRefs(ArrayType::get(*(yyvsp[(4) - (5)].TypeVal), (yyvsp[(2) - (5)].UInt64Val)))); delete (yyvsp[(4) - (5)].TypeVal); @@ -4297,8 +4371,8 @@ yyreduce: ;} break; - case 156: -#line 1440 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 163: +#line 1469 "/Volumes/Nanpura/fn_prop/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)) @@ -4311,8 +4385,8 @@ yyreduce: ;} break; - case 157: -#line 1450 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 164: +#line 1479 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { // Structure type? std::vector Elements; for (std::list::iterator I = (yyvsp[(2) - (3)].TypeList)->begin(), @@ -4325,16 +4399,16 @@ yyreduce: ;} break; - case 158: -#line 1460 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 165: +#line 1489 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { // Empty structure type? (yyval.TypeVal) = new PATypeHolder(StructType::get(std::vector())); CHECK_FOR_ERROR ;} break; - case 159: -#line 1464 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 166: +#line 1493 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { std::vector Elements; for (std::list::iterator I = (yyvsp[(3) - (5)].TypeList)->begin(), @@ -4347,16 +4421,16 @@ yyreduce: ;} break; - case 160: -#line 1474 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 167: +#line 1503 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { // Empty structure type? (yyval.TypeVal) = new PATypeHolder(StructType::get(std::vector(), true)); CHECK_FOR_ERROR ;} break; - case 161: -#line 1481 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 168: +#line 1510 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { // Allow but ignore attributes on function types; this permits auto-upgrade. // FIXME: remove in LLVM 3.0. @@ -4365,8 +4439,8 @@ yyreduce: ;} break; - case 162: -#line 1490 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 169: +#line 1519 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { if (!UpRefs.empty()) GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (1)].TypeVal))->getDescription()); @@ -4376,15 +4450,15 @@ yyreduce: ;} break; - case 163: -#line 1497 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 170: +#line 1526 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.TypeVal) = new PATypeHolder(Type::VoidTy); ;} break; - case 164: -#line 1502 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 171: +#line 1531 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.TypeWithAttrsList) = new TypeWithAttrsList(); (yyval.TypeWithAttrsList)->push_back((yyvsp[(1) - (1)].TypeWithAttrs)); @@ -4392,16 +4466,16 @@ yyreduce: ;} break; - case 165: -#line 1507 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 172: +#line 1536 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { ((yyval.TypeWithAttrsList)=(yyvsp[(1) - (3)].TypeWithAttrsList))->push_back((yyvsp[(3) - (3)].TypeWithAttrs)); CHECK_FOR_ERROR ;} break; - case 167: -#line 1515 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 174: +#line 1544 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.TypeWithAttrsList)=(yyvsp[(1) - (3)].TypeWithAttrsList); TypeWithAttrs TWA; TWA.Attrs = ParamAttr::None; @@ -4411,8 +4485,8 @@ yyreduce: ;} break; - case 168: -#line 1522 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 175: +#line 1551 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.TypeWithAttrsList) = new TypeWithAttrsList; TypeWithAttrs TWA; TWA.Attrs = ParamAttr::None; @@ -4422,16 +4496,16 @@ yyreduce: ;} break; - case 169: -#line 1529 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 176: +#line 1558 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.TypeWithAttrsList) = new TypeWithAttrsList(); CHECK_FOR_ERROR ;} break; - case 170: -#line 1537 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 177: +#line 1566 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.TypeList) = new std::list(); (yyval.TypeList)->push_back(*(yyvsp[(1) - (1)].TypeVal)); @@ -4440,8 +4514,8 @@ yyreduce: ;} break; - case 171: -#line 1543 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 178: +#line 1572 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { ((yyval.TypeList)=(yyvsp[(1) - (3)].TypeList))->push_back(*(yyvsp[(3) - (3)].TypeVal)); delete (yyvsp[(3) - (3)].TypeVal); @@ -4449,8 +4523,8 @@ yyreduce: ;} break; - case 172: -#line 1555 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 179: +#line 1584 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { // Nonempty unsized arr if (!UpRefs.empty()) GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (4)].TypeVal))->getDescription()); @@ -4481,8 +4555,8 @@ yyreduce: ;} break; - case 173: -#line 1583 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 180: +#line 1612 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { if (!UpRefs.empty()) GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (3)].TypeVal))->getDescription()); @@ -4501,8 +4575,8 @@ yyreduce: ;} break; - case 174: -#line 1599 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 181: +#line 1628 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { if (!UpRefs.empty()) GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (3)].TypeVal))->getDescription()); @@ -4532,8 +4606,8 @@ yyreduce: ;} break; - case 175: -#line 1626 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 182: +#line 1655 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { // Nonempty unsized arr if (!UpRefs.empty()) GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (4)].TypeVal))->getDescription()); @@ -4564,8 +4638,8 @@ yyreduce: ;} break; - case 176: -#line 1654 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 183: +#line 1683 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { const StructType *STy = dyn_cast((yyvsp[(1) - (4)].TypeVal)->get()); if (STy == 0) @@ -4594,8 +4668,8 @@ yyreduce: ;} break; - case 177: -#line 1680 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 184: +#line 1709 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { if (!UpRefs.empty()) GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (3)].TypeVal))->getDescription()); @@ -4618,8 +4692,8 @@ yyreduce: ;} break; - case 178: -#line 1700 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 185: +#line 1729 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { const StructType *STy = dyn_cast((yyvsp[(1) - (6)].TypeVal)->get()); if (STy == 0) @@ -4648,8 +4722,8 @@ yyreduce: ;} break; - case 179: -#line 1726 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 186: +#line 1755 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { if (!UpRefs.empty()) GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (5)].TypeVal))->getDescription()); @@ -4672,8 +4746,8 @@ yyreduce: ;} break; - case 180: -#line 1746 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 187: +#line 1775 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { if (!UpRefs.empty()) GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (2)].TypeVal))->getDescription()); @@ -4688,8 +4762,8 @@ yyreduce: ;} break; - case 181: -#line 1758 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 188: +#line 1787 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { if (!UpRefs.empty()) GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (2)].TypeVal))->getDescription()); @@ -4699,8 +4773,8 @@ yyreduce: ;} break; - case 182: -#line 1765 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 189: +#line 1794 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { if (!UpRefs.empty()) GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (2)].TypeVal))->getDescription()); @@ -4769,8 +4843,8 @@ yyreduce: ;} break; - case 183: -#line 1831 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 190: +#line 1860 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { if (!UpRefs.empty()) GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (2)].TypeVal))->getDescription()); @@ -4783,8 +4857,8 @@ yyreduce: ;} break; - case 184: -#line 1841 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 191: +#line 1870 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { if (!UpRefs.empty()) GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (2)].TypeVal))->getDescription()); @@ -4797,8 +4871,8 @@ yyreduce: ;} break; - case 185: -#line 1851 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 192: +#line 1880 "/Volumes/Nanpura/fn_prop/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"); @@ -4807,8 +4881,8 @@ yyreduce: ;} break; - case 186: -#line 1857 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 193: +#line 1886 "/Volumes/Nanpura/fn_prop/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) { @@ -4821,8 +4895,8 @@ yyreduce: ;} break; - case 187: -#line 1867 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 194: +#line 1896 "/Volumes/Nanpura/fn_prop/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"); @@ -4831,8 +4905,8 @@ yyreduce: ;} break; - case 188: -#line 1873 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 195: +#line 1902 "/Volumes/Nanpura/fn_prop/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) { @@ -4845,8 +4919,8 @@ yyreduce: ;} break; - case 189: -#line 1883 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 196: +#line 1912 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { // Boolean constants if (cast((yyvsp[(1) - (2)].PrimType))->getBitWidth() != 1) GEN_ERROR("Constant true must have type i1"); @@ -4855,8 +4929,8 @@ yyreduce: ;} break; - case 190: -#line 1889 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 197: +#line 1918 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { // Boolean constants if (cast((yyvsp[(1) - (2)].PrimType))->getBitWidth() != 1) GEN_ERROR("Constant false must have type i1"); @@ -4865,8 +4939,8 @@ yyreduce: ;} break; - case 191: -#line 1895 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 198: +#line 1924 "/Volumes/Nanpura/fn_prop/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"); @@ -4880,8 +4954,8 @@ yyreduce: ;} break; - case 192: -#line 1908 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 199: +#line 1937 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { if (!UpRefs.empty()) GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(5) - (6)].TypeVal))->getDescription()); @@ -4896,8 +4970,8 @@ yyreduce: ;} break; - case 193: -#line 1920 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 200: +#line 1949 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { if (!isa((yyvsp[(3) - (5)].ConstVal)->getType())) GEN_ERROR("GetElementPtr requires a pointer operand"); @@ -4921,8 +4995,8 @@ yyreduce: ;} break; - case 194: -#line 1941 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 201: +#line 1970 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { if ((yyvsp[(3) - (8)].ConstVal)->getType() != Type::Int1Ty) GEN_ERROR("Select condition must be of boolean type"); @@ -4933,8 +5007,8 @@ yyreduce: ;} break; - case 195: -#line 1949 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 202: +#line 1978 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { if ((yyvsp[(3) - (6)].ConstVal)->getType() != (yyvsp[(5) - (6)].ConstVal)->getType()) GEN_ERROR("Binary operator types must match"); @@ -4943,8 +5017,8 @@ yyreduce: ;} break; - case 196: -#line 1955 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 203: +#line 1984 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { if ((yyvsp[(3) - (6)].ConstVal)->getType() != (yyvsp[(5) - (6)].ConstVal)->getType()) GEN_ERROR("Logical operator types must match"); @@ -4958,8 +5032,8 @@ yyreduce: ;} break; - case 197: -#line 1966 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 204: +#line 1995 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { if ((yyvsp[(4) - (7)].ConstVal)->getType() != (yyvsp[(6) - (7)].ConstVal)->getType()) GEN_ERROR("icmp operand types must match"); @@ -4967,8 +5041,8 @@ yyreduce: ;} break; - case 198: -#line 1971 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 205: +#line 2000 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { if ((yyvsp[(4) - (7)].ConstVal)->getType() != (yyvsp[(6) - (7)].ConstVal)->getType()) GEN_ERROR("fcmp operand types must match"); @@ -4976,8 +5050,8 @@ yyreduce: ;} break; - case 199: -#line 1976 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 206: +#line 2005 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { if ((yyvsp[(4) - (7)].ConstVal)->getType() != (yyvsp[(6) - (7)].ConstVal)->getType()) GEN_ERROR("vicmp operand types must match"); @@ -4985,8 +5059,8 @@ yyreduce: ;} break; - case 200: -#line 1981 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 207: +#line 2010 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { if ((yyvsp[(4) - (7)].ConstVal)->getType() != (yyvsp[(6) - (7)].ConstVal)->getType()) GEN_ERROR("vfcmp operand types must match"); @@ -4994,8 +5068,8 @@ yyreduce: ;} break; - case 201: -#line 1986 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 208: +#line 2015 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { if (!ExtractElementInst::isValidOperands((yyvsp[(3) - (6)].ConstVal), (yyvsp[(5) - (6)].ConstVal))) GEN_ERROR("Invalid extractelement operands"); @@ -5004,8 +5078,8 @@ yyreduce: ;} break; - case 202: -#line 1992 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 209: +#line 2021 "/Volumes/Nanpura/fn_prop/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"); @@ -5014,8 +5088,8 @@ yyreduce: ;} break; - case 203: -#line 1998 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 210: +#line 2027 "/Volumes/Nanpura/fn_prop/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"); @@ -5024,8 +5098,8 @@ yyreduce: ;} break; - case 204: -#line 2004 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 211: +#line 2033 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { if (!isa((yyvsp[(3) - (5)].ConstVal)->getType()) && !isa((yyvsp[(3) - (5)].ConstVal)->getType())) GEN_ERROR("ExtractValue requires an aggregate operand"); @@ -5036,8 +5110,8 @@ yyreduce: ;} break; - case 205: -#line 2012 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 212: +#line 2041 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { if (!isa((yyvsp[(3) - (7)].ConstVal)->getType()) && !isa((yyvsp[(3) - (7)].ConstVal)->getType())) GEN_ERROR("InsertValue requires an aggregate operand"); @@ -5048,16 +5122,16 @@ yyreduce: ;} break; - case 206: -#line 2023 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 213: +#line 2052 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { ((yyval.ConstVector) = (yyvsp[(1) - (3)].ConstVector))->push_back((yyvsp[(3) - (3)].ConstVal)); CHECK_FOR_ERROR ;} break; - case 207: -#line 2027 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 214: +#line 2056 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.ConstVector) = new std::vector(); (yyval.ConstVector)->push_back((yyvsp[(1) - (1)].ConstVal)); @@ -5065,28 +5139,28 @@ yyreduce: ;} break; - case 208: -#line 2035 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 215: +#line 2064 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.BoolVal) = false; ;} break; - case 209: -#line 2035 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 216: +#line 2064 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.BoolVal) = true; ;} break; - case 210: -#line 2038 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 217: +#line 2067 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.BoolVal) = true; ;} break; - case 211: -#line 2038 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 218: +#line 2067 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.BoolVal) = false; ;} break; - case 212: -#line 2041 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 219: +#line 2070 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { const Type* VTy = (yyvsp[(1) - (2)].TypeVal)->get(); Value *V = getVal(VTy, (yyvsp[(2) - (2)].ValIDVal)); @@ -5101,8 +5175,8 @@ yyreduce: ;} break; - case 213: -#line 2053 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 220: +#line 2082 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { Constant *Val = (yyvsp[(3) - (6)].ConstVal); const Type *DestTy = (yyvsp[(5) - (6)].TypeVal)->get(); @@ -5117,8 +5191,8 @@ yyreduce: ;} break; - case 214: -#line 2074 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 221: +#line 2103 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.ModuleVal) = ParserResult = CurModule.CurrentModule; CurModule.ModuleDone(); @@ -5126,8 +5200,8 @@ yyreduce: ;} break; - case 215: -#line 2079 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 222: +#line 2108 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.ModuleVal) = ParserResult = CurModule.CurrentModule; CurModule.ModuleDone(); @@ -5135,40 +5209,40 @@ yyreduce: ;} break; - case 218: -#line 2092 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 225: +#line 2121 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { CurFun.isDeclare = false; ;} break; - case 219: -#line 2092 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 226: +#line 2121 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { CurFun.FunctionDone(); CHECK_FOR_ERROR ;} break; - case 220: -#line 2096 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 227: +#line 2125 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { CurFun.isDeclare = true; ;} break; - case 221: -#line 2096 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 228: +#line 2125 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { CHECK_FOR_ERROR ;} break; - case 222: -#line 2099 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 229: +#line 2128 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { CHECK_FOR_ERROR ;} break; - case 223: -#line 2102 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 230: +#line 2131 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { if (!UpRefs.empty()) GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(3) - (3)].TypeVal))->getDescription()); @@ -5195,8 +5269,8 @@ yyreduce: ;} break; - case 224: -#line 2126 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 231: +#line 2155 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { ResolveTypeTo((yyvsp[(1) - (3)].StrVal), (yyvsp[(3) - (3)].PrimType)); @@ -5210,8 +5284,8 @@ yyreduce: ;} break; - case 225: -#line 2138 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 232: +#line 2167 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { /* "Externally Visible" Linkage */ if ((yyvsp[(5) - (6)].ConstVal) == 0) @@ -5222,15 +5296,15 @@ yyreduce: ;} break; - case 226: -#line 2145 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 233: +#line 2174 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { CurGV = 0; ;} break; - case 227: -#line 2149 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 234: +#line 2178 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { if ((yyvsp[(6) - (7)].ConstVal) == 0) GEN_ERROR("Global value initializer is not a constant"); @@ -5239,15 +5313,15 @@ yyreduce: ;} break; - case 228: -#line 2154 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 235: +#line 2183 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { CurGV = 0; ;} break; - case 229: -#line 2158 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 236: +#line 2187 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { if (!UpRefs.empty()) GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(6) - (7)].TypeVal))->getDescription()); @@ -5257,16 +5331,16 @@ yyreduce: ;} break; - case 230: -#line 2164 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 237: +#line 2193 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { CurGV = 0; CHECK_FOR_ERROR ;} break; - case 231: -#line 2168 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 238: +#line 2197 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { std::string Name; if ((yyvsp[(1) - (5)].StrVal)) { @@ -5309,22 +5383,22 @@ yyreduce: ;} break; - case 232: -#line 2208 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 239: +#line 2237 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { CHECK_FOR_ERROR ;} break; - case 233: -#line 2211 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 240: +#line 2240 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { CHECK_FOR_ERROR ;} break; - case 234: -#line 2217 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 241: +#line 2246 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { const std::string &AsmSoFar = CurModule.CurrentModule->getModuleInlineAsm(); if (AsmSoFar.empty()) @@ -5336,24 +5410,24 @@ yyreduce: ;} break; - case 235: -#line 2227 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 242: +#line 2256 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { CurModule.CurrentModule->setTargetTriple(*(yyvsp[(3) - (3)].StrVal)); delete (yyvsp[(3) - (3)].StrVal); ;} break; - case 236: -#line 2231 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 243: +#line 2260 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { CurModule.CurrentModule->setDataLayout(*(yyvsp[(3) - (3)].StrVal)); delete (yyvsp[(3) - (3)].StrVal); ;} break; - case 238: -#line 2238 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 245: +#line 2267 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { CurModule.CurrentModule->addLibrary(*(yyvsp[(3) - (3)].StrVal)); delete (yyvsp[(3) - (3)].StrVal); @@ -5361,8 +5435,8 @@ yyreduce: ;} break; - case 239: -#line 2243 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 246: +#line 2272 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { CurModule.CurrentModule->addLibrary(*(yyvsp[(1) - (1)].StrVal)); delete (yyvsp[(1) - (1)].StrVal); @@ -5370,15 +5444,15 @@ yyreduce: ;} break; - case 240: -#line 2248 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 247: +#line 2277 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { CHECK_FOR_ERROR ;} break; - case 241: -#line 2257 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 248: +#line 2286 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { if (!UpRefs.empty()) GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(3) - (5)].TypeVal))->getDescription()); @@ -5391,8 +5465,8 @@ yyreduce: ;} break; - case 242: -#line 2267 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 249: +#line 2296 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { if (!UpRefs.empty()) GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (3)].TypeVal))->getDescription()); @@ -5405,16 +5479,16 @@ yyreduce: ;} break; - case 243: -#line 2278 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 250: +#line 2307 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.ArgList) = (yyvsp[(1) - (1)].ArgList); CHECK_FOR_ERROR ;} break; - case 244: -#line 2282 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 251: +#line 2311 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.ArgList) = (yyvsp[(1) - (3)].ArgList); struct ArgListEntry E; @@ -5426,8 +5500,8 @@ yyreduce: ;} break; - case 245: -#line 2291 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 252: +#line 2320 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.ArgList) = new ArgListType; struct ArgListEntry E; @@ -5439,35 +5513,35 @@ yyreduce: ;} break; - case 246: -#line 2300 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 253: +#line 2329 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.ArgList) = 0; CHECK_FOR_ERROR ;} break; - case 247: -#line 2306 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 254: +#line 2335 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { - std::string FunctionName(*(yyvsp[(3) - (10)].StrVal)); - delete (yyvsp[(3) - (10)].StrVal); // Free strdup'd memory! + std::string FunctionName(*(yyvsp[(3) - (11)].StrVal)); + delete (yyvsp[(3) - (11)].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) - (10)].TypeVal))) - GEN_ERROR("Reference to abstract result: "+ (yyvsp[(2) - (10)].TypeVal)->get()->getDescription()); + if (!CurFun.isDeclare && CurModule.TypeIsUnresolved((yyvsp[(2) - (11)].TypeVal))) + GEN_ERROR("Reference to abstract result: "+ (yyvsp[(2) - (11)].TypeVal)->get()->getDescription()); - if (!FunctionType::isValidReturnType(*(yyvsp[(2) - (10)].TypeVal))) + if (!FunctionType::isValidReturnType(*(yyvsp[(2) - (11)].TypeVal))) GEN_ERROR("Invalid result type for LLVM function"); std::vector ParamTypeList; SmallVector Attrs; - if ((yyvsp[(7) - (10)].ParamAttrs) != ParamAttr::None) - Attrs.push_back(ParamAttrsWithIndex::get(0, (yyvsp[(7) - (10)].ParamAttrs))); - if ((yyvsp[(5) - (10)].ArgList)) { // If there are arguments... + if ((yyvsp[(7) - (11)].ParamAttrs) != ParamAttr::None) + Attrs.push_back(ParamAttrsWithIndex::get(0, (yyvsp[(7) - (11)].ParamAttrs))); + if ((yyvsp[(5) - (11)].ArgList)) { // If there are arguments... unsigned index = 1; - for (ArgListType::iterator I = (yyvsp[(5) - (10)].ArgList)->begin(); I != (yyvsp[(5) - (10)].ArgList)->end(); ++I, ++index) { + for (ArgListType::iterator I = (yyvsp[(5) - (11)].ArgList)->begin(); I != (yyvsp[(5) - (11)].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()); @@ -5484,9 +5558,9 @@ yyreduce: if (!Attrs.empty()) PAL = PAListPtr::get(Attrs.begin(), Attrs.end()); - FunctionType *FT = FunctionType::get(*(yyvsp[(2) - (10)].TypeVal), ParamTypeList, isVarArg); + FunctionType *FT = FunctionType::get(*(yyvsp[(2) - (11)].TypeVal), ParamTypeList, isVarArg); const PointerType *PFT = PointerType::getUnqual(FT); - delete (yyvsp[(2) - (10)].TypeVal); + delete (yyvsp[(2) - (11)].TypeVal); ValID ID; if (!FunctionName.empty()) { @@ -5540,31 +5614,34 @@ yyreduce: Fn->setLinkage(CurFun.Linkage); Fn->setVisibility(CurFun.Visibility); } - Fn->setCallingConv((yyvsp[(1) - (10)].UIntVal)); + Fn->setCallingConv((yyvsp[(1) - (11)].UIntVal)); Fn->setParamAttrs(PAL); - Fn->setAlignment((yyvsp[(9) - (10)].UIntVal)); - if ((yyvsp[(8) - (10)].StrVal)) { - Fn->setSection(*(yyvsp[(8) - (10)].StrVal)); - delete (yyvsp[(8) - (10)].StrVal); + Fn->setAlignment((yyvsp[(9) - (11)].UIntVal)); + if ((yyvsp[(8) - (11)].StrVal)) { + Fn->setSection(*(yyvsp[(8) - (11)].StrVal)); + delete (yyvsp[(8) - (11)].StrVal); + } + if ((yyvsp[(10) - (11)].StrVal)) { + Fn->setGC((yyvsp[(10) - (11)].StrVal)->c_str()); + delete (yyvsp[(10) - (11)].StrVal); } - if ((yyvsp[(10) - (10)].StrVal)) { - Fn->setGC((yyvsp[(10) - (10)].StrVal)->c_str()); - delete (yyvsp[(10) - (10)].StrVal); + if ((yyvsp[(11) - (11)].FunctionNotes)) { + Fn->setNotes((yyvsp[(11) - (11)].FunctionNotes)); } // Add all of the arguments we parsed to the function... - if ((yyvsp[(5) - (10)].ArgList)) { // Is null if empty... + if ((yyvsp[(5) - (11)].ArgList)) { // Is null if empty... if (isVarArg) { // Nuke the last entry - assert((yyvsp[(5) - (10)].ArgList)->back().Ty->get() == Type::VoidTy && (yyvsp[(5) - (10)].ArgList)->back().Name == 0 && + assert((yyvsp[(5) - (11)].ArgList)->back().Ty->get() == Type::VoidTy && (yyvsp[(5) - (11)].ArgList)->back().Name == 0 && "Not a varargs marker!"); - delete (yyvsp[(5) - (10)].ArgList)->back().Ty; - (yyvsp[(5) - (10)].ArgList)->pop_back(); // Delete the last entry + delete (yyvsp[(5) - (11)].ArgList)->back().Ty; + (yyvsp[(5) - (11)].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) - (10)].ArgList)->begin(); - I != (yyvsp[(5) - (10)].ArgList)->end() && ArgIt != ArgEnd; ++I, ++ArgIt) { + for (ArgListType::iterator I = (yyvsp[(5) - (11)].ArgList)->begin(); + I != (yyvsp[(5) - (11)].ArgList)->end() && ArgIt != ArgEnd; ++I, ++ArgIt) { delete I->Ty; // Delete the typeholder... setValueName(ArgIt, I->Name); // Insert arg into symtab... CHECK_FOR_ERROR @@ -5572,14 +5649,14 @@ yyreduce: Idx++; } - delete (yyvsp[(5) - (10)].ArgList); // We're now done with the argument list + delete (yyvsp[(5) - (11)].ArgList); // We're now done with the argument list } CHECK_FOR_ERROR ;} break; - case 250: -#line 2436 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 257: +#line 2468 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.FunctionVal) = CurFun.CurrentFunction; @@ -5590,16 +5667,16 @@ yyreduce: ;} break; - case 253: -#line 2447 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 260: +#line 2479 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.FunctionVal) = (yyvsp[(1) - (2)].FunctionVal); CHECK_FOR_ERROR ;} break; - case 254: -#line 2452 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 261: +#line 2484 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { CurFun.CurrentFunction->setLinkage((yyvsp[(1) - (3)].Linkage)); CurFun.CurrentFunction->setVisibility((yyvsp[(2) - (3)].Visibility)); @@ -5609,40 +5686,40 @@ yyreduce: ;} break; - case 255: -#line 2464 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 262: +#line 2496 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.BoolVal) = false; CHECK_FOR_ERROR ;} break; - case 256: -#line 2468 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 263: +#line 2500 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.BoolVal) = true; CHECK_FOR_ERROR ;} break; - case 257: -#line 2473 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 264: +#line 2505 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { // A reference to a direct constant (yyval.ValIDVal) = ValID::create((yyvsp[(1) - (1)].SInt64Val)); CHECK_FOR_ERROR ;} break; - case 258: -#line 2477 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 265: +#line 2509 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.ValIDVal) = ValID::create((yyvsp[(1) - (1)].UInt64Val)); CHECK_FOR_ERROR ;} break; - case 259: -#line 2481 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 266: +#line 2513 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { // arbitrary precision integer constants (yyval.ValIDVal) = ValID::create(*(yyvsp[(1) - (1)].APIntVal), true); delete (yyvsp[(1) - (1)].APIntVal); @@ -5650,8 +5727,8 @@ yyreduce: ;} break; - case 260: -#line 2486 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 267: +#line 2518 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { // arbitrary precision integer constants (yyval.ValIDVal) = ValID::create(*(yyvsp[(1) - (1)].APIntVal), false); delete (yyvsp[(1) - (1)].APIntVal); @@ -5659,56 +5736,56 @@ yyreduce: ;} break; - case 261: -#line 2491 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 268: +#line 2523 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { // Perhaps it's an FP constant? (yyval.ValIDVal) = ValID::create((yyvsp[(1) - (1)].FPVal)); CHECK_FOR_ERROR ;} break; - case 262: -#line 2495 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 269: +#line 2527 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.ValIDVal) = ValID::create(ConstantInt::getTrue()); CHECK_FOR_ERROR ;} break; - case 263: -#line 2499 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 270: +#line 2531 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.ValIDVal) = ValID::create(ConstantInt::getFalse()); CHECK_FOR_ERROR ;} break; - case 264: -#line 2503 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 271: +#line 2535 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.ValIDVal) = ValID::createNull(); CHECK_FOR_ERROR ;} break; - case 265: -#line 2507 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 272: +#line 2539 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.ValIDVal) = ValID::createUndef(); CHECK_FOR_ERROR ;} break; - case 266: -#line 2511 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 273: +#line 2543 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { // A vector zero constant. (yyval.ValIDVal) = ValID::createZeroInit(); CHECK_FOR_ERROR ;} break; - case 267: -#line 2515 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 274: +#line 2547 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { // Nonempty unsized packed vector const Type *ETy = (*(yyvsp[(2) - (3)].ConstVector))[0]->getType(); unsigned NumElements = (yyvsp[(2) - (3)].ConstVector)->size(); @@ -5733,8 +5810,8 @@ yyreduce: ;} break; - case 268: -#line 2537 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 275: +#line 2569 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { // Nonempty unsized arr const Type *ETy = (*(yyvsp[(2) - (3)].ConstVector))[0]->getType(); uint64_t NumElements = (yyvsp[(2) - (3)].ConstVector)->size(); @@ -5759,8 +5836,8 @@ yyreduce: ;} break; - case 269: -#line 2559 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 276: +#line 2591 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { // Use undef instead of an array because it's inconvenient to determine // the element type at this point, there being no elements to examine. @@ -5769,8 +5846,8 @@ yyreduce: ;} break; - case 270: -#line 2565 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 277: +#line 2597 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { uint64_t NumElements = (yyvsp[(2) - (2)].StrVal)->length(); const Type *ETy = Type::Int8Ty; @@ -5786,8 +5863,8 @@ yyreduce: ;} break; - case 271: -#line 2578 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 278: +#line 2610 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { std::vector Elements((yyvsp[(2) - (3)].ConstVector)->size()); for (unsigned i = 0, e = (yyvsp[(2) - (3)].ConstVector)->size(); i != e; ++i) @@ -5802,8 +5879,8 @@ yyreduce: ;} break; - case 272: -#line 2590 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 279: +#line 2622 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { const StructType *STy = StructType::get(std::vector()); (yyval.ValIDVal) = ValID::create(ConstantStruct::get(STy, std::vector())); @@ -5811,8 +5888,8 @@ yyreduce: ;} break; - case 273: -#line 2595 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 280: +#line 2627 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { std::vector Elements((yyvsp[(3) - (5)].ConstVector)->size()); for (unsigned i = 0, e = (yyvsp[(3) - (5)].ConstVector)->size(); i != e; ++i) @@ -5827,8 +5904,8 @@ yyreduce: ;} break; - case 274: -#line 2607 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 281: +#line 2639 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { const StructType *STy = StructType::get(std::vector(), /*isPacked=*/true); @@ -5837,16 +5914,16 @@ yyreduce: ;} break; - case 275: -#line 2613 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 282: +#line 2645 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.ValIDVal) = ValID::create((yyvsp[(1) - (1)].ConstVal)); CHECK_FOR_ERROR ;} break; - case 276: -#line 2617 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 283: +#line 2649 "/Volumes/Nanpura/fn_prop/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); @@ -5855,24 +5932,24 @@ yyreduce: ;} break; - case 277: -#line 2627 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 284: +#line 2659 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { // Is it an integer reference...? (yyval.ValIDVal) = ValID::createLocalID((yyvsp[(1) - (1)].UIntVal)); CHECK_FOR_ERROR ;} break; - case 278: -#line 2631 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 285: +#line 2663 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.ValIDVal) = ValID::createGlobalID((yyvsp[(1) - (1)].UIntVal)); CHECK_FOR_ERROR ;} break; - case 279: -#line 2635 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 286: +#line 2667 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { // Is it a named reference...? (yyval.ValIDVal) = ValID::createLocalName(*(yyvsp[(1) - (1)].StrVal)); delete (yyvsp[(1) - (1)].StrVal); @@ -5880,8 +5957,8 @@ yyreduce: ;} break; - case 280: -#line 2640 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 287: +#line 2672 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { // Is it a named reference...? (yyval.ValIDVal) = ValID::createGlobalName(*(yyvsp[(1) - (1)].StrVal)); delete (yyvsp[(1) - (1)].StrVal); @@ -5889,8 +5966,8 @@ yyreduce: ;} break; - case 283: -#line 2653 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 290: +#line 2685 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { if (!UpRefs.empty()) GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (2)].TypeVal))->getDescription()); @@ -5900,8 +5977,8 @@ yyreduce: ;} break; - case 284: -#line 2662 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 291: +#line 2694 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.ValueList) = new std::vector(); (yyval.ValueList)->push_back((yyvsp[(1) - (1)].ValueVal)); @@ -5909,32 +5986,32 @@ yyreduce: ;} break; - case 285: -#line 2667 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 292: +#line 2699 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { ((yyval.ValueList)=(yyvsp[(1) - (3)].ValueList))->push_back((yyvsp[(3) - (3)].ValueVal)); CHECK_FOR_ERROR ;} break; - case 286: -#line 2672 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 293: +#line 2704 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.FunctionVal) = (yyvsp[(1) - (2)].FunctionVal); CHECK_FOR_ERROR ;} break; - case 287: -#line 2676 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 294: +#line 2708 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { // Do not allow functions with 0 basic blocks (yyval.FunctionVal) = (yyvsp[(1) - (2)].FunctionVal); CHECK_FOR_ERROR ;} break; - case 288: -#line 2685 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 295: +#line 2717 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { setValueName((yyvsp[(3) - (3)].TermInstVal), (yyvsp[(2) - (3)].StrVal)); CHECK_FOR_ERROR @@ -5945,8 +6022,8 @@ yyreduce: ;} break; - case 289: -#line 2694 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 296: +#line 2726 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { CHECK_FOR_ERROR int ValNum = InsertValue((yyvsp[(3) - (3)].TermInstVal)); @@ -5960,8 +6037,8 @@ yyreduce: ;} break; - case 290: -#line 2707 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 297: +#line 2739 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { if (CastInst *CI1 = dyn_cast((yyvsp[(2) - (2)].InstVal))) if (CastInst *CI2 = dyn_cast(CI1->getOperand(0))) @@ -5973,16 +6050,16 @@ yyreduce: ;} break; - case 291: -#line 2716 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 298: +#line 2748 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { // Empty space between instruction lists (yyval.BasicBlockVal) = defineBBVal(ValID::createLocalID(CurFun.NextValNum)); CHECK_FOR_ERROR ;} break; - case 292: -#line 2720 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 299: +#line 2752 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { // Labelled (named) basic block (yyval.BasicBlockVal) = defineBBVal(ValID::createLocalName(*(yyvsp[(1) - (1)].StrVal))); delete (yyvsp[(1) - (1)].StrVal); @@ -5991,8 +6068,8 @@ yyreduce: ;} break; - case 293: -#line 2728 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 300: +#line 2760 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { // Return with a result... ValueList &VL = *(yyvsp[(2) - (2)].ValueList); assert(!VL.empty() && "Invalid ret operands!"); @@ -6015,16 +6092,16 @@ yyreduce: ;} break; - case 294: -#line 2748 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 301: +#line 2780 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { // Return with no result... (yyval.TermInstVal) = ReturnInst::Create(); CHECK_FOR_ERROR ;} break; - case 295: -#line 2752 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 302: +#line 2784 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { // Unconditional Branch... BasicBlock* tmpBB = getBBVal((yyvsp[(3) - (3)].ValIDVal)); CHECK_FOR_ERROR @@ -6032,8 +6109,8 @@ yyreduce: ;} break; - case 296: -#line 2757 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 303: +#line 2789 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { if (cast((yyvsp[(2) - (9)].PrimType))->getBitWidth() != 1) GEN_ERROR("Branch condition must have type i1"); @@ -6047,8 +6124,8 @@ yyreduce: ;} break; - case 297: -#line 2768 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 304: +#line 2800 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { Value* tmpVal = getVal((yyvsp[(2) - (9)].PrimType), (yyvsp[(3) - (9)].ValIDVal)); CHECK_FOR_ERROR @@ -6070,8 +6147,8 @@ yyreduce: ;} break; - case 298: -#line 2787 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 305: +#line 2819 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { Value* tmpVal = getVal((yyvsp[(2) - (8)].PrimType), (yyvsp[(3) - (8)].ValIDVal)); CHECK_FOR_ERROR @@ -6083,8 +6160,8 @@ yyreduce: ;} break; - case 299: -#line 2797 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 306: +#line 2829 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { // Handle the short syntax @@ -6172,24 +6249,24 @@ yyreduce: ;} break; - case 300: -#line 2882 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 307: +#line 2914 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.TermInstVal) = new UnwindInst(); CHECK_FOR_ERROR ;} break; - case 301: -#line 2886 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 308: +#line 2918 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.TermInstVal) = new UnreachableInst(); CHECK_FOR_ERROR ;} break; - case 302: -#line 2893 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 309: +#line 2925 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.JumpTable) = (yyvsp[(1) - (6)].JumpTable); Constant *V = cast(getExistingVal((yyvsp[(2) - (6)].PrimType), (yyvsp[(3) - (6)].ValIDVal))); @@ -6203,8 +6280,8 @@ yyreduce: ;} break; - case 303: -#line 2904 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 310: +#line 2936 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.JumpTable) = new std::vector >(); Constant *V = cast(getExistingVal((yyvsp[(1) - (5)].PrimType), (yyvsp[(2) - (5)].ValIDVal))); @@ -6219,8 +6296,8 @@ yyreduce: ;} break; - case 304: -#line 2917 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 311: +#line 2949 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { // Is this definition named?? if so, assign the name... setValueName((yyvsp[(2) - (2)].InstVal), (yyvsp[(1) - (2)].StrVal)); @@ -6231,8 +6308,8 @@ yyreduce: ;} break; - case 305: -#line 2926 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 312: +#line 2958 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { CHECK_FOR_ERROR int ValNum = InsertValue((yyvsp[(2) - (2)].InstVal)); @@ -6246,8 +6323,8 @@ yyreduce: ;} break; - case 306: -#line 2939 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 313: +#line 2971 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { // Used for PHI nodes if (!UpRefs.empty()) GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (6)].TypeVal))->getDescription()); @@ -6261,8 +6338,8 @@ yyreduce: ;} break; - case 307: -#line 2950 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 314: +#line 2982 "/Volumes/Nanpura/fn_prop/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)); @@ -6273,8 +6350,8 @@ yyreduce: ;} break; - case 308: -#line 2960 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 315: +#line 2992 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { // FIXME: Remove trailing OptParamAttrs in LLVM 3.0, it was a mistake in 2.0 if (!UpRefs.empty()) @@ -6288,8 +6365,8 @@ yyreduce: ;} break; - case 309: -#line 2971 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 316: +#line 3003 "/Volumes/Nanpura/fn_prop/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 @@ -6300,8 +6377,8 @@ yyreduce: ;} break; - case 310: -#line 2979 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 317: +#line 3011 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { // FIXME: Remove trailing OptParamAttrs in LLVM 3.0, it was a mistake in 2.0 if (!UpRefs.empty()) @@ -6314,8 +6391,8 @@ yyreduce: ;} break; - case 311: -#line 2989 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 318: +#line 3021 "/Volumes/Nanpura/fn_prop/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); @@ -6325,18 +6402,18 @@ yyreduce: ;} break; - case 312: -#line 2996 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 319: +#line 3028 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.ParamList) = new ParamList(); ;} break; - case 313: -#line 2999 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 320: +#line 3031 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.ValueList) = new std::vector(); ;} break; - case 314: -#line 3000 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 321: +#line 3032 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.ValueList) = (yyvsp[(1) - (3)].ValueList); (yyval.ValueList)->push_back((yyvsp[(3) - (3)].ValueVal)); @@ -6344,8 +6421,8 @@ yyreduce: ;} break; - case 315: -#line 3008 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 322: +#line 3040 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.ConstantList) = new std::vector(); if ((unsigned)(yyvsp[(2) - (2)].UInt64Val) != (yyvsp[(2) - (2)].UInt64Val)) @@ -6354,8 +6431,8 @@ yyreduce: ;} break; - case 316: -#line 3014 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 323: +#line 3046 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.ConstantList) = (yyvsp[(1) - (3)].ConstantList); if ((unsigned)(yyvsp[(3) - (3)].UInt64Val) != (yyvsp[(3) - (3)].UInt64Val)) @@ -6365,24 +6442,24 @@ yyreduce: ;} break; - case 317: -#line 3023 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 324: +#line 3055 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.BoolVal) = true; CHECK_FOR_ERROR ;} break; - case 318: -#line 3027 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 325: +#line 3059 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.BoolVal) = false; CHECK_FOR_ERROR ;} break; - case 319: -#line 3032 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 326: +#line 3064 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { if (!UpRefs.empty()) GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(2) - (5)].TypeVal))->getDescription()); @@ -6401,8 +6478,8 @@ yyreduce: ;} break; - case 320: -#line 3048 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 327: +#line 3080 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { if (!UpRefs.empty()) GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(2) - (5)].TypeVal))->getDescription()); @@ -6422,8 +6499,8 @@ yyreduce: ;} break; - case 321: -#line 3065 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 328: +#line 3097 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { if (!UpRefs.empty()) GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(3) - (6)].TypeVal))->getDescription()); @@ -6440,8 +6517,8 @@ yyreduce: ;} break; - case 322: -#line 3079 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 329: +#line 3111 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { if (!UpRefs.empty()) GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(3) - (6)].TypeVal))->getDescription()); @@ -6458,8 +6535,8 @@ yyreduce: ;} break; - case 323: -#line 3093 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 330: +#line 3125 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { if (!UpRefs.empty()) GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(3) - (6)].TypeVal))->getDescription()); @@ -6476,8 +6553,8 @@ yyreduce: ;} break; - case 324: -#line 3107 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 331: +#line 3139 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { if (!UpRefs.empty()) GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(3) - (6)].TypeVal))->getDescription()); @@ -6494,8 +6571,8 @@ yyreduce: ;} break; - case 325: -#line 3121 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 332: +#line 3153 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { if (!UpRefs.empty()) GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(4) - (4)].TypeVal))->getDescription()); @@ -6510,8 +6587,8 @@ yyreduce: ;} break; - case 326: -#line 3133 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 333: +#line 3165 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { if ((yyvsp[(2) - (6)].ValueVal)->getType() != Type::Int1Ty) GEN_ERROR("select condition must be boolean"); @@ -6522,8 +6599,8 @@ yyreduce: ;} break; - case 327: -#line 3141 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 334: +#line 3173 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { if (!UpRefs.empty()) GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(4) - (4)].TypeVal))->getDescription()); @@ -6533,8 +6610,8 @@ yyreduce: ;} break; - case 328: -#line 3148 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 335: +#line 3180 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { if (!ExtractElementInst::isValidOperands((yyvsp[(2) - (4)].ValueVal), (yyvsp[(4) - (4)].ValueVal))) GEN_ERROR("Invalid extractelement operands"); @@ -6543,8 +6620,8 @@ yyreduce: ;} break; - case 329: -#line 3154 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 336: +#line 3186 "/Volumes/Nanpura/fn_prop/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"); @@ -6553,8 +6630,8 @@ yyreduce: ;} break; - case 330: -#line 3160 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 337: +#line 3192 "/Volumes/Nanpura/fn_prop/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"); @@ -6563,8 +6640,8 @@ yyreduce: ;} break; - case 331: -#line 3166 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 338: +#line 3198 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { const Type *Ty = (yyvsp[(2) - (2)].PHIList)->front().first->getType(); if (!Ty->isFirstClassType()) @@ -6582,8 +6659,8 @@ yyreduce: ;} break; - case 332: -#line 3182 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 339: +#line 3214 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { // Handle the short syntax @@ -6675,32 +6752,32 @@ yyreduce: ;} break; - case 333: -#line 3271 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 340: +#line 3303 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.InstVal) = (yyvsp[(1) - (1)].InstVal); CHECK_FOR_ERROR ;} break; - case 334: -#line 3276 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 341: +#line 3308 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.BoolVal) = true; CHECK_FOR_ERROR ;} break; - case 335: -#line 3280 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 342: +#line 3312 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.BoolVal) = false; CHECK_FOR_ERROR ;} break; - case 336: -#line 3287 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 343: +#line 3319 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { if (!UpRefs.empty()) GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(2) - (3)].TypeVal))->getDescription()); @@ -6710,8 +6787,8 @@ yyreduce: ;} break; - case 337: -#line 3294 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 344: +#line 3326 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { if (!UpRefs.empty()) GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(2) - (6)].TypeVal))->getDescription()); @@ -6724,8 +6801,8 @@ yyreduce: ;} break; - case 338: -#line 3304 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 345: +#line 3336 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { if (!UpRefs.empty()) GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(2) - (3)].TypeVal))->getDescription()); @@ -6735,8 +6812,8 @@ yyreduce: ;} break; - case 339: -#line 3311 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 346: +#line 3343 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { if (!UpRefs.empty()) GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(2) - (6)].TypeVal))->getDescription()); @@ -6749,8 +6826,8 @@ yyreduce: ;} break; - case 340: -#line 3321 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 347: +#line 3353 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { if (!isa((yyvsp[(2) - (2)].ValueVal)->getType())) GEN_ERROR("Trying to free nonpointer type " + @@ -6760,8 +6837,8 @@ yyreduce: ;} break; - case 341: -#line 3329 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 348: +#line 3361 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { if (!UpRefs.empty()) GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(3) - (5)].TypeVal))->getDescription()); @@ -6778,8 +6855,8 @@ yyreduce: ;} break; - case 342: -#line 3343 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 349: +#line 3375 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { if (!UpRefs.empty()) GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(5) - (7)].TypeVal))->getDescription()); @@ -6799,8 +6876,8 @@ yyreduce: ;} break; - case 343: -#line 3360 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 350: +#line 3392 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { if (!UpRefs.empty()) GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(2) - (5)].TypeVal))->getDescription()); @@ -6817,8 +6894,8 @@ yyreduce: ;} break; - case 344: -#line 3374 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 351: +#line 3406 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { if (!UpRefs.empty()) GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(2) - (4)].TypeVal))->getDescription()); @@ -6836,8 +6913,8 @@ yyreduce: ;} break; - case 345: -#line 3389 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 352: +#line 3421 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { if (!UpRefs.empty()) GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(2) - (4)].TypeVal))->getDescription()); @@ -6855,8 +6932,8 @@ yyreduce: ;} break; - case 346: -#line 3404 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" + case 353: +#line 3436 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { if (!UpRefs.empty()) GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(2) - (7)].TypeVal))->getDescription()); @@ -6878,7 +6955,7 @@ yyreduce: /* Line 1267 of yacc.c. */ -#line 6882 "llvmAsmParser.tab.c" +#line 6959 "llvmAsmParser.tab.c" default: break; } YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc); @@ -7092,7 +7169,7 @@ yyreturn: } -#line 3423 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" +#line 3455 "/Volumes/Nanpura/fn_prop/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 3f4fdfe771..1af92c3ea9 100644 --- a/lib/AsmParser/llvmAsmParser.h.cvs +++ b/lib/AsmParser/llvmAsmParser.h.cvs @@ -190,9 +190,14 @@ READNONE = 406, READONLY = 407, GC = 408, - DEFAULT = 409, - HIDDEN = 410, - PROTECTED = 411 + FNNOTE = 409, + INLINE = 410, + ALWAYS = 411, + NEVER = 412, + OPTIMIZEFORSIZE = 413, + DEFAULT = 414, + HIDDEN = 415, + PROTECTED = 416 }; #endif /* Tokens. */ @@ -347,16 +352,21 @@ #define READNONE 406 #define READONLY 407 #define GC 408 -#define DEFAULT 409 -#define HIDDEN 410 -#define PROTECTED 411 +#define FNNOTE 409 +#define INLINE 410 +#define ALWAYS 411 +#define NEVER 412 +#define OPTIMIZEFORSIZE 413 +#define DEFAULT 414 +#define HIDDEN 415 +#define PROTECTED 416 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED typedef union YYSTYPE -#line 970 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y" +#line 970 "/Volumes/Nanpura/fn_prop/llvm/lib/AsmParser/llvmAsmParser.y" { llvm::Module *ModuleVal; llvm::Function *FunctionVal; @@ -385,6 +395,7 @@ typedef union YYSTYPE llvm::GlobalValue::LinkageTypes Linkage; llvm::GlobalValue::VisibilityTypes Visibility; llvm::ParameterAttributes ParamAttrs; + llvm::FunctionNotes FunctionNotes; llvm::APInt *APIntVal; int64_t SInt64Val; uint64_t UInt64Val; @@ -405,7 +416,7 @@ typedef union YYSTYPE llvm::FCmpInst::Predicate FPredicate; } /* Line 1529 of yacc.c. */ -#line 409 "llvmAsmParser.tab.h" +#line 420 "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 36b56eabc7..d004a4e399 100644 --- a/lib/AsmParser/llvmAsmParser.y +++ b/lib/AsmParser/llvmAsmParser.y @@ -995,6 +995,7 @@ Module *llvm::RunVMAsmParser(llvm::MemoryBuffer *MB) { llvm::GlobalValue::LinkageTypes Linkage; llvm::GlobalValue::VisibilityTypes Visibility; llvm::ParameterAttributes ParamAttrs; + llvm::FunctionNotes FunctionNotes; llvm::APInt *APIntVal; int64_t SInt64Val; uint64_t UInt64Val; @@ -1090,6 +1091,8 @@ Module *llvm::RunVMAsmParser(llvm::MemoryBuffer *MB) { %type OptCallingConv LocalNumber %type OptParamAttrs ParamAttr %type OptFuncAttrs FuncAttr +%type OptFuncNotes FuncNote +%type FuncNoteList // Basic Block Terminating Operators %token RET BR SWITCH INVOKE UNWIND UNREACHABLE @@ -1123,6 +1126,9 @@ Module *llvm::RunVMAsmParser(llvm::MemoryBuffer *MB) { %token SIGNEXT ZEROEXT NORETURN INREG SRET NOUNWIND NOALIAS BYVAL NEST %token READNONE READONLY GC +// Function Notes +%token FNNOTE INLINE ALWAYS NEVER OPTIMIZEFORSIZE + // Visibility Styles %token DEFAULT HIDDEN PROTECTED @@ -1288,6 +1294,29 @@ OptFuncAttrs : /* empty */ { $$ = ParamAttr::None; } } ; +FuncNoteList : FuncNote { $$ = $1; } + | FuncNoteList ',' FuncNote { + FunctionNotes tmp = $1 | $3; + if ($3 == FP_NoInline && ($1 & FP_AlwaysInline)) + GEN_ERROR("Function Notes may include only one inline notes!") + if ($3 == FP_AlwaysInline && ($1 & FP_NoInline)) + GEN_ERROR("Function Notes may include only one inline notes!") + $$ = tmp; + CHECK_FOR_ERROR + } + ; + +FuncNote : INLINE '=' NEVER { $$ = FP_NoInline; } + | INLINE '=' ALWAYS { $$ = FP_AlwaysInline; } + | OPTIMIZEFORSIZE { $$ = FP_OptimizeForSize; } + ; + +OptFuncNotes : /* empty */ { $$ = FP_None; } + | FNNOTE '(' FuncNoteList ')' { + $$ = $3; + } + ; + OptGC : /* empty */ { $$ = 0; } | GC STRINGCONSTANT { $$ = $2; @@ -2303,7 +2332,7 @@ ArgList : ArgListH { }; FunctionHeaderH : OptCallingConv ResultTypes GlobalName '(' ArgList ')' - OptFuncAttrs OptSection OptAlign OptGC { + OptFuncAttrs OptSection OptAlign OptGC OptFuncNotes { std::string FunctionName(*$3); delete $3; // Free strdup'd memory! @@ -2405,6 +2434,9 @@ FunctionHeaderH : OptCallingConv ResultTypes GlobalName '(' ArgList ')' Fn->setGC($10->c_str()); delete $10; } + if ($11) { + Fn->setNotes($11); + } // 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 36b56eabc7..d004a4e399 100644 --- a/lib/AsmParser/llvmAsmParser.y.cvs +++ b/lib/AsmParser/llvmAsmParser.y.cvs @@ -995,6 +995,7 @@ Module *llvm::RunVMAsmParser(llvm::MemoryBuffer *MB) { llvm::GlobalValue::LinkageTypes Linkage; llvm::GlobalValue::VisibilityTypes Visibility; llvm::ParameterAttributes ParamAttrs; + llvm::FunctionNotes FunctionNotes; llvm::APInt *APIntVal; int64_t SInt64Val; uint64_t UInt64Val; @@ -1090,6 +1091,8 @@ Module *llvm::RunVMAsmParser(llvm::MemoryBuffer *MB) { %type OptCallingConv LocalNumber %type OptParamAttrs ParamAttr %type OptFuncAttrs FuncAttr +%type OptFuncNotes FuncNote +%type FuncNoteList // Basic Block Terminating Operators %token RET BR SWITCH INVOKE UNWIND UNREACHABLE @@ -1123,6 +1126,9 @@ Module *llvm::RunVMAsmParser(llvm::MemoryBuffer *MB) { %token SIGNEXT ZEROEXT NORETURN INREG SRET NOUNWIND NOALIAS BYVAL NEST %token READNONE READONLY GC +// Function Notes +%token FNNOTE INLINE ALWAYS NEVER OPTIMIZEFORSIZE + // Visibility Styles %token DEFAULT HIDDEN PROTECTED @@ -1288,6 +1294,29 @@ OptFuncAttrs : /* empty */ { $$ = ParamAttr::None; } } ; +FuncNoteList : FuncNote { $$ = $1; } + | FuncNoteList ',' FuncNote { + FunctionNotes tmp = $1 | $3; + if ($3 == FP_NoInline && ($1 & FP_AlwaysInline)) + GEN_ERROR("Function Notes may include only one inline notes!") + if ($3 == FP_AlwaysInline && ($1 & FP_NoInline)) + GEN_ERROR("Function Notes may include only one inline notes!") + $$ = tmp; + CHECK_FOR_ERROR + } + ; + +FuncNote : INLINE '=' NEVER { $$ = FP_NoInline; } + | INLINE '=' ALWAYS { $$ = FP_AlwaysInline; } + | OPTIMIZEFORSIZE { $$ = FP_OptimizeForSize; } + ; + +OptFuncNotes : /* empty */ { $$ = FP_None; } + | FNNOTE '(' FuncNoteList ')' { + $$ = $3; + } + ; + OptGC : /* empty */ { $$ = 0; } | GC STRINGCONSTANT { $$ = $2; @@ -2303,7 +2332,7 @@ ArgList : ArgListH { }; FunctionHeaderH : OptCallingConv ResultTypes GlobalName '(' ArgList ')' - OptFuncAttrs OptSection OptAlign OptGC { + OptFuncAttrs OptSection OptAlign OptGC OptFuncNotes { std::string FunctionName(*$3); delete $3; // Free strdup'd memory! @@ -2405,6 +2434,9 @@ FunctionHeaderH : OptCallingConv ResultTypes GlobalName '(' ArgList ')' Fn->setGC($10->c_str()); delete $10; } + if ($11) { + Fn->setNotes($11); + } // Add all of the arguments we parsed to the function... if ($5) { // Is null if empty... -- cgit v1.2.3