aboutsummaryrefslogtreecommitdiff
path: root/lib/AsmParser/llvmAsmParser.cpp.cvs
diff options
context:
space:
mode:
authorReid Spencer <rspencer@reidspencer.com>2006-12-03 05:46:11 +0000
committerReid Spencer <rspencer@reidspencer.com>2006-12-03 05:46:11 +0000
commita132e04b66dcdf291454a394336718f2091c5637 (patch)
tree11d3c5364014f4a36ced0176ac000dcf89b279f5 /lib/AsmParser/llvmAsmParser.cpp.cvs
parent08de34b229e0f4d8acd05f95275fd5483e492eb8 (diff)
Regenerate.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32145 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/AsmParser/llvmAsmParser.cpp.cvs')
-rw-r--r--lib/AsmParser/llvmAsmParser.cpp.cvs3187
1 files changed, 1583 insertions, 1604 deletions
diff --git a/lib/AsmParser/llvmAsmParser.cpp.cvs b/lib/AsmParser/llvmAsmParser.cpp.cvs
index d06b5228ba..125ece66d5 100644
--- a/lib/AsmParser/llvmAsmParser.cpp.cvs
+++ b/lib/AsmParser/llvmAsmParser.cpp.cvs
@@ -157,35 +157,61 @@
SETGT = 348,
SETEQ = 349,
SETNE = 350,
- MALLOC = 351,
- ALLOCA = 352,
- FREE = 353,
- LOAD = 354,
- STORE = 355,
- GETELEMENTPTR = 356,
- TRUNC = 357,
- ZEXT = 358,
- SEXT = 359,
- FPTRUNC = 360,
- FPEXT = 361,
- BITCAST = 362,
- UITOFP = 363,
- SITOFP = 364,
- FPTOUI = 365,
- FPTOSI = 366,
- INTTOPTR = 367,
- PTRTOINT = 368,
- PHI_TOK = 369,
- SELECT = 370,
- SHL = 371,
- LSHR = 372,
- ASHR = 373,
- VAARG = 374,
- EXTRACTELEMENT = 375,
- INSERTELEMENT = 376,
- SHUFFLEVECTOR = 377,
- VAARG_old = 378,
- VANEXT_old = 379
+ ICMP = 351,
+ FCMP = 352,
+ EQ = 353,
+ NE = 354,
+ SLT = 355,
+ SGT = 356,
+ SLE = 357,
+ SGE = 358,
+ ULT = 359,
+ UGT = 360,
+ ULE = 361,
+ UGE = 362,
+ ORDEQ = 363,
+ ORDNE = 364,
+ ORDLT = 365,
+ ORDGT = 366,
+ ORDLE = 367,
+ ORDGE = 368,
+ ORD = 369,
+ UNO = 370,
+ UNOEQ = 371,
+ UNONE = 372,
+ UNOLT = 373,
+ UNOGT = 374,
+ UNOLE = 375,
+ UNOGE = 376,
+ MALLOC = 377,
+ ALLOCA = 378,
+ FREE = 379,
+ LOAD = 380,
+ STORE = 381,
+ GETELEMENTPTR = 382,
+ TRUNC = 383,
+ ZEXT = 384,
+ SEXT = 385,
+ FPTRUNC = 386,
+ FPEXT = 387,
+ BITCAST = 388,
+ UITOFP = 389,
+ SITOFP = 390,
+ FPTOUI = 391,
+ FPTOSI = 392,
+ INTTOPTR = 393,
+ PTRTOINT = 394,
+ PHI_TOK = 395,
+ SELECT = 396,
+ SHL = 397,
+ LSHR = 398,
+ ASHR = 399,
+ VAARG = 400,
+ EXTRACTELEMENT = 401,
+ INSERTELEMENT = 402,
+ SHUFFLEVECTOR = 403,
+ VAARG_old = 404,
+ VANEXT_old = 405
};
#endif
/* Tokens. */
@@ -282,35 +308,61 @@
#define SETGT 348
#define SETEQ 349
#define SETNE 350
-#define MALLOC 351
-#define ALLOCA 352
-#define FREE 353
-#define LOAD 354
-#define STORE 355
-#define GETELEMENTPTR 356
-#define TRUNC 357
-#define ZEXT 358
-#define SEXT 359
-#define FPTRUNC 360
-#define FPEXT 361
-#define BITCAST 362
-#define UITOFP 363
-#define SITOFP 364
-#define FPTOUI 365
-#define FPTOSI 366
-#define INTTOPTR 367
-#define PTRTOINT 368
-#define PHI_TOK 369
-#define SELECT 370
-#define SHL 371
-#define LSHR 372
-#define ASHR 373
-#define VAARG 374
-#define EXTRACTELEMENT 375
-#define INSERTELEMENT 376
-#define SHUFFLEVECTOR 377
-#define VAARG_old 378
-#define VANEXT_old 379
+#define ICMP 351
+#define FCMP 352
+#define EQ 353
+#define NE 354
+#define SLT 355
+#define SGT 356
+#define SLE 357
+#define SGE 358
+#define ULT 359
+#define UGT 360
+#define ULE 361
+#define UGE 362
+#define ORDEQ 363
+#define ORDNE 364
+#define ORDLT 365
+#define ORDGT 366
+#define ORDLE 367
+#define ORDGE 368
+#define ORD 369
+#define UNO 370
+#define UNOEQ 371
+#define UNONE 372
+#define UNOLT 373
+#define UNOGT 374
+#define UNOLE 375
+#define UNOGE 376
+#define MALLOC 377
+#define ALLOCA 378
+#define FREE 379
+#define LOAD 380
+#define STORE 381
+#define GETELEMENTPTR 382
+#define TRUNC 383
+#define ZEXT 384
+#define SEXT 385
+#define FPTRUNC 386
+#define FPEXT 387
+#define BITCAST 388
+#define UITOFP 389
+#define SITOFP 390
+#define FPTOUI 391
+#define FPTOSI 392
+#define INTTOPTR 393
+#define PTRTOINT 394
+#define PHI_TOK 395
+#define SELECT 396
+#define SHL 397
+#define LSHR 398
+#define ASHR 399
+#define VAARG 400
+#define EXTRACTELEMENT 401
+#define INSERTELEMENT 402
+#define SHUFFLEVECTOR 403
+#define VAARG_old 404
+#define VANEXT_old 405
@@ -430,11 +482,6 @@ static struct PerModuleInfo {
return;
}
- // Look for intrinsic functions and CallInst that need to be upgraded
- for (Module::iterator FI = CurrentModule->begin(),
- FE = CurrentModule->end(); FI != FE; )
- UpgradeCallsToIntrinsic(FI++);
-
Values.clear(); // Clear out function local definitions
Types.clear();
CurrentModule = 0;
@@ -560,7 +607,7 @@ static const Type *getTypeVal(const ValID &D, bool DoNotImprovise = false) {
Type *Typ = OpaqueType::get();
CurModule.LateResolveTypes.insert(std::make_pair(D, Typ));
return Typ;
-}
+ }
static Value *lookupInSymbolTable(const Type *Ty, const std::string &Name) {
SymbolTable &SymTab =
@@ -1119,71 +1166,6 @@ static PATypeHolder HandleUpRefs(const Type *ty) {
return Ty;
}
-/// This function is used to obtain the correct opcode for an instruction when
-/// an obsolete opcode is encountered. The OI parameter (OpcodeInfo) has both
-/// an opcode and an "obsolete" flag. These are generated by the lexer and
-/// the "obsolete" member will be true when the lexer encounters the token for
-/// an obsolete opcode. For example, "div" was replaced by [usf]div but we need
-/// to maintain backwards compatibility for asm files that still have the "div"
-/// instruction. This function handles converting div -> [usf]div appropriately.
-/// @brief Convert obsolete BinaryOps opcodes to new values
-static void
-sanitizeOpcode(OpcodeInfo<Instruction::BinaryOps> &OI, const Type *Ty)
-{
- // If its not obsolete, don't do anything
- if (!OI.obsolete)
- return;
-
- // If its a packed type we want to use the element type
- if (const PackedType *PTy = dyn_cast<PackedType>(Ty))
- Ty = PTy->getElementType();
-
- // Depending on the opcode ..
- switch (OI.opcode) {
- default:
- GenerateError("Invalid obsolete opCode (check Lexer.l)");
- break;
- case Instruction::UDiv:
- // Handle cases where the opcode needs to change
- if (Ty->isFloatingPoint())
- OI.opcode = Instruction::FDiv;
- else if (Ty->isSigned())
- OI.opcode = Instruction::SDiv;
- break;
- case Instruction::URem:
- if (Ty->isFloatingPoint())
- OI.opcode = Instruction::FRem;
- else if (Ty->isSigned())
- OI.opcode = Instruction::SRem;
- break;
- }
- // Its not obsolete any more, we fixed it.
- OI.obsolete = false;
-}
-
-/// This function is similar to the previous overload of sanitizeOpcode but
-/// operates on Instruction::OtherOps instead of Instruction::BinaryOps.
-/// @brief Convert obsolete OtherOps opcodes to new values
-static void
-sanitizeOpcode(OpcodeInfo<Instruction::OtherOps> &OI, const Type *Ty)
-{
- // If its not obsolete, don't do anything
- if (!OI.obsolete)
- return;
-
- switch (OI.opcode) {
- default:
- GenerateError("Invalid obsolete opcode (check Lexer.l)");
- break;
- case Instruction::LShr:
- if (Ty->isSigned())
- OI.opcode = Instruction::AShr;
- break;
- }
- // Its not obsolete any more, we fixed it.
- OI.obsolete = false;
-}
-
// common code from the two 'RunVMAsmParser' functions
static Module* RunParser(Module * M) {
@@ -1360,25 +1342,28 @@ Module *llvm::RunVMAsmParser(const char * AsmString, Module * M) {
#endif
#if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED)
-#line 1038 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 968 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
typedef union YYSTYPE {
llvm::Module *ModuleVal;
llvm::Function *FunctionVal;
- std::pair<TypeInfo, char*> *ArgVal;
+ std::pair<llvm::PATypeHolder*, char*> *ArgVal;
llvm::BasicBlock *BasicBlockVal;
llvm::TerminatorInst *TermInstVal;
llvm::Instruction *InstVal;
- ConstInfo ConstVal;
- TypeInfo TypeVal;
- ValueInfo ValueVal;
+ llvm::Constant *ConstVal;
- std::vector<std::pair<TypeInfo,char*> >*ArgList;
- std::vector<ValueInfo> *ValueList;
- std::list<TypeInfo> *TypeList;
+ const llvm::Type *PrimType;
+ llvm::PATypeHolder *TypeVal;
+ llvm::Value *ValueVal;
+
+ std::vector<std::pair<llvm::PATypeHolder*,char*> > *ArgList;
+ std::vector<llvm::Value*> *ValueList;
+ std::list<llvm::PATypeHolder> *TypeList;
// Represent the RHS of PHI node
- std::list<std::pair<llvm::Value*, llvm::BasicBlock*> > *PHIList;
+ std::list<std::pair<llvm::Value*,
+ llvm::BasicBlock*> > *PHIList;
std::vector<std::pair<llvm::Constant*, llvm::BasicBlock*> > *JumpTable;
- std::vector<ConstInfo> *ConstVector;
+ std::vector<llvm::Constant*> *ConstVector;
llvm::GlobalValue::LinkageTypes Linkage;
int64_t SInt64Val;
@@ -1391,15 +1376,17 @@ typedef union YYSTYPE {
char *StrVal; // This memory is strdup'd!
llvm::ValID ValIDVal; // strdup'd memory maybe!
- BinaryOpInfo BinaryOpVal;
- TermOpInfo TermOpVal;
- MemOpInfo MemOpVal;
- CastOpInfo CastOpVal;
- OtherOpInfo OtherOpVal;
+ llvm::Instruction::BinaryOps BinaryOpVal;
+ llvm::Instruction::TermOps TermOpVal;
+ llvm::Instruction::MemoryOps MemOpVal;
+ llvm::Instruction::CastOps CastOpVal;
+ llvm::Instruction::OtherOps OtherOpVal;
llvm::Module::Endianness Endianness;
+ llvm::ICmpInst::Predicate IPredicate;
+ llvm::FCmpInst::Predicate FPredicate;
} YYSTYPE;
/* Line 196 of yacc.c. */
-#line 1403 "llvmAsmParser.tab.c"
+#line 1390 "llvmAsmParser.tab.c"
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
# define YYSTYPE_IS_DECLARED 1
# define YYSTYPE_IS_TRIVIAL 1
@@ -1411,7 +1398,7 @@ typedef union YYSTYPE {
/* Line 219 of yacc.c. */
-#line 1415 "llvmAsmParser.tab.c"
+#line 1402 "llvmAsmParser.tab.c"
#if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__)
# define YYSIZE_T __SIZE_TYPE__
@@ -1562,20 +1549,20 @@ union yyalloc
/* YYFINAL -- State number of the termination state. */
#define YYFINAL 4
/* YYLAST -- Last index in YYTABLE. */
-#define YYLAST 1410
+#define YYLAST 1503
/* YYNTOKENS -- Number of terminals. */
-#define YYNTOKENS 139
+#define YYNTOKENS 165
/* YYNNTS -- Number of nonterminals. */
-#define YYNNTS 76
+#define YYNNTS 78
/* YYNRULES -- Number of rules. */
-#define YYNRULES 269
+#define YYNRULES 297
/* YYNRULES -- Number of states. */
-#define YYNSTATES 534
+#define YYNSTATES 586
/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
#define YYUNDEFTOK 2
-#define YYMAXUTOK 379
+#define YYMAXUTOK 405
#define YYTRANSLATE(YYX) \
((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
@@ -1587,15 +1574,15 @@ static const unsigned char 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,
- 128, 129, 137, 2, 126, 2, 2, 2, 2, 2,
+ 154, 155, 163, 2, 152, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 133, 125, 134, 2, 2, 2, 2, 2, 2, 2,
+ 159, 151, 160, 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, 130, 127, 132, 2, 2, 2, 2, 2, 138,
+ 2, 156, 153, 158, 2, 2, 2, 2, 2, 164,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 131, 2, 2, 135, 2, 136, 2, 2, 2, 2,
+ 157, 2, 2, 161, 2, 162, 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,
@@ -1620,7 +1607,10 @@ static const unsigned char yytranslate[] =
85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
- 115, 116, 117, 118, 119, 120, 121, 122, 123, 124
+ 115, 116, 117, 118, 119, 120, 121, 122, 123, 124,
+ 125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
+ 135, 136, 137, 138, 139, 140, 141, 142, 143, 144,
+ 145, 146, 147, 148, 149, 150
};
#if YYDEBUG
@@ -1633,151 +1623,165 @@ static const unsigned short int yyprhs[] =
39, 41, 43, 45, 47, 49, 51, 53, 55, 57,
59, 61, 63, 65, 67, 69, 71, 73, 75, 77,
79, 81, 83, 85, 87, 89, 91, 93, 95, 97,
- 99, 101, 104, 105, 107, 109, 111, 113, 115, 117,
- 119, 120, 121, 123, 125, 127, 129, 131, 133, 136,
- 137, 140, 141, 145, 148, 149, 151, 152, 156, 158,
- 161, 163, 165, 167, 169, 171, 173, 175, 177, 179,
- 181, 183, 185, 187, 189, 191, 193, 195, 197, 199,
- 201, 203, 206, 211, 217, 223, 227, 230, 233, 235,
- 239, 241, 245, 247, 248, 253, 257, 261, 266, 271,
- 275, 278, 281, 284, 287, 290, 293, 296, 299, 302,
- 305, 312, 318, 327, 334, 341, 348, 355, 362, 371,
- 380, 384, 386, 388, 390, 392, 395, 398, 403, 406,
- 408, 413, 416, 421, 422, 430, 431, 439, 440, 448,
- 449, 457, 461, 466, 467, 469, 471, 473, 477, 481,
- 485, 489, 493, 497, 499, 500, 502, 504, 506, 507,
- 510, 514, 516, 518, 522, 524, 525, 534, 536, 538,
- 542, 544, 546, 549, 550, 552, 554, 555, 560, 561,
- 563, 565, 567, 569, 571, 573, 575, 577, 579, 583,
- 585, 591, 593, 595, 597, 599, 602, 605, 608, 612,
- 615, 616, 618, 621, 624, 628, 638, 648, 657, 671,
- 673, 675, 682, 688, 691, 698, 706, 708, 712, 714,
- 715, 718, 720, 726, 732, 738, 741, 746, 751, 758,
- 763, 768, 773, 778, 785, 792, 795, 803, 805, 808,
- 809, 811, 812, 816, 823, 827, 834, 837, 842, 849
+ 99, 101, 103, 105, 107, 109, 111, 113, 115, 117,
+ 119, 121, 123, 125, 127, 129, 131, 133, 135, 137,
+ 139, 141, 143, 145, 147, 149, 152, 153, 155, 157,
+ 159, 161, 163, 165, 167, 168, 169, 171, 173, 175,
+ 177, 179, 181, 184, 185, 188, 189, 193, 196, 197,
+ 199, 200, 204, 206, 209, 211, 213, 215, 217, 219,
+ 221, 223, 225, 227, 229, 231, 233, 235, 237, 239,
+ 241, 243, 245, 247, 249, 251, 254, 259, 265, 271,
+ 275, 278, 281, 283, 287, 289, 293, 295, 296, 301,
+ 305, 309, 314, 319, 323, 326, 329, 332, 335, 338,
+ 341, 344, 347, 350, 353, 360, 366, 375, 382, 389,
+ 396, 405, 414, 421, 428, 437, 446, 450, 452, 454,
+ 456, 458, 461, 464, 469, 472, 474, 479, 482, 487,
+ 488, 496, 497, 505, 506, 514, 515, 523, 527, 532,
+ 533, 535, 537, 539, 543, 547, 551, 555, 559, 563,
+ 565, 566, 568, 570, 572, 573, 576, 580, 582, 584,
+ 588, 590, 591, 600, 602, 604, 608, 610, 612, 615,
+ 616, 618, 620, 621, 626, 627, 629, 631, 633, 635,
+ 637, 639, 641, 643, 645, 649, 651, 657, 659, 661,
+ 663, 665, 668, 671, 674, 678, 681, 682, 684, 687,
+ 690, 694, 704, 714, 723, 737, 739, 741, 748, 754,
+ 757, 764, 772, 774, 778, 780, 781, 784, 786, 792,
+ 798, 804, 811, 818, 821, 826, 831, 838, 843, 848,
+ 853, 858, 865, 872, 875, 883, 885, 888, 889, 891,
+ 892, 896, 903, 907, 914, 917, 922, 929
};
/* YYRHS -- A `-1'-separated list of the rules' RHS. */
static const short int yyrhs[] =
{
- 171, 0, -1, 5, -1, 6, -1, 3, -1, 4,
+ 199, 0, -1, 5, -1, 6, -1, 3, -1, 4,
-1, 78, -1, 79, -1, 80, -1, 81, -1, 82,
-1, 83, -1, 84, -1, 85, -1, 86, -1, 87,
-1, 88, -1, 89, -1, 90, -1, 91, -1, 92,
- -1, 93, -1, 94, -1, 95, -1, 102, -1, 103,
- -1, 104, -1, 105, -1, 106, -1, 107, -1, 108,
- -1, 109, -1, 110, -1, 111, -1, 112, -1, 113,
- -1, 116, -1, 117, -1, 118, -1, 16, -1, 14,
- -1, 12, -1, 10, -1, 17, -1, 15, -1, 13,
- -1, 11, -1, 147, -1, 148, -1, 18, -1, 19,
- -1, 183, 125, -1, -1, 41, -1, 42, -1, 43,
- -1, 44, -1, 45, -1, 46, -1, 47, -1, -1,
- -1, 65, -1, 66, -1, 67, -1, 68, -1, 69,
- -1, 70, -1, 64, 4, -1, -1, 57, 4, -1,
- -1, 126, 57, 4, -1, 34, 24, -1, -1, 156,
- -1, -1, 126, 159, 158, -1, 156, -1, 57, 4,
- -1, 162, -1, 8, -1, 164, -1, 8, -1, 164,
- -1, 9, -1, 10, -1, 11, -1, 12, -1, 13,
- -1, 14, -1, 15, -1, 16, -1, 17, -1, 18,
- -1, 19, -1, 20, -1, 21, -1, 48, -1, 163,
- -1, 198, -1, 127, 4, -1, 161, 128, 166, 129,
- -1, 130, 4, 131, 164, 132, -1, 133, 4, 131,
- 164, 134, -1, 135, 165, 136, -1, 135, 136, -1,
- 164, 137, -1, 164, -1, 165, 126, 164, -1, 165,
- -1, 165, 126, 37, -1, 37, -1, -1, 162, 130,
- 169, 132, -1, 162, 130, 132, -1, 162, 138, 24,
- -1, 162, 133, 169, 134, -1, 162, 135, 169, 136,
- -1, 162, 135, 136, -1, 162, 38, -1, 162, 39,
- -1, 162, 198, -1, 162, 168, -1, 162, 26, -1,
- 147, 141, -1, 148, 4, -1, 9, 27, -1, 9,
- 28, -1, 150, 7, -1, 145, 128, 167, 36, 162,
- 129, -1, 101, 128, 167, 212, 129, -1, 115, 128,
- 167, 126, 167, 126, 167, 129, -1, 142, 128, 167,
- 126, 167, 129, -1, 143, 128, 167, 126, 167, 129,
- -1, 144, 128, 167, 126, 167, 129, -1, 146, 128,
- 167, 126, 167, 129, -1, 120, 128, 167, 126, 167,
- 129, -1, 121, 128, 167, 126, 167, 126, 167, 129,
- -1, 122, 128, 167, 126, 167, 126, 167, 129, -1,
- 169, 126, 167, -1, 167, -1, 32, -1, 33, -1,
- 172, -1, 172, 192, -1, 172, 194, -1, 172, 62,
- 61, 178, -1, 172, 25, -1, 173, -1, 173, 151,
- 20, 160, -1, 173, 194, -1, 173, 62, 61, 178,
- -1, -1, 173, 151, 152, 170, 167, 174, 158, -1,
- -1, 173, 151, 50, 170, 162, 175, 158, -1, -1,
- 173, 151, 45, 170, 162, 176, 158, -1, -1, 173,
- 151, 47, 170, 162, 177, 158, -1, 173, 51, 180,
- -1, 173, 58, 125, 181, -1, -1, 24, -1, 56,
- -1, 55, -1, 53, 125, 179, -1, 54, 125, 4,
- -1, 52, 125, 24, -1, 71, 125, 24, -1, 130,
- 182, 132, -1, 182, 126, 24, -1, 24, -1, -1,
- 22, -1, 24, -1, 183, -1, -1, 162, 184, -1,
- 186, 126, 185, -1, 185, -1, 186, -1, 186, 126,
- 37, -1, 37, -1, -1, 153, 160, 183, 128, 187,
- 129, 157, 154, -1, 29, -1, 135, -1, 152, 188,
- 189, -1, 30, -1, 136, -1, 201, 191, -1, -1,
- 45, -1, 47, -1, -1, 31, 195, 193, 188, -1,
- -1, 63, -1, 3, -1, 4, -1, 7, -1, 27,
- -1, 28, -1, 38, -1, 39, -1, 26, -1, 133,
- 169, 134, -1, 168, -1, 61, 196, 24, 126, 24,
- -1, 140, -1, 183, -1, 198, -1, 197, -1, 162,
- 199, -1, 201, 202, -1, 190, 202, -1, 203, 151,
- 204, -1, 203, 206, -1, -1, 23, -1, 72, 200,
- -1, 72, 8, -1, 73, 21, 199, -1, 73, 9,
- 199, 126, 21, 199, 126, 21, 199, -1, 74, 149,
- 199, 126, 21, 199, 130, 205, 132, -1, 74, 149,
- 199, 126, 21, 199, 130, 132, -1, 75, 153, 160,
- 199, 128, 209, 129, 36, 21, 199, 76, 21, 199,
- -1, 76, -1, 77, -1, 205, 149, 197, 126, 21,
- 199, -1, 149, 197, 126, 21, 199, -1, 151, 211,
- -1, 162, 130, 199, 126, 199, 132, -1, 207, 126,
- 130, 199, 126, 199, 132, -1, 200, -1, 208, 126,
- 200, -1, 208, -1, -1, 60, 59, -1, 59, -1,
- 142, 162, 199, 126, 199, -1, 143, 162, 199, 126,
- 199, -1, 144, 162, 199, 126, 199, -1, 49, 200,
- -1, 146, 200, 126, 200, -1, 145, 200, 36, 162,
- -1, 115, 200, 126, 200, 126, 200, -1, 119, 200,
- 126, 162, -1, 123, 200, 126, 162, -1, 124, 200,
- 126, 162, -1, 120, 200, 126, 200, -1, 121, 200,
- 126, 200, 126, 200, -1, 122, 200, 126, 200, 126,
- 200, -1, 114, 207, -1, 210, 153, 160, 199, 128,
- 209, 129, -1, 214, -1, 126, 208, -1, -1, 35,
- -1, -1, 96, 162, 155, -1, 96, 162, 126, 15,
- 199, 155, -1, 97, 162, 155, -1, 97, 162, 126,
- 15, 199, 155, -1, 98, 200, -1, 213, 99, 162,
- 199, -1, 213, 100, 200, 126, 162, 199, -1, 101,
- 162, 199, 212, -1
+ -1, 93, -1, 94, -1, 95, -1, 128, -1, 129,
+ -1, 130, -1, 131, -1, 132, -1, 133, -1, 134,
+ -1, 135, -1, 136, -1, 137, -1, 138, -1, 139,
+ -1, 142, -1, 143, -1, 144, -1, 98, -1, 99,
+ -1, 100, -1, 101, -1, 102, -1, 103, -1, 104,
+ -1, 105, -1, 106, -1, 107, -1, 108, -1, 109,
+ -1, 110, -1, 111, -1, 112, -1, 113, -1, 114,
+ -1, 115, -1, 116, -1, 117, -1, 118, -1, 119,
+ -1, 120, -1, 121, -1, 16, -1, 14, -1, 12,
+ -1, 10, -1, 17, -1, 15, -1, 13, -1, 11,
+ -1, 175, -1, 176, -1, 18, -1, 19, -1, 211,
+ 151, -1, -1, 41, -1, 42, -1, 43, -1, 44,
+ -1, 45, -1, 46, -1, 47, -1, -1, -1, 65,
+ -1, 66, -1, 67, -1, 68, -1, 69, -1, 70,
+ -1, 64, 4, -1, -1, 57, 4, -1, -1, 152,
+ 57, 4, -1, 34, 24, -1, -1, 184, -1, -1,
+ 152, 187, 186, -1, 184, -1, 57, 4, -1, 190,
+ -1, 8, -1, 192, -1, 8, -1, 192, -1, 9,
+ -1, 10, -1, 11, -1, 12, -1, 13, -1, 14,
+ -1, 15, -1, 16, -1, 17, -1, 18, -1, 19,
+ -1, 20, -1, 21, -1, 48, -1, 191, -1, 226,
+ -1, 153, 4, -1, 189, 154, 194, 155, -1, 156,
+ 4, 157, 192, 158, -1, 159, 4, 157, 192, 160,
+ -1, 161, 193, 162, -1, 161, 162, -1, 192, 163,
+ -1, 192, -1, 193, 152, 192, -1, 193, -1, 193,
+ 152, 37, -1, 37, -1, -1, 190, 156, 197, 158,
+ -1, 190, 156, 158, -1, 190, 164, 24, -1, 190,
+ 159, 197, 160, -1, 190, 161, 197, 162, -1, 190,
+ 161, 162, -1, 190, 38, -1, 190, 39, -1, 190,
+ 226, -1, 190, 196, -1, 190, 26, -1, 175, 167,
+ -1, 176, 4, -1, 9, 27, -1, 9, 28, -1,
+ 178, 7, -1, 171, 154, 195, 36, 190, 155, -1,
+ 127, 154, 195, 240, 155, -1, 141, 154, 195, 152,
+ 195, 152, 195, 155, -1, 168, 154, 195, 152, 195,
+ 155, -1, 169, 154, 195, 152, 195, 155, -1, 170,
+ 154, 195, 152, 195, 155, -1, 96, 154, 173, 152,
+ 195, 152, 195, 155, -1, 97, 154, 174, 152, 195,
+ 152, 195, 155, -1, 172, 154, 195, 152, 195, 155,
+ -1, 146, 154, 195, 152, 195, 155, -1, 147, 154,
+ 195, 152, 195, 152, 195, 155, -1, 148, 154, 195,
+ 152, 195, 152, 195, 155, -1, 197, 152, 195, -1,
+ 195, -1, 32, -1, 33, -1, 200, -1, 200, 220,
+ -1, 200, 222, -1, 200, 62, 61, 206, -1, 200,
+ 25, -1, 201, -1, 201, 179, 20, 188, -1, 201,
+ 222, -1, 201, 62, 61, 206, -1, -1, 201, 179,
+ 180, 198, 195, 202, 186, -1, -1, 201, 179, 50,
+ 198, 190, 203, 186, -1, -1, 201, 179, 45, 198,
+ 190, 204, 186, -1, -1, 201, 179, 47, 198, 190,
+ 205, 186, -1, 201, 51, 208, -1, 201, 58, 151,
+ 209, -1, -1, 24, -1, 56, -1, 55, -1, 53,
+ 151, 207, -1, 54, 151, 4, -1, 52, 151, 24,
+ -1, 71, 151, 24, -1, 156, 210, 158, -1, 210,
+ 152, 24, -1, 24, -1, -1, 22, -1, 24, -1,
+ 211, -1, -1, 190, 212, -1, 214, 152, 213, -1,
+ 213, -1, 214, -1, 214, 152, 37, -1, 37, -1,
+ -1, 181, 188, 211, 154, 215, 155, 185, 182, -1,
+ 29, -1, 161, -1, 180, 216, 217, -1, 30, -1,
+ 162, -1, 229, 219, -1, -1, 45, -1, 47, -1,
+ -1, 31, 223, 221, 216, -1, -1, 63, -1, 3,
+ -1, 4, -1, 7, -1, 27, -1, 28, -1, 38,
+ -1, 39, -1, 26, -1, 159, 197, 160, -1, 196,
+ -1, 61, 224, 24, 152, 24, -1, 166, -1, 211,
+ -1, 226, -1, 225, -1, 190, 227, -1, 229, 230,
+ -1, 218, 230, -1, 231, 179, 232, -1, 231, 234,
+ -1, -1, 23, -1, 72, 228, -1, 72, 8, -1,
+ 73, 21, 227, -1, 73, 9, 227, 152, 21, 227,
+ 152, 21, 227, -1, 74, 177, 227, 152, 21, 227,
+ 156, 233, 158, -1, 74, 177, 227, 152, 21, 227,
+ 156, 158, -1, 75, 181, 188, 227, 154, 237, 155,
+ 36, 21, 227, 76, 21, 227, -1, 76, -1, 77,
+ -1, 233, 177, 225, 152, 21, 227, -1, 177, 225,
+ 152, 21, 227, -1, 179, 239, -1, 190, 156, 227,
+ 152, 227, 158, -1, 235, 152, 156, 227, 152, 227,
+ 158, -1, 228, -1, 236, 152, 228, -1, 236, -1,
+ -1, 60, 59, -1, 59, -1, 168, 190, 227, 152,
+ 227, -1, 169, 190, 227, 152, 227, -1, 170, 190,
+ 227, 152, 227, -1, 96, 173, 190, 227, 152, 227,
+ -1, 97, 174, 190, 227, 152, 227, -1, 49, 228,
+ -1, 172, 228, 152, 228, -1, 171, 228, 36, 190,
+ -1, 141, 228, 152, 228, 152, 228, -1, 145, 228,
+ 152, 190, -1, 149, 228, 152, 190, -1, 150, 228,
+ 152, 190, -1, 146, 228, 152, 228, -1, 147, 228,
+ 152, 228, 152, 228, -1, 148, 228, 152, 228, 152,
+ 228, -1, 140, 235, -1, 238, 181, 188, 227, 154,
+ 237, 155, -1, 242, -1, 152, 236, -1, -1, 35,
+ -1, -1, 122, 190, 183, -1, 122, 190, 152, 15,
+ 227, 183, -1, 123, 190, 183, -1, 123, 190, 152,
+ 15, 227, 183, -1, 124, 228, -1, 241, 125, 190,
+ 227, -1, 241, 126, 228, 152, 190, 227, -1, 127,
+ 190, 227, 240, -1
};
/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
static const unsigned short int yyrline[] =
{
- 0, 1164, 1164, 1165, 1173, 1174, 1184, 1184, 1184, 1184,
- 1184, 1184, 1184, 1184, 1184, 1185, 1185, 1185, 1186, 1186,
- 1186, 1186, 1186, 1186, 1187, 1187, 1187, 1187, 1187, 1187,
- 1188, 1188, 1188, 1188, 1188, 1188, 1189, 1189, 1189, 1193,
- 1193, 1193, 1193, 1194, 1194, 1194, 1194, 1195, 1195, 1196,
- 1196, 1199, 1203, 1208, 1209, 1210, 1211, 1212, 1213, 1214,
- 1215, 1217, 1218, 1219, 1220, 1221, 1222, 1223, 1224, 1233,
- 1234, 1240, 1241, 1249, 1257, 1258, 1263, 1264, 1265, 1270,
- 1284, 1284, 1288, 1288, 1293, 1304, 1304, 1304, 1304, 1304,
- 1304, 1304, 1305, 1305, 1305, 1305, 1305, 1305, 1306, 1311,
- 1315, 1324, 1333, 1348, 1355, 1369, 1380, 1385, 1397, 1402,
- 1408, 1409, 1415, 1421, 1432, 1463, 1478, 1509, 1539, 1564,
- 1578, 1589, 1595, 1657, 1664, 1674, 1681, 1688, 1693, 1698,
- 1707, 1733, 1755, 1764, 1793, 1805, 1812, 1824, 1831, 1838,
- 1848, 1852, 1860, 1860, 1870, 1878, 1883, 1887, 1891, 1895,
- 1910, 1932, 1935, 1938, 1938, 1946, 1946, 1955, 1955, 1964,
- 1964, 1974, 1977, 1980, 1984, 1997, 1998, 2000, 2004, 2013,
- 2017, 2022, 2024, 2029, 2034, 2043, 2043, 2044, 2044, 2046,
- 2053, 2059, 2066, 2070, 2078, 2086, 2091, 2185, 2185, 2187,
- 2195, 2195, 2197, 2202, 2203, 2204, 2206, 2206, 2216, 2220,
- 2225, 2229, 2233, 2237, 2241, 2245, 2249, 2253, 2257, 2280,
- 2284, 2298, 2302, 2308, 2308, 2314, 2321, 2325, 2334, 2345,
- 2354, 2366, 2379, 2383, 2387, 2392, 2401, 2420, 2429, 2494,
- 2498, 2505, 2516, 2529, 2538, 2547, 2557, 2561, 2568, 2571,
- 2575, 2579, 2584, 2606, 2621, 2635, 2648, 2659, 2685, 2693,
- 2699, 2719, 2742, 2748, 2754, 2760, 2775, 2848, 2855, 2858,
- 2863, 2867, 2874, 2879, 2885, 2890, 2896, 2904, 2916, 2931
+ 0, 1105, 1105, 1106, 1114, 1115, 1125, 1125, 1125, 1125,
+ 1125, 1125, 1125, 1125, 1125, 1126, 1126, 1126, 1127, 1127,
+ 1127, 1127, 1127, 1127, 1128, 1128, 1128, 1128, 1128, 1128,
+ 1129, 1129, 1129, 1129, 1129, 1129, 1130, 1130, 1130, 1131,
+ 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1132,
+ 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1133, 1133, 1133,
+ 1133, 1133, 1133, 1137, 1137, 1137, 1137, 1138, 1138, 1138,
+ 1138, 1139, 1139, 1140, 1140, 1143, 1147, 1152, 1153, 1154,
+ 1155, 1156, 1157, 1158, 1159, 1161, 1162, 1163, 1164, 1165,
+ 1166, 1167, 1168, 1177, 1178, 1184, 1185, 1193, 1201, 1202,
+ 1207, 1208, 1209, 1214, 1228, 1228, 1229, 1229, 1231, 1241,
+ 1241, 1241, 1241, 1241, 1241, 1241, 1242, 1242, 1242, 1242,
+ 1242, 1242, 1243, 1247, 1251, 1259, 1267, 1280, 1285, 1297,
+ 1307, 1311, 1322, 1327, 1333, 1334, 1338, 1342, 1353, 1379,
+ 1393, 1423, 1449, 1470, 1483, 1493, 1498, 1559, 1566, 1574,
+ 1580, 1586, 1590, 1594, 1602, 1614, 1646, 1654, 1678, 1689,
+ 1695, 1700, 1705, 1714, 1720, 1726, 1735, 1739, 1747, 1747,
+ 1757, 1765, 1770, 1774, 1778, 1782, 1797, 1819, 1822, 1825,
+ 1825, 1833, 1833, 1841, 1841, 1849, 1849, 1858, 1861, 1864,
+ 1868, 1881, 1882, 1884, 1888, 1897, 1901, 1906, 1908, 1913,
+ 1918, 1927, 1927, 1928, 1928, 1930, 1937, 1943, 1950, 1954,
+ 1960, 1965, 1970, 2065, 2065, 2067, 2075, 2075, 2077, 2082,
+ 2083, 2084, 2086, 2086, 2096, 2100, 2105, 2109, 2113, 2117,
+ 2121, 2125, 2129, 2133, 2137, 2162, 2166, 2180, 2184, 2190,
+ 2190, 2196, 2201, 2205, 2214, 2225, 2234, 2246, 2259, 2263,
+ 2267, 2272, 2281, 2300, 2309, 2365, 2369, 2376, 2387, 2400,
+ 2409, 2418, 2428, 2432, 2439, 2439, 2441, 2445, 2450, 2469,
+ 2484, 2498, 2509, 2520, 2533, 2542, 2553, 2561, 2567, 2587,
+ 2610, 2616, 2622, 2628, 2643, 2702, 2709, 2712, 2717, 2721,
+ 2728, 2733, 2739, 2744, 2750, 2758, 2770, 2785
};
#endif
@@ -1800,7 +1804,10 @@ static const char *const yytname[] =
"COLDCC_TOK", "X86_STDCALLCC_TOK", "X86_FASTCALLCC_TOK", "DATALAYOUT",
"RET", "BR", "SWITCH", "INVOKE", "UNWIND", "UNREACHABLE", "ADD", "SUB",
"MUL", "UDIV", "SDIV", "FDIV", "UREM", "SREM", "FREM", "AND", "OR",
- "XOR", "SETLE", "SETGE", "SETLT", "SETGT", "SETEQ", "SETNE", "MALLOC",
+ "XOR", "SETLE", "SETGE", "SETLT", "SETGT", "SETEQ", "SETNE", "ICMP",
+ "FCMP", "EQ", "NE", "SLT", "SGT", "SLE", "SGE", "ULT", "UGT", "ULE",
+ "UGE", "ORDEQ", "ORDNE", "ORDLT", "ORDGT", "ORDLE", "ORDGE", "ORD",
+ "UNO", "UNOEQ", "UNONE", "UNOLT", "UNOGT", "UNOLE", "UNOGE", "MALLOC",
"ALLOCA", "FREE", "LOAD", "STORE", "GETELEMENTPTR", "TRUNC", "ZEXT",
"SEXT", "FPTRUNC", "FPEXT", "BITCAST", "UITOFP", "SITOFP", "FPTOUI",
"FPTOSI", "INTTOPTR", "PTRTOINT", "PHI_TOK", "SELECT", "SHL", "LSHR",
@@ -1808,17 +1815,17 @@ static const char *const yytname[] =
"VAARG_old", "VANEXT_old", "'='", "','", "'\\\\'", "'('", "')'", "'['",
"'x'", "']'", "'<'", "'>'", "'{'", "'}'", "'*'", "'c'", "$accept",
"INTVAL", "EINT64VAL", "ArithmeticOps", "LogicalOps", "SetCondOps",
- "CastOps", "ShiftOps", "SIntType", "UIntType", "IntType", "FPType",
- "OptAssign", "OptLinkage", "OptCallingConv", "OptAlign", "OptCAlign",
- "SectionString", "OptSection", "GlobalVarAttributes",
- "GlobalVarAttribute", "TypesV", "UpRTypesV", "Types", "PrimType",
- "UpRTypes", "TypeListI", "ArgTypeListI", "ConstVal", "ConstExpr",
- "ConstVector", "GlobalType", "Module", "FunctionList", "ConstPool", "@1",
- "@2", "@3", "@4", "AsmBlock", "BigOrLittle", "TargetDefinition",
- "LibrariesDefinition", "LibList", "Name", "OptName", "ArgVal",
- "ArgListH", "ArgList", "FunctionHeaderH", "BEGIN", "FunctionHeader",
- "END", "Function", "FnDeclareLinkage", "FunctionProto", "@5",
- "OptSideEffect", "ConstValueRef", "SymbolicValueRef", "ValueRef",
+ "CastOps", "ShiftOps", "IPredicates", "FPredicates", "SIntType",
+ "UIntType", "IntType", "FPType", "OptAssign", "OptLinkage",
+ "OptCallingConv", "OptAlign", "OptCAlign", "SectionString", "OptSection",
+ "GlobalVarAttributes", "GlobalVarAttribute", "TypesV", "UpRTypesV",
+ "Types", "PrimType", "UpRTypes", "TypeListI", "ArgTypeListI", "ConstVal",
+ "ConstExpr", "ConstVector", "GlobalType", "Module", "FunctionList",
+ "ConstPool", "@1", "@2", "@3", "@4", "AsmBlock", "BigOrLittle",
+ "TargetDefinition", "LibrariesDefinition", "LibList", "Name", "OptName",
+ "ArgVal", "ArgListH", "ArgList", "FunctionHeaderH", "BEGIN",
+ "FunctionHeader", "END", "Function", "FnDeclareLinkage", "FunctionProto",
+ "@5", "OptSideEffect", "ConstValueRef", "SymbolicValueRef", "ValueRef",
"ResolvedVal", "BasicBlockList", "BasicBlock", "InstructionList",
"BBTerminatorInst", "JumpTable", "Inst", "PHIList", "ValueRefList",
"ValueRefListE", "OptTailCall", "InstVal", "IndexList", "OptVolatile",
@@ -1843,41 +1850,47 @@ static const unsigned short int yytoknum[] =
345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
365, 366, 367, 368, 369, 370, 371, 372, 373, 374,
- 375, 376, 377, 378, 379, 61, 44, 92, 40, 41,
- 91, 120, 93, 60, 62, 123, 125, 42, 99
+ 375, 376, 377, 378, 379, 380, 381, 382, 383, 384,
+ 385, 386, 387, 388, 389, 390, 391, 392, 393, 394,
+ 395, 396, 397, 398, 399, 400, 401, 402, 403, 404,
+ 405, 61, 44, 92, 40, 41, 91, 120, 93, 60,
+ 62, 123, 125, 42, 99
};
# endif
/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
static const unsigned char yyr1[] =
{
- 0, 139, 140, 140, 141, 141, 142, 142, 142, 142,
- 142, 142, 142, 142, 142, 143, 143, 143, 144, 144,
- 144, 144, 144, 144, 145, 145, 145, 145, 145, 145,
- 145, 145, 145, 145, 145, 145, 146, 146, 146, 147,
- 147, 147, 147, 148, 148, 148, 148, 149, 149, 150,
- 150, 151, 151, 152, 152, 152, 152, 152, 152, 152,
- 152, 153, 153, 153, 153, 153, 153, 153, 153, 154,
- 154, 155, 155, 156, 157, 157, 158, 158, 159, 159,
- 160, 160, 161, 161, 162, 163, 163, 163, 163, 163,
- 163, 163, 163, 163, 163, 163, 163, 163, 164, 164,
- 164, 164, 164, 164, 164, 164, 164, 164, 165, 165,
- 166, 166, 166, 166, 167, 167, 167, 167, 167, 167,
- 167, 167, 167, 167, 167, 167, 167, 167, 167, 167,
- 168, 168, 168, 168, 168, 168, 168, 168, 168, 168,
- 169, 169, 170, 170, 171, 172, 172, 172, 172, 172,
- 173, 173, 173, 174, 173, 175, 173, 176, 173, 177,
- 173, 173, 173, 173, 178, 179, 179, 180, 180, 180,
- 180, 181, 182, 182, 182, 183, 183, 184, 184, 185,
- 186, 186, 187, 187, 187, 187, 188, 189, 189, 190,
- 191, 191, 192, 193, 193, 193, 195, 194, 196, 196,
- 197, 197, 197, 197, 197, 197, 197, 197, 197, 197,
- 197, 198, 198, 199, 199, 200, 201, 201, 202, 203,
- 203, 203, 204, 204, 204, 204, 204, 204, 204, 204,
- 204, 205, 205, 206, 207, 207, 208, 208, 209, 209,
- 210, 210, 211, 211, 211, 211, 211, 211, 211, 211,
- 211, 211, 211, 211, 211, 211, 211, 211, 212, 212,
- 213, 213, 214, 214, 214, 214, 214, 214, 214, 214
+ 0, 165, 166, 166, 167, 167, 168, 168, 168, 168,
+ 168, 168, 168, 168, 168, 169, 169, 169, 170, 170,
+ 170, 170, 170, 170, 171, 171, 171, 171, 171, 171,
+ 171, 171, 171, 171, 171, 171, 172, 172, 172, 173,
+ 173, 173, 173, 173, 173, 173, 173, 173, 173, 174,
+ 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
+ 174, 174, 174, 175, 175, 175, 175, 176, 176, 176,
+ 176, 177, 177, 178, 178, 179, 179, 180, 180, 180,
+ 180, 180, 180,