[llvm] [AMDGPU] Set glc/slc on volatile/nontemporal SMEM loads (PR #77443)
Tony Tye via llvm-commits
llvm-commits at lists.llvm.org
Fri Jan 12 09:21:54 PST 2024
================
@@ -5813,6 +5813,18 @@ in table :ref:`amdgpu-amdhsa-memory-model-code-sequences-gfx6-gfx9-table`.
be reordered by
hardware.
+ load *none* *none* - constant - !volatile & !nontemporal
+
+ 1. s_load/s_buffer_load
+
+ - !volatile & nontemporal
+
+ 1. s_load/s_buffer_load glc=1 slc=1
+
+ - volatile
+
+ 1. s_load/s_buffer_load glc=1
----------------
t-tye wrote:
I think the spec looks fine to me. But you must admit that the concept of a volatile constant load is a bit meaningless. Not sure how it could ever happen. By definition a volatile location cannot be constant. That may be why I left scalar out of the memory model description.
Presumably this cahnge needs to be done to the memory model specification for the other targets too.
https://github.com/llvm/llvm-project/pull/77443
More information about the llvm-commits
mailing list