History log of /external/llvm/lib/Transforms/Instrumentation/ThreadSanitizer.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
cd81d94322a39503e4a3e87b6ee03d4fcb3465fb 21-Jul-2014 Stephen Hines <srhines@google.com> Update LLVM for rebase to r212749.

Includes a cherry-pick of:
r212948 - fixes a small issue with atomic calls

Change-Id: Ib97bd980b59f18142a69506400911a6009d9df18
/external/llvm/lib/Transforms/Instrumentation/ThreadSanitizer.cpp
dce4a407a24b04eebc6a376f8e62b41aaa7b071f 29-May-2014 Stephen Hines <srhines@google.com> Update LLVM for 3.5 rebase (r209712).

Change-Id: I149556c940fb7dc92d075273c87ff584f400941f
/external/llvm/lib/Transforms/Instrumentation/ThreadSanitizer.cpp
36b56886974eae4f9c5ebc96befd3e7bfe5de338 24-Apr-2014 Stephen Hines <srhines@google.com> Update to LLVM 3.5a.

Change-Id: Ifadecab779f128e62e430c2b4f6ddd84953ed617
/external/llvm/lib/Transforms/Instrumentation/ThreadSanitizer.cpp
4ef1999d61f955917f86320f3b1c6e3352fd0b49 17-Oct-2013 Dmitry Vyukov <dvyukov@google.com> tsan: implement no_sanitize_thread attribute
If a function has no_sanitize_thread attribute,
do not instrument memory accesses in it.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@192871 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Instrumentation/ThreadSanitizer.cpp
0b3d39235aaed8bc66ccffb3942bf7b5f185329c 07-Sep-2013 Manman Ren <manman.ren@gmail.com> TBAA: add isTBAAVtableAccess to MDNode so clients can call the function
instead of having its own implementation.

The implementation of isTBAAVtableAccess is in TypeBasedAliasAnalysis.cpp
since it is related to the format of TBAA metadata.

The path for struct-path tbaa will be exercised by
test/Instrumentation/ThreadSanitizer/read_from_global.ll, vptr_read.ll, and
vptr_update.ll when struct-path tbaa is on by default.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@190216 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Instrumentation/ThreadSanitizer.cpp
e39e1316f034e9932cb8da535541a3e35a0e490a 12-Aug-2013 Alexey Samsonov <samsonov@google.com> Add SpecialCaseList::createOrDie() factory and use it in sanitizer passes

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188169 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Instrumentation/ThreadSanitizer.cpp
405515d55f470d04ef75f653b7f1994329c9066b 10-Jul-2013 Peter Collingbourne <peter@pcc.me.uk> Rename BlackList class to SpecialCaseList and move it to Transforms/Utils.

Differential Revision: http://llvm-reviews.chandlerc.com/D1089

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185975 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Instrumentation/ThreadSanitizer.cpp
c6af2432c802d241c8fffbe0371c023e6c58844e 25-May-2013 Michael J. Spencer <bigcheesegs@gmail.com> Replace Count{Leading,Trailing}Zeros_{32,64} with count{Leading,Trailing}Zeros.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@182680 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Instrumentation/ThreadSanitizer.cpp
f464481db0c3b5404004b510921ca454803fd1d0 28-Mar-2013 Kostya Serebryany <kcc@google.com> [tsan] make sure memset/memcpy/memmove are not inlined in tsan mode

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@178230 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Instrumentation/ThreadSanitizer.cpp
ab78ac1a2d55cd81e42f4688fbaa7bd689e6291f 22-Mar-2013 Dmitry Vyukov <dvyukov@google.com> tsan: handle vptr loads specially
This is required to determine ctor/dtor vs virtual call races.
http://llvm-reviews.chandlerc.com/D566



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@177717 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Instrumentation/ThreadSanitizer.cpp
90230c84668269fbd53d163e398cd16486d5d414 19-Jan-2013 Chandler Carruth <chandlerc@gmail.com> Sort all of the includes. Several files got checked in with mis-sorted
includes.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172891 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Instrumentation/ThreadSanitizer.cpp
ae36eccdfbad53a1e76ca263b7540b84d50d3524 18-Jan-2013 Will Dietz <wdietz2@illinois.edu> Move Blacklist.h to include/ to enable use from clang.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172806 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Instrumentation/ThreadSanitizer.cpp
0b8c9a80f20772c3793201ab5b251d3520b9cea3 02-Jan-2013 Chandler Carruth <chandlerc@gmail.com> Move all of the header files which are involved in modelling the LLVM IR
into their new header subdirectory: include/llvm/IR. This matches the
directory structure of lib, and begins to correct a long standing point
of file layout clutter in LLVM.

There are still more header files to move here, but I wanted to handle
them in separate commits to make tracking what files make sense at each
layer easier.

