[msan] Avoid redundant origin stores.
authorEvgeniy Stepanov <eugeni.stepanov@gmail.com>
Thu, 17 Jul 2014 09:10:37 +0000 (09:10 +0000)
committerEvgeniy Stepanov <eugeni.stepanov@gmail.com>
Thu, 17 Jul 2014 09:10:37 +0000 (09:10 +0000)
commite1287f556f4f9befaa55c205e3b5a9429d897083
tree788245ca2a64bd6dd0cfd84fba52362c795d1fbe
parentc84f22aac5390a6a60579f56e894bab7fec94382
[msan] Avoid redundant origin stores.

Origin is meaningless for fully initialized values. Avoid
storing origin for function arguments that are known to
be always initialized (i.e. shadow is a compile-time null
constant).

This is not about correctness, but purely an optimization.
Seems to affect compilation time of blacklisted functions
significantly.

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