[all-commits] [llvm/llvm-project] 00e3a1: [TSan] Optimize handling of racy address

Joachim via All-commits all-commits at lists.llvm.org
Wed Jul 15 08:40:32 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 00e3a1ddec95c0b48ce216220d7e3481dab3bc78
      https://github.com/llvm/llvm-project/commit/00e3a1ddec95c0b48ce216220d7e3481dab3bc78
  Author: Joachim Protze <protze at itc.rwth-aachen.de>
  Date:   2020-07-15 (Wed, 15 Jul 2020)

  Changed paths:
    M compiler-rt/lib/tsan/rtl/tsan_rtl_report.cpp

  Log Message:
  -----------
  [TSan] Optimize handling of racy address

This patch splits the handling of racy address and racy stack into separate
functions. If a race was already reported for the address, we can avoid the
cost for collecting the involved stacks.

This patch also removes the race condition in storing the racy address / racy
stack. This race condition allowed all threads to report the race.

This patch changes the transitive suppression of reports. Previously
suppression could transitively chain memory location and racy stacks.
Now racy memory and racy stack are separate suppressions.

Reviewed by: dvyukov

Differential Revision: https://reviews.llvm.org/D83625




More information about the All-commits mailing list