[llvm] [SLP] Vectorize full insertvalue buildvector sequences (PR #200274)

Simon Pilgrim via llvm-commits llvm-commits at lists.llvm.org
Fri Jun 5 06:41:39 PDT 2026


================
@@ -508,18 +510,21 @@ static bool isConstant(Value *V) {
 /// insertelement/extractelement with constant indices for fixed vector type or
 /// extractvalue instruction.
 static bool isVectorLikeInstWithConstOps(Value *V) {
-  if (!isa<InsertElementInst, ExtractElementInst>(V) &&
+  if (!isa<InsertElementInst, InsertValueInst, ExtractElementInst>(V) &&
       !isa<ExtractValueInst, UndefValue>(V))
     return false;
   auto *I = dyn_cast<Instruction>(V);
   if (!I || isa<ExtractValueInst>(I))
     return true;
-  if (!isa<FixedVectorType>(I->getOperand(0)->getType()))
-    return false;
   if (isa<ExtractElementInst>(I))
----------------
RKSimon wrote:

Has ExtractElementInst lost the FixedVectorType check on purpose?

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


More information about the llvm-commits mailing list