diff options
author | Paul Kirth <paulkirth@google.com> | 2022-08-16 01:14:28 +0000 |
---|---|---|
committer | Paul Kirth <paulkirth@google.com> | 2022-08-17 14:38:53 +0000 |
commit | 656c5d652ce10257e90c7693b34336b6ce0ecfa3 (patch) | |
tree | 8bec8409597fcb3c809400d33e382b3fbc189085 /llvm/lib | |
parent | 6f61594d8cd4cca559b3c87f2fa47d4bdc017c82 (diff) | |
download | llvm-656c5d652ce10257e90c7693b34336b6ce0ecfa3.zip llvm-656c5d652ce10257e90c7693b34336b6ce0ecfa3.tar.gz llvm-656c5d652ce10257e90c7693b34336b6ce0ecfa3.tar.bz2 |
[clang][llvm][NFC] Change misexpect's tolerance option to be 32-bit
In D131869 we noticed that we jump through some hoops because we parse the
tolerance option used in MisExpect.cpp into a 64-bit integer. This is
unnecessary, since the value can only be in the range [0, 100).
This patch changes the underlying type to be 32-bit from where it is
parsed in Clang through to it's use in LLVM.
Reviewed By: jloser
Differential Revision: https://reviews.llvm.org/D131935
Diffstat (limited to 'llvm/lib')
-rw-r--r-- | llvm/lib/IR/LLVMContext.cpp | 4 | ||||
-rw-r--r-- | llvm/lib/IR/LLVMContextImpl.h | 4 | ||||
-rw-r--r-- | llvm/lib/Transforms/Utils/MisExpect.cpp | 4 |
3 files changed, 6 insertions, 6 deletions
diff --git a/llvm/lib/IR/LLVMContext.cpp b/llvm/lib/IR/LLVMContext.cpp index 57d7261..993bfff 100644 --- a/llvm/lib/IR/LLVMContext.cpp +++ b/llvm/lib/IR/LLVMContext.cpp @@ -148,10 +148,10 @@ uint64_t LLVMContext::getDiagnosticsHotnessThreshold() const { return pImpl->DiagnosticsHotnessThreshold.value_or(UINT64_MAX); } void LLVMContext::setDiagnosticsMisExpectTolerance( - Optional<uint64_t> Tolerance) { + Optional<uint32_t> Tolerance) { pImpl->DiagnosticsMisExpectTolerance = Tolerance; } -uint64_t LLVMContext::getDiagnosticsMisExpectTolerance() const { +uint32_t LLVMContext::getDiagnosticsMisExpectTolerance() const { return pImpl->DiagnosticsMisExpectTolerance.value_or(0); } diff --git a/llvm/lib/IR/LLVMContextImpl.h b/llvm/lib/IR/LLVMContextImpl.h index a36e46f..0b1e519 100644 --- a/llvm/lib/IR/LLVMContextImpl.h +++ b/llvm/lib/IR/LLVMContextImpl.h @@ -1387,8 +1387,8 @@ public: Optional<uint64_t> DiagnosticsHotnessThreshold = 0; /// The percentage of difference between profiling branch weights and - // llvm.expect branch weights to tolerate when emiting MisExpect diagnostics - Optional<uint64_t> DiagnosticsMisExpectTolerance = 0; + /// llvm.expect branch weights to tolerate when emiting MisExpect diagnostics + Optional<uint32_t> DiagnosticsMisExpectTolerance = 0; bool MisExpectWarningRequested = false; /// The specialized remark streamer used by LLVM's OptimizationRemarkEmitter. diff --git a/llvm/lib/Transforms/Utils/MisExpect.cpp b/llvm/lib/Transforms/Utils/MisExpect.cpp index 8f94902..28649b0 100644 --- a/llvm/lib/Transforms/Utils/MisExpect.cpp +++ b/llvm/lib/Transforms/Utils/MisExpect.cpp @@ -58,7 +58,7 @@ static cl::opt<bool> PGOWarnMisExpect( cl::desc("Use this option to turn on/off " "warnings about incorrect usage of llvm.expect intrinsics.")); -static cl::opt<unsigned> MisExpectTolerance( +static cl::opt<uint32_t> MisExpectTolerance( "misexpect-tolerance", cl::init(0), cl::desc("Prevents emiting diagnostics when profile counts are " "within N% of the threshold..")); @@ -72,7 +72,7 @@ bool isMisExpectDiagEnabled(LLVMContext &Ctx) { } uint64_t getMisExpectTolerance(LLVMContext &Ctx) { - return std::max(static_cast<uint64_t>(MisExpectTolerance), + return std::max(static_cast<uint32_t>(MisExpectTolerance), Ctx.getDiagnosticsMisExpectTolerance()); } |