[llvm] 688bccb - [TTI][LV] Simplify the prototype of preferPredicatedReductionSelect. nfc (#139265)
via llvm-commits
llvm-commits at lists.llvm.org
Mon May 12 02:24:40 PDT 2025
Author: Mel Chen
Date: 2025-05-12T17:24:37+08:00
New Revision: 688bccb2902d5e3d665e0374691d03f6b1aeeb39
URL: https://github.com/llvm/llvm-project/commit/688bccb2902d5e3d665e0374691d03f6b1aeeb39
DIFF: https://github.com/llvm/llvm-project/commit/688bccb2902d5e3d665e0374691d03f6b1aeeb39.diff
LOG: [TTI][LV] Simplify the prototype of preferPredicatedReductionSelect. nfc (#139265)
Added:
Modified:
llvm/include/llvm/Analysis/TargetTransformInfo.h
llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
llvm/lib/Analysis/TargetTransformInfo.cpp
llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
llvm/lib/Target/ARM/ARMTargetTransformInfo.cpp
llvm/lib/Target/ARM/ARMTargetTransformInfo.h
llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Removed:
################################################################################
diff --git a/llvm/include/llvm/Analysis/TargetTransformInfo.h b/llvm/include/llvm/Analysis/TargetTransformInfo.h
index 4e2d37be3a2b2..3f639138d8b75 100644
--- a/llvm/include/llvm/Analysis/TargetTransformInfo.h
+++ b/llvm/include/llvm/Analysis/TargetTransformInfo.h
@@ -1797,7 +1797,7 @@ class TargetTransformInfo {
/// As opposed to the normal scheme of p = phi (0, a) which allows the select
/// to be pulled out of the loop. If the select(.., add, ..) can be predicated
/// by the target, this can lead to cleaner code generation.
- bool preferPredicatedReductionSelect(unsigned Opcode, Type *Ty) const;
+ bool preferPredicatedReductionSelect() const;
/// Return true if the loop vectorizer should consider vectorizing an
/// otherwise scalar epilogue loop.
diff --git a/llvm/include/llvm/Analysis/TargetTransformInfoImpl.h b/llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
index a440b6484e94d..a80b4c5179bad 100644
--- a/llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
+++ b/llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
@@ -1087,10 +1087,7 @@ class TargetTransformInfoImplBase {
}
virtual bool preferAlternateOpcodeVectorization() const { return true; }
- virtual bool preferPredicatedReductionSelect(unsigned Opcode,
- Type *Ty) const {
- return false;
- }
+ virtual bool preferPredicatedReductionSelect() const { return false; }
virtual bool preferEpilogueVectorization() const { return true; }
diff --git a/llvm/lib/Analysis/TargetTransformInfo.cpp b/llvm/lib/Analysis/TargetTransformInfo.cpp
index b7e001d86e4b3..0f857399660fe 100644
--- a/llvm/lib/Analysis/TargetTransformInfo.cpp
+++ b/llvm/lib/Analysis/TargetTransformInfo.cpp
@@ -1395,9 +1395,8 @@ bool TargetTransformInfo::preferAlternateOpcodeVectorization() const {
return TTIImpl->preferAlternateOpcodeVectorization();
}
-bool TargetTransformInfo::preferPredicatedReductionSelect(unsigned Opcode,
- Type *Ty) const {
- return TTIImpl->preferPredicatedReductionSelect(Opcode, Ty);
+bool TargetTransformInfo::preferPredicatedReductionSelect() const {
+ return TTIImpl->preferPredicatedReductionSelect();
}
bool TargetTransformInfo::preferEpilogueVectorization() const {
diff --git a/llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h b/llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
index cefb7b97c605b..664c360032ea3 100644
--- a/llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
+++ b/llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
@@ -435,10 +435,7 @@ class AArch64TTIImpl : public BasicTTIImplBase<AArch64TTIImpl> {
bool isLegalToVectorizeReduction(const RecurrenceDescriptor &RdxDesc,
ElementCount VF) const override;
- bool preferPredicatedReductionSelect(unsigned Opcode,
- Type *Ty) const override {
- return ST->hasSVE();
- }
+ bool preferPredicatedReductionSelect() const override { return ST->hasSVE(); }
InstructionCost
getArithmeticReductionCost(unsigned Opcode, VectorType *Ty,
diff --git a/llvm/lib/Target/ARM/ARMTargetTransformInfo.cpp b/llvm/lib/Target/ARM/ARMTargetTransformInfo.cpp
index 3569036de767e..6c3a1ae7e1775 100644
--- a/llvm/lib/Target/ARM/ARMTargetTransformInfo.cpp
+++ b/llvm/lib/Target/ARM/ARMTargetTransformInfo.cpp
@@ -2704,8 +2704,7 @@ bool ARMTTIImpl::preferInLoopReduction(RecurKind Kind, Type *Ty) const {
}
}
-bool ARMTTIImpl::preferPredicatedReductionSelect(unsigned Opcode,
- Type *Ty) const {
+bool ARMTTIImpl::preferPredicatedReductionSelect() const {
if (!ST->hasMVEIntegerOps())
return false;
return true;
diff --git a/llvm/lib/Target/ARM/ARMTargetTransformInfo.h b/llvm/lib/Target/ARM/ARMTargetTransformInfo.h
index 2ce449650c3b9..20a2c59511087 100644
--- a/llvm/lib/Target/ARM/ARMTargetTransformInfo.h
+++ b/llvm/lib/Target/ARM/ARMTargetTransformInfo.h
@@ -230,8 +230,7 @@ class ARMTTIImpl : public BasicTTIImplBase<ARMTTIImpl> {
bool preferInLoopReduction(RecurKind Kind, Type *Ty) const override;
- bool preferPredicatedReductionSelect(unsigned Opcode,
- Type *Ty) const override;
+ bool preferPredicatedReductionSelect() const override;
bool shouldExpandReduction(const IntrinsicInst *II) const override {
return false;
diff --git a/llvm/lib/Transforms/Vectorize/LoopVectorize.cpp b/llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
index 2393ac7182dfd..cc58d014b5df9 100644
--- a/llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
+++ b/llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
@@ -1446,13 +1446,13 @@ class LoopVectorizationCostModel {
/// Returns true if the predicated reduction select should be used to set the
/// incoming value for the reduction phi.
- bool usePredicatedReductionSelect(unsigned Opcode, Type *PhiTy) const {
+ bool usePredicatedReductionSelect() const {
// Force to use predicated reduction select since the EVL of the
// second-to-last iteration might not be VF*UF.
if (foldTailWithEVL())
return true;
return PreferPredicatedReductionSelect ||
- TTI.preferPredicatedReductionSelect(Opcode, PhiTy);
+ TTI.preferPredicatedReductionSelect();
}
/// Estimate cost of an intrinsic call instruction CI if it were vectorized
@@ -9909,8 +9909,7 @@ void LoopVectorizationPlanner::adjustRecipesForReductions(
cast<VPInstruction>(&U)->getOpcode() ==
VPInstruction::ComputeFindLastIVResult);
});
- if (CM.usePredicatedReductionSelect(
- PhiR->getRecurrenceDescriptor().getOpcode(), PhiTy))
+ if (CM.usePredicatedReductionSelect())
PhiR->setOperand(1, NewExitingVPV);
}
More information about the llvm-commits
mailing list