1 //===-- tsan_stat.h ---------------------------------------------*- C++ -*-===//
3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4 // See https://llvm.org/LICENSE.txt for license information.
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
7 //===----------------------------------------------------------------------===//
9 // This file is a part of ThreadSanitizer (TSan), a race detector.
11 //===----------------------------------------------------------------------===//
19 // Memory access processing related stuff.
23 StatMop1
, // These must be consequtive.
34 StatShadowNonZero
, // Derived.
37 StatShadowNotIntersect
,
39 StatShadowAnotherThread
,
71 StatSyncReleaseStoreAcquire
,
75 StatClockAcquireEmpty
,
76 StatClockAcquireFastRelease
,
78 StatClockAcquiredSomething
,
81 StatClockReleaseResize
,
85 StatClockReleaseAcquired
,
86 StatClockReleaseClearTail
,
87 // Clocks - release store.
93 // Clocks - acquire-release.
94 StatClockAcquireRelease
,
121 // Dynamic annotations.
123 StatAnnotateHappensBefore
,
124 StatAnnotateHappensAfter
,
125 StatAnnotateCondVarSignal
,
126 StatAnnotateCondVarSignalAll
,
127 StatAnnotateMutexIsNotPHB
,
128 StatAnnotateCondVarWait
,
129 StatAnnotateRWLockCreate
,
130 StatAnnotateRWLockCreateStatic
,
131 StatAnnotateRWLockDestroy
,
132 StatAnnotateRWLockAcquired
,
133 StatAnnotateRWLockReleased
,
134 StatAnnotateTraceMemory
,
135 StatAnnotateFlushState
,
136 StatAnnotateNewMemory
,
138 StatAnnotateFlushExpectedRaces
,
139 StatAnnotateEnableRaceDetection
,
140 StatAnnotateMutexIsUsedAsCondVar
,
143 StatAnnotatePCQDestroy
,
144 StatAnnotatePCQCreate
,
145 StatAnnotateExpectRace
,
146 StatAnnotateBenignRaceSized
,
147 StatAnnotateBenignRace
,
148 StatAnnotateIgnoreReadsBegin
,
149 StatAnnotateIgnoreReadsEnd
,
150 StatAnnotateIgnoreWritesBegin
,
151 StatAnnotateIgnoreWritesEnd
,
152 StatAnnotateIgnoreSyncBegin
,
153 StatAnnotateIgnoreSyncEnd
,
154 StatAnnotatePublishMemoryRange
,
155 StatAnnotateUnpublishMemoryRange
,
156 StatAnnotateThreadName
,
157 Stat__tsan_mutex_create
,
158 Stat__tsan_mutex_destroy
,
159 Stat__tsan_mutex_pre_lock
,
160 Stat__tsan_mutex_post_lock
,
161 Stat__tsan_mutex_pre_unlock
,
162 Stat__tsan_mutex_post_unlock
,
163 Stat__tsan_mutex_pre_signal
,
164 Stat__tsan_mutex_post_signal
,
165 Stat__tsan_mutex_pre_divert
,
166 Stat__tsan_mutex_post_divert
,
168 // Internal mutex contentionz.
179 StatMtxDeadlockDetector
,
185 // This must be the last.
189 } // namespace __tsan
191 #endif // TSAN_STAT_H