[llvm] [X86][NewPM] Add UnpackMachineBundlePass to x86 newPM pipeline (PR #228468)
Mikołaj Piróg via llvm-commits
llvm-commits at lists.llvm.org
Fri Oct 2 07:52:24 PDT 2026
https://github.com/mikolaj-pirog created https://github.com/llvm/llvm-project/pull/228468
The pass was not added to x86 newPM pipeline when the pass was ported here: https://github.com/llvm/llvm-project/pull/184918
>From afd454f3cc87150d4d4c224e51773467987d326d Mon Sep 17 00:00:00 2001
From: "Pirog, Mikolaj Maciej" <mikolaj.maciej.pirog at intel.com>
Date: Fri, 2 Oct 2026 16:02:02 +0200
Subject: [PATCH] Add UnpackMachineBundlePass to x86 pipeline
---
llvm/lib/Target/X86/X86CodeGenPassBuilder.cpp | 3 +--
llvm/test/CodeGen/X86/llc-pipeline-npm.ll | 4 ++++
2 files changed, 5 insertions(+), 2 deletions(-)
diff --git a/llvm/lib/Target/X86/X86CodeGenPassBuilder.cpp b/llvm/lib/Target/X86/X86CodeGenPassBuilder.cpp
index 40f8738bb389aa..5dd7d26da8e5a5 100644
--- a/llvm/lib/Target/X86/X86CodeGenPassBuilder.cpp
+++ b/llvm/lib/Target/X86/X86CodeGenPassBuilder.cpp
@@ -290,8 +290,7 @@ void X86CodeGenPassBuilder::addPreEmitPass2(PassManagerWrapper &PMW) {
// KCFI indirect call checks are lowered to a bundle, and on Darwin platforms,
// also CALL_RVMARKER.
- // TODO(boomanaiden154): Add UnpackMachineBundlesPass here once it has been
- // ported.
+ addMachineFunctionPass(UnpackMachineBundlesPass(), PMW);
// Analyzes and emits pseudos to support Win x64 Unwind V2. This pass must run
// after all real instructions have been added to the epilog.
diff --git a/llvm/test/CodeGen/X86/llc-pipeline-npm.ll b/llvm/test/CodeGen/X86/llc-pipeline-npm.ll
index 4bd476e31d2681..d02b6e9ff4c9fb 100644
--- a/llvm/test/CodeGen/X86/llc-pipeline-npm.ll
+++ b/llvm/test/CodeGen/X86/llc-pipeline-npm.ll
@@ -76,6 +76,7 @@
; O0-NEXT: x86-return-thunks
; O0-NEXT: cfi-instr-inserter
; O0-NEXT: x86-lvi-ret
+; O0-NEXT: unpack-mi-bundles
; O0-NEXT: verify
; O0-NEXT: x86-asm-printer
; O0-NEXT: free-machine-function
@@ -204,6 +205,7 @@
; O2-NEXT: x86-return-thunks
; O2-NEXT: cfi-instr-inserter
; O2-NEXT: x86-lvi-ret
+; O2-NEXT: unpack-mi-bundles
; O2-NEXT: verify
; O2-NEXT: x86-asm-printer
; O2-NEXT: free-machine-function
@@ -278,6 +280,7 @@
; O0-WINDOWS-NEXT: x86-avoid-trailing-call
; O0-WINDOWS-NEXT: eh-cont-guard-targets
; O0-WINDOWS-NEXT: x86-lvi-ret
+; O0-WINDOWS-NEXT: unpack-mi-bundles
; O0-WINDOWS-NEXT: x86-wineh-unwindv2
; O0-WINDOWS-NEXT: verify
; O0-WINDOWS-NEXT: x86-asm-printer
@@ -409,6 +412,7 @@
; O3-WINDOWS-NEXT: x86-avoid-trailing-call
; O3-WINDOWS-NEXT: eh-cont-guard-targets
; O3-WINDOWS-NEXT: x86-lvi-ret
+; O3-WINDOWS-NEXT: unpack-mi-bundles
; O3-WINDOWS-NEXT: x86-wineh-unwindv2
; O3-WINDOWS-NEXT: verify
; O3-WINDOWS-NEXT: x86-asm-printer
More information about the llvm-commits
mailing list