[llvm] [llvm-profgen] Add support for ETM trace decoding (PR #191584)
Amir Ayupov via llvm-commits
llvm-commits at lists.llvm.org
Mon Apr 13 21:59:53 PDT 2026
================
@@ -1369,5 +1376,58 @@ void PerfScriptReader::parsePerfTraces() {
SmallVector<CleanupInstaller, 2> PerfScriptReader::TempFileCleanups;
+void ETMReader::recordProcessedRange(uint64_t Start, uint64_t End,
+ uint64_t Count) {
+ if (!SampleCounters.empty()) {
+ auto &Counter = SampleCounters.begin()->second;
+ Counter.recordRangeCount(Start, End, Count);
+ }
+}
+
+class ETMCallback : public ETMDecoder::Callback {
+ ETMReader *Reader;
+
+public:
+ ETMCallback(ETMReader *R) : Reader(R) {}
+ void processInstructionRange(uint64_t Start, uint64_t End) override {
+ Reader->recordProcessedRange(Start, End, 1);
+ }
+};
+
+void ETMReader::parsePerfTraces() {
----------------
aaupov wrote:
Did you mean `parseETMTrace` here?
https://github.com/llvm/llvm-project/pull/191584
More information about the llvm-commits
mailing list