reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

References

lib/Transforms/Instrumentation/ThreadSanitizer.cpp
  200   const DataLayout &DL = M.getDataLayout();
  201   IntptrTy = DL.getIntPtrType(M.getContext());
  203   IRBuilder<> IRB(M.getContext());
  205   Attr = Attr.addAttribute(M.getContext(), AttributeList::FunctionIndex,
  208   TsanFuncEntry = M.getOrInsertFunction("__tsan_func_entry", Attr,
  211       M.getOrInsertFunction("__tsan_func_exit", Attr, IRB.getVoidTy());
  212   TsanIgnoreBegin = M.getOrInsertFunction("__tsan_ignore_thread_begin", Attr,
  215       M.getOrInsertFunction("__tsan_ignore_thread_end", Attr, IRB.getVoidTy());
  223     TsanRead[i] = M.getOrInsertFunction(ReadName, Attr, IRB.getVoidTy(),
  227     TsanWrite[i] = M.getOrInsertFunction(WriteName, Attr, IRB.getVoidTy(),
  231     TsanUnalignedRead[i] = M.getOrInsertFunction(
  235     TsanUnalignedWrite[i] = M.getOrInsertFunction(
  238     Type *Ty = Type::getIntNTy(M.getContext(), BitSize);
  242         M.getOrInsertFunction(AtomicLoadName, Attr, Ty, PtrTy, OrdTy);
  245     TsanAtomicStore[i] = M.getOrInsertFunction(
  270           M.getOrInsertFunction(RMWName, Attr, Ty, PtrTy, Ty, OrdTy);
  275     TsanAtomicCAS[i] = M.getOrInsertFunction(AtomicCASName, Attr, Ty, PtrTy, Ty,
  279       M.getOrInsertFunction("__tsan_vptr_update", Attr, IRB.getVoidTy(),
  281   TsanVptrLoad = M.getOrInsertFunction("__tsan_vptr_read", Attr,
  283   TsanAtomicThreadFence = M.getOrInsertFunction("__tsan_atomic_thread_fence",
  285   TsanAtomicSignalFence = M.getOrInsertFunction("__tsan_atomic_signal_fence",
  289       M.getOrInsertFunction("memmove", Attr, IRB.getInt8PtrTy(),
  292       M.getOrInsertFunction("memcpy", Attr, IRB.getInt8PtrTy(),
  295       M.getOrInsertFunction("memset", Attr, IRB.getInt8PtrTy(),