The only really questionable files here are the target intrinsic
tablegen files. But that's a battle I'd rather not fight today.

I've updated both CMake and Makefile build systems (I think, and my
tests think, but I may have missed something).

I've also re-sorted the includes throughout the project. I'll be
committing updates to Clang, DragonEgg, and Polly momentarily.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171366 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Instrumentation/ThreadSanitizer.cpp
f045df1b8b7f80e17e34c2b5639082a1d0e289ae 28-Dec-2012 Alexey Samsonov <samsonov@google.com> Add proper support for -fsanitize-blacklist= flag for TSan and MSan. LLVM part.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171183 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Instrumentation/ThreadSanitizer.cpp
d04a8d4b33ff316ca4cf961e06c9e312eff8e64f 03-Dec-2012 Chandler Carruth <chandlerc@gmail.com> Use the new script to sort the includes of every file under lib.

Sooooo many of these had incorrect or strange main module includes.
I have manually inspected all of these, and fixed the main module
include to be the nearest plausible thing I could find. If you own or
care about any of these source files, I encourage you to take some time
and check that these edits were sensible. I can't have broken anything
(I strictly added headers, and reordered them, never removed), but they
may not be the headers you'd really like to identify as containing the
API being implemented.

Many forward declarations and missing includes were added to a header
files to allow them to parse cleanly when included first. The main
module rule does in fact have its merits. =]

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169131 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Instrumentation/ThreadSanitizer.cpp
8b390ffbfdd52a23a45a21de99aa1c31f3ce623f 29-Nov-2012 Kostya Serebryany <kcc@google.com> [asan/tsan] initialize the asan/tsan callbacks in runOnFunction as opposed to doInitialization. This is required to allow the upcoming changes in PassManager behavior

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168864 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Instrumentation/ThreadSanitizer.cpp
b10675ef14bea530551172547e2111bf707a408e 27-Nov-2012 Dmitry Vyukov <dvyukov@google.com> tsan: instrument atomic nand operation


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168684 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Instrumentation/ThreadSanitizer.cpp
70af909f67565753cbd61886da2b0b7e191d32bf 26-Nov-2012 Matt Beaumont-Gay <matthewbg@google.com> Remove stray trailing backslash

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168592 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Instrumentation/ThreadSanitizer.cpp
9a33f9f9804126661e87edfe491288b81f5c51e6 26-Nov-2012 Dmitry Vyukov <dvyukov@google.com> tsan: fix lint warnings


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168590 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Instrumentation/ThreadSanitizer.cpp
6702e53926c2ce04ab4c049930d24a9c42996941 26-Nov-2012 Dmitry Vyukov <dvyukov@google.com> [tsan] add fail order to compare_exchange


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168586 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Instrumentation/ThreadSanitizer.cpp
659c052dfb11c88d3b52f30b9f3bd9e95ace8327 14-Nov-2012 Alexey Samsonov <samsonov@google.com> [TSan] fix indentation

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@167928 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Instrumentation/ThreadSanitizer.cpp
c2e9ca15fbb7ce2bc0bc79e44862d74cdd2802b9 09-Nov-2012 Dmitry Vyukov <dvyukov@google.com> tsan: switch to new memory_order constants (ABI compatible)


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@167615 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Instrumentation/ThreadSanitizer.cpp
9f8a90b3ce0e248e3b68b056d4c840295facbc02 09-Nov-2012 Dmitry Vyukov <dvyukov@google.com> tsan: instrument all atomics (including fetch_add, exchange, cas, etc)



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@167612 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Instrumentation/ThreadSanitizer.cpp
b8bce928f4ffdf50eff69334f3e25b27848536b6 24-Oct-2012 Micah Villmow <villmow@gmail.com> Back out r166591, not sure why this made it through since I cancelled the command. Bleh, sorry about this!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@166596 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Instrumentation/ThreadSanitizer.cpp
2f87640b86315beab8a5671cc23f524e59c58bd3 24-Oct-2012 Micah Villmow <villmow@gmail.com> Delete a directory that wasn't supposed to be checked in yet.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@166591 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Instrumentation/ThreadSanitizer.cpp
3574eca1b02600bac4e625297f4ecf745f4c4f32 08-Oct-2012 Micah Villmow <villmow@gmail.com> Move TargetData to DataLayout.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165402 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Instrumentation/ThreadSanitizer.cpp
41d876cea3b5212e5ee8bc25c13c6eab54a4a93c 04-Oct-2012 Kostya Serebryany <kcc@google.com> [tsan] add 3 internal flags for fine-grain control of what is instrumented and what is not.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165204 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Instrumentation/ThreadSanitizer.cpp
9a8c112dae24b72c691f77c782b1b34864ee3445 03-Oct-2012 Dmitry Vyukov <dvyukov@google.com> tsan: prepare for migration to new memory_order enum values (ABI compatible)


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165107 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Instrumentation/ThreadSanitizer.cpp
1dfe9b52646ce56446ecd3548dbc81068369ef3f 30-Aug-2012 Alexey Samsonov <samsonov@google.com> Whitespace

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@162907 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Instrumentation/ThreadSanitizer.cpp
b5b86d263a651566cb25c0f406f75ceffb771029 24-Aug-2012 Kostya Serebryany <kcc@google.com> [asan/tsan] rename FunctionBlackList* to BlackList* as this class is not limited to functions any more

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@162566 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Instrumentation/ThreadSanitizer.cpp
4a002ab9c3eb19d33641cf37945a2ed153ee6d77 05-Jul-2012 Kostya Serebryany <kcc@google.com> [tsan] fix compile-time falilure found while building Chromium with tsan (tsan issue #3). A unit test will follow separately.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@159736 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Instrumentation/ThreadSanitizer.cpp
06cb8ed00696eb14d1b831921452e50ec0568ea2 29-Jun-2012 Chandler Carruth <chandlerc@gmail.com> Move llvm/Support/IRBuilder.h -> llvm/IRBuilder.h

This was always part of the VMCore library out of necessity -- it deals
entirely in the IR. The .cpp file in fact was already part of the VMCore
library. This is just a mechanical move.

I've tried to go through and re-apply the coding standard's preferred
header sort, but at 40-ish files, I may have gotten some wrong. Please
let me know if so.

I'll be committing the corresponding updates to Clang and Polly, and
Duncan has DragonEgg.

Thanks to Bill and Eric for giving the green light for this bit of cleanup.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@159421 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Instrumentation/ThreadSanitizer.cpp
37cb9acac54fdebdb833dc7e2f312d8e3bb33002 02-May-2012 Kostya Serebryany <kcc@google.com> [tsan] typo and style (thanks to Nick Lewycky)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@155986 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Instrumentation/ThreadSanitizer.cpp
e507922779b0d0d9ed3c159306174b4e191d119a 27-Apr-2012 Kostya Serebryany <kcc@google.com> [tsan] Atomic support for ThreadSanitizer, patch by Dmitry Vyukov

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@155698 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Instrumentation/ThreadSanitizer.cpp
2d5fdf81dc483e42cfad7ffbfa7492a31bb5ffd2 23-Apr-2012 Kostya Serebryany <kcc@google.com> [tsan] use llvm/ADT/Statistic.h for tsan stats

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@155341 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Instrumentation/ThreadSanitizer.cpp
cff60c1409e36079b4bc6ecbda84565143bf00af 11-Apr-2012 Kostya Serebryany <kcc@google.com> [tsan] two more compile-time optimizations:
- don't isntrument reads from constant globals.
Saves ~1.5% of instrumented instructions on CPU2006
(counting static instructions, not their execution).
- don't insrument reads from vtable (which is a global constant too).
Saves ~5%.

I did not measure the run-time impact of this,
but it is certainly non-negative.




git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@154444 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Instrumentation/ThreadSanitizer.cpp
2076af0184bd38185a719ea07cb10a90e8565a89 10-Apr-2012 Kostya Serebryany <kcc@google.com> [tsan] compile-time instrumentation: do not instrument a read if
a write to the same temp follows in the same BB.
Also add stats printing.

On Spec CPU2006 this optimization saves roughly 4% of instrumented reads
(which is 3% of all instrumented accesses):
Writes : 161216
Reads : 446458
Reads-before-write: 18295



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@154418 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Instrumentation/ThreadSanitizer.cpp
52eb699220aa00696b5c4a1a67141a8bcc8a4e68 26-Mar-2012 Kostya Serebryany <kcc@google.com> [tsan] treat vtable pointer updates in a special way (requires tbaa); fix a bug (forgot to return true after instrumenting); make sure the tsan tests are run

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153448 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Instrumentation/ThreadSanitizer.cpp
6e590e3f61b101554f97d6ab257c802c9ec49862 15-Mar-2012 Kostya Serebryany <kcc@google.com> [tsan] use FunctionBlackList

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@152755 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Instrumentation/ThreadSanitizer.cpp
3eccaa6625a8032bee6b84706cb46ed8eb915acf 14-Feb-2012 Kostya Serebryany <kcc@google.com> [tsan] fix compiler warnings

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@150449 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Instrumentation/ThreadSanitizer.cpp
60ebb1947faed42e493179e569c5db0c01d38a2a 13-Feb-2012 Kostya Serebryany <kcc@google.com> ThreadSanitizer, a race detector. First LLVM commit.
Clang patch (flags) will follow shortly.
The run-time library will also follow, but not immediately.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@150423 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Instrumentation/ThreadSanitizer.cpp