[all-commits] [llvm/llvm-project] 2598aa: [CSSPGO] Reject high checksum mismatched profile (...

Lei Wang via All-commits all-commits at lists.llvm.org
Wed Mar 27 11:14:43 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 2598aa67c8fa733455af1b9738f257653ee6322b
      https://github.com/llvm/llvm-project/commit/2598aa67c8fa733455af1b9738f257653ee6322b
  Author: Lei Wang <wlei at fb.com>
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
    M llvm/lib/Transforms/IPO/SampleProfile.cpp
    A llvm/test/Transforms/SampleProfile/pseudo-probe-profile-mismatch-error.ll

  Log Message:
  -----------
  [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 .



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list