1
Fork 0

Rollup merge of #139188 - durin42:llvm-21-LintPass, r=dianqk

PassWrapper: adapt for llvm/llvm-project@94122d58fc77079a291a3d008914…

…006cb509d9db

We also have to remove the LLVM argument in cast-target-abi.rs for LLVM
21. I'm not really sure what the best approach here is since that test already uses revisions. We could also fork the test into a copy for LLVM 19-20 and another for LLVM 21, but what I did for now was drop the lint-abort-on-error flag to LLVM figuring that some coverage was better than none, but I'm happy to change this if that was a bad direction.

r? dianqk
````@rustbot```` label llvm-main
This commit is contained in:
Matthias Krüger 2025-04-01 20:25:23 +02:00 committed by GitHub
commit 2a557ec9b8
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 11 additions and 6 deletions

View file

@ -855,10 +855,15 @@ extern "C" LLVMRustResult LLVMRustOptimize(
}
if (LintIR) {
PipelineStartEPCallbacks.push_back(
[](ModulePassManager &MPM, OptimizationLevel Level) {
MPM.addPass(createModuleToFunctionPassAdaptor(LintPass()));
});
PipelineStartEPCallbacks.push_back([](ModulePassManager &MPM,
OptimizationLevel Level) {
#if LLVM_VERSION_GE(21, 0)
MPM.addPass(
createModuleToFunctionPassAdaptor(LintPass(/*AbortOnError=*/true)));
#else
MPM.addPass(createModuleToFunctionPassAdaptor(LintPass()));
#endif
});
}
if (InstrumentCoverage) {