[llvm] [AMDGPU] Handle amdgpu.last.use metadata (PR #83816)

Mirko BrkuĊĦanin via llvm-commits llvm-commits at lists.llvm.org
Mon Mar 4 08:00:28 PST 2024


================
@@ -2415,6 +2442,16 @@ bool SIGfx12CacheControl::enableVolatileAndOrNonTemporal(
   return Changed;
 }
 
+bool SIGfx12CacheControl::enableLastUse(MachineInstr &MI,
+                                        bool IsLastUse) const {
+  assert(MI.mayLoad() && !MI.mayStore());
+
+  if (IsLastUse && !isScope(MI, AMDGPU::CPol::SCOPE_SYS))
----------------
mbrkusanin wrote:

TH_LOAD_LU is not available in SYS scope. th=3, scope=3 is TH_LOAD_BYPASS.

Unless that is also what we want. Docs describe similar behavior but I am confused as to why they are different policies. 

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


More information about the llvm-commits mailing list