MSan: introduce the conservative assembly handling mode.
authorAlexander Potapenko <glider@google.com>
Tue, 3 Apr 2018 09:50:06 +0000 (09:50 +0000)
committerAlexander Potapenko <glider@google.com>
Tue, 3 Apr 2018 09:50:06 +0000 (09:50 +0000)
commitac70668cff76f28c22d84cc81a8966216d2732c2
treeff85e416033efd8bb7e59b6e40a603aa081bc4fc
parenta826ca70796e625949ef1d936d10af03b46be795
MSan: introduce the conservative assembly handling mode.

The default assembly handling mode may introduce false positives in the
cases when MSan doesn't understand that the assembly call initializes
the memory pointed to by one of its arguments.

We introduce the conservative mode, which initializes the first
|sizeof(type)| bytes for every |type*| pointer passed into the
assembly statement.

llvm-svn: 329054
llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
llvm/test/Instrumentation/MemorySanitizer/msan_x86_bts_asm.ll [new file with mode: 0644]