[llvm] [AMDGPU] Add hint for MFMA Dst and OpC (PR #185218)

Matt Arsenault via llvm-commits llvm-commits at lists.llvm.org
Tue Mar 31 12:02:19 PDT 2026


================
@@ -245,6 +246,69 @@ bool GCNPreRAOptimizationsImpl::run(MachineFunction &MF) {
   TRI = ST.getRegisterInfo();
 
   bool Changed = false;
+  if (ST.hasMAIInsts()) {
+    EquivalenceClasses<Register> MFMAHints;
+    for (const MachineBasicBlock &MBB : MF) {
+      for (const MachineInstr &MI : MBB) {
+        if (!SIInstrInfo::isMFMA(MI))
+          continue;
+        const MachineOperand *DstMO =
+            TII->getNamedOperand(MI, AMDGPU::OpName::vdst);
+        const MachineOperand *Src2MO =
+            TII->getNamedOperand(MI, AMDGPU::OpName::src2);
+        if (!DstMO || !Src2MO || !DstMO->isReg() || !Src2MO->isReg())
+          continue;
+        Register Dst = DstMO->getReg();
+        Register Src2 = Src2MO->getReg();
+        if (!Dst.isVirtual() || !Src2.isVirtual())
+          continue;
+        LLVM_DEBUG(dbgs() << "Setting hint for "; MI.dump());
+        LLVM_DEBUG(dbgs() << " Dst: "; DstMO->dump(); dbgs() << " Src2: ";
+                   Src2MO->dump());
----------------
arsenm wrote:

```suggestion
        LLVM_DEBUG(dbgs() << "Setting hint for << MI << " Dst: " << *DstMO << " Src2: " << *Src2MO << '\n');

```

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


More information about the llvm-commits mailing list