[llvm] [CodeGen][NewPM] Introduce CodeGenPassManager (PR #210473)
Aiden Grossman via llvm-commits
llvm-commits at lists.llvm.org
Sun Jul 19 08:41:30 PDT 2026
================
@@ -319,25 +221,25 @@ template <typename DerivedT, typename TargetMachineT> class CodeGenPassBuilder {
/// addInstSelector - This method should install an instruction selector pass,
/// which converts from LLVM code to machine instructions.
- Error addInstSelector(PassManagerWrapper &PMW) const {
+ Error addInstSelector(CodeGenMachineFunctionPassManager &CGMFPM) const {
return make_error<StringError>("addInstSelector is not overridden",
inconvertibleErrorCode());
}
/// Target can override this to add GlobalMergePass before all IR passes.
- void addGlobalMergePass(PassManagerWrapper &PMW) const {}
+ void addGlobalMergePass(CodeGenModulePassManager &CGMPM) const {}
/// Add passes that optimize instruction level parallelism for out-of-order
/// targets. These passes are run while the machine code is still in SSA
/// form, so they can use MachineTraceMetrics to control their heuristics.
///
/// All passes added here should preserve the MachineDominatorTree,
/// MachineLoopInfo, and MachineTraceMetrics analyses.
- void addILPOpts(PassManagerWrapper &PMW) const {}
----------------
boomanaiden154 wrote:
Have you audited all uses of these functions (and below) in `TargetPassConfig` to ensure they actually only add machine function passes? I'm not convinced explicitly specifying a MachineFunction PM is going to be generalizable enough for all of these.
https://github.com/llvm/llvm-project/pull/210473
More information about the llvm-commits
mailing list