[all-commits] [llvm/llvm-project] 96313d: [TSan] Optimize handling of racy address

Joachim via All-commits all-commits at lists.llvm.org
Mon Jul 20 06:06:47 PDT 2020


  Branch: refs/heads/release/11.x
  Home:   https://github.com/llvm/llvm-project
  Commit: 96313d2de45ace49d40606dda71f03396f13ddef
      https://github.com/llvm/llvm-project/commit/96313d2de45ace49d40606dda71f03396f13ddef
  Author: Joachim Protze <protze at itc.rwth-aachen.de>
  Date:   2020-07-20 (Mon, 20 Jul 2020)

  Changed paths:
    M compiler-rt/lib/tsan/rtl/tsan_rtl_report.cpp
    M compiler-rt/lib/tsan/tests/rtl/tsan_test_util_posix.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.

Commit again, now with fixed tests.

Reviewed by: dvyukov

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

(cherry picked from commit 7358a1104a02d5f5e645ebff0530787453ae98da)




More information about the All-commits mailing list