[PATCH] D157632: [Profile] Allow online merging with debug info correlation.

Ellis Hoag via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Fri Aug 11 12:58:06 PDT 2023


ellis added a comment.

In D157632#4580576 <https://reviews.llvm.org/D157632#4580576>, @zequanwu wrote:

> BTW, I noticed something strange with `-pgo-function-entry-coverage` when merging via llvm-profdata.

This is intentional. The two raw profiles individually store blocks as either covered or not, but when we merge them they get converted to counters and accumulated.
https://github.com/llvm/llvm-project/blob/6a0feb1503e21432e63d93b44357bad43f8026d1/llvm/lib/ProfileData/InstrProf.cpp#L726
Then in `PGOUseFunc::populateCoverage()` we annotate blocks as alive if their counter value is non-zero.
https://github.com/llvm/llvm-project/blob/1aee2434ce4c9b5785cbc8f72cbbbd64f9e85297/llvm/lib/Transforms/Instrumentation/PGOInstrumentation.cpp#L1399
My logic was that the indexed profile represents these counters as ints, so we might as well accumulate them. Also, this makes the implementation simpler.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D157632/new/

https://reviews.llvm.org/D157632



More information about the cfe-commits mailing list