[all-commits] [llvm/llvm-project] 33d239: [MSAN] Instrument libatomic load/store calls
Gui Andrade via All-commits
all-commits at lists.llvm.org
Wed Jul 22 09:45:46 PDT 2020
Branch: refs/heads/master
Home: https://github.com/llvm/llvm-project
Commit: 33d239513c881d8c11c60d5710c55cf56cc309a5
https://github.com/llvm/llvm-project/commit/33d239513c881d8c11c60d5710c55cf56cc309a5
Author: Gui Andrade <guiand at google.com>
Date: 2020-07-22 (Wed, 22 Jul 2020)
Changed paths:
A compiler-rt/test/msan/libatomic.c
M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
A llvm/test/Instrumentation/MemorySanitizer/libatomic.ll
Log Message:
-----------
[MSAN] Instrument libatomic load/store calls
These calls are neither intercepted by compiler-rt nor is libatomic.a
naturally instrumented.
This patch uses the existing libcall mechanism to detect a call
to atomic_load or atomic_store, and instruments them much like
the preexisting instrumentation for atomics.
Calls to _load are modified to have at least Acquire ordering, and
calls to _store at least Release ordering. Because this needs to be
converted at runtime, msan injects a LUT (implemented as a vector
with extractelement).
Differential Revision: https://reviews.llvm.org/D83337
More information about the All-commits
mailing list