[msan] Stop propagating shadow in blacklisted functions.
authorEvgeniy Stepanov <eugeni.stepanov@gmail.com>
Thu, 3 Jul 2014 11:56:30 +0000 (11:56 +0000)
committerEvgeniy Stepanov <eugeni.stepanov@gmail.com>
Thu, 3 Jul 2014 11:56:30 +0000 (11:56 +0000)
commit76a2f8d368c80ce5de8bb261f1157af5a54be895
tree185a0e20c73781e128a4230470f18c38da1a6693
parent1bb48fa8abc12230c9933a49ce7d2b480762ef3c
[msan] Stop propagating shadow in blacklisted functions.

With this change all values passed through blacklisted functions
become fully initialized. Previous behavior was to initialize all
loads in blacklisted functions, but apply normal shadow propagation
logic for all other operation.

This makes blacklist applicable in a wider range of situations.

It also makes code for blacklisted functions a lot shorter, which
works as yet another workaround for PR17409.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@212268 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Transforms/Instrumentation/MemorySanitizer.cpp
test/Instrumentation/MemorySanitizer/msan_basic.ll