[llvm] 76d4a51 - [Vectorize] Remove unused functions (NFC) (#226392)
via llvm-commits
llvm-commits at lists.llvm.org
Fri Sep 25 08:11:28 PDT 2026
Author: Kazu Hirata
Date: 2026-09-25T08:11:21-07:00
New Revision: 76d4a51fe990d5915c8b30587b09d57e45d533a2
URL: https://github.com/llvm/llvm-project/commit/76d4a51fe990d5915c8b30587b09d57e45d533a2
DIFF: https://github.com/llvm/llvm-project/commit/76d4a51fe990d5915c8b30587b09d57e45d533a2.diff
LOG: [Vectorize] Remove unused functions (NFC) (#226392)
BoUpSLP::TreeEntry::isOneOf:
The last caller was removed on April 1, 2025 in commit
0e3049c562ccdea288c3b1f3b3d1ce5992d284b0.
BoUpSLP::ScheduleCopyableData::verify:
Introduced on August 11, 2025 in commit
2d7b55a028139dde58a994a65895841190dfde96 without any callers.
HorizontalReduction::hasSameParent:
The last caller was removed on July 29, 2024 in commit
197f4a90519df308d9bfddcc931f7683a5ae9cb9.
VPBlockBase::getHierarchicalPredecessors:
The last caller was removed on May 24, 2025 in commit
dcef154b5caf6556e69bb18bbb0506d274aa474e.
VPIRFlags::isNonNeg:
The last caller was removed on July 1, 2025 in commit
6b3d2b629cc3805d483ec4522cc97e2540070ae1.
VPHistogramRecipe::getOpcode:
Introduced on September 27, 2024 in commit
6f1a8c2da278a04565877e277bc4d5b70055ac74 without any callers.
VPWidenInductionRecipe::setStepValue:
The last caller was removed on May 22, 2026 in commit
5c853423f4f9e7296b7596b7f3ccade481686bfd.
VPReductionPHIRecipe::isPartialReduction:
Introduced on November 26, 2025 in commit
071d1fb8beda4c0ec9ede0acab12a382f34758fe without any callers.
VPTransformState::reset:
The last callers were removed on May 3, 2026 in commit
efd429fdfb6f3f0a6991d9d08ab15ca89f27a7c3.
VPValue::hasDefiningRecipe:
The last caller was removed on June 28, 2026 in commit
7abad0faf4bfe1cb674d7fd362cc31edb1d0c460.
Assisted-by: Antigravity
Added:
Modified:
llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
llvm/lib/Transforms/Vectorize/VPlan.h
llvm/lib/Transforms/Vectorize/VPlanHelpers.h
llvm/lib/Transforms/Vectorize/VPlanValue.h
Removed:
################################################################################
diff --git a/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp b/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
index a129d69ad90fa..e14de4f29d148 100644
--- a/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
+++ b/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
@@ -3040,16 +3040,6 @@ class slpvectorizer::BoUpSLP {
return S.getMatchingMainOpOrAltOp(I);
}
- /// Chooses the correct key for scheduling data. If \p Op has the same (or
- /// alternate) opcode as \p OpValue, the key is \p Op. Otherwise the key is
- /// \p OpValue.
- Value *isOneOf(Value *Op) const {
- auto *I = dyn_cast<Instruction>(Op);
- if (I && getMatchingMainOpOrAltOp(I))
- return Op;
- return S.getMainOp();
- }
-
void setOperations(const InstructionsState &S) {
assert(S && "InstructionsState is invalid.");
this->S = S;
@@ -4239,20 +4229,6 @@ class slpvectorizer::BoUpSLP {
return Entity->getKind() == Kind::ScheduleCopyableData;
}
- /// Verify basic self consistency properties
- void verify() {
- if (hasValidDependencies()) {
- assert(UnscheduledDeps <= Dependencies && "invariant");
- } else {
- assert(UnscheduledDeps == Dependencies && "invariant");
- }
-
- if (IsScheduled) {
- assert(hasValidDependencies() && UnscheduledDeps == 0 &&
- "unexpected scheduled state");
- }
- }
-
/// Returns true if the dependency information has been calculated.
/// Note that depenendency validity can vary between instructions within
/// a single bundle.
@@ -30748,17 +30724,6 @@ class HorizontalReduction {
return isCmpSelMinMax(I) ? 3 : (I->isUnaryOp() ? 1 : 2);
}
- /// Checks if the instruction is in basic block \p BB.
- /// For a cmp+sel min/max reduction check that both ops are in \p BB.
- static bool hasSameParent(Instruction *I, BasicBlock *BB) {
- if (isCmpSelMinMax(I) || isBoolLogicOp(I)) {
- auto *Sel = cast<SelectInst>(I);
- auto *Cmp = dyn_cast<Instruction>(Sel->getCondition());
- return Sel->getParent() == BB && Cmp && Cmp->getParent() == BB;
- }
- return I->getParent() == BB;
- }
-
/// Expected number of uses for reduction operations/reduced values.
static bool hasRequiredNumberOfUses(bool IsCmpSelMinMax, Instruction *I) {
if (IsCmpSelMinMax) {
diff --git a/llvm/lib/Transforms/Vectorize/VPlan.h b/llvm/lib/Transforms/Vectorize/VPlan.h
index e4778489a4060..746c0231f6fcf 100644
--- a/llvm/lib/Transforms/Vectorize/VPlan.h
+++ b/llvm/lib/Transforms/Vectorize/VPlan.h
@@ -266,16 +266,6 @@ class LLVM_ABI_FOR_TEST VPBlockBase {
return getEnclosingBlockWithSuccessors()->getSuccessors();
}
- /// \return the predecessors either attached directly to this VPBlockBase or,
- /// if this VPBlockBase is the entry block of a VPRegionBlock and has no
- /// predecessors of its own, search recursively for the first enclosing
- /// VPRegionBlock that has predecessors and return them. If no such
- /// VPRegionBlock exists, return the (empty) predecessors of the topmost
- /// VPBlockBase reached.
- const VPBlocksTy &getHierarchicalPredecessors() {
- return getEnclosingBlockWithPredecessors()->getPredecessors();
- }
-
/// \return the hierarchical predecessor of this VPBlockBase if it has a
/// single hierarchical predecessor. Otherwise return a null pointer.
VPBlockBase *getSingleHierarchicalPredecessor() {
@@ -1016,12 +1006,6 @@ class VPIRFlags {
LLVM_ABI_FOR_TEST FastMathFlags getFastMathFlagsOrNone() const;
- bool isNonNeg() const {
- assert(OpType == OperationType::NonNegOp &&
- "recipe doesn't have a NNEG flag");
- return NonNegFlags.NonNeg;
- }
-
bool hasNoUnsignedWrap() const {
switch (OpType) {
case OperationType::OverflowingBinOp:
@@ -2200,8 +2184,6 @@ class VPHistogramRecipe : public VPRecipeBase, public VPIRMetadata {
InstructionCost computeCost(ElementCount VF,
VPCostContext &Ctx) const override;
- unsigned getOpcode() const { return Opcode; }
-
/// Return the mask operand if one was provided, or a null pointer if all
/// lanes should be executed unconditionally.
VPValue *getMask() const {
@@ -2577,9 +2559,6 @@ class VPWidenInductionRecipe : public VPHeaderPHIRecipe {
VPValue *getStepValue() { return getOperand(1); }
const VPValue *getStepValue() const { return getOperand(1); }
- /// Update the step value of the recipe.
- void setStepValue(VPValue *V) { setOperand(1, V); }
-
VPValue *getVFValue() { return getOperand(2); }
const VPValue *getVFValue() const { return getOperand(2); }
@@ -2940,9 +2919,6 @@ class VPReductionPHIRecipe : public VPHeaderPHIRecipe, public VPIRFlags {
std::holds_alternative<RdxOrdered>(Style);
}
- /// Returns true if the reduction outputs a vector with a scaled down VF.
- bool isPartialReduction() const { return getVFScaleFactor() > 1; }
-
/// Returns true, if the phi is part of a multi-use reduction.
bool hasUsesOutsideReductionChain() const {
return HasUsesOutsideReductionChain;
diff --git a/llvm/lib/Transforms/Vectorize/VPlanHelpers.h b/llvm/lib/Transforms/Vectorize/VPlanHelpers.h
index b991dd12d3e34..e20ec00a30aaa 100644
--- a/llvm/lib/Transforms/Vectorize/VPlanHelpers.h
+++ b/llvm/lib/Transforms/Vectorize/VPlanHelpers.h
@@ -241,12 +241,6 @@ struct VPTransformState {
Data.VPV2Vector[Def] = V;
}
- /// Reset an existing vector value for \p Def and a given \p Part.
- void reset(const VPValue *Def, Value *V) {
- assert(Data.VPV2Vector.contains(Def) && "need to overwrite existing value");
- Data.VPV2Vector[Def] = V;
- }
-
/// Set the generated scalar \p V for \p Def and the given \p Lane.
void set(const VPValue *Def, Value *V, const VPLane &Lane) {
auto &Scalars = Data.VPV2Scalars[Def];
@@ -257,17 +251,6 @@ struct VPTransformState {
Scalars[CacheIdx] = V;
}
- /// Reset an existing scalar value for \p Def and a given \p Lane.
- void reset(const VPValue *Def, Value *V, const VPLane &Lane) {
- auto Iter = Data.VPV2Scalars.find(Def);
- assert(Iter != Data.VPV2Scalars.end() &&
- "need to overwrite existing value");
- unsigned CacheIdx = Lane.mapToCacheIndex(VF);
- assert(CacheIdx < Iter->second.size() &&
- "need to overwrite existing value");
- Iter->second[CacheIdx] = V;
- }
-
/// Set the debug location in the builder using the debug location \p DL.
void setDebugLocFrom(DebugLoc DL);
diff --git a/llvm/lib/Transforms/Vectorize/VPlanValue.h b/llvm/lib/Transforms/Vectorize/VPlanValue.h
index 3157d69f4f874..efee052081c06 100644
--- a/llvm/lib/Transforms/Vectorize/VPlanValue.h
+++ b/llvm/lib/Transforms/Vectorize/VPlanValue.h
@@ -199,9 +199,6 @@ class LLVM_ABI_FOR_TEST VPValue {
/// concrete subclass.
Type *getScalarType() const;
- /// Returns true if this VPValue is defined by a recipe.
- bool hasDefiningRecipe() const { return getDefiningRecipe(); }
-
/// Returns true if the VPValue is defined outside any loop.
bool isDefinedOutsideLoopRegions() const;
More information about the llvm-commits
mailing list