diff options
author | Dimitry Andric <dim@FreeBSD.org> | 2016-02-06 13:39:20 +0000 |
---|---|---|
committer | Dimitry Andric <dim@FreeBSD.org> | 2016-02-06 13:39:20 +0000 |
commit | f8ca070d3aeee9332d1843f5aa44945374b51b8e (patch) | |
tree | 4efb8604227ede935238eb1c67b626da1265d459 /contrib/compiler-rt/lib/tsan/tests/rtl/tsan_bench.cc | |
parent | 752d00608cb24d3c902d6890efe6964247c2532c (diff) | |
parent | 807551b099338b7cc4f66ee567aae20a529dd27e (diff) |
Merge compiler-rt release_38 branch r258968.
Note that there is still a problem on amd64, causing SIGBUS in the early
startup of Address Sanitizer. This is being investigated.
Notes
Notes:
svn path=/projects/clang380-import/; revision=295349
Diffstat (limited to 'contrib/compiler-rt/lib/tsan/tests/rtl/tsan_bench.cc')
-rw-r--r-- | contrib/compiler-rt/lib/tsan/tests/rtl/tsan_bench.cc | 105 |
1 files changed, 0 insertions, 105 deletions
diff --git a/contrib/compiler-rt/lib/tsan/tests/rtl/tsan_bench.cc b/contrib/compiler-rt/lib/tsan/tests/rtl/tsan_bench.cc deleted file mode 100644 index a3cf22f2c626..000000000000 --- a/contrib/compiler-rt/lib/tsan/tests/rtl/tsan_bench.cc +++ /dev/null @@ -1,105 +0,0 @@ -//===-- tsan_bench.cc -----------------------------------------------------===// -// -// The LLVM Compiler Infrastructure -// -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. -// -//===----------------------------------------------------------------------===// -// -// This file is a part of ThreadSanitizer (TSan), a race detector. -// -//===----------------------------------------------------------------------===// -#include "tsan_test_util.h" -#include "tsan_interface.h" -#include "tsan_defs.h" -#include "gtest/gtest.h" -#include <stdint.h> - -const int kSize = 128; -const int kRepeat = 2*1024*1024; - -void noinstr(void *p) {} - -template<typename T, void(*__tsan_mop)(void *p)> -static void Benchmark() { - volatile T data[kSize]; - for (int i = 0; i < kRepeat; i++) { - for (int j = 0; j < kSize; j++) { - __tsan_mop((void*)&data[j]); - data[j]++; - } - } -} - -TEST(DISABLED_BENCH, Mop1) { - Benchmark<uint8_t, noinstr>(); -} - -TEST(DISABLED_BENCH, Mop1Read) { - Benchmark<uint8_t, __tsan_read1>(); -} - -TEST(DISABLED_BENCH, Mop1Write) { - Benchmark<uint8_t, __tsan_write1>(); -} - -TEST(DISABLED_BENCH, Mop2) { - Benchmark<uint16_t, noinstr>(); -} - -TEST(DISABLED_BENCH, Mop2Read) { - Benchmark<uint16_t, __tsan_read2>(); -} - -TEST(DISABLED_BENCH, Mop2Write) { - Benchmark<uint16_t, __tsan_write2>(); -} - -TEST(DISABLED_BENCH, Mop4) { - Benchmark<uint32_t, noinstr>(); -} - -TEST(DISABLED_BENCH, Mop4Read) { - Benchmark<uint32_t, __tsan_read4>(); -} - -TEST(DISABLED_BENCH, Mop4Write) { - Benchmark<uint32_t, __tsan_write4>(); -} - -TEST(DISABLED_BENCH, Mop8) { - Benchmark<uint8_t, noinstr>(); -} - -TEST(DISABLED_BENCH, Mop8Read) { - Benchmark<uint64_t, __tsan_read8>(); -} - -TEST(DISABLED_BENCH, Mop8Write) { - Benchmark<uint64_t, __tsan_write8>(); -} - -TEST(DISABLED_BENCH, FuncCall) { - for (int i = 0; i < kRepeat; i++) { - for (int j = 0; j < kSize; j++) - __tsan_func_entry((void*)(uintptr_t)j); - for (int j = 0; j < kSize; j++) - __tsan_func_exit(); - } -} - -TEST(DISABLED_BENCH, MutexLocal) { - Mutex m; - ScopedThread().Create(m); - for (int i = 0; i < 50; i++) { - ScopedThread t; - t.Lock(m); - t.Unlock(m); - } - for (int i = 0; i < 16*1024*1024; i++) { - m.Lock(); - m.Unlock(); - } - ScopedThread().Destroy(m); -} |