1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-24 03:33:20 +01:00
llvm-mirror/test/Instrumentation
Dmitry Vyukov 149a56946f 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
..
AddressSanitizer
BoundsChecking
DataFlowSanitizer
InstrProfiling
MemorySanitizer [msan] Fix "missing origin" in atomic store. 2015-02-06 21:47:39 +00:00
SanitizerCoverage [sanitizer] add another workaround for PR 17409: when over a threshold emit coverage instrumentation as calls. 2015-02-04 01:21:45 +00:00
ThreadSanitizer tsan: do not instrument not captured values 2015-02-12 09:55:28 +00:00