[llvm] [NFC] Remove default CostKind from multiple TTI functions (PR #218547)
Ryan Buchner via llvm-commits
llvm-commits at lists.llvm.org
Tue Aug 25 10:56:29 PDT 2026
https://github.com/bababuck updated https://github.com/llvm/llvm-project/pull/218547
>From 012098fa4a0b24720f43585cfd3a19615e7349ca Mon Sep 17 00:00:00 2001
From: bababuck <buchner.ryan at gmail.com>
Date: Mon, 24 Aug 2026 14:15:07 -0700
Subject: [PATCH 1/2] [NFC] Remove default CostKind from multiple TTI functions
Threw these altogether since they require no paramter reordering
and the default CostKinds were never used.
---
.../llvm/Analysis/TargetTransformInfo.h | 18 +++++++++---------
1 file changed, 9 insertions(+), 9 deletions(-)
diff --git a/llvm/include/llvm/Analysis/TargetTransformInfo.h b/llvm/include/llvm/Analysis/TargetTransformInfo.h
index 1a191716ed1ad..dda5c37727d06 100644
--- a/llvm/include/llvm/Analysis/TargetTransformInfo.h
+++ b/llvm/include/llvm/Analysis/TargetTransformInfo.h
@@ -1553,7 +1553,7 @@ class TargetTransformInfo {
LLVM_ABI InstructionCost getAltInstrCost(
VectorType *VecTy, unsigned Opcode0, unsigned Opcode1,
const SmallBitVector &OpcodeMask,
- TTI::TargetCostKind CostKind = TTI::TCK_RecipThroughput) const;
+ TTI::TargetCostKind CostKind) const;
/// \return The cost of a shuffle instruction of kind Kind with inputs of type
/// SrcTy, producing a vector of type DstTy. The exact mask may be passed as
@@ -1609,7 +1609,7 @@ class TargetTransformInfo {
/// may be passed in the 'I' parameter.
LLVM_ABI InstructionCost getCastInstrCost(
unsigned Opcode, Type *Dst, Type *Src, TTI::CastContextHint CCH,
- TTI::TargetCostKind CostKind = TTI::TCK_SizeAndLatency,
+ TTI::TargetCostKind CostKind,
const Instruction *I = nullptr) const;
/// \return The expected cost of a sign- or zero-extended vector extract. Use
@@ -1621,7 +1621,7 @@ class TargetTransformInfo {
/// \return The expected cost of control-flow related instructions such as
/// Phi, Ret, Br, Switch.
LLVM_ABI InstructionCost getCFInstrCost(
- unsigned Opcode, TTI::TargetCostKind CostKind = TTI::TCK_SizeAndLatency,
+ unsigned Opcode, TTI::TargetCostKind CostKind,
const Instruction *I = nullptr) const;
/// \returns The expected cost of compare and select instructions. If there
@@ -1633,7 +1633,7 @@ class TargetTransformInfo {
/// two operands are the *value* operands, not the condition operand.
LLVM_ABI InstructionCost getCmpSelInstrCost(
unsigned Opcode, Type *ValTy, Type *CondTy, CmpInst::Predicate VecPred,
- TTI::TargetCostKind CostKind = TTI::TCK_RecipThroughput,
+ TTI::TargetCostKind CostKind,
OperandValueInfo Op1Info = {OK_AnyValue, OP_None},
OperandValueInfo Op2Info = {OK_AnyValue, OP_None},
const Instruction *I = nullptr) const;
@@ -1720,7 +1720,7 @@ class TargetTransformInfo {
LLVM_ABI InstructionCost getInterleavedMemoryOpCost(
unsigned Opcode, Type *VecTy, unsigned Factor, ArrayRef<unsigned> Indices,
Align Alignment, unsigned AddressSpace,
- TTI::TargetCostKind CostKind = TTI::TCK_RecipThroughput,
+ TTI::TargetCostKind CostKind,
bool UseMaskForCond = false, bool UseMaskForGaps = false) const;
/// A helper function to determine the type of reduction algorithm used
@@ -1755,7 +1755,7 @@ class TargetTransformInfo {
///
LLVM_ABI InstructionCost getArithmeticReductionCost(
unsigned Opcode, VectorType *Ty, std::optional<FastMathFlags> FMF,
- TTI::TargetCostKind CostKind = TTI::TCK_RecipThroughput) const;
+ TTI::TargetCostKind CostKind) const;
LLVM_ABI InstructionCost getMinMaxReductionCost(
Intrinsic::ID IID, VectorType *Ty, FastMathFlags FMF = FastMathFlags(),
@@ -1768,7 +1768,7 @@ class TargetTransformInfo {
/// * ResTy vecreduce.add/sub(mul(ext(Ty A), ext(Ty B)).
LLVM_ABI InstructionCost getMulAccReductionCost(
bool IsUnsigned, unsigned RedOpcode, Type *ResTy, VectorType *Ty,
- TTI::TargetCostKind CostKind = TTI::TCK_RecipThroughput) const;
+ TTI::TargetCostKind CostKind) const;
/// Calculate the cost of an extended reduction pattern, similar to
/// getArithmeticReductionCost of a reduction with an extension.
@@ -1777,7 +1777,7 @@ class TargetTransformInfo {
LLVM_ABI InstructionCost getExtendedReductionCost(
unsigned Opcode, bool IsUnsigned, Type *ResTy, VectorType *Ty,
std::optional<FastMathFlags> FMF,
- TTI::TargetCostKind CostKind = TTI::TCK_RecipThroughput) const;
+ TTI::TargetCostKind CostKind) const;
/// \returns The cost of Intrinsic instructions. Analyses the real arguments.
/// Three cases are handled: 1. scalar instruction 2. vector instruction
@@ -1794,7 +1794,7 @@ class TargetTransformInfo {
/// \returns The cost of Call instructions.
LLVM_ABI InstructionCost getCallInstrCost(
Function *F, Type *RetTy, ArrayRef<Type *> Tys,
- TTI::TargetCostKind CostKind = TTI::TCK_SizeAndLatency) const;
+ TTI::TargetCostKind CostKind) const;
/// \returns The number of pieces into which the provided type must be
/// split during legalization. Zero is returned when the answer is unknown.
>From 176b49cb24660f205ea0d12a087af3554e989a5a Mon Sep 17 00:00:00 2001
From: bababuck <buchner.ryan at gmail.com>
Date: Tue, 25 Aug 2026 00:55:36 -0700
Subject: [PATCH 2/2] Lint
---
.../llvm/Analysis/TargetTransformInfo.h | 47 +++++++++----------
1 file changed, 22 insertions(+), 25 deletions(-)
diff --git a/llvm/include/llvm/Analysis/TargetTransformInfo.h b/llvm/include/llvm/Analysis/TargetTransformInfo.h
index dda5c37727d06..fe7122a025140 100644
--- a/llvm/include/llvm/Analysis/TargetTransformInfo.h
+++ b/llvm/include/llvm/Analysis/TargetTransformInfo.h
@@ -1550,10 +1550,10 @@ class TargetTransformInfo {
/// selected by \p OpcodeMask. The mask contains one bit per lane and is a `0`
/// when \p Opcode0 is selected and `1` when Opcode1 is selected.
/// \p VecTy is the vector type of the instruction to be generated.
- LLVM_ABI InstructionCost getAltInstrCost(
- VectorType *VecTy, unsigned Opcode0, unsigned Opcode1,
- const SmallBitVector &OpcodeMask,
- TTI::TargetCostKind CostKind) const;
+ LLVM_ABI InstructionCost getAltInstrCost(VectorType *VecTy, unsigned Opcode0,
+ unsigned Opcode1,
+ const SmallBitVector &OpcodeMask,
+ TTI::TargetCostKind CostKind) const;
/// \return The cost of a shuffle instruction of kind Kind with inputs of type
/// SrcTy, producing a vector of type DstTy. The exact mask may be passed as
@@ -1609,8 +1609,7 @@ class TargetTransformInfo {
/// may be passed in the 'I' parameter.
LLVM_ABI InstructionCost getCastInstrCost(
unsigned Opcode, Type *Dst, Type *Src, TTI::CastContextHint CCH,
- TTI::TargetCostKind CostKind,
- const Instruction *I = nullptr) const;
+ TTI::TargetCostKind CostKind, const Instruction *I = nullptr) const;
/// \return The expected cost of a sign- or zero-extended vector extract. Use
/// Index = -1 to indicate that there is no information about the index value.
@@ -1620,9 +1619,9 @@ class TargetTransformInfo {
/// \return The expected cost of control-flow related instructions such as
/// Phi, Ret, Br, Switch.
- LLVM_ABI InstructionCost getCFInstrCost(
- unsigned Opcode, TTI::TargetCostKind CostKind,
- const Instruction *I = nullptr) const;
+ LLVM_ABI InstructionCost getCFInstrCost(unsigned Opcode,
+ TTI::TargetCostKind CostKind,
+ const Instruction *I = nullptr) const;
/// \returns The expected cost of compare and select instructions. If there
/// is an existing instruction that holds Opcode, it may be passed in the
@@ -1631,12 +1630,12 @@ class TargetTransformInfo {
/// types are passed, \p VecPred must be used for all lanes. For a
/// comparison, the two operands are the natural values. For a select, the
/// two operands are the *value* operands, not the condition operand.
- LLVM_ABI InstructionCost getCmpSelInstrCost(
- unsigned Opcode, Type *ValTy, Type *CondTy, CmpInst::Predicate VecPred,
- TTI::TargetCostKind CostKind,
- OperandValueInfo Op1Info = {OK_AnyValue, OP_None},
- OperandValueInfo Op2Info = {OK_AnyValue, OP_None},
- const Instruction *I = nullptr) const;
+ LLVM_ABI InstructionCost
+ getCmpSelInstrCost(unsigned Opcode, Type *ValTy, Type *CondTy,
+ CmpInst::Predicate VecPred, TTI::TargetCostKind CostKind,
+ OperandValueInfo Op1Info = {OK_AnyValue, OP_None},
+ OperandValueInfo Op2Info = {OK_AnyValue, OP_None},
+ const Instruction *I = nullptr) const;
/// \return The expected cost of vector Insert and Extract.
/// Use -1 to indicate that there is no information on the index value.
@@ -1719,8 +1718,7 @@ class TargetTransformInfo {
/// \p UseMaskForGaps indicates if gaps should be masked.
LLVM_ABI InstructionCost getInterleavedMemoryOpCost(
unsigned Opcode, Type *VecTy, unsigned Factor, ArrayRef<unsigned> Indices,
- Align Alignment, unsigned AddressSpace,
- TTI::TargetCostKind CostKind,
+ Align Alignment, unsigned AddressSpace, TTI::TargetCostKind CostKind,
bool UseMaskForCond = false, bool UseMaskForGaps = false) const;
/// A helper function to determine the type of reduction algorithm used
@@ -1766,9 +1764,9 @@ class TargetTransformInfo {
/// optional extensions. This is the cost of as:
/// * ResTy vecreduce.add/sub(mul (A, B)) or,
/// * ResTy vecreduce.add/sub(mul(ext(Ty A), ext(Ty B)).
- LLVM_ABI InstructionCost getMulAccReductionCost(
- bool IsUnsigned, unsigned RedOpcode, Type *ResTy, VectorType *Ty,
- TTI::TargetCostKind CostKind) const;
+ LLVM_ABI InstructionCost
+ getMulAccReductionCost(bool IsUnsigned, unsigned RedOpcode, Type *ResTy,
+ VectorType *Ty, TTI::TargetCostKind CostKind) const;
/// Calculate the cost of an extended reduction pattern, similar to
/// getArithmeticReductionCost of a reduction with an extension.
@@ -1776,8 +1774,7 @@ class TargetTransformInfo {
/// ResTy vecreduce.opcode(ext(Ty A)).
LLVM_ABI InstructionCost getExtendedReductionCost(
unsigned Opcode, bool IsUnsigned, Type *ResTy, VectorType *Ty,
- std::optional<FastMathFlags> FMF,
- TTI::TargetCostKind CostKind) const;
+ std::optional<FastMathFlags> FMF, TTI::TargetCostKind CostKind) const;
/// \returns The cost of Intrinsic instructions. Analyses the real arguments.
/// Three cases are handled: 1. scalar instruction 2. vector instruction
@@ -1792,9 +1789,9 @@ class TargetTransformInfo {
TTI::TargetCostKind CostKind) const;
/// \returns The cost of Call instructions.
- LLVM_ABI InstructionCost getCallInstrCost(
- Function *F, Type *RetTy, ArrayRef<Type *> Tys,
- TTI::TargetCostKind CostKind) const;
+ LLVM_ABI InstructionCost getCallInstrCost(Function *F, Type *RetTy,
+ ArrayRef<Type *> Tys,
+ TTI::TargetCostKind CostKind) const;
/// \returns The number of pieces into which the provided type must be
/// split during legalization. Zero is returned when the answer is unknown.
More information about the llvm-commits
mailing list