diff options
author | ShatianWang <38512325+ShatianWang@users.noreply.github.com> | 2025-02-28 11:06:52 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-02-28 11:06:52 -0500 |
commit | 7e33bebe7c8c1258248567670209e6756a6cf77a (patch) | |
tree | 2ca1cad34837c23d88cb061d947207fb80cb5edb /llvm/tools/llvm-objdump/llvm-objdump.cpp | |
parent | b2525dc66379f2c9942ed3cff6101b035003532c (diff) | |
download | llvm-7e33bebe7c8c1258248567670209e6756a6cf77a.zip llvm-7e33bebe7c8c1258248567670209e6756a6cf77a.tar.gz llvm-7e33bebe7c8c1258248567670209e6756a6cf77a.tar.bz2 |
[BOLT] Report flow conservation scores (#127954)
Add two additional profile quality stats for CG (call graph) and CFG
(control flow graph) flow conservations besides the CFG discontinuity
stats introduced in #109683. The two new stats quantify how different
"in-flow" is from "out-flow" in the following cases where they should be
equal. The smaller the reported stats, the better the flow conservations
are.
CG flow conservation: for each function that is not a program entry, the
number of times the function is called according to CG ("in-flow")
should be equal to the number of times the transition from an entry
basic block of the function to another basic block within the function
is recorded ("out-flow").
CFG flow conservation: for each basic block that is not a function entry
or exit, the number of times the transition into this basic block from
another basic block within the function is recorded ("in-flow") should
be equal to the number of times the transition from this basic block to
another basic block within the function is recorded ("out-flow").
Use `-v=1` for more detailed bucketed stats, and use `-v=2` to dump
functions / basic blocks with bad flow conservations.
Diffstat (limited to 'llvm/tools/llvm-objdump/llvm-objdump.cpp')
0 files changed, 0 insertions, 0 deletions