[llvm] [CodeGen][NewPM] Port `AsmPrinter` to new pass manager (PR #99320)

Akshat Oke via llvm-commits llvm-commits at lists.llvm.org
Mon Jan 27 02:11:31 PST 2025


================
@@ -157,7 +157,40 @@ static cl::bits<PGOMapFeaturesEnum> PgoAnalysisMapFeatures(
 
 STATISTIC(EmittedInsts, "Number of machine instrs printed");
 
-char AsmPrinter::ID = 0;
+PreservedAnalyses AsmPrinterInitializePass::run(Module &M,
+                                                ModuleAnalysisManager &MAM) {
+  Printer->setMAM(MAM);
+  Printer->doInitialization(M);
+  return PreservedAnalyses::all();
+}
+
+PreservedAnalyses AsmPrinterPass::run(MachineFunction &MF,
+                                      MachineFunctionAnalysisManager &MFAM) {
+  auto PA = getMachineFunctionPassPreservedAnalyses();
+  PA.preserve<MachineOptimizationRemarkEmitterAnalysis>();
+  PA.preserve<CollectorMetadataAnalysis>();
+  PA.preserve<MachineBlockFrequencyAnalysis>();
+  PA.preserve<MachineBranchProbabilityAnalysis>();
+  Printer->getPreservedAnalyses(PA);
+  return PA;
+}
----------------
optimisan wrote:

This should have `Printer->runOnMachineFunction(MF)`?

https://github.com/llvm/llvm-project/pull/99320


More information about the llvm-commits mailing list