From: Petr Hosek Date: Thu, 9 May 2019 06:09:35 +0000 (+0000) Subject: [NewPM] Setup Passes for KASan and KMSan X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=387c54a346524e31c04abe0bae0bd7996bb4135a;p=llvm [NewPM] Setup Passes for KASan and KMSan While ASan and MSan passes were already ported to new PM, the kernel variants weren't setup in the pipeline which makes the KASan and KMSan tests in Clang fail. Differential Revision: https://reviews.llvm.org/D61664 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@360313 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Passes/PassRegistry.def b/lib/Passes/PassRegistry.def index 9ec9080bf55..68f7d45cc43 100644 --- a/lib/Passes/PassRegistry.def +++ b/lib/Passes/PassRegistry.def @@ -83,7 +83,8 @@ MODULE_PASS("strip-dead-prototypes", StripDeadPrototypesPass()) MODULE_PASS("synthetic-counts-propagation", SyntheticCountsPropagation()) MODULE_PASS("wholeprogramdevirt", WholeProgramDevirtPass(nullptr, nullptr)) MODULE_PASS("verify", VerifierPass()) -MODULE_PASS("asan-module", ModuleAddressSanitizerPass(false, false, true, false)) +MODULE_PASS("asan-module", ModuleAddressSanitizerPass(/*CompileKernel=*/false, false, true, false)) +MODULE_PASS("kasan-module", ModuleAddressSanitizerPass(/*CompileKernel=*/true, false, true, false)) #undef MODULE_PASS #ifndef CGSCC_ANALYSIS @@ -235,7 +236,9 @@ FUNCTION_PASS("view-cfg", CFGViewerPass()) FUNCTION_PASS("view-cfg-only", CFGOnlyViewerPass()) FUNCTION_PASS("transform-warning", WarnMissedTransformationsPass()) FUNCTION_PASS("asan", AddressSanitizerPass(false, false, false)) +FUNCTION_PASS("kasan", AddressSanitizerPass(true, false, false)) FUNCTION_PASS("msan", MemorySanitizerPass({})) +FUNCTION_PASS("kmsan", MemorySanitizerPass({0, false, /*Kernel=*/true})) FUNCTION_PASS("tsan", ThreadSanitizerPass()) #undef FUNCTION_PASS