[llvm] AMDGPU: Add NextUseAnalysis Pass (PR #178873)

Matt Arsenault via llvm-commits llvm-commits at lists.llvm.org
Fri Apr 10 10:15:07 PDT 2026


================
@@ -0,0 +1,3165 @@
+# RUN: llc -mtriple=amdgcn -mcpu=gfx1200 \
+# RUN:     -run-pass=amdgpu-next-use-printer \
+# RUN:     -amdgpu-next-use-analysis-config=graphics \
+# RUN:     -amdgpu-next-use-analysis-dump-distance-as-json=- \
+# RUN:     -amdgpu-next-use-analysis-dump-distance-verbose \
+# RUN:     -o /dev/null \
+# RUN:     %s | FileCheck --check-prefix=CHECK-GX-JSON %s
+
+# RUN: llc -mtriple=amdgcn -mcpu=gfx1200 \
+# RUN:     -run-pass=amdgpu-next-use-printer \
+# RUN:     -amdgpu-next-use-analysis-config=compute \
+# RUN:     -amdgpu-next-use-analysis-dump-distance-as-json=- \
+# RUN:     -amdgpu-next-use-analysis-dump-distance-verbose \
+# RUN:     -o /dev/null \
+# RUN:     %s | FileCheck --check-prefix=CHECK-CP-JSON %s
+
+# RUN: llc -mtriple=amdgcn -mcpu=gfx1200 \
+# RUN:     "-passes=require<amdgpu-next-use-analysis>,print<amdgpu-next-use-analysis>" \
+# RUN:     -amdgpu-next-use-analysis-config=compute \
+# RUN:     -amdgpu-next-use-analysis-dump-distance-as-json=- \
+# RUN:     -amdgpu-next-use-analysis-dump-distance-verbose \
+# RUN:     -o /dev/null \
+# RUN:     %s | FileCheck --check-prefix=CHECK-CP-JSON %s
+
+# Generated scaling benchmark: 4 modules, 14 BBs, 61 instructions
+
+--- |
+  define amdgpu_ps i32 @acyclic_014bb(ptr addrspace(1) %p1, ptr addrspace(1) %p2, ptr addrspace(1) %p3, i1 %cond, i32 %TC1, i32 %TC2, i32 %TC3) {
+  entry:
+    br label %bb1
+  bb1:
+    br label %bb2
+  bb2:
+    br label %bb3
+  bb3:
+    br label %bb4
+  bb4:
+    br label %bb5
+  bb5:
+    br label %bb6
+  bb6:
+    br label %bb7
+  bb7:
+    br label %bb8
+  bb8:
+    br label %bb9
+  bb9:
+    br label %bb10
+  bb10:
+    br label %bb11
+  bb11:
+    br label %bb12
+  bb12:
+    br label %bb13
+  bb13:
+    ret i32 0
+  }
+...
+
+---
+name:            acyclic_014bb
+alignment:       1
+tracksRegLiveness: true
+isSSA:           true
+machineFunctionInfo: {}
+registers:
----------------
arsenm wrote:

Shouldn't need any registers sections 

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


More information about the llvm-commits mailing list