diff options
author | Krzysztof Pszeniczny <kpszeniczny@google.com> | 2024-06-17 19:50:58 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-06-17 19:50:58 +0200 |
commit | 21ba91c43902c25bfd55cc03fd245c3fe274717b (patch) | |
tree | 9e0f157cf98c32eeb2ac3080177c0a490e231b37 /llvm/tools/llvm-cov/SourceCoverageView.cpp | |
parent | 3a2e4428938476a4822f4da7193e866e9dd585d9 (diff) | |
download | llvm-21ba91c43902c25bfd55cc03fd245c3fe274717b.zip llvm-21ba91c43902c25bfd55cc03fd245c3fe274717b.tar.gz llvm-21ba91c43902c25bfd55cc03fd245c3fe274717b.tar.bz2 |
[SamplePGO] Add a cutoff for number of profile matching anchors (#95542)
The algorithm added by PR #87375 can be potentially quadratic in the
number of anchors. This is almost never a problem because normally
functions have a reasonable number of function calls.
However, in some rare cases of auto-generated code we observed very
large functions that trigger quadratic behaviour here (resulting in
>130GB of peak heap memory usage for clang). Let's add a knob for
controlling the max number of callsites in a function above which stale
profile matching won't be performed.
Diffstat (limited to 'llvm/tools/llvm-cov/SourceCoverageView.cpp')
0 files changed, 0 insertions, 0 deletions