1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-24 19:52:54 +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 IR: Move MDLocation into place 2015-01-14 22:27:36 +00:00
BoundsChecking Allow aliases to be unnamed_addr. 2014-06-06 01:20:28 +00:00
DataFlowSanitizer IR: Move MDLocation into place 2015-01-14 22:27:36 +00:00
InstrProfiling InstrProf: An intrinsic and lowering for instrumentation based profiling 2014-12-08 18:02:35 +00:00
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