[all-commits] [llvm/llvm-project] 960b4c: [SanitizerBinaryMetadata] Treat constant globals a...

Marco Elver via All-commits all-commits at lists.llvm.org
Fri Feb 3 06:35:53 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 960b4c3b5d2bd4bffacfd9382d7c10563faefb89
      https://github.com/llvm/llvm-project/commit/960b4c3b5d2bd4bffacfd9382d7c10563faefb89
  Author: Marco Elver <elver at google.com>
  Date:   2023-02-03 (Fri, 03 Feb 2023)

  Changed paths:
    M compiler-rt/test/metadata/covered.cpp
    M llvm/include/llvm/Transforms/Instrumentation/SanitizerBinaryMetadata.h
    M llvm/lib/Transforms/Instrumentation/SanitizerBinaryMetadata.cpp
    M llvm/test/Instrumentation/SanitizerBinaryMetadata/pretend-atomic-access.ll
    A llvm/test/Instrumentation/SanitizerBinaryMetadata/shared-mutable.ll

  Log Message:
  -----------
  [SanitizerBinaryMetadata] Treat constant globals and non-escaping addresses specially

For atomics metadata, we can make data race analysis more efficient by
entirely ignoring functions that include memory accesses but which only
access non-escaping (non-shared) and/or non-mutable memory. Such
functions will not be considered to be covered by "atomics" metadata,
resulting in the following benefits:

  1. reduces "covered" metadata; and
  2. allows data race analysis to skip such functions.

Reviewed By: dvyukov

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




More information about the All-commits mailing list