aboutsummaryrefslogtreecommitdiff
path: root/lldb/packages/Python/lldbsuite/test/lldbpexpect.py
diff options
context:
space:
mode:
authorHongtao Yu <hoy@fb.com>2021-04-23 00:26:11 -0700
committerHongtao Yu <hoy@fb.com>2021-04-23 11:09:22 -0700
commit5f2d7300733b9eb6f4c60be89a16628f63c74443 (patch)
treee2bae219bcb979f329d0606c0436cfc49ca82227 /lldb/packages/Python/lldbsuite/test/lldbpexpect.py
parentf1a47181f5c6b3d5ef4040ab889c3aa0cfdae297 (diff)
downloadllvm-5f2d7300733b9eb6f4c60be89a16628f63c74443.zip
llvm-5f2d7300733b9eb6f4c60be89a16628f63c74443.tar.gz
llvm-5f2d7300733b9eb6f4c60be89a16628f63c74443.tar.bz2
[CSSPGO] Fix incorrect prorating indirect call distribution factor that leads to target count loss.
Pseudo probe distribution factor is used to scale down profile samples to avoid misleading the counts inference due to the usage of "maximum" in `getBlockWeight`. For callsites, the scaling down can come from code duplication prior to the sample profile loader (prelink or postlink), or due to the indirect call promotion in sample loader inliner. This patch fixes an issue in sample loader ICP where the leftover indirect callsite scaling down causes the loss of non-promoted call target samples unexpectedly. While the scaling down is to favor BFI/BPI with accurate an callsite count, it doesn't fit in the current distribution factor that represents code duplication changes. Ideally, we would need two factors, one is for code duplication, the other is for ICP. However this seems over complicated. I'm going to trade one usage (callsite counts) for the other (call target counts). Seeing perf win on one benchmark (mcf) of SPEC2017 with others unchanged. Reviewed By: wenlei Differential Revision: https://reviews.llvm.org/D100993
Diffstat (limited to 'lldb/packages/Python/lldbsuite/test/lldbpexpect.py')
0 files changed, 0 insertions, 0 deletions