__tsan_unaligned*
__tsan_release
__tsan_acquire
-__tsan_memcpy
-__tsan_memmove
-__tsan_memset
__tsan_mutex_create
__tsan_mutex_destroy
__tsan_mutex_pre_lock
FutexWait(barrier, cur);
}
}
-
-extern "C" {
-__attribute__((alias(SANITIZER_STRINGIFY(WRAP(memcpy))),
- visibility("default"))) void *
-__tsan_memcpy(void *dst, const void *src, uptr size);
-
-__attribute__((alias(SANITIZER_STRINGIFY(WRAP(memset))),
- visibility("default"))) void *
-__tsan_memset(void *dst, int c, uptr size);
-
-__attribute__((alias(SANITIZER_STRINGIFY(WRAP(memmove))),
- visibility("default"))) void *
-__tsan_memmove(void *dst, const void *src, uptr size);
-}
SANITIZER_INTERFACE_ATTRIBUTE
void __tsan_vptr_update(void **vptr_p, void *new_val);
-SANITIZER_INTERFACE_ATTRIBUTE
-void *__tsan_memcpy(void *dest, const void *src, uptr count);
-SANITIZER_INTERFACE_ATTRIBUTE
-void *__tsan_memset(void *dest, int ch, uptr count);
-SANITIZER_INTERFACE_ATTRIBUTE
-void *__tsan_memmove(void *dest, const void *src, uptr count);
-
SANITIZER_INTERFACE_ATTRIBUTE void __tsan_func_entry(void *call_pc);
SANITIZER_INTERFACE_ATTRIBUTE void __tsan_func_exit();
}
MemmoveFn =
- M.getOrInsertFunction("__tsan_memmove", Attr, IRB.getInt8PtrTy(),
+ M.getOrInsertFunction("memmove", Attr, IRB.getInt8PtrTy(),
IRB.getInt8PtrTy(), IRB.getInt8PtrTy(), IntptrTy);
MemcpyFn =
- M.getOrInsertFunction("__tsan_memcpy", Attr, IRB.getInt8PtrTy(),
+ M.getOrInsertFunction("memcpy", Attr, IRB.getInt8PtrTy(),
IRB.getInt8PtrTy(), IRB.getInt8PtrTy(), IntptrTy);
MemsetFn =
- M.getOrInsertFunction("__tsan_memset", Attr, IRB.getInt8PtrTy(),
+ M.getOrInsertFunction("memset", Attr, IRB.getInt8PtrTy(),
IRB.getInt8PtrTy(), IRB.getInt32Ty(), IntptrTy);
}
tail call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 4 %x, i8* align 4 %y, i64 16, i1 false)
ret void
; CHECK: define void @MemCpyTest
-; CHECK: call i8* @__tsan_memcpy
+; CHECK: call i8* @memcpy
; CHECK: ret void
}
tail call void @llvm.memcpy.inline.p0i8.p0i8.i64(i8* align 4 %x, i8* align 4 %y, i64 16, i1 false)
ret void
; CHECK: define void @MemCpyInlineTest
-; CHECK: call i8* @__tsan_memcpy
+; CHECK: call i8* @memcpy
; CHECK: ret void
}
tail call void @llvm.memmove.p0i8.p0i8.i64(i8* align 4 %x, i8* align 4 %y, i64 16, i1 false)
ret void
; CHECK: define void @MemMoveTest
-; CHECK: call i8* @__tsan_memmove
+; CHECK: call i8* @memmove
; CHECK: ret void
}
tail call void @llvm.memset.p0i8.i64(i8* align 4 %x, i8 77, i64 16, i1 false)
ret void
; CHECK: define void @MemSetTest
-; CHECK: call i8* @__tsan_memset
+; CHECK: call i8* @memset
; CHECK: ret void
}
tail call void @llvm.memset.inline.p0i8.i64(i8* align 4 %x, i8 77, i64 16, i1 false)
ret void
; CHECK: define void @MemSetInlineTest
-; CHECK: call i8* @__tsan_memset
+; CHECK: call i8* @memset
; CHECK: ret void
}