[PATCH] D122367: [AMDGPU] [NFC] Introduce subtargets check for MI hardware.
Mahesha S via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Mar 23 19:49:39 PDT 2022
hsmhsm created this revision.
hsmhsm added reviewers: rampitec, arsenm, foad, cdevadas.
Herald added subscribers: kerbowa, hiraditya, t-tye, tpr, dstuttard, yaxunl, nhaehnle, jvesely, kzhuravl.
Herald added a project: All.
hsmhsm requested review of this revision.
Herald added subscribers: llvm-commits, wdng.
Herald added a project: LLVM.
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D122367
Files:
llvm/lib/Target/AMDGPU/GCNSubtarget.h
llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
Index: llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
===================================================================
--- llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
+++ llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
@@ -697,7 +697,7 @@
// On GFX908, in order to guarantee copying between AGPRs, we need a scratch
// VGPR available at all times.
- if (ST.hasMAIInsts() && !ST.hasGFX90AInsts()) {
+ if (ST.isGFX908Subtarget()) {
reserveRegisterTuples(Reserved, AMDGPU::VGPR32);
}
Index: llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
===================================================================
--- llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
+++ llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
@@ -551,8 +551,7 @@
RegScavenger &RS,
Register ImpDefSuperReg = Register(),
Register ImpUseSuperReg = Register()) {
- assert((TII.getSubtarget().hasMAIInsts() &&
- !TII.getSubtarget().hasGFX90AInsts()) &&
+ assert(TII.getSubtarget().isGFX908Subtarget() &&
"Expected GFX908 subtarget.");
assert((AMDGPU::SReg_32RegClass.contains(SrcReg) ||
Index: llvm/lib/Target/AMDGPU/GCNSubtarget.h
===================================================================
--- llvm/lib/Target/AMDGPU/GCNSubtarget.h
+++ llvm/lib/Target/AMDGPU/GCNSubtarget.h
@@ -990,6 +990,14 @@
// hasGFX90AInsts is also true.
bool hasGFX940Insts() const { return GFX940Insts; }
+ bool isGFX908Subtarget() const { return HasMAIInsts && !GFX90AInsts; };
+
+ bool isGFX90ASubtarget() const { return GFX90AInsts && !GFX940Insts; };
+
+ // TODO: We may need to update this condition in future based on future MI
+ // hardware which could be a superset of GFX940.
+ bool isGFX940Subtarget() const { return GFX940Insts; };
+
/// Return the maximum number of waves per SIMD for kernels using \p SGPRs
/// SGPRs
unsigned getOccupancyWithNumSGPRs(unsigned SGPRs) const;
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D122367.417817.patch
Type: text/x-patch
Size: 1958 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20220324/34ae6444/attachment.bin>
More information about the llvm-commits
mailing list