Regenerate.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35199 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/AsmParser/llvmAsmParser.cpp.cvs b/lib/AsmParser/llvmAsmParser.cpp.cvs
index 361027c..73903c1 100644
--- a/lib/AsmParser/llvmAsmParser.cpp.cvs
+++ b/lib/AsmParser/llvmAsmParser.cpp.cvs
@@ -837,9 +837,16 @@
CurFun.CurrentFunction->getBasicBlockList().remove(BB);
CurFun.CurrentFunction->getBasicBlockList().push_back(BB);
+ // We're about to erase the entry, save the key so we can clean it up.
+ ValID Tmp = BBI->first;
+
// Erase the forward ref from the map as its no longer "forward"
CurFun.BBForwardRefs.erase(ID);
+ // The key has been removed from the map but so we don't want to leave
+ // strdup'd memory around so destroy it too.
+ Tmp.destroy();
+
// If its a numbered definition, bump the number and set the BB value.
if (ID.Type == ValID::LocalID) {
assert(ID.Num == CurFun.NextValNum && "Invalid new block number");
@@ -1272,7 +1279,7 @@
#endif
#if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED)
-#line 932 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 939 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
typedef union YYSTYPE {
llvm::Module *ModuleVal;
llvm::Function *FunctionVal;
@@ -1320,7 +1327,7 @@
llvm::FCmpInst::Predicate FPredicate;
} YYSTYPE;
/* Line 196 of yacc.c. */
-#line 1324 "llvmAsmParser.tab.c"
+#line 1331 "llvmAsmParser.tab.c"
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
# define YYSTYPE_IS_DECLARED 1
# define YYSTYPE_IS_TRIVIAL 1
@@ -1332,7 +1339,7 @@
/* Line 219 of yacc.c. */
-#line 1336 "llvmAsmParser.tab.c"
+#line 1343 "llvmAsmParser.tab.c"
#if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__)
# define YYSIZE_T __SIZE_TYPE__
@@ -1680,35 +1687,35 @@
/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
static const unsigned short int yyrline[] =
{
- 0, 1086, 1086, 1086, 1086, 1086, 1086, 1086, 1086, 1086,
- 1086, 1087, 1087, 1087, 1087, 1087, 1087, 1088, 1088, 1088,
- 1088, 1088, 1088, 1089, 1089, 1089, 1089, 1089, 1089, 1092,
- 1092, 1093, 1093, 1094, 1094, 1095, 1095, 1096, 1096, 1100,
- 1100, 1101, 1101, 1102, 1102, 1103, 1103, 1104, 1104, 1105,
- 1105, 1106, 1106, 1107, 1108, 1113, 1114, 1114, 1116, 1116,
- 1117, 1117, 1121, 1125, 1130, 1130, 1132, 1136, 1142, 1143,
- 1144, 1145, 1146, 1150, 1151, 1152, 1156, 1157, 1161, 1162,
- 1163, 1167, 1168, 1169, 1170, 1171, 1174, 1175, 1176, 1177,
- 1178, 1179, 1180, 1187, 1188, 1189, 1190, 1193, 1194, 1199,
- 1200, 1203, 1204, 1211, 1212, 1218, 1219, 1227, 1235, 1236,
- 1241, 1242, 1243, 1248, 1261, 1261, 1261, 1261, 1264, 1268,
- 1272, 1279, 1284, 1292, 1310, 1328, 1333, 1345, 1355, 1359,
- 1369, 1376, 1383, 1390, 1395, 1400, 1407, 1408, 1415, 1422,
- 1430, 1435, 1446, 1474, 1490, 1519, 1547, 1572, 1591, 1617,
- 1637, 1649, 1656, 1722, 1732, 1742, 1748, 1758, 1764, 1774,
- 1779, 1784, 1792, 1804, 1826, 1834, 1840, 1851, 1856, 1861,
- 1867, 1873, 1882, 1886, 1894, 1894, 1905, 1910, 1918, 1919,
- 1923, 1923, 1927, 1927, 1930, 1933, 1945, 1969, 1980, 1980,
- 1990, 1990, 1998, 1998, 2008, 2011, 2017, 2030, 2034, 2039,
- 2041, 2046, 2051, 2060, 2070, 2081, 2085, 2094, 2103, 2108,
- 2220, 2220, 2222, 2231, 2231, 2233, 2238, 2250, 2254, 2259,
- 2263, 2267, 2271, 2275, 2279, 2283, 2287, 2291, 2316, 2320,
- 2334, 2338, 2342, 2346, 2352, 2352, 2358, 2367, 2371, 2380,
- 2389, 2398, 2402, 2407, 2411, 2415, 2420, 2430, 2449, 2458,
- 2525, 2529, 2536, 2547, 2560, 2570, 2581, 2591, 2599, 2607,
- 2610, 2611, 2618, 2622, 2627, 2648, 2665, 2678, 2691, 2703,
- 2711, 2718, 2724, 2730, 2736, 2751, 2815, 2820, 2824, 2831,
- 2838, 2846, 2853, 2861, 2869, 2883, 2900
+ 0, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093,
+ 1093, 1094, 1094, 1094, 1094, 1094, 1094, 1095, 1095, 1095,
+ 1095, 1095, 1095, 1096, 1096, 1096, 1096, 1096, 1096, 1099,
+ 1099, 1100, 1100, 1101, 1101, 1102, 1102, 1103, 1103, 1107,
+ 1107, 1108, 1108, 1109, 1109, 1110, 1110, 1111, 1111, 1112,
+ 1112, 1113, 1113, 1114, 1115, 1120, 1121, 1121, 1123, 1123,
+ 1124, 1124, 1128, 1132, 1137, 1137, 1139, 1143, 1149, 1150,
+ 1151, 1152, 1153, 1157, 1158, 1159, 1163, 1164, 1168, 1169,
+ 1170, 1174, 1175, 1176, 1177, 1178, 1181, 1182, 1183, 1184,
+ 1185, 1186, 1187, 1194, 1195, 1196, 1197, 1200, 1201, 1206,
+ 1207, 1210, 1211, 1218, 1219, 1225, 1226, 1234, 1242, 1243,
+ 1248, 1249, 1250, 1255, 1268, 1268, 1268, 1268, 1271, 1275,
+ 1279, 1286, 1291, 1299, 1319, 1339, 1344, 1356, 1366, 1370,
+ 1380, 1387, 1394, 1401, 1406, 1411, 1418, 1419, 1426, 1433,
+ 1441, 1447, 1459, 1487, 1503, 1532, 1560, 1585, 1604, 1630,
+ 1650, 1662, 1669, 1735, 1745, 1755, 1761, 1771, 1777, 1787,
+ 1792, 1797, 1805, 1817, 1839, 1847, 1853, 1864, 1869, 1874,
+ 1880, 1886, 1895, 1899, 1907, 1907, 1918, 1923, 1931, 1932,
+ 1936, 1936, 1940, 1940, 1943, 1946, 1958, 1982, 1993, 1993,
+ 2003, 2003, 2011, 2011, 2021, 2024, 2030, 2043, 2047, 2052,
+ 2054, 2059, 2064, 2073, 2083, 2094, 2098, 2107, 2116, 2121,
+ 2233, 2233, 2235, 2244, 2244, 2246, 2251, 2263, 2267, 2272,
+ 2276, 2280, 2284, 2288, 2292, 2296, 2300, 2304, 2329, 2333,
+ 2347, 2351, 2355, 2359, 2365, 2365, 2371, 2380, 2384, 2393,
+ 2402, 2411, 2415, 2420, 2424, 2428, 2433, 2443, 2462, 2471,
+ 2540, 2544, 2551, 2562, 2575, 2585, 2596, 2606, 2615, 2624,
+ 2627, 2628, 2635, 2639, 2644, 2665, 2682, 2696, 2710, 2722,
+ 2730, 2737, 2743, 2749, 2755, 2770, 2834, 2839, 2843, 2850,
+ 2857, 2865, 2872, 2880, 2888, 2902, 2919
};
#endif
@@ -3030,142 +3037,142 @@
switch (yyn)
{
case 29:
-#line 1092 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1099 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ (yyval.IPredicate) = ICmpInst::ICMP_EQ; ;}
break;
case 30:
-#line 1092 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1099 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ (yyval.IPredicate) = ICmpInst::ICMP_NE; ;}
break;
case 31:
-#line 1093 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1100 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ (yyval.IPredicate) = ICmpInst::ICMP_SLT; ;}
break;
case 32:
-#line 1093 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1100 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ (yyval.IPredicate) = ICmpInst::ICMP_SGT; ;}
break;
case 33:
-#line 1094 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1101 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ (yyval.IPredicate) = ICmpInst::ICMP_SLE; ;}
break;
case 34:
-#line 1094 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1101 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ (yyval.IPredicate) = ICmpInst::ICMP_SGE; ;}
break;
case 35:
-#line 1095 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1102 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ (yyval.IPredicate) = ICmpInst::ICMP_ULT; ;}
break;
case 36:
-#line 1095 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1102 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ (yyval.IPredicate) = ICmpInst::ICMP_UGT; ;}
break;
case 37:
-#line 1096 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1103 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ (yyval.IPredicate) = ICmpInst::ICMP_ULE; ;}
break;
case 38:
-#line 1096 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1103 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ (yyval.IPredicate) = ICmpInst::ICMP_UGE; ;}
break;
case 39:
-#line 1100 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1107 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ (yyval.FPredicate) = FCmpInst::FCMP_OEQ; ;}
break;
case 40:
-#line 1100 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1107 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ (yyval.FPredicate) = FCmpInst::FCMP_ONE; ;}
break;
case 41:
-#line 1101 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1108 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ (yyval.FPredicate) = FCmpInst::FCMP_OLT; ;}
break;
case 42:
-#line 1101 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1108 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ (yyval.FPredicate) = FCmpInst::FCMP_OGT; ;}
break;
case 43:
-#line 1102 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1109 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ (yyval.FPredicate) = FCmpInst::FCMP_OLE; ;}
break;
case 44:
-#line 1102 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1109 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ (yyval.FPredicate) = FCmpInst::FCMP_OGE; ;}
break;
case 45:
-#line 1103 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1110 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ (yyval.FPredicate) = FCmpInst::FCMP_ORD; ;}
break;
case 46:
-#line 1103 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1110 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ (yyval.FPredicate) = FCmpInst::FCMP_UNO; ;}
break;
case 47:
-#line 1104 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1111 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ (yyval.FPredicate) = FCmpInst::FCMP_UEQ; ;}
break;
case 48:
-#line 1104 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1111 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ (yyval.FPredicate) = FCmpInst::FCMP_UNE; ;}
break;
case 49:
-#line 1105 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1112 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ (yyval.FPredicate) = FCmpInst::FCMP_ULT; ;}
break;
case 50:
-#line 1105 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1112 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ (yyval.FPredicate) = FCmpInst::FCMP_UGT; ;}
break;
case 51:
-#line 1106 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1113 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ (yyval.FPredicate) = FCmpInst::FCMP_ULE; ;}
break;
case 52:
-#line 1106 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1113 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ (yyval.FPredicate) = FCmpInst::FCMP_UGE; ;}
break;
case 53:
-#line 1107 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1114 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ (yyval.FPredicate) = FCmpInst::FCMP_TRUE; ;}
break;
case 54:
-#line 1108 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1115 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ (yyval.FPredicate) = FCmpInst::FCMP_FALSE; ;}
break;
case 61:
-#line 1117 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1124 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ (yyval.StrVal) = 0; ;}
break;
case 62:
-#line 1121 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1128 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
(yyval.StrVal) = (yyvsp[-1].StrVal);
CHECK_FOR_ERROR
@@ -3173,7 +3180,7 @@
break;
case 63:
-#line 1125 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1132 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
(yyval.StrVal) = 0;
CHECK_FOR_ERROR
@@ -3181,7 +3188,7 @@
break;
case 66:
-#line 1132 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1139 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
(yyval.StrVal) = (yyvsp[-1].StrVal);
CHECK_FOR_ERROR
@@ -3189,7 +3196,7 @@
break;
case 67:
-#line 1136 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1143 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
(yyval.StrVal) = 0;
CHECK_FOR_ERROR
@@ -3197,127 +3204,127 @@
break;
case 68:
-#line 1142 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1149 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ (yyval.Linkage) = GlobalValue::InternalLinkage; ;}
break;
case 69:
-#line 1143 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1150 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ (yyval.Linkage) = GlobalValue::WeakLinkage; ;}
break;
case 70:
-#line 1144 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1151 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ (yyval.Linkage) = GlobalValue::LinkOnceLinkage; ;}
break;
case 71:
-#line 1145 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1152 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ (yyval.Linkage) = GlobalValue::AppendingLinkage; ;}
break;
case 72:
-#line 1146 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1153 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ (yyval.Linkage) = GlobalValue::DLLExportLinkage; ;}
break;
case 73:
-#line 1150 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1157 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ (yyval.Linkage) = GlobalValue::DLLImportLinkage; ;}
break;
case 74:
-#line 1151 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1158 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ (yyval.Linkage) = GlobalValue::ExternalWeakLinkage; ;}
break;
case 75:
-#line 1152 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1159 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ (yyval.Linkage) = GlobalValue::ExternalLinkage; ;}
break;
case 76:
-#line 1156 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1163 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ (yyval.Visibility) = GlobalValue::DefaultVisibility; ;}
break;
case 77:
-#line 1157 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1164 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ (yyval.Visibility) = GlobalValue::HiddenVisibility; ;}
break;
case 78:
-#line 1161 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1168 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ (yyval.Linkage) = GlobalValue::ExternalLinkage; ;}
break;
case 79:
-#line 1162 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1169 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ (yyval.Linkage) = GlobalValue::DLLImportLinkage; ;}
break;
case 80:
-#line 1163 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1170 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ (yyval.Linkage) = GlobalValue::ExternalWeakLinkage; ;}
break;
case 81:
-#line 1167 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1174 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ (yyval.Linkage) = GlobalValue::ExternalLinkage; ;}
break;
case 82:
-#line 1168 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1175 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ (yyval.Linkage) = GlobalValue::InternalLinkage; ;}
break;
case 83:
-#line 1169 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1176 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ (yyval.Linkage) = GlobalValue::LinkOnceLinkage; ;}
break;
case 84:
-#line 1170 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1177 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ (yyval.Linkage) = GlobalValue::WeakLinkage; ;}
break;
case 85:
-#line 1171 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1178 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ (yyval.Linkage) = GlobalValue::DLLExportLinkage; ;}
break;
case 86:
-#line 1174 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1181 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ (yyval.UIntVal) = CallingConv::C; ;}
break;
case 87:
-#line 1175 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1182 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ (yyval.UIntVal) = CallingConv::C; ;}
break;
case 88:
-#line 1176 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1183 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ (yyval.UIntVal) = CallingConv::Fast; ;}
break;
case 89:
-#line 1177 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1184 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ (yyval.UIntVal) = CallingConv::Cold; ;}
break;
case 90:
-#line 1178 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1185 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ (yyval.UIntVal) = CallingConv::X86_StdCall; ;}
break;
case 91:
-#line 1179 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1186 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ (yyval.UIntVal) = CallingConv::X86_FastCall; ;}
break;
case 92:
-#line 1180 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1187 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
if ((unsigned)(yyvsp[0].UInt64Val) != (yyvsp[0].UInt64Val))
GEN_ERROR("Calling conv too large");
@@ -3327,75 +3334,60 @@
break;
case 93:
-#line 1187 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1194 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ (yyval.ParamAttrs) = FunctionType::ZExtAttribute; ;}
break;
case 94:
-#line 1188 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1195 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ (yyval.ParamAttrs) = FunctionType::SExtAttribute; ;}
break;
case 95:
-#line 1189 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1196 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ (yyval.ParamAttrs) = FunctionType::InRegAttribute; ;}
break;
case 96:
-#line 1190 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1197 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ (yyval.ParamAttrs) = FunctionType::StructRetAttribute; ;}
break;
case 97:
-#line 1193 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1200 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ (yyval.ParamAttrs) = FunctionType::NoAttributeSet; ;}
break;
case 98:
-#line 1194 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1201 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
(yyval.ParamAttrs) = FunctionType::ParameterAttributes((yyvsp[-1].ParamAttrs) | (yyvsp[0].ParamAttrs));
;}
break;
case 99:
-#line 1199 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1206 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ (yyval.ParamAttrs) = FunctionType::NoReturnAttribute; ;}
break;
case 101:
-#line 1203 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1210 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ (yyval.ParamAttrs) = FunctionType::NoAttributeSet; ;}
break;
case 102:
-#line 1204 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1211 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
(yyval.ParamAttrs) = FunctionType::ParameterAttributes((yyvsp[-1].ParamAttrs) | (yyvsp[0].ParamAttrs));
;}
break;
case 103:
-#line 1211 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
- { (yyval.UIntVal) = 0; ;}
- break;
-
- case 104:
-#line 1212 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
- {
- (yyval.UIntVal) = (yyvsp[0].UInt64Val);
- if ((yyval.UIntVal) != 0 && !isPowerOf2_32((yyval.UIntVal)))
- GEN_ERROR("Alignment must be a power of two");
- CHECK_FOR_ERROR
-;}
- break;
-
- case 105:
#line 1218 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ (yyval.UIntVal) = 0; ;}
break;
- case 106:
+ case 104:
#line 1219 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
(yyval.UIntVal) = (yyvsp[0].UInt64Val);
@@ -3405,8 +3397,23 @@
;}
break;
+ case 105:
+#line 1225 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+ { (yyval.UIntVal) = 0; ;}
+ break;
+
+ case 106:
+#line 1226 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+ {
+ (yyval.UIntVal) = (yyvsp[0].UInt64Val);
+ if ((yyval.UIntVal) != 0 && !isPowerOf2_32((yyval.UIntVal)))
+ GEN_ERROR("Alignment must be a power of two");
+ CHECK_FOR_ERROR
+;}
+ break;
+
case 107:
-#line 1227 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1234 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
for (unsigned i = 0, e = strlen((yyvsp[0].StrVal)); i != e; ++i)
if ((yyvsp[0].StrVal)[i] == '"' || (yyvsp[0].StrVal)[i] == '\\')
@@ -3417,27 +3424,27 @@
break;
case 108:
-#line 1235 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1242 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ (yyval.StrVal) = 0; ;}
break;
case 109:
-#line 1236 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1243 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ (yyval.StrVal) = (yyvsp[0].StrVal); ;}
break;
case 110:
-#line 1241 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1248 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{;}
break;
case 111:
-#line 1242 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1249 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{;}
break;
case 112:
-#line 1243 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1250 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
CurGV->setSection((yyvsp[0].StrVal));
free((yyvsp[0].StrVal));
@@ -3446,7 +3453,7 @@
break;
case 113:
-#line 1248 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1255 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
if ((yyvsp[0].UInt64Val) != 0 && !isPowerOf2_32((yyvsp[0].UInt64Val)))
GEN_ERROR("Alignment must be a power of two");
@@ -3456,7 +3463,7 @@
break;
case 118:
-#line 1264 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1271 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
(yyval.TypeVal) = new PATypeHolder(OpaqueType::get());
CHECK_FOR_ERROR
@@ -3464,7 +3471,7 @@
break;
case 119:
-#line 1268 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1275 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
(yyval.TypeVal) = new PATypeHolder((yyvsp[0].PrimType));
CHECK_FOR_ERROR
@@ -3472,7 +3479,7 @@
break;
case 120:
-#line 1272 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1279 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ // Pointer type?
if (*(yyvsp[-1].TypeVal) == Type::LabelTy)
GEN_ERROR("Cannot form a pointer to a basic block");
@@ -3483,7 +3490,7 @@
break;
case 121:
-#line 1279 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1286 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ // Named types are also simple types...
const Type* tmp = getTypeVal((yyvsp[0].ValIDVal));
CHECK_FOR_ERROR
@@ -3492,7 +3499,7 @@
break;
case 122:
-#line 1284 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1291 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ // Type UpReference
if ((yyvsp[0].UInt64Val) > (uint64_t)~0U) GEN_ERROR("Value out of range");
OpaqueType *OT = OpaqueType::get(); // Use temporary placeholder
@@ -3504,14 +3511,16 @@
break;
case 123:
-#line 1292 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1299 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
std::vector<const Type*> Params;
std::vector<FunctionType::ParameterAttributes> Attrs;
Attrs.push_back((yyvsp[0].ParamAttrs));
for (TypeWithAttrsList::iterator I=(yyvsp[-2].TypeWithAttrsList)->begin(), E=(yyvsp[-2].TypeWithAttrsList)->end(); I != E; ++I) {
- Params.push_back(I->Ty->get());
- if (I->Ty->get() != Type::VoidTy)
+ const Type *Ty = I->Ty->get();
+ delete I->Ty; I->Ty = 0;
+ Params.push_back(Ty);
+ if (Ty != Type::VoidTy)
Attrs.push_back(I->Attrs);
}
bool isVarArg = Params.size() && Params.back() == Type::VoidTy;
@@ -3526,14 +3535,16 @@
break;
case 124:
-#line 1310 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1319 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
std::vector<const Type*> Params;
std::vector<FunctionType::ParameterAttributes> Attrs;
Attrs.push_back((yyvsp[0].ParamAttrs));
for (TypeWithAttrsList::iterator I=(yyvsp[-2].TypeWithAttrsList)->begin(), E=(yyvsp[-2].TypeWithAttrsList)->end(); I != E; ++I) {
- Params.push_back(I->Ty->get());
- if (I->Ty->get() != Type::VoidTy)
+ const Type* Ty = I->Ty->get();
+ delete I->Ty; I->Ty = 0;
+ Params.push_back(Ty);
+ if (Ty != Type::VoidTy)
Attrs.push_back(I->Attrs);
}
bool isVarArg = Params.size() && Params.back() == Type::VoidTy;
@@ -3547,7 +3558,7 @@
break;
case 125:
-#line 1328 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1339 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ // Sized array type?
(yyval.TypeVal) = new PATypeHolder(HandleUpRefs(ArrayType::get(*(yyvsp[-1].TypeVal), (unsigned)(yyvsp[-3].UInt64Val))));
delete (yyvsp[-1].TypeVal);
@@ -3556,7 +3567,7 @@
break;
case 126:
-#line 1333 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1344 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ // Vector type?
const llvm::Type* ElemTy = (yyvsp[-1].TypeVal)->get();
if ((unsigned)(yyvsp[-3].UInt64Val) != (yyvsp[-3].UInt64Val))
@@ -3572,7 +3583,7 @@
break;
case 127:
-#line 1345 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1356 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ // Structure type?
std::vector<const Type*> Elements;
for (std::list<llvm::PATypeHolder>::iterator I = (yyvsp[-1].TypeList)->begin(),
@@ -3586,7 +3597,7 @@
break;
case 128:
-#line 1355 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1366 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ // Empty structure type?
(yyval.TypeVal) = new PATypeHolder(StructType::get(std::vector<const Type*>()));
CHECK_FOR_ERROR
@@ -3594,7 +3605,7 @@
break;
case 129:
-#line 1359 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1370 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
std::vector<const Type*> Elements;
for (std::list<llvm::PATypeHolder>::iterator I = (yyvsp[-2].TypeList)->begin(),
@@ -3608,7 +3619,7 @@
break;
case 130:
-#line 1369 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1380 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ // Empty structure type?
(yyval.TypeVal) = new PATypeHolder(StructType::get(std::vector<const Type*>(), true));
CHECK_FOR_ERROR
@@ -3616,7 +3627,7 @@
break;
case 131:
-#line 1376 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1387 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
(yyval.TypeWithAttrs).Ty = (yyvsp[-1].TypeVal);
(yyval.TypeWithAttrs).Attrs = (yyvsp[0].ParamAttrs);
@@ -3624,7 +3635,7 @@
break;
case 132:
-#line 1383 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1394 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[0].TypeVal))->getDescription());
@@ -3635,14 +3646,14 @@
break;
case 133:
-#line 1390 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1401 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
(yyval.TypeVal) = new PATypeHolder(Type::VoidTy);
;}
break;
case 134:
-#line 1395 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1406 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
(yyval.TypeWithAttrsList) = new TypeWithAttrsList();
(yyval.TypeWithAttrsList)->push_back((yyvsp[0].TypeWithAttrs));
@@ -3651,7 +3662,7 @@
break;
case 135:
-#line 1400 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1411 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
((yyval.TypeWithAttrsList)=(yyvsp[-2].TypeWithAttrsList))->push_back((yyvsp[0].TypeWithAttrs));
CHECK_FOR_ERROR
@@ -3659,7 +3670,7 @@
break;
case 137:
-#line 1408 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1419 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
(yyval.TypeWithAttrsList)=(yyvsp[-2].TypeWithAttrsList);
TypeWithAttrs TWA; TWA.Attrs = FunctionType::NoAttributeSet;
@@ -3670,7 +3681,7 @@
break;
case 138:
-#line 1415 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1426 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
(yyval.TypeWithAttrsList) = new TypeWithAttrsList;
TypeWithAttrs TWA; TWA.Attrs = FunctionType::NoAttributeSet;
@@ -3681,7 +3692,7 @@
break;
case 139:
-#line 1422 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1433 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
(yyval.TypeWithAttrsList) = new TypeWithAttrsList();
CHECK_FOR_ERROR
@@ -3689,24 +3700,26 @@
break;
case 140:
-#line 1430 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1441 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
(yyval.TypeList) = new std::list<PATypeHolder>();
- (yyval.TypeList)->push_back(*(yyvsp[0].TypeVal)); delete (yyvsp[0].TypeVal);
+ (yyval.TypeList)->push_back(*(yyvsp[0].TypeVal));
+ delete (yyvsp[0].TypeVal);
CHECK_FOR_ERROR
;}
break;
case 141:
-#line 1435 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1447 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
- ((yyval.TypeList)=(yyvsp[-2].TypeList))->push_back(*(yyvsp[0].TypeVal)); delete (yyvsp[0].TypeVal);
+ ((yyval.TypeList)=(yyvsp[-2].TypeList))->push_back(*(yyvsp[0].TypeVal));
+ delete (yyvsp[0].TypeVal);
CHECK_FOR_ERROR
;}
break;
case 142:
-#line 1446 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1459 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ // Nonempty unsized arr
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-3].TypeVal))->getDescription());
@@ -3738,7 +3751,7 @@
break;
case 143:
-#line 1474 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1487 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-2].TypeVal))->getDescription());
@@ -3758,7 +3771,7 @@
break;
case 144:
-#line 1490 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1503 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-2].TypeVal))->getDescription());
@@ -3791,7 +3804,7 @@
break;
case 145:
-#line 1519 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1532 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ // Nonempty unsized arr
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-3].TypeVal))->getDescription());
@@ -3823,7 +3836,7 @@
break;
case 146:
-#line 1547 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1560 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
const StructType *STy = dyn_cast<StructType>((yyvsp[-3].TypeVal)->get());
if (STy == 0)
@@ -3852,7 +3865,7 @@
break;
case 147:
-#line 1572 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1585 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-2].TypeVal))->getDescription());
@@ -3875,7 +3888,7 @@
break;
case 148:
-#line 1591 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1604 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
const StructType *STy = dyn_cast<StructType>((yyvsp[-5].TypeVal)->get());
if (STy == 0)
@@ -3905,7 +3918,7 @@
break;
case 149:
-#line 1617 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1630 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-4].TypeVal))->getDescription());
@@ -3929,7 +3942,7 @@
break;
case 150:
-#line 1637 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1650 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-1].TypeVal))->getDescription());
@@ -3945,7 +3958,7 @@
break;
case 151:
-#line 1649 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1662 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-1].TypeVal))->getDescription());
@@ -3956,7 +3969,7 @@
break;
case 152:
-#line 1656 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1669 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-1].TypeVal))->getDescription());
@@ -4026,7 +4039,7 @@
break;
case 153:
-#line 1722 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1735 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-1].TypeVal))->getDescription());
@@ -4040,7 +4053,7 @@
break;
case 154:
-#line 1732 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1745 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-1].TypeVal))->getDescription());
@@ -4054,7 +4067,7 @@
break;
case 155:
-#line 1742 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1755 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ // integral constants
if (!ConstantInt::isValueValidForType((yyvsp[-1].PrimType), (yyvsp[0].SInt64Val)))
GEN_ERROR("Constant value doesn't fit in type");
@@ -4064,7 +4077,7 @@
break;
case 156:
-#line 1748 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1761 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ // arbitrary precision integer constants
uint32_t BitWidth = cast<IntegerType>((yyvsp[-1].PrimType))->getBitWidth();
if ((yyvsp[0].APIntVal)->getBitWidth() > BitWidth) {
@@ -4078,7 +4091,7 @@
break;
case 157:
-#line 1758 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1771 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ // integral constants
if (!ConstantInt::isValueValidForType((yyvsp[-1].PrimType), (yyvsp[0].UInt64Val)))
GEN_ERROR("Constant value doesn't fit in type");
@@ -4088,7 +4101,7 @@
break;
case 158:
-#line 1764 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1777 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ // arbitrary precision integer constants
uint32_t BitWidth = cast<IntegerType>((yyvsp[-1].PrimType))->getBitWidth();
if ((yyvsp[0].APIntVal)->getBitWidth() > BitWidth) {
@@ -4102,7 +4115,7 @@
break;
case 159:
-#line 1774 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1787 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ // Boolean constants
assert(cast<IntegerType>((yyvsp[-1].PrimType))->getBitWidth() == 1 && "Not Bool?");
(yyval.ConstVal) = ConstantInt::getTrue();
@@ -4111,7 +4124,7 @@
break;
case 160:
-#line 1779 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1792 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ // Boolean constants
assert(cast<IntegerType>((yyvsp[-1].PrimType))->getBitWidth() == 1 && "Not Bool?");
(yyval.ConstVal) = ConstantInt::getFalse();
@@ -4120,7 +4133,7 @@
break;
case 161:
-#line 1784 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1797 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ // Float & Double constants
if (!ConstantFP::isValueValidForType((yyvsp[-1].PrimType), (yyvsp[0].FPVal)))
GEN_ERROR("Floating point constant invalid for type");
@@ -4130,7 +4143,7 @@
break;
case 162:
-#line 1792 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1805 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-1].TypeVal))->getDescription());
@@ -4146,7 +4159,7 @@
break;
case 163:
-#line 1804 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1817 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
if (!isa<PointerType>((yyvsp[-2].ConstVal)->getType()))
GEN_ERROR("GetElementPtr requires a pointer operand");
@@ -4172,7 +4185,7 @@
break;
case 164:
-#line 1826 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1839 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
if ((yyvsp[-5].ConstVal)->getType() != Type::Int1Ty)
GEN_ERROR("Select condition must be of boolean type");
@@ -4184,7 +4197,7 @@
break;
case 165:
-#line 1834 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1847 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
if ((yyvsp[-3].ConstVal)->getType() != (yyvsp[-1].ConstVal)->getType())
GEN_ERROR("Binary operator types must match");
@@ -4194,7 +4207,7 @@
break;
case 166:
-#line 1840 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1853 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
if ((yyvsp[-3].ConstVal)->getType() != (yyvsp[-1].ConstVal)->getType())
GEN_ERROR("Logical operator types must match");
@@ -4209,7 +4222,7 @@
break;
case 167:
-#line 1851 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1864 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
if ((yyvsp[-3].ConstVal)->getType() != (yyvsp[-1].ConstVal)->getType())
GEN_ERROR("icmp operand types must match");
@@ -4218,7 +4231,7 @@
break;
case 168:
-#line 1856 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1869 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
if ((yyvsp[-3].ConstVal)->getType() != (yyvsp[-1].ConstVal)->getType())
GEN_ERROR("fcmp operand types must match");
@@ -4227,7 +4240,7 @@
break;
case 169:
-#line 1861 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1874 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
if (!ExtractElementInst::isValidOperands((yyvsp[-3].ConstVal), (yyvsp[-1].ConstVal)))
GEN_ERROR("Invalid extractelement operands");
@@ -4237,7 +4250,7 @@
break;
case 170:
-#line 1867 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1880 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
if (!InsertElementInst::isValidOperands((yyvsp[-5].ConstVal), (yyvsp[-3].ConstVal), (yyvsp[-1].ConstVal)))
GEN_ERROR("Invalid insertelement operands");
@@ -4247,7 +4260,7 @@
break;
case 171:
-#line 1873 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1886 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
if (!ShuffleVectorInst::isValidOperands((yyvsp[-5].ConstVal), (yyvsp[-3].ConstVal), (yyvsp[-1].ConstVal)))
GEN_ERROR("Invalid shufflevector operands");
@@ -4257,7 +4270,7 @@
break;
case 172:
-#line 1882 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1895 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
((yyval.ConstVector) = (yyvsp[-2].ConstVector))->push_back((yyvsp[0].ConstVal));
CHECK_FOR_ERROR
@@ -4265,7 +4278,7 @@
break;
case 173:
-#line 1886 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1899 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
(yyval.ConstVector) = new std::vector<Constant*>();
(yyval.ConstVector)->push_back((yyvsp[0].ConstVal));
@@ -4274,17 +4287,17 @@
break;
case 174:
-#line 1894 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1907 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ (yyval.BoolVal) = false; ;}
break;
case 175:
-#line 1894 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1907 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ (yyval.BoolVal) = true; ;}
break;
case 176:
-#line 1905 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1918 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
(yyval.ModuleVal) = ParserResult = CurModule.CurrentModule;
CurModule.ModuleDone();
@@ -4293,7 +4306,7 @@
break;
case 177:
-#line 1910 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1923 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
(yyval.ModuleVal) = ParserResult = CurModule.CurrentModule;
CurModule.ModuleDone();
@@ -4302,12 +4315,12 @@
break;
case 180:
-#line 1923 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1936 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ CurFun.isDeclare = false; ;}
break;
case 181:
-#line 1923 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1936 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
CurFun.FunctionDone();
CHECK_FOR_ERROR
@@ -4315,26 +4328,26 @@
break;
case 182:
-#line 1927 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1940 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ CurFun.isDeclare = true; ;}
break;
case 183:
-#line 1927 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1940 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
CHECK_FOR_ERROR
;}
break;
case 184:
-#line 1930 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1943 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
CHECK_FOR_ERROR
;}
break;
case 185:
-#line 1933 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1946 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
// Emit an error if there are any unresolved types left.
if (!CurModule.LateResolveTypes.empty()) {
@@ -4350,7 +4363,7 @@
break;
case 186:
-#line 1945 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1958 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[0].TypeVal))->getDescription());
@@ -4378,7 +4391,7 @@
break;
case 187:
-#line 1969 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1982 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
ResolveTypeTo((yyvsp[-2].StrVal), (yyvsp[0].PrimType));
@@ -4393,7 +4406,7 @@
break;
case 188:
-#line 1980 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 1993 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
/* "Externally Visible" Linkage */
if ((yyvsp[0].ConstVal) == 0)
@@ -4405,14 +4418,14 @@
break;
case 189:
-#line 1987 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 2000 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
CurGV = 0;
;}
break;
case 190:
-#line 1990 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 2003 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
if ((yyvsp[0].ConstVal) == 0)
GEN_ERROR("Global value initializer is not a constant");
@@ -4422,14 +4435,14 @@
break;
case 191:
-#line 1995 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 2008 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
CurGV = 0;
;}
break;
case 192:
-#line 1998 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 2011 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[0].TypeVal))->getDescription());
@@ -4440,7 +4453,7 @@
break;
case 193:
-#line 2004 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 2017 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
CurGV = 0;
CHECK_FOR_ERROR
@@ -4448,21 +4461,21 @@
break;
case 194:
-#line 2008 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 2021 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
CHECK_FOR_ERROR
;}
break;
case 195:
-#line 2011 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 2024 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
CHECK_FOR_ERROR
;}
break;
case 196:
-#line 2017 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 2030 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
const std::string &AsmSoFar = CurModule.CurrentModule->getModuleInlineAsm();
char *EndStr = UnEscapeLexed((yyvsp[0].StrVal), true);
@@ -4478,7 +4491,7 @@
break;
case 197:
-#line 2030 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 2043 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
CurModule.CurrentModule->setTargetTriple((yyvsp[0].StrVal));
free((yyvsp[0].StrVal));
@@ -4486,7 +4499,7 @@
break;
case 198:
-#line 2034 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 2047 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
CurModule.CurrentModule->setDataLayout((yyvsp[0].StrVal));
free((yyvsp[0].StrVal));
@@ -4494,7 +4507,7 @@
break;
case 200:
-#line 2041 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 2054 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
CurModule.CurrentModule->addLibrary((yyvsp[0].StrVal));
free((yyvsp[0].StrVal));
@@ -4503,7 +4516,7 @@
break;
case 201:
-#line 2046 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 2059 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
CurModule.CurrentModule->addLibrary((yyvsp[0].StrVal));
free((yyvsp[0].StrVal));
@@ -4512,14 +4525,14 @@
break;
case 202:
-#line 2051 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 2064 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
CHECK_FOR_ERROR
;}
break;
case 203:
-#line 2060 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 2073 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-2].TypeVal))->getDescription());
@@ -4533,7 +4546,7 @@
break;
case 204:
-#line 2070 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 2083 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-2].TypeVal))->getDescription());
@@ -4547,7 +4560,7 @@
break;
case 205:
-#line 2081 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 2094 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
(yyval.ArgList) = (yyvsp[0].ArgList);
CHECK_FOR_ERROR
@@ -4555,7 +4568,7 @@
break;
case 206:
-#line 2085 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 2098 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
(yyval.ArgList) = (yyvsp[-2].ArgList);
struct ArgListEntry E;
@@ -4568,7 +4581,7 @@
break;
case 207:
-#line 2094 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 2107 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
(yyval.ArgList) = new ArgListType;
struct ArgListEntry E;
@@ -4581,7 +4594,7 @@
break;
case 208:
-#line 2103 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 2116 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
(yyval.ArgList) = 0;
CHECK_FOR_ERROR
@@ -4589,7 +4602,7 @@
break;
case 209:
-#line 2109 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 2122 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
UnEscapeLexed((yyvsp[-6].StrVal));
std::string FunctionName((yyvsp[-6].StrVal));
@@ -4703,7 +4716,7 @@
break;
case 212:
-#line 2222 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 2235 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
(yyval.FunctionVal) = CurFun.CurrentFunction;
@@ -4715,7 +4728,7 @@
break;
case 215:
-#line 2233 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 2246 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
(yyval.FunctionVal) = (yyvsp[-1].FunctionVal);
CHECK_FOR_ERROR
@@ -4723,7 +4736,7 @@
break;
case 216:
-#line 2238 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 2251 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
CurFun.CurrentFunction->setLinkage((yyvsp[-2].Linkage));
CurFun.CurrentFunction->setVisibility((yyvsp[-1].Visibility));
@@ -4734,7 +4747,7 @@
break;
case 217:
-#line 2250 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 2263 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
(yyval.BoolVal) = false;
CHECK_FOR_ERROR
@@ -4742,7 +4755,7 @@
break;
case 218:
-#line 2254 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 2267 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
(yyval.BoolVal) = true;
CHECK_FOR_ERROR
@@ -4750,7 +4763,7 @@
break;
case 219:
-#line 2259 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 2272 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ // A reference to a direct constant
(yyval.ValIDVal) = ValID::create((yyvsp[0].SInt64Val));
CHECK_FOR_ERROR
@@ -4758,7 +4771,7 @@
break;
case 220:
-#line 2263 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 2276 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
(yyval.ValIDVal) = ValID::create((yyvsp[0].UInt64Val));
CHECK_FOR_ERROR
@@ -4766,7 +4779,7 @@
break;
case 221:
-#line 2267 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 2280 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ // Perhaps it's an FP constant?
(yyval.ValIDVal) = ValID::create((yyvsp[0].FPVal));
CHECK_FOR_ERROR
@@ -4774,7 +4787,7 @@
break;
case 222:
-#line 2271 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 2284 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
(yyval.ValIDVal) = ValID::create(ConstantInt::getTrue());
CHECK_FOR_ERROR
@@ -4782,7 +4795,7 @@
break;
case 223:
-#line 2275 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 2288 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
(yyval.ValIDVal) = ValID::create(ConstantInt::getFalse());
CHECK_FOR_ERROR
@@ -4790,7 +4803,7 @@
break;
case 224:
-#line 2279 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 2292 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
(yyval.ValIDVal) = ValID::createNull();
CHECK_FOR_ERROR
@@ -4798,7 +4811,7 @@
break;
case 225:
-#line 2283 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 2296 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
(yyval.ValIDVal) = ValID::createUndef();
CHECK_FOR_ERROR
@@ -4806,7 +4819,7 @@
break;
case 226:
-#line 2287 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 2300 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ // A vector zero constant.
(yyval.ValIDVal) = ValID::createZeroInit();
CHECK_FOR_ERROR
@@ -4814,7 +4827,7 @@
break;
case 227:
-#line 2291 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 2304 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ // Nonempty unsized packed vector
const Type *ETy = (*(yyvsp[-1].ConstVector))[0]->getType();
int NumElements = (yyvsp[-1].ConstVector)->size();
@@ -4843,7 +4856,7 @@
break;
case 228:
-#line 2316 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 2329 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
(yyval.ValIDVal) = ValID::create((yyvsp[0].ConstVal));
CHECK_FOR_ERROR
@@ -4851,7 +4864,7 @@
break;
case 229:
-#line 2320 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 2333 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
char *End = UnEscapeLexed((yyvsp[-2].StrVal), true);
std::string AsmStr = std::string((yyvsp[-2].StrVal), End);
@@ -4865,7 +4878,7 @@
break;
case 230:
-#line 2334 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 2347 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ // Is it an integer reference...?
(yyval.ValIDVal) = ValID::createLocalID((yyvsp[0].UIntVal));
CHECK_FOR_ERROR
@@ -4873,7 +4886,7 @@
break;
case 231:
-#line 2338 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 2351 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
(yyval.ValIDVal) = ValID::createGlobalID((yyvsp[0].UIntVal));
CHECK_FOR_ERROR
@@ -4881,7 +4894,7 @@
break;
case 232:
-#line 2342 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 2355 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ // Is it a named reference...?
(yyval.ValIDVal) = ValID::createLocalName((yyvsp[0].StrVal));
CHECK_FOR_ERROR
@@ -4889,7 +4902,7 @@
break;
case 233:
-#line 2346 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 2359 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ // Is it a named reference...?
(yyval.ValIDVal) = ValID::createGlobalName((yyvsp[0].StrVal));
CHECK_FOR_ERROR
@@ -4897,7 +4910,7 @@
break;
case 236:
-#line 2358 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 2371 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-1].TypeVal))->getDescription());
@@ -4908,7 +4921,7 @@
break;
case 237:
-#line 2367 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 2380 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
(yyval.FunctionVal) = (yyvsp[-1].FunctionVal);
CHECK_FOR_ERROR
@@ -4916,7 +4929,7 @@
break;
case 238:
-#line 2371 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 2384 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ // Do not allow functions with 0 basic blocks
(yyval.FunctionVal) = (yyvsp[-1].FunctionVal);
CHECK_FOR_ERROR
@@ -4924,7 +4937,7 @@
break;
case 239:
-#line 2380 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 2393 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
setValueName((yyvsp[0].TermInstVal), (yyvsp[-1].StrVal));
CHECK_FOR_ERROR
@@ -4936,7 +4949,7 @@
break;
case 240:
-#line 2389 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 2402 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
if (CastInst *CI1 = dyn_cast<CastInst>((yyvsp[0].InstVal)))
if (CastInst *CI2 = dyn_cast<CastInst>(CI1->getOperand(0)))
@@ -4949,7 +4962,7 @@
break;
case 241:
-#line 2398 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 2411 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ // Empty space between instruction lists
(yyval.BasicBlockVal) = defineBBVal(ValID::createLocalID(CurFun.NextValNum));
CHECK_FOR_ERROR
@@ -4957,7 +4970,7 @@
break;
case 242:
-#line 2402 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 2415 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ // Labelled (named) basic block
(yyval.BasicBlockVal) = defineBBVal(ValID::createLocalName((yyvsp[0].StrVal)));
CHECK_FOR_ERROR
@@ -4965,7 +4978,7 @@
break;
case 243:
-#line 2407 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 2420 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ // Return with a result...
(yyval.TermInstVal) = new ReturnInst((yyvsp[0].ValueVal));
CHECK_FOR_ERROR
@@ -4973,7 +4986,7 @@
break;
case 244:
-#line 2411 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 2424 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ // Return with no result...
(yyval.TermInstVal) = new ReturnInst();
CHECK_FOR_ERROR
@@ -4981,7 +4994,7 @@
break;
case 245:
-#line 2415 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 2428 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ // Unconditional Branch...
BasicBlock* tmpBB = getBBVal((yyvsp[0].ValIDVal));
CHECK_FOR_ERROR
@@ -4990,7 +5003,7 @@
break;
case 246:
-#line 2420 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 2433 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
assert(cast<IntegerType>((yyvsp[-7].PrimType))->getBitWidth() == 1 && "Not Bool?");
BasicBlock* tmpBBA = getBBVal((yyvsp[-3].ValIDVal));
@@ -5004,7 +5017,7 @@
break;
case 247:
-#line 2430 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 2443 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
Value* tmpVal = getVal((yyvsp[-7].PrimType), (yyvsp[-6].ValIDVal));
CHECK_FOR_ERROR
@@ -5027,7 +5040,7 @@
break;
case 248:
-#line 2449 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 2462 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
Value* tmpVal = getVal((yyvsp[-6].PrimType), (yyvsp[-5].ValIDVal));
CHECK_FOR_ERROR
@@ -5040,7 +5053,7 @@
break;
case 249:
-#line 2459 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 2472 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
// Handle the short syntax
@@ -5064,6 +5077,8 @@
PFTy = PointerType::get(Ty);
}
+ delete (yyvsp[-11].TypeVal);
+
Value *V = getVal(PFTy, (yyvsp[-10].ValIDVal)); // Get the function we're calling...
CHECK_FOR_ERROR
BasicBlock *Normal = getBBVal((yyvsp[-3].ValIDVal));
@@ -5110,7 +5125,7 @@
break;
case 250:
-#line 2525 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 2540 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
(yyval.TermInstVal) = new UnwindInst();
CHECK_FOR_ERROR
@@ -5118,7 +5133,7 @@
break;
case 251:
-#line 2529 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 2544 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
(yyval.TermInstVal) = new UnreachableInst();
CHECK_FOR_ERROR
@@ -5126,7 +5141,7 @@
break;
case 252:
-#line 2536 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 2551 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
(yyval.JumpTable) = (yyvsp[-5].JumpTable);
Constant *V = cast<Constant>(getExistingVal((yyvsp[-4].PrimType), (yyvsp[-3].ValIDVal)));
@@ -5141,7 +5156,7 @@
break;
case 253:
-#line 2547 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 2562 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
(yyval.JumpTable) = new std::vector<std::pair<Constant*, BasicBlock*> >();
Constant *V = cast<Constant>(getExistingVal((yyvsp[-4].PrimType), (yyvsp[-3].ValIDVal)));
@@ -5157,7 +5172,7 @@
break;
case 254:
-#line 2560 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 2575 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
// Is this definition named?? if so, assign the name...
setValueName((yyvsp[0].InstVal), (yyvsp[-1].StrVal));
@@ -5169,7 +5184,7 @@
break;
case 255:
-#line 2570 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 2585 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ // Used for PHI nodes
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-5].TypeVal))->getDescription());
@@ -5184,7 +5199,7 @@
break;
case 256:
-#line 2581 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 2596 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
(yyval.PHIList) = (yyvsp[-6].PHIList);
Value* tmpVal = getVal((yyvsp[-6].PHIList)->front().first->getType(), (yyvsp[-3].ValIDVal));
@@ -5196,7 +5211,7 @@
break;
case 257:
-#line 2591 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 2606 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-2].TypeVal))->getDescription());
@@ -5204,33 +5219,35 @@
(yyval.ValueRefList) = new ValueRefList();
ValueRefListEntry E; E.Attrs = (yyvsp[0].ParamAttrs); E.Val = getVal((yyvsp[-2].TypeVal)->get(), (yyvsp[-1].ValIDVal));
(yyval.ValueRefList)->push_back(E);
+ delete (yyvsp[-2].TypeVal);
;}
break;
case 258:
-#line 2599 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 2615 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-2].TypeVal))->getDescription());
(yyval.ValueRefList) = (yyvsp[-4].ValueRefList);
ValueRefListEntry E; E.Attrs = (yyvsp[0].ParamAttrs); E.Val = getVal((yyvsp[-2].TypeVal)->get(), (yyvsp[-1].ValIDVal));
(yyval.ValueRefList)->push_back(E);
+ delete (yyvsp[-2].TypeVal);
CHECK_FOR_ERROR
;}
break;
case 259:
-#line 2607 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 2624 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ (yyval.ValueRefList) = new ValueRefList(); ;}
break;
case 260:
-#line 2610 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 2627 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ (yyval.ValueList) = new std::vector<Value*>(); ;}
break;
case 261:
-#line 2611 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 2628 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
(yyval.ValueList) = (yyvsp[-2].ValueList);
(yyval.ValueList)->push_back((yyvsp[0].ValueVal));
@@ -5239,7 +5256,7 @@
break;
case 262:
-#line 2618 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 2635 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
(yyval.BoolVal) = true;
CHECK_FOR_ERROR
@@ -5247,7 +5264,7 @@
break;
case 263:
-#line 2622 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 2639 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
(yyval.BoolVal) = false;
CHECK_FOR_ERROR
@@ -5255,7 +5272,7 @@
break;
case 264:
-#line 2627 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 2644 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-3].TypeVal))->getDescription());
@@ -5280,7 +5297,7 @@
break;
case 265:
-#line 2648 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 2665 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-3].TypeVal))->getDescription());
@@ -5301,7 +5318,7 @@
break;
case 266:
-#line 2665 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 2682 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-3].TypeVal))->getDescription());
@@ -5314,11 +5331,12 @@
(yyval.InstVal) = CmpInst::create((yyvsp[-5].OtherOpVal), (yyvsp[-4].IPredicate), tmpVal1, tmpVal2);
if ((yyval.InstVal) == 0)
GEN_ERROR("icmp operator returned null");
+ delete (yyvsp[-3].TypeVal);
;}
break;
case 267:
-#line 2678 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 2696 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-3].TypeVal))->getDescription());
@@ -5331,11 +5349,12 @@
(yyval.InstVal) = CmpInst::create((yyvsp[-5].OtherOpVal), (yyvsp[-4].FPredicate), tmpVal1, tmpVal2);
if ((yyval.InstVal) == 0)
GEN_ERROR("fcmp operator returned null");
+ delete (yyvsp[-3].TypeVal);
;}
break;
case 268:
-#line 2691 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 2710 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[0].TypeVal))->getDescription());
@@ -5351,7 +5370,7 @@
break;
case 269:
-#line 2703 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 2722 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
if ((yyvsp[-4].ValueVal)->getType() != Type::Int1Ty)
GEN_ERROR("select condition must be boolean");
@@ -5363,7 +5382,7 @@
break;
case 270:
-#line 2711 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 2730 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[0].TypeVal))->getDescription());
@@ -5374,7 +5393,7 @@
break;
case 271:
-#line 2718 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 2737 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
if (!ExtractElementInst::isValidOperands((yyvsp[-2].ValueVal), (yyvsp[0].ValueVal)))
GEN_ERROR("Invalid extractelement operands");
@@ -5384,7 +5403,7 @@
break;
case 272:
-#line 2724 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 2743 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
if (!InsertElementInst::isValidOperands((yyvsp[-4].ValueVal), (yyvsp[-2].ValueVal), (yyvsp[0].ValueVal)))
GEN_ERROR("Invalid insertelement operands");
@@ -5394,7 +5413,7 @@
break;
case 273:
-#line 2730 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 2749 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
if (!ShuffleVectorInst::isValidOperands((yyvsp[-4].ValueVal), (yyvsp[-2].ValueVal), (yyvsp[0].ValueVal)))
GEN_ERROR("Invalid shufflevector operands");
@@ -5404,7 +5423,7 @@
break;
case 274:
-#line 2736 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 2755 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
const Type *Ty = (yyvsp[0].PHIList)->front().first->getType();
if (!Ty->isFirstClassType())
@@ -5423,7 +5442,7 @@
break;
case 275:
-#line 2752 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 2771 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
// Handle the short syntax
@@ -5490,7 +5509,7 @@
break;
case 276:
-#line 2815 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 2834 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
(yyval.InstVal) = (yyvsp[0].InstVal);
CHECK_FOR_ERROR
@@ -5498,7 +5517,7 @@
break;
case 277:
-#line 2820 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 2839 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
(yyval.BoolVal) = true;
CHECK_FOR_ERROR
@@ -5506,7 +5525,7 @@
break;
case 278:
-#line 2824 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 2843 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
(yyval.BoolVal) = false;
CHECK_FOR_ERROR
@@ -5514,7 +5533,7 @@
break;
case 279:
-#line 2831 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 2850 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-1].TypeVal))->getDescription());
@@ -5525,7 +5544,7 @@
break;
case 280:
-#line 2838 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 2857 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-4].TypeVal))->getDescription());
@@ -5537,7 +5556,7 @@
break;
case 281:
-#line 2846 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 2865 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-1].TypeVal))->getDescription());
@@ -5548,7 +5567,7 @@
break;
case 282:
-#line 2853 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 2872 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-4].TypeVal))->getDescription());
@@ -5560,7 +5579,7 @@
break;
case 283:
-#line 2861 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 2880 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
if (!isa<PointerType>((yyvsp[0].ValueVal)->getType()))
GEN_ERROR("Trying to free nonpointer type " +
@@ -5571,7 +5590,7 @@
break;
case 284:
-#line 2869 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 2888 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-1].TypeVal))->getDescription());
@@ -5589,7 +5608,7 @@
break;
case 285:
-#line 2883 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 2902 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-1].TypeVal))->getDescription());
@@ -5610,7 +5629,7 @@
break;
case 286:
-#line 2900 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 2919 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-2].TypeVal))->getDescription());
@@ -5633,7 +5652,7 @@
}
/* Line 1126 of yacc.c. */
-#line 5637 "llvmAsmParser.tab.c"
+#line 5656 "llvmAsmParser.tab.c"
yyvsp -= yylen;
yyssp -= yylen;
@@ -5901,7 +5920,7 @@
}
-#line 2917 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 2936 "/proj/llvm/llvm-1/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 38945b9..f71bb5f 100644
--- a/lib/AsmParser/llvmAsmParser.h.cvs
+++ b/lib/AsmParser/llvmAsmParser.h.cvs
@@ -299,7 +299,7 @@
#if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED)
-#line 932 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+#line 939 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
typedef union YYSTYPE {
llvm::Module *ModuleVal;
llvm::Function *FunctionVal;
diff --git a/lib/AsmParser/llvmAsmParser.y.cvs b/lib/AsmParser/llvmAsmParser.y.cvs
index aac87d6..8427bcc 100644
--- a/lib/AsmParser/llvmAsmParser.y.cvs
+++ b/lib/AsmParser/llvmAsmParser.y.cvs
@@ -513,9 +513,16 @@
CurFun.CurrentFunction->getBasicBlockList().remove(BB);
CurFun.CurrentFunction->getBasicBlockList().push_back(BB);
+ // We're about to erase the entry, save the key so we can clean it up.
+ ValID Tmp = BBI->first;
+
// Erase the forward ref from the map as its no longer "forward"
CurFun.BBForwardRefs.erase(ID);
+ // The key has been removed from the map but so we don't want to leave
+ // strdup'd memory around so destroy it too.
+ Tmp.destroy();
+
// If its a numbered definition, bump the number and set the BB value.
if (ID.Type == ValID::LocalID) {
assert(ID.Num == CurFun.NextValNum && "Invalid new block number");
@@ -1294,8 +1301,10 @@
std::vector<FunctionType::ParameterAttributes> Attrs;
Attrs.push_back($5);
for (TypeWithAttrsList::iterator I=$3->begin(), E=$3->end(); I != E; ++I) {
- Params.push_back(I->Ty->get());
- if (I->Ty->get() != Type::VoidTy)
+ const Type *Ty = I->Ty->get();
+ delete I->Ty; I->Ty = 0;
+ Params.push_back(Ty);
+ if (Ty != Type::VoidTy)
Attrs.push_back(I->Attrs);
}
bool isVarArg = Params.size() && Params.back() == Type::VoidTy;
@@ -1312,8 +1321,10 @@
std::vector<FunctionType::ParameterAttributes> Attrs;
Attrs.push_back($5);
for (TypeWithAttrsList::iterator I=$3->begin(), E=$3->end(); I != E; ++I) {
- Params.push_back(I->Ty->get());
- if (I->Ty->get() != Type::VoidTy)
+ const Type* Ty = I->Ty->get();
+ delete I->Ty; I->Ty = 0;
+ Params.push_back(Ty);
+ if (Ty != Type::VoidTy)
Attrs.push_back(I->Attrs);
}
bool isVarArg = Params.size() && Params.back() == Type::VoidTy;
@@ -1429,11 +1440,13 @@
//
TypeListI : Types {
$$ = new std::list<PATypeHolder>();
- $$->push_back(*$1); delete $1;
+ $$->push_back(*$1);
+ delete $1;
CHECK_FOR_ERROR
}
| TypeListI ',' Types {
- ($$=$1)->push_back(*$3); delete $3;
+ ($$=$1)->push_back(*$3);
+ delete $3;
CHECK_FOR_ERROR
};
@@ -2479,6 +2492,8 @@
PFTy = PointerType::get(Ty);
}
+ delete $3;
+
Value *V = getVal(PFTy, $4); // Get the function we're calling...
CHECK_FOR_ERROR
BasicBlock *Normal = getBBVal($11);
@@ -2595,6 +2610,7 @@
$$ = new ValueRefList();
ValueRefListEntry E; E.Attrs = $3; E.Val = getVal($1->get(), $2);
$$->push_back(E);
+ delete $1;
}
| ValueRefList ',' Types ValueRef OptParamAttrs {
if (!UpRefs.empty())
@@ -2602,6 +2618,7 @@
$$ = $1;
ValueRefListEntry E; E.Attrs = $5; E.Val = getVal($3->get(), $4);
$$->push_back(E);
+ delete $3;
CHECK_FOR_ERROR
}
| /*empty*/ { $$ = new ValueRefList(); };
@@ -2674,6 +2691,7 @@
$$ = CmpInst::create($1, $2, tmpVal1, tmpVal2);
if ($$ == 0)
GEN_ERROR("icmp operator returned null");
+ delete $3;
}
| FCMP FPredicates Types ValueRef ',' ValueRef {
if (!UpRefs.empty())
@@ -2687,6 +2705,7 @@
$$ = CmpInst::create($1, $2, tmpVal1, tmpVal2);
if ($$ == 0)
GEN_ERROR("fcmp operator returned null");
+ delete $3;
}
| CastOps ResolvedVal TO Types {
if (!UpRefs.empty())