[llvm] [BOLT][Perf2bolt] Add support to generate pre-parsed perf data (PR #171144)
Ádám Kallai via llvm-commits
llvm-commits at lists.llvm.org
Tue Mar 10 01:52:29 PDT 2026
================
@@ -154,19 +154,36 @@ class DataAggregator : public DataReader {
/// Perf utility full path name
std::string PerfPath;
+ enum PerfProcessType {
+ BUILDIDS = 0,
+ MAIN_EVENTS,
+ MEM_EVENTS,
+ MMAP_EVENTS,
+ TASK_EVENTS
+ };
+ friend raw_ostream &operator<<(raw_ostream &OS, const PerfProcessType &T);
+
/// Perf process spawning bookkeeping
struct PerfProcessInfo {
+ static constexpr StringLiteral BuildIDEventStr = "BUILDIDS";
+ static constexpr StringLiteral MainEventStr = "MAIN";
+ static constexpr StringLiteral MemEventStr = "MEM";
+ static constexpr StringLiteral MMapEventStr = "MMAP";
+ static constexpr StringLiteral TaskEventsStr = "TASK";
+
+ enum PerfProcessType Type;
bool IsFinished{false};
- sys::ProcessInfo PI;
- SmallVector<char, 256> StdoutPath;
- SmallVector<char, 256> StderrPath;
+ sys::ProcessInfo PI{};
+ SmallVector<char, 256> StdoutPath{};
+ SmallVector<char, 256> StderrPath{};
----------------
kaadam wrote:
I assigned its types to PerfProcessInfo below, so it is just for suppressing compiler warning about uninitialized fields.
https://github.com/llvm/llvm-project/pull/171144
More information about the llvm-commits
mailing list