@@ -8549,14 +8549,6 @@ VPWidenRecipe *VPRecipeBuilder::tryToWiden(Instruction *I,
85498549 }
85508550 [[fallthrough]];
85518551 }
8552- case Instruction::ExtractValue: {
8553- SmallVector<VPValue *> NewOps (Operands);
8554- Type *I32Ty = IntegerType::getInt32Ty (I->getContext ());
8555- for (unsigned Idx : cast<ExtractValueInst>(I)->getIndices ())
8556- NewOps.push_back (
8557- Plan.getOrAddLiveIn (ConstantInt::get (I32Ty, Idx, false )));
8558- return new VPWidenRecipe (*I, make_range (NewOps.begin (), NewOps.end ()));
8559- }
85608552 case Instruction::Add:
85618553 case Instruction::And:
85628554 case Instruction::AShr:
@@ -8575,7 +8567,7 @@ VPWidenRecipe *VPRecipeBuilder::tryToWiden(Instruction *I,
85758567 case Instruction::Shl:
85768568 case Instruction::Sub:
85778569 case Instruction::Xor:
8578- case Instruction::Freeze:
8570+ case Instruction::Freeze: {
85798571 SmallVector<VPValue *> NewOps (Operands);
85808572 if (Instruction::isBinaryOp (I->getOpcode ())) {
85818573 // The legacy cost model uses SCEV to check if some of the operands are
@@ -8598,6 +8590,15 @@ VPWidenRecipe *VPRecipeBuilder::tryToWiden(Instruction *I,
85988590 NewOps[1 ] = GetConstantViaSCEV (NewOps[1 ]);
85998591 }
86008592 return new VPWidenRecipe (*I, make_range (NewOps.begin (), NewOps.end ()));
8593+ }
8594+ case Instruction::ExtractValue: {
8595+ SmallVector<VPValue *> NewOps (Operands);
8596+ Type *I32Ty = IntegerType::getInt32Ty (I->getContext ());
8597+ for (unsigned Idx : cast<ExtractValueInst>(I)->getIndices ())
8598+ NewOps.push_back (
8599+ Plan.getOrAddLiveIn (ConstantInt::get (I32Ty, Idx, false )));
8600+ return new VPWidenRecipe (*I, make_range (NewOps.begin (), NewOps.end ()));
8601+ }
86018602 };
86028603}
86038604
0 commit comments