summaryrefslogtreecommitdiffstats
path: root/openmp/tools/archer/ompt-tsan.cpp
Commit message (Collapse)AuthorAgeFilesLines
* [OpenMP][Tool] Fix memory leak and double-allocationJoachim Protze2020-01-171-6/+3
| | | | | | | | | | | Fix the memory leak pointed out in https://reviews.llvm.org/D70412. And a second one due to double-allocation. Reviewed by: Hahnfeld Differential revision: https://reviews.llvm.org/D72779 (cherry picked from commit 39f746d8def66ef8f5c4d3f1eb4c4cee4baac988)
* [OpenMP][Tool] Runtime warning for missing TSan-optionJoachim Protze2020-01-141-0/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | TSan spuriously reports for any OpenMP application a race on the initialization of a runtime internal mutex: ``` Atomic read of size 1 at 0x7b6800005940 by thread T4: #0 pthread_mutex_lock <null> (a.out+0x43f39e) #1 __kmp_resume_64 <null> (libomp.so.5+0x84db4) Previous write of size 1 at 0x7b6800005940 by thread T7: #0 pthread_mutex_init <null> (a.out+0x424793) #1 __kmp_suspend_initialize_thread <null> (libomp.so.5+0x8422e) ``` According to @AndreyChurbanov this is a false positive report, as the control flow of the runtime guarantees the ordering of the mutex initialization and the lock: https://software.intel.com/en-us/forums/intel-open-source-openmp-runtime-library/topic/530363 To suppress this report, I suggest the use of TSAN_OPTIONS='ignore_uninstrumented_modules=1'. With this patch, a runtime warning is provided in case an OpenMP application is built with Tsan and executed without this Tsan-option. Reviewed By: jdoerfert Differential Revision: https://reviews.llvm.org/D70412
* [OpenMP][Tool] Improving stack trace for ArcherJoachim Protze2020-01-131-2/+18
| | | | | | | | | | | | The OpenMP runtime is not instrumented, so entering the runtime leaves no hint on the source line of the pragma on ThreadSanitizer's function stack. This patch adds function entry/exit annotations for OpenMP parallel regions, and synchronization regions (barrier, taskwait, taskgroup). Reviewed By: jdoerfert Differential Revision: https://reviews.llvm.org/D70408
* [OpenMP] Add implementation and tests of Archer toolprotze@itc.rwth-aachen.de2019-11-181-0/+904
The tool provides TSAN annotations for OpenMP synchronization. The tool is activated if no other OMPT tool is loaded. The tool detects whether the application was built with TSan and rejects activation according to the OMPT protocol if there is no TSan-rt. Differential Revision: https://reviews.llvm.org/D45890
OpenPOWER on IntegriCloud