From ab41eef9aca3ad5e9321e045a57d36e288a75d17 Mon Sep 17 00:00:00 2001 From: Bjorn Pettersson Date: Wed, 15 Sep 2021 21:23:51 +0200 Subject: [NewPM] Use a separate struct for ModuleMemorySanitizerPass Split MemorySanitizerPass into MemorySanitizerPass (as a function pass) and ModuleMemorySanitizerPass (as a module pass). Main reason is to make sure that we have a unique mapping from ClassName to PassName in the new passmanager framework, making it possible to correctly identify the passes when dealing with options such as -print-after and -print-pipeline-passes. This is a follow-up to D105006 and D105007. --- llvm/lib/Passes/PassRegistry.def | 3 +-- llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp | 4 ++-- 2 files changed, 3 insertions(+), 4 deletions(-) (limited to 'llvm/lib') diff --git a/llvm/lib/Passes/PassRegistry.def b/llvm/lib/Passes/PassRegistry.def index e9a0ea8..6f107c3 100644 --- a/llvm/lib/Passes/PassRegistry.def +++ b/llvm/lib/Passes/PassRegistry.def @@ -110,7 +110,7 @@ MODULE_PASS("verify", VerifierPass()) MODULE_PASS("wholeprogramdevirt", WholeProgramDevirtPass()) MODULE_PASS("dfsan", DataFlowSanitizerPass()) MODULE_PASS("asan-module", ModuleAddressSanitizerPass(/*CompileKernel=*/false, false, true, false)) -MODULE_PASS("msan-module", MemorySanitizerPass({})) +MODULE_PASS("msan-module", ModuleMemorySanitizerPass({})) MODULE_PASS("tsan-module", ThreadSanitizerPass()) MODULE_PASS("kasan-module", ModuleAddressSanitizerPass(/*CompileKernel=*/true, false, true, false)) MODULE_PASS("sancov-module", ModuleSanitizerCoveragePass()) @@ -335,7 +335,6 @@ FUNCTION_PASS("verify", ScalarEvolutionVerifierPass()) FUNCTION_PASS("view-cfg", CFGViewerPass()) FUNCTION_PASS("view-cfg-only", CFGOnlyViewerPass()) FUNCTION_PASS("transform-warning", WarnMissedTransformationsPass()) -FUNCTION_PASS("msan", MemorySanitizerPass({})) FUNCTION_PASS("tsan", ThreadSanitizerPass()) FUNCTION_PASS("memprof", MemProfilerPass()) #undef FUNCTION_PASS diff --git a/llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp b/llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp index d190005..fad2b27 100644 --- a/llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp +++ b/llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp @@ -673,8 +673,8 @@ PreservedAnalyses MemorySanitizerPass::run(Function &F, return PreservedAnalyses::all(); } -PreservedAnalyses MemorySanitizerPass::run(Module &M, - ModuleAnalysisManager &AM) { +PreservedAnalyses +ModuleMemorySanitizerPass::run(Module &M, ModuleAnalysisManager &AM) { if (Options.Kernel) return PreservedAnalyses::all(); insertModuleCtor(M); -- cgit v1.1