aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/CodeGen/CodeGenModule.cpp
diff options
context:
space:
mode:
authorLei Wang <wlei@fb.com>2024-03-27 11:14:21 -0700
committerGitHub <noreply@github.com>2024-03-27 11:14:21 -0700
commit2598aa67c8fa733455af1b9738f257653ee6322b (patch)
tree7ff49e6b1e91aa06d110f810b1b0e87dd1902f97 /clang/lib/CodeGen/CodeGenModule.cpp
parent52431fdb1ab8d29be078edd55250e06381e4b6b0 (diff)
downloadllvm-2598aa67c8fa733455af1b9738f257653ee6322b.zip
llvm-2598aa67c8fa733455af1b9738f257653ee6322b.tar.gz
llvm-2598aa67c8fa733455af1b9738f257653ee6322b.tar.bz2
[CSSPGO] Reject high checksum mismatched profile (#84097)
Error out the build if the checksum mismatch is extremely high, it's better to drop the profile rather than apply the bad profile. Note that the check is on a module level, the user could make big changes to functions in one single module but those changes might not be performance significant to the whole binary, so we want to be conservative, only expect to catch big perf regression. To do this, we select a set of the "hot" functions for the check. We use two parameter(`hot-func-cutoff-for-staleness-error` and `min-functions-for-staleness-error`) to control the function selection to make sure the selected are hot enough and the num of function is not small. Tuned the parameters on our internal services, it works to catch big perf regression due to the high mismatch .
Diffstat (limited to 'clang/lib/CodeGen/CodeGenModule.cpp')
0 files changed, 0 insertions, 0 deletions