[llvm-branch-commits] [llvm] Add initial support for SPE brstack format (PR #129231)

Paschalis Mpeis via llvm-branch-commits llvm-branch-commits at lists.llvm.org
Wed Apr 9 04:50:03 PDT 2025


================
@@ -11,4 +11,4 @@ CHECK-SPE-NO-LBR: PERF2BOLT: Starting data aggregation job
 RUN: perf record -e cycles -q -o %t.perf.data -- %t.exe
 RUN: not perf2bolt -p %t.perf.data -o %t.perf.boltdata --spe %t.exe 2>&1 | FileCheck %s --check-prefix=CHECK-SPE-LBR
 
-CHECK-SPE-LBR: PERF2BOLT-ERROR: Arm SPE mode is combined only with BasicAggregation.
+CHECK-SPE-LBR: PERF2BOLT: spawning perf job to read SPE branch events
----------------
paschalis-mpeis wrote:

I realized I didn't include proper context in my previous comment about the **'fragility'**:

The reason for this fragility is the version of `perf` being used. Since `perf2bolt` is a wrapper over `perf`, older kernel versions may lack `brstack` support. In those cases `perf2bolt` would eventually return an error.

So here we intentionally ignore whether `perf2bolt` fails, and instead we only check that its original intent was to parse the SPE data, eg:
> PERF2BOLT: spawning perf job to read SPE brstack events

This should avoid flakiness in tests.

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


More information about the llvm-branch-commits mailing list