diff options
| author | Mark Searles <m.c.searles@gmail.com> | 2018-02-19 19:19:59 +0000 |
|---|---|---|
| committer | Mark Searles <m.c.searles@gmail.com> | 2018-02-19 19:19:59 +0000 |
| commit | 65207923f66d2813e5170f4f90002ece718f133f (patch) | |
| tree | a73325aecb39da1e61529402ddf522ca0093e08d /llvm/test/CodeGen/AMDGPU | |
| parent | 709bde886d9b6f27e17d427a81938ba8f885466f (diff) | |
| download | bcm5719-llvm-65207923f66d2813e5170f4f90002ece718f133f.tar.gz bcm5719-llvm-65207923f66d2813e5170f4f90002ece718f133f.zip | |
[AMDGPU] Make note of existing waitcnt instrs; this is add-on work related to suppression of redundant waitcnt instrs. It is necessary to make note of these existing waitcnt instrs so that we do not fall into an infinite loop when handling loops. Also, [NFC] some minor code clean-up.
llvm-svn: 325524
Diffstat (limited to 'llvm/test/CodeGen/AMDGPU')
| -rw-r--r-- | llvm/test/CodeGen/AMDGPU/waitcnt-no-redundant.mir | 23 |
1 files changed, 12 insertions, 11 deletions
diff --git a/llvm/test/CodeGen/AMDGPU/waitcnt-no-redundant.mir b/llvm/test/CodeGen/AMDGPU/waitcnt-no-redundant.mir index 188f0151a70..92e73f6db39 100644 --- a/llvm/test/CodeGen/AMDGPU/waitcnt-no-redundant.mir +++ b/llvm/test/CodeGen/AMDGPU/waitcnt-no-redundant.mir @@ -1,24 +1,25 @@ # RUN: llc -mtriple=amdgcn -verify-machineinstrs -run-pass si-insert-waitcnts -o - %s | FileCheck %s # Check that the waitcnt pass does *not* insert a redundant waitcnt instr. -# In this testcase, ensure that pass does not insert redundant S_WAITCNT 127 -# or S_WAITCNT 3952 +# In this testcase, ensure that pass does not insert redundant S_WAITCNT 3952 ... # CHECK-LABEL: name: waitcnt-no-redundant -# CHECK: DS_READ_B64 -# CHECK-NEXT: S_WAITCNT 127 +# CHECK: S_WAITCNT 3952 # CHECK-NEXT: FLAT_ATOMIC_CMPSWAP # CHECK-NEXT: S_WAITCNT 3952 -# CHECK-NEXT: BUFFER_WBINVL1_VOL +# CHECK-NEXT: BUFFER_WBINVL1 name: waitcnt-no-redundant body: | - bb.0: - renamable $vgpr0_vgpr1 = DS_READ_B64 killed renamable $vgpr0, 0, 0, implicit $m0, implicit $exec - S_WAITCNT 127 - FLAT_ATOMIC_CMPSWAP killed renamable $vgpr0_vgpr1, killed renamable $vgpr3_vgpr4, 0, 0, implicit $exec, implicit $flat_scr + bb.0: + renamable $vgpr0 = V_MOV_B32_e32 0, implicit $exec + + bb.1: + S_WAITCNT 3952 + FLAT_ATOMIC_CMPSWAP undef renamable $vgpr0_vgpr1, renamable $vgpr0_vgpr1, 0, 0, implicit $exec, implicit $flat_scr S_WAITCNT 3952 - BUFFER_WBINVL1_VOL implicit $exec - S_ENDPGM + BUFFER_WBINVL1 implicit $exec + S_BRANCH %bb.1 + ... |

