2250, 2384, 2384, 2386, 2395, 2395, 2397, 2402, 2414, 2418,
2423, 2427, 2431, 2435, 2439, 2443, 2447, 2451, 2455, 2480,
2484, 2494, 2498, 2502, 2507, 2514, 2514, 2520, 2529, 2534,
- 2539, 2543, 2552, 2561, 2570, 2574, 2582, 2587, 2591, 2596,
- 2606, 2625, 2634, 2725, 2729, 2736, 2747, 2760, 2770, 2781,
- 2791, 2802, 2810, 2820, 2827, 2830, 2831, 2838, 2842, 2847,
- 2863, 2880, 2894, 2908, 2920, 2928, 2935, 2941, 2947, 2953,
- 2968, 3066, 3071, 3075, 3082, 3089, 3097, 3104, 3112, 3120,
- 3134, 3151, 3159
+ 2539, 2543, 2552, 2561, 2570, 2574, 2582, 2589, 2593, 2598,
+ 2608, 2627, 2636, 2727, 2731, 2738, 2749, 2762, 2772, 2783,
+ 2793, 2804, 2812, 2822, 2829, 2832, 2833, 2840, 2844, 2849,
+ 2865, 2882, 2896, 2910, 2922, 2930, 2937, 2943, 2949, 2955,
+ 2970, 3068, 3073, 3077, 3084, 3091, 3099, 3106, 3114, 3122,
+ 3136, 3153, 3161
};
#endif
case 276:
#line 2582 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{ // Return with a result...
- (yyval.TermInstVal) = new ReturnInst(*(yyvsp[(2) - (2)].ValueList));
+ ValueList &VL = *(yyvsp[(2) - (2)].ValueList);
+ assert(!VL.empty() && "Invalid ret operands!");
+ (yyval.TermInstVal) = new ReturnInst(&VL[0], VL.size());
delete (yyvsp[(2) - (2)].ValueList);
CHECK_FOR_ERROR
;}
break;
case 277:
-#line 2587 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2589 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{ // Return with no result...
(yyval.TermInstVal) = new ReturnInst();
CHECK_FOR_ERROR
break;
case 278:
-#line 2591 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2593 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{ // Unconditional Branch...
BasicBlock* tmpBB = getBBVal((yyvsp[(3) - (3)].ValIDVal));
CHECK_FOR_ERROR
break;
case 279:
-#line 2596 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2598 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{
assert(cast<IntegerType>((yyvsp[(2) - (9)].PrimType))->getBitWidth() == 1 && "Not Bool?");
BasicBlock* tmpBBA = getBBVal((yyvsp[(6) - (9)].ValIDVal));
break;
case 280:
-#line 2606 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2608 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{
Value* tmpVal = getVal((yyvsp[(2) - (9)].PrimType), (yyvsp[(3) - (9)].ValIDVal));
CHECK_FOR_ERROR
break;
case 281:
-#line 2625 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2627 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{
Value* tmpVal = getVal((yyvsp[(2) - (8)].PrimType), (yyvsp[(3) - (8)].ValIDVal));
CHECK_FOR_ERROR
break;
case 282:
-#line 2635 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2637 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{
// Handle the short syntax
break;
case 283:
-#line 2725 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2727 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.TermInstVal) = new UnwindInst();
CHECK_FOR_ERROR
break;
case 284:
-#line 2729 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2731 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.TermInstVal) = new UnreachableInst();
CHECK_FOR_ERROR
break;
case 285:
-#line 2736 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2738 "/Volumes/Nanpura/mrv/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 286:
-#line 2747 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2749 "/Volumes/Nanpura/mrv/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 287:
-#line 2760 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2762 "/Volumes/Nanpura/mrv/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 288:
-#line 2770 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2772 "/Volumes/Nanpura/mrv/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 289:
-#line 2781 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2783 "/Volumes/Nanpura/mrv/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 290:
-#line 2791 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2793 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{
// FIXME: Remove trailing OptParamAttrs in LLVM 3.0, it was a mistake in 2.0
if (!UpRefs.empty())
break;
case 291:
-#line 2802 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2804 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{
// FIXME: Remove trailing OptParamAttrs in LLVM 3.0, it was a mistake in 2.0
// Labels are only valid in ASMs
break;
case 292:
-#line 2810 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2812 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{
// FIXME: Remove trailing OptParamAttrs in LLVM 3.0, it was a mistake in 2.0
if (!UpRefs.empty())
break;
case 293:
-#line 2820 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2822 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{
// FIXME: Remove trailing OptParamAttrs in LLVM 3.0, it was a mistake in 2.0
(yyval.ParamList) = (yyvsp[(1) - (6)].ParamList);
break;
case 294:
-#line 2827 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2829 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.ParamList) = new ParamList(); ;}
break;
case 295:
-#line 2830 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2832 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.ValueList) = new std::vector<Value*>(); ;}
break;
case 296:
-#line 2831 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2833 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.ValueList) = (yyvsp[(1) - (3)].ValueList);
(yyval.ValueList)->push_back((yyvsp[(3) - (3)].ValueVal));
break;
case 297:
-#line 2838 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2840 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.BoolVal) = true;
CHECK_FOR_ERROR
break;
case 298:
-#line 2842 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2844 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.BoolVal) = false;
CHECK_FOR_ERROR
break;
case 299:
-#line 2847 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2849 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(2) - (5)].TypeVal))->getDescription());
break;
case 300:
-#line 2863 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2865 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(2) - (5)].TypeVal))->getDescription());
break;
case 301:
-#line 2880 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2882 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(3) - (6)].TypeVal))->getDescription());
break;
case 302:
-#line 2894 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2896 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(3) - (6)].TypeVal))->getDescription());
break;
case 303:
-#line 2908 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2910 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(4) - (4)].TypeVal))->getDescription());
break;
case 304:
-#line 2920 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2922 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{
if ((yyvsp[(2) - (6)].ValueVal)->getType() != Type::Int1Ty)
GEN_ERROR("select condition must be boolean");
break;
case 305:
-#line 2928 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2930 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(4) - (4)].TypeVal))->getDescription());
break;
case 306:
-#line 2935 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2937 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!ExtractElementInst::isValidOperands((yyvsp[(2) - (4)].ValueVal), (yyvsp[(4) - (4)].ValueVal)))
GEN_ERROR("Invalid extractelement operands");
break;
case 307:
-#line 2941 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2943 "/Volumes/Nanpura/mrv/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 308:
-#line 2947 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2949 "/Volumes/Nanpura/mrv/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 309:
-#line 2953 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2955 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{
const Type *Ty = (yyvsp[(2) - (2)].PHIList)->front().first->getType();
if (!Ty->isFirstClassType())
break;
case 310:
-#line 2969 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2971 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{
// Handle the short syntax
break;
case 311:
-#line 3066 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 3068 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.InstVal) = (yyvsp[(1) - (1)].InstVal);
CHECK_FOR_ERROR
break;
case 312:
-#line 3071 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 3073 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.BoolVal) = true;
CHECK_FOR_ERROR
break;
case 313:
-#line 3075 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 3077 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.BoolVal) = false;
CHECK_FOR_ERROR
break;
case 314:
-#line 3082 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 3084 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(2) - (3)].TypeVal))->getDescription());
break;
case 315:
-#line 3089 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 3091 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(2) - (6)].TypeVal))->getDescription());
break;
case 316:
-#line 3097 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 3099 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(2) - (3)].TypeVal))->getDescription());
break;
case 317:
-#line 3104 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 3106 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(2) - (6)].TypeVal))->getDescription());
break;
case 318:
-#line 3112 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 3114 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!isa<PointerType>((yyvsp[(2) - (2)].ValueVal)->getType()))
GEN_ERROR("Trying to free nonpointer type " +
break;
case 319:
-#line 3120 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 3122 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(3) - (5)].TypeVal))->getDescription());
break;
case 320:
-#line 3134 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 3136 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(5) - (7)].TypeVal))->getDescription());
break;
case 321:
-#line 3151 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 3153 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{
Value *TmpVal = getVal((yyvsp[(2) - (5)].TypeVal)->get(), (yyvsp[(3) - (5)].ValIDVal));
if (!GetResultInst::isValidOperands(TmpVal, (yyvsp[(5) - (5)].UInt64Val)))
break;
case 322:
-#line 3159 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 3161 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(2) - (4)].TypeVal))->getDescription());
/* Line 1267 of yacc.c. */
-#line 6409 "llvmAsmParser.tab.c"
+#line 6411 "llvmAsmParser.tab.c"
default: break;
}
YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
}
-#line 3176 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 3178 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
// common code from the two 'RunVMAsmParser' functions