From dda505c191a4e7c17ffad0c346a89d521f57613d Mon Sep 17 00:00:00 2001 From: Ramkumar Ramachandra Date: Tue, 26 May 2026 15:12:43 -0400 Subject: [PATCH] [VPlan] Add Unpack to VPI::doesGeneratePerAllLanes (NFC) --- llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp | 3 ++- llvm/lib/Transforms/Vectorize/VPlanUnroll.cpp | 3 +-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp b/llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp index cdf9e8b9dede0..76f57165322a8 100644 --- a/llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp +++ b/llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp @@ -622,7 +622,8 @@ unsigned VPInstruction::getNumOperandsForOpcode() const { } bool VPInstruction::doesGeneratePerAllLanes() const { - return Opcode == VPInstruction::PtrAdd && !vputils::onlyFirstLaneUsed(this); + return Opcode == VPInstruction::Unpack || + (Opcode == VPInstruction::PtrAdd && !vputils::onlyFirstLaneUsed(this)); } bool VPInstruction::canGenerateScalarForFirstLane() const { diff --git a/llvm/lib/Transforms/Vectorize/VPlanUnroll.cpp b/llvm/lib/Transforms/Vectorize/VPlanUnroll.cpp index 65ad0feaa71c9..5ee3de315697b 100644 --- a/llvm/lib/Transforms/Vectorize/VPlanUnroll.cpp +++ b/llvm/lib/Transforms/Vectorize/VPlanUnroll.cpp @@ -945,8 +945,7 @@ void VPlanTransforms::replicateByVF(VPlan &Plan, ElementCount VF) { (isa(&R) && cast(&R)->isSingleScalar()) || (isa(&R) && - !cast(&R)->doesGeneratePerAllLanes() && - cast(&R)->getOpcode() != VPInstruction::Unpack)) + !cast(&R)->doesGeneratePerAllLanes())) continue; auto *DefR = cast(&R);