[llvm] AMDGPU: Add statistic for number of MFMAs moved to AGPR form (PR #153024)

Matt Arsenault via llvm-commits llvm-commits at lists.llvm.org
Tue Sep 2 22:14:46 PDT 2025


https://github.com/arsenm updated https://github.com/llvm/llvm-project/pull/153024

>From 8c6a7c6be03b32afd5473713793be40a1f92ed95 Mon Sep 17 00:00:00 2001
From: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: Mon, 11 Aug 2025 10:47:44 +0900
Subject: [PATCH 1/2] AMDGPU: Handle rewriting VGPR MFMA fed from AGPR copy

Previously we handled the inverse situation only.

>From 0abc8f3a2616d6b011ee907dfe601718ae9f8e59 Mon Sep 17 00:00:00 2001
From: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: Mon, 11 Aug 2025 19:00:54 +0900
Subject: [PATCH 2/2] AMDGPU: Add statistic for number of MFMAs moved to AGPR
 form

---
 llvm/lib/Target/AMDGPU/AMDGPURewriteAGPRCopyMFMA.cpp | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/llvm/lib/Target/AMDGPU/AMDGPURewriteAGPRCopyMFMA.cpp b/llvm/lib/Target/AMDGPU/AMDGPURewriteAGPRCopyMFMA.cpp
index aaecfa1e33f06..5468bdd81cd98 100644
--- a/llvm/lib/Target/AMDGPU/AMDGPURewriteAGPRCopyMFMA.cpp
+++ b/llvm/lib/Target/AMDGPU/AMDGPURewriteAGPRCopyMFMA.cpp
@@ -26,6 +26,7 @@
 #include "GCNSubtarget.h"
 #include "SIMachineFunctionInfo.h"
 #include "SIRegisterInfo.h"
+#include "llvm/ADT/Statistic.h"
 #include "llvm/CodeGen/LiveIntervals.h"
 #include "llvm/CodeGen/LiveRegMatrix.h"
 #include "llvm/CodeGen/MachineFunctionPass.h"
@@ -38,6 +39,9 @@ using namespace llvm;
 
 namespace {
 
+STATISTIC(NumMFMAsRewrittenToAGPR,
+          "Number of MFMA instructions rewritten to use AGPR form");
+
 class AMDGPURewriteAGPRCopyMFMAImpl {
   MachineFunction &MF;
   const GCNSubtarget &ST;
@@ -255,6 +259,7 @@ bool AMDGPURewriteAGPRCopyMFMAImpl::tryReassigningMFMAChain(
     int NewMFMAOp =
         AMDGPU::getMFMASrcCVDstAGPROp(RewriteCandidate->getOpcode());
     RewriteCandidate->setDesc(TII.get(NewMFMAOp));
+    ++NumMFMAsRewrittenToAGPR;
   }
 
   return true;



More information about the llvm-commits mailing list