[PATCH] D31630: [tsan] WIP: Detect races on modifying accesses in Swift code

Kuba (Brecka) Mracek via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Apr 3 16:22:49 PDT 2017


kubamracek created this revision.
kubamracek added a project: Sanitizers.

This is work in progress.  This patch allows the Swift compiler to emit calls to `__tsan_external_write` before starting any modifying access, which will cause TSan to detect races on arrays, dictionaries and other classes defined in non-instrumented modules.  Races on collections from the Swift standard library and user-defined structs and a frequent cause of subtle bugs and it's important that TSan detects those on top of existing LLVM IR instrumentation, which already detects races in direct memory accesses.


Repository:
  rL LLVM

https://reviews.llvm.org/D31630

Files:
  lib/tsan/rtl/tsan_debugging.cc
  lib/tsan/rtl/tsan_external.cc
  lib/tsan/rtl/tsan_report.cc
  lib/tsan/rtl/tsan_report.h
  lib/tsan/rtl/tsan_rtl.h
  lib/tsan/rtl/tsan_rtl_report.cc
  lib/tsan/rtl/tsan_suppressions.cc
  test/tsan/Darwin/external-swift.cc

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D31630.93969.patch
Type: text/x-patch
Size: 7210 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170403/e3c9b8ea/attachment.bin>


More information about the llvm-commits mailing list