1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-18 10:32:48 +02:00
llvm-mirror/tools/llvm-profgen
Hongtao Yu 29e34b908b [CSSPGO][llvm-profgen] Always report dangling probes for frames with real samples.
Report dangling probes for frames that have real samples collected. Dangling probes are the probes associated to an empty block. When reported, sample count on a dangling probe will not be trusted by the compiler and we will rely on the counts inference algorithm to get the probe a reasonable count. This actually fixes a bug where previously only those dangling probes with samples collected were reported.

This patch also fixes two existing issues. Pseudo probes are stored in `Address2ProbesMap` and their pointers are used in `PseudoProbeInlineTree`. Previously `std::vector` was used to store probes and the pointers to probes may get obsolete as the vector grows. I'm changing `std::vector` to `std::list` instead.

The other issue is that all outlined functions shared the same inline frame previously due to the unchanged `Index` value as the dummy inlineSite identifier.

Good results seen for SPEC2017 in general regarding profile quality.

Reviewed By: wenlei, wlei

Differential Revision: https://reviews.llvm.org/D100235
2021-04-21 18:07:58 -07:00
..
CallContext.h [CSSPGO][llvm-profgen] Instruction symbolization 2020-11-20 14:26:27 -08:00
CMakeLists.txt [CSSPGO][llvm-profgen] Context-sensitive global pre-inliner 2021-03-29 09:46:14 -07:00
CSPreInliner.cpp [CSSPGO] Fix dangling context strings and improve profile order consistency and error handling 2021-04-10 12:39:10 -07:00
CSPreInliner.h [CSSPGO][llvm-profgen] Context-sensitive global pre-inliner 2021-03-29 09:46:14 -07:00
ErrorHandling.h
llvm-profgen.cpp [CSSPGO][llvm-profgen] Renovate perfscript check and command line input validation 2021-02-12 15:18:50 -08:00
PerfReader.cpp [Support] Don't include VirtualFileSystem.h in CommandLine.h 2021-04-21 10:19:01 -04:00
PerfReader.h [CSSPGO] Add attribute metadata for context profile 2021-03-18 22:00:56 -07:00
ProfiledBinary.cpp [CSSPGO] Add attribute metadata for context profile 2021-03-18 22:00:56 -07:00
ProfiledBinary.h [CSSPGO] Add attribute metadata for context profile 2021-03-18 22:00:56 -07:00
ProfileGenerator.cpp [CSSPGO][llvm-profgen] Always report dangling probes for frames with real samples. 2021-04-21 18:07:58 -07:00
ProfileGenerator.h [CSSPGO] Fix dangling context strings and improve profile order consistency and error handling 2021-04-10 12:39:10 -07:00
PseudoProbe.cpp [CSSPGO][llvm-profgen] Always report dangling probes for frames with real samples. 2021-04-21 18:07:58 -07:00
PseudoProbe.h [CSSPGO][llvm-profgen] Always report dangling probes for frames with real samples. 2021-04-21 18:07:58 -07:00