[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