BoF on Profile Guided Optimizations at Dev Meeting

Ivan and I are going to host a PGO BoF at the upcoming dev meeting. We would like to solicit input on topics that folks might be interested in discussing. Please remember that the BoF is not all that long (about an hour), so we’d like to make sure we cover the big ticket items first. These are the main topic areas we have in mind for now (in no particular order).

  1. PGO-based inlining

  2. Path forward for profile-based inlining, including pre-inlining & late instrumentation

  3. Refactoring API to facilitate incremental updates

  4. PGO infrastructure

  5. Bootstrapping w/ PGO enabled

  6. Shrinking the size of instrumentation profile data.

  7. Zero counts in branch weight metadata or some alternative way to have zero counts for basic blocks or edges.

  8. Online merging (multiple input files into -fprofile-instr-use)

  9. FE vs IR instrumentation - Share common infrastructure

  10. How do we validate PGO data?1. Value profiling

  11. Types of value profiling that are useful to track

  12. Integrating value profile with AutoFDO (indirect call promotion)1. LTO and ThinLTO

  13. Requirements for integrating profile data.

If you’d like to add another topic that you find important, please let us know.