Go to file
Dmitry Vyukov eee690b29a tsan: fix test invisible barrier
Another attempt at fixing tsan_invisible_barrier.
Current implementation causes:
https://llvm.org/bugs/show_bug.cgi?id=25643

There were several unsuccessful iterations for this functionality:

Initially it was implemented in user code using REAL(pthread_barrier_wait). But pthread_barrier_wait is not supported on MacOS. Futexes are linux-specific for this matter.
Then we switched to atomics+usleep(10). But usleep produced parasitic "as-if synchronized via sleep" messages in reports which failed some output tests.
Then we switched to atomics+sched_yield. But this produced tons of tsan- visible events, which lead to "failed to restore stack trace" failures.
Move implementation into runtime and use internal_sched_yield in the wait loop.
This way tsan should see no events from the barrier, so not trace overflows and
no "as-if synchronized via sleep" messages.

llvm-svn: 255030
2015-12-08 17:54:47 +00:00
clang Update clang-format-vs README 2015-12-08 17:54:27 +00:00
clang-tools-extra Added coverage check for extensionless headers, and exclude hidden dot directoryies. 2015-12-04 22:42:18 +00:00
compiler-rt tsan: fix test invisible barrier 2015-12-08 17:54:47 +00:00
debuginfo-tests
libclc integer: remove explicit casts from _MIN definitions 2015-10-06 19:12:12 +00:00
libcxx Cleaned up the intro for the TS status page; really need much more info here 2015-12-08 00:08:23 +00:00
libcxxabi .gitignore: ignore vim swap files 2015-12-04 02:15:02 +00:00
libunwind Make it possible to use libunwind without heap. 2015-11-09 06:57:29 +00:00
lld [ELF] - fixed mistype in comment, NFC. 2015-12-07 16:54:56 +00:00
lldb flip on executable bit on test runner tests 2015-12-08 16:22:27 +00:00
llgo [llgo] Force exporting __morestack from llgoi 2015-11-27 04:46:46 +00:00
llvm adding readability-identifier-naming to llvm clang-tidy configuration. 2015-12-08 17:44:51 +00:00
openmp Replace DYNA_* names with KMP_* names 2015-12-03 19:37:20 +00:00
polly ScopInfo: Add MemoryAccess::isScalar() 2015-12-07 18:06:08 +00:00