<feed xmlns='http://www.w3.org/2005/Atom'>
<title>llvm/lib/Transforms/Instrumentation, branch release_31</title>
<subtitle>http://llvm.org</subtitle>
<id>https://git.amat.us/llvm/atom/lib/Transforms/Instrumentation?h=release_31</id>
<link rel='self' href='https://git.amat.us/llvm/atom/lib/Transforms/Instrumentation?h=release_31'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/'/>
<updated>2012-04-10T22:29:17Z</updated>
<entry>
<title>[tsan] two more compile-time optimizations:</title>
<updated>2012-04-10T22:29:17Z</updated>
<author>
<name>Kostya Serebryany</name>
<email>kcc@google.com</email>
</author>
<published>2012-04-10T22:29:17Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=cff60c1409e36079b4bc6ecbda84565143bf00af'/>
<id>urn:sha1:cff60c1409e36079b4bc6ecbda84565143bf00af</id>
<content type='text'>
- 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
</content>
</entry>
<entry>
<title>[tsan] compile-time instrumentation: do not instrument a read if</title>
<updated>2012-04-10T18:18:56Z</updated>
<author>
<name>Kostya Serebryany</name>
<email>kcc@google.com</email>
</author>
<published>2012-04-10T18:18:56Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=2076af0184bd38185a719ea07cb10a90e8565a89'/>
<id>urn:sha1:2076af0184bd38185a719ea07cb10a90e8565a89</id>
<content type='text'>
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
</content>
</entry>
<entry>
<title>[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</title>
<updated>2012-03-26T17:35:03Z</updated>
<author>
<name>Kostya Serebryany</name>
<email>kcc@google.com</email>
</author>
<published>2012-03-26T17:35:03Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=52eb699220aa00696b5c4a1a67141a8bcc8a4e68'/>
<id>urn:sha1:52eb699220aa00696b5c4a1a67141a8bcc8a4e68</id>
<content type='text'>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153448 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>[asan] fix one more bug related to long double</title>
<updated>2012-03-21T15:28:50Z</updated>
<author>
<name>Kostya Serebryany</name>
<email>kcc@google.com</email>
</author>
<published>2012-03-21T15:28:50Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=208a4ff2b56f453910bb817540f34b8169f7702a'/>
<id>urn:sha1:208a4ff2b56f453910bb817540f34b8169f7702a</id>
<content type='text'>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153189 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>[asan] don't emit __asan_mapping_offset/__asan_mapping_scale by default -- they are currently used only for experiments</title>
<updated>2012-03-19T16:40:35Z</updated>
<author>
<name>Kostya Serebryany</name>
<email>kcc@google.com</email>
</author>
<published>2012-03-19T16:40:35Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=8c0134a77615b66f57250f0662bc899e4574551e'/>
<id>urn:sha1:8c0134a77615b66f57250f0662bc899e4574551e</id>
<content type='text'>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153040 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>[tsan] use FunctionBlackList</title>
<updated>2012-03-14T23:33:24Z</updated>
<author>
<name>Kostya Serebryany</name>
<email>kcc@google.com</email>
</author>
<published>2012-03-14T23:33:24Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=6e590e3f61b101554f97d6ab257c802c9ec49862'/>
<id>urn:sha1:6e590e3f61b101554f97d6ab257c802c9ec49862</id>
<content type='text'>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@152755 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>[asan] rename class BlackList to FunctionBlackList and move it into a separate file -- we will need the same functionality in ThreadSanitizer</title>
<updated>2012-03-14T23:22:10Z</updated>
<author>
<name>Kostya Serebryany</name>
<email>kcc@google.com</email>
</author>
<published>2012-03-14T23:22:10Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=a1c45044099cf7fb4a072f1326f164706d5bb2e2'/>
<id>urn:sha1:a1c45044099cf7fb4a072f1326f164706d5bb2e2</id>
<content type='text'>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@152753 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>ASan: use getTypeAllocSize instead of getTypeStoreSize.</title>
<updated>2012-03-02T10:41:08Z</updated>
<author>
<name>Evgeniy Stepanov</name>
<email>eugeni.stepanov@gmail.com</email>
</author>
<published>2012-03-02T10:41:08Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=d8313be41031e4d768f5b38199904d4debff88cd'/>
<id>urn:sha1:d8313be41031e4d768f5b38199904d4debff88cd</id>
<content type='text'>
This change replaces getTypeStoreSize with getTypeAllocSize in AddressSanitizer
instrumentation for stack allocations.

One case where old behaviour produced undesired results is an optimization in
InstCombine pass (PromoteCastOfAllocation), which can replace  alloca(T) with
alloca(S), where S has the same AllocSize, but a smaller StoreSize. Another
case is memcpy(long double =&gt; long double), where ASan will poison bytes 10-15
of a stack-allocated long double (StoreSize  10, AllocSize 16,
sizeof(long double) = 16).

See http://llvm.org/bugs/show_bug.cgi?id=12047 for more context.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151887 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>[tsan] fix compiler warnings</title>
<updated>2012-02-14T00:52:07Z</updated>
<author>
<name>Kostya Serebryany</name>
<email>kcc@google.com</email>
</author>
<published>2012-02-14T00:52:07Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=3eccaa6625a8032bee6b84706cb46ed8eb915acf'/>
<id>urn:sha1:3eccaa6625a8032bee6b84706cb46ed8eb915acf</id>
<content type='text'>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@150449 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>ThreadSanitizer, a race detector. First LLVM commit.</title>
<updated>2012-02-13T22:50:51Z</updated>
<author>
<name>Kostya Serebryany</name>
<email>kcc@google.com</email>
</author>
<published>2012-02-13T22:50:51Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/llvm/commit/?id=60ebb1947faed42e493179e569c5db0c01d38a2a'/>
<id>urn:sha1:60ebb1947faed42e493179e569c5db0c01d38a2a</id>
<content type='text'>
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
</content>
</entry>
</feed>
