[llvm] [VPlan] Simplify EVL strided load match in optimizeMaskToEVL. nfc (PR #211193)
via llvm-commits
llvm-commits at lists.llvm.org
Wed Jul 22 00:50:32 PDT 2026
llvmorg-github-actions[bot] wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-vectorizers
Author: Mel Chen (Mel-Chen)
<details>
<summary>Changes</summary>
---
Full diff: https://github.com/llvm/llvm-project/pull/211193.diff
1 Files Affected:
- (modified) llvm/lib/Transforms/Vectorize/VPlanEVLTailFolding.cpp (+5-8)
``````````diff
diff --git a/llvm/lib/Transforms/Vectorize/VPlanEVLTailFolding.cpp b/llvm/lib/Transforms/Vectorize/VPlanEVLTailFolding.cpp
index cc55d766ba596..fab0765083d6f 100644
--- a/llvm/lib/Transforms/Vectorize/VPlanEVLTailFolding.cpp
+++ b/llvm/lib/Transforms/Vectorize/VPlanEVLTailFolding.cpp
@@ -154,15 +154,12 @@ static VPRecipeBase *optimizeMaskToEVL(VPValue *HeaderMask,
LoadR->getScalarType(), {}, {}, DL);
}
- VPValue *Stride;
- if (match(&CurRecipe, m_Intrinsic<Intrinsic::experimental_vp_strided_load>(
- m_VPValue(Addr), m_VPValue(Stride),
- m_RemoveMask(HeaderMask, Mask),
- m_TruncOrSelf(m_Specific(&Plan->getVF()))))) {
- if (!Mask)
- Mask = Plan->getTrue();
+ if (match(&CurRecipe,
+ m_Intrinsic<Intrinsic::experimental_vp_strided_load>(
+ m_VPValue(), m_VPValue(), m_RemoveMask(HeaderMask, Mask),
+ m_TruncOrSelf(m_Specific(&Plan->getVF()))))) {
auto *NewLoad = cast<VPWidenMemIntrinsicRecipe>(&CurRecipe)->clone();
- NewLoad->setOperand(2, Mask);
+ NewLoad->setOperand(2, Mask ? Mask : Plan->getTrue());
NewLoad->setOperand(3, &EVL);
return NewLoad;
}
``````````
</details>
https://github.com/llvm/llvm-project/pull/211193
More information about the llvm-commits
mailing list