summaryrefslogtreecommitdiffstats
path: root/llvm/test/Instrumentation
Commit message (Collapse)AuthorAgeFilesLines
...
* [asan] make sure asan erases old unused allocas after it created a new one. ↵Kostya Serebryany2012-10-191-0/+20
| | | | | | This became important after the recent move from ModulePass to FunctionPass because no cleanup is happening after asan pass any more. llvm-svn: 166267
* [asan] fix a testKostya Serebryany2012-10-151-1/+1
| | | | llvm-svn: 165938
* tsan: update the test for new atomic enumsDmitry Vyukov2012-10-031-80/+80
| | | | llvm-svn: 165109
* tsan: update the test for new atomic enumsDmitry Vyukov2012-10-031-40/+40
| | | | llvm-svn: 165108
* Revert 'Fix a typo 'iff' => 'if''. iff is an abreviation of if and only if. ↵Sylvestre Ledru2012-09-271-1/+1
| | | | | | See: http://en.wikipedia.org/wiki/If_and_only_if Commit 164767 llvm-svn: 164768
* Fix a typo 'iff' => 'if'Sylvestre Ledru2012-09-271-1/+1
| | | | llvm-svn: 164767
* [asan] add code to detect global initialization fiasco in C/C++. The ↵Kostya Serebryany2012-08-211-0/+36
| | | | | | sub-pass is off by default for now. Patch by Reid Watson. Note: this patch changes the interface between LLVM and compiler-rt parts of asan. The corresponding patch to compiler-rt will follow. llvm-svn: 162268
* [asan] insert crash basic blocks inline as opposed to inserting them at the ↵Kostya Serebryany2012-08-141-10/+8
| | | | | | end of the function. This doesn't seem to fix or break anything, but is considered to be more friendly to downstream passes (test change) llvm-svn: 161871
* revert r160742: it's breaking CMake buildNuno Lopes2012-07-251-31/+0
| | | | | | | original commit msg: MemoryBuiltins: add support to determine the size of strdup'ed non-constant strings llvm-svn: 160751
* MemoryBuiltins: add support to determine the size of strdup'ed non-constant ↵Nuno Lopes2012-07-251-0/+31
| | | | | | strings llvm-svn: 160742
* baby steps toward fixing some problems with inbound GEPs that overflow, as ↵Nuno Lopes2012-07-201-0/+10
| | | | | | | | discussed 2 months ago or so. Make sure we do not emit index computations with NSW flags so that we dont get an undef value if the GEP overflows llvm-svn: 160589
* move the bounds checking pass to the instrumentation folder, where it ↵Nuno Lopes2012-07-204-0/+187
| | | | | | | | belongs. I dunno why in the world I dropped it in the Scalar folder in the first place. No functionality change. llvm-svn: 160587
* [asan] make sure that the crash callbacks do not get merged (Chandler's ↵Kostya Serebryany2012-07-201-18/+19
| | | | | | idea: insert an empty InlineAsm). Change the order in which the new BBs are inserted: the slow path BB is insert between old BBs, the crash BB is inserted at the end. Don't create an empty BB (introduced by recent commits). Update the test. The experimental code that does manual crash callback merge will most likely be deleted later. llvm-svn: 160544
* [asan] refactor instrumentation to allow merging the crash callbacks (not ↵Kostya Serebryany2012-07-161-6/+8
| | | | | | fully implemented yet, no functionality change except the BB order) llvm-svn: 160284
* Revert r160254 temporarily.Chandler Carruth2012-07-161-10/+12
| | | | | | | | | | | | It turns out that ASan relied on the at-the-end block insertion order to (purely by happenstance) disable some LLVM optimizations, which in turn start firing when the ordering is made more "normal". These optimizations in turn merge many of the instrumentation reporting calls which breaks the return address based error reporting in ASan. We're looking at several different options for fixing this. llvm-svn: 160256
* Teach AddressSanitizer to create basic blocks in a more natural order.Chandler Carruth2012-07-161-12/+10
| | | | | | | | | This is particularly useful to the backend code generators which try to process things in the incoming function order. Also, cleanup some uses of IRBuilder to be a bit simpler and more clear. llvm-svn: 160254
* Add a basic test for AddressSanitizer. This is just a bare-bonesChandler Carruth2012-07-161-0/+70
| | | | | | | | | | | functionality test. In general, unless the functionality is substantially separated, we should lump more basic testing into this file. The test running infrastructure likes having a few test files with more comprehensive testing within them. llvm-svn: 160253
* [asan] instrument cmpxchg and atomicrmwKostya Serebryany2012-05-301-0/+22
| | | | llvm-svn: 157683
* [tsan] Atomic support for ThreadSanitizer, patch by Dmitry VyukovKostya Serebryany2012-04-271-0/+323
| | | | llvm-svn: 155698
* [tsan] two more compile-time optimizations:Kostya Serebryany2012-04-101-0/+61
| | | | | | | | | | | | | - 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
* [tsan] compile-time instrumentation: do not instrument a read ifKostya Serebryany2012-04-101-0/+32
| | | | | | | | | | | | | 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
* [tsan] treat vtable pointer updates in a special way (requires tbaa); fix a ↵Kostya Serebryany2012-03-262-0/+14
| | | | | | bug (forgot to return true after instrumenting); make sure the tsan tests are run llvm-svn: 153448
* [asan] move x86-specific test to a separate X86 directory with a custom ↵Kostya Serebryany2012-03-122-0/+13
| | | | | | lit.local.cfg file llvm-svn: 152567
* Replace all instances of dg.exp file with lit.local.cfg, since all tests are ↵Eli Bendersky2012-02-163-6/+1
| | | | | | | | run with LIT now and now Dejagnu. dg.exp is no longer needed. Patch reviewed by Daniel Dunbar. It will be followed by additional cleanup patches. llvm-svn: 150664
* [asan] fix asan-vs-gvn.ll test (it did not actually check much before this ↵Kostya Serebryany2012-02-141-4/+17
| | | | | | change) llvm-svn: 150441
* ThreadSanitizer, a race detector. First LLVM commit.Kostya Serebryany2012-02-132-0/+25
| | | | | | | Clang patch (flags) will follow shortly. The run-time library will also follow, but not immediately. llvm-svn: 150423
* [asan] unpoison the stack before every noreturn call. Fixes asan issue 37. ↵Kostya Serebryany2012-02-081-0/+17
| | | | | | llvm part llvm-svn: 150102
* The patch resolves the conflict between AddressSanitizer and load widening ↵Kostya Serebryany2012-02-061-0/+43
| | | | | | | | | (GVN). The problem initially reported by Mozilla folks (http://code.google.com/p/address-sanitizer/issues/detail?id=20), but it also prevents us from enabling LLVM bootstrap with AddressSanitizer. llvm-svn: 149925
* [asan] enable asan only for the functions that have Attribute::AddressSafetyKostya Serebryany2012-01-243-4/+4
| | | | llvm-svn: 148846
* [asan] one more test for asan instrumentation: (*a)++ should be instrumented ↵Kostya Serebryany2012-01-041-0/+25
| | | | | | only once. llvm-svn: 147509
* [asan] add a test for instrumenting globalsKostya Serebryany2011-12-161-0/+20
| | | | llvm-svn: 146718
* [asan] do not instrument threadlocal globals, this is buggyKostya Serebryany2011-11-231-0/+6
| | | | llvm-svn: 145092
* [asan] workaround for reg alloc bug 11395: don't instrument functions with ↵Kostya Serebryany2011-11-181-0/+71
| | | | | | large chunks of inline assembler llvm-svn: 144962
* fall back to explicit list of allowed linkages when instrumenting globals in ↵Kostya Serebryany2011-11-171-0/+6
| | | | | | asan; add a test check that asan does not touch linkonce_odr llvm-svn: 144933
* AddressSanitizer, first commit (compiler module only)Kostya Serebryany2011-11-162-0/+17
llvm-svn: 144758
OpenPOWER on IntegriCloud