llvm-project/compiler-rt/lib
Dmitry Vyukov e38d3c8f9f sanitizer: speedup coverage by 33%
Atomic RMW is not necessary in InitializeGuardArray.
It is supposed to run when no user code runs.
And if user code runs concurrently, then the atomic
RMW won't help anyway. So replace it with non-atomic RMW.

InitializeGuardArray takes more than 50% of time during re2 fuzzing:

real	0m47.215s
51.56% a.out a.out [.] __sanitizer_reset_coverage

6.68%  a.out  a.out                [.] __sanitizer_cov
3.41%  a.out  a.out                [.] __sanitizer::internal_bzero_aligned16(void*, unsigned long)
1.79%  a.out  a.out                [.] __asan::Allocator::Allocate(unsigned long, unsigned long,
With this change:

real 0m31.661s
26.21% a.out a.out [.] sanitizer_reset_coverage
10.12% a.out a.out [.] sanitizer_cov

5.38%  a.out  a.out                [.] __sanitizer::internal_bzero_aligned16(void*, unsigned long)
2.53%  a.out  a.out                [.] __asan::Allocator::Allocate(unsigned long, unsigned long,
That's 33% speedup.

Reviewed in http://reviews.llvm.org/D14537

llvm-svn: 252715
2015-11-11 09:36:26 +00:00
..
BlocksRuntime Move tests for BlocksRuntime and builtins to corresponding directories under test/ 2014-02-14 09:47:31 +00:00
asan [compiler-rt] [asan] Use same shadow offset for aarch64 2015-11-09 18:05:24 +00:00
builtins [compiler-rt][aarch64] New tests for 128-bit floating-point builtins, fixes of tests and __fixuint 2015-11-05 18:36:42 +00:00
cfi CFI: Make the cfi target a dependency of compiler-rt. 2015-09-02 02:18:46 +00:00
dfsan [compiler-rt] Apply modernize-use-nullptr fixes in sanitizers 2015-10-01 00:22:21 +00:00
interception Sanitizer: define WIN32_LEAN_AND_MEAN 2015-10-29 20:36:55 +00:00
lsan [compiler-rt] [asan] Use same shadow offset for aarch64 2015-11-09 18:05:24 +00:00
msan Revert "Apply modernize-use-default to compiler-rt." 2015-10-30 18:52:31 +00:00
profile Rollback 252570 for further investigation 2015-11-10 00:58:22 +00:00
safestack [compiler-rt] Apply modernize-use-nullptr fixes in sanitizers 2015-10-01 00:22:21 +00:00
sanitizer_common sanitizer: speedup coverage by 33% 2015-11-11 09:36:26 +00:00
tsan [tsan] Pass correct interposed function prefix to report function 2015-11-11 02:38:38 +00:00
ubsan Revert "Apply modernize-use-default to compiler-rt." 2015-10-30 18:52:31 +00:00
CMakeLists.txt [CFI] Make CFI tests require UBSan (for diagnostic mode). 2015-09-29 21:43:37 +00:00
Makefile.mk Remove support for building sanitizers from Makefile/autoconf build on Linux. 2015-02-18 22:26:49 +00:00