llvm-project/llvm/test/Instrumentation/ThreadSanitizer
Dmitry Vyukov 2e8d82e607 tsan: do not instrument not captured values
I've built some tests in WebRTC with and without this change. With this change number of __tsan_read/write calls is reduced by 20-40%, binary size decreases by 5-10% and execution time drops by ~5%. For example:

$ ls -l old/modules_unittests new/modules_unittests
-rwxr-x--- 1 dvyukov 41708976 Jan 20 18:35 old/modules_unittests
-rwxr-x--- 1 dvyukov 38294008 Jan 20 18:29 new/modules_unittests
$ objdump -d old/modules_unittests | egrep "callq.*__tsan_(read|write|unaligned)" | wc -l
239871
$ objdump -d new/modules_unittests | egrep "callq.*__tsan_(read|write|unaligned)" | wc -l
148365

http://reviews.llvm.org/D7069

llvm-svn: 228917
2015-02-12 09:55:28 +00:00
..
atomic.ll
capture.ll tsan: do not instrument not captured values 2015-02-12 09:55:28 +00:00
no_sanitize_thread.ll
read_before_write.ll
read_from_global.ll IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
tsan-vs-gvn.ll
tsan_basic.ll
unaligned.ll tsan: properly instrument unaligned accesses 2015-01-27 20:19:17 +00:00
vptr_read.ll IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
vptr_update.ll IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00