Skip to content

Commit fb49adb

Browse files
authored
[AMDGPU] Another test for missing S_WAIT_XCNT (llvm#166154)
1 parent 8339839 commit fb49adb

File tree

1 file changed

+45
-0
lines changed

1 file changed

+45
-0
lines changed

llvm/test/CodeGen/AMDGPU/wait-xcnt.mir

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1069,6 +1069,51 @@ body: |
10691069
$sgpr0 = S_MOV_B32 $sgpr0
10701070
...
10711071

1072+
# FIXME: Missing S_WAIT_XCNT before overwriting vgpr0.
1073+
---
1074+
name: mixed_pending_events
1075+
tracksRegLiveness: true
1076+
machineFunctionInfo:
1077+
isEntryFunction: true
1078+
body: |
1079+
; GCN-LABEL: name: mixed_pending_events
1080+
; GCN: bb.0:
1081+
; GCN-NEXT: successors: %bb.2(0x40000000), %bb.1(0x40000000)
1082+
; GCN-NEXT: liveins: $vgpr0_vgpr1, $sgpr0_sgpr1, $scc
1083+
; GCN-NEXT: {{ $}}
1084+
; GCN-NEXT: $sgpr2 = S_LOAD_DWORD_IMM $sgpr0_sgpr1, 0, 0
1085+
; GCN-NEXT: S_CBRANCH_SCC1 %bb.2, implicit $scc
1086+
; GCN-NEXT: {{ $}}
1087+
; GCN-NEXT: bb.1:
1088+
; GCN-NEXT: successors: %bb.2(0x80000000)
1089+
; GCN-NEXT: liveins: $vgpr0_vgpr1, $sgpr2
1090+
; GCN-NEXT: {{ $}}
1091+
; GCN-NEXT: $vgpr2 = GLOBAL_LOAD_DWORD $vgpr0_vgpr1, 0, 0, implicit $exec
1092+
; GCN-NEXT: $vgpr3 = GLOBAL_LOAD_DWORD $vgpr0_vgpr1, 0, 0, implicit $exec
1093+
; GCN-NEXT: {{ $}}
1094+
; GCN-NEXT: bb.2:
1095+
; GCN-NEXT: liveins: $sgpr2, $vgpr2
1096+
; GCN-NEXT: {{ $}}
1097+
; GCN-NEXT: S_WAIT_LOADCNT 1
1098+
; GCN-NEXT: $vgpr2 = V_MOV_B32_e32 $vgpr2, implicit $exec
1099+
; GCN-NEXT: S_WAIT_KMCNT 0
1100+
; GCN-NEXT: $sgpr2 = S_MOV_B32 $sgpr2
1101+
; GCN-NEXT: $vgpr0 = V_MOV_B32_e32 0, implicit $exec
1102+
bb.0:
1103+
liveins: $vgpr0_vgpr1, $sgpr0_sgpr1, $scc
1104+
$sgpr2 = S_LOAD_DWORD_IMM $sgpr0_sgpr1, 0, 0
1105+
S_CBRANCH_SCC1 %bb.2, implicit $scc
1106+
bb.1:
1107+
liveins: $vgpr0_vgpr1, $sgpr2
1108+
$vgpr2 = GLOBAL_LOAD_DWORD $vgpr0_vgpr1, 0, 0, implicit $exec
1109+
$vgpr3 = GLOBAL_LOAD_DWORD $vgpr0_vgpr1, 0, 0, implicit $exec
1110+
bb.2:
1111+
liveins: $sgpr2, $vgpr2
1112+
$vgpr2 = V_MOV_B32_e32 $vgpr2, implicit $exec
1113+
$sgpr2 = S_MOV_B32 $sgpr2
1114+
$vgpr0 = V_MOV_B32_e32 0, implicit $exec
1115+
...
1116+
10721117
---
10731118
name: pending_vmem_event_between_block
10741119
tracksRegLiveness: true

0 commit comments

Comments
 (0)