[llvm] [SLP] Enable full non-power-of-2 vectorization by default (PR #199450)

via llvm-commits llvm-commits at lists.llvm.org
Mon Sep 7 06:45:11 PDT 2026


github-actions[bot] wrote:

<!--LLVM CODE FORMAT COMMENT: {clang-format}-->


:warning: C/C++ code formatter, clang-format found issues in your code. :warning:

<details>
<summary>
You can test this locally with the following command:
</summary>

``````````bash
git-clang-format --diff origin/main HEAD --extensions h,cpp -- llvm/include/llvm/Transforms/Vectorize/SLPVectorizer.h llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp llvm/lib/Target/X86/X86ISelLowering.cpp llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp llvm/lib/Transforms/Vectorize/SLPVectorizer/SLPCompatibilityAnalysis.cpp llvm/lib/Transforms/Vectorize/SLPVectorizer/SLPCostAnalysis.cpp llvm/lib/Transforms/Vectorize/SLPVectorizer/SLPCostAnalysis.h llvm/lib/Transforms/Vectorize/SLPVectorizer/SLPTypeUtils.cpp llvm/lib/Transforms/Vectorize/SLPVectorizer/SLPTypeUtils.h --diff_from_common_commit
``````````

:warning:
The reproduction instructions above might return results for more than one PR
in a stack if you are using a stacked PR workflow. You can limit the results by
changing `origin/main` to the base branch/commit you want to compare against.
:warning:

</details>

<details>
<summary>
View the diff from clang-format here.
</summary>

``````````diff
diff --git a/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp b/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
index 92ab670bb..be853cb47 100644
--- a/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
+++ b/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
@@ -9084,8 +9084,8 @@ void BoUpSLP::tryToVectorizeGatheredLoads(
     // A width just past a full vector wastes a whole register, skip it.
     if (isAllowedNonPowerOf2VF(MaxVF, IsVectorElement, VectorizeNonPowerOf2,
                                SLPReVec) &&
-        getFullVectorNumberOfElements(*TTI, Loads.front()->getType(),
-                                      MaxVF - 1, SLPReVec) != MaxVF - 1)
+        getFullVectorNumberOfElements(*TTI, Loads.front()->getType(), MaxVF - 1,
+                                      SLPReVec) != MaxVF - 1)
       CandidateVFs.push_back(MaxVF);
     for (int NumElts = getFloorFullVectorNumberOfElements(
              *TTI, Loads.front()->getType(), MaxVF, SLPReVec);

``````````

</details>


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


More information about the llvm-commits mailing list