LLVM: include/llvm/Support/TimeProfiler.h Source File (original) (raw)

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76#ifndef LLVM_SUPPORT_TIMEPROFILER_H

77#define LLVM_SUPPORT_TIMEPROFILER_H

78

82

83namespace llvm {

84

86

87

99

108

109struct TimeTraceProfiler;

111

113

114struct TimeTraceProfilerEntry;

115

116

117

118

120 StringRef ProcName,

121 bool TimeTraceVerbose = false);

122

123

125

126

128

129

133

134

135

136

138

139

140

141

142

143

145 StringRef FallbackFileName);

146

147

148

149

150

152 StringRef Detail);

153LLVM_ABI TimeTraceProfilerEntry *

156

157LLVM_ABI TimeTraceProfilerEntry *

160

161

162

163

164

165

167 StringRef Detail);

168

169

173

174

177

178

179

180

181

183public:

189

203

204private:

206};

207

208}

209

210#endif

static GCRegistry::Add< CoreCLRGC > E("coreclr", "CoreCLR-compatible GC")

StringRef - Represent a constant reference to a string, i.e.

TimeTraceScope(StringRef Name, StringRef Detail)

Definition TimeProfiler.h:192

TimeTraceScope(const TimeTraceScope &)=delete

TimeTraceScope(StringRef Name)

Definition TimeProfiler.h:190

TimeTraceScope & operator=(TimeTraceScope &&)=delete

~TimeTraceScope()

Definition TimeProfiler.h:199

TimeTraceScope(TimeTraceScope &&)=delete

TimeTraceScope(StringRef Name, llvm::function_ref< TimeTraceMetadata()> Metadata)

Definition TimeProfiler.h:196

TimeTraceScope(StringRef Name, llvm::function_ref< std::string()> Detail)

Definition TimeProfiler.h:194

TimeTraceScope & operator=(const TimeTraceScope &)=delete

An efficient, type-erasing, non-owning reference to a callable.

An abstract base class for streams implementations that also support a pwrite operation.

This is an optimization pass for GlobalISel generic memory operations.

LLVM_ABI TimeTraceProfiler * getTimeTraceProfilerInstance()

LLVM_ABI void timeTraceProfilerInitialize(unsigned TimeTraceGranularity, StringRef ProcName, bool TimeTraceVerbose=false)

Initialize the time trace profiler.

LLVM_ABI void timeTraceProfilerFinishThread()

Finish a time trace profiler running on a worker thread.

bool timeTraceProfilerEnabled()

Is the time trace profiler enabled, i.e. initialized?

Definition TimeProfiler.h:130

LLVM_ABI void timeTraceProfilerEnd()

Manually end the last time section.

LLVM_ABI void timeTraceAddInstantEvent(StringRef Name, llvm::function_ref< std::string()> Detail)

LLVM_ABI TimeTraceProfilerEntry * timeTraceAsyncProfilerBegin(StringRef Name, StringRef Detail)

Manually begin a time section, with the given Name and Detail.

LLVM_ABI bool isTimeTraceVerbose()

TimeTraceEventType

Definition TimeProfiler.h:88

@ CompleteEvent

Definition TimeProfiler.h:91

@ InstantEvent

Definition TimeProfiler.h:94

@ AsyncEvent

Definition TimeProfiler.h:97

LLVM_ABI void timeTraceProfilerCleanup()

Cleanup the time trace profiler, if it was initialized.

LLVM_ABI void timeTraceProfilerWrite(raw_pwrite_stream &OS)

Write profiling data to output stream.

LLVM_ABI 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.