[llvm] [AMDGPU] Lazily emit waitcnts on function entry (PR #73122)

Jay Foad via llvm-commits llvm-commits at lists.llvm.org
Wed Dec 6 07:02:47 PST 2023


================
@@ -8,24 +8,24 @@
 define void @br_false() {
 ; WAVE64-LABEL: br_false:
 ; WAVE64:       ; %bb.0: ; %.exit
-; WAVE64-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
 ; WAVE64-NEXT:  .LBB0_1: ; %bb0
 ; WAVE64-NEXT:    ; =>This Inner Loop Header: Depth=1
 ; WAVE64-NEXT:    s_mov_b32 s4, 1
 ; WAVE64-NEXT:    s_cmp_lg_u32 s4, 0
 ; WAVE64-NEXT:    s_cbranch_scc1 .LBB0_1
 ; WAVE64-NEXT:  ; %bb.2: ; %.exit5
+; WAVE64-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
----------------
jayfoad wrote:

As above, counters are undefined on function entry but must be 0 on return.

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


More information about the llvm-commits mailing list