[PATCH] D104060: Machine IR Profile
Ellis Hoag via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri Jun 18 11:51:08 PDT 2021
ellis added a comment.
In D104060#2827721 <https://reviews.llvm.org/D104060#2827721>, @davidxl wrote:
> Neat -- so the value profile (target histogram) of a given callsite is 'distributed' into the callees -- aka each callee function allocating a fixed size buffer to track all incoming edge frequencies? For some small utility functions, they usually have thousands of callsites (incoming edges), thus this approach may significantly reduce the profile precision for them? The simple LRU eviction policy may be bad for some patterns like ping-pong effect.
Our current approach is to use a single global buffer for all callees and we store a value that identifies both a callsite address and the callee. We've considered other options like a buffer for each callee, but we settled with the global buffer approach to avoid locks, extra complexity, and runtime. Yeah there are cases where we oversample some edges. I'd say this patch is still the in the experimental stage so there is still work to be done.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D104060/new/
https://reviews.llvm.org/D104060
More information about the llvm-commits
mailing list