Implementation of Store & GetElementPtr
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@164 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/AsmParser/llvmAsmParser.cpp b/lib/AsmParser/llvmAsmParser.cpp
index 5d384ec..95b9721 100644
--- a/lib/AsmParser/llvmAsmParser.cpp
+++ b/lib/AsmParser/llvmAsmParser.cpp
@@ -60,13 +60,12 @@
#define FREE 303
#define LOAD 304
#define STORE 305
-#define GETFIELD 306
-#define PUTFIELD 307
-#define PHI 308
-#define CALL 309
-#define CAST 310
-#define SHL 311
-#define SHR 312
+#define GETELEMENTPTR 306
+#define PHI 307
+#define CALL 308
+#define CAST 309
+#define SHL 310
+#define SHR 311
#line 13 "llvmAsmParser.y"
@@ -434,26 +433,26 @@
-#define YYFINAL 248
+#define YYFINAL 260
#define YYFLAG -32768
-#define YYNTBASE 69
+#define YYNTBASE 68
-#define YYTRANSLATE(x) ((unsigned)(x) <= 312 ? yytranslate[x] : 107)
+#define YYTRANSLATE(x) ((unsigned)(x) <= 311 ? yytranslate[x] : 106)
static const char yytranslate[] = { 0,
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, 2, 2, 2, 2, 2, 66,
- 67, 68, 2, 65, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 65,
+ 66, 67, 2, 64, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 59, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 58, 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,
- 60, 2, 61, 2, 2, 2, 2, 2, 2, 2,
+ 59, 2, 60, 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, 62,
- 2, 2, 63, 2, 64, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 61,
+ 2, 2, 62, 2, 63, 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, 2,
@@ -472,7 +471,7 @@
27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
- 57, 58
+ 57
};
#if YYDEBUG != 0
@@ -488,52 +487,53 @@
209, 211, 213, 215, 217, 222, 226, 230, 236, 240,
243, 246, 248, 252, 255, 258, 261, 265, 268, 269,
273, 276, 280, 290, 300, 307, 313, 316, 323, 331,
- 334, 338, 340, 341, 347, 351, 358, 364, 367, 374,
- 376, 379, 380, 383, 389, 392, 398, 402
+ 334, 339, 341, 342, 348, 352, 359, 365, 368, 375,
+ 377, 380, 381, 384, 390, 393, 399, 403, 408, 416
};
static const short yyrhs[] = { 5,
0, 6, 0, 3, 0, 4, 0, 8, 0, 9,
0, 10, 0, 11, 0, 12, 0, 13, 0, 14,
0, 15, 0, 16, 0, 17, 0, 18, 0, 19,
- 0, 20, 0, 21, 0, 71, 0, 7, 0, 35,
+ 0, 20, 0, 21, 0, 70, 0, 7, 0, 35,
0, 36, 0, 37, 0, 38, 0, 39, 0, 40,
0, 41, 0, 42, 0, 43, 0, 44, 0, 45,
- 0, 46, 0, 57, 0, 58, 0, 15, 0, 13,
+ 0, 46, 0, 56, 0, 57, 0, 15, 0, 13,
0, 11, 0, 9, 0, 16, 0, 14, 0, 12,
- 0, 10, 0, 76, 0, 77, 0, 22, 59, 0,
- 0, 76, 70, 0, 77, 4, 0, 8, 26, 0,
- 8, 27, 0, 19, 24, 0, 20, 71, 0, 60,
- 71, 61, 60, 81, 61, 0, 60, 71, 61, 60,
- 61, 0, 60, 4, 62, 71, 61, 60, 81, 61,
- 0, 60, 4, 62, 71, 61, 60, 61, 0, 63,
- 94, 64, 63, 81, 64, 0, 63, 64, 63, 64,
- 0, 81, 65, 80, 0, 80, 0, 82, 79, 80,
- 0, 0, 84, 0, 84, 91, 0, 82, 25, 0,
- 22, 0, 0, 71, 85, 0, 86, 65, 87, 0,
- 86, 0, 87, 0, 0, 72, 24, 66, 88, 67,
- 0, 89, 82, 28, 0, 95, 29, 0, 3, 0,
- 4, 0, 26, 0, 27, 0, 24, 0, 69, 0,
- 22, 0, 92, 0, 93, 0, 72, 66, 94, 67,
- 0, 72, 66, 67, 0, 60, 71, 61, 0, 60,
- 4, 62, 71, 61, 0, 63, 94, 64, 0, 63,
- 64, 0, 71, 68, 0, 71, 0, 94, 65, 71,
- 0, 95, 96, 0, 90, 96, 0, 97, 98, 0,
- 23, 97, 98, 0, 97, 100, 0, 0, 32, 71,
- 93, 0, 32, 7, 0, 33, 21, 93, 0, 33,
- 8, 93, 65, 21, 93, 65, 21, 93, 0, 34,
- 78, 93, 65, 21, 93, 60, 99, 61, 0, 99,
- 78, 92, 65, 21, 93, 0, 78, 92, 65, 21,
- 93, 0, 79, 104, 0, 71, 60, 93, 65, 93,
- 61, 0, 101, 65, 60, 93, 65, 93, 61, 0,
- 71, 93, 0, 102, 65, 93, 0, 102, 0, 0,
- 74, 71, 93, 65, 93, 0, 73, 71, 93, 0,
- 75, 71, 93, 65, 71, 93, 0, 56, 71, 93,
- 31, 71, 0, 54, 101, 0, 55, 71, 93, 66,
- 103, 67, 0, 106, 0, 65, 81, 0, 0, 47,
- 71, 0, 47, 71, 65, 14, 93, 0, 48, 71,
- 0, 48, 71, 65, 14, 93, 0, 49, 71, 93,
- 0, 50, 71, 93, 105, 0
+ 0, 10, 0, 75, 0, 76, 0, 22, 58, 0,
+ 0, 75, 69, 0, 76, 4, 0, 8, 26, 0,
+ 8, 27, 0, 19, 24, 0, 20, 70, 0, 59,
+ 70, 60, 59, 80, 60, 0, 59, 70, 60, 59,
+ 60, 0, 59, 4, 61, 70, 60, 59, 80, 60,
+ 0, 59, 4, 61, 70, 60, 59, 60, 0, 62,
+ 93, 63, 62, 80, 63, 0, 62, 63, 62, 63,
+ 0, 80, 64, 79, 0, 79, 0, 81, 78, 79,
+ 0, 0, 83, 0, 83, 90, 0, 81, 25, 0,
+ 22, 0, 0, 70, 84, 0, 85, 64, 86, 0,
+ 85, 0, 86, 0, 0, 71, 24, 65, 87, 66,
+ 0, 88, 81, 28, 0, 94, 29, 0, 3, 0,
+ 4, 0, 26, 0, 27, 0, 24, 0, 68, 0,
+ 22, 0, 91, 0, 92, 0, 71, 65, 93, 66,
+ 0, 71, 65, 66, 0, 59, 70, 60, 0, 59,
+ 4, 61, 70, 60, 0, 62, 93, 63, 0, 62,
+ 63, 0, 70, 67, 0, 70, 0, 93, 64, 70,
+ 0, 94, 95, 0, 89, 95, 0, 96, 97, 0,
+ 23, 96, 97, 0, 96, 99, 0, 0, 32, 70,
+ 92, 0, 32, 7, 0, 33, 21, 92, 0, 33,
+ 8, 92, 64, 21, 92, 64, 21, 92, 0, 34,
+ 77, 92, 64, 21, 92, 59, 98, 60, 0, 98,
+ 77, 91, 64, 21, 92, 0, 77, 91, 64, 21,
+ 92, 0, 78, 103, 0, 70, 59, 92, 64, 92,
+ 60, 0, 100, 64, 59, 92, 64, 92, 60, 0,
+ 70, 92, 0, 101, 64, 70, 92, 0, 101, 0,
+ 0, 73, 70, 92, 64, 92, 0, 72, 70, 92,
+ 0, 74, 70, 92, 64, 70, 92, 0, 55, 70,
+ 92, 31, 70, 0, 53, 100, 0, 54, 70, 92,
+ 65, 102, 66, 0, 105, 0, 64, 80, 0, 0,
+ 47, 70, 0, 47, 70, 64, 14, 92, 0, 48,
+ 70, 0, 48, 70, 64, 14, 92, 0, 49, 70,
+ 92, 0, 50, 70, 92, 104, 0, 51, 70, 92,
+ 64, 70, 92, 104, 0, 52, 70, 92, 104, 0
};
#endif
@@ -552,7 +552,7 @@
744, 749, 753, 758, 762, 771, 776, 785, 789, 793,
796, 799, 802, 807, 818, 826, 836, 844, 849, 856,
860, 866, 866, 868, 873, 878, 882, 885, 896, 933,
- 938, 940, 944, 949, 958, 963, 972, 978
+ 938, 940, 944, 949, 958, 963, 972, 978, 987, 999
};
#endif
@@ -565,8 +565,8 @@
"LABELSTR","STRINGCONSTANT","IMPLEMENTATION","TRUE","FALSE","BEGINTOK","END",
"DECLARE","TO","RET","BR","SWITCH","NOT","ADD","SUB","MUL","DIV","REM","SETLE",
"SETGE","SETLT","SETGT","SETEQ","SETNE","MALLOC","ALLOCA","FREE","LOAD","STORE",
-"GETFIELD","PUTFIELD","PHI","CALL","CAST","SHL","SHR","'='","'['","']'","'x'",
-"'{'","'}'","','","'('","')'","'*'","INTVAL","EINT64VAL","Types","TypesV","UnaryOps",
+"GETELEMENTPTR","PHI","CALL","CAST","SHL","SHR","'='","'['","']'","'x'","'{'",
+"'}'","','","'('","')'","'*'","INTVAL","EINT64VAL","Types","TypesV","UnaryOps",
"BinaryOps","ShiftOps","SIntType","UIntType","IntType","OptAssign","ConstVal",
"ConstVector","ConstPool","Module","MethodList","OptVAR_ID","ArgVal","ArgListH",
"ArgList","MethodHeaderH","MethodHeader","Method","ConstValueRef","ValueRef",
@@ -577,19 +577,19 @@
#endif
static const short yyr1[] = { 0,
- 69, 69, 70, 70, 71, 71, 71, 71, 71, 71,
- 71, 71, 71, 71, 71, 71, 71, 71, 72, 72,
- 73, 74, 74, 74, 74, 74, 74, 74, 74, 74,
- 74, 74, 75, 75, 76, 76, 76, 76, 77, 77,
- 77, 77, 78, 78, 79, 79, 80, 80, 80, 80,
- 80, 80, 80, 80, 80, 80, 80, 80, 81, 81,
- 82, 82, 83, 84, 84, 85, 85, 86, 87, 87,
- 88, 88, 89, 90, 91, 92, 92, 92, 92, 92,
- 93, 93, 93, 71, 71, 71, 71, 71, 71, 71,
- 71, 94, 94, 95, 95, 96, 96, 97, 97, 98,
- 98, 98, 98, 98, 99, 99, 100, 101, 101, 102,
- 102, 103, 103, 104, 104, 104, 104, 104, 104, 104,
- 105, 105, 106, 106, 106, 106, 106, 106
+ 68, 68, 69, 69, 70, 70, 70, 70, 70, 70,
+ 70, 70, 70, 70, 70, 70, 70, 70, 71, 71,
+ 72, 73, 73, 73, 73, 73, 73, 73, 73, 73,
+ 73, 73, 74, 74, 75, 75, 75, 75, 76, 76,
+ 76, 76, 77, 77, 78, 78, 79, 79, 79, 79,
+ 79, 79, 79, 79, 79, 79, 79, 79, 80, 80,
+ 81, 81, 82, 83, 83, 84, 84, 85, 86, 86,
+ 87, 87, 88, 89, 90, 91, 91, 91, 91, 91,
+ 92, 92, 92, 70, 70, 70, 70, 70, 70, 70,
+ 70, 93, 93, 94, 94, 95, 95, 96, 96, 97,
+ 97, 97, 97, 97, 98, 98, 99, 100, 100, 101,
+ 101, 102, 102, 103, 103, 103, 103, 103, 103, 103,
+ 104, 104, 105, 105, 105, 105, 105, 105, 105, 105
};
static const short yyr2[] = { 0,
@@ -604,8 +604,8 @@
1, 1, 1, 1, 4, 3, 3, 5, 3, 2,
2, 1, 3, 2, 2, 2, 3, 2, 0, 3,
2, 3, 9, 9, 6, 5, 2, 6, 7, 2,
- 3, 1, 0, 5, 3, 6, 5, 2, 6, 1,
- 2, 0, 2, 5, 2, 5, 3, 4
+ 4, 1, 0, 5, 3, 6, 5, 2, 6, 1,
+ 2, 0, 2, 5, 2, 5, 3, 4, 7, 4
};
static const short yydefact[] = { 62,
@@ -622,182 +622,178 @@
0, 0, 19, 93, 67, 70, 71, 0, 85, 97,
101, 19, 0, 0, 43, 44, 0, 21, 22, 23,
24, 25, 26, 27, 28, 29, 30, 31, 32, 0,
- 0, 0, 0, 0, 0, 0, 33, 34, 0, 0,
- 0, 107, 120, 19, 0, 58, 0, 88, 66, 68,
- 0, 73, 100, 0, 102, 0, 123, 125, 19, 19,
- 19, 118, 19, 19, 19, 19, 19, 0, 54, 60,
- 0, 0, 69, 0, 0, 0, 0, 127, 122, 0,
- 0, 0, 0, 115, 0, 0, 0, 53, 0, 57,
- 0, 0, 0, 0, 0, 128, 0, 0, 113, 0,
- 0, 0, 56, 0, 59, 0, 0, 124, 126, 121,
- 0, 0, 19, 112, 0, 117, 114, 19, 55, 0,
- 0, 0, 0, 110, 0, 119, 116, 0, 0, 0,
- 108, 0, 111, 103, 0, 104, 0, 109, 0, 0,
- 0, 0, 106, 0, 105, 0, 0, 0
+ 0, 0, 0, 0, 0, 0, 0, 0, 33, 34,
+ 0, 0, 0, 107, 120, 19, 0, 58, 0, 88,
+ 66, 68, 0, 73, 100, 0, 102, 0, 123, 125,
+ 19, 19, 19, 19, 19, 118, 19, 19, 19, 19,
+ 19, 0, 54, 60, 0, 0, 69, 0, 0, 0,
+ 0, 127, 122, 0, 122, 0, 0, 0, 0, 115,
+ 0, 0, 0, 53, 0, 57, 0, 0, 0, 0,
+ 0, 128, 0, 130, 0, 0, 113, 0, 0, 0,
+ 56, 0, 59, 0, 0, 124, 126, 121, 19, 0,
+ 0, 19, 112, 0, 117, 114, 19, 55, 0, 0,
+ 122, 0, 0, 110, 0, 119, 116, 0, 0, 0,
+ 129, 108, 0, 19, 103, 0, 104, 0, 109, 111,
+ 0, 0, 0, 0, 106, 0, 105, 0, 0, 0
};
static const short yydefgoto[] = { 31,
- 82, 61, 59, 139, 140, 141, 54, 55, 117, 5,
- 170, 171, 1, 246, 2, 150, 106, 107, 108, 34,
- 35, 36, 37, 38, 62, 39, 68, 69, 97, 230,
- 98, 162, 214, 215, 142, 196, 143
+ 82, 61, 59, 141, 142, 143, 54, 55, 117, 5,
+ 174, 175, 1, 258, 2, 152, 106, 107, 108, 34,
+ 35, 36, 37, 38, 62, 39, 68, 69, 97, 240,
+ 98, 166, 223, 224, 144, 202, 145
};
static const short yypact[] = {-32768,
- 19, 342, -51,-32768, 99,-32768,-32768,-32768,-32768,-32768,
+ 70, 321, -6,-32768, 90,-32768,-32768,-32768,-32768,-32768,
-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
--32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 403, 255,
--32768, -3, -18,-32768, 142,-32768,-32768,-32768, 55,-32768,
- 68,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 117,
- 342, 428, 317, 118, 163,-32768, 131, 59, 112,-32768,
- 11, 61,-32768, 129, 230, 95,-32768,-32768, 124,-32768,
--32768,-32768,-32768,-32768, 11, 134, 82, 139, 96,-32768,
--32768,-32768,-32768, 342,-32768,-32768, 342, 342,-32768, 75,
--32768, 124, 489, 16, 160, 482,-32768,-32768, 342, 143,
- 140, 144, 116, 11, 21, 145,-32768, 138,-32768,-32768,
- 146, -1, 66, 66,-32768,-32768, 66,-32768,-32768,-32768,
--32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 342,
- 342, 342, 342, 342, 342, 342,-32768,-32768, 342, 342,
- 342,-32768,-32768, 122, 20,-32768, 99,-32768,-32768,-32768,
- 342,-32768,-32768, 149,-32768, 150, 98, 126, -1, -1,
- 6, 152, -1, -1, -1, -1, -1, 148,-32768,-32768,
- -54, 123,-32768, 188, 197, 205, 206,-32768, 156, 66,
- 162, 157, 193,-32768, 161, 165, 43,-32768, 99,-32768,
- 66, 66, 66, 66, 99,-32768, 166, 66, 342, 342,
- 66, 342,-32768, -19,-32768, 190, 167,-32768,-32768, 213,
- 66, 215, -1, 218, 158, 11,-32768, -1,-32768, 207,
- 160, 192, 66,-32768, 66,-32768,-32768, 66, 72, 3,
--32768, 223,-32768,-32768, 220,-32768, 72,-32768, 265, 222,
- 66, 267,-32768, 66,-32768, 289, 291,-32768
+-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 381, 235,
+-32768, 45, -20,-32768, 98,-32768,-32768,-32768, 93,-32768,
+ 67,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 56,
+ 321, 406, 296, 181, 142,-32768, 97, -14, 96,-32768,
+ 46, 123,-32768, 101, 210, 122,-32768,-32768, 135,-32768,
+-32768,-32768,-32768,-32768, 46, 111, 29, 112, 129,-32768,
+-32768,-32768,-32768, 321,-32768,-32768, 321, 321,-32768, 79,
+-32768, 135, 466, 13, 268, 461,-32768,-32768, 321, 118,
+ 125, 119, 47, 46, 10, 126,-32768, 131,-32768,-32768,
+ 133, 4, 52, 52,-32768,-32768, 52,-32768,-32768,-32768,
+-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 321,
+ 321, 321, 321, 321, 321, 321, 321, 321,-32768,-32768,
+ 321, 321, 321,-32768,-32768, 48, 3,-32768, 90,-32768,
+-32768,-32768, 321,-32768,-32768, 138,-32768, 139, 106, 115,
+ 4, 4, 4, 4, 0, 140, 4, 4, 4, 4,
+ 4, 148,-32768,-32768, 99, 132,-32768, 178, 189, 197,
+ 221,-32768, 194, 196, 194, 52, 204, 199, 234,-32768,
+ 202, 203, 28,-32768, 90,-32768, 52, 52, 52, 52,
+ 90,-32768, 321,-32768, 206, 52, 321, 321, 52, 321,
+-32768, 100,-32768, 207, 209,-32768,-32768, 211, 4, 52,
+ 222, 4, 223, 208, 46,-32768, 4,-32768, 252, 268,
+ 194, 225, 52,-32768, 321,-32768,-32768, 52, 57, 435,
+-32768,-32768, 228, 4,-32768, 226,-32768, 57,-32768,-32768,
+ 270, 229, 52, 271,-32768, 52,-32768, 289, 295,-32768
};
static const short yypgoto[] = {-32768,
--32768, -2, 290,-32768,-32768,-32768, -86, -85, -183, -47,
- -4, -127, 260,-32768,-32768,-32768,-32768, 147,-32768,-32768,
--32768,-32768, -113, -12, 8,-32768, 256, 229, 208,-32768,
--32768,-32768,-32768,-32768,-32768,-32768,-32768
+-32768, -2, 294,-32768,-32768,-32768, -93, -92, -205, -63,
+ -4, -129, 285,-32768,-32768,-32768,-32768, 168,-32768,-32768,
+-32768,-32768, -215, -44, 1,-32768, 305, 279, 257,-32768,
+-32768,-32768,-32768,-32768,-32768, -180,-32768
};
-#define YYLAST 552
+#define YYLAST 528
static const short yytable[] = { 32,
- 56, 6, 7, 8, 9, 64, 188, 40, 115, 116,
- 189, 42, 43, 44, 45, 46, 47, 48, 49, 172,
- 25, 96, 26, 113, 27, 28, 58, 41, 42, 43,
- 44, 45, 46, 47, 48, 49, 114, 229, 50, 51,
- 3, 219, 149, 4, 96, 189, 237, 65, 75, 77,
- 41, 42, 43, 44, 45, 46, 47, 48, 49, 204,
- 79, 50, 51, 236, 63, 180, 63, 210, 6, 7,
- 8, 9, 90, 63, 6, 7, -19, 67, 63, 52,
- 169, 103, 53, 70, 104, 105, -19, 25, 63, 26,
- 112, 27, 28, 72, 73, 26, 144, 27, 28, 153,
- 154, 155, 52, 203, 156, 53, 41, 42, 43, 44,
- 45, 46, 47, 48, 49, 235, 3, 50, 51, 85,
- 80, 81, 91, 240, 86, 87, 63, 157, 158, 159,
- 160, 161, 163, 164, 115, 116, 165, 166, 167, 87,
- 74, 109, 100, 115, 116, 3, 178, 179, 105, 63,
- 182, 183, 184, 185, 186, 93, 94, 95, 52, 102,
- 87, 53, 176, -19, 67, 63, 83, 197, 42, 43,
- 44, 45, 46, 47, 48, 49, 148, 65, 206, 207,
- 208, 209, 168, 63, 205, 212, 190, 189, 217, 63,
- 177, -19, 84, 63, 88, 99, 213, 216, 222, 218,
- 224, 101, 145, 146, 152, 227, 147, 187, 191, 151,
- 232, -20, 233, 174, 175, 234, 181, 192, 193, 194,
- 195, 198, 199, 200, 226, 201, 221, 228, 243, 202,
- 211, 245, 6, 7, 8, 9, 10, 11, 12, 13,
+ 56, 115, 116, 64, 204, 96, 6, 7, 8, 9,
+ 41, 42, 43, 44, 45, 46, 47, 48, 49, 176,
+ 113, 50, 51, 246, 239, 25, 58, 26, 96, 27,
+ 28, 151, 252, 114, 248, 41, 42, 43, 44, 45,
+ 46, 47, 48, 49, 65, 85, 50, 51, 75, 77,
+ 241, 40, 63, 79, 6, 7, 8, 9, 186, 6,
+ 7, 52, 173, 212, 53, 90, 63, 155, 156, 157,
+ 63, 218, 158, 25, -19, 26, 63, 27, 28, 74,
+ 26, 103, 27, 28, 104, 105, 52, 211, 100, 53,
+ 112, 3, 72, 73, 4, 63, 146, 41, 42, 43,
+ 44, 45, 46, 47, 48, 49, 150, 172, 50, 51,
+ -19, 63, 63, 63, 63, 67, 182, 183, 184, 185,
+ 67, 70, 188, 189, 190, 191, 192, 159, 160, 161,
+ 162, 163, 164, 165, 167, 168, 115, 116, 169, 170,
+ 171, 205, 87, 3, 109, 83, 115, 116, 52, 91,
+ 105, 53, 214, 215, 216, 217, 3, 84, 194, 228,
+ 65, 221, 195, 195, 226, 88, 93, 94, 95, 180,
+ -19, 99, 63, 101, 231, 232, 147, 234, 181, -19,
+ 149, 63, 237, 80, 81, 86, 87, 148, 243, 153,
+ 213, 102, 87, 245, 196, 195, 154, -20, 197, 250,
+ 219, 178, 179, 187, 222, 225, 193, 227, 255, 198,
+ 199, 257, 6, 7, 8, 9, 10, 11, 12, 13,
14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
- 24, 25, 231, 26, 220, 27, 28, 6, 7, 8,
+ 24, 25, 244, 26, 200, 27, 28, 6, 7, 8,
9, 10, 11, 12, 13, 14, 15, 16, 17, 18,
- 19, 20, 21, 22, 23, 24, 25, 189, 26, 223,
- 27, 28, 225, 238, 239, 241, 242, 244, 247, 29,
- 248, 33, 30, 66, 71, 92, 89, 173, 0, 110,
+ 19, 20, 21, 22, 23, 24, 25, 201, 26, 203,
+ 27, 28, 206, 207, 208, 209, 210, 230, 29, 220,
+ 229, 30, 238, 236, 195, 89, 42, 43, 44, 45,
+ 46, 47, 48, 49, 242, 233, 235, 249, 259, 251,
+ 253, 256, 254, 29, 260, 33, 30, 60, 6, 7,
+ 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
+ 18, 19, 20, 21, 22, 23, 24, 25, 66, 26,
+ 177, 27, 28, 6, 7, 8, 9, 10, 11, 12,
+ 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
+ 23, 24, 25, 71, 26, 92, 27, 28, 110, 0,
+ 0, 0, 0, 0, 29, 0, 0, 30, 78, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 29, 0, 0, 30, 60, 6,
- 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
- 17, 18, 19, 20, 21, 22, 23, 24, 25, 0,
- 26, 0, 27, 28, 6, 7, 8, 9, 10, 11,
- 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
- 22, 23, 24, 25, 0, 26, 0, 27, 28, 0,
- 0, 0, 0, 0, 0, 0, 29, 0, 0, 30,
- 78, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 29, 0, 0, 30, 6, 57, 8, 9, 10,
- 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
- 21, 22, 23, 24, 25, 0, 26, 0, 27, 28,
- 6, 76, 8, 9, 10, 11, 12, 13, 14, 15,
- 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
- 0, 26, 0, 27, 28, 0, 0, 0, 0, 0,
- 0, 0, 29, 0, 0, 30, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 29, 0, 0,
- 30, 6, 7, 8, 9, 111, 11, 12, 13, 14,
- 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
- 25, 0, 26, 0, 27, 28, 118, 119, 120, 121,
- 122, 123, 124, 125, 126, 127, 128, 129, 130, 131,
- 132, 133, 0, 0, 0, 134, 135, 136, 137, 138,
- 0, 0, 0, 0, 0, 0, 0, 0, 29, 0,
- 0, 30
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 29,
+ 0, 0, 30, 6, 57, 8, 9, 10, 11, 12,
+ 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
+ 23, 24, 25, 0, 26, 0, 27, 28, 6, 76,
+ 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
+ 18, 19, 20, 21, 22, 23, 24, 25, 0, 26,
+ 0, 27, 28, 0, 0, 0, 0, 0, 0, 29,
+ 0, 0, 30, 42, 43, 44, 45, 46, 47, 48,
+ 49, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 29, 0, 0, 30, 6, 7,
+ 8, 9, 111, 11, 12, 13, 14, 15, 16, 17,
+ 18, 19, 20, 21, 22, 23, 24, 25, 0, 26,
+ 0, 27, 28, 0, 247, 118, 119, 120, 121, 122,
+ 123, 124, 125, 126, 127, 128, 129, 130, 131, 132,
+ 133, 134, 135, 136, 137, 138, 139, 140, 0, 0,
+ 0, 0, 0, 0, 29, 0, 0, 30
};
static const short yycheck[] = { 2,
- 5, 3, 4, 5, 6, 24, 61, 59, 95, 95,
- 65, 9, 10, 11, 12, 13, 14, 15, 16, 147,
- 22, 69, 24, 8, 26, 27, 29, 8, 9, 10,
- 11, 12, 13, 14, 15, 16, 21, 221, 19, 20,
- 22, 61, 22, 25, 92, 65, 230, 66, 51, 52,
- 8, 9, 10, 11, 12, 13, 14, 15, 16, 187,
- 53, 19, 20, 61, 68, 60, 68, 195, 3, 4,
- 5, 6, 65, 68, 3, 4, 66, 23, 68, 60,
- 61, 84, 63, 29, 87, 88, 66, 22, 68, 24,
- 93, 26, 27, 26, 27, 24, 99, 26, 27, 112,
- 113, 114, 60, 61, 117, 63, 8, 9, 10, 11,
- 12, 13, 14, 15, 16, 229, 22, 19, 20, 61,
- 3, 4, 28, 237, 64, 65, 68, 130, 131, 132,
- 133, 134, 135, 136, 221, 221, 139, 140, 141, 65,
- 24, 67, 61, 230, 230, 22, 159, 160, 151, 68,
- 163, 164, 165, 166, 167, 32, 33, 34, 60, 64,
- 65, 63, 65, 66, 23, 68, 4, 180, 9, 10,
- 11, 12, 13, 14, 15, 16, 61, 66, 191, 192,
- 193, 194, 61, 68, 189, 198, 64, 65, 201, 68,
- 65, 66, 62, 68, 66, 62, 199, 200, 211, 202,
- 213, 63, 60, 64, 67, 218, 63, 60, 21, 65,
- 223, 66, 225, 65, 65, 228, 65, 21, 14, 14,
- 65, 60, 66, 31, 67, 65, 60, 21, 241, 65,
- 65, 244, 3, 4, 5, 6, 7, 8, 9, 10,
+ 5, 95, 95, 24, 185, 69, 3, 4, 5, 6,
+ 8, 9, 10, 11, 12, 13, 14, 15, 16, 149,
+ 8, 19, 20, 239, 230, 22, 29, 24, 92, 26,
+ 27, 22, 248, 21, 240, 8, 9, 10, 11, 12,
+ 13, 14, 15, 16, 65, 60, 19, 20, 51, 52,
+ 231, 58, 67, 53, 3, 4, 5, 6, 59, 3,
+ 4, 59, 60, 193, 62, 65, 67, 112, 113, 114,
+ 67, 201, 117, 22, 65, 24, 67, 26, 27, 24,
+ 24, 84, 26, 27, 87, 88, 59, 60, 60, 62,
+ 93, 22, 26, 27, 25, 67, 99, 8, 9, 10,
+ 11, 12, 13, 14, 15, 16, 60, 60, 19, 20,
+ 65, 67, 67, 67, 67, 23, 161, 162, 163, 164,
+ 23, 29, 167, 168, 169, 170, 171, 130, 131, 132,
+ 133, 134, 135, 136, 137, 138, 230, 230, 141, 142,
+ 143, 186, 64, 22, 66, 4, 240, 240, 59, 28,
+ 153, 62, 197, 198, 199, 200, 22, 61, 60, 60,
+ 65, 206, 64, 64, 209, 65, 32, 33, 34, 64,
+ 65, 61, 67, 62, 219, 220, 59, 222, 64, 65,
+ 62, 67, 227, 3, 4, 63, 64, 63, 233, 64,
+ 195, 63, 64, 238, 63, 64, 66, 65, 21, 244,
+ 203, 64, 64, 64, 207, 208, 59, 210, 253, 21,
+ 14, 256, 3, 4, 5, 6, 7, 8, 9, 10,
11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
- 21, 22, 61, 24, 65, 26, 27, 3, 4, 5,
+ 21, 22, 235, 24, 14, 26, 27, 3, 4, 5,
6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
- 16, 17, 18, 19, 20, 21, 22, 65, 24, 65,
- 26, 27, 65, 61, 65, 21, 65, 21, 0, 60,
- 0, 2, 63, 34, 39, 67, 67, 151, -1, 92,
+ 16, 17, 18, 19, 20, 21, 22, 64, 24, 64,
+ 26, 27, 59, 65, 31, 64, 64, 59, 59, 64,
+ 64, 62, 21, 66, 64, 66, 9, 10, 11, 12,
+ 13, 14, 15, 16, 60, 64, 64, 60, 0, 64,
+ 21, 21, 64, 59, 0, 2, 62, 63, 3, 4,
+ 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
+ 15, 16, 17, 18, 19, 20, 21, 22, 34, 24,
+ 153, 26, 27, 3, 4, 5, 6, 7, 8, 9,
+ 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
+ 20, 21, 22, 39, 24, 67, 26, 27, 92, -1,
+ -1, -1, -1, -1, 59, -1, -1, 62, 63, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 60, -1, -1, 63, 64, 3,
- 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
- 14, 15, 16, 17, 18, 19, 20, 21, 22, -1,
- 24, -1, 26, 27, 3, 4, 5, 6, 7, 8,
- 9, 10, 11, 12, 13, 14, 15, 16, 17, 18,
- 19, 20, 21, 22, -1, 24, -1, 26, 27, -1,
- -1, -1, -1, -1, -1, -1, 60, -1, -1, 63,
- 64, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 60, -1, -1, 63, 3, 4, 5, 6, 7,
- 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
- 18, 19, 20, 21, 22, -1, 24, -1, 26, 27,
- 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
- 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
- -1, 24, -1, 26, 27, -1, -1, -1, -1, -1,
- -1, -1, 60, -1, -1, 63, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 60, -1, -1,
- 63, 3, 4, 5, 6, 7, 8, 9, 10, 11,
- 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
- 22, -1, 24, -1, 26, 27, 35, 36, 37, 38,
- 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
- 49, 50, -1, -1, -1, 54, 55, 56, 57, 58,
- -1, -1, -1, -1, -1, -1, -1, -1, 60, -1,
- -1, 63
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 59,
+ -1, -1, 62, 3, 4, 5, 6, 7, 8, 9,
+ 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
+ 20, 21, 22, -1, 24, -1, 26, 27, 3, 4,
+ 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
+ 15, 16, 17, 18, 19, 20, 21, 22, -1, 24,
+ -1, 26, 27, -1, -1, -1, -1, -1, -1, 59,
+ -1, -1, 62, 9, 10, 11, 12, 13, 14, 15,
+ 16, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 59, -1, -1, 62, 3, 4,
+ 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
+ 15, 16, 17, 18, 19, 20, 21, 22, -1, 24,
+ -1, 26, 27, -1, 60, 35, 36, 37, 38, 39,
+ 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
+ 50, 51, 52, 53, 54, 55, 56, 57, -1, -1,
+ -1, -1, -1, -1, 59, -1, -1, 62
};
/* -*-C-*- Note some compilers choke on comments on `#line' lines. */
#line 3 "/usr/dcs/software/supported/encap/bison-1.28/share/bison.simple"
@@ -1881,8 +1877,8 @@
case 111:
#line 860 "llvmAsmParser.y"
{
- yyval.ValueList = yyvsp[-2].ValueList;
- yyvsp[-2].ValueList->push_back(getVal(yyvsp[-2].ValueList->front()->getType(), yyvsp[0].ValIDVal));
+ yyval.ValueList = yyvsp[-3].ValueList;
+ yyvsp[-3].ValueList->push_back(getVal(yyvsp[-1].TypeVal, yyvsp[0].ValIDVal));
;
break;}
case 113:
@@ -2050,6 +2046,33 @@
delete yyvsp[0].ConstVector; // Free the vector...
;
break;}
+case 129:
+#line 987 "llvmAsmParser.y"
+{
+ if (!yyvsp[-2].TypeVal->isPointerType())
+ ThrowException("Can't store to a nonpointer type: " + yyvsp[-2].TypeVal->getName());
+ const Type *ElTy = StoreInst::getIndexedType(yyvsp[-2].TypeVal, *yyvsp[0].ConstVector);
+ if (ElTy == 0)
+ ThrowException("Can't store into that field list!");
+ if (ElTy != yyvsp[-5].TypeVal)
+ ThrowException("Can't store '" + yyvsp[-5].TypeVal->getName() + "' into space of type '"+
+ ElTy->getName() + "'!");
+ yyval.InstVal = new StoreInst(getVal(yyvsp[-5].TypeVal, yyvsp[-4].ValIDVal), getVal(yyvsp[-2].TypeVal, yyvsp[-1].ValIDVal), *yyvsp[0].ConstVector);
+ delete yyvsp[0].ConstVector;
+ ;
+ break;}
+case 130:
+#line 999 "llvmAsmParser.y"
+{
+ if (!yyvsp[-2].TypeVal->isPointerType())
+ ThrowException("getelementptr insn requires pointer operand!");
+ if (!GetElementPtrInst::getIndexedType(yyvsp[-2].TypeVal, *yyvsp[0].ConstVector, true))
+ ThrowException("Can't get element ptr '" + yyvsp[-2].TypeVal->getName() + "'!");
+ yyval.InstVal = new GetElementPtrInst(getVal(yyvsp[-2].TypeVal, yyvsp[-1].ValIDVal), *yyvsp[0].ConstVector);
+ delete yyvsp[0].ConstVector;
+ addConstValToConstantPool(new ConstPoolType(yyval.InstVal->getType()));
+ ;
+ break;}
}
/* the action file gets copied in in place of this dollarsign */
#line 543 "/usr/dcs/software/supported/encap/bison-1.28/share/bison.simple"
@@ -2272,7 +2295,7 @@
}
return 1;
}
-#line 988 "llvmAsmParser.y"
+#line 1009 "llvmAsmParser.y"
int yyerror(const char *ErrorMsg) {
ThrowException(string("Parse error: ") + ErrorMsg);