[PATCH] D91086: AMDGPU: Document why we use (non-volatile) BUFFER_WBINVL1 in graphics

Nicolai Hähnle via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Nov 9 09:10:05 PST 2020


nhaehnle updated this revision to Diff 303898.
nhaehnle added a comment.

It seems the MTYPE numbering was changed on gfx9, reflect that in the comment.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D91086/new/

https://reviews.llvm.org/D91086

Files:
  llvm/lib/Target/AMDGPU/SIMemoryLegalizer.cpp


Index: llvm/lib/Target/AMDGPU/SIMemoryLegalizer.cpp
===================================================================
--- llvm/lib/Target/AMDGPU/SIMemoryLegalizer.cpp
+++ llvm/lib/Target/AMDGPU/SIMemoryLegalizer.cpp
@@ -898,6 +898,10 @@
 
   const GCNSubtarget &STM = MBB.getParent()->getSubtarget<GCNSubtarget>();
 
+  // Graphics environments never added a principled use of volatile vs.
+  // non-volatile, and the default MTYPE in buffer descriptors (MTYPE value 0)
+  // is NC_NV (non-coherent, non-volatile) on gfx8 (and maybe on gfx7, but not
+  // on gfx9), so a non-volatile wbinv is required.
   const unsigned InvalidateL1 = STM.isAmdPalOS() || STM.isMesa3DOS()
                                     ? AMDGPU::BUFFER_WBINVL1
                                     : AMDGPU::BUFFER_WBINVL1_VOL;


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D91086.303898.patch
Type: text/x-patch
Size: 804 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20201109/6ffb3511/attachment.bin>


More information about the llvm-commits mailing list