1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-24 03:33:20 +01:00
llvm-mirror/test/Instrumentation/MemorySanitizer
Alexander Potapenko d0446d3d9b [MSan] Add KMSAN instrumentation to MSan pass
Introduce the -msan-kernel flag, which enables the kernel instrumentation.

The main differences between KMSAN and MSan instrumentations are:

- KMSAN implies msan-track-origins=2, msan-keep-going=true;
- there're no explicit accesses to shadow and origin memory.
  Shadow and origin values for a particular X-byte memory location are
  read and written via pointers returned by
  __msan_metadata_ptr_for_load_X(u8 *addr) and
  __msan_store_shadow_origin_X(u8 *addr, uptr shadow, uptr origin);
- TLS variables are stored in a single struct in per-task storage. A call
  to a function returning that struct is inserted into every instrumented
  function before the entry block;
- __msan_warning() takes a 32-bit origin parameter;
- local variables are poisoned with __msan_poison_alloca() upon function
  entry and unpoisoned with __msan_unpoison_alloca() before leaving the
  function;
- the pass doesn't declare any global variables or add global constructors
  to the translation unit.

llvm-svn: 341637
2018-09-07 09:10:30 +00:00
..
AArch64 [MSan] Make sure variadic function arguments do not overflow __msan_va_arg_tls 2018-09-06 08:21:54 +00:00
Mips [MSan] Make sure variadic function arguments do not overflow __msan_va_arg_tls 2018-09-06 08:21:54 +00:00
PowerPC [MSan] Make sure variadic function arguments do not overflow __msan_va_arg_tls 2018-09-06 08:21:54 +00:00
X86 [MSan] store origins for variadic function parameters in __msan_va_arg_origin_tls 2018-09-06 15:14:36 +00:00
alloca.ll [MSan] Add KMSAN instrumentation to MSan pass 2018-09-07 09:10:30 +00:00
array_types.ll
atomics.ll
byval-alignment.ll
check_access_address.ll
check-constant-shadow.ll
csr.ll
global_ctors_2to3.ll
instrumentation-with-call-threshold.ll
manual-shadow.ll
masked-store-load.ll
missing_origin.ll
msan_basic.ll [MSan] Shrink the register save area for non-SSE builds 2018-08-10 08:06:43 +00:00
msan_kernel_basic.ll [MSan] Add KMSAN instrumentation to MSan pass 2018-09-07 09:10:30 +00:00
msan_x86_bts_asm.ll
msan_x86intrinsics.ll
mul_by_constant.ll
nosanitize.ll
origin-alignment.ll
origin-array.ll
pr32842.ll
return_from_main.ll
store-long-origin.ll
store-origin.ll [MSan] Add KMSAN instrumentation to MSan pass 2018-09-07 09:10:30 +00:00
str-nobuiltin.ll
unreachable.ll
unsized_type.ll
vector_arith.ll
vector_cmp.ll
vector_cvt.ll
vector_pack.ll
vector_shift.ll
with-call-type-size.ll