From: Nick Lewycky Date: Sat, 3 Dec 2011 02:45:50 +0000 (+0000) Subject: Creating multiple JITs on X86 in multiple threads causes multiple writes (of X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=3604924799fc83da93ae4b8c1eb57ed9c9e734b5;p=oota-llvm.git Creating multiple JITs on X86 in multiple threads causes multiple writes (of the same value) to this variable. This code could be refactored, but it doesn't matter since the old JIT is going away. Add tsan annotations to ignore the race. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145745 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Target/X86/X86JITInfo.cpp b/lib/Target/X86/X86JITInfo.cpp index 3f88fa69d0e..2145a331de7 100644 --- a/lib/Target/X86/X86JITInfo.cpp +++ b/lib/Target/X86/X86JITInfo.cpp @@ -424,7 +424,9 @@ X86CompilationCallback2(intptr_t *StackPtr, intptr_t RetAddr) { TargetJITInfo::LazyResolverFn X86JITInfo::getLazyResolverFunction(JITCompilerFn F) { + TsanIgnoreWritesBegin(); JITCompilerFunction = F; + TsanIgnoreWritesEnd(); #if defined (X86_32_JIT) && !defined (_MSC_VER) if (Subtarget->hasSSE1())