@@ -8628,8 +8628,9 @@ void VPRecipeBuilder::fixHeaderPhis() {
8628
8628
}
8629
8629
}
8630
8630
8631
- VPReplicateRecipe *VPRecipeBuilder::handleReplication (Instruction *I,
8632
- VFRange &Range) {
8631
+ VPReplicateRecipe *
8632
+ VPRecipeBuilder::handleReplication (Instruction *I, ArrayRef<VPValue *> Operands,
8633
+ VFRange &Range) {
8633
8634
bool IsUniform = LoopVectorizationPlanner::getDecisionAndClampRange (
8634
8635
[&](ElementCount VF) { return CM.isUniformAfterVectorization (I, VF); },
8635
8636
Range);
@@ -8685,8 +8686,8 @@ VPReplicateRecipe *VPRecipeBuilder::handleReplication(Instruction *I,
8685
8686
assert ((Range.Start .isScalar () || !IsUniform || !IsPredicated ||
8686
8687
(Range.Start .isScalable () && isa<IntrinsicInst>(I))) &&
8687
8688
" Should not predicate a uniform recipe" );
8688
- auto *Recipe = new VPReplicateRecipe (I, mapToVPValues (I-> operands ()),
8689
- IsUniform, BlockInMask);
8689
+ auto *Recipe = new VPReplicateRecipe (
8690
+ I, make_range (Operands. begin (), Operands. end ()), IsUniform, BlockInMask);
8690
8691
return Recipe;
8691
8692
}
8692
8693
@@ -9358,7 +9359,7 @@ LoopVectorizationPlanner::tryToBuildVPlanWithVPRecipes(VFRange &Range) {
9358
9359
VPRecipeBase *Recipe =
9359
9360
RecipeBuilder.tryToCreateWidenRecipe (Instr, Operands, Range, VPBB);
9360
9361
if (!Recipe)
9361
- Recipe = RecipeBuilder.handleReplication (Instr, Range);
9362
+ Recipe = RecipeBuilder.handleReplication (Instr, Operands, Range);
9362
9363
9363
9364
RecipeBuilder.setRecipe (Instr, Recipe);
9364
9365
if (isa<VPHeaderPHIRecipe>(Recipe)) {
0 commit comments