|
@@ -974,7 +974,6 @@ static void addSanitizersAtO0(ModulePassManager &MPM,
|
|
|
}
|
|
|
|
|
|
if (LangOpts.Sanitize.has(SanitizerKind::Memory)) {
|
|
|
- MPM.addPass(MemorySanitizerPass({}));
|
|
|
MPM.addPass(createModuleToFunctionPassAdaptor(MemorySanitizerPass({})));
|
|
|
}
|
|
|
|
|
@@ -984,7 +983,6 @@ static void addSanitizersAtO0(ModulePassManager &MPM,
|
|
|
}
|
|
|
|
|
|
if (LangOpts.Sanitize.has(SanitizerKind::Thread)) {
|
|
|
- MPM.addPass(ThreadSanitizerPass());
|
|
|
MPM.addPass(createModuleToFunctionPassAdaptor(ThreadSanitizerPass()));
|
|
|
}
|
|
|
}
|
|
@@ -1164,23 +1162,16 @@ void EmitAssemblyHelper::EmitAssemblyWithNewPassManager(
|
|
|
[](FunctionPassManager &FPM, PassBuilder::OptimizationLevel Level) {
|
|
|
FPM.addPass(BoundsCheckingPass());
|
|
|
});
|
|
|
- if (LangOpts.Sanitize.has(SanitizerKind::Memory)) {
|
|
|
- PB.registerPipelineStartEPCallback([](ModulePassManager &MPM) {
|
|
|
- MPM.addPass(MemorySanitizerPass({}));
|
|
|
- });
|
|
|
+ if (LangOpts.Sanitize.has(SanitizerKind::Memory))
|
|
|
PB.registerOptimizerLastEPCallback(
|
|
|
[](FunctionPassManager &FPM, PassBuilder::OptimizationLevel Level) {
|
|
|
FPM.addPass(MemorySanitizerPass({}));
|
|
|
});
|
|
|
- }
|
|
|
- if (LangOpts.Sanitize.has(SanitizerKind::Thread)) {
|
|
|
- PB.registerPipelineStartEPCallback(
|
|
|
- [](ModulePassManager &MPM) { MPM.addPass(ThreadSanitizerPass()); });
|
|
|
+ if (LangOpts.Sanitize.has(SanitizerKind::Thread))
|
|
|
PB.registerOptimizerLastEPCallback(
|
|
|
[](FunctionPassManager &FPM, PassBuilder::OptimizationLevel Level) {
|
|
|
FPM.addPass(ThreadSanitizerPass());
|
|
|
});
|
|
|
- }
|
|
|
if (LangOpts.Sanitize.has(SanitizerKind::Address)) {
|
|
|
PB.registerPipelineStartEPCallback([&](ModulePassManager &MPM) {
|
|
|
MPM.addPass(
|