llvm-6502/lib/Transforms/Instrumentation
Dmitry Vyukov 95fa2f9326 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



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@228917 91177308-0d34-0410-b5e6-96231b3b80d8
2015-02-12 09:55:28 +00:00
..
AddressSanitizer.cpp
BoundsChecking.cpp
CMakeLists.txt Use ADDITIONAL_HEADER_DIRS in all LLVM CMake projects. 2015-02-11 03:28:02 +00:00
DataFlowSanitizer.cpp
GCOVProfiling.cpp
InstrProfiling.cpp InstrProf: Lower coverage mappings by setting their sections appropriately 2015-02-11 02:52:44 +00:00
Instrumentation.cpp
LLVMBuild.txt
Makefile
MaximumSpanningTree.h
MemorySanitizer.cpp
SanitizerCoverage.cpp
ThreadSanitizer.cpp tsan: do not instrument not captured values 2015-02-12 09:55:28 +00:00