1298, 1299, 1300, 1301, 1304, 1305, 1311, 1312, 1319, 1320,
1326, 1327, 1336, 1344, 1345, 1350, 1351, 1352, 1357, 1370,
1370, 1370, 1370, 1370, 1370, 1370, 1373, 1377, 1381, 1388,
- 1393, 1401, 1430, 1455, 1460, 1470, 1480, 1484, 1494, 1501,
- 1510, 1517, 1522, 1527, 1534, 1535, 1542, 1549, 1557, 1563,
- 1575, 1603, 1619, 1646, 1674, 1700, 1720, 1746, 1766, 1778,
- 1785, 1851, 1861, 1871, 1877, 1887, 1893, 1903, 1909, 1915,
- 1928, 1940, 1961, 1969, 1975, 1986, 1991, 1996, 2001, 2006,
- 2012, 2018, 2024, 2032, 2043, 2047, 2055, 2055, 2058, 2058,
- 2061, 2073, 2094, 2099, 2107, 2108, 2112, 2112, 2116, 2116,
- 2119, 2122, 2146, 2158, 2157, 2169, 2168, 2178, 2177, 2188,
- 2228, 2231, 2237, 2247, 2251, 2256, 2258, 2263, 2268, 2277,
- 2287, 2298, 2302, 2311, 2320, 2325, 2474, 2474, 2476, 2485,
- 2485, 2487, 2492, 2504, 2508, 2513, 2517, 2521, 2526, 2531,
- 2535, 2539, 2543, 2547, 2551, 2555, 2577, 2599, 2605, 2618,
- 2630, 2635, 2647, 2653, 2657, 2667, 2671, 2675, 2680, 2687,
- 2687, 2693, 2702, 2707, 2712, 2716, 2725, 2734, 2747, 2756,
- 2760, 2768, 2788, 2792, 2797, 2808, 2827, 2836, 2940, 2944,
- 2951, 2962, 2975, 2984, 2997, 3008, 3018, 3029, 3037, 3047,
- 3054, 3057, 3058, 3066, 3072, 3081, 3085, 3090, 3106, 3123,
- 3135, 3147, 3161, 3175, 3187, 3208, 3215, 3221, 3227, 3233,
- 3248, 3358, 3363, 3367, 3374, 3381, 3391, 3398, 3408, 3416,
- 3430, 3447, 3461, 3476, 3491
+ 1393, 1401, 1436, 1467, 1472, 1482, 1492, 1496, 1506, 1513,
+ 1522, 1529, 1534, 1539, 1546, 1547, 1554, 1561, 1569, 1575,
+ 1587, 1615, 1631, 1658, 1686, 1712, 1732, 1758, 1778, 1790,
+ 1797, 1863, 1873, 1883, 1889, 1899, 1905, 1915, 1921, 1927,
+ 1940, 1952, 1973, 1981, 1987, 1998, 2003, 2008, 2013, 2018,
+ 2024, 2030, 2036, 2044, 2055, 2059, 2067, 2067, 2070, 2070,
+ 2073, 2085, 2106, 2111, 2119, 2120, 2124, 2124, 2128, 2128,
+ 2131, 2134, 2158, 2170, 2169, 2181, 2180, 2190, 2189, 2200,
+ 2240, 2243, 2249, 2259, 2263, 2268, 2270, 2275, 2280, 2289,
+ 2299, 2310, 2314, 2323, 2332, 2337, 2486, 2486, 2488, 2497,
+ 2497, 2499, 2504, 2516, 2520, 2525, 2529, 2533, 2538, 2543,
+ 2547, 2551, 2555, 2559, 2563, 2567, 2589, 2611, 2617, 2630,
+ 2642, 2647, 2659, 2665, 2669, 2679, 2683, 2687, 2692, 2699,
+ 2699, 2705, 2714, 2719, 2724, 2728, 2737, 2746, 2759, 2768,
+ 2772, 2780, 2800, 2804, 2809, 2820, 2839, 2848, 2952, 2956,
+ 2963, 2974, 2987, 2996, 3009, 3020, 3030, 3041, 3049, 3059,
+ 3066, 3069, 3070, 3078, 3084, 3093, 3097, 3102, 3118, 3135,
+ 3147, 3159, 3173, 3187, 3199, 3220, 3227, 3233, 3239, 3245,
+ 3260, 3370, 3375, 3379, 3386, 3393, 3403, 3410, 3420, 3428,
+ 3442, 3459, 3473, 3488, 3503
};
#endif
CHECK_FOR_ERROR
FunctionType *FT = FunctionType::get(RetTy, Params, isVarArg);
- delete (yyvsp[(3) - (5)].TypeWithAttrsList); // Delete the argument list
delete (yyvsp[(1) - (5)].TypeVal); // Delete the return type handle
(yyval.TypeVal) = new PATypeHolder(HandleUpRefs(FT));
+
+ // Delete the argument list
+ for (I = (yyvsp[(3) - (5)].TypeWithAttrsList)->begin() ; I != E; ++I ) {
+ delete I->Ty;
+ }
+ delete (yyvsp[(3) - (5)].TypeWithAttrsList);
+
CHECK_FOR_ERROR
;}
break;
case 162:
-#line 1430 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1436 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
// Allow but ignore attributes on function types; this permits auto-upgrade.
// FIXME: remove in LLVM 3.0.
CHECK_FOR_ERROR
FunctionType *FT = FunctionType::get((yyvsp[(1) - (5)].PrimType), Params, isVarArg);
- delete (yyvsp[(3) - (5)].TypeWithAttrsList); // Delete the argument list
(yyval.TypeVal) = new PATypeHolder(HandleUpRefs(FT));
+
+ // Delete the argument list
+ for (I = (yyvsp[(3) - (5)].TypeWithAttrsList)->begin() ; I != E; ++I ) {
+ delete I->Ty;
+ }
+ delete (yyvsp[(3) - (5)].TypeWithAttrsList);
+
CHECK_FOR_ERROR
;}
break;
case 163:
-#line 1455 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1467 "/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);
break;
case 164:
-#line 1460 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1472 "/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))
break;
case 165:
-#line 1470 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1482 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{ // Structure type?
std::vector<const Type*> Elements;
for (std::list<llvm::PATypeHolder>::iterator I = (yyvsp[(2) - (3)].TypeList)->begin(),
break;
case 166:
-#line 1480 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1492 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{ // Empty structure type?
(yyval.TypeVal) = new PATypeHolder(StructType::get(std::vector<const Type*>()));
CHECK_FOR_ERROR
break;
case 167:
-#line 1484 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1496 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
std::vector<const Type*> Elements;
for (std::list<llvm::PATypeHolder>::iterator I = (yyvsp[(3) - (5)].TypeList)->begin(),
break;
case 168:
-#line 1494 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1506 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{ // Empty structure type?
(yyval.TypeVal) = new PATypeHolder(StructType::get(std::vector<const Type*>(), true));
CHECK_FOR_ERROR
break;
case 169:
-#line 1501 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1513 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
// Allow but ignore attributes on function types; this permits auto-upgrade.
// FIXME: remove in LLVM 3.0.
break;
case 170:
-#line 1510 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1522 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (1)].TypeVal))->getDescription());
break;
case 171:
-#line 1517 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1529 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.TypeVal) = new PATypeHolder(Type::VoidTy);
;}
break;
case 172:
-#line 1522 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1534 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.TypeWithAttrsList) = new TypeWithAttrsList();
(yyval.TypeWithAttrsList)->push_back((yyvsp[(1) - (1)].TypeWithAttrs));
break;
case 173:
-#line 1527 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1539 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
((yyval.TypeWithAttrsList)=(yyvsp[(1) - (3)].TypeWithAttrsList))->push_back((yyvsp[(3) - (3)].TypeWithAttrs));
CHECK_FOR_ERROR
break;
case 175:
-#line 1535 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1547 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.TypeWithAttrsList)=(yyvsp[(1) - (3)].TypeWithAttrsList);
TypeWithAttrs TWA; TWA.Attrs = Attribute::None;
break;
case 176:
-#line 1542 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1554 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.TypeWithAttrsList) = new TypeWithAttrsList;
TypeWithAttrs TWA; TWA.Attrs = Attribute::None;
break;
case 177:
-#line 1549 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1561 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.TypeWithAttrsList) = new TypeWithAttrsList();
CHECK_FOR_ERROR
break;
case 178:
-#line 1557 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1569 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.TypeList) = new std::list<PATypeHolder>();
(yyval.TypeList)->push_back(*(yyvsp[(1) - (1)].TypeVal));
break;
case 179:
-#line 1563 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1575 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
((yyval.TypeList)=(yyvsp[(1) - (3)].TypeList))->push_back(*(yyvsp[(3) - (3)].TypeVal));
delete (yyvsp[(3) - (3)].TypeVal);
break;
case 180:
-#line 1575 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1587 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{ // Nonempty unsized arr
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (4)].TypeVal))->getDescription());
break;
case 181:
-#line 1603 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1615 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (3)].TypeVal))->getDescription());
break;
case 182:
-#line 1619 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1631 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (3)].TypeVal))->getDescription());
break;
case 183:
-#line 1646 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1658 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{ // Nonempty unsized arr
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (4)].TypeVal))->getDescription());
break;
case 184:
-#line 1674 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1686 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
const StructType *STy = dyn_cast<StructType>((yyvsp[(1) - (4)].TypeVal)->get());
if (STy == 0)
break;
case 185:
-#line 1700 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1712 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (3)].TypeVal))->getDescription());
break;
case 186:
-#line 1720 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1732 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
const StructType *STy = dyn_cast<StructType>((yyvsp[(1) - (6)].TypeVal)->get());
if (STy == 0)
break;
case 187:
-#line 1746 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1758 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (5)].TypeVal))->getDescription());
break;
case 188:
-#line 1766 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1778 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (2)].TypeVal))->getDescription());
break;
case 189:
-#line 1778 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1790 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (2)].TypeVal))->getDescription());
break;
case 190:
-#line 1785 "/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());
break;
case 191:
-#line 1851 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1863 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (2)].TypeVal))->getDescription());
break;
case 192:
-#line 1861 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1873 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (2)].TypeVal))->getDescription());
break;
case 193:
-#line 1871 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1883 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{ // integral constants
if (!ConstantInt::isValueValidForType((yyvsp[(1) - (2)].PrimType), (yyvsp[(2) - (2)].SInt64Val)))
GEN_ERROR("Constant value doesn't fit in type");
break;
case 194:
-#line 1877 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1889 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{ // arbitrary precision integer constants
uint32_t BitWidth = cast<IntegerType>((yyvsp[(1) - (2)].PrimType))->getBitWidth();
if ((yyvsp[(2) - (2)].APIntVal)->getBitWidth() > BitWidth) {
break;
case 195:
-#line 1887 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1899 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{ // integral constants
if (!ConstantInt::isValueValidForType((yyvsp[(1) - (2)].PrimType), (yyvsp[(2) - (2)].UInt64Val)))
GEN_ERROR("Constant value doesn't fit in type");
break;
case 196:
-#line 1893 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1905 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{ // arbitrary precision integer constants
uint32_t BitWidth = cast<IntegerType>((yyvsp[(1) - (2)].PrimType))->getBitWidth();
if ((yyvsp[(2) - (2)].APIntVal)->getBitWidth() > BitWidth) {
break;
case 197:
-#line 1903 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1915 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{ // Boolean constants
if (cast<IntegerType>((yyvsp[(1) - (2)].PrimType))->getBitWidth() != 1)
GEN_ERROR("Constant true must have type i1");
break;
case 198:
-#line 1909 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1921 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{ // Boolean constants
if (cast<IntegerType>((yyvsp[(1) - (2)].PrimType))->getBitWidth() != 1)
GEN_ERROR("Constant false must have type i1");
break;
case 199:
-#line 1915 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1927 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{ // Floating point constants
if (!ConstantFP::isValueValidForType((yyvsp[(1) - (2)].PrimType), *(yyvsp[(2) - (2)].FPVal)))
GEN_ERROR("Floating point constant invalid for type");
break;
case 200:
-#line 1928 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1940 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(5) - (6)].TypeVal))->getDescription());
break;
case 201:
-#line 1940 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1952 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!isa<PointerType>((yyvsp[(3) - (5)].ConstVal)->getType()))
GEN_ERROR("GetElementPtr requires a pointer operand");
break;
case 202:
-#line 1961 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1973 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
if ((yyvsp[(3) - (8)].ConstVal)->getType() != Type::Int1Ty)
GEN_ERROR("Select condition must be of boolean type");
break;
case 203:
-#line 1969 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1981 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
if ((yyvsp[(3) - (6)].ConstVal)->getType() != (yyvsp[(5) - (6)].ConstVal)->getType())
GEN_ERROR("Binary operator types must match");
break;
case 204:
-#line 1975 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1987 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
if ((yyvsp[(3) - (6)].ConstVal)->getType() != (yyvsp[(5) - (6)].ConstVal)->getType())
GEN_ERROR("Logical operator types must match");
break;
case 205:
-#line 1986 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1998 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
if ((yyvsp[(4) - (7)].ConstVal)->getType() != (yyvsp[(6) - (7)].ConstVal)->getType())
GEN_ERROR("icmp operand types must match");
break;
case 206:
-#line 1991 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2003 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
if ((yyvsp[(4) - (7)].ConstVal)->getType() != (yyvsp[(6) - (7)].ConstVal)->getType())
GEN_ERROR("fcmp operand types must match");
break;
case 207:
-#line 1996 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2008 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
if ((yyvsp[(4) - (7)].ConstVal)->getType() != (yyvsp[(6) - (7)].ConstVal)->getType())
GEN_ERROR("vicmp operand types must match");
break;
case 208:
-#line 2001 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2013 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
if ((yyvsp[(4) - (7)].ConstVal)->getType() != (yyvsp[(6) - (7)].ConstVal)->getType())
GEN_ERROR("vfcmp operand types must match");
break;
case 209:
-#line 2006 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2018 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!ExtractElementInst::isValidOperands((yyvsp[(3) - (6)].ConstVal), (yyvsp[(5) - (6)].ConstVal)))
GEN_ERROR("Invalid extractelement operands");
break;
case 210:
-#line 2012 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2024 "/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");
break;
case 211:
-#line 2018 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2030 "/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");
break;
case 212:
-#line 2024 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2036 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!isa<StructType>((yyvsp[(3) - (5)].ConstVal)->getType()) && !isa<ArrayType>((yyvsp[(3) - (5)].ConstVal)->getType()))
GEN_ERROR("ExtractValue requires an aggregate operand");
break;
case 213:
-#line 2032 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2044 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!isa<StructType>((yyvsp[(3) - (7)].ConstVal)->getType()) && !isa<ArrayType>((yyvsp[(3) - (7)].ConstVal)->getType()))
GEN_ERROR("InsertValue requires an aggregate operand");
break;
case 214:
-#line 2043 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2055 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
((yyval.ConstVector) = (yyvsp[(1) - (3)].ConstVector))->push_back((yyvsp[(3) - (3)].ConstVal));
CHECK_FOR_ERROR
break;
case 215:
-#line 2047 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2059 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.ConstVector) = new std::vector<Constant*>();
(yyval.ConstVector)->push_back((yyvsp[(1) - (1)].ConstVal));
break;
case 216:
-#line 2055 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2067 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.BoolVal) = false; ;}
break;
case 217:
-#line 2055 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2067 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.BoolVal) = true; ;}
break;
case 218:
-#line 2058 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2070 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.BoolVal) = true; ;}
break;
case 219:
-#line 2058 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2070 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.BoolVal) = false; ;}
break;
case 220:
-#line 2061 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2073 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
const Type* VTy = (yyvsp[(1) - (2)].TypeVal)->get();
Value *V = getVal(VTy, (yyvsp[(2) - (2)].ValIDVal));
break;
case 221:
-#line 2073 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2085 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
Constant *Val = (yyvsp[(3) - (6)].ConstVal);
const Type *DestTy = (yyvsp[(5) - (6)].TypeVal)->get();
break;
case 222:
-#line 2094 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2106 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.ModuleVal) = ParserResult = CurModule.CurrentModule;
CurModule.ModuleDone();
break;
case 223:
-#line 2099 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2111 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.ModuleVal) = ParserResult = CurModule.CurrentModule;
CurModule.ModuleDone();
break;
case 226:
-#line 2112 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2124 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{ CurFun.isDeclare = false; ;}
break;
case 227:
-#line 2112 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2124 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
CurFun.FunctionDone();
CHECK_FOR_ERROR
break;
case 228:
-#line 2116 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2128 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{ CurFun.isDeclare = true; ;}
break;
case 229:
-#line 2116 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2128 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
CHECK_FOR_ERROR
;}
break;
case 230:
-#line 2119 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2131 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
CHECK_FOR_ERROR
;}
break;
case 231:
-#line 2122 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2134 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(3) - (3)].TypeVal))->getDescription());
break;
case 232:
-#line 2146 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2158 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
ResolveTypeTo((yyvsp[(1) - (3)].StrVal), (yyvsp[(3) - (3)].PrimType));
break;
case 233:
-#line 2158 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2170 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
/* "Externally Visible" Linkage */
if ((yyvsp[(5) - (6)].ConstVal) == 0)
break;
case 234:
-#line 2165 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2177 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
CurGV = 0;
;}
break;
case 235:
-#line 2169 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2181 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
if ((yyvsp[(6) - (7)].ConstVal) == 0)
GEN_ERROR("Global value initializer is not a constant");
break;
case 236:
-#line 2174 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2186 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
CurGV = 0;
;}
break;
case 237:
-#line 2178 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2190 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(6) - (7)].TypeVal))->getDescription());
break;
case 238:
-#line 2184 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2196 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
CurGV = 0;
CHECK_FOR_ERROR
break;
case 239:
-#line 2188 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2200 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
std::string Name;
if ((yyvsp[(1) - (5)].StrVal)) {
break;
case 240:
-#line 2228 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2240 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
CHECK_FOR_ERROR
;}
break;
case 241:
-#line 2231 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2243 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
CHECK_FOR_ERROR
;}
break;
case 242:
-#line 2237 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2249 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
const std::string &AsmSoFar = CurModule.CurrentModule->getModuleInlineAsm();
if (AsmSoFar.empty())
break;
case 243:
-#line 2247 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2259 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
CurModule.CurrentModule->setTargetTriple(*(yyvsp[(3) - (3)].StrVal));
delete (yyvsp[(3) - (3)].StrVal);
break;
case 244:
-#line 2251 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2263 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
CurModule.CurrentModule->setDataLayout(*(yyvsp[(3) - (3)].StrVal));
delete (yyvsp[(3) - (3)].StrVal);
break;
case 246:
-#line 2258 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2270 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
CurModule.CurrentModule->addLibrary(*(yyvsp[(3) - (3)].StrVal));
delete (yyvsp[(3) - (3)].StrVal);
break;
case 247:
-#line 2263 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2275 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
CurModule.CurrentModule->addLibrary(*(yyvsp[(1) - (1)].StrVal));
delete (yyvsp[(1) - (1)].StrVal);
break;
case 248:
-#line 2268 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2280 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
CHECK_FOR_ERROR
;}
break;
case 249:
-#line 2277 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2289 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(3) - (5)].TypeVal))->getDescription());
break;
case 250:
-#line 2287 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2299 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (3)].TypeVal))->getDescription());
break;
case 251:
-#line 2298 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2310 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.ArgList) = (yyvsp[(1) - (1)].ArgList);
CHECK_FOR_ERROR
break;
case 252:
-#line 2302 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2314 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.ArgList) = (yyvsp[(1) - (3)].ArgList);
struct ArgListEntry E;
break;
case 253:
-#line 2311 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2323 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.ArgList) = new ArgListType;
struct ArgListEntry E;
break;
case 254:
-#line 2320 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2332 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.ArgList) = 0;
CHECK_FOR_ERROR
break;
case 255:
-#line 2326 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2338 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
std::string FunctionName(*(yyvsp[(4) - (11)].StrVal));
delete (yyvsp[(4) - (11)].StrVal); // Free strdup'd memory!
break;
case 258:
-#line 2476 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2488 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.FunctionVal) = CurFun.CurrentFunction;
break;
case 261:
-#line 2487 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2499 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.FunctionVal) = (yyvsp[(1) - (2)].FunctionVal);
CHECK_FOR_ERROR
break;
case 262:
-#line 2492 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2504 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
CurFun.CurrentFunction->setLinkage((yyvsp[(1) - (3)].Linkage));
CurFun.CurrentFunction->setVisibility((yyvsp[(2) - (3)].Visibility));
break;
case 263:
-#line 2504 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2516 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.BoolVal) = false;
CHECK_FOR_ERROR
break;
case 264:
-#line 2508 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2520 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.BoolVal) = true;
CHECK_FOR_ERROR
break;
case 265:
-#line 2513 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2525 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{ // A reference to a direct constant
(yyval.ValIDVal) = ValID::create((yyvsp[(1) - (1)].SInt64Val));
CHECK_FOR_ERROR
break;
case 266:
-#line 2517 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2529 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.ValIDVal) = ValID::create((yyvsp[(1) - (1)].UInt64Val));
CHECK_FOR_ERROR
break;
case 267:
-#line 2521 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2533 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{ // arbitrary precision integer constants
(yyval.ValIDVal) = ValID::create(*(yyvsp[(1) - (1)].APIntVal), true);
delete (yyvsp[(1) - (1)].APIntVal);
break;
case 268:
-#line 2526 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2538 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{ // arbitrary precision integer constants
(yyval.ValIDVal) = ValID::create(*(yyvsp[(1) - (1)].APIntVal), false);
delete (yyvsp[(1) - (1)].APIntVal);
break;
case 269:
-#line 2531 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2543 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{ // Perhaps it's an FP constant?
(yyval.ValIDVal) = ValID::create((yyvsp[(1) - (1)].FPVal));
CHECK_FOR_ERROR
break;
case 270:
-#line 2535 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2547 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.ValIDVal) = ValID::create(ConstantInt::getTrue());
CHECK_FOR_ERROR
break;
case 271:
-#line 2539 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2551 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.ValIDVal) = ValID::create(ConstantInt::getFalse());
CHECK_FOR_ERROR
break;
case 272:
-#line 2543 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2555 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.ValIDVal) = ValID::createNull();
CHECK_FOR_ERROR
break;
case 273:
-#line 2547 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2559 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.ValIDVal) = ValID::createUndef();
CHECK_FOR_ERROR
break;
case 274:
-#line 2551 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2563 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{ // A vector zero constant.
(yyval.ValIDVal) = ValID::createZeroInit();
CHECK_FOR_ERROR
break;
case 275:
-#line 2555 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2567 "/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();
break;
case 276:
-#line 2577 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2589 "/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();
break;
case 277:
-#line 2599 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2611 "/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.
break;
case 278:
-#line 2605 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2617 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
uint64_t NumElements = (yyvsp[(2) - (2)].StrVal)->length();
const Type *ETy = Type::Int8Ty;
break;
case 279:
-#line 2618 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2630 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
std::vector<const Type*> Elements((yyvsp[(2) - (3)].ConstVector)->size());
for (unsigned i = 0, e = (yyvsp[(2) - (3)].ConstVector)->size(); i != e; ++i)
break;
case 280:
-#line 2630 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2642 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
const StructType *STy = StructType::get(std::vector<const Type*>());
(yyval.ValIDVal) = ValID::create(ConstantStruct::get(STy, std::vector<Constant*>()));
break;
case 281:
-#line 2635 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2647 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
std::vector<const Type*> Elements((yyvsp[(3) - (5)].ConstVector)->size());
for (unsigned i = 0, e = (yyvsp[(3) - (5)].ConstVector)->size(); i != e; ++i)
break;
case 282:
-#line 2647 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2659 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
const StructType *STy = StructType::get(std::vector<const Type*>(),
/*isPacked=*/true);
break;
case 283:
-#line 2653 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2665 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.ValIDVal) = ValID::create((yyvsp[(1) - (1)].ConstVal));
CHECK_FOR_ERROR
break;
case 284:
-#line 2657 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2669 "/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);
break;
case 285:
-#line 2667 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2679 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{ // Is it an integer reference...?
(yyval.ValIDVal) = ValID::createLocalID((yyvsp[(1) - (1)].UIntVal));
CHECK_FOR_ERROR
break;
case 286:
-#line 2671 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2683 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.ValIDVal) = ValID::createGlobalID((yyvsp[(1) - (1)].UIntVal));
CHECK_FOR_ERROR
break;
case 287:
-#line 2675 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2687 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{ // Is it a named reference...?
(yyval.ValIDVal) = ValID::createLocalName(*(yyvsp[(1) - (1)].StrVal));
delete (yyvsp[(1) - (1)].StrVal);
break;
case 288:
-#line 2680 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2692 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{ // Is it a named reference...?
(yyval.ValIDVal) = ValID::createGlobalName(*(yyvsp[(1) - (1)].StrVal));
delete (yyvsp[(1) - (1)].StrVal);
break;
case 291:
-#line 2693 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2705 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (2)].TypeVal))->getDescription());
break;
case 292:
-#line 2702 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2714 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.ValueList) = new std::vector<Value *>();
(yyval.ValueList)->push_back((yyvsp[(1) - (1)].ValueVal));
break;
case 293:
-#line 2707 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2719 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
((yyval.ValueList)=(yyvsp[(1) - (3)].ValueList))->push_back((yyvsp[(3) - (3)].ValueVal));
CHECK_FOR_ERROR
break;
case 294:
-#line 2712 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2724 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.FunctionVal) = (yyvsp[(1) - (2)].FunctionVal);
CHECK_FOR_ERROR
break;
case 295:
-#line 2716 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2728 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{ // Do not allow functions with 0 basic blocks
(yyval.FunctionVal) = (yyvsp[(1) - (2)].FunctionVal);
CHECK_FOR_ERROR
break;
case 296:
-#line 2725 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2737 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
setValueName((yyvsp[(3) - (3)].TermInstVal), (yyvsp[(2) - (3)].StrVal));
CHECK_FOR_ERROR
break;
case 297:
-#line 2734 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2746 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
CHECK_FOR_ERROR
int ValNum = InsertValue((yyvsp[(3) - (3)].TermInstVal));
break;
case 298:
-#line 2747 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2759 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (CastInst *CI1 = dyn_cast<CastInst>((yyvsp[(2) - (2)].InstVal)))
if (CastInst *CI2 = dyn_cast<CastInst>(CI1->getOperand(0)))
break;
case 299:
-#line 2756 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2768 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{ // Empty space between instruction lists
(yyval.BasicBlockVal) = defineBBVal(ValID::createLocalID(CurFun.NextValNum));
CHECK_FOR_ERROR
break;
case 300:
-#line 2760 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2772 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{ // Labelled (named) basic block
(yyval.BasicBlockVal) = defineBBVal(ValID::createLocalName(*(yyvsp[(1) - (1)].StrVal)));
delete (yyvsp[(1) - (1)].StrVal);
break;
case 301:
-#line 2768 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2780 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{ // Return with a result...
ValueList &VL = *(yyvsp[(2) - (2)].ValueList);
assert(!VL.empty() && "Invalid ret operands!");
break;
case 302:
-#line 2788 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2800 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{ // Return with no result...
(yyval.TermInstVal) = ReturnInst::Create();
CHECK_FOR_ERROR
break;
case 303:
-#line 2792 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2804 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{ // Unconditional Branch...
BasicBlock* tmpBB = getBBVal((yyvsp[(3) - (3)].ValIDVal));
CHECK_FOR_ERROR
break;
case 304:
-#line 2797 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2809 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (cast<IntegerType>((yyvsp[(2) - (9)].PrimType))->getBitWidth() != 1)
GEN_ERROR("Branch condition must have type i1");
break;
case 305:
-#line 2808 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2820 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
Value* tmpVal = getVal((yyvsp[(2) - (9)].PrimType), (yyvsp[(3) - (9)].ValIDVal));
CHECK_FOR_ERROR
break;
case 306:
-#line 2827 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2839 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
Value* tmpVal = getVal((yyvsp[(2) - (8)].PrimType), (yyvsp[(3) - (8)].ValIDVal));
CHECK_FOR_ERROR
break;
case 307:
-#line 2837 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2849 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
// Handle the short syntax
break;
case 308:
-#line 2940 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2952 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.TermInstVal) = new UnwindInst();
CHECK_FOR_ERROR
break;
case 309:
-#line 2944 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2956 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.TermInstVal) = new UnreachableInst();
CHECK_FOR_ERROR
break;
case 310:
-#line 2951 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2963 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.JumpTable) = (yyvsp[(1) - (6)].JumpTable);
Constant *V = cast<Constant>(getExistingVal((yyvsp[(2) - (6)].PrimType), (yyvsp[(3) - (6)].ValIDVal)));
break;
case 311:
-#line 2962 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2974 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.JumpTable) = new std::vector<std::pair<Constant*, BasicBlock*> >();
Constant *V = cast<Constant>(getExistingVal((yyvsp[(1) - (5)].PrimType), (yyvsp[(2) - (5)].ValIDVal)));
break;
case 312:
-#line 2975 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2987 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
// Is this definition named?? if so, assign the name...
setValueName((yyvsp[(2) - (2)].InstVal), (yyvsp[(1) - (2)].StrVal));
break;
case 313:
-#line 2984 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2996 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
CHECK_FOR_ERROR
int ValNum = InsertValue((yyvsp[(2) - (2)].InstVal));
break;
case 314:
-#line 2997 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 3009 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{ // Used for PHI nodes
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (6)].TypeVal))->getDescription());
break;
case 315:
-#line 3008 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 3020 "/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));
break;
case 316:
-#line 3018 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 3030 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
// FIXME: Remove trailing OptAttributes in LLVM 3.0, it was a mistake in 2.0
if (!UpRefs.empty())
break;
case 317:
-#line 3029 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 3041 "/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
break;
case 318:
-#line 3037 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 3049 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
// FIXME: Remove trailing OptAttributes in LLVM 3.0, it was a mistake in 2.0
if (!UpRefs.empty())
break;
case 319:
-#line 3047 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 3059 "/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);
break;
case 320:
-#line 3054 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 3066 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.ParamList) = new ParamList(); ;}
break;
case 321:
-#line 3057 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 3069 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.ValueList) = new std::vector<Value*>(); ;}
break;
case 322:
-#line 3058 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 3070 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.ValueList) = (yyvsp[(1) - (3)].ValueList);
(yyval.ValueList)->push_back((yyvsp[(3) - (3)].ValueVal));
break;
case 323:
-#line 3066 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 3078 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.ConstantList) = new std::vector<unsigned>();
if ((unsigned)(yyvsp[(2) - (2)].UInt64Val) != (yyvsp[(2) - (2)].UInt64Val))
break;
case 324:
-#line 3072 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 3084 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.ConstantList) = (yyvsp[(1) - (3)].ConstantList);
if ((unsigned)(yyvsp[(3) - (3)].UInt64Val) != (yyvsp[(3) - (3)].UInt64Val))
break;
case 325:
-#line 3081 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 3093 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.BoolVal) = true;
CHECK_FOR_ERROR
break;
case 326:
-#line 3085 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 3097 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.BoolVal) = false;
CHECK_FOR_ERROR
break;
case 327:
-#line 3090 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 3102 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(2) - (5)].TypeVal))->getDescription());
break;
case 328:
-#line 3106 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 3118 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(2) - (5)].TypeVal))->getDescription());
break;
case 329:
-#line 3123 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 3135 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(3) - (6)].TypeVal))->getDescription());
break;
case 330:
-#line 3135 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 3147 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(3) - (6)].TypeVal))->getDescription());
break;
case 331:
-#line 3147 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 3159 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(3) - (6)].TypeVal))->getDescription());
break;
case 332:
-#line 3161 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 3173 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(3) - (6)].TypeVal))->getDescription());
break;
case 333:
-#line 3175 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 3187 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(4) - (4)].TypeVal))->getDescription());
break;
case 334:
-#line 3187 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 3199 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (isa<VectorType>((yyvsp[(2) - (6)].ValueVal)->getType())) {
// vector select
break;
case 335:
-#line 3208 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 3220 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(4) - (4)].TypeVal))->getDescription());
break;
case 336:
-#line 3215 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 3227 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!ExtractElementInst::isValidOperands((yyvsp[(2) - (4)].ValueVal), (yyvsp[(4) - (4)].ValueVal)))
GEN_ERROR("Invalid extractelement operands");
break;
case 337:
-#line 3221 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 3233 "/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");
break;
case 338:
-#line 3227 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 3239 "/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");
break;
case 339:
-#line 3233 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 3245 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
const Type *Ty = (yyvsp[(2) - (2)].PHIList)->front().first->getType();
if (!Ty->isFirstClassType())
break;
case 340:
-#line 3249 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 3261 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
// Handle the short syntax
break;
case 341:
-#line 3358 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 3370 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.InstVal) = (yyvsp[(1) - (1)].InstVal);
CHECK_FOR_ERROR
break;
case 342:
-#line 3363 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 3375 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.BoolVal) = true;
CHECK_FOR_ERROR
break;
case 343:
-#line 3367 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 3379 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.BoolVal) = false;
CHECK_FOR_ERROR
break;
case 344:
-#line 3374 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 3386 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(2) - (3)].TypeVal))->getDescription());
break;
case 345:
-#line 3381 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 3393 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(2) - (6)].TypeVal))->getDescription());
break;
case 346:
-#line 3391 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 3403 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(2) - (3)].TypeVal))->getDescription());
break;
case 347:
-#line 3398 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 3410 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(2) - (6)].TypeVal))->getDescription());
break;
case 348:
-#line 3408 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 3420 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!isa<PointerType>((yyvsp[(2) - (2)].ValueVal)->getType()))
GEN_ERROR("Trying to free nonpointer type " +
break;
case 349:
-#line 3416 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 3428 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(3) - (5)].TypeVal))->getDescription());
break;
case 350:
-#line 3430 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 3442 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(5) - (7)].TypeVal))->getDescription());
break;
case 351:
-#line 3447 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 3459 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(2) - (5)].TypeVal))->getDescription());
break;
case 352:
-#line 3461 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 3473 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(2) - (4)].TypeVal))->getDescription());
break;
case 353:
-#line 3476 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 3488 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(2) - (4)].TypeVal))->getDescription());
break;
case 354:
-#line 3491 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 3503 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(2) - (7)].TypeVal))->getDescription());
/* Line 1267 of yacc.c. */
-#line 7019 "llvmAsmParser.tab.c"
+#line 7031 "llvmAsmParser.tab.c"
default: break;
}
YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
}
-#line 3510 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 3522 "/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
// common code from the two 'RunVMAsmParser' functions