[all-commits] [llvm/llvm-project] 9e9599: tsan: introduce LazyInitialize

Dmitry Vyukov via All-commits all-commits at lists.llvm.org
Thu Jul 29 08:19:44 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 9e9599ef782384847e734dfdb89d34a4bb8c6710
      https://github.com/llvm/llvm-project/commit/9e9599ef782384847e734dfdb89d34a4bb8c6710
  Author: Dmitry Vyukov <dvyukov at google.com>
  Date:   2021-07-29 (Thu, 29 Jul 2021)

  Changed paths:
    M compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp
    M compiler-rt/lib/tsan/rtl/tsan_rtl.cpp
    M compiler-rt/lib/tsan/rtl/tsan_rtl.h

  Log Message:
  -----------
  tsan: introduce LazyInitialize

We call non-inlinable Initialize from all interceptors/syscalls,
but most of the time runtime is already initialized and this just
introduces unnecessary overhead.
Add LazyInitialize that (1) inlinable, (2) does nothing if
.preinit_array is enabled (expected case on Linux).

Depends on D107071.

Reviewed By: melver

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




More information about the All-commits mailing list