@@ -4549,7 +4549,8 @@ LoopVectorizationPlanner::selectInterleaveCount(VPlan &Plan, ElementCount VF,
45494549
45504550 // FIXME: implement interleaving for FindLast transform correctly.
45514551 for (auto &[_, RdxDesc] : Legal->getReductionVars ())
4552- if (RecurrenceDescriptor::isFindLastRecurrenceKind (RdxDesc.getRecurrenceKind ()))
4552+ if (RecurrenceDescriptor::isFindLastRecurrenceKind (
4553+ RdxDesc.getRecurrenceKind ()))
45534554 return 1 ;
45544555
45554556 // If we did not calculate the cost for VF (because the user selected the VF)
@@ -8694,8 +8695,8 @@ VPlanPtr LoopVectorizationPlanner::tryToBuildVPlanWithVPRecipes(
86948695 return nullptr ;
86958696
86968697 // Create whole-vector selects for find-last recurrences.
8697- VPlanTransforms::runPass (VPlanTransforms::convertFindLastRecurrences,
8698- *Plan, RecipeBuilder, Legal);
8698+ VPlanTransforms::runPass (VPlanTransforms::convertFindLastRecurrences, *Plan,
8699+ RecipeBuilder, Legal);
86998700
87008701 if (useActiveLaneMask (Style)) {
87018702 // TODO: Move checks to VPlanTransforms::addActiveLaneMask once
@@ -8999,7 +9000,7 @@ void LoopVectorizationPlanner::adjustRecipesForReductions(
89999000 Builder.createNaryOp (VPInstruction::ComputeAnyOfResult,
90009001 {PhiR, Start, NewExitingVPV}, ExitDL);
90019002 } else if (RecurrenceDescriptor::isFindLastRecurrenceKind (
9002- RdxDesc.getRecurrenceKind ())) {
9003+ RdxDesc.getRecurrenceKind ())) {
90039004 FinalReductionResult = Builder.createNaryOp (
90049005 VPInstruction::ExtractLastActive, {NewExitingVPV}, ExitDL);
90059006 } else {
@@ -10087,9 +10088,10 @@ bool LoopVectorizePass::processLoop(Loop *L) {
1008710088
1008810089 // FIXME: Enable interleaving for last_active reductions.
1008910090 if (any_of (LVL.getReductionVars (), [&](auto &Reduction) -> bool {
10090- const RecurrenceDescriptor &RdxDesc = Reduction.second ;
10091- return RecurrenceDescriptor::isFindLastRecurrenceKind (RdxDesc.getRecurrenceKind ());
10092- })) {
10091+ const RecurrenceDescriptor &RdxDesc = Reduction.second ;
10092+ return RecurrenceDescriptor::isFindLastRecurrenceKind (
10093+ RdxDesc.getRecurrenceKind ());
10094+ })) {
1009310095 LLVM_DEBUG (dbgs () << " LV: Not interleaving without vectorization due "
1009410096 << " to conditional scalar assignments.\n " );
1009510097 IntDiagMsg = {
0 commit comments