[PATCH] D71866: [amdgpu] Fix scoreboard updating on `s_waitcnt_vscnt`.

Michael Liao via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Dec 31 11:27:07 PST 2019


This revision was automatically updated to reflect the committed changes.
Closed by commit rG79d401905fcf: [amdgpu] Fix scoreboard updating on `s_waitcnt_vscnt`. (authored by hliao).

Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D71866/new/

https://reviews.llvm.org/D71866

Files:
  llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
  llvm/test/CodeGen/AMDGPU/waitcnt-vscnt.mir


Index: llvm/test/CodeGen/AMDGPU/waitcnt-vscnt.mir
===================================================================
--- /dev/null
+++ llvm/test/CodeGen/AMDGPU/waitcnt-vscnt.mir
@@ -0,0 +1,17 @@
+# RUN: llc -march=amdgcn -mcpu=gfx1010 -verify-machineinstrs -run-pass si-insert-waitcnts -o - %s | FileCheck -check-prefix=GFX10 %s
+
+# GFX10-LABEL: waitcnt-vscnt
+# GFX10: GLOBAL_ATOMIC_ADD_RTN
+# GFX10-NEXT: S_WAITCNT 49279
+---
+name: waitcnt-vscnt
+machineFunctionInfo:
+  isEntryFunction: true
+body: |
+  bb.0:
+    liveins: $sgpr0_sgpr1
+    $sgpr4 = S_LOAD_DWORD_IMM $sgpr0_sgpr1, 4, 0, 0 :: (dereferenceable invariant load 4 from `i32 addrspace(4)* undef`)
+    S_WAITCNT_VSCNT undef $sgpr_null, 0
+    $vgpr0 = GLOBAL_ATOMIC_ADD_RTN $vgpr0_vgpr1, $vgpr2, 0, 0, implicit $exec :: (load store syncscope("agent") seq_cst 4, addrspace 1)
+    S_CMP_LG_U32 killed $sgpr4, 0, implicit-def $scc
+...
Index: llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
===================================================================
--- llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
+++ llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
@@ -1081,7 +1081,7 @@
           assert(II->getOpcode() == AMDGPU::S_WAITCNT_VSCNT);
           assert(II->getOperand(0).getReg() == AMDGPU::SGPR_NULL);
           ScoreBrackets.applyWaitcnt(
-              AMDGPU::Waitcnt(0, 0, 0, II->getOperand(1).getImm()));
+              AMDGPU::Waitcnt(~0u, ~0u, ~0u, II->getOperand(1).getImm()));
         }
       }
     }


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D71866.235723.patch
Type: text/x-patch
Size: 1482 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20191231/e5f3bb6a/attachment.bin>


More information about the llvm-commits mailing list