[llvm] [SLP]Improve/fix subvectors in gather/buildvector nodes handling (PR #104144)

via llvm-commits llvm-commits at lists.llvm.org
Mon Aug 26 02:56:24 PDT 2024


================
@@ -13122,6 +13069,8 @@ ResTy BoUpSLP::processBuildVector(const TreeEntry *E, Type *ScalarTy,
 }
 
 Value *BoUpSLP::createBuildVector(const TreeEntry *E, Type *ScalarTy) {
+  for (const auto [EIdx, _] : E->CombinedEntriesWithIndices)
+    (void)vectorizeTree(VectorizableTree[EIdx].get(), /*PostponedPHIs=*/false);
----------------
tcwzxx wrote:

I noticed issue #105904. This patch breaks the precondition of the Gather node, which must have only a single user in `vectorizeOperand`

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


More information about the llvm-commits mailing list