[PATCH] D124490: [InstrProf] Minimal Block Coverage
Ellis Hoag via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Mon Jun 6 11:30:08 PDT 2022
ellis added a comment.
In D124490#3558438 <https://reviews.llvm.org/D124490#3558438>, @MaskRay wrote:
> If this new instrumentation mode is for coverage (non-optimization), why modify `PGOUseFunc`? If just to use PGOVerifyBFI, it doesn't justify modifying `PGOInstrumentation`. It would be cleaner to create a new file based on my current understanding.
Perhaps I should update the description to better explain how this diff is used for optimization. I will update it shortly.
In `PGOUseFunc` we populate edge weights such that `BlockFrequencyInfo` reports uncovered blocks as cold and covered blocks as hot. Obviously this will not be as precise as populating real edge weights from block counts, but this is a trade off from using extremely lightweight instrumented binaries. In the next diff D125743 <https://reviews.llvm.org/D125743> we can take advantage of these imprecise profiles by using block coverage to guide the machine outliner. We have found this to work quite well at reducing binary size without harming runtime performance.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D124490/new/
https://reviews.llvm.org/D124490
More information about the llvm-commits
mailing list