llvm-project/llvm/tools/llvm-profgen
Hongtao Yu acfd0a3456 [llvm-profgen] Update callsite body samples by summing up all call target samples.
Current profile generation caculcates callsite body samples and call target samples separately. The former is done based on LBR range samples while the latter is done based on branch samples. Note that there's a subtle difference. LBR ranges is formed from two consecutive branch samples. Therefore the last entry in a LBR record will not be counted towards body samples while there's still a chance for it to be counted towards call targets if it is a function call. I'm making sense of the call body samples by updating it to the aggregation of call targets.

Reviewed By: wenlei

Differential Revision: https://reviews.llvm.org/D122609
2022-05-16 09:13:37 -07:00
..
CMakeLists.txt [llvm-profgen] Switch to DWARF-based symbol and ranges 2021-10-29 09:59:12 -07:00
CSPreInliner.cpp [CSSPGO][Preinliner] Use linear threshold to drive inline decision. 2022-05-08 22:07:58 -07:00
CSPreInliner.h [CSSPGO][Preinliner] Use linear threshold to drive inline decision. 2022-05-08 22:07:58 -07:00
CallContext.h [CSSPGO] Rename the field of SampleContextFrame 2021-10-04 19:06:59 -07:00
ErrorHandling.h [llvm-profgen] Fix bug of setting function entry 2021-11-12 12:18:43 -08:00
PerfReader.cpp [llvm-profgen] Filter out oversized LBR ranges. 2022-05-12 10:58:50 -07:00
PerfReader.h [llvm-profgen] Filter out oversized LBR ranges. 2022-05-12 10:58:50 -07:00
ProfileGenerator.cpp [llvm-profgen] Update callsite body samples by summing up all call target samples. 2022-05-16 09:13:37 -07:00
ProfileGenerator.h [llvm-profgen] Update callsite body samples by summing up all call target samples. 2022-05-16 09:13:37 -07:00
ProfiledBinary.cpp [llvm-profgen] Filter out oversized LBR ranges. 2022-05-12 10:58:50 -07:00
ProfiledBinary.h [llvm-profgen] Filter out oversized LBR ranges. 2022-05-12 10:58:50 -07:00
llvm-profgen.cpp [CSSPGO] Rename ProfileIsCSNested and ProfileIsCSFlat 2022-04-29 17:03:52 -07:00