[all-commits] [llvm/llvm-project] 681055: [OpenMP] Remove TSAN annotations from libomp

Joachim via All-commits all-commits at lists.llvm.org
Mon Jul 12 09:50:36 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 681055ea694b1de21a52b319329e5d4f9b1b807d
      https://github.com/llvm/llvm-project/commit/681055ea694b1de21a52b319329e5d4f9b1b807d
  Author: Joachim Protze <protze at itc.rwth-aachen.de>
  Date:   2021-07-12 (Mon, 12 Jul 2021)

  Changed paths:
    M openmp/runtime/CMakeLists.txt
    M openmp/runtime/src/CMakeLists.txt
    M openmp/runtime/src/exports_so.txt
    M openmp/runtime/src/kmp_barrier.cpp
    M openmp/runtime/src/kmp_config.h.cmake
    M openmp/runtime/src/kmp_lock.cpp
    M openmp/runtime/src/kmp_runtime.cpp
    M openmp/runtime/src/kmp_tasking.cpp
    R openmp/runtime/src/tsan_annotations.cpp
    R openmp/runtime/src/tsan_annotations.h
    M openmp/runtime/src/z_Linux_util.cpp

  Log Message:
  -----------
  [OpenMP] Remove TSAN annotations from libomp

The annotations in libomp were never built by default. The annotations are
also superseded by the annotations which the OMPT tool libarcher.so provides.
With respect to libarcher, libomp behaves as if libarcher would be the last
element of OMP_TOOL_LIBARARIES. I.e., if no other OMPT tool gets active,
libarcher will check if an OpenMP application is built with TSan.

Since libarcher gets loaded by default, enabling LIBOMP_TSAN_SUPPORT would
result in redundant annotations for TSan, which slightly differ in details
and coverage (e.g. task dependencies are not handled well by the annotations
in libomp).

This patch removes all TSan annotations from the OpenMP runtime code.

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




More information about the All-commits mailing list