[llvm-commits] ThreadSanitizer, first patch. Please review.

Kostya Serebryany kcc at google.com
Wed Jan 18 11:38:50 PST 2012


Hello,

The proposed patch is the first step towards race detection built into
LLVM/Clang.
The tool will be similar to AddressSanitizer in the way it works:
   1. A simple instrumentation module
in lib/Transforms/Instrumentation/ThreadSanitizer.cpp (this patch)
   2. -fthread-sanitizer flag in clang (next patch)
   3. A run-time library in projects/compiler-rt/lib/tsan (patches will
follow).

The patch: http://codereview.appspot.com/5545054/ (also attached).

Here are some links about the previous versions of ThreadSanitizer
- http://code.google.com/p/data-race-test/ -- main project page
- http://code.google.com/p/data-race-test/wiki/CompileTimeInstrumentation
- description
of the LLVM-based prototype (we are not going to reuse that code, but will
reuse the ideas).
- http://code.google.com/p/data-race-test/wiki/GccInstrumentation -
description of the GCC-based prototype.
- http://dev.chromium.org/developers/how-tos/using-valgrind/threadsanitizer -
ThreadSanitizer for Chromium
- http://data-race-test.googlecode.com/files/ThreadSanitizer.pdf -- paper
about Valgrind-based tool published at WBIA'09
- http://data-race-test.googlecode.com/files/ThreadSanitizerLLVM.pdf --
paper about LLVM-based tool published at RV'2011

Thanks,

--kcc
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20120118/fa28b61e/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: issue5545054_10002.diff
Type: text/x-patch
Size: 8698 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20120118/fa28b61e/attachment.bin>


More information about the llvm-commits mailing list