forked from OSchip/llvm-project
![]() 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 |
||
---|---|---|
.. | ||
Inputs | ||
cs-extbinary.test | ||
cs-preinline.test | ||
disassemble.s | ||
fname-canonicalization.test | ||
inline-cs-dangling-pseudoprobe.test | ||
inline-cs-noprobe.test | ||
inline-cs-pseudoprobe.test | ||
invalid-perfscript.test | ||
lit.local.cfg | ||
merge-cold-profile.test | ||
mmapEvent.test | ||
noinline-cs-noprobe.test | ||
noinline-cs-pseudoprobe.test | ||
pseudoprobe-decoding.test | ||
recursion-compression-noprobe.test | ||
recursion-compression-pseudoprobe.test | ||
symbolize.ll |