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

via llvm-commits llvm-commits at lists.llvm.org
Tue Jan 28 00:51:38 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));
+  }
----------------
paperchalice wrote:

Currently I plan to decoupling pipeline building from `TargetMachine`, let pass builder handles `MCStreamer` creation etc. So we can get rid of `LLVMTargetMachine` finally.

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


More information about the llvm-commits mailing list