From 93600eb50ceeec83c488ded24fa0fd25f997fec6 Mon Sep 17 00:00:00 2001 From: Vitaly Buka Date: Mon, 5 Sep 2022 22:37:45 -0700 Subject: [PATCH] [NFC][asan] Rename ModuleAddressSanitizerPass --- clang/lib/CodeGen/BackendUtil.cpp | 4 ++-- .../include/llvm/Transforms/Instrumentation/AddressSanitizer.h | 10 ++++------ llvm/lib/Passes/PassRegistry.def | 6 +++--- llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp | 10 +++++----- llvm/test/Instrumentation/SanitizerCoverage/tracing-comdat.ll | 2 +- llvm/tools/opt/NewPMDriver.cpp | 2 +- 6 files changed, 16 insertions(+), 18 deletions(-) diff --git a/clang/lib/CodeGen/BackendUtil.cpp b/clang/lib/CodeGen/BackendUtil.cpp index 4181ac1..5b379dc 100644 --- a/clang/lib/CodeGen/BackendUtil.cpp +++ b/clang/lib/CodeGen/BackendUtil.cpp @@ -673,8 +673,8 @@ static void addSanitizers(const Triple &TargetTriple, Opts.Recover = CodeGenOpts.SanitizeRecover.has(Mask); Opts.UseAfterScope = CodeGenOpts.SanitizeAddressUseAfterScope; Opts.UseAfterReturn = CodeGenOpts.getSanitizeAddressUseAfterReturn(); - MPM.addPass(ModuleAddressSanitizerPass( - Opts, UseGlobalGC, UseOdrIndicator, DestructorKind)); + MPM.addPass(AddressSanitizerPass(Opts, UseGlobalGC, UseOdrIndicator, + DestructorKind)); } }; ASanPass(SanitizerKind::Address, false); diff --git a/llvm/include/llvm/Transforms/Instrumentation/AddressSanitizer.h b/llvm/include/llvm/Transforms/Instrumentation/AddressSanitizer.h index f56ec6f..7558568 100644 --- a/llvm/include/llvm/Transforms/Instrumentation/AddressSanitizer.h +++ b/llvm/include/llvm/Transforms/Instrumentation/AddressSanitizer.h @@ -33,13 +33,11 @@ struct AddressSanitizerOptions { /// /// This adds 'asan.module_ctor' to 'llvm.global_ctors'. This pass may also /// run intependently of the function address sanitizer. -class ModuleAddressSanitizerPass - : public PassInfoMixin { +class AddressSanitizerPass : public PassInfoMixin { public: - ModuleAddressSanitizerPass( - const AddressSanitizerOptions &Options, bool UseGlobalGC = true, - bool UseOdrIndicator = false, - AsanDtorKind DestructorKind = AsanDtorKind::Global); + AddressSanitizerPass(const AddressSanitizerOptions &Options, + bool UseGlobalGC = true, bool UseOdrIndicator = false, + AsanDtorKind DestructorKind = AsanDtorKind::Global); PreservedAnalyses run(Module &M, ModuleAnalysisManager &AM); void printPipeline(raw_ostream &OS, function_ref MapClassName2PassName); diff --git a/llvm/lib/Passes/PassRegistry.def b/llvm/lib/Passes/PassRegistry.def index 31cb7f8..c8c09f6 100644 --- a/llvm/lib/Passes/PassRegistry.def +++ b/llvm/lib/Passes/PassRegistry.def @@ -146,10 +146,10 @@ MODULE_PASS_WITH_PARAMS("hwasan", }, parseHWASanPassOptions, "kernel;recover") -MODULE_PASS_WITH_PARAMS("asan-module", - "ModuleAddressSanitizerPass", +MODULE_PASS_WITH_PARAMS("asan", + "AddressSanitizerPass", [](AddressSanitizerOptions Opts) { - return ModuleAddressSanitizerPass(Opts); + return AddressSanitizerPass(Opts); }, parseASanPassOptions, "kernel") diff --git a/llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp b/llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp index 8805d37..37c6989 100644 --- a/llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp +++ b/llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp @@ -1110,9 +1110,9 @@ struct FunctionStackPoisoner : public InstVisitor { } // end anonymous namespace -void ModuleAddressSanitizerPass::printPipeline( +void AddressSanitizerPass::printPipeline( raw_ostream &OS, function_ref MapClassName2PassName) { - static_cast *>(this)->printPipeline( + static_cast *>(this)->printPipeline( OS, MapClassName2PassName); OS << "<"; if (Options.CompileKernel) @@ -1120,14 +1120,14 @@ void ModuleAddressSanitizerPass::printPipeline( OS << ">"; } -ModuleAddressSanitizerPass::ModuleAddressSanitizerPass( +AddressSanitizerPass::AddressSanitizerPass( const AddressSanitizerOptions &Options, bool UseGlobalGC, bool UseOdrIndicator, AsanDtorKind DestructorKind) : Options(Options), UseGlobalGC(UseGlobalGC), UseOdrIndicator(UseOdrIndicator), DestructorKind(DestructorKind) {} -PreservedAnalyses ModuleAddressSanitizerPass::run(Module &M, - ModuleAnalysisManager &MAM) { +PreservedAnalyses AddressSanitizerPass::run(Module &M, + ModuleAnalysisManager &MAM) { ModuleAddressSanitizer ModuleSanitizer(M, Options.CompileKernel, Options.Recover, UseGlobalGC, UseOdrIndicator, DestructorKind); diff --git a/llvm/test/Instrumentation/SanitizerCoverage/tracing-comdat.ll b/llvm/test/Instrumentation/SanitizerCoverage/tracing-comdat.ll index 4b704f4..3b0fbae 100644 --- a/llvm/test/Instrumentation/SanitizerCoverage/tracing-comdat.ll +++ b/llvm/test/Instrumentation/SanitizerCoverage/tracing-comdat.ll @@ -2,7 +2,7 @@ ; Make sure asan does not instrument __sancov_gen_ ; RUN: opt < %s -passes='module(sancov-module)' -sanitizer-coverage-level=3 -sanitizer-coverage-trace-pc-guard -S | FileCheck %s -; RUN: opt < %s -passes='module(sancov-module,asan-module)' -sanitizer-coverage-level=3 -sanitizer-coverage-trace-pc-guard -S | FileCheck %s +; RUN: opt < %s -passes='module(sancov-module,asan)' -sanitizer-coverage-level=3 -sanitizer-coverage-trace-pc-guard -S | FileCheck %s target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" target triple = "x86_64-unknown-linux-gnu" $Foo = comdat any diff --git a/llvm/tools/opt/NewPMDriver.cpp b/llvm/tools/opt/NewPMDriver.cpp index 61d0e12..e3699f0 100644 --- a/llvm/tools/opt/NewPMDriver.cpp +++ b/llvm/tools/opt/NewPMDriver.cpp @@ -381,7 +381,7 @@ bool llvm::runPassPipeline(StringRef Arg0, Module &M, TargetMachine *TM, ArrayRef) { AddressSanitizerOptions Opts; if (Name == "asan-pipeline") { - MPM.addPass(ModuleAddressSanitizerPass(Opts)); + MPM.addPass(AddressSanitizerPass(Opts)); return true; } return false; -- 2.7.4