llvm-project/llvm/lib/ProfileData
Hongtao Yu 23191a4ffe [CSSPGO][llvm-profgen] Do not duplicate context profiles into base profile when converting CS flat profile to nested.
Recent experiments with our two large internal services showed that duplicating context profiles into base profile caused code size inflation and didn't deliver good performance compared to no such duplication. It was a trick we made to catch up with the CS flat profile and I'm now turning it off by default.

The code size inflation mainly comes from the enriched based profiles. A base profile for a function represents the uninlined (or outlined) portion of the whole function running time. Such portion could be very small if a function is inlined into most of its hot callsites. Duplicating context profiles of the function into its base profiles could cause the outlined body to be hot enough and in turn get many of its callees inlined, thus increases the code size. The size inflation could further cause perf regression.

Reviewed By: wenlei

Differential Revision: https://reviews.llvm.org/D124796
2022-05-12 09:29:25 -07:00
..
Coverage [Support] Change zlib::compress to return void 2022-03-14 11:38:04 -07:00
CMakeLists.txt Reland "[memprof] Extend the index prof format to include memory profiles." 2022-02-17 22:09:52 -08:00
GCOV.cpp [llvm-cov gcov] Fix calculating coverage of template functions 2022-03-15 20:46:22 +04:00
InstrProf.cpp [Support] Change zlib::compress to return void 2022-03-14 11:38:04 -07:00
InstrProfCorrelator.cpp Cleanup includes: ProfileData 2022-02-24 13:25:11 +01:00
InstrProfReader.cpp [memprof] Use unknown_function error type for missing functions 2022-05-04 13:02:30 -07:00
InstrProfWriter.cpp [memprof] Deduplicate and outline frame storage in the memprof profile. 2022-04-08 09:15:20 -07:00
MemProf.cpp [memprof] Deduplicate and outline frame storage in the memprof profile. 2022-04-08 09:15:20 -07:00
ProfileSummaryBuilder.cpp [CSSPGO] Rename ProfileIsCSNested and ProfileIsCSFlat 2022-04-29 17:03:52 -07:00
RawMemProfReader.cpp [memprof] Deduplicate and outline frame storage in the memprof profile. 2022-04-08 09:15:20 -07:00
SampleProf.cpp [CSSPGO][llvm-profgen] Do not duplicate context profiles into base profile when converting CS flat profile to nested. 2022-05-12 09:29:25 -07:00
SampleProfReader.cpp [CSSPGO] Rename ProfileIsCSNested and ProfileIsCSFlat 2022-04-29 17:03:52 -07:00
SampleProfWriter.cpp [CSSPGO] Rename ProfileIsCSNested and ProfileIsCSFlat 2022-04-29 17:03:52 -07:00