]> granicus.if.org Git - llvm/commit
Merging r228444:
authorHans Wennborg <hans@hanshq.net>
Fri, 6 Feb 2015 22:06:43 +0000 (22:06 +0000)
committerHans Wennborg <hans@hanshq.net>
Fri, 6 Feb 2015 22:06:43 +0000 (22:06 +0000)
commitd085961d8c02c5b13163e70298b89ca08cea3ece
tree3a96ab82639262dda65b1a3be7d22e24d6318a2d
parent0e9a38ba60be659d570af893e05c75b9f6cfe35d
Merging r228444:
------------------------------------------------------------------------
r228444 | eugenis | 2015-02-06 13:47:39 -0800 (Fri, 06 Feb 2015) | 8 lines

[msan] Fix "missing origin" in atomic store.

An atomic store always make the target location fully initialized (in the
current implementation). It should not store origin. Initialized memory can't
have meaningful origin, and, due to origin granularity (4 bytes) there is a
chance that this extra store would overwrite meaningfull origin for an adjacent
location.

------------------------------------------------------------------------

git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_36@228445 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Transforms/Instrumentation/MemorySanitizer.cpp
test/Instrumentation/MemorySanitizer/atomics.ll