aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Support/VirtualFileSystem.cpp
diff options
context:
space:
mode:
authorMircea Trofin <mtrofin@google.com>2024-09-06 13:47:08 -0700
committerGitHub <noreply@github.com>2024-09-06 13:47:08 -0700
commit775c50709c2d18acc085c089392847c5968457b9 (patch)
treea562bda475ccc85f199aecf2915f9e57d57a1066 /llvm/lib/Support/VirtualFileSystem.cpp
parent6cb2d40387f613c72ec8f66e47a5eb0f7e4b0f1f (diff)
downloadllvm-775c50709c2d18acc085c089392847c5968457b9.zip
llvm-775c50709c2d18acc085c089392847c5968457b9.tar.gz
llvm-775c50709c2d18acc085c089392847c5968457b9.tar.bz2
[ctx_prof] Flattened profile lowering pass (#107329)
Pass to flatten and lower the contextual profile to profile (i.e. `MD_prof`) metadata. This is expected to be used after all IPO transformations have happened. Prior to lowering, the instrumentation is maintained during IPO and the contextual profile is kept in sync (see PRs #105469, #106154). Flattening (#104539) sums up all the counters belonging to all a function's context nodes. We first propagate counter values (from the flattened profile) using the same propagation algorithm as `PGOUseFunc::populateCounters`, then map the edge values to `branch_weights`. Functions. in the module that don't have an entry in the flattened profile are deemed cold, and any `MD_prof` metadata they may have is reset. The profile summary is also reset at this point. Issue [#89287](https://github.com/llvm/llvm-project/issues/89287)
Diffstat (limited to 'llvm/lib/Support/VirtualFileSystem.cpp')
0 files changed, 0 insertions, 0 deletions