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