[all-commits] [llvm/llvm-project] b0e9b7: [NFC][SimplifyCFG] Add STATISTIC() to the FoldValu...

github-actions[bot] via All-commits all-commits at lists.llvm.org
Mon Nov 30 01:32:54 PST 2020


  Branch: refs/heads/temp-test-main
  Home:   https://github.com/llvm/llvm-project
  Commit: b0e9b7c59fc49559e78b58a84e45f0ea2d931761
      https://github.com/llvm/llvm-project/commit/b0e9b7c59fc49559e78b58a84e45f0ea2d931761
  Author: Roman Lebedev <lebedev.ri at gmail.com>
  Date:   2020-11-30 (Mon, 30 Nov 2020)

  Changed paths:
    M llvm/lib/Transforms/Utils/SimplifyCFG.cpp

  Log Message:
  -----------
  [NFC][SimplifyCFG] Add STATISTIC() to the FoldValueComparisonIntoPredecessors() fold


  Commit: 8da7efbb0d5ec315a27b7b5286dbdd25694905ad
      https://github.com/llvm/llvm-project/commit/8da7efbb0d5ec315a27b7b5286dbdd25694905ad
  Author: Vasily Kulikov <segoon at yandex-team.ru>
  Date:   2020-11-30 (Mon, 30 Nov 2020)

  Changed paths:
    M clang-tools-extra/clang-tidy/CMakeLists.txt
    M clang-tools-extra/clang-tidy/ClangTidyForceLinker.h
    A clang-tools-extra/clang-tidy/concurrency/CMakeLists.txt
    A clang-tools-extra/clang-tidy/concurrency/ConcurrencyTidyModule.cpp
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/docs/clang-tidy/index.rst

  Log Message:
  -----------
  [clang-tidy] add concurrency module

The module will contain checks related to concurrent programming (including threads, fibers, coroutines, etc.).

Reviewed By: lebedev.ri

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


  Commit: cac5be495ed88b269ad7a3000305e714cce60e63
      https://github.com/llvm/llvm-project/commit/cac5be495ed88b269ad7a3000305e714cce60e63
  Author: Vasily Kulikov <segoon at yandex-team.ru>
  Date:   2020-11-30 (Mon, 30 Nov 2020)

  Changed paths:
    M clang-tools-extra/clang-tidy/concurrency/CMakeLists.txt
    M clang-tools-extra/clang-tidy/concurrency/ConcurrencyTidyModule.cpp
    A clang-tools-extra/clang-tidy/concurrency/MtUnsafeCheck.cpp
    A clang-tools-extra/clang-tidy/concurrency/MtUnsafeCheck.h
    M clang-tools-extra/docs/ReleaseNotes.rst
    A clang-tools-extra/docs/clang-tidy/checks/concurrency-mt-unsafe.rst
    M clang-tools-extra/docs/clang-tidy/checks/list.rst
    A clang-tools-extra/test/clang-tidy/checkers/concurrency-mt-unsafe-any.cpp
    A clang-tools-extra/test/clang-tidy/checkers/concurrency-mt-unsafe-glibc.cpp
    A clang-tools-extra/test/clang-tidy/checkers/concurrency-mt-unsafe-posix.cpp

  Log Message:
  -----------
  [clang-tidy] implement concurrency-mt-unsafe

Checks for some thread-unsafe functions against a black list
of known-to-be-unsafe functions. Usually they access static variables
without synchronization (e.g. gmtime(3)) or utilize signals
in a racy way (e.g. sleep(3)).

The patch adds a check instead of auto-fix as thread-safe alternatives
usually have API with an additional argument
(e.g. gmtime(3) v.s. gmtime_r(3)) or have a different semantics
(e.g. exit(3) v.s. __exit(3)), so it is a rather tricky
or non-expected fix.

An option specifies which functions in libc should be considered
thread-safe, possible values are `posix`, `glibc`,
or `any` (the most strict check). It defaults to 'any' as it is
unknown what target libc type is - clang-tidy may be run
on linux but check sources compiled for other *NIX.

The check is used in Yandex Taxi backend and has caught
many unpleasant bugs. A similar patch for coroutine-unsafe API
is coming next.

Reviewed By: lebedev.ri

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


Compare: https://github.com/llvm/llvm-project/compare/d5387c044d96...cac5be495ed8


More information about the All-commits mailing list