reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
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(),