[llvm] 26dd427 - [NFC][Inliner] Simplify clamping in addCost
Vitaly Buka via llvm-commits
llvm-commits at lists.llvm.org
Wed Aug 3 14:54:46 PDT 2022
Author: Vitaly Buka
Date: 2022-08-03T14:54:37-07:00
New Revision: 26dd42705c2af0b8f6e5d6cdb32c9bd5ed9524eb
URL: https://github.com/llvm/llvm-project/commit/26dd42705c2af0b8f6e5d6cdb32c9bd5ed9524eb
DIFF: https://github.com/llvm/llvm-project/commit/26dd42705c2af0b8f6e5d6cdb32c9bd5ed9524eb.diff
LOG: [NFC][Inliner] Simplify clamping in addCost
Added:
Modified:
llvm/lib/Analysis/InlineCost.cpp
Removed:
################################################################################
diff --git a/llvm/lib/Analysis/InlineCost.cpp b/llvm/lib/Analysis/InlineCost.cpp
index d0a33dd596c83..ee0cb7f05251e 100644
--- a/llvm/lib/Analysis/InlineCost.cpp
+++ b/llvm/lib/Analysis/InlineCost.cpp
@@ -42,6 +42,7 @@
#include "llvm/Support/Debug.h"
#include "llvm/Support/FormattedStream.h"
#include "llvm/Support/raw_ostream.h"
+#include <climits>
#include <limits>
using namespace llvm;
@@ -502,7 +503,6 @@ int64_t getExpectedNumberOfCompare(int NumCaseCluster) {
/// FIXME: if it is necessary to derive from InlineCostCallAnalyzer, note
/// the FIXME in onLoweredCall, when instantiating an InlineCostCallAnalyzer
class InlineCostCallAnalyzer final : public CallAnalyzer {
- const int CostUpperBound = INT_MAX - InlineConstants::InstrCost - 1;
const bool ComputeFullInlineCost;
int LoadEliminationCost = 0;
/// Bonus to be applied when percentage of vector instructions in callee is
@@ -579,9 +579,9 @@ class InlineCostCallAnalyzer final : public CallAnalyzer {
BlockFrequencyInfo *CallerBFI);
/// Handle a capped 'int' increment for Cost.
- void addCost(int64_t Inc, int64_t UpperBound = INT_MAX) {
- assert(UpperBound > 0 && UpperBound <= INT_MAX && "invalid upper bound");
- Cost = std::min<int>(UpperBound, Cost + Inc);
+ void addCost(int64_t Inc) {
+ Inc = std::max<int64_t>(std::min<int64_t>(INT_MAX, Inc), INT_MIN);
+ Cost = std::max<int64_t>(std::min<int64_t>(INT_MAX, Inc + Cost), INT_MIN);
}
void onDisableSROA(AllocaInst *Arg) override {
@@ -662,7 +662,7 @@ class InlineCostCallAnalyzer final : public CallAnalyzer {
static_cast<int64_t>(JumpTableSize) * InlineConstants::InstrCost +
4 * InlineConstants::InstrCost;
- addCost(JTCost, static_cast<int64_t>(CostUpperBound));
+ addCost(JTCost);
return;
}
@@ -677,7 +677,7 @@ class InlineCostCallAnalyzer final : public CallAnalyzer {
int64_t SwitchCost =
ExpectedNumberOfCompare * 2 * InlineConstants::InstrCost;
- addCost(SwitchCost, static_cast<int64_t>(CostUpperBound));
+ addCost(SwitchCost);
}
void onMissedSimplification() override {
addCost(InlineConstants::InstrCost);
More information about the llvm-commits
mailing list