1*7c3d14c8STreehugger Robot // Test that verifies TSan runtime doesn't contain compiler-emitted 2*7c3d14c8STreehugger Robot // memcpy/memmove calls. It builds the binary with TSan and passes it to 3*7c3d14c8STreehugger Robot // check_memcpy.sh script. 4*7c3d14c8STreehugger Robot 5*7c3d14c8STreehugger Robot // RUN: %clangxx_tsan -O1 %s -o %t 6*7c3d14c8STreehugger Robot // RUN: llvm-objdump -d %t | FileCheck %s 7*7c3d14c8STreehugger Robot main()8*7c3d14c8STreehugger Robotint main() { 9*7c3d14c8STreehugger Robot return 0; 10*7c3d14c8STreehugger Robot } 11*7c3d14c8STreehugger Robot 12*7c3d14c8STreehugger Robot // CHECK-NOT: callq {{.*<(__interceptor_)?mem(cpy|set)>}} 13*7c3d14c8STreehugger Robot // tail calls: 14*7c3d14c8STreehugger Robot // CHECK-NOT: jmpq {{.*<(__interceptor_)?mem(cpy|set)>}} 15*7c3d14c8STreehugger Robot 16