[llvm] [StaticDataLayout][PGO]Implement reader and writer change for data access profiles (PR #139997)

Mingming Liu via llvm-commits llvm-commits at lists.llvm.org
Mon May 19 15:35:30 PDT 2025


mingmingl-llvm wrote:

Tagging @SharonXSharon @ellishg .

My understanding of memory profile guided data symbols ordering (https://discourse.llvm.org/t/rfc-profile-guided-static-data-partitioning/83744/4) is that iPGHO binaries produces the profiles in [raw MemProf format](https://github.com/llvm/llvm-project/blob/2dd6a8c35a79710273bb98da8729ec6dea251998/llvm/tools/llvm-profdata/llvm-profdata.cpp#L3285-L3294).  Could you share more about how the profile representation (and/or) iPGHO change look like in raw MemProf (e.g., a minimal draft PR or whatever makes the sharing easier), and how the profile is used by compiler?

This PR adds data access profiles in [indexed MemProf format](https://github.com/llvm/llvm-project/blob/2dd6a8c35a79710273bb98da8729ec6dea251998/llvm/tools/llvm-profdata/llvm-profdata.cpp#L3303-L3307), and compiler consumes it by reading indexed MemProf out of an [indexed FDO profile](https://llvm.org/docs/InstrProfileFormat.html#indexed-profile-format). Raw memprof remains unchanged. How would it interact with the iPGHO-based data symbol ordering work on your side? 





https://github.com/llvm/llvm-project/pull/139997


More information about the llvm-commits mailing list