1 //===-- tsan_stat.h ---------------------------------------------*- C++ -*-===//
3 // The LLVM Compiler Infrastructure
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
8 //===----------------------------------------------------------------------===//
10 // This file is a part of ThreadSanitizer (TSan), a race detector.
12 //===----------------------------------------------------------------------===//
20 // Memory access processing related stuff.
24 StatMop1, // These must be consequtive.
35 StatShadowNonZero, // Derived.
38 StatShadowNotIntersect,
40 StatShadowAnotherThread,
75 StatClockAcquireEmpty,
76 StatClockAcquireFastRelease,
77 StatClockAcquireLarge,
78 StatClockAcquireRepeat,
80 StatClockAcquiredSomething,
83 StatClockReleaseResize,
84 StatClockReleaseFast1,
85 StatClockReleaseFast2,
88 StatClockReleaseAcquired,
89 StatClockReleaseClearTail,
90 // Clocks - release store.
96 // Clocks - acquire-release.
97 StatClockAcquireRelease,
124 // Dynamic annotations.
126 StatAnnotateHappensBefore,
127 StatAnnotateHappensAfter,
128 StatAnnotateCondVarSignal,
129 StatAnnotateCondVarSignalAll,
130 StatAnnotateMutexIsNotPHB,
131 StatAnnotateCondVarWait,
132 StatAnnotateRWLockCreate,
133 StatAnnotateRWLockCreateStatic,
134 StatAnnotateRWLockDestroy,
135 StatAnnotateRWLockAcquired,
136 StatAnnotateRWLockReleased,
137 StatAnnotateTraceMemory,
138 StatAnnotateFlushState,
139 StatAnnotateNewMemory,
141 StatAnnotateFlushExpectedRaces,
142 StatAnnotateEnableRaceDetection,
143 StatAnnotateMutexIsUsedAsCondVar,
146 StatAnnotatePCQDestroy,
147 StatAnnotatePCQCreate,
148 StatAnnotateExpectRace,
149 StatAnnotateBenignRaceSized,
150 StatAnnotateBenignRace,
151 StatAnnotateIgnoreReadsBegin,
152 StatAnnotateIgnoreReadsEnd,
153 StatAnnotateIgnoreWritesBegin,
154 StatAnnotateIgnoreWritesEnd,
155 StatAnnotateIgnoreSyncBegin,
156 StatAnnotateIgnoreSyncEnd,
157 StatAnnotatePublishMemoryRange,
158 StatAnnotateUnpublishMemoryRange,
159 StatAnnotateThreadName,
160 Stat__tsan_mutex_create,
161 Stat__tsan_mutex_destroy,
162 Stat__tsan_mutex_pre_lock,
163 Stat__tsan_mutex_post_lock,
164 Stat__tsan_mutex_pre_unlock,
165 Stat__tsan_mutex_post_unlock,
166 Stat__tsan_mutex_pre_signal,
167 Stat__tsan_mutex_post_signal,
168 Stat__tsan_mutex_pre_divert,
169 Stat__tsan_mutex_post_divert,
171 // Internal mutex contentionz.
182 StatMtxDeadlockDetector,
188 // This must be the last.
192 } // namespace __tsan
194 #endif // TSAN_STAT_H