[llvm] [llvm-profgen] Support Arm SPE and BRBE branch profiles (PR #209769)

Sergey Shcherbinin via llvm-commits llvm-commits at lists.llvm.org
Wed Jul 15 07:27:12 PDT 2026


SergeyShch01 wrote:

Description of added tests:

- brbe-branch-profile.test verifies that AArch64 BRBE records in perf’s LBR format are processed through the existing LBR path and produce the expected execution ranges and branch edges.
- brbe-perfdata.test verifies that non-SPE perf.data conversion requests ip,brstack, filters samples by PID, truncates redirected output between perf invocations, and reports only the failing invocation’s exit code and stderr.
- first-loadable-address.test verifies that a zero-valued first PT_LOAD address is preserved when calculating the binary base address.
- page-size.test verifies profile generation with an explicit 64 KiB page size and rejects invalid or conflicting page-size options.
- perf-binary-error.test verifies diagnostics for both a nonzero exit status and a failure to launch the executable selected by --perf-binary.
- spe-branch-profile.test verifies SPE source/destination parsing, runtime-address canonicalization, taken and not-taken branches, and diagnostics for malformed records.
- spe-perfdata.test verifies that SPE perf.data conversion requests ip,addr from the selected perf executable and consumes the resulting branch samples.
- spe-range-gap.test verifies that SPE execution-range reconstruction stops at a gap in the decoded instruction addresses while preserving the branch count.
- warn-not-symbolized-mmap.test verifies that symbolization warnings are limited to recorded half-open MMAP ranges, including mappings at address zero and repeated mappings extending the same base address.

https://github.com/llvm/llvm-project/pull/209769


More information about the llvm-commits mailing list