[llvm] Expose TimeTraceProfiler for Async Events (PR #83778)
Fangrui Song via llvm-commits
llvm-commits at lists.llvm.org
Mon Mar 18 01:05:21 PDT 2024
================
@@ -102,23 +104,24 @@ struct llvm::TimeTraceProfiler {
llvm::get_thread_name(ThreadName);
}
- void begin(std::string Name, llvm::function_ref<std::string()> Detail) {
- Stack.emplace_back(ClockType::now(), TimePointType(), std::move(Name),
- Detail());
+ TimeTraceProfilerEntry *begin(std::string Name,
+ llvm::function_ref<std::string()> Detail,
+ bool AsyncEvent = false) {
+ Stack.emplace_back(std::make_unique<TimeTraceProfilerEntry>(
+ ClockType::now(), TimePointType(), std::move(Name), Detail(),
+ AsyncEvent));
+ return Stack.back().get();
}
void end() {
+ TimeTraceProfilerEntry *E = Stack.back().get();
+ end(*E);
----------------
MaskRay wrote:
`end(*Stack.back())`
https://github.com/llvm/llvm-project/pull/83778
More information about the llvm-commits
mailing list