llvm-mirror/test/Instrumentation
Alexander Potapenko 3544b0e869 [MSan] run materializeChecks() before materializeStores()
When pointer checking is enabled, it's important that every pointer is
checked before its value is used.
For stores MSan used to generate code that calculates shadow/origin
addresses from a pointer before checking it.
For userspace this isn't a problem, because the shadow calculation code
is quite simple and compiler is able to move it after the check on -O2.
But for KMSAN getShadowOriginPtr() creates a runtime call, so we want the
check to be performed strictly before that call.

Swapping materializeChecks() and materializeStores() resolves the issue:
both functions insert code before the given IR location, so the new
insertion order guarantees that the code calculating shadow address is
between the address check and the memory access.

llvm-svn: 337571
2018-07-20 16:28:49 +00:00
..
AddressSanitizer Rename __asan_gen_* symbols to ___asan_gen_*. 2018-07-18 22:23:14 +00:00
BoundsChecking [PM] Port BoundsChecking to the new PM. 2017-11-14 01:30:04 +00:00
DataFlowSanitizer [DebugInfo] Add DILabel metadata and intrinsic llvm.dbg.label. 2018-05-09 02:40:45 +00:00
EfficiencySanitizer Remove alignment argument from memcpy/memmove/memset in favour of alignment attributes (Step 1) 2018-01-19 17:13:12 +00:00
HWAddressSanitizer [HWASan] Do not retag allocas before return from the function. 2018-06-29 20:20:17 +00:00
InstrProfiling [InstrProfiling] Emit the runtime hook when no counters are lowered 2018-02-28 19:00:08 +00:00
MemorySanitizer [MSan] run materializeChecks() before materializeStores() 2018-07-20 16:28:49 +00:00
SanitizerCoverage [sanitizer-coverage] don't instrument a function if it's entry block ends with 'unreachable' 2018-05-11 01:09:39 +00:00
ThreadSanitizer [DebugInfo] Add DILabel metadata and intrinsic llvm.dbg.label. 2018-05-09 02:40:45 +00:00
cgprofile.ll Recommit r335794 "Add support for generating a call graph profile from Branch Frequency Info." with fix for removed functions. 2018-07-16 00:28:24 +00:00