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) { if (LintIR) {
PipelineStartEPCallbacks.push_back( PipelineStartEPCallbacks.push_back([](ModulePassManager &MPM,
[](ModulePassManager &MPM, OptimizationLevel Level) { OptimizationLevel Level) {
MPM.addPass(createModuleToFunctionPassAdaptor(LintPass())); #if LLVM_VERSION_GE(21, 0)
}); MPM.addPass(
createModuleToFunctionPassAdaptor(LintPass(/*AbortOnError=*/true)));
#else
MPM.addPass(createModuleToFunctionPassAdaptor(LintPass()));
#endif
});
} }
if (InstrumentCoverage) { if (InstrumentCoverage) {

View File

@ -2,7 +2,7 @@
//@ add-core-stubs //@ add-core-stubs
//@ revisions:aarch64 loongarch64 powerpc64 sparc64 x86_64 //@ revisions:aarch64 loongarch64 powerpc64 sparc64 x86_64
//@ min-llvm-version: 19 //@ min-llvm-version: 19
//@ compile-flags: -Copt-level=3 -Cno-prepopulate-passes -Zlint-llvm-ir -Cllvm-args=-lint-abort-on-error //@ compile-flags: -Copt-level=3 -Cno-prepopulate-passes -Zlint-llvm-ir
//@[aarch64] compile-flags: --target aarch64-unknown-linux-gnu //@[aarch64] compile-flags: --target aarch64-unknown-linux-gnu
//@[aarch64] needs-llvm-components: arm //@[aarch64] needs-llvm-components: arm

View File

@ -1,7 +1,7 @@
//@ add-core-stubs //@ add-core-stubs
//@ revisions: linux apple //@ revisions: linux apple
//@ min-llvm-version: 19 //@ min-llvm-version: 19
//@ compile-flags: -Copt-level=0 -Cno-prepopulate-passes -Zlint-llvm-ir -Cllvm-args=-lint-abort-on-error //@ compile-flags: -Copt-level=0 -Cno-prepopulate-passes -Zlint-llvm-ir
//@[linux] compile-flags: --target x86_64-unknown-linux-gnu //@[linux] compile-flags: --target x86_64-unknown-linux-gnu
//@[linux] needs-llvm-components: x86 //@[linux] needs-llvm-components: x86