[all-commits] [llvm/llvm-project] 0d5325: [BOLT] Directly use call count in buildCallGraph (...
Amir Ayupov via All-commits
all-commits at lists.llvm.org
Mon Jul 14 14:29:13 PDT 2025
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 0d5325bb203fe92c75f47b473d1f77d9d4f4a5d0
https://github.com/llvm/llvm-project/commit/0d5325bb203fe92c75f47b473d1f77d9d4f4a5d0
Author: Amir Ayupov <aaupov at fb.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M bolt/lib/Core/BinaryFunctionCallGraph.cpp
Log Message:
-----------
[BOLT] Directly use call count in buildCallGraph (#134966)
In call graph construction, call block count is used for call graph edge
weight. Change that to use call count directly if it's available,
falling back to block count if not.
Test Plan:
This change together with disabling `fix-block-counts` improves profile
quality metrics, e.g. for large binaries and sampled LBR profiles:
`br_inst_retired.near_taken:uppp` trigger event
- Ads1:
- Profiled functions 58096
- CFG imbalance 2.63% -> 2.45%
- CG imbalance 8.23% -> 7.44%
- Ads2:
- Profiled functions 54358
- CFG imbalance 3.12% -> 2.77%
- CG imbalance 8.22% -> 7.06%
- uwsgi:
- Profiled functions 78103
- CFG imbalance 4.42% -> 4.03%
- CG imbalance 100.00% -> 100.00%
`cycles:u` trigger event:
- web:
- Profiled functions 31306
- CG flow imbalance: 31.16% -> 20.29%
- CFG flow imbalance: 7.04% -> 6.44%
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list