[llvm] [VPlan] Dissolve replicate regions with vector live-outs. (PR #189022)

via llvm-commits llvm-commits at lists.llvm.org
Sat Apr 4 10:28:38 PDT 2026


================
@@ -1386,6 +1394,8 @@ bool VPInstruction::usesFirstLaneOnly(const VPValue *Op) const {
     return false;
   case Instruction::ExtractElement:
     return Op == getOperand(1);
+  case Instruction::InsertElement:
+    return Op != getOperand(0);
----------------
ayalz wrote:

Independent: this API was originally meant to indicate whether the VPInstruction is conceptually folding an extract-first-lane from a vector operand as part of its operation, and seems to be confused for "is the operand single scalar". Would be good to clean-up, possibly by introducing explicit extracts.

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


More information about the llvm-commits mailing list