[Clang] Investigate updating PGO cache to do offline merging
Open
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
Assessment
This issue has not been assessed yet.