[tsan] Don't instrument __llvm_gcov_global_state_pred or __llvm_gcda*
authorVedant Kumar <vsk@apple.com>
Tue, 19 Jul 2016 20:16:08 +0000 (20:16 +0000)
committerVedant Kumar <vsk@apple.com>
Tue, 19 Jul 2016 20:16:08 +0000 (20:16 +0000)
commit57faf2d2086a428ada439d620286656b76fb2be3
tree779f5437ee2d87c1113b1aa393d8fe8a25d87ca9
parent24547108d66802490f30f2c15d1132dc6a4a5b16
[tsan] Don't instrument __llvm_gcov_global_state_pred or __llvm_gcda*

r274801 did not go far enough to allow gcov+tsan to cooperate. With this
commit it's possible to run the following code without false positives:

  std::thread T1(fib), T2(fib);
  T1.join(); T2.join();

llvm-svn: 276015
llvm/lib/Transforms/Instrumentation/ThreadSanitizer.cpp
llvm/test/Instrumentation/ThreadSanitizer/do-not-instrument-memory-access.ll