[msan] Remove readonly/readnone attributes from all called functions.
authorEvgeniy Stepanov <eugeni.stepanov@gmail.com>
Fri, 7 Dec 2012 09:08:32 +0000 (09:08 +0000)
committerEvgeniy Stepanov <eugeni.stepanov@gmail.com>
Fri, 7 Dec 2012 09:08:32 +0000 (09:08 +0000)
commit383b61e791db4ed6440174601283de3c08a5469f
treea1018051c2f8adb03fa28f68f7b08bf4a7a47f3a
parent245e45af7daa5ef8cb8b529906f4be807d2169a3
[msan] Remove readonly/readnone attributes from all called functions.

MSan uses a TLS slot to pass shadow for function arguments and return values.
This makes all instrumented functions not readonly, and at the same time
requires that all callees of an instrumented function that may be
MSan-instrumented do not have readonly attribute (otherwise some of the
instrumentation may be optimized out).

llvm-svn: 169591
llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp