diff options
Diffstat (limited to 'openmp/runtime/src/tsan_annotations.h')
-rw-r--r-- | openmp/runtime/src/tsan_annotations.h | 63 |
1 files changed, 37 insertions, 26 deletions
diff --git a/openmp/runtime/src/tsan_annotations.h b/openmp/runtime/src/tsan_annotations.h index cacd7ece99d..9abbfafe44e 100644 --- a/openmp/runtime/src/tsan_annotations.h +++ b/openmp/runtime/src/tsan_annotations.h @@ -4,7 +4,6 @@ * race detection in OpenMP programs. */ - //===----------------------------------------------------------------------===// // // The LLVM Compiler Infrastructure @@ -21,7 +20,7 @@ /* types as used in tsan/rtl/tsan_interface_ann.cc */ typedef unsigned long uptr; -typedef signed long sptr; +typedef signed long sptr; #ifdef __cplusplus extern "C" { @@ -44,30 +43,32 @@ void AnnotateFlushState(const char *f, int l); void AnnotateNewMemory(const char *f, int l, uptr mem, uptr size); void AnnotateNoOp(const char *f, int l, uptr mem); void AnnotateFlushExpectedRaces(const char *f, int l); -void AnnotateEnableRaceDetection( const char *f, int l, int enable); -void AnnotateMutexIsUsedAsCondVar( const char *f, int l, uptr mu); -void AnnotatePCQGet( const char *f, int l, uptr pcq); -void AnnotatePCQPut( const char *f, int l, uptr pcq); -void AnnotatePCQDestroy( const char *f, int l, uptr pcq); -void AnnotatePCQCreate( const char *f, int l, uptr pcq); -void AnnotateExpectRace( const char *f, int l, uptr mem, char *desc); -void AnnotateBenignRaceSized( const char *f, int l, uptr mem, uptr size, char *desc); -void AnnotateBenignRace( const char *f, int l, uptr mem, char *desc); +void AnnotateEnableRaceDetection(const char *f, int l, int enable); +void AnnotateMutexIsUsedAsCondVar(const char *f, int l, uptr mu); +void AnnotatePCQGet(const char *f, int l, uptr pcq); +void AnnotatePCQPut(const char *f, int l, uptr pcq); +void AnnotatePCQDestroy(const char *f, int l, uptr pcq); +void AnnotatePCQCreate(const char *f, int l, uptr pcq); +void AnnotateExpectRace(const char *f, int l, uptr mem, char *desc); +void AnnotateBenignRaceSized(const char *f, int l, uptr mem, uptr size, + char *desc); +void AnnotateBenignRace(const char *f, int l, uptr mem, char *desc); void AnnotateIgnoreReadsBegin(const char *f, int l); void AnnotateIgnoreReadsEnd(const char *f, int l); void AnnotateIgnoreWritesBegin(const char *f, int l); void AnnotateIgnoreWritesEnd(const char *f, int l); void AnnotateIgnoreSyncBegin(const char *f, int l); void AnnotateIgnoreSyncEnd(const char *f, int l); -void AnnotatePublishMemoryRange( const char *f, int l, uptr addr, uptr size); -void AnnotateUnpublishMemoryRange( const char *f, int l, uptr addr, uptr size); -void AnnotateThreadName( const char *f, int l, char *name); +void AnnotatePublishMemoryRange(const char *f, int l, uptr addr, uptr size); +void AnnotateUnpublishMemoryRange(const char *f, int l, uptr addr, uptr size); +void AnnotateThreadName(const char *f, int l, char *name); void WTFAnnotateHappensBefore(const char *f, int l, uptr addr); void WTFAnnotateHappensAfter(const char *f, int l, uptr addr); -void WTFAnnotateBenignRaceSized( const char *f, int l, uptr mem, uptr sz, char *desc); +void WTFAnnotateBenignRaceSized(const char *f, int l, uptr mem, uptr sz, + char *desc); int RunningOnValgrind(); double ValgrindSlowdown(void); -const char * ThreadSanitizerQuery(const char *query); +const char *ThreadSanitizerQuery(const char *query); void AnnotateMemoryIsInitialized(const char *f, int l, uptr mem, uptr sz); #ifdef __cplusplus @@ -75,17 +76,27 @@ void AnnotateMemoryIsInitialized(const char *f, int l, uptr mem, uptr sz); #endif #ifdef TSAN_SUPPORT -#define ANNOTATE_HAPPENS_AFTER(addr) AnnotateHappensAfter(__FILE__, __LINE__, (uptr)addr) -#define ANNOTATE_HAPPENS_BEFORE(addr) AnnotateHappensBefore(__FILE__, __LINE__, (uptr)addr) -#define ANNOTATE_IGNORE_WRITES_BEGIN() AnnotateIgnoreWritesBegin(__FILE__, __LINE__) +#define ANNOTATE_HAPPENS_AFTER(addr) \ + AnnotateHappensAfter(__FILE__, __LINE__, (uptr)addr) +#define ANNOTATE_HAPPENS_BEFORE(addr) \ + AnnotateHappensBefore(__FILE__, __LINE__, (uptr)addr) +#define ANNOTATE_IGNORE_WRITES_BEGIN() \ + AnnotateIgnoreWritesBegin(__FILE__, __LINE__) #define ANNOTATE_IGNORE_WRITES_END() AnnotateIgnoreWritesEnd(__FILE__, __LINE__) -#define ANNOTATE_RWLOCK_CREATE(lck) AnnotateRWLockCreate(__FILE__, __LINE__, (uptr)lck) -#define ANNOTATE_RWLOCK_RELEASED(lck) AnnotateRWLockAcquired(__FILE__, __LINE__, (uptr)lck, 1) -#define ANNOTATE_RWLOCK_ACQUIRED(lck) AnnotateRWLockReleased(__FILE__, __LINE__, (uptr)lck, 1) -#define ANNOTATE_BARRIER_BEGIN(addr) AnnotateHappensBefore(__FILE__, __LINE__, (uptr)addr) -#define ANNOTATE_BARRIER_END(addr) AnnotateHappensAfter(__FILE__, __LINE__, (uptr)addr) -#define ANNOTATE_REDUCE_AFTER(addr) AnnotateHappensAfter(__FILE__, __LINE__, (uptr)addr) -#define ANNOTATE_REDUCE_BEFORE(addr) AnnotateHappensBefore(__FILE__, __LINE__, (uptr)addr) +#define ANNOTATE_RWLOCK_CREATE(lck) \ + AnnotateRWLockCreate(__FILE__, __LINE__, (uptr)lck) +#define ANNOTATE_RWLOCK_RELEASED(lck) \ + AnnotateRWLockAcquired(__FILE__, __LINE__, (uptr)lck, 1) +#define ANNOTATE_RWLOCK_ACQUIRED(lck) \ + AnnotateRWLockReleased(__FILE__, __LINE__, (uptr)lck, 1) +#define ANNOTATE_BARRIER_BEGIN(addr) \ + AnnotateHappensBefore(__FILE__, __LINE__, (uptr)addr) +#define ANNOTATE_BARRIER_END(addr) \ + AnnotateHappensAfter(__FILE__, __LINE__, (uptr)addr) +#define ANNOTATE_REDUCE_AFTER(addr) \ + AnnotateHappensAfter(__FILE__, __LINE__, (uptr)addr) +#define ANNOTATE_REDUCE_BEFORE(addr) \ + AnnotateHappensBefore(__FILE__, __LINE__, (uptr)addr) #else #define ANNOTATE_HAPPENS_AFTER(addr) #define ANNOTATE_HAPPENS_BEFORE(addr) |