[llvm] [SLP]Initial compatibility support for shl v, 1 and add v, v (PR #181168)

Alexey Bataev via llvm-commits llvm-commits at lists.llvm.org
Fri Feb 13 04:10:15 PST 2026


================
@@ -4211,6 +4262,26 @@ class slpvectorizer::BoUpSLP {
       return CopyableElements.contains(V);
     }
 
+    /// Checks if the value \p V is a transformed instruction, compatible either
+    /// with main or alternate ops.
+    bool isExpandedBinOp(Value *V) const {
+      assert(hasState() && "InstructionsState is invalid.");
+      if (isCopyableElement(V))
+        return false;
----------------
alexey-bataev wrote:

These functions are a bit different and may define different values as copyables (like, ones compatible, but with different parent basic block), so need to keep this check for the correctness

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


More information about the llvm-commits mailing list