[clang] Fix crashes when passing VLA to va_arg (#119563)
[llvm-project.git] / llvm / test / CodeGen / AMDGPU / waitcnt-meta-instructions.mir
blobb663acb8ce3fde438142df971ddd9339fd5068e4
1 # NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py
2 # RUN: llc -mtriple=amdgcn -mcpu=gfx900 -verify-machineinstrs -run-pass=si-insert-waitcnts -o - %s | FileCheck -check-prefix=GCN %s
4 # Make sure no waitcnt is inserted for meta instruction uses.
6 ---
8 name: waitcnt_kill
10 body:             |
11   bb.0:
12     liveins: $vgpr0_vgpr1
13     ; GCN-LABEL: name: waitcnt_kill
14     ; GCN: liveins: $vgpr0_vgpr1
15     ; GCN-NEXT: {{  $}}
16     ; GCN-NEXT: S_WAITCNT 0
17     ; GCN-NEXT: $vgpr0 = GLOBAL_LOAD_DWORD $vgpr0_vgpr1, 0, 0, implicit $exec
18     ; GCN-NEXT: KILL $vgpr0
19     $vgpr0 = GLOBAL_LOAD_DWORD $vgpr0_vgpr1, 0, 0, implicit $exec
20     KILL $vgpr0
21 ...
23 ---
25 name: waitcnt_implicit_def
27 body:             |
28   bb.0:
29     liveins: $vgpr0_vgpr1
30     ; GCN-LABEL: name: waitcnt_implicit_def
31     ; GCN: liveins: $vgpr0_vgpr1
32     ; GCN-NEXT: {{  $}}
33     ; GCN-NEXT: S_WAITCNT 0
34     ; GCN-NEXT: $vgpr0 = GLOBAL_LOAD_DWORD $vgpr0_vgpr1, 0, 0, implicit $exec
35     ; GCN-NEXT: $vgpr0 = IMPLICIT_DEF
36     $vgpr0 = GLOBAL_LOAD_DWORD $vgpr0_vgpr1, 0, 0, implicit $exec
37     $vgpr0 = IMPLICIT_DEF
38 ...
40 ---
42 name: waitcnt_eh_label
44 body:             |
45   bb.0:
46     liveins: $vgpr0_vgpr1, $vgpr2
47     ; GCN-LABEL: name: waitcnt_eh_label
48     ; GCN: liveins: $vgpr0_vgpr1, $vgpr2
49     ; GCN-NEXT: {{  $}}
50     ; GCN-NEXT: S_WAITCNT 0
51     ; GCN-NEXT: $vgpr0 = GLOBAL_LOAD_DWORD $vgpr0_vgpr1, 0, 0, implicit $exec
52     ; GCN-NEXT: EH_LABEL <mcsymbol Ltmp0>, implicit $vgpr0
53     $vgpr0 = GLOBAL_LOAD_DWORD $vgpr0_vgpr1, 0, 0, implicit $exec
54     EH_LABEL <mcsymbol Ltmp0>, implicit $vgpr0
56 ...
58 ---
60 name: waitcnt_cfi
62 body:             |
63   bb.0:
64     liveins: $vgpr0_vgpr1, $vgpr2
65     ; GCN-LABEL: name: waitcnt_cfi
66     ; GCN: liveins: $vgpr0_vgpr1, $vgpr2
67     ; GCN-NEXT: {{  $}}
68     ; GCN-NEXT: S_WAITCNT 0
69     ; GCN-NEXT: $vgpr0 = GLOBAL_LOAD_DWORD $vgpr0_vgpr1, 0, 0, implicit $exec
70     ; GCN-NEXT: CFI_INSTRUCTION offset $vgpr0, 16
71     $vgpr0 = GLOBAL_LOAD_DWORD $vgpr0_vgpr1, 0, 0, implicit $exec
72     CFI_INSTRUCTION offset $vgpr0, 16
74 ...