[llvm] r204131 - [msan] Kill -msan-store-clean-origin flag.

Evgeniy Stepanov eugeni.stepanov at gmail.com
Tue Mar 18 02:47:06 PDT 2014


Author: eugenis
Date: Tue Mar 18 04:47:06 2014
New Revision: 204131

URL: http://llvm.org/viewvc/llvm-project?rev=204131&view=rev
Log:
[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.

Modified:
    llvm/trunk/lib/Transforms/Instrumentation/MemorySanitizer.cpp

Modified: llvm/trunk/lib/Transforms/Instrumentation/MemorySanitizer.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Transforms/Instrumentation/MemorySanitizer.cpp?rev=204131&r1=204130&r2=204131&view=diff
==============================================================================
--- llvm/trunk/lib/Transforms/Instrumentation/MemorySanitizer.cpp (original)
+++ llvm/trunk/lib/Transforms/Instrumentation/MemorySanitizer.cpp Tue Mar 18 04:47:06 2014
@@ -160,10 +160,6 @@ static cl::opt<bool> ClHandleICmpExact("
        cl::desc("exact handling of relational integer ICmp"),
        cl::Hidden, cl::init(false));
 
-static cl::opt<bool> 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 I
 
       if (MS.TrackOrigins) {
         unsigned Alignment = std::max(kMinOriginAlignment, I.getAlignment());
-        if (ClStoreCleanOrigin || isa<StructType>(Shadow->getType())) {
+        if (isa<StructType>(Shadow->getType())) {
           IRB.CreateAlignedStore(getOrigin(Val), getOriginPtr(Addr, IRB),
                                  Alignment);
         } else {





More information about the llvm-commits mailing list