Lines Matching defs:ThreadSanitizer
1 //===-- ThreadSanitizer.cpp - race detector -------------------------------===//
10 // This file is a part of ThreadSanitizer, a race detector.
80 /// ThreadSanitizer: instrument the code in module to find races.
81 struct ThreadSanitizer : public FunctionPass {
82 ThreadSanitizer() : FunctionPass(ID) {}
123 char ThreadSanitizer::ID = 0;
124 INITIALIZE_PASS(ThreadSanitizer, "tsan",
125 "ThreadSanitizer: detects data races.",
128 const char *ThreadSanitizer::getPassName() const {
129 return "ThreadSanitizer";
133 return new ThreadSanitizer();
136 void ThreadSanitizer::initializeCallbacks(Module &M) {
228 bool ThreadSanitizer::doInitialization(Module &M) {
246 bool ThreadSanitizer::addrPointsToConstantData(Value *Addr) {
279 void ThreadSanitizer::chooseInstructionsToInstrument(
332 bool ThreadSanitizer::runOnFunction(Function &F) {
406 bool ThreadSanitizer::instrumentLoadOrStore(Instruction *I,
479 bool ThreadSanitizer::instrumentMemIntrinsic(Instruction *I) {
499 // Both llvm and ThreadSanitizer atomic operations are based on C++11/C1x
507 bool ThreadSanitizer::instrumentAtomic(Instruction *I, const DataLayout &DL) {
586 int ThreadSanitizer::getMemoryAccessFuncIndex(Value *Addr,