[llvm] [VPlan] Run narrowInterleaveGroups during general VPlan optimizations. (PR #149706)
    via llvm-commits 
    llvm-commits at lists.llvm.org
       
    Thu Oct 23 09:51:23 PDT 2025
    
    
  
================
@@ -7231,9 +7231,6 @@ DenseMap<const SCEV *, Value *> LoopVectorizationPlanner::executePlan(
     return DenseMap<const SCEV *, Value *>();
   }
 
-  VPlanTransforms::narrowInterleaveGroups(
-      BestVPlan, BestVF,
-      TTI.getRegisterBitWidth(TargetTransformInfo::RGK_FixedWidthVector));
----------------
ayalz wrote:
Note that in addition to moving narrowInterleaveGroups from VPlan execution to planning, it also changes relative transform order - being moved from LVP::executePlan() after optimizing for final VF and UF, to be the last transform of buildVPlansWithVPRecipes(), skipping over several transforms in LVP::executePlan().
Perhaps worth first hoisting it to appear earlier/earliest in LVP::executePlan(), still operating on the final VPlan but before it is unrolled etc., and then move it to the end of LVP::executePlan() where it operates on multiple VPlan's?
https://github.com/llvm/llvm-project/pull/149706
    
    
More information about the llvm-commits
mailing list