hanchenye-llvm-project/llvm/test/Instrumentation
Alexander Potapenko c1c4c9a494 [MSan] another take at instrumenting inline assembly - now with calls
Turns out it's not always possible to figure out whether an asm()
statement argument points to a valid memory region.
One example would be per-CPU objects in the Linux kernel, for which the
addresses are calculated using the FS register and a small offset in the
.data..percpu section.
To avoid pulling all sorts of checks into the instrumentation, we replace
actual checking/unpoisoning code with calls to
msan_instrument_asm_load(ptr, size) and
msan_instrument_asm_store(ptr, size) functions in the runtime.

This patch doesn't implement the runtime hooks in compiler-rt, as there's
been no demand in assembly instrumentation for userspace apps so far.

llvm-svn: 345702
2018-10-31 09:32:47 +00:00
..
AddressSanitizer Revert "[PassManager/Sanitizer] Enable usage of ported AddressSanitizer passes with -fsanitize=address" 2018-10-26 22:51:51 +00:00
BoundsChecking Fix crash in bounds checking. 2018-08-03 17:12:23 +00:00
DataFlowSanitizer
EfficiencySanitizer
HWAddressSanitizer [hwasan] add stack frame descriptions. 2018-10-23 00:50:40 +00:00
InstrProfiling [InstrProf] Use atomic profile counter updates for TSan 2018-08-16 22:24:47 +00:00
MemorySanitizer [MSan] another take at instrumenting inline assembly - now with calls 2018-10-31 09:32:47 +00:00
SanitizerCoverage [SanitizerCoverage] Create comdat for global arrays. 2018-09-13 21:45:55 +00:00
ThreadSanitizer
cgprofile.ll [BFI] Use rounding while computing profile counts. 2018-08-16 00:26:59 +00:00