[llvm-branch-commits] [llvm] Add initial support for SPE brstack format (PR #129231)
Ádám Kallai via llvm-branch-commits
llvm-branch-commits at lists.llvm.org
Thu Apr 10 06:48:06 PDT 2025
================
@@ -88,6 +89,45 @@ struct PerfSpeEventsTestHelper : public testing::Test {
return SampleSize == DA.BasicSamples.size();
}
+
+ /// Compare LBREntries
+ bool checkLBREntry(const LBREntry &Lhs, const LBREntry &Rhs) {
+ return Lhs.From == Rhs.From && Lhs.To == Rhs.To &&
+ Lhs.Mispred == Rhs.Mispred;
+ }
+
+ /// Parse and check SPE brstack as LBR
+ void parseAndCheckBrstackEvents(
+ uint64_t PID,
+ const std::vector<SmallVector<LBREntry, 2>> &ExpectedSamples) {
+ int NumSamples = 0;
+
+ DataAggregator DA("<pseudo input>");
+ DA.ParsingBuf = opts::ReadPerfEvents;
+ DA.BC = BC.get();
+ DataAggregator::MMapInfo MMap;
+ DA.BinaryMMapInfo.insert(std::make_pair(PID, MMap));
+
+ // Process buffer.
+ while (DA.hasData()) {
----------------
kaadam wrote:
I kept the original approach, since I haven't find good way to create such a simple ELF mock binary that test BranchLBRs functionality properly. Maybe better to add a new test, to check BranchLBRs in different manner.
https://github.com/llvm/llvm-project/pull/129231
More information about the llvm-branch-commits
mailing list