From f7a8108a6da85b8cd20d095e7577d881d4a76c3f Mon Sep 17 00:00:00 2001 From: Evgeniy Stepanov Date: Tue, 18 Mar 2014 09:47:06 +0000 Subject: [PATCH] [msan] Kill -msan-store-clean-origin flag. Not only is it slower than the alternative, but also subtly broken. This commit does not change the default behavior. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@204131 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Transforms/Instrumentation/MemorySanitizer.cpp | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/lib/Transforms/Instrumentation/MemorySanitizer.cpp b/lib/Transforms/Instrumentation/MemorySanitizer.cpp index 7b966565f05..99114d1414f 100644 --- a/lib/Transforms/Instrumentation/MemorySanitizer.cpp +++ b/lib/Transforms/Instrumentation/MemorySanitizer.cpp @@ -160,10 +160,6 @@ static cl::opt ClHandleICmpExact("msan-handle-icmp-exact", cl::desc("exact handling of relational integer ICmp"), cl::Hidden, cl::init(false)); -static cl::opt ClStoreCleanOrigin("msan-store-clean-origin", - cl::desc("store origin for clean (fully initialized) values"), - cl::Hidden, cl::init(false)); - // This flag controls whether we check the shadow of the address // operand of load or store. Such bugs are very rare, since load from // a garbage address typically results in SEGV, but still happen @@ -547,7 +543,7 @@ struct MemorySanitizerVisitor : public InstVisitor { if (MS.TrackOrigins) { unsigned Alignment = std::max(kMinOriginAlignment, I.getAlignment()); - if (ClStoreCleanOrigin || isa(Shadow->getType())) { + if (isa(Shadow->getType())) { IRB.CreateAlignedStore(getOrigin(Val), getOriginPtr(Addr, IRB), Alignment); } else {