Kostya Serebryany
4b929dae93
[asan/tsan] initialize the asan/tsan callbacks in runOnFunction as opposed to doInitialization. This is required to allow the upcoming changes in PassManager behavior
...
llvm-svn: 168864
2012-11-29 09:54:21 +00:00
Dmitry Vyukov
a878e74351
tsan: instrument atomic nand operation
...
llvm-svn: 168684
2012-11-27 08:09:25 +00:00
Matt Beaumont-Gay
000a3958e9
Remove stray trailing backslash
...
llvm-svn: 168592
2012-11-26 16:27:22 +00:00
Dmitry Vyukov
93e67b6c06
tsan: fix lint warnings
...
llvm-svn: 168590
2012-11-26 14:55:26 +00:00
Dmitry Vyukov
12b5cb9a0a
[tsan] add fail order to compare_exchange
...
llvm-svn: 168586
2012-11-26 11:36:19 +00:00
Alexey Samsonov
2b27170fdc
[TSan] fix indentation
...
llvm-svn: 167928
2012-11-14 14:33:59 +00:00
Dmitry Vyukov
0044e386e9
tsan: switch to new memory_order constants (ABI compatible)
...
llvm-svn: 167615
2012-11-09 14:12:16 +00:00
Dmitry Vyukov
92b9e1dbfd
tsan: instrument all atomics (including fetch_add, exchange, cas, etc)
...
llvm-svn: 167612
2012-11-09 12:55:36 +00:00
Micah Villmow
51e7246cb4
Back out r166591, not sure why this made it through since I cancelled the command. Bleh, sorry about this!
...
llvm-svn: 166596
2012-10-24 17:25:11 +00:00
Micah Villmow
6a8f3f9e20
Delete a directory that wasn't supposed to be checked in yet.
...
llvm-svn: 166591
2012-10-24 17:20:04 +00:00
Micah Villmow
cdfe20b97f
Move TargetData to DataLayout.
...
llvm-svn: 165402
2012-10-08 16:38:25 +00:00
Kostya Serebryany
d23b18fe7f
[tsan] add 3 internal flags for fine-grain control of what is instrumented and what is not.
...
llvm-svn: 165204
2012-10-04 05:28:50 +00:00
Dmitry Vyukov
f4cb22121a
tsan: prepare for migration to new memory_order enum values (ABI compatible)
...
llvm-svn: 165107
2012-10-03 13:00:57 +00:00
Alexey Samsonov
f54e3aaeaa
Whitespace
...
llvm-svn: 162907
2012-08-30 13:47:13 +00:00
Kostya Serebryany
4cc511daf0
[asan/tsan] rename FunctionBlackList* to BlackList* as this class is not limited to functions any more
...
llvm-svn: 162566
2012-08-24 16:44:47 +00:00
Kostya Serebryany
e36ae68803
[tsan] fix compile-time falilure found while building Chromium with tsan (tsan issue #3 ). A unit test will follow separately.
...
llvm-svn: 159736
2012-07-05 09:07:31 +00:00
Chandler Carruth
aafe0918bc
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.
llvm-svn: 159421
2012-06-29 12:38:19 +00:00
Kostya Serebryany
ae7188d9b9
[tsan] typo and style (thanks to Nick Lewycky)
...
llvm-svn: 155986
2012-05-02 13:12:19 +00:00
Kostya Serebryany
a1259778b4
[tsan] Atomic support for ThreadSanitizer, patch by Dmitry Vyukov
...
llvm-svn: 155698
2012-04-27 07:31:53 +00:00
Kostya Serebryany
5a4b7a232c
[tsan] use llvm/ADT/Statistic.h for tsan stats
...
llvm-svn: 155341
2012-04-23 08:44:59 +00:00
Kostya Serebryany
5ba61ac651
[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.
llvm-svn: 154444
2012-04-10 22:29:17 +00:00
Kostya Serebryany
bf2de80be6
[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
llvm-svn: 154418
2012-04-10 18:18:56 +00:00
Kostya Serebryany
6f8a776041
[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
...
llvm-svn: 153448
2012-03-26 17:35:03 +00:00
Kostya Serebryany
abad002d55
[tsan] use FunctionBlackList
...
llvm-svn: 152755
2012-03-14 23:33:24 +00:00
Kostya Serebryany
a8531eeb64
[tsan] fix compiler warnings
...
llvm-svn: 150449
2012-02-14 00:52:07 +00:00
Kostya Serebryany
e2a0e4163a
ThreadSanitizer, a race detector. First LLVM commit.
...
Clang patch (flags) will follow shortly.
The run-time library will also follow, but not immediately.
llvm-svn: 150423
2012-02-13 22:50:51 +00:00