[llvm] unpack packed instructions overlapped by MFMAs post-RA scheduling (PR #157968)

Jeffrey Byrnes via llvm-commits llvm-commits at lists.llvm.org
Thu Sep 11 10:27:12 PDT 2025


================
@@ -461,7 +727,21 @@ bool SIPreEmitPeephole::run(MachineFunction &MF) {
     // and limit the distance to 20 instructions for compile time purposes.
     // Note: this needs to work on bundles as S_SET_GPR_IDX* instructions
     // may be bundled with the instructions they modify.
+    //
+    // Unpack packed instructions overlapped by MFMAs. This allows the compiler
+    // to co-issue unpacked instructions with MFMA
+    uint16_t NumMFMACycles = 0;
----------------
jrbyrnes wrote:

The check above `ST.hasVGPRIndexMode()` should not control this unpack logic. It should be sunk inside the loop to when we check for the` AMDGPU::S_SET_GPR_IDX_ON` 

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


More information about the llvm-commits mailing list