[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