[llvm] [NewPM] Unconditionally add AsmPrinter (PR #215908)
Aiden Grossman via llvm-commits
llvm-commits at lists.llvm.org
Wed Aug 12 14:53:00 PDT 2026
https://github.com/boomanaiden154 created https://github.com/llvm/llvm-project/pull/215908
Otherwise -stop-before=<target>-asm-printer does not work. We should
never be running it if we print MIR, so adding it unconditionally
doesn't change any behavior.
>From 8b8d864ca38af275def52201fafad6b1d074f6b2 Mon Sep 17 00:00:00 2001
From: Aiden Grossman <aidengrossman at google.com>
Date: Wed, 12 Aug 2026 21:52:47 +0000
Subject: [PATCH] =?UTF-8?q?[=F0=9D=98=80=F0=9D=97=BD=F0=9D=97=BF]=20initia?=
=?UTF-8?q?l=20version?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Created using spr 1.3.7
---
llvm/include/llvm/Passes/CodeGenPassBuilder.h | 6 +++++-
llvm/test/CodeGen/X86/npm-asmprinter-stop-before.ll | 9 +++++++++
2 files changed, 14 insertions(+), 1 deletion(-)
create mode 100644 llvm/test/CodeGen/X86/npm-asmprinter-stop-before.ll
diff --git a/llvm/include/llvm/Passes/CodeGenPassBuilder.h b/llvm/include/llvm/Passes/CodeGenPassBuilder.h
index b889d673b6312..4d22e9871826b 100644
--- a/llvm/include/llvm/Passes/CodeGenPassBuilder.h
+++ b/llvm/include/llvm/Passes/CodeGenPassBuilder.h
@@ -622,8 +622,12 @@ Error CodeGenPassBuilder<Derived, TargetMachineT>::buildPipeline(
if (!Opt.DisableVerify && TM.Options.EnableDefaultMachineVerifier)
addMachineFunctionPass(MachineVerifierPass(), PMW);
+ // We add AsmPrinter regardless if we are emitting MIR or Assembly as the
+ // final output so that -stop-before=<target>-asm-printer works. When printing
+ // MIR as the final output, we never end up running AsmPrinter.
+ derived().addAsmPrinter(PMW);
+
if (PrintAsm) {
- derived().addAsmPrinter(PMW);
flushFPMsToMPM(PMW, /*FreeMachineFunctions=*/true);
derived().addAsmPrinterEnd(PMW);
} else {
diff --git a/llvm/test/CodeGen/X86/npm-asmprinter-stop-before.ll b/llvm/test/CodeGen/X86/npm-asmprinter-stop-before.ll
new file mode 100644
index 0000000000000..7d227b859f1ea
--- /dev/null
+++ b/llvm/test/CodeGen/X86/npm-asmprinter-stop-before.ll
@@ -0,0 +1,9 @@
+; NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py UTC_ARGS: --version 6
+; RUN: llc -mtriple x86_64-unknown-linux-gnu -enable-new-pm -o - -stop-before=x86-asm-printer %s | FileCheck %s
+
+define void @test() {
+ ; CHECK-LABEL: name: test
+ ; CHECK: bb.0 (%ir-block.0):
+ ; CHECK-NEXT: RET64
+ ret void
+}
More information about the llvm-commits
mailing list