forked from OSchip/llvm-project
[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
This commit is contained in:
parent
6f61594d8c
commit
656c5d652c
|
@ -424,7 +424,7 @@ public:
|
|||
|
||||
/// The maximum percentage profiling weights can deviate from the expected
|
||||
/// values in order to be included in misexpect diagnostics.
|
||||
Optional<uint64_t> DiagnosticsMisExpectTolerance = 0;
|
||||
Optional<uint32_t> DiagnosticsMisExpectTolerance = 0;
|
||||
|
||||
public:
|
||||
// Define accessors/mutators for code generation options of enumeration type.
|
||||
|
|
|
@ -113,8 +113,8 @@ using namespace llvm::opt;
|
|||
|
||||
// Parse misexpect tolerance argument value.
|
||||
// Valid option values are integers in the range [0, 100)
|
||||
inline Expected<Optional<uint64_t>> parseToleranceOption(StringRef Arg) {
|
||||
int64_t Val;
|
||||
inline Expected<Optional<uint32_t>> parseToleranceOption(StringRef Arg) {
|
||||
uint32_t Val;
|
||||
if (Arg.getAsInteger(10, Val))
|
||||
return llvm::createStringError(llvm::inconvertibleErrorCode(),
|
||||
"Not an integer: %s", Arg.data());
|
||||
|
|
|
@ -204,8 +204,8 @@ public:
|
|||
|
||||
bool getMisExpectWarningRequested() const;
|
||||
void setMisExpectWarningRequested(bool Requested);
|
||||
void setDiagnosticsMisExpectTolerance(Optional<uint64_t> Tolerance);
|
||||
uint64_t getDiagnosticsMisExpectTolerance() const;
|
||||
void setDiagnosticsMisExpectTolerance(Optional<uint32_t> Tolerance);
|
||||
uint32_t getDiagnosticsMisExpectTolerance() const;
|
||||
|
||||
/// Return the minimum hotness value a diagnostic would need in order
|
||||
/// to be included in optimization diagnostics.
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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());
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue