[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)
commitece6db5f16a83ff4cab3544643d226eeb8a15784
treef2f3afb9abae1aa6c0324d8d2b53c1ca7701d4e3
parent06180bf3f25f2a9828e4c39f63a883aaa6c9452d
[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).

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