| # NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py |
| # RUN: llc -march=amdgcn -mcpu=gfx900 -verify-machineinstrs -run-pass=si-insert-waitcnts -o - %s | FileCheck -check-prefix=GCN %s |
| |
| # Make sure no waitcnt is inserted for meta instruction uses. |
| |
| --- |
| |
| name: waitcnt_kill |
| |
| body: | |
| bb.0: |
| liveins: $vgpr0_vgpr1 |
| ; GCN-LABEL: name: waitcnt_kill |
| ; GCN: S_WAITCNT 0 |
| ; GCN: $vgpr0 = GLOBAL_LOAD_DWORD $vgpr0_vgpr1, 0, 0, 0, 0, implicit $exec |
| ; GCN: KILL $vgpr0 |
| $vgpr0 = GLOBAL_LOAD_DWORD $vgpr0_vgpr1, 0, 0, 0, 0, implicit $exec |
| KILL $vgpr0 |
| ... |
| |
| --- |
| |
| name: waitcnt_implicit_def |
| |
| body: | |
| bb.0: |
| liveins: $vgpr0_vgpr1 |
| ; GCN-LABEL: name: waitcnt_implicit_def |
| ; GCN: S_WAITCNT 0 |
| ; GCN: $vgpr0 = GLOBAL_LOAD_DWORD $vgpr0_vgpr1, 0, 0, 0, 0, implicit $exec |
| ; GCN: $vgpr0 = IMPLICIT_DEF |
| $vgpr0 = GLOBAL_LOAD_DWORD $vgpr0_vgpr1, 0, 0, 0, 0, implicit $exec |
| $vgpr0 = IMPLICIT_DEF |
| ... |
| |
| --- |
| |
| name: waitcnt_eh_label |
| |
| body: | |
| bb.0: |
| liveins: $vgpr0_vgpr1, $vgpr2 |
| ; GCN-LABEL: name: waitcnt_eh_label |
| ; GCN: S_WAITCNT 0 |
| ; GCN: $vgpr0 = GLOBAL_LOAD_DWORD $vgpr0_vgpr1, 0, 0, 0, 0, implicit $exec |
| ; GCN: EH_LABEL <mcsymbol Ltmp0>, implicit $vgpr0 |
| $vgpr0 = GLOBAL_LOAD_DWORD $vgpr0_vgpr1, 0, 0, 0, 0, implicit $exec |
| EH_LABEL <mcsymbol Ltmp0>, implicit $vgpr0 |
| |
| ... |
| |
| --- |
| |
| name: waitcnt_cfi |
| |
| body: | |
| bb.0: |
| liveins: $vgpr0_vgpr1, $vgpr2 |
| ; GCN-LABEL: name: waitcnt_cfi |
| ; GCN: S_WAITCNT 0 |
| ; GCN: $vgpr0 = GLOBAL_LOAD_DWORD $vgpr0_vgpr1, 0, 0, 0, 0, implicit $exec |
| ; GCN: CFI_INSTRUCTION offset $vgpr0_lo16, 16 |
| $vgpr0 = GLOBAL_LOAD_DWORD $vgpr0_vgpr1, 0, 0, 0, 0, implicit $exec |
| CFI_INSTRUCTION offset $vgpr0, 16 |
| |
| ... |