[Mlir-commits] [clang] [llvm] [mlir] [AMDGPU] Implement AsyncMark Stages (PR #220442)

Sameer Sahasrabuddhe llvmlistbot at llvm.org
Thu Oct 29 23:18:04 PDT 2026


================
@@ -4816,6 +4817,50 @@ bool SIInstrInfo::mayAccessLDSThroughFlat(const MachineInstr &MI,
   return false;
 }
 
+AMDGPU::AsyncStages SIInstrInfo::getAsyncStage(const MachineInstr &MI) {
+  if (!isLDSDMA(MI))
+    return AMDGPU::AsyncStages::NONE;
+  if (usesTENSOR_CNT(MI))
+    return AMDGPU::AsyncStages::TENSOR;
+  if (!usesASYNC_CNT(MI))
+    return AMDGPU::AsyncStages::BUFFER_GLOBAL_LOAD;
----------------
ssahasra wrote:

Quoting copilot: AMDGPU::GLOBAL_LOAD_LDS_DWORD with its IsAsync operand set to 0. It passes isLDSDMA(), uses neither TENSOR_CNT nor ASYNC_CNT, and therefore incorrectly returns AsyncStages::BUFFER_GLOBAL_LOAD instead of NONE.

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


More information about the Mlir-commits mailing list