diff --git a/lib/AsmParser/llvmAsmParser.cpp.cvs b/lib/AsmParser/llvmAsmParser.cpp.cvs index 523d9cf6fd3..4689c5be442 100644 --- a/lib/AsmParser/llvmAsmParser.cpp.cvs +++ b/lib/AsmParser/llvmAsmParser.cpp.cvs @@ -821,7 +821,11 @@ static Value *getExistingVal(const Type *Ty, const ValID &D) { D.ConstPoolFP->convert(APFloat::IEEEsingle, APFloat::rmNearestTiesToEven, &ignored); } - return ConstantFP::get(*D.ConstPoolFP); + { + ConstantFP *tmp = ConstantFP::get(*D.ConstPoolFP); + D.destroy(); + return tmp; + } case ValID::ConstNullVal: // Is it a null value? if (!isa(Ty)) { @@ -1383,7 +1387,7 @@ Module *llvm::RunVMAsmParser(llvm::MemoryBuffer *MB) { #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED typedef union YYSTYPE -#line 982 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 986 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { llvm::Module *ModuleVal; llvm::Function *FunctionVal; @@ -1432,7 +1436,7 @@ typedef union YYSTYPE llvm::FCmpInst::Predicate FPredicate; } /* Line 187 of yacc.c. */ -#line 1436 "llvmAsmParser.tab.c" +#line 1440 "llvmAsmParser.tab.c" YYSTYPE; # define yystype YYSTYPE /* obsolescent; will be withdrawn */ # define YYSTYPE_IS_DECLARED 1 @@ -1445,7 +1449,7 @@ typedef union YYSTYPE /* Line 216 of yacc.c. */ -#line 1449 "llvmAsmParser.tab.c" +#line 1453 "llvmAsmParser.tab.c" #ifdef short # undef short @@ -1889,41 +1893,41 @@ static const yytype_int16 yyrhs[] = /* YYRLINE[YYN] -- source line where rule number YYN was defined. */ static const yytype_uint16 yyrline[] = { - 0, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, - 1148, 1149, 1149, 1149, 1149, 1149, 1149, 1150, 1150, 1150, - 1150, 1150, 1150, 1151, 1151, 1151, 1151, 1151, 1151, 1154, - 1154, 1155, 1155, 1156, 1156, 1157, 1157, 1158, 1158, 1162, - 1162, 1163, 1163, 1164, 1164, 1165, 1165, 1166, 1166, 1167, - 1167, 1168, 1168, 1169, 1170, 1173, 1173, 1173, 1174, 1174, - 1176, 1177, 1181, 1185, 1190, 1196, 1196, 1198, 1199, 1204, - 1210, 1211, 1212, 1213, 1214, 1215, 1219, 1220, 1221, 1225, - 1226, 1227, 1228, 1232, 1233, 1234, 1238, 1239, 1240, 1241, - 1242, 1246, 1247, 1248, 1251, 1252, 1253, 1254, 1255, 1256, - 1257, 1264, 1265, 1266, 1267, 1268, 1269, 1270, 1271, 1272, - 1273, 1277, 1278, 1283, 1284, 1285, 1288, 1289, 1295, 1296, - 1297, 1298, 1299, 1300, 1301, 1302, 1303, 1304, 1307, 1308, - 1314, 1315, 1322, 1323, 1329, 1330, 1339, 1347, 1348, 1353, - 1354, 1355, 1360, 1373, 1373, 1373, 1373, 1373, 1373, 1373, - 1376, 1380, 1384, 1391, 1396, 1404, 1439, 1470, 1475, 1485, - 1495, 1499, 1509, 1516, 1525, 1532, 1537, 1542, 1549, 1550, - 1557, 1564, 1572, 1578, 1590, 1618, 1634, 1661, 1689, 1715, - 1735, 1761, 1781, 1793, 1800, 1866, 1876, 1886, 1897, 1910, - 1921, 1935, 1942, 1949, 1967, 1979, 2000, 2008, 2014, 2025, - 2030, 2035, 2040, 2045, 2051, 2057, 2063, 2071, 2082, 2086, - 2094, 2094, 2097, 2097, 2100, 2112, 2133, 2138, 2146, 2147, - 2151, 2151, 2155, 2155, 2158, 2161, 2185, 2197, 2196, 2208, - 2207, 2217, 2216, 2227, 2267, 2270, 2276, 2286, 2290, 2295, - 2297, 2302, 2307, 2316, 2326, 2337, 2341, 2350, 2359, 2364, - 2513, 2513, 2515, 2524, 2524, 2526, 2531, 2543, 2547, 2552, - 2556, 2560, 2565, 2570, 2574, 2578, 2582, 2586, 2590, 2594, - 2616, 2638, 2644, 2657, 2669, 2674, 2686, 2692, 2696, 2706, - 2710, 2714, 2719, 2726, 2726, 2732, 2741, 2746, 2751, 2755, - 2764, 2773, 2786, 2795, 2799, 2807, 2827, 2831, 2836, 2847, - 2866, 2875, 2979, 2983, 2990, 3001, 3014, 3023, 3036, 3047, - 3057, 3068, 3076, 3086, 3093, 3096, 3097, 3105, 3111, 3120, - 3124, 3129, 3145, 3162, 3174, 3186, 3200, 3214, 3226, 3247, - 3254, 3260, 3266, 3272, 3287, 3397, 3402, 3406, 3413, 3420, - 3430, 3437, 3447, 3455, 3469, 3486, 3500, 3515, 3530 + 0, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, + 1152, 1153, 1153, 1153, 1153, 1153, 1153, 1154, 1154, 1154, + 1154, 1154, 1154, 1155, 1155, 1155, 1155, 1155, 1155, 1158, + 1158, 1159, 1159, 1160, 1160, 1161, 1161, 1162, 1162, 1166, + 1166, 1167, 1167, 1168, 1168, 1169, 1169, 1170, 1170, 1171, + 1171, 1172, 1172, 1173, 1174, 1177, 1177, 1177, 1178, 1178, + 1180, 1181, 1185, 1189, 1194, 1200, 1200, 1202, 1203, 1208, + 1214, 1215, 1216, 1217, 1218, 1219, 1223, 1224, 1225, 1229, + 1230, 1231, 1232, 1236, 1237, 1238, 1242, 1243, 1244, 1245, + 1246, 1250, 1251, 1252, 1255, 1256, 1257, 1258, 1259, 1260, + 1261, 1268, 1269, 1270, 1271, 1272, 1273, 1274, 1275, 1276, + 1277, 1281, 1282, 1287, 1288, 1289, 1292, 1293, 1299, 1300, + 1301, 1302, 1303, 1304, 1305, 1306, 1307, 1308, 1311, 1312, + 1318, 1319, 1326, 1327, 1333, 1334, 1343, 1351, 1352, 1357, + 1358, 1359, 1364, 1377, 1377, 1377, 1377, 1377, 1377, 1377, + 1380, 1384, 1388, 1395, 1400, 1408, 1443, 1474, 1479, 1489, + 1499, 1503, 1513, 1520, 1529, 1536, 1541, 1546, 1553, 1554, + 1561, 1568, 1576, 1582, 1594, 1622, 1638, 1665, 1693, 1719, + 1739, 1765, 1785, 1797, 1804, 1870, 1880, 1890, 1901, 1914, + 1925, 1939, 1946, 1953, 1971, 1983, 2004, 2012, 2018, 2029, + 2034, 2039, 2044, 2049, 2055, 2061, 2067, 2075, 2086, 2090, + 2098, 2098, 2101, 2101, 2104, 2116, 2137, 2142, 2150, 2151, + 2155, 2155, 2159, 2159, 2162, 2165, 2189, 2201, 2200, 2212, + 2211, 2221, 2220, 2231, 2271, 2274, 2280, 2290, 2294, 2299, + 2301, 2306, 2311, 2320, 2330, 2341, 2345, 2354, 2363, 2368, + 2517, 2517, 2519, 2528, 2528, 2530, 2535, 2547, 2551, 2556, + 2560, 2564, 2569, 2574, 2578, 2582, 2586, 2590, 2594, 2598, + 2620, 2642, 2648, 2661, 2673, 2678, 2690, 2696, 2700, 2710, + 2714, 2718, 2723, 2730, 2730, 2736, 2745, 2750, 2755, 2759, + 2768, 2777, 2790, 2799, 2803, 2811, 2831, 2835, 2840, 2851, + 2870, 2879, 2983, 2987, 2994, 3005, 3018, 3027, 3040, 3051, + 3061, 3072, 3080, 3090, 3097, 3100, 3101, 3109, 3115, 3124, + 3128, 3133, 3149, 3166, 3178, 3190, 3204, 3218, 3230, 3251, + 3258, 3264, 3270, 3276, 3291, 3401, 3406, 3410, 3417, 3424, + 3434, 3441, 3451, 3459, 3473, 3490, 3504, 3519, 3534 }; #endif @@ -3649,152 +3653,152 @@ yyreduce: switch (yyn) { case 29: -#line 1154 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1158 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.IPredicate) = ICmpInst::ICMP_EQ; ;} break; case 30: -#line 1154 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1158 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.IPredicate) = ICmpInst::ICMP_NE; ;} break; case 31: -#line 1155 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1159 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.IPredicate) = ICmpInst::ICMP_SLT; ;} break; case 32: -#line 1155 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1159 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.IPredicate) = ICmpInst::ICMP_SGT; ;} break; case 33: -#line 1156 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1160 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.IPredicate) = ICmpInst::ICMP_SLE; ;} break; case 34: -#line 1156 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1160 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.IPredicate) = ICmpInst::ICMP_SGE; ;} break; case 35: -#line 1157 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1161 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.IPredicate) = ICmpInst::ICMP_ULT; ;} break; case 36: -#line 1157 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1161 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.IPredicate) = ICmpInst::ICMP_UGT; ;} break; case 37: -#line 1158 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1162 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.IPredicate) = ICmpInst::ICMP_ULE; ;} break; case 38: -#line 1158 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1162 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.IPredicate) = ICmpInst::ICMP_UGE; ;} break; case 39: -#line 1162 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1166 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.FPredicate) = FCmpInst::FCMP_OEQ; ;} break; case 40: -#line 1162 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1166 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.FPredicate) = FCmpInst::FCMP_ONE; ;} break; case 41: -#line 1163 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1167 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.FPredicate) = FCmpInst::FCMP_OLT; ;} break; case 42: -#line 1163 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1167 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.FPredicate) = FCmpInst::FCMP_OGT; ;} break; case 43: -#line 1164 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1168 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.FPredicate) = FCmpInst::FCMP_OLE; ;} break; case 44: -#line 1164 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1168 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.FPredicate) = FCmpInst::FCMP_OGE; ;} break; case 45: -#line 1165 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1169 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.FPredicate) = FCmpInst::FCMP_ORD; ;} break; case 46: -#line 1165 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1169 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.FPredicate) = FCmpInst::FCMP_UNO; ;} break; case 47: -#line 1166 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1170 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.FPredicate) = FCmpInst::FCMP_UEQ; ;} break; case 48: -#line 1166 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1170 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.FPredicate) = FCmpInst::FCMP_UNE; ;} break; case 49: -#line 1167 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1171 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.FPredicate) = FCmpInst::FCMP_ULT; ;} break; case 50: -#line 1167 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1171 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.FPredicate) = FCmpInst::FCMP_UGT; ;} break; case 51: -#line 1168 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1172 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.FPredicate) = FCmpInst::FCMP_ULE; ;} break; case 52: -#line 1168 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1172 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.FPredicate) = FCmpInst::FCMP_UGE; ;} break; case 53: -#line 1169 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1173 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.FPredicate) = FCmpInst::FCMP_TRUE; ;} break; case 54: -#line 1170 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1174 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.FPredicate) = FCmpInst::FCMP_FALSE; ;} break; case 59: -#line 1174 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1178 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.StrVal) = 0; ;} break; case 60: -#line 1176 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1180 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.UIntVal)=(yyvsp[(3) - (4)].UInt64Val); ;} break; case 61: -#line 1177 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1181 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.UIntVal)=0; ;} break; case 62: -#line 1181 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1185 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.StrVal) = (yyvsp[(1) - (2)].StrVal); CHECK_FOR_ERROR @@ -3802,7 +3806,7 @@ yyreduce: break; case 63: -#line 1185 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1189 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.StrVal) = 0; CHECK_FOR_ERROR @@ -3810,7 +3814,7 @@ yyreduce: break; case 64: -#line 1190 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1194 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.UIntVal) = (yyvsp[(1) - (2)].UIntVal); CHECK_FOR_ERROR @@ -3818,7 +3822,7 @@ yyreduce: break; case 68: -#line 1199 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1203 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.StrVal) = 0; CHECK_FOR_ERROR @@ -3826,7 +3830,7 @@ yyreduce: break; case 69: -#line 1204 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1208 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.StrVal) = (yyvsp[(1) - (2)].StrVal); CHECK_FOR_ERROR @@ -3834,157 +3838,157 @@ yyreduce: break; case 70: -#line 1210 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1214 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.Linkage) = GlobalValue::InternalLinkage; ;} break; case 71: -#line 1211 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1215 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.Linkage) = GlobalValue::WeakLinkage; ;} break; case 72: -#line 1212 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1216 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.Linkage) = GlobalValue::LinkOnceLinkage; ;} break; case 73: -#line 1213 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1217 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.Linkage) = GlobalValue::AppendingLinkage; ;} break; case 74: -#line 1214 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1218 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.Linkage) = GlobalValue::DLLExportLinkage; ;} break; case 75: -#line 1215 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1219 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.Linkage) = GlobalValue::CommonLinkage; ;} break; case 76: -#line 1219 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1223 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.Linkage) = GlobalValue::DLLImportLinkage; ;} break; case 77: -#line 1220 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1224 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.Linkage) = GlobalValue::ExternalWeakLinkage; ;} break; case 78: -#line 1221 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1225 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.Linkage) = GlobalValue::ExternalLinkage; ;} break; case 79: -#line 1225 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1229 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.Visibility) = GlobalValue::DefaultVisibility; ;} break; case 80: -#line 1226 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1230 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.Visibility) = GlobalValue::DefaultVisibility; ;} break; case 81: -#line 1227 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1231 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.Visibility) = GlobalValue::HiddenVisibility; ;} break; case 82: -#line 1228 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1232 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.Visibility) = GlobalValue::ProtectedVisibility; ;} break; case 83: -#line 1232 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1236 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.Linkage) = GlobalValue::ExternalLinkage; ;} break; case 84: -#line 1233 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1237 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.Linkage) = GlobalValue::DLLImportLinkage; ;} break; case 85: -#line 1234 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1238 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.Linkage) = GlobalValue::ExternalWeakLinkage; ;} break; case 86: -#line 1238 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1242 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.Linkage) = GlobalValue::ExternalLinkage; ;} break; case 87: -#line 1239 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1243 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.Linkage) = GlobalValue::InternalLinkage; ;} break; case 88: -#line 1240 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1244 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.Linkage) = GlobalValue::LinkOnceLinkage; ;} break; case 89: -#line 1241 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1245 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.Linkage) = GlobalValue::WeakLinkage; ;} break; case 90: -#line 1242 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1246 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.Linkage) = GlobalValue::DLLExportLinkage; ;} break; case 91: -#line 1246 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1250 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.Linkage) = GlobalValue::ExternalLinkage; ;} break; case 92: -#line 1247 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1251 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.Linkage) = GlobalValue::WeakLinkage; ;} break; case 93: -#line 1248 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1252 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.Linkage) = GlobalValue::InternalLinkage; ;} break; case 94: -#line 1251 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1255 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.UIntVal) = CallingConv::C; ;} break; case 95: -#line 1252 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1256 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.UIntVal) = CallingConv::C; ;} break; case 96: -#line 1253 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1257 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.UIntVal) = CallingConv::Fast; ;} break; case 97: -#line 1254 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1258 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.UIntVal) = CallingConv::Cold; ;} break; case 98: -#line 1255 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1259 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.UIntVal) = CallingConv::X86_StdCall; ;} break; case 99: -#line 1256 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1260 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.UIntVal) = CallingConv::X86_FastCall; ;} break; case 100: -#line 1257 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1261 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { if ((unsigned)(yyvsp[(2) - (2)].UInt64Val) != (yyvsp[(2) - (2)].UInt64Val)) GEN_ERROR("Calling conv too large"); @@ -3994,176 +3998,176 @@ yyreduce: break; case 101: -#line 1264 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1268 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.Attributes) = Attribute::ZExt; ;} break; case 102: -#line 1265 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1269 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.Attributes) = Attribute::ZExt; ;} break; case 103: -#line 1266 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1270 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.Attributes) = Attribute::SExt; ;} break; case 104: -#line 1267 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1271 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.Attributes) = Attribute::SExt; ;} break; case 105: -#line 1268 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1272 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.Attributes) = Attribute::InReg; ;} break; case 106: -#line 1269 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1273 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.Attributes) = Attribute::StructRet; ;} break; case 107: -#line 1270 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1274 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.Attributes) = Attribute::NoAlias; ;} break; case 108: -#line 1271 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1275 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.Attributes) = Attribute::ByVal; ;} break; case 109: -#line 1272 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1276 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.Attributes) = Attribute::Nest; ;} break; case 110: -#line 1273 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1277 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.Attributes) = Attribute::constructAlignmentFromInt((yyvsp[(2) - (2)].UInt64Val)); ;} break; case 111: -#line 1277 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1281 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.Attributes) = Attribute::None; ;} break; case 112: -#line 1278 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1282 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.Attributes) = (yyvsp[(1) - (2)].Attributes) | (yyvsp[(2) - (2)].Attributes); ;} break; case 113: -#line 1283 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1287 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.Attributes) = Attribute::InReg; ;} break; case 114: -#line 1284 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1288 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.Attributes) = Attribute::ZExt; ;} break; case 115: -#line 1285 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1289 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.Attributes) = Attribute::SExt; ;} break; case 116: -#line 1288 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1292 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.Attributes) = Attribute::None; ;} break; case 117: -#line 1289 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1293 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.Attributes) = (yyvsp[(1) - (2)].Attributes) | (yyvsp[(2) - (2)].Attributes); ;} break; case 118: -#line 1295 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1299 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.Attributes) = Attribute::NoReturn; ;} break; case 119: -#line 1296 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1300 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.Attributes) = Attribute::NoUnwind; ;} break; case 120: -#line 1297 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1301 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.Attributes) = Attribute::InReg; ;} break; case 121: -#line 1298 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1302 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.Attributes) = Attribute::ZExt; ;} break; case 122: -#line 1299 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1303 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.Attributes) = Attribute::SExt; ;} break; case 123: -#line 1300 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1304 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.Attributes) = Attribute::ReadNone; ;} break; case 124: -#line 1301 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1305 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.Attributes) = Attribute::ReadOnly; ;} break; case 125: -#line 1302 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1306 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.Attributes) = Attribute::NoInline; ;} break; case 126: -#line 1303 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1307 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.Attributes) = Attribute::AlwaysInline; ;} break; case 127: -#line 1304 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1308 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.Attributes) = Attribute::OptimizeForSize; ;} break; case 128: -#line 1307 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1311 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.Attributes) = Attribute::None; ;} break; case 129: -#line 1308 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1312 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.Attributes) = (yyvsp[(1) - (2)].Attributes) | (yyvsp[(2) - (2)].Attributes); ;} break; case 130: -#line 1314 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1318 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.StrVal) = 0; ;} break; case 131: -#line 1315 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1319 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.StrVal) = (yyvsp[(2) - (2)].StrVal); ;} break; case 132: -#line 1322 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1326 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.UIntVal) = 0; ;} break; case 133: -#line 1323 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1327 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.UIntVal) = (yyvsp[(2) - (2)].UInt64Val); if ((yyval.UIntVal) != 0 && !isPowerOf2_32((yyval.UIntVal))) @@ -4173,12 +4177,12 @@ yyreduce: break; case 134: -#line 1329 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1333 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.UIntVal) = 0; ;} break; case 135: -#line 1330 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1334 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.UIntVal) = (yyvsp[(3) - (3)].UInt64Val); if ((yyval.UIntVal) != 0 && !isPowerOf2_32((yyval.UIntVal))) @@ -4188,7 +4192,7 @@ yyreduce: break; case 136: -#line 1339 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1343 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { for (unsigned i = 0, e = (yyvsp[(2) - (2)].StrVal)->length(); i != e; ++i) if ((*(yyvsp[(2) - (2)].StrVal))[i] == '"' || (*(yyvsp[(2) - (2)].StrVal))[i] == '\\') @@ -4199,27 +4203,27 @@ yyreduce: break; case 137: -#line 1347 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1351 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.StrVal) = 0; ;} break; case 138: -#line 1348 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1352 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.StrVal) = (yyvsp[(1) - (1)].StrVal); ;} break; case 139: -#line 1353 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1357 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" {;} break; case 140: -#line 1354 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1358 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" {;} break; case 141: -#line 1355 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1359 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { CurGV->setSection(*(yyvsp[(1) - (1)].StrVal)); delete (yyvsp[(1) - (1)].StrVal); @@ -4228,7 +4232,7 @@ yyreduce: break; case 142: -#line 1360 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1364 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { if ((yyvsp[(2) - (2)].UInt64Val) != 0 && !isPowerOf2_32((yyvsp[(2) - (2)].UInt64Val))) GEN_ERROR("Alignment must be a power of two"); @@ -4238,7 +4242,7 @@ yyreduce: break; case 150: -#line 1376 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1380 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.TypeVal) = new PATypeHolder(OpaqueType::get()); CHECK_FOR_ERROR @@ -4246,7 +4250,7 @@ yyreduce: break; case 151: -#line 1380 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1384 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.TypeVal) = new PATypeHolder((yyvsp[(1) - (1)].PrimType)); CHECK_FOR_ERROR @@ -4254,7 +4258,7 @@ yyreduce: break; case 152: -#line 1384 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1388 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { // Pointer type? if (*(yyvsp[(1) - (3)].TypeVal) == Type::LabelTy) GEN_ERROR("Cannot form a pointer to a basic block"); @@ -4265,7 +4269,7 @@ yyreduce: break; case 153: -#line 1391 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1395 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { // Named types are also simple types... const Type* tmp = getTypeVal((yyvsp[(1) - (1)].ValIDVal)); CHECK_FOR_ERROR @@ -4274,7 +4278,7 @@ yyreduce: break; case 154: -#line 1396 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1400 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { // Type UpReference if ((yyvsp[(2) - (2)].UInt64Val) > (uint64_t)~0U) GEN_ERROR("Value out of range"); OpaqueType *OT = OpaqueType::get(); // Use temporary placeholder @@ -4286,7 +4290,7 @@ yyreduce: break; case 155: -#line 1404 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1408 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { // Allow but ignore attributes on function types; this permits auto-upgrade. // FIXME: remove in LLVM 3.0. @@ -4325,7 +4329,7 @@ yyreduce: break; case 156: -#line 1439 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1443 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { // Allow but ignore attributes on function types; this permits auto-upgrade. // FIXME: remove in LLVM 3.0. @@ -4359,7 +4363,7 @@ yyreduce: break; case 157: -#line 1470 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1474 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { // Sized array type? (yyval.TypeVal) = new PATypeHolder(HandleUpRefs(ArrayType::get(*(yyvsp[(4) - (5)].TypeVal), (yyvsp[(2) - (5)].UInt64Val)))); delete (yyvsp[(4) - (5)].TypeVal); @@ -4368,7 +4372,7 @@ yyreduce: break; case 158: -#line 1475 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1479 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { // Vector type? const llvm::Type* ElemTy = (yyvsp[(4) - (5)].TypeVal)->get(); if ((unsigned)(yyvsp[(2) - (5)].UInt64Val) != (yyvsp[(2) - (5)].UInt64Val)) @@ -4382,7 +4386,7 @@ yyreduce: break; case 159: -#line 1485 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1489 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { // Structure type? std::vector Elements; for (std::list::iterator I = (yyvsp[(2) - (3)].TypeList)->begin(), @@ -4396,7 +4400,7 @@ yyreduce: break; case 160: -#line 1495 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1499 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { // Empty structure type? (yyval.TypeVal) = new PATypeHolder(StructType::get(std::vector())); CHECK_FOR_ERROR @@ -4404,7 +4408,7 @@ yyreduce: break; case 161: -#line 1499 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1503 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { std::vector Elements; for (std::list::iterator I = (yyvsp[(3) - (5)].TypeList)->begin(), @@ -4418,7 +4422,7 @@ yyreduce: break; case 162: -#line 1509 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1513 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { // Empty structure type? (yyval.TypeVal) = new PATypeHolder(StructType::get(std::vector(), true)); CHECK_FOR_ERROR @@ -4426,7 +4430,7 @@ yyreduce: break; case 163: -#line 1516 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1520 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { // Allow but ignore attributes on function types; this permits auto-upgrade. // FIXME: remove in LLVM 3.0. @@ -4436,7 +4440,7 @@ yyreduce: break; case 164: -#line 1525 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1529 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { if (!UpRefs.empty()) GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (1)].TypeVal))->getDescription()); @@ -4447,14 +4451,14 @@ yyreduce: break; case 165: -#line 1532 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1536 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.TypeVal) = new PATypeHolder(Type::VoidTy); ;} break; case 166: -#line 1537 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1541 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.TypeWithAttrsList) = new TypeWithAttrsList(); (yyval.TypeWithAttrsList)->push_back((yyvsp[(1) - (1)].TypeWithAttrs)); @@ -4463,7 +4467,7 @@ yyreduce: break; case 167: -#line 1542 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1546 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { ((yyval.TypeWithAttrsList)=(yyvsp[(1) - (3)].TypeWithAttrsList))->push_back((yyvsp[(3) - (3)].TypeWithAttrs)); CHECK_FOR_ERROR @@ -4471,7 +4475,7 @@ yyreduce: break; case 169: -#line 1550 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1554 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.TypeWithAttrsList)=(yyvsp[(1) - (3)].TypeWithAttrsList); TypeWithAttrs TWA; TWA.Attrs = Attribute::None; @@ -4482,7 +4486,7 @@ yyreduce: break; case 170: -#line 1557 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1561 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.TypeWithAttrsList) = new TypeWithAttrsList; TypeWithAttrs TWA; TWA.Attrs = Attribute::None; @@ -4493,7 +4497,7 @@ yyreduce: break; case 171: -#line 1564 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1568 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.TypeWithAttrsList) = new TypeWithAttrsList(); CHECK_FOR_ERROR @@ -4501,7 +4505,7 @@ yyreduce: break; case 172: -#line 1572 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1576 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.TypeList) = new std::list(); (yyval.TypeList)->push_back(*(yyvsp[(1) - (1)].TypeVal)); @@ -4511,7 +4515,7 @@ yyreduce: break; case 173: -#line 1578 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1582 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { ((yyval.TypeList)=(yyvsp[(1) - (3)].TypeList))->push_back(*(yyvsp[(3) - (3)].TypeVal)); delete (yyvsp[(3) - (3)].TypeVal); @@ -4520,7 +4524,7 @@ yyreduce: break; case 174: -#line 1590 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1594 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { // Nonempty unsized arr if (!UpRefs.empty()) GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (4)].TypeVal))->getDescription()); @@ -4552,7 +4556,7 @@ yyreduce: break; case 175: -#line 1618 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1622 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { if (!UpRefs.empty()) GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (3)].TypeVal))->getDescription()); @@ -4572,7 +4576,7 @@ yyreduce: break; case 176: -#line 1634 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1638 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { if (!UpRefs.empty()) GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (3)].TypeVal))->getDescription()); @@ -4603,7 +4607,7 @@ yyreduce: break; case 177: -#line 1661 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1665 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { // Nonempty unsized arr if (!UpRefs.empty()) GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (4)].TypeVal))->getDescription()); @@ -4635,7 +4639,7 @@ yyreduce: break; case 178: -#line 1689 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1693 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { const StructType *STy = dyn_cast((yyvsp[(1) - (4)].TypeVal)->get()); if (STy == 0) @@ -4665,7 +4669,7 @@ yyreduce: break; case 179: -#line 1715 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1719 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { if (!UpRefs.empty()) GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (3)].TypeVal))->getDescription()); @@ -4689,7 +4693,7 @@ yyreduce: break; case 180: -#line 1735 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1739 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { const StructType *STy = dyn_cast((yyvsp[(1) - (6)].TypeVal)->get()); if (STy == 0) @@ -4719,7 +4723,7 @@ yyreduce: break; case 181: -#line 1761 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1765 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { if (!UpRefs.empty()) GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (5)].TypeVal))->getDescription()); @@ -4743,7 +4747,7 @@ yyreduce: break; case 182: -#line 1781 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1785 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { if (!UpRefs.empty()) GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (2)].TypeVal))->getDescription()); @@ -4759,7 +4763,7 @@ yyreduce: break; case 183: -#line 1793 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1797 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { if (!UpRefs.empty()) GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (2)].TypeVal))->getDescription()); @@ -4770,7 +4774,7 @@ yyreduce: break; case 184: -#line 1800 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1804 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { if (!UpRefs.empty()) GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (2)].TypeVal))->getDescription()); @@ -4840,7 +4844,7 @@ yyreduce: break; case 185: -#line 1866 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1870 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { if (!UpRefs.empty()) GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (2)].TypeVal))->getDescription()); @@ -4854,7 +4858,7 @@ yyreduce: break; case 186: -#line 1876 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1880 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { if (!UpRefs.empty()) GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (2)].TypeVal))->getDescription()); @@ -4868,7 +4872,7 @@ yyreduce: break; case 187: -#line 1886 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1890 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { // integral constants if (IntegerType *IT = dyn_cast((yyvsp[(1) - (2)].TypeVal)->get())) { if (!ConstantInt::isValueValidForType(IT, (yyvsp[(2) - (2)].SInt64Val))) @@ -4883,7 +4887,7 @@ yyreduce: break; case 188: -#line 1897 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1901 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { // arbitrary precision integer constants if (IntegerType *IT = dyn_cast((yyvsp[(1) - (2)].TypeVal)->get())) { if ((yyvsp[(2) - (2)].APIntVal)->getBitWidth() > IT->getBitWidth()) @@ -4900,7 +4904,7 @@ yyreduce: break; case 189: -#line 1910 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1914 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { // integral constants if (IntegerType *IT = dyn_cast((yyvsp[(1) - (2)].TypeVal)->get())) { if (!ConstantInt::isValueValidForType(IT, (yyvsp[(2) - (2)].UInt64Val))) @@ -4915,7 +4919,7 @@ yyreduce: break; case 190: -#line 1921 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1925 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { // arbitrary precision integer constants if (IntegerType *IT = dyn_cast((yyvsp[(1) - (2)].TypeVal)->get())) { if ((yyvsp[(2) - (2)].APIntVal)->getBitWidth() > IT->getBitWidth()) @@ -4933,7 +4937,7 @@ yyreduce: break; case 191: -#line 1935 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1939 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { // Boolean constants if ((yyvsp[(1) - (2)].TypeVal)->get() != Type::Int1Ty) GEN_ERROR("Constant true must have type i1"); @@ -4944,7 +4948,7 @@ yyreduce: break; case 192: -#line 1942 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1946 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { // Boolean constants if ((yyvsp[(1) - (2)].TypeVal)->get() != Type::Int1Ty) GEN_ERROR("Constant false must have type i1"); @@ -4955,7 +4959,7 @@ yyreduce: break; case 193: -#line 1949 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1953 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { // Floating point constants if (!ConstantFP::isValueValidForType((yyvsp[(1) - (2)].TypeVal)->get(), *(yyvsp[(2) - (2)].FPVal))) GEN_ERROR("Floating point constant invalid for type"); @@ -4975,7 +4979,7 @@ yyreduce: break; case 194: -#line 1967 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1971 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { if (!UpRefs.empty()) GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(5) - (6)].TypeVal))->getDescription()); @@ -4991,7 +4995,7 @@ yyreduce: break; case 195: -#line 1979 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 1983 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { if (!isa((yyvsp[(3) - (5)].ConstVal)->getType())) GEN_ERROR("GetElementPtr requires a pointer operand"); @@ -5016,7 +5020,7 @@ yyreduce: break; case 196: -#line 2000 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 2004 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { if ((yyvsp[(3) - (8)].ConstVal)->getType() != Type::Int1Ty) GEN_ERROR("Select condition must be of boolean type"); @@ -5028,7 +5032,7 @@ yyreduce: break; case 197: -#line 2008 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 2012 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { if ((yyvsp[(3) - (6)].ConstVal)->getType() != (yyvsp[(5) - (6)].ConstVal)->getType()) GEN_ERROR("Binary operator types must match"); @@ -5038,7 +5042,7 @@ yyreduce: break; case 198: -#line 2014 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 2018 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { if ((yyvsp[(3) - (6)].ConstVal)->getType() != (yyvsp[(5) - (6)].ConstVal)->getType()) GEN_ERROR("Logical operator types must match"); @@ -5053,7 +5057,7 @@ yyreduce: break; case 199: -#line 2025 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 2029 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { if ((yyvsp[(4) - (7)].ConstVal)->getType() != (yyvsp[(6) - (7)].ConstVal)->getType()) GEN_ERROR("icmp operand types must match"); @@ -5062,7 +5066,7 @@ yyreduce: break; case 200: -#line 2030 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 2034 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { if ((yyvsp[(4) - (7)].ConstVal)->getType() != (yyvsp[(6) - (7)].ConstVal)->getType()) GEN_ERROR("fcmp operand types must match"); @@ -5071,7 +5075,7 @@ yyreduce: break; case 201: -#line 2035 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 2039 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { if ((yyvsp[(4) - (7)].ConstVal)->getType() != (yyvsp[(6) - (7)].ConstVal)->getType()) GEN_ERROR("vicmp operand types must match"); @@ -5080,7 +5084,7 @@ yyreduce: break; case 202: -#line 2040 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 2044 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { if ((yyvsp[(4) - (7)].ConstVal)->getType() != (yyvsp[(6) - (7)].ConstVal)->getType()) GEN_ERROR("vfcmp operand types must match"); @@ -5089,7 +5093,7 @@ yyreduce: break; case 203: -#line 2045 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 2049 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { if (!ExtractElementInst::isValidOperands((yyvsp[(3) - (6)].ConstVal), (yyvsp[(5) - (6)].ConstVal))) GEN_ERROR("Invalid extractelement operands"); @@ -5099,7 +5103,7 @@ yyreduce: break; case 204: -#line 2051 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 2055 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { if (!InsertElementInst::isValidOperands((yyvsp[(3) - (8)].ConstVal), (yyvsp[(5) - (8)].ConstVal), (yyvsp[(7) - (8)].ConstVal))) GEN_ERROR("Invalid insertelement operands"); @@ -5109,7 +5113,7 @@ yyreduce: break; case 205: -#line 2057 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 2061 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { if (!ShuffleVectorInst::isValidOperands((yyvsp[(3) - (8)].ConstVal), (yyvsp[(5) - (8)].ConstVal), (yyvsp[(7) - (8)].ConstVal))) GEN_ERROR("Invalid shufflevector operands"); @@ -5119,7 +5123,7 @@ yyreduce: break; case 206: -#line 2063 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 2067 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { if (!isa((yyvsp[(3) - (5)].ConstVal)->getType()) && !isa((yyvsp[(3) - (5)].ConstVal)->getType())) GEN_ERROR("ExtractValue requires an aggregate operand"); @@ -5131,7 +5135,7 @@ yyreduce: break; case 207: -#line 2071 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 2075 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { if (!isa((yyvsp[(3) - (7)].ConstVal)->getType()) && !isa((yyvsp[(3) - (7)].ConstVal)->getType())) GEN_ERROR("InsertValue requires an aggregate operand"); @@ -5143,7 +5147,7 @@ yyreduce: break; case 208: -#line 2082 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 2086 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { ((yyval.ConstVector) = (yyvsp[(1) - (3)].ConstVector))->push_back((yyvsp[(3) - (3)].ConstVal)); CHECK_FOR_ERROR @@ -5151,7 +5155,7 @@ yyreduce: break; case 209: -#line 2086 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 2090 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.ConstVector) = new std::vector(); (yyval.ConstVector)->push_back((yyvsp[(1) - (1)].ConstVal)); @@ -5160,27 +5164,27 @@ yyreduce: break; case 210: -#line 2094 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 2098 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.BoolVal) = false; ;} break; case 211: -#line 2094 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 2098 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.BoolVal) = true; ;} break; case 212: -#line 2097 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 2101 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.BoolVal) = true; ;} break; case 213: -#line 2097 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 2101 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.BoolVal) = false; ;} break; case 214: -#line 2100 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 2104 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { const Type* VTy = (yyvsp[(1) - (2)].TypeVal)->get(); Value *V = getVal(VTy, (yyvsp[(2) - (2)].ValIDVal)); @@ -5196,7 +5200,7 @@ yyreduce: break; case 215: -#line 2112 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 2116 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { Constant *Val = (yyvsp[(3) - (6)].ConstVal); const Type *DestTy = (yyvsp[(5) - (6)].TypeVal)->get(); @@ -5212,7 +5216,7 @@ yyreduce: break; case 216: -#line 2133 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 2137 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.ModuleVal) = ParserResult = CurModule.CurrentModule; CurModule.ModuleDone(); @@ -5221,7 +5225,7 @@ yyreduce: break; case 217: -#line 2138 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 2142 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.ModuleVal) = ParserResult = CurModule.CurrentModule; CurModule.ModuleDone(); @@ -5230,12 +5234,12 @@ yyreduce: break; case 220: -#line 2151 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 2155 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { CurFun.isDeclare = false; ;} break; case 221: -#line 2151 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 2155 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { CurFun.FunctionDone(); CHECK_FOR_ERROR @@ -5243,26 +5247,26 @@ yyreduce: break; case 222: -#line 2155 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 2159 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { CurFun.isDeclare = true; ;} break; case 223: -#line 2155 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 2159 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { CHECK_FOR_ERROR ;} break; case 224: -#line 2158 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 2162 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { CHECK_FOR_ERROR ;} break; case 225: -#line 2161 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 2165 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { if (!UpRefs.empty()) GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(3) - (3)].TypeVal))->getDescription()); @@ -5290,7 +5294,7 @@ yyreduce: break; case 226: -#line 2185 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 2189 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { ResolveTypeTo((yyvsp[(1) - (3)].StrVal), (yyvsp[(3) - (3)].PrimType)); @@ -5305,7 +5309,7 @@ yyreduce: break; case 227: -#line 2197 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 2201 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { /* "Externally Visible" Linkage */ if ((yyvsp[(5) - (6)].ConstVal) == 0) @@ -5317,14 +5321,14 @@ yyreduce: break; case 228: -#line 2204 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 2208 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { CurGV = 0; ;} break; case 229: -#line 2208 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 2212 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { if ((yyvsp[(6) - (7)].ConstVal) == 0) GEN_ERROR("Global value initializer is not a constant"); @@ -5334,14 +5338,14 @@ yyreduce: break; case 230: -#line 2213 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 2217 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { CurGV = 0; ;} break; case 231: -#line 2217 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 2221 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { if (!UpRefs.empty()) GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(6) - (7)].TypeVal))->getDescription()); @@ -5352,7 +5356,7 @@ yyreduce: break; case 232: -#line 2223 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 2227 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { CurGV = 0; CHECK_FOR_ERROR @@ -5360,7 +5364,7 @@ yyreduce: break; case 233: -#line 2227 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 2231 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { std::string Name; if ((yyvsp[(1) - (5)].StrVal)) { @@ -5404,21 +5408,21 @@ yyreduce: break; case 234: -#line 2267 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 2271 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { CHECK_FOR_ERROR ;} break; case 235: -#line 2270 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 2274 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { CHECK_FOR_ERROR ;} break; case 236: -#line 2276 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 2280 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { const std::string &AsmSoFar = CurModule.CurrentModule->getModuleInlineAsm(); if (AsmSoFar.empty()) @@ -5431,7 +5435,7 @@ yyreduce: break; case 237: -#line 2286 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 2290 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { CurModule.CurrentModule->setTargetTriple(*(yyvsp[(3) - (3)].StrVal)); delete (yyvsp[(3) - (3)].StrVal); @@ -5439,7 +5443,7 @@ yyreduce: break; case 238: -#line 2290 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 2294 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { CurModule.CurrentModule->setDataLayout(*(yyvsp[(3) - (3)].StrVal)); delete (yyvsp[(3) - (3)].StrVal); @@ -5447,7 +5451,7 @@ yyreduce: break; case 240: -#line 2297 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 2301 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { CurModule.CurrentModule->addLibrary(*(yyvsp[(3) - (3)].StrVal)); delete (yyvsp[(3) - (3)].StrVal); @@ -5456,7 +5460,7 @@ yyreduce: break; case 241: -#line 2302 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 2306 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { CurModule.CurrentModule->addLibrary(*(yyvsp[(1) - (1)].StrVal)); delete (yyvsp[(1) - (1)].StrVal); @@ -5465,14 +5469,14 @@ yyreduce: break; case 242: -#line 2307 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 2311 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { CHECK_FOR_ERROR ;} break; case 243: -#line 2316 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 2320 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { if (!UpRefs.empty()) GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(3) - (5)].TypeVal))->getDescription()); @@ -5486,7 +5490,7 @@ yyreduce: break; case 244: -#line 2326 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 2330 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { if (!UpRefs.empty()) GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (3)].TypeVal))->getDescription()); @@ -5500,7 +5504,7 @@ yyreduce: break; case 245: -#line 2337 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 2341 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.ArgList) = (yyvsp[(1) - (1)].ArgList); CHECK_FOR_ERROR @@ -5508,7 +5512,7 @@ yyreduce: break; case 246: -#line 2341 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 2345 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.ArgList) = (yyvsp[(1) - (3)].ArgList); struct ArgListEntry E; @@ -5521,7 +5525,7 @@ yyreduce: break; case 247: -#line 2350 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 2354 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.ArgList) = new ArgListType; struct ArgListEntry E; @@ -5534,7 +5538,7 @@ yyreduce: break; case 248: -#line 2359 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 2363 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.ArgList) = 0; CHECK_FOR_ERROR @@ -5542,7 +5546,7 @@ yyreduce: break; case 249: -#line 2365 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 2369 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { std::string FunctionName(*(yyvsp[(4) - (11)].StrVal)); delete (yyvsp[(4) - (11)].StrVal); // Free strdup'd memory! @@ -5693,7 +5697,7 @@ yyreduce: break; case 252: -#line 2515 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 2519 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.FunctionVal) = CurFun.CurrentFunction; @@ -5705,7 +5709,7 @@ yyreduce: break; case 255: -#line 2526 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 2530 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.FunctionVal) = (yyvsp[(1) - (2)].FunctionVal); CHECK_FOR_ERROR @@ -5713,7 +5717,7 @@ yyreduce: break; case 256: -#line 2531 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 2535 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { CurFun.CurrentFunction->setLinkage((yyvsp[(1) - (3)].Linkage)); CurFun.CurrentFunction->setVisibility((yyvsp[(2) - (3)].Visibility)); @@ -5724,7 +5728,7 @@ yyreduce: break; case 257: -#line 2543 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 2547 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.BoolVal) = false; CHECK_FOR_ERROR @@ -5732,7 +5736,7 @@ yyreduce: break; case 258: -#line 2547 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 2551 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.BoolVal) = true; CHECK_FOR_ERROR @@ -5740,7 +5744,7 @@ yyreduce: break; case 259: -#line 2552 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 2556 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { // A reference to a direct constant (yyval.ValIDVal) = ValID::create((yyvsp[(1) - (1)].SInt64Val)); CHECK_FOR_ERROR @@ -5748,7 +5752,7 @@ yyreduce: break; case 260: -#line 2556 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 2560 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.ValIDVal) = ValID::create((yyvsp[(1) - (1)].UInt64Val)); CHECK_FOR_ERROR @@ -5756,7 +5760,7 @@ yyreduce: break; case 261: -#line 2560 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 2564 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { // arbitrary precision integer constants (yyval.ValIDVal) = ValID::create(*(yyvsp[(1) - (1)].APIntVal), true); delete (yyvsp[(1) - (1)].APIntVal); @@ -5765,7 +5769,7 @@ yyreduce: break; case 262: -#line 2565 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 2569 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { // arbitrary precision integer constants (yyval.ValIDVal) = ValID::create(*(yyvsp[(1) - (1)].APIntVal), false); delete (yyvsp[(1) - (1)].APIntVal); @@ -5774,7 +5778,7 @@ yyreduce: break; case 263: -#line 2570 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 2574 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { // Perhaps it's an FP constant? (yyval.ValIDVal) = ValID::create((yyvsp[(1) - (1)].FPVal)); CHECK_FOR_ERROR @@ -5782,7 +5786,7 @@ yyreduce: break; case 264: -#line 2574 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 2578 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.ValIDVal) = ValID::create(ConstantInt::getTrue()); CHECK_FOR_ERROR @@ -5790,7 +5794,7 @@ yyreduce: break; case 265: -#line 2578 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 2582 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.ValIDVal) = ValID::create(ConstantInt::getFalse()); CHECK_FOR_ERROR @@ -5798,7 +5802,7 @@ yyreduce: break; case 266: -#line 2582 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 2586 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.ValIDVal) = ValID::createNull(); CHECK_FOR_ERROR @@ -5806,7 +5810,7 @@ yyreduce: break; case 267: -#line 2586 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 2590 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.ValIDVal) = ValID::createUndef(); CHECK_FOR_ERROR @@ -5814,7 +5818,7 @@ yyreduce: break; case 268: -#line 2590 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 2594 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { // A vector zero constant. (yyval.ValIDVal) = ValID::createZeroInit(); CHECK_FOR_ERROR @@ -5822,7 +5826,7 @@ yyreduce: break; case 269: -#line 2594 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 2598 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { // Nonempty unsized packed vector const Type *ETy = (*(yyvsp[(2) - (3)].ConstVector))[0]->getType(); unsigned NumElements = (yyvsp[(2) - (3)].ConstVector)->size(); @@ -5848,7 +5852,7 @@ yyreduce: break; case 270: -#line 2616 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 2620 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { // Nonempty unsized arr const Type *ETy = (*(yyvsp[(2) - (3)].ConstVector))[0]->getType(); uint64_t NumElements = (yyvsp[(2) - (3)].ConstVector)->size(); @@ -5874,7 +5878,7 @@ yyreduce: break; case 271: -#line 2638 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 2642 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { // Use undef instead of an array because it's inconvenient to determine // the element type at this point, there being no elements to examine. @@ -5884,7 +5888,7 @@ yyreduce: break; case 272: -#line 2644 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 2648 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { uint64_t NumElements = (yyvsp[(2) - (2)].StrVal)->length(); const Type *ETy = Type::Int8Ty; @@ -5901,7 +5905,7 @@ yyreduce: break; case 273: -#line 2657 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 2661 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { std::vector Elements((yyvsp[(2) - (3)].ConstVector)->size()); for (unsigned i = 0, e = (yyvsp[(2) - (3)].ConstVector)->size(); i != e; ++i) @@ -5917,7 +5921,7 @@ yyreduce: break; case 274: -#line 2669 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 2673 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { const StructType *STy = StructType::get(std::vector()); (yyval.ValIDVal) = ValID::create(ConstantStruct::get(STy, std::vector())); @@ -5926,7 +5930,7 @@ yyreduce: break; case 275: -#line 2674 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 2678 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { std::vector Elements((yyvsp[(3) - (5)].ConstVector)->size()); for (unsigned i = 0, e = (yyvsp[(3) - (5)].ConstVector)->size(); i != e; ++i) @@ -5942,7 +5946,7 @@ yyreduce: break; case 276: -#line 2686 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 2690 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { const StructType *STy = StructType::get(std::vector(), /*isPacked=*/true); @@ -5952,7 +5956,7 @@ yyreduce: break; case 277: -#line 2692 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 2696 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.ValIDVal) = ValID::create((yyvsp[(1) - (1)].ConstVal)); CHECK_FOR_ERROR @@ -5960,7 +5964,7 @@ yyreduce: break; case 278: -#line 2696 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 2700 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.ValIDVal) = ValID::createInlineAsm(*(yyvsp[(3) - (5)].StrVal), *(yyvsp[(5) - (5)].StrVal), (yyvsp[(2) - (5)].BoolVal)); delete (yyvsp[(3) - (5)].StrVal); @@ -5970,7 +5974,7 @@ yyreduce: break; case 279: -#line 2706 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 2710 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { // Is it an integer reference...? (yyval.ValIDVal) = ValID::createLocalID((yyvsp[(1) - (1)].UIntVal)); CHECK_FOR_ERROR @@ -5978,7 +5982,7 @@ yyreduce: break; case 280: -#line 2710 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 2714 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.ValIDVal) = ValID::createGlobalID((yyvsp[(1) - (1)].UIntVal)); CHECK_FOR_ERROR @@ -5986,7 +5990,7 @@ yyreduce: break; case 281: -#line 2714 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 2718 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { // Is it a named reference...? (yyval.ValIDVal) = ValID::createLocalName(*(yyvsp[(1) - (1)].StrVal)); delete (yyvsp[(1) - (1)].StrVal); @@ -5995,7 +5999,7 @@ yyreduce: break; case 282: -#line 2719 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 2723 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { // Is it a named reference...? (yyval.ValIDVal) = ValID::createGlobalName(*(yyvsp[(1) - (1)].StrVal)); delete (yyvsp[(1) - (1)].StrVal); @@ -6004,7 +6008,7 @@ yyreduce: break; case 285: -#line 2732 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 2736 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { if (!UpRefs.empty()) GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (2)].TypeVal))->getDescription()); @@ -6015,7 +6019,7 @@ yyreduce: break; case 286: -#line 2741 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 2745 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.ValueList) = new std::vector(); (yyval.ValueList)->push_back((yyvsp[(1) - (1)].ValueVal)); @@ -6024,7 +6028,7 @@ yyreduce: break; case 287: -#line 2746 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 2750 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { ((yyval.ValueList)=(yyvsp[(1) - (3)].ValueList))->push_back((yyvsp[(3) - (3)].ValueVal)); CHECK_FOR_ERROR @@ -6032,7 +6036,7 @@ yyreduce: break; case 288: -#line 2751 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 2755 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.FunctionVal) = (yyvsp[(1) - (2)].FunctionVal); CHECK_FOR_ERROR @@ -6040,7 +6044,7 @@ yyreduce: break; case 289: -#line 2755 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 2759 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { // Do not allow functions with 0 basic blocks (yyval.FunctionVal) = (yyvsp[(1) - (2)].FunctionVal); CHECK_FOR_ERROR @@ -6048,7 +6052,7 @@ yyreduce: break; case 290: -#line 2764 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 2768 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { setValueName((yyvsp[(3) - (3)].TermInstVal), (yyvsp[(2) - (3)].StrVal)); CHECK_FOR_ERROR @@ -6060,7 +6064,7 @@ yyreduce: break; case 291: -#line 2773 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 2777 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { CHECK_FOR_ERROR int ValNum = InsertValue((yyvsp[(3) - (3)].TermInstVal)); @@ -6075,7 +6079,7 @@ yyreduce: break; case 292: -#line 2786 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 2790 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { if (CastInst *CI1 = dyn_cast((yyvsp[(2) - (2)].InstVal))) if (CastInst *CI2 = dyn_cast(CI1->getOperand(0))) @@ -6088,7 +6092,7 @@ yyreduce: break; case 293: -#line 2795 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 2799 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { // Empty space between instruction lists (yyval.BasicBlockVal) = defineBBVal(ValID::createLocalID(CurFun.NextValNum)); CHECK_FOR_ERROR @@ -6096,7 +6100,7 @@ yyreduce: break; case 294: -#line 2799 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 2803 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { // Labelled (named) basic block (yyval.BasicBlockVal) = defineBBVal(ValID::createLocalName(*(yyvsp[(1) - (1)].StrVal))); delete (yyvsp[(1) - (1)].StrVal); @@ -6106,7 +6110,7 @@ yyreduce: break; case 295: -#line 2807 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 2811 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { // Return with a result... ValueList &VL = *(yyvsp[(2) - (2)].ValueList); assert(!VL.empty() && "Invalid ret operands!"); @@ -6130,7 +6134,7 @@ yyreduce: break; case 296: -#line 2827 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 2831 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { // Return with no result... (yyval.TermInstVal) = ReturnInst::Create(); CHECK_FOR_ERROR @@ -6138,7 +6142,7 @@ yyreduce: break; case 297: -#line 2831 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 2835 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { // Unconditional Branch... BasicBlock* tmpBB = getBBVal((yyvsp[(3) - (3)].ValIDVal)); CHECK_FOR_ERROR @@ -6147,7 +6151,7 @@ yyreduce: break; case 298: -#line 2836 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 2840 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { if (cast((yyvsp[(2) - (9)].PrimType))->getBitWidth() != 1) GEN_ERROR("Branch condition must have type i1"); @@ -6162,7 +6166,7 @@ yyreduce: break; case 299: -#line 2847 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 2851 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { Value* tmpVal = getVal((yyvsp[(2) - (9)].PrimType), (yyvsp[(3) - (9)].ValIDVal)); CHECK_FOR_ERROR @@ -6185,7 +6189,7 @@ yyreduce: break; case 300: -#line 2866 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 2870 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { Value* tmpVal = getVal((yyvsp[(2) - (8)].PrimType), (yyvsp[(3) - (8)].ValIDVal)); CHECK_FOR_ERROR @@ -6198,7 +6202,7 @@ yyreduce: break; case 301: -#line 2876 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 2880 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { // Handle the short syntax @@ -6305,7 +6309,7 @@ yyreduce: break; case 302: -#line 2979 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 2983 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.TermInstVal) = new UnwindInst(); CHECK_FOR_ERROR @@ -6313,7 +6317,7 @@ yyreduce: break; case 303: -#line 2983 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 2987 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.TermInstVal) = new UnreachableInst(); CHECK_FOR_ERROR @@ -6321,7 +6325,7 @@ yyreduce: break; case 304: -#line 2990 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 2994 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.JumpTable) = (yyvsp[(1) - (6)].JumpTable); Constant *V = cast(getExistingVal((yyvsp[(2) - (6)].PrimType), (yyvsp[(3) - (6)].ValIDVal))); @@ -6336,7 +6340,7 @@ yyreduce: break; case 305: -#line 3001 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 3005 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.JumpTable) = new std::vector >(); Constant *V = cast(getExistingVal((yyvsp[(1) - (5)].PrimType), (yyvsp[(2) - (5)].ValIDVal))); @@ -6352,7 +6356,7 @@ yyreduce: break; case 306: -#line 3014 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 3018 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { // Is this definition named?? if so, assign the name... setValueName((yyvsp[(2) - (2)].InstVal), (yyvsp[(1) - (2)].StrVal)); @@ -6364,7 +6368,7 @@ yyreduce: break; case 307: -#line 3023 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 3027 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { CHECK_FOR_ERROR int ValNum = InsertValue((yyvsp[(2) - (2)].InstVal)); @@ -6379,7 +6383,7 @@ yyreduce: break; case 308: -#line 3036 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 3040 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { // Used for PHI nodes if (!UpRefs.empty()) GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (6)].TypeVal))->getDescription()); @@ -6394,7 +6398,7 @@ yyreduce: break; case 309: -#line 3047 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 3051 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.PHIList) = (yyvsp[(1) - (7)].PHIList); Value* tmpVal = getVal((yyvsp[(1) - (7)].PHIList)->front().first->getType(), (yyvsp[(4) - (7)].ValIDVal)); @@ -6406,7 +6410,7 @@ yyreduce: break; case 310: -#line 3057 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 3061 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { // FIXME: Remove trailing OptAttributes in LLVM 3.0, it was a mistake in 2.0 if (!UpRefs.empty()) @@ -6421,7 +6425,7 @@ yyreduce: break; case 311: -#line 3068 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 3072 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { // FIXME: Remove trailing OptAttributes in LLVM 3.0, it was a mistake in 2.0 // Labels are only valid in ASMs @@ -6433,7 +6437,7 @@ yyreduce: break; case 312: -#line 3076 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 3080 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { // FIXME: Remove trailing OptAttributes in LLVM 3.0, it was a mistake in 2.0 if (!UpRefs.empty()) @@ -6447,7 +6451,7 @@ yyreduce: break; case 313: -#line 3086 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 3090 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { // FIXME: Remove trailing OptAttributes in LLVM 3.0, it was a mistake in 2.0 (yyval.ParamList) = (yyvsp[(1) - (6)].ParamList); @@ -6458,17 +6462,17 @@ yyreduce: break; case 314: -#line 3093 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 3097 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.ParamList) = new ParamList(); ;} break; case 315: -#line 3096 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 3100 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.ValueList) = new std::vector(); ;} break; case 316: -#line 3097 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 3101 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.ValueList) = (yyvsp[(1) - (3)].ValueList); (yyval.ValueList)->push_back((yyvsp[(3) - (3)].ValueVal)); @@ -6477,7 +6481,7 @@ yyreduce: break; case 317: -#line 3105 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 3109 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.ConstantList) = new std::vector(); if ((unsigned)(yyvsp[(2) - (2)].UInt64Val) != (yyvsp[(2) - (2)].UInt64Val)) @@ -6487,7 +6491,7 @@ yyreduce: break; case 318: -#line 3111 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 3115 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.ConstantList) = (yyvsp[(1) - (3)].ConstantList); if ((unsigned)(yyvsp[(3) - (3)].UInt64Val) != (yyvsp[(3) - (3)].UInt64Val)) @@ -6498,7 +6502,7 @@ yyreduce: break; case 319: -#line 3120 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 3124 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.BoolVal) = true; CHECK_FOR_ERROR @@ -6506,7 +6510,7 @@ yyreduce: break; case 320: -#line 3124 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 3128 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.BoolVal) = false; CHECK_FOR_ERROR @@ -6514,7 +6518,7 @@ yyreduce: break; case 321: -#line 3129 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 3133 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { if (!UpRefs.empty()) GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(2) - (5)].TypeVal))->getDescription()); @@ -6534,7 +6538,7 @@ yyreduce: break; case 322: -#line 3145 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 3149 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { if (!UpRefs.empty()) GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(2) - (5)].TypeVal))->getDescription()); @@ -6555,7 +6559,7 @@ yyreduce: break; case 323: -#line 3162 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 3166 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { if (!UpRefs.empty()) GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(3) - (6)].TypeVal))->getDescription()); @@ -6571,7 +6575,7 @@ yyreduce: break; case 324: -#line 3174 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 3178 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { if (!UpRefs.empty()) GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(3) - (6)].TypeVal))->getDescription()); @@ -6587,7 +6591,7 @@ yyreduce: break; case 325: -#line 3186 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 3190 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { if (!UpRefs.empty()) GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(3) - (6)].TypeVal))->getDescription()); @@ -6605,7 +6609,7 @@ yyreduce: break; case 326: -#line 3200 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 3204 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { if (!UpRefs.empty()) GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(3) - (6)].TypeVal))->getDescription()); @@ -6623,7 +6627,7 @@ yyreduce: break; case 327: -#line 3214 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 3218 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { if (!UpRefs.empty()) GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(4) - (4)].TypeVal))->getDescription()); @@ -6639,7 +6643,7 @@ yyreduce: break; case 328: -#line 3226 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 3230 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { if (isa((yyvsp[(2) - (6)].ValueVal)->getType())) { // vector select @@ -6664,7 +6668,7 @@ yyreduce: break; case 329: -#line 3247 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 3251 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { if (!UpRefs.empty()) GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(4) - (4)].TypeVal))->getDescription()); @@ -6675,7 +6679,7 @@ yyreduce: break; case 330: -#line 3254 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 3258 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { if (!ExtractElementInst::isValidOperands((yyvsp[(2) - (4)].ValueVal), (yyvsp[(4) - (4)].ValueVal))) GEN_ERROR("Invalid extractelement operands"); @@ -6685,7 +6689,7 @@ yyreduce: break; case 331: -#line 3260 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 3264 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { if (!InsertElementInst::isValidOperands((yyvsp[(2) - (6)].ValueVal), (yyvsp[(4) - (6)].ValueVal), (yyvsp[(6) - (6)].ValueVal))) GEN_ERROR("Invalid insertelement operands"); @@ -6695,7 +6699,7 @@ yyreduce: break; case 332: -#line 3266 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 3270 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { if (!ShuffleVectorInst::isValidOperands((yyvsp[(2) - (6)].ValueVal), (yyvsp[(4) - (6)].ValueVal), (yyvsp[(6) - (6)].ValueVal))) GEN_ERROR("Invalid shufflevector operands"); @@ -6705,7 +6709,7 @@ yyreduce: break; case 333: -#line 3272 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 3276 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { const Type *Ty = (yyvsp[(2) - (2)].PHIList)->front().first->getType(); if (!Ty->isFirstClassType()) @@ -6724,7 +6728,7 @@ yyreduce: break; case 334: -#line 3288 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 3292 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { // Handle the short syntax @@ -6837,7 +6841,7 @@ yyreduce: break; case 335: -#line 3397 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 3401 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.InstVal) = (yyvsp[(1) - (1)].InstVal); CHECK_FOR_ERROR @@ -6845,7 +6849,7 @@ yyreduce: break; case 336: -#line 3402 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 3406 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.BoolVal) = true; CHECK_FOR_ERROR @@ -6853,7 +6857,7 @@ yyreduce: break; case 337: -#line 3406 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 3410 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { (yyval.BoolVal) = false; CHECK_FOR_ERROR @@ -6861,7 +6865,7 @@ yyreduce: break; case 338: -#line 3413 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 3417 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { if (!UpRefs.empty()) GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(2) - (3)].TypeVal))->getDescription()); @@ -6872,7 +6876,7 @@ yyreduce: break; case 339: -#line 3420 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 3424 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { if (!UpRefs.empty()) GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(2) - (6)].TypeVal))->getDescription()); @@ -6886,7 +6890,7 @@ yyreduce: break; case 340: -#line 3430 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 3434 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { if (!UpRefs.empty()) GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(2) - (3)].TypeVal))->getDescription()); @@ -6897,7 +6901,7 @@ yyreduce: break; case 341: -#line 3437 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 3441 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { if (!UpRefs.empty()) GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(2) - (6)].TypeVal))->getDescription()); @@ -6911,7 +6915,7 @@ yyreduce: break; case 342: -#line 3447 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 3451 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { if (!isa((yyvsp[(2) - (2)].ValueVal)->getType())) GEN_ERROR("Trying to free nonpointer type " + @@ -6922,7 +6926,7 @@ yyreduce: break; case 343: -#line 3455 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 3459 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { if (!UpRefs.empty()) GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(3) - (5)].TypeVal))->getDescription()); @@ -6940,7 +6944,7 @@ yyreduce: break; case 344: -#line 3469 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 3473 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { if (!UpRefs.empty()) GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(5) - (7)].TypeVal))->getDescription()); @@ -6961,7 +6965,7 @@ yyreduce: break; case 345: -#line 3486 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 3490 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { if (!UpRefs.empty()) GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(2) - (5)].TypeVal))->getDescription()); @@ -6979,7 +6983,7 @@ yyreduce: break; case 346: -#line 3500 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 3504 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { if (!UpRefs.empty()) GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(2) - (4)].TypeVal))->getDescription()); @@ -6998,7 +7002,7 @@ yyreduce: break; case 347: -#line 3515 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 3519 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { if (!UpRefs.empty()) GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(2) - (4)].TypeVal))->getDescription()); @@ -7017,7 +7021,7 @@ yyreduce: break; case 348: -#line 3530 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 3534 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { if (!UpRefs.empty()) GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(2) - (7)].TypeVal))->getDescription()); @@ -7039,7 +7043,7 @@ yyreduce: /* Line 1267 of yacc.c. */ -#line 7043 "llvmAsmParser.tab.c" +#line 7047 "llvmAsmParser.tab.c" default: break; } YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc); @@ -7253,7 +7257,7 @@ yyreturn: } -#line 3549 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 3553 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" // common code from the two 'RunVMAsmParser' functions diff --git a/lib/AsmParser/llvmAsmParser.h.cvs b/lib/AsmParser/llvmAsmParser.h.cvs index 10b482b0d78..48888ac9b66 100644 --- a/lib/AsmParser/llvmAsmParser.h.cvs +++ b/lib/AsmParser/llvmAsmParser.h.cvs @@ -360,7 +360,7 @@ #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED typedef union YYSTYPE -#line 982 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 986 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y" { llvm::Module *ModuleVal; llvm::Function *FunctionVal; diff --git a/lib/AsmParser/llvmAsmParser.y.cvs b/lib/AsmParser/llvmAsmParser.y.cvs index d76994a431a..36b827d6b72 100644 --- a/lib/AsmParser/llvmAsmParser.y.cvs +++ b/lib/AsmParser/llvmAsmParser.y.cvs @@ -437,7 +437,11 @@ static Value *getExistingVal(const Type *Ty, const ValID &D) { D.ConstPoolFP->convert(APFloat::IEEEsingle, APFloat::rmNearestTiesToEven, &ignored); } - return ConstantFP::get(*D.ConstPoolFP); + { + ConstantFP *tmp = ConstantFP::get(*D.ConstPoolFP); + D.destroy(); + return tmp; + } case ValID::ConstNullVal: // Is it a null value? if (!isa(Ty)) {