diff options
| author | Dmitry Vyukov <dvyukov@google.com> | 2017-01-07 11:27:33 +0000 |
|---|---|---|
| committer | Dmitry Vyukov <dvyukov@google.com> | 2017-01-07 11:27:33 +0000 |
| commit | adc3b42fa48f90ec82806a47e827dac8df44fe27 (patch) | |
| tree | 75fc6a0efc6af5f0163b2663200f44b18b1e87a2 /lib/tsan/rtl/tsan.syms.extra | |
| parent | cba3c85d7e7b1d394c7ec39a5738ed8719004488 (diff) | |
| download | compiler-rt-adc3b42fa48f90ec82806a47e827dac8df44fe27.tar.gz | |
tsan: Introducing a function to flush the shadow memory from third-party libraries
As discussed with Dmitry (https://goo.gl/SA4izd), I would like to introduce a function to be called from a third-party library to flush the shadow memory.
In particular, we ran some experiments with our tool Archer (an OpenMP data race detector based on Tsan, https://github.com/PRUNER/archer) and flushing the memory at the end of an outer parallel region, slightly increase the runtime overhead, but reduce the memory overhead of about 30%. This feature would come very handy in case of very large OpenMP applications that may cause an "out of memory" exception when checked with Tsan.
Reviewed in: https://reviews.llvm.org/D28443
Author: Simone Atzeni (simoatze)
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@291346 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/tsan/rtl/tsan.syms.extra')
| -rw-r--r-- | lib/tsan/rtl/tsan.syms.extra | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/lib/tsan/rtl/tsan.syms.extra b/lib/tsan/rtl/tsan.syms.extra index 1bc1d9329..22dfde914 100644 --- a/lib/tsan/rtl/tsan.syms.extra +++ b/lib/tsan/rtl/tsan.syms.extra @@ -1,4 +1,5 @@ __tsan_init +__tsan_flush_memory __tsan_read* __tsan_write* __tsan_vptr* |
