76#ifndef LLVM_SUPPORT_TIMEPROFILER_H
77#define LLVM_SUPPORT_TIMEPROFILER_H
84class raw_pwrite_stream;
108struct TimeTraceProfiler;
113struct TimeTraceProfilerEntry;
120 bool TimeTraceVerbose =
false);
144 StringRef FallbackFileName);
152TimeTraceProfilerEntry *
156TimeTraceProfilerEntry *
static GCRegistry::Add< CoreCLRGC > E("coreclr", "CoreCLR-compatible GC")
StringRef - Represent a constant reference to a string, i.e.
The TimeTraceScope is a helper class to call the begin and end functions of the time trace profiler.
TimeTraceScope(StringRef Name, StringRef Detail)
TimeTraceScope(const TimeTraceScope &)=delete
TimeTraceScope(StringRef Name)
TimeTraceScope & operator=(TimeTraceScope &&)=delete
TimeTraceScope(TimeTraceScope &&)=delete
TimeTraceScope(StringRef Name, llvm::function_ref< TimeTraceMetadata()> Metadata)
TimeTraceScope(StringRef Name, llvm::function_ref< std::string()> Detail)
TimeTraceScope & operator=(const TimeTraceScope &)=delete
An efficient, type-erasing, non-owning reference to a callable.
This is an optimization pass for GlobalISel generic memory operations.
TimeTraceProfiler * getTimeTraceProfilerInstance()
void timeTraceProfilerInitialize(unsigned TimeTraceGranularity, StringRef ProcName, bool TimeTraceVerbose=false)
Initialize the time trace profiler.
void timeTraceProfilerFinishThread()
Finish a time trace profiler running on a worker thread.
bool timeTraceProfilerEnabled()
Is the time trace profiler enabled, i.e. initialized?
void timeTraceProfilerEnd()
Manually end the last time section.
void timeTraceAddInstantEvent(StringRef Name, llvm::function_ref< std::string()> Detail)
TimeTraceProfilerEntry * timeTraceAsyncProfilerBegin(StringRef Name, StringRef Detail)
Manually begin a time section, with the given Name and Detail.
bool isTimeTraceVerbose()
void timeTraceProfilerCleanup()
Cleanup the time trace profiler, if it was initialized.
void timeTraceProfilerWrite(raw_pwrite_stream &OS)
Write profiling data to output stream.
TimeTraceProfilerEntry * timeTraceProfilerBegin(StringRef Name, StringRef Detail)
Manually begin a time section, with the given Name and Detail.
Represents an open or completed time section entry to be captured.