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

Akshat Oke via llvm-commits llvm-commits at lists.llvm.org
Wed Jan 29 00:17:08 PST 2025


================
@@ -527,6 +530,14 @@ Error CodeGenPassBuilder<Derived, TargetMachineT>::buildPipeline(
   bool PrintAsm = TargetPassConfig::willCompleteCodeGenPipeline();
   bool PrintMIR = !PrintAsm && FileType != CodeGenFileType::Null;
 
+  if (PrintAsm) {
+    Expected<std::unique_ptr<MCStreamer>> MCStreamerOrErr =
+        TM.createMCStreamer(Out, DwoOut, FileType, Ctx);
+    if (auto Err = MCStreamerOrErr.takeError())
+      return Err;
+    PrinterImpl = PB.getAsmPrinter(std::move(*MCStreamerOrErr));
+  }
----------------
optimisan wrote:

Okay, so I gather that TM would only be used through `PB.registerPassBuilderCallbacks()`.
(`LLVMTargetMachine` got renamed to `CodeGenTargetMachineImpl`: https://github.com/llvm/llvm-project/pull/111234)

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


More information about the llvm-commits mailing list