[llvm] [X86][NewPM] Add UnpackMachineBundlePass to x86 newPM pipeline (PR #228468)

via llvm-commits llvm-commits at lists.llvm.org
Fri Oct 2 07:53:10 PDT 2026


llvmorg-github-actions[bot] wrote:


<!--LLVM PR SUMMARY COMMENT-->

@llvm/pr-subscribers-backend-x86

Author: Mikołaj Piróg (mikolaj-pirog)

<details>
<summary>Changes</summary>

The pass was not added to x86 newPM pipeline when the pass was ported here: https://github.com/llvm/llvm-project/pull/184918

---
Full diff: https://github.com/llvm/llvm-project/pull/228468.diff


2 Files Affected:

- (modified) llvm/lib/Target/X86/X86CodeGenPassBuilder.cpp (+1-2) 
- (modified) llvm/test/CodeGen/X86/llc-pipeline-npm.ll (+4) 


``````````diff
diff --git a/llvm/lib/Target/X86/X86CodeGenPassBuilder.cpp b/llvm/lib/Target/X86/X86CodeGenPassBuilder.cpp
index 40f8738bb389a..5dd7d26da8e5a 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 4bd476e31d268..d02b6e9ff4c9f 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

``````````

</details>


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


More information about the llvm-commits mailing list