[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