aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Analysis/InlineCost.cpp
diff options
context:
space:
mode:
authorSimon Pilgrim <llvm-dev@redking.me.uk>2022-08-18 11:55:23 +0100
committerSimon Pilgrim <llvm-dev@redking.me.uk>2022-08-18 11:55:23 +0100
commitfdec50182d85ec0b8518af3baae37ae28b102f1c (patch)
treef620576762fe4f39bf29b33faa01c4f7938b2d2f /llvm/lib/Analysis/InlineCost.cpp
parent27cbfa7cc8cdab121842adf4dd31f6811f523928 (diff)
downloadllvm-fdec50182d85ec0b8518af3baae37ae28b102f1c.zip
llvm-fdec50182d85ec0b8518af3baae37ae28b102f1c.tar.gz
llvm-fdec50182d85ec0b8518af3baae37ae28b102f1c.tar.bz2
[CostModel] Replace getUserCost with getInstructionCost
* Replace getUserCost with getInstructionCost, covering all cost kinds. * Remove getInstructionLatency, it's not implemented by any backends, and we should fold the functionality into getUserCost (now getInstructionCost) to make it easier for targets to handle the cost kinds with their existing cost callbacks. Original Patch by @samparker (Sam Parker) Differential Revision: https://reviews.llvm.org/D79483
Diffstat (limited to 'llvm/lib/Analysis/InlineCost.cpp')
-rw-r--r--llvm/lib/Analysis/InlineCost.cpp12
1 files changed, 6 insertions, 6 deletions
diff --git a/llvm/lib/Analysis/InlineCost.cpp b/llvm/lib/Analysis/InlineCost.cpp
index 0992a4f..86e0b4b 100644
--- a/llvm/lib/Analysis/InlineCost.cpp
+++ b/llvm/lib/Analysis/InlineCost.cpp
@@ -1361,8 +1361,8 @@ bool CallAnalyzer::isGEPFree(GetElementPtrInst &GEP) {
Operands.push_back(SimpleOp);
else
Operands.push_back(Op);
- return TTI.getUserCost(&GEP, Operands,
- TargetTransformInfo::TCK_SizeAndLatency) ==
+ return TTI.getInstructionCost(&GEP, Operands,
+ TargetTransformInfo::TCK_SizeAndLatency) ==
TargetTransformInfo::TCC_Free;
}
@@ -1639,7 +1639,7 @@ bool CallAnalyzer::visitPtrToInt(PtrToIntInst &I) {
if (auto *SROAArg = getSROAArgForValueOrNull(I.getOperand(0)))
SROAArgValues[&I] = SROAArg;
- return TTI.getUserCost(&I, TargetTransformInfo::TCK_SizeAndLatency) ==
+ return TTI.getInstructionCost(&I, TargetTransformInfo::TCK_SizeAndLatency) ==
TargetTransformInfo::TCC_Free;
}
@@ -1662,7 +1662,7 @@ bool CallAnalyzer::visitIntToPtr(IntToPtrInst &I) {
if (auto *SROAArg = getSROAArgForValueOrNull(Op))
SROAArgValues[&I] = SROAArg;
- return TTI.getUserCost(&I, TargetTransformInfo::TCK_SizeAndLatency) ==
+ return TTI.getInstructionCost(&I, TargetTransformInfo::TCK_SizeAndLatency) ==
TargetTransformInfo::TCC_Free;
}
@@ -1692,7 +1692,7 @@ bool CallAnalyzer::visitCastInst(CastInst &I) {
break;
}
- return TTI.getUserCost(&I, TargetTransformInfo::TCK_SizeAndLatency) ==
+ return TTI.getInstructionCost(&I, TargetTransformInfo::TCK_SizeAndLatency) ==
TargetTransformInfo::TCC_Free;
}
@@ -2390,7 +2390,7 @@ bool CallAnalyzer::visitUnreachableInst(UnreachableInst &I) {
bool CallAnalyzer::visitInstruction(Instruction &I) {
// Some instructions are free. All of the free intrinsics can also be
// handled by SROA, etc.
- if (TTI.getUserCost(&I, TargetTransformInfo::TCK_SizeAndLatency) ==
+ if (TTI.getInstructionCost(&I, TargetTransformInfo::TCK_SizeAndLatency) ==
TargetTransformInfo::TCC_Free)
return true;