[llvm] [AMDGPU] Mark ASYNCMARK as meta instruction to fix hazard cycle miscounting (PR #189981)
Sameer Sahasrabuddhe via llvm-commits
llvm-commits at lists.llvm.org
Thu Apr 16 23:34:03 PDT 2026
================
@@ -366,10 +366,11 @@ define void @test_pipelined_loop(ptr addrspace(1) %foo, ptr addrspace(3) %lds, p
; SDAG-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
; SDAG-NEXT: v_readfirstlane_b32 s4, v2
; SDAG-NEXT: s_mov_b32 m0, s4
-; SDAG-NEXT: v_mov_b32_e32 v5, 0
+; SDAG-NEXT: s_nop 0
; SDAG-NEXT: global_load_dword v[0:1], off lds
; SDAG-NEXT: ; asyncmark
; SDAG-NEXT: global_load_dword v[0:1], off lds
+; SDAG-NEXT: v_mov_b32_e32 v5, 0
----------------
ssahasra wrote:
So the `v_mov` got replaced by an `s_nop`, and then it was scheduled later. What does that mean?
https://github.com/llvm/llvm-project/pull/189981
More information about the llvm-commits
mailing list