[llvm] [LV][POC] Use umin to avoid second-to-last iteration problems with EVL (PR #143434)

Mel Chen via llvm-commits llvm-commits at lists.llvm.org
Mon Jun 9 19:06:01 PDT 2025


================
@@ -2183,8 +2181,7 @@ static void transformRecipestoEVLRecipes(VPlan &Plan, VPValue &EVL) {
           VFSize > 32 ? Instruction::Trunc : Instruction::ZExt, MaxEVL,
           Type::getInt32Ty(Ctx), DebugLoc());
     }
-    Builder.setInsertPoint(Header, Header->getFirstNonPhi());
-    PrevEVL = Builder.createScalarPhi({MaxEVL, &EVL}, DebugLoc(), "prev.evl");
+    PrevEVL = MaxEVL;
----------------
Mel-Chen wrote:

The code in `if (ContainsFOR)` and `vp.splice` can be removed if VLOPT works well.

https://github.com/llvm/llvm-project/pull/143434


More information about the llvm-commits mailing list