[llvm] [VectorCombine] Support simplification to scalar store for multiple insertelt (PR #132820)
via llvm-commits
llvm-commits at lists.llvm.org
Mon Jul 13 01:52:55 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 cpp -- llvm/lib/Transforms/Vectorize/VectorCombine.cpp --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/VectorCombine.cpp b/llvm/lib/Transforms/Vectorize/VectorCombine.cpp
index a3edd5393..37cf049a8 100644
--- a/llvm/lib/Transforms/Vectorize/VectorCombine.cpp
+++ b/llvm/lib/Transforms/Vectorize/VectorCombine.cpp
@@ -1984,8 +1984,9 @@ static Align computeAlignmentAfterScalarization(Align VectorAlignment,
/// vector store <-- insertelement <-- ... <-- insertelement <-- load
///
/// Steps 3-5. Validate:
-/// reject unprofitable full overwrites; require simple accesses, a common
-/// address/block, no memory write in between, and scalarizable indices.
+/// reject unprofitable full overwrites; require simple accesses, a
+/// common address/block, no memory write in between, and scalarizable
+/// indices.
bool VectorCombine::foldInsertElementsToStores(Instruction &I) {
// Step 1: The target must support addressing a vector element with a GEP.
if (!TTI.allowVectorElementIndexingUsingGEP())
``````````
</details>
https://github.com/llvm/llvm-project/pull/132820
More information about the llvm-commits
mailing list