[llvm] [AMDGPU] Fix GCNUpwardRPTracker. (WIP) (PR #71186)

Valery Pykhtin via llvm-commits llvm-commits at lists.llvm.org
Tue Nov 7 09:10:06 PST 2023


================
@@ -459,4 +433,55 @@ body:             |
     S_NOP 0, implicit %16
     S_ENDPGM 0
 ...
-
+---
+name:  test_early_clobber_trivial
+tracksRegLiveness: true
+body:             |
+  bb.0:
+    ; RP-LABEL: name: test_early_clobber_trivial
+    ; RP: Live-in:
+    ; RP-NEXT: SGPR  VGPR
+    ; RP-NEXT: 0     0
+    ; RP-NEXT: 0     1      %0:vgpr_32 = V_MOV_B32_e32 42, implicit $exec
+    ; RP-NEXT: 0     1
+    ; RP-NEXT: 0     2      early-clobber %1:vgpr_32 = V_MOV_B32_e32 %0:vgpr_32, implicit $exec
+    ; RP-NEXT: 0     1
+    ; RP-NEXT: 0     1      S_NOP 0, implicit %1:vgpr_32
+    ; RP-NEXT: 0     0
+    ; RP-NEXT: Live-out:
+    %0:vgpr_32 = V_MOV_B32_e32 42, implicit $exec
+    early-clobber %1:vgpr_32 = V_MOV_B32_e32 %0, implicit $exec
+    S_NOP 0, implicit %1
+...
+---
+name:  test_not_early_clobber_trivial
+tracksRegLiveness: true
+body:             |
+  bb.0:
+    ; RPU-LABEL: name: test_not_early_clobber_trivial
+    ; RPU: Live-in:
+    ; RPU-NEXT: SGPR  VGPR
+    ; RPU-NEXT: 0     0
+    ; RPU-NEXT: 0     1      %0:vgpr_32 = V_MOV_B32_e32 42, implicit $exec
+    ; RPU-NEXT: 0     1
+    ; RPU-NEXT: 0     1      %1:vgpr_32 = V_MOV_B32_e32 %0:vgpr_32, implicit $exec
+    ; RPU-NEXT: 0     1
+    ; RPU-NEXT: 0     1      S_NOP 0, implicit %1:vgpr_32
+    ; RPU-NEXT: 0     0
+    ; RPU-NEXT: Live-out:
+    ;
+    ; RPD-LABEL: name: test_not_early_clobber_trivial
+    ; RPD: Live-in:
+    ; RPD-NEXT: SGPR  VGPR
+    ; RPD-NEXT: 0     0
+    ; RPD-NEXT: 0     1      %0:vgpr_32 = V_MOV_B32_e32 42, implicit $exec
+    ; RPD-NEXT: 0     1
+    ; RPD-NEXT: 0     2      %1:vgpr_32 = V_MOV_B32_e32 %0:vgpr_32, implicit $exec
----------------
vpykhtin wrote:

Yes, I'm going to fix it in a separate PR, we should have a perfect match of RP in both ways.

https://github.com/llvm/llvm-project/pull/71186


More information about the llvm-commits mailing list