[llvm] [VPlan] Fix first-order splices without header mask not using EVL (PR #146672)
    Luke Lau via llvm-commits 
    llvm-commits at lists.llvm.org
       
    Thu Jul  3 10:58:55 PDT 2025
    
    
  
================
@@ -2212,16 +2201,37 @@ static void transformRecipestoEVLRecipes(VPlan &Plan, VPValue &EVL) {
                                              DebugLoc());
 
     Builder.setInsertPoint(Header, Header->getFirstNonPhi());
-    PrevEVL = Builder.createScalarPhi({MaxEVL, &EVL}, DebugLoc(), "prev.evl");
+    VPValue *PrevEVL =
+        Builder.createScalarPhi({MaxEVL, &EVL}, DebugLoc(), "prev.evl");
+
+    for (VPBasicBlock *VPBB : VPBlockUtils::blocksOnly<VPBasicBlock>(
+             vp_depth_first_deep(Plan.getVectorLoopRegion()->getEntry()))) {
----------------
lukel97 wrote:
I think so, all splices need to have a first-order recurrence phi as an operand right? Will take a look and submit a follow up PR
https://github.com/llvm/llvm-project/pull/146672
    
    
More information about the llvm-commits
mailing list