[llvm] d398f47 - [msan] Rename '-msan-dump-strict-intrinsics' to '-msan-dump-heuristic-instructions' (#143186)
via llvm-commits
llvm-commits at lists.llvm.org
Fri Jun 6 13:06:04 PDT 2025
Author: Thurston Dang
Date: 2025-06-06T13:06:00-07:00
New Revision: d398f476c5df35b4369dbb9009758d960b798eed
URL: https://github.com/llvm/llvm-project/commit/d398f476c5df35b4369dbb9009758d960b798eed
DIFF: https://github.com/llvm/llvm-project/commit/d398f476c5df35b4369dbb9009758d960b798eed.diff
LOG: [msan] Rename '-msan-dump-strict-intrinsics' to '-msan-dump-heuristic-instructions' (#143186)
This updates the flag from https://github.com/llvm/llvm-project/pull/123381
Also expands the description of msan-dump-strict-*instructions*
Added:
Modified:
llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
Removed:
################################################################################
diff --git a/llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp b/llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
index 232983c9e5a90..8a6f1059a714b 100644
--- a/llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
+++ b/llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
@@ -316,14 +316,22 @@ static cl::opt<bool> ClEagerChecks(
static cl::opt<bool> ClDumpStrictInstructions(
"msan-dump-strict-instructions",
- cl::desc("print out instructions with default strict semantics"),
+ cl::desc("print out instructions with default strict semantics i.e.,"
+ "check that all the inputs are fully initialized, and mark "
+ "the output as fully initialized. These semantics are applied "
+ "to instructions that could not be handled explicitly nor "
+ "heuristically."),
cl::Hidden, cl::init(false));
-static cl::opt<bool> ClDumpStrictIntrinsics(
- "msan-dump-strict-intrinsics",
- cl::desc("Prints 'unknown' intrinsics that were handled heuristically. "
- "Use -msan-dump-strict-instructions to print intrinsics that "
- "could not be handled exactly nor heuristically."),
+// Currently, all the heuristically handled instructions are specifically
+// IntrinsicInst. However, we use the broader "HeuristicInstructions" name
+// to parallel 'msan-dump-strict-instructions', and to keep the door open to
+// handling non-intrinsic instructions heuristically.
+static cl::opt<bool> ClDumpHeuristicInstructions(
+ "msan-dump-heuristic-instructions",
+ cl::desc("Prints 'unknown' instructions that were handled heuristically. "
+ "Use -msan-dump-strict-instructions to print instructions that "
+ "could not be handled explicitly nor heuristically."),
cl::Hidden, cl::init(false));
static cl::opt<int> ClInstrumentationWithCallThreshold(
@@ -3197,10 +3205,10 @@ struct MemorySanitizerVisitor : public InstVisitor<MemorySanitizerVisitor> {
bool handleUnknownIntrinsic(IntrinsicInst &I) {
if (handleUnknownIntrinsicUnlogged(I)) {
- if (ClDumpStrictIntrinsics)
+ if (ClDumpHeuristicInstructions)
dumpInst(I);
- LLVM_DEBUG(dbgs() << "UNKNOWN INTRINSIC HANDLED HEURISTICALLY: " << I
+ LLVM_DEBUG(dbgs() << "UNKNOWN INSTRUCTION HANDLED HEURISTICALLY: " << I
<< "\n");
return true;
} else
More information about the llvm-commits
mailing list