[llvm] [SLP] Check for extracts, being replaced by original scalars, for user nodes (PR #149572)

Alexey Bataev via llvm-commits llvm-commits at lists.llvm.org
Mon Jul 28 06:49:38 PDT 2025


================
@@ -13245,7 +13366,9 @@ class BoUpSLP::ShuffleCostEstimator : public BaseShuffleAnalysis {
       });
       InVectors.front() = V;
     }
-    if (!SubVectors.empty()) {
+    if (!SubVectors.empty() &&
+        (SubVectors.size() > 1 || SubVectors.front().second != 0 ||
+         SubVectors.front().first->getVectorFactor() != CommonMask.size())) {
----------------
alexey-bataev wrote:

Can't, the check is `SubVectors.size() > 1 || ..`, i.e. it may be true if SubVectors,size() <= 1, so need to check that it is not empty.

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


More information about the llvm-commits mailing list