1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-26 04:32:44 +01:00
llvm-mirror/lib/ProfileData
Wenlei He ac4e5a38c8 [CSSPGO] Use merged base profile for hot threshold calculation
Context-sensitive profile effectively split a function profile into many copies each representing the CFG profile of a particular calling context. That makes the count distribution looks more flat as we now have more function profiles each with lower counts, which in turn leads to lower hot thresholds. Now we tells threshold computation to merge context profile first before calculating percentile based cutoffs to compensate for seemingly flat context profile. This can be controlled by swtich `sample-profile-contextless-threshold`.

Earlier measurement showed ~0.4% perf boost with this tuning on spec2k6 for CSSPGO (with pseudo-probe and new inliner).

Differential Revision: https://reviews.llvm.org/D95980
2021-02-05 17:51:00 -08:00
..
Coverage [llvm] Use llvm::append_range (NFC) 2021-01-06 18:27:33 -08:00
CMakeLists.txt llvmbuildectomy - replace llvm-build by plain cmake 2020-11-13 10:35:24 +01:00
GCOV.cpp [ProfileData] GCOVFile::readGCNO - silence undefined pointer warning. NFCI. 2021-01-04 16:50:05 +00:00
InstrProf.cpp [PGO] Remove the old memop value profiling buckets. 2020-10-15 10:09:49 -07:00
InstrProfReader.cpp
InstrProfWriter.cpp
ProfileSummaryBuilder.cpp [CSSPGO] Use merged base profile for hot threshold calculation 2021-02-05 17:51:00 -08:00
SampleProf.cpp [llvm] Populate std::vector at construction time (NFC) 2021-01-18 10:16:33 -08:00
SampleProfReader.cpp [CSSPGO] Use merged base profile for hot threshold calculation 2021-02-05 17:51:00 -08:00
SampleProfWriter.cpp [CSSPGO] Use merged base profile for hot threshold calculation 2021-02-05 17:51:00 -08:00