llvm / llvm/llvm-project

[Clang] Investigate updating PGO cache to do offline merging

Open
#160,774 1 comment 0 reactions 0 assignees View on GitHub
PGO
Dominant language
LLVM
Stars
40.5k
Forks
18.7k
PR merge metrics
PR metrics pending

Description

From some internal discussion, it appears that the default strategy for dumping profile data (online merging) needs to have ASLR disabled in order to do indirect call value profiling, otherwise no ICP gets performed. We should just need to set `LLVM_PROFILE_FILE` to contain `%p` rather than `%m`. This results in more work being spent during the offline merging stage, but I don't think that's a big deal. Not having any ICP might be a decent performance regression.

Steps to perform
1. [ ] Verify that no ICP is happening
2. [ ] Update the cache to use offline merging
3. [ ] Measure the performance improvement

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.