tsan: fix clang -Wall build
Clang does not like classes with virtual functions but w/o virtual dtor.
Go does not like libstdc++ (operator delete).



git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@177267 91177308-0d34-0410-b5e6-96231b3b80d8
tsan: move implementation out of h file


git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@177269 91177308-0d34-0410-b5e6-96231b3b80d8
[asan] make the __asan_get_heap_size more robust

git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@177270 91177308-0d34-0410-b5e6-96231b3b80d8
tsan: madvise(DONTNEED) shadow memory on munmap()



git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@177278 91177308-0d34-0410-b5e6-96231b3b80d8
tsan: better memory profiler



git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@177286 91177308-0d34-0410-b5e6-96231b3b80d8
tsan: mark shadow for thread stack as "don't need" when thread exits



git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@177288 91177308-0d34-0410-b5e6-96231b3b80d8
tsan: touch less shadow memory during operations on big memory ranges
greatly reduces memory consumption



git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@177289 91177308-0d34-0410-b5e6-96231b3b80d8
tsan: add support for idle threads



git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@177292 91177308-0d34-0410-b5e6-96231b3b80d8
tsan: smaller memory block headers (32b->16b)



git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@177312 91177308-0d34-0410-b5e6-96231b3b80d8
Add some GCOV functions that register all of the __llvm_gcov_flush() functions.

The __llvm_gcov_flush() functions only work for the local compile unit. However,
when __gcov_flush() is called, the user expects all of the counters to be
flushed, not just the ones in the current compile unit.

This adds some library functions that register the flush functions. It also
defined __gcov_flush() so that loops through that list and calls the functions.

PR15191 & <rdar://problem/13167507>


git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@177337 91177308-0d34-0410-b5e6-96231b3b80d8
Update ubsan test for clang change r177362.


git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@177363 91177308-0d34-0410-b5e6-96231b3b80d8
tsan: do not allocate sync vars on relaxed atomic operations
helps to reduce memory consumption if an atomic is used only with relaxed ops (stats)



git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@177381 91177308-0d34-0410-b5e6-96231b3b80d8
Support CMake build of profile runtime library on Linux

git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@177382 91177308-0d34-0410-b5e6-96231b3b80d8
[sanitizer] Don't adjust the size of the user-allocated stack.

Moved this code to sanitizer_common.


git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@177383 91177308-0d34-0410-b5e6-96231b3b80d8
[sanitizer] Avoid use of uintptr_t.


git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@177384 91177308-0d34-0410-b5e6-96231b3b80d8