[llvm] [AMDGPU] Remove Base_MUBUF_Real_Atomic_gfx11. NFC. (PR #83994)

Jay Foad via llvm-commits llvm-commits at lists.llvm.org
Tue Mar 5 03:36:17 PST 2024


================
@@ -2301,7 +2301,8 @@ class MUBUF_Real_gfx11<bits<8> op, MUBUF_Pseudo ps,
                        string real_name = ps.Mnemonic> :
   Base_MUBUF_Real_gfx6_gfx7_gfx10_gfx11<ps, SIEncodingFamily.GFX11, real_name> {
   let Inst{12}    = !if(ps.has_slc, cpol{CPolBit.SLC}, ?);
-  let Inst{13}    = !if(ps.has_dlc, cpol{CPolBit.DLC}, ps.dlc_value);
+  // In GFX11 dlc is applicable to all loads/stores/atomics.
+  let Inst{13}    = !if(!or(ps.mayLoad, ps.mayStore), cpol{CPolBit.DLC}, ps.dlc_value);
----------------
jayfoad wrote:

This could perhaps use some further cleanup. The confusion is that has_dlc is a field in the pseudo, but in fact whether an instruction "has dlc" is different on different subtargets:
- before GFX11 only loads and stores have dlc
- in GFX11, atomics also have dlc (but invalidates still do not)

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


More information about the llvm-commits mailing list