diff options
author | Dmitry Vyukov <dvyukov@google.com> | 2015-02-12 09:55:28 +0000 |
---|---|---|
committer | Dmitry Vyukov <dvyukov@google.com> | 2015-02-12 09:55:28 +0000 |
commit | 2e8d82e6073419344f3f638e536cc1df1d88e0e6 (patch) | |
tree | 424b0738b8c7974f8f160e0201134e0063f31f92 /clang/lib/Frontend/InitPreprocessor.cpp | |
parent | d2cb3c8876b856581216c8394a2fa55a581e87c2 (diff) | |
download | bcm5719-llvm-2e8d82e6073419344f3f638e536cc1df1d88e0e6.tar.gz bcm5719-llvm-2e8d82e6073419344f3f638e536cc1df1d88e0e6.zip |
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
Diffstat (limited to 'clang/lib/Frontend/InitPreprocessor.cpp')
0 files changed, 0 insertions, 0 deletions