Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code | Sign in
(7269)

Issue 5545054: ThreadSanitizer instrumentation pass

Can't Edit
Can't Publish+Mail
Start Review
Created:
12 years, 3 months ago by kcc
Modified:
12 years, 3 months ago
Base URL:
http://llvm.org/svn/llvm-project/llvm/trunk/
Visibility:
Public.

Patch Set 1 #

Total comments: 24

Patch Set 2 : address comments #

Patch Set 3 : fixed test #

Total comments: 7

Patch Set 4 : minor fix #

Patch Set 5 : address (some of) Nick's comments #

Patch Set 6 : call M.getOrInsertFunction from ThreadSanitizer::doInitialization #

Patch Set 7 : address more Nick's comments #

Unified diffs Side-by-side diffs Delta from patch set Stats (+200 lines, -0 lines) Patch
M include/llvm/InitializePasses.h View 1 2 3 4 5 1 chunk +1 line, -0 lines 0 comments Download
M include/llvm/Transforms/Instrumentation.h View 1 2 3 4 5 2 chunks +3 lines, -0 lines 0 comments Download
M lib/Transforms/Instrumentation/CMakeLists.txt View 1 2 3 4 5 1 chunk +1 line, -0 lines 0 comments Download
M lib/Transforms/Instrumentation/Instrumentation.cpp View 1 2 3 4 5 1 chunk +1 line, -0 lines 0 comments Download
A lib/Transforms/Instrumentation/ThreadSanitizer.cpp View 1 2 3 4 5 6 1 chunk +169 lines, -0 lines 0 comments Download
A test/Instrumentation/ThreadSanitizer/dg.exp View 1 chunk +3 lines, -0 lines 0 comments Download
A test/Instrumentation/ThreadSanitizer/tsan_basic.ll View 1 2 3 4 5 6 1 chunk +22 lines, -0 lines 0 comments Download

Messages

Total messages: 10
dvyukov
we will do initialization in preinit array, right? I am not that aware of llvm ...
12 years, 3 months ago (2012-01-15 13:16:09 UTC) #1
glider
http://codereview.appspot.com/5545054/diff/1/lib/Transforms/Instrumentation/ThreadSanitizer.cpp File lib/Transforms/Instrumentation/ThreadSanitizer.cpp (right): http://codereview.appspot.com/5545054/diff/1/lib/Transforms/Instrumentation/ThreadSanitizer.cpp#newcode43 lib/Transforms/Instrumentation/ThreadSanitizer.cpp:43: static char ID; // Pass identification, replacement for typeid ...
12 years, 3 months ago (2012-01-16 11:11:30 UTC) #2
kcc
PTAL http://codereview.appspot.com/5545054/diff/1/lib/Transforms/Instrumentation/ThreadSanitizer.cpp File lib/Transforms/Instrumentation/ThreadSanitizer.cpp (right): http://codereview.appspot.com/5545054/diff/1/lib/Transforms/Instrumentation/ThreadSanitizer.cpp#newcode43 lib/Transforms/Instrumentation/ThreadSanitizer.cpp:43: static char ID; // Pass identification, replacement for ...
12 years, 3 months ago (2012-01-18 00:37:38 UTC) #3
glider
> http://codereview.appspot.com/5545054/diff/1/lib/Transforms/Instrumentation/ThreadSanitizer.cpp#newcode52 > lib/Transforms/Instrumentation/ThreadSanitizer.cpp:52: > INITIALIZE_PASS(ThreadSanitizer, "tsan", > On 2012/01/16 11:11:30, glider wrote: > > ...
12 years, 3 months ago (2012-01-18 07:47:04 UTC) #4
glider
http://codereview.appspot.com/5545054/diff/6002/lib/Transforms/Instrumentation/ThreadSanitizer.cpp File lib/Transforms/Instrumentation/ThreadSanitizer.cpp (right): http://codereview.appspot.com/5545054/diff/6002/lib/Transforms/Instrumentation/ThreadSanitizer.cpp#newcode116 lib/Transforms/Instrumentation/ThreadSanitizer.cpp:116: Value *FuncEntryFunc = CurrentModule->getOrInsertFunction( I haven't thought about this ...
12 years, 3 months ago (2012-01-18 08:03:46 UTC) #5
kcc
http://codereview.appspot.com/5545054/diff/6002/lib/Transforms/Instrumentation/ThreadSanitizer.cpp File lib/Transforms/Instrumentation/ThreadSanitizer.cpp (right): http://codereview.appspot.com/5545054/diff/6002/lib/Transforms/Instrumentation/ThreadSanitizer.cpp#newcode116 lib/Transforms/Instrumentation/ThreadSanitizer.cpp:116: Value *FuncEntryFunc = CurrentModule->getOrInsertFunction( On 2012/01/18 08:03:46, glider wrote: ...
12 years, 3 months ago (2012-01-18 18:49:12 UTC) #6
kcc
On 2012/01/18 07:47:04, glider wrote: > > > http://codereview.appspot.com/5545054/diff/1/lib/Transforms/Instrumentation/ThreadSanitizer.cpp#newcode52 > > lib/Transforms/Instrumentation/ThreadSanitizer.cpp:52: > > INITIALIZE_PASS(ThreadSanitizer, ...
12 years, 3 months ago (2012-01-18 18:49:57 UTC) #7
ramosian.glider
> On 2012/01/18 08:03:46, glider wrote: > > TypeSize is always a multiple of 8. ...
12 years, 3 months ago (2012-01-18 20:00:03 UTC) #8
ramosian.glider
LGTM
12 years, 3 months ago (2012-01-18 20:00:23 UTC) #9
dvyukov
12 years, 3 months ago (2012-01-19 06:05:01 UTC) #10
LGTM

http://codereview.appspot.com/5545054/diff/6002/lib/Transforms/Instrumentatio...
File lib/Transforms/Instrumentation/ThreadSanitizer.cpp (right):

http://codereview.appspot.com/5545054/diff/6002/lib/Transforms/Instrumentatio...
lib/Transforms/Instrumentation/ThreadSanitizer.cpp:140: // Ignore all unusual
sizes.
On 2012/01/18 08:03:46, glider wrote:
> TypeSize is always a multiple of 8. Don't you want to handle unusual sizes by
> splitting them into several accesses?

Or perhaps just rounding down the size (6->4).
Sign in to reply to this message.

Powered by Google App Engine
RSS Feeds Recent Issues | This issue
This is Rietveld f62528b