Skip to content

Commit 1fab0fc

Browse files
authored
Rollup merge of #108599 - nikic:drop-init, r=cuviper
Remove legacy PM leftovers This drops two leftovers of legacy PM usage: * We don't need to initialize passes anymore. * The pass listing was still using legacy PM passes. Replace it with the corresponding new PM listing.
2 parents 44e794f + 655a810 commit 1fab0fc

File tree

3 files changed

+2
-38
lines changed

3 files changed

+2
-38
lines changed

compiler/rustc_codegen_llvm/src/llvm/ffi.rs

-2
Original file line numberDiff line numberDiff line change
@@ -1814,8 +1814,6 @@ extern "C" {
18141814
/// Creates a legacy pass manager -- only used for final codegen.
18151815
pub fn LLVMCreatePassManager<'a>() -> &'a mut PassManager<'a>;
18161816

1817-
pub fn LLVMInitializePasses();
1818-
18191817
pub fn LLVMTimeTraceProfilerInitialize();
18201818

18211819
pub fn LLVMTimeTraceProfilerFinishThread();

compiler/rustc_codegen_llvm/src/llvm_util.rs

-2
Original file line numberDiff line numberDiff line change
@@ -120,8 +120,6 @@ unsafe fn configure_llvm(sess: &Session) {
120120
llvm::LLVMTimeTraceProfilerInitialize();
121121
}
122122

123-
llvm::LLVMInitializePasses();
124-
125123
rustc_llvm::initialize_available_targets();
126124

127125
llvm::LLVMRustSetLLVMOptions(llvm_args.len() as c_int, llvm_args.as_ptr());

compiler/rustc_llvm/llvm-wrapper/PassWrapper.cpp

+2-34
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@
99
#include "llvm/Analysis/TargetLibraryInfo.h"
1010
#include "llvm/Analysis/TargetTransformInfo.h"
1111
#include "llvm/CodeGen/TargetSubtargetInfo.h"
12-
#include "llvm/InitializePasses.h"
1312
#include "llvm/IR/AutoUpgrade.h"
1413
#include "llvm/IR/AssemblyAnnotationWriter.h"
1514
#include "llvm/IR/IntrinsicInst.h"
@@ -58,22 +57,6 @@ typedef struct LLVMOpaqueTargetMachine *LLVMTargetMachineRef;
5857
DEFINE_STDCXX_CONVERSION_FUNCTIONS(Pass, LLVMPassRef)
5958
DEFINE_STDCXX_CONVERSION_FUNCTIONS(TargetMachine, LLVMTargetMachineRef)
6059

61-
extern "C" void LLVMInitializePasses() {
62-
PassRegistry &Registry = *PassRegistry::getPassRegistry();
63-
initializeCore(Registry);
64-
initializeCodeGen(Registry);
65-
initializeScalarOpts(Registry);
66-
initializeVectorization(Registry);
67-
initializeIPO(Registry);
68-
initializeAnalysis(Registry);
69-
initializeTransformUtils(Registry);
70-
initializeInstCombine(Registry);
71-
#if LLVM_VERSION_LT(16, 0)
72-
initializeInstrumentation(Registry);
73-
#endif
74-
initializeTarget(Registry);
75-
}
76-
7760
extern "C" void LLVMTimeTraceProfilerInitialize() {
7861
timeTraceProfilerInitialize(
7962
/* TimeTraceGranularity */ 0,
@@ -1004,23 +987,8 @@ LLVMRustPrintModule(LLVMModuleRef M, const char *Path, DemangleFn Demangle) {
1004987
}
1005988

1006989
extern "C" void LLVMRustPrintPasses() {
1007-
LLVMInitializePasses();
1008-
struct MyListener : PassRegistrationListener {
1009-
void passEnumerate(const PassInfo *Info) {
1010-
StringRef PassArg = Info->getPassArgument();
1011-
StringRef PassName = Info->getPassName();
1012-
if (!PassArg.empty()) {
1013-
// These unsigned->signed casts could theoretically overflow, but
1014-
// realistically never will (and even if, the result is implementation
1015-
// defined rather plain UB).
1016-
printf("%15.*s - %.*s\n", (int)PassArg.size(), PassArg.data(),
1017-
(int)PassName.size(), PassName.data());
1018-
}
1019-
}
1020-
} Listener;
1021-
1022-
PassRegistry *PR = PassRegistry::getPassRegistry();
1023-
PR->enumerateWith(&Listener);
990+
PassBuilder PB;
991+
PB.printPassNames(outs());
1024992
}
1025993

1026994
extern "C" void LLVMRustRunRestrictionPass(LLVMModuleRef M, char **Symbols,

0 commit comments

Comments
 (0)