[all-commits] [llvm/llvm-project] 257706: [llvm-profgen] Add branch/target validation (#188620)
HighW4y2H3ll via All-commits
all-commits at lists.llvm.org
Sun Apr 19 18:30:53 PDT 2026
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 257706f21227ba596c81b5c97a3d4f0d33aa15d5
https://github.com/llvm/llvm-project/commit/257706f21227ba596c81b5c97a3d4f0d33aa15d5
Author: HighW4y2H3ll <zhenghaohuu at gmail.com>
Date: 2026-04-19 (Sun, 19 Apr 2026)
Changed paths:
M llvm/tools/llvm-profgen/PerfReader.cpp
M llvm/tools/llvm-profgen/PerfReader.h
M llvm/tools/llvm-profgen/ProfiledBinary.cpp
M llvm/tools/llvm-profgen/ProfiledBinary.h
Log Message:
-----------
[llvm-profgen] Add branch/target validation (#188620)
Add extra branch source and target validation checks for LBR samples.
This is to check whether there are branch source samples that do not
match a call/branch/ret instruction in the binary, and branch target
samples that do not match a resolved Imm target address, or a function
start address (in case of an indirect call).
Example output:
```
# X86
warning: 0.01%(27/376876) of sampled target addresses do not match the binary.
# AArch64
warning: 0.01%(63782/795824826) of branch samples do not match the binary.
warning: 0.01%(70468/795824826) of branch targets do not match the binary.
```
Run time overhead:
```
Before:
real 61m38.081s
user 60m50.768s
sys 0m42.931s
After:
real 62m33.176s
user 61m47.650s
sys 0m42.204s
```
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