[llvm] [NFC][AMDGPU] Remove redundant CodeGen test coverage (PR #218057)

Shilei Tian via llvm-commits llvm-commits at lists.llvm.org
Fri Aug 21 15:47:28 PDT 2026


https://github.com/shiltian created https://github.com/llvm/llvm-project/pull/218057

This PR removes duplicate test files, cases, and RUN commands while preserving all effective coverage.

Deleted files:

- `unexpected-reg-unit-state.mir` duplicates the bar case in `fast-ra-kills-vcc.mir`.
- `schedule-fs-loop.ll` produces the same bitcode and output as `schedule-fs-loop-nested-if.ll`.
- `regbankselect-add.s16.mir` duplicates the first four cases in `regbankselect-add.mir`.
- The dynamic-indirect-access LDS tests duplicate the static-dynamic versions, including their ASAN variants.
- The two removed NextUseAnalysis tests duplicate `sequence_2_loops.mir` and `triple-nested-loops.mir`.

Trimmed test cases:

- Remove generic OR cases from `atomicrmw-xor.ll`; `atomicrmw-or.ll` contains them.
- Remove the fcmp ord case from `fmax_legacy.ll`; `fmin_legacy.ll` contains it.
- Remove `variable_memcpy_caller1` from `lower-mem-intrinsics.ll`; `caller0` provides identical coverage.

Deduplicated test commands:

- Remove repeated RUN lines from `elf-header-flags-mach.ll`, `elf-notes.ll`, `hsa-note-no-func.ll`, and `function-resource-usage.ll`.
- Generate default and unified LTO bitcode once in `lto-lower-module-lds.ll` and reuse it for the O0 through O3 runs.
- Remove the obsolete cleanup-bot `rm` command from `rewrite-vgpr-mfma-to-agpr-spill-multi-store.ll`.


>From 9f5b38488c2dacd5a395b37bd8251e07cf7035f7 Mon Sep 17 00:00:00 2001
From: Shilei Tian <i at tianshilei.me>
Date: Fri, 21 Aug 2026 18:46:59 -0400
Subject: [PATCH] [NFC][AMDGPU] Remove redundant CodeGen test coverage

This PR removes duplicate test files, cases, and RUN commands while preserving all effective coverage.

Deleted files:

- `unexpected-reg-unit-state.mir` duplicates the bar case in `fast-ra-kills-vcc.mir`.
- `schedule-fs-loop.ll` produces the same bitcode and output as `schedule-fs-loop-nested-if.ll`.
- `regbankselect-add.s16.mir` duplicates the first four cases in `regbankselect-add.mir`.
- The dynamic-indirect-access LDS tests duplicate the static-dynamic versions, including their ASAN variants.
- The two removed NextUseAnalysis tests duplicate `sequence_2_loops.mir` and `triple-nested-loops.mir`.

Trimmed test cases:

- Remove generic OR cases from `atomicrmw-xor.ll`; `atomicrmw-or.ll` contains them.
- Remove the fcmp ord case from `fmax_legacy.ll`; `fmin_legacy.ll` contains it.
- Remove `variable_memcpy_caller1` from `lower-mem-intrinsics.ll`; `caller0` provides identical coverage.

Deduplicated test commands:

- Remove repeated RUN lines from `elf-header-flags-mach.ll`, `elf-notes.ll`, `hsa-note-no-func.ll`, and `function-resource-usage.ll`.
- Generate default and unified LTO bitcode once in `lto-lower-module-lds.ll` and reuse it for the O0 through O3 runs.
- Remove the obsolete cleanup-bot `rm` command from `rewrite-vgpr-mfma-to-agpr-spill-multi-store.ll`.
---
 .../AMDGPU/GlobalISel/atomicrmw-xor.ll        |   37 -
 .../CodeGen/AMDGPU/GlobalISel/fmax_legacy.ll  |   19 -
 .../GlobalISel/regbankselect-add.s16.mir      |  102 -
 ...st_ers_emit_restore_in_loop_preheader2.mir | 4877 -------------
 .../NextUseAnalysis/test_ers_nested_loops.mir | 6246 -----------------
 ...-lower-lds-dynamic-indirect-access-asan.ll |  262 -
 ...pu-sw-lower-lds-dynamic-indirect-access.ll |  142 -
 .../CodeGen/AMDGPU/elf-header-flags-mach.ll   |   18 -
 llvm/test/CodeGen/AMDGPU/elf-notes.ll         |    3 -
 .../CodeGen/AMDGPU/function-resource-usage.ll |    1 -
 llvm/test/CodeGen/AMDGPU/hsa-note-no-func.ll  |   10 -
 .../CodeGen/AMDGPU/lower-mem-intrinsics.ll    |   35 -
 .../CodeGen/AMDGPU/lto-lower-module-lds.ll    |   26 +-
 ...ite-vgpr-mfma-to-agpr-spill-multi-store.ll |    2 -
 llvm/test/CodeGen/AMDGPU/schedule-fs-loop.ll  |   84 -
 .../AMDGPU/unexpected-reg-unit-state.mir      |   34 -
 16 files changed, 10 insertions(+), 11888 deletions(-)
 delete mode 100644 llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-add.s16.mir
 delete mode 100644 llvm/test/CodeGen/AMDGPU/NextUseAnalysis/test_ers_emit_restore_in_loop_preheader2.mir
 delete mode 100644 llvm/test/CodeGen/AMDGPU/NextUseAnalysis/test_ers_nested_loops.mir
 delete mode 100644 llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-dynamic-indirect-access-asan.ll
 delete mode 100644 llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-dynamic-indirect-access.ll
 delete mode 100644 llvm/test/CodeGen/AMDGPU/schedule-fs-loop.ll
 delete mode 100644 llvm/test/CodeGen/AMDGPU/unexpected-reg-unit-state.mir

diff --git a/llvm/test/CodeGen/AMDGPU/GlobalISel/atomicrmw-xor.ll b/llvm/test/CodeGen/AMDGPU/GlobalISel/atomicrmw-xor.ll
index d0f0ea7cfbc60..d3bf4b8fd51a2 100644
--- a/llvm/test/CodeGen/AMDGPU/GlobalISel/atomicrmw-xor.ll
+++ b/llvm/test/CodeGen/AMDGPU/GlobalISel/atomicrmw-xor.ll
@@ -1,43 +1,6 @@
 ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
 ; RUN: llc -global-isel -mtriple=amdgpu12.00-amd-amdhsa < %s | FileCheck -check-prefixes=GFX12 %s
 
-; =============================================================================
-; atomicrmw or - generic address space (addrspace 0)
-; =============================================================================
-
-define i32 @atomicrmw_or_i32_generic(ptr addrspace(0) %ptr, i32 %val) {
-; GFX12-LABEL: atomicrmw_or_i32_generic:
-; GFX12:       ; %bb.0:
-; GFX12-NEXT:    s_wait_loadcnt_dscnt 0x0
-; GFX12-NEXT:    s_wait_expcnt 0x0
-; GFX12-NEXT:    s_wait_samplecnt 0x0
-; GFX12-NEXT:    s_wait_bvhcnt 0x0
-; GFX12-NEXT:    s_wait_kmcnt 0x0
-; GFX12-NEXT:    global_wb scope:SCOPE_SYS
-; GFX12-NEXT:    s_wait_storecnt 0x0
-; GFX12-NEXT:    flat_atomic_or_b32 v0, v[0:1], v2 th:TH_ATOMIC_RETURN scope:SCOPE_SYS
-; GFX12-NEXT:    s_wait_loadcnt_dscnt 0x0
-; GFX12-NEXT:    global_inv scope:SCOPE_SYS
-; GFX12-NEXT:    s_setpc_b64 s[30:31]
-  %result = atomicrmw or ptr addrspace(0) %ptr, i32 %val seq_cst, !amdgpu.no.remote.memory !0
-  ret i32 %result
-}
-
-define i64 @atomicrmw_or_i64_generic(ptr addrspace(0) %ptr, i64 %val) {
-; GFX12-LABEL: atomicrmw_or_i64_generic:
-; GFX12:       ; %bb.0:
-; GFX12-NEXT:    s_wait_loadcnt_dscnt 0x0
-; GFX12-NEXT:    s_wait_expcnt 0x0
-; GFX12-NEXT:    s_wait_samplecnt 0x0
-; GFX12-NEXT:    s_wait_bvhcnt 0x0
-; GFX12-NEXT:    s_wait_kmcnt 0x0
-; GFX12-NEXT:    flat_atomic_or_b64 v[0:1], v[0:1], v[2:3] th:TH_ATOMIC_RETURN scope:SCOPE_SE
-; GFX12-NEXT:    s_wait_loadcnt_dscnt 0x0
-; GFX12-NEXT:    s_setpc_b64 s[30:31]
-  %result = atomicrmw or ptr addrspace(0) %ptr, i64 %val syncscope("workgroup") monotonic, !noalias.addrspace !0
-  ret i64 %result
-}
-
 ; =============================================================================
 ; atomicrmw xor - local address space (addrspace 3)
 ; =============================================================================
diff --git a/llvm/test/CodeGen/AMDGPU/GlobalISel/fmax_legacy.ll b/llvm/test/CodeGen/AMDGPU/GlobalISel/fmax_legacy.ll
index 5a0ba1e92cccb..b81b55207a8e4 100644
--- a/llvm/test/CodeGen/AMDGPU/GlobalISel/fmax_legacy.ll
+++ b/llvm/test/CodeGen/AMDGPU/GlobalISel/fmax_legacy.ll
@@ -185,25 +185,6 @@ define float @v_test_fmax_legacy_oge_f32_fneg_rhs(float %a, float %b) {
   ret float %val
 }
 
-define float @v_test_fcmp_select_ord(float %a, float %b) {
-; GFX6-LABEL: v_test_fcmp_select_ord:
-; GFX6:       ; %bb.0:
-; GFX6-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
-; GFX6-NEXT:    v_cmp_o_f32_e32 vcc, v0, v1
-; GFX6-NEXT:    v_cndmask_b32_e32 v0, v1, v0, vcc
-; GFX6-NEXT:    s_setpc_b64 s[30:31]
-;
-; GFX8-LABEL: v_test_fcmp_select_ord:
-; GFX8:       ; %bb.0:
-; GFX8-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
-; GFX8-NEXT:    v_cmp_o_f32_e32 vcc, v0, v1
-; GFX8-NEXT:    v_cndmask_b32_e32 v0, v1, v0, vcc
-; GFX8-NEXT:    s_setpc_b64 s[30:31]
-  %cmp = fcmp ord float %a, %b
-  %val = select i1 %cmp, float %a, float %b
-  ret float %val
-}
-
 define float @v_test_fmax_legacy_ule_f32_multi_use(float %a, float %b) {
 ; GFX6-LABEL: v_test_fmax_legacy_ule_f32_multi_use:
 ; GFX6:       ; %bb.0:
diff --git a/llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-add.s16.mir b/llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-add.s16.mir
deleted file mode 100644
index c6f0124ac9bbc..0000000000000
--- a/llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-add.s16.mir
+++ /dev/null
@@ -1,102 +0,0 @@
-# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py
-# RUN: llc -mtriple=amdgpu8.03 -run-pass=amdgpu-reg-bank-select,amdgpu-reg-bank-legalize %s -verify-machineinstrs -o - | FileCheck %s
----
-name: add_s16_ss
-legalized: true
-
-body: |
-  bb.0:
-    liveins: $sgpr0, $sgpr1
-    ; CHECK-LABEL: name: add_s16_ss
-    ; CHECK: liveins: $sgpr0, $sgpr1
-    ; CHECK-NEXT: {{  $}}
-    ; CHECK-NEXT: [[COPY:%[0-9]+]]:sgpr(s32) = COPY $sgpr0
-    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:sgpr(s32) = COPY $sgpr1
-    ; CHECK-NEXT: [[TRUNC:%[0-9]+]]:sgpr(s16) = G_TRUNC [[COPY]](s32)
-    ; CHECK-NEXT: [[TRUNC1:%[0-9]+]]:sgpr(s16) = G_TRUNC [[COPY1]](s32)
-    ; CHECK-NEXT: [[ANYEXT:%[0-9]+]]:sgpr(i32) = G_ANYEXT [[TRUNC]](s16)
-    ; CHECK-NEXT: [[ANYEXT1:%[0-9]+]]:sgpr(i32) = G_ANYEXT [[TRUNC1]](s16)
-    ; CHECK-NEXT: [[ADD:%[0-9]+]]:sgpr(i32) = G_ADD [[ANYEXT]], [[ANYEXT1]]
-    ; CHECK-NEXT: [[TRUNC2:%[0-9]+]]:sgpr(s16) = G_TRUNC [[ADD]](i32)
-    ; CHECK-NEXT: [[AND:%[0-9]+]]:sgpr(s16) = G_AND [[TRUNC2]], [[TRUNC2]]
-    %0:_(s32) = COPY $sgpr0
-    %1:_(s32) = COPY $sgpr1
-    %2:_(s16) = G_TRUNC %0
-    %3:_(s16) = G_TRUNC %1
-    %4:_(s16) = G_ADD %2, %3
-    %5:_(s16) = G_AND %4, %4
-...
-
----
-name: add_s16_sv
-legalized: true
-
-body: |
-  bb.0:
-    liveins: $sgpr0, $vgpr0
-    ; CHECK-LABEL: name: add_s16_sv
-    ; CHECK: liveins: $sgpr0, $vgpr0
-    ; CHECK-NEXT: {{  $}}
-    ; CHECK-NEXT: [[COPY:%[0-9]+]]:sgpr(s32) = COPY $sgpr0
-    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:vgpr(s32) = COPY $vgpr0
-    ; CHECK-NEXT: [[TRUNC:%[0-9]+]]:sgpr(s16) = G_TRUNC [[COPY]](s32)
-    ; CHECK-NEXT: [[TRUNC1:%[0-9]+]]:vgpr(s16) = G_TRUNC [[COPY1]](s32)
-    ; CHECK-NEXT: [[COPY2:%[0-9]+]]:vgpr(s16) = COPY [[TRUNC]](s16)
-    ; CHECK-NEXT: [[ADD:%[0-9]+]]:vgpr(s16) = G_ADD [[COPY2]], [[TRUNC1]]
-    ; CHECK-NEXT: [[AND:%[0-9]+]]:vgpr(s16) = G_AND [[ADD]], [[ADD]]
-    %0:_(s32) = COPY $sgpr0
-    %1:_(s32) = COPY $vgpr0
-    %2:_(s16) = G_TRUNC %0
-    %3:_(s16) = G_TRUNC %1
-    %4:_(s16) = G_ADD %2, %3
-    %5:_(s16) = G_AND %4, %4
-...
-
----
-name: add_s16_vs
-legalized: true
-
-body: |
-  bb.0:
-    liveins: $sgpr0, $vgpr0
-    ; CHECK-LABEL: name: add_s16_vs
-    ; CHECK: liveins: $sgpr0, $vgpr0
-    ; CHECK-NEXT: {{  $}}
-    ; CHECK-NEXT: [[COPY:%[0-9]+]]:vgpr(s32) = COPY $vgpr0
-    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:sgpr(s32) = COPY $sgpr0
-    ; CHECK-NEXT: [[TRUNC:%[0-9]+]]:vgpr(s16) = G_TRUNC [[COPY]](s32)
-    ; CHECK-NEXT: [[TRUNC1:%[0-9]+]]:sgpr(s16) = G_TRUNC [[COPY1]](s32)
-    ; CHECK-NEXT: [[COPY2:%[0-9]+]]:vgpr(s16) = COPY [[TRUNC1]](s16)
-    ; CHECK-NEXT: [[ADD:%[0-9]+]]:vgpr(s16) = G_ADD [[TRUNC]], [[COPY2]]
-    ; CHECK-NEXT: [[AND:%[0-9]+]]:vgpr(s16) = G_AND [[ADD]], [[ADD]]
-    %0:_(s32) = COPY $vgpr0
-    %1:_(s32) = COPY $sgpr0
-    %2:_(s16) = G_TRUNC %0
-    %3:_(s16) = G_TRUNC %1
-    %4:_(s16) = G_ADD %2, %3
-    %5:_(s16) = G_AND %4, %4
-...
-
----
-name: add_s16_vv
-legalized: true
-
-body: |
-  bb.0:
-    liveins: $vgpr0, $vgpr1
-    ; CHECK-LABEL: name: add_s16_vv
-    ; CHECK: liveins: $vgpr0, $vgpr1
-    ; CHECK-NEXT: {{  $}}
-    ; CHECK-NEXT: [[COPY:%[0-9]+]]:vgpr(s32) = COPY $vgpr0
-    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:vgpr(s32) = COPY $vgpr1
-    ; CHECK-NEXT: [[TRUNC:%[0-9]+]]:vgpr(s16) = G_TRUNC [[COPY]](s32)
-    ; CHECK-NEXT: [[TRUNC1:%[0-9]+]]:vgpr(s16) = G_TRUNC [[COPY1]](s32)
-    ; CHECK-NEXT: [[ADD:%[0-9]+]]:vgpr(s16) = G_ADD [[TRUNC]], [[TRUNC1]]
-    ; CHECK-NEXT: [[AND:%[0-9]+]]:vgpr(s16) = G_AND [[ADD]], [[ADD]]
-    %0:_(s32) = COPY $vgpr0
-    %1:_(s32) = COPY $vgpr1
-    %2:_(s16) = G_TRUNC %0
-    %3:_(s16) = G_TRUNC %1
-    %4:_(s16) = G_ADD %2, %3
-    %5:_(s16) = G_AND %4, %4
-...
diff --git a/llvm/test/CodeGen/AMDGPU/NextUseAnalysis/test_ers_emit_restore_in_loop_preheader2.mir b/llvm/test/CodeGen/AMDGPU/NextUseAnalysis/test_ers_emit_restore_in_loop_preheader2.mir
deleted file mode 100644
index 1368f5b60da81..0000000000000
--- a/llvm/test/CodeGen/AMDGPU/NextUseAnalysis/test_ers_emit_restore_in_loop_preheader2.mir
+++ /dev/null
@@ -1,4877 +0,0 @@
-# RUN: llc -mtriple=amdgpu12.00 \
-# 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:     -filetype=null \
-# RUN:     %s | FileCheck --check-prefix=CHECK-GX-JSON %s
-
-# RUN: llc -mtriple=amdgpu12.00 \
-# 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:     -filetype=null \
-# RUN:     %s | FileCheck --check-prefix=CHECK-CP-JSON %s
-
-# RUN: llc -mtriple=amdgpu12.00 \
-# 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:     -filetype=null \
-# RUN:     %s | FileCheck --check-prefix=CHECK-CP-JSON %s
-
---- |
-  define amdgpu_ps i32 @test(ptr addrspace(1) %gep1, ptr addrspace(1) %gep2, ptr addrspace(1) %p1, ptr addrspace(1) %p3) {
-  ret i32 0
-  }
-...
----
-name:            test
-tracksRegLiveness: true
-body:             |
-  bb.0:
-    successors: %bb.1(0x80000000)
-    liveins: $vgpr0, $vgpr1, $vgpr2, $vgpr3, $vgpr4, $vgpr5, $vgpr6, $vgpr7
-  
-    %0:vgpr_32 = COPY $vgpr7
-    %1:vgpr_32 = COPY $vgpr6
-    %2:vgpr_32 = COPY $vgpr5
-    %3:vgpr_32 = COPY $vgpr4
-    %4:vgpr_32 = COPY $vgpr3
-    %5:vgpr_32 = COPY $vgpr2
-    %6:vgpr_32 = COPY $vgpr1
-    %7:vgpr_32 = COPY $vgpr0
-    %8:vreg_64 = REG_SEQUENCE %3, %subreg.sub0, %2, %subreg.sub1
-    %9:vreg_64 = REG_SEQUENCE %5, %subreg.sub0, %4, %subreg.sub1
-    %10:vreg_64 = REG_SEQUENCE %7, %subreg.sub0, %6, %subreg.sub1
-    %11:vgpr_32 = GLOBAL_LOAD_UBYTE %10, 0, 0, implicit $exec :: (load (s8) from %ir.p1, addrspace 1)
-    %12:vgpr_32 = GLOBAL_LOAD_UBYTE %10, 1, 0, implicit $exec :: (load (s8) from %ir.p1 + 1, addrspace 1)
-    %13:vgpr_32 = V_LSHL_OR_B32_e64 %12, 8, %11, implicit $exec
-    %14:vgpr_32 = GLOBAL_LOAD_UBYTE %10, 2, 0, implicit $exec :: (load (s8) from %ir.p1 + 2, addrspace 1)
-    %15:vgpr_32 = GLOBAL_LOAD_UBYTE %10, 3, 0, implicit $exec :: (load (s8) from %ir.p1 + 3, addrspace 1)
-    %16:vgpr_32 = V_LSHL_OR_B32_e64 %15, 8, %14, implicit $exec
-    %17:vgpr_32 = V_LSHL_OR_B32_e64 %16, 16, %13, implicit $exec
-    %18:vgpr_32 = V_MOV_B32_e32 100, implicit $exec
-    %19:sreg_32 = S_MOV_B32 1
-    %20:sreg_32 = S_MOV_B32 0
-  
-  bb.1:
-    successors: %bb.2(0x04000000), %bb.1(0x7c000000)
-  
-    %21:sreg_32 = PHI %20, %bb.0, %22, %bb.1
-    %23:sreg_32 = PHI %20, %bb.0, %24, %bb.1
-    %25:sreg_32 = PHI %19, %bb.0, %26, %bb.1
-    %27:vgpr_32 = PHI %17, %bb.0, %28, %bb.1
-    %29:vgpr_32 = PHI %18, %bb.0, %30, %bb.1
-    %31:vgpr_32 = PHI %17, %bb.0, %32, %bb.1
-    %33:sreg_32 = S_ADD_I32 %25, -1, implicit-def dead $scc
-    %34:sreg_32_xm0 = S_ASHR_I32 %33, 31, implicit-def dead $scc
-    %35:sreg_64 = REG_SEQUENCE %33, %subreg.sub0, %34, %subreg.sub1
-    %36:sreg_64 = nsw S_LSHL_B64 %35, 2, implicit-def dead $scc
-    %37:vgpr_32, %38:sreg_32_xm0_xexec = V_ADD_CO_U32_e64 %9.sub0, %36.sub0, 0, implicit $exec
-    %39:vgpr_32, dead $sgpr_null = V_ADDC_U32_e64 %36.sub1, %9.sub1, %38, 0, implicit $exec
-    %40:vreg_64 = REG_SEQUENCE %37, %subreg.sub0, %39, %subreg.sub1
-    %41:vgpr_32 = GLOBAL_LOAD_DWORD %40, 0, 0, implicit $exec :: (load (s32) from %ir.gep1, addrspace 1)
-    %28:vgpr_32 = V_ADD_U32_e64 %25, %41, 0, implicit $exec
-    %30:vgpr_32 = V_MUL_LO_U32_e64 %41, %25, implicit $exec
-    GLOBAL_STORE_SHORT_D16_HI %10, %30, 2, 0, implicit $exec :: (store (s16) into %ir.p1 + 2, addrspace 1)
-    GLOBAL_STORE_SHORT %10, %30, 0, 0, implicit $exec :: (store (s16) into %ir.p1, addrspace 1)
-    %42:vgpr_32, %43:sreg_32_xm0_xexec = V_ADD_CO_U32_e64 %8.sub0, %36.sub0, 0, implicit $exec
-    %44:vgpr_32, dead $sgpr_null = V_ADDC_U32_e64 %36.sub1, %8.sub1, %43, 0, implicit $exec
-    %45:vreg_64 = REG_SEQUENCE %42, %subreg.sub0, %44, %subreg.sub1
-    %46:vgpr_32 = GLOBAL_LOAD_USHORT %45, 0, 0, implicit $exec :: (load (s16) from %ir.gep2, addrspace 1)
-    %47:vgpr_32 = GLOBAL_LOAD_USHORT %45, 2, 0, implicit $exec :: (load (s16) from %ir.gep2 + 2, addrspace 1)
-    %48:vgpr_32 = V_LSHL_OR_B32_e64 %47, 16, %46, implicit $exec
-    %26:sreg_32 = S_ADD_I32 %25, 1, implicit-def dead $scc
-    %24:sreg_32 = S_ADD_I32 %23, -1, implicit-def dead $scc
-    %32:vgpr_32 = V_ADD_U32_e64 %23, %48, 0, implicit $exec
-    %49:sreg_32 = V_CMP_GE_U32_e64 %25, %1, implicit $exec
-    %22:sreg_32 = SI_IF_BREAK %49, %21, implicit-def dead $scc
-    %50:vgpr_32 = COPY %26, implicit $exec
-    SI_LOOP %22, %bb.1, implicit-def dead $exec, implicit-def dead $scc, implicit $exec
-    S_BRANCH %bb.2
-  
-  bb.2:
-    successors: %bb.3(0x80000000)
-  
-    SI_END_CF %22, implicit-def dead $exec, implicit-def dead $scc, implicit $exec
-    %51:vgpr_32 = V_ADD_U32_e64 -2, %50, 0, implicit $exec
-    %52:vgpr_32 = V_MUL_LO_U32_e64 %30, %51, implicit $exec
-    %53:vgpr_32 = V_MUL_LO_U32_e64 100, %27, implicit $exec
-    GLOBAL_STORE_DWORD %8, %53, 0, 0, implicit $exec :: (store (s32) into %ir.p3, addrspace 1)
-    %54:sreg_32 = S_MOV_B32 0
-  
-  bb.3:
-    successors: %bb.4(0x04000000), %bb.3(0x7c000000)
-  
-    %55:sreg_32 = PHI %54, %bb.2, %56, %bb.3
-    %57:sreg_32 = PHI %54, %bb.2, %58, %bb.3
-    %59:vgpr_32 = PHI %31, %bb.2, %52, %bb.3
-    %58:sreg_32 = S_ADD_I32 %57, 2, implicit-def dead $scc
-    %60:sreg_32 = V_CMP_GE_U32_e64 %58, %0, implicit $exec
-    %56:sreg_32 = SI_IF_BREAK %60, %55, implicit-def dead $scc
-    %61:vgpr_32 = COPY %58, implicit $exec
-    SI_LOOP %56, %bb.3, implicit-def dead $exec, implicit-def dead $scc, implicit $exec
-    S_BRANCH %bb.4
-  
-  bb.4:
-    SI_END_CF %56, implicit-def dead $exec, implicit-def dead $scc, implicit $exec
-    GLOBAL_STORE_DWORD %8, %59, 0, 0, implicit $exec :: (store (s32) into %ir.p3, addrspace 1)
-    %62:vgpr_32 = V_ADD3_U32_e64 %59, %61, %29, implicit $exec
-    %63:vgpr_32 = V_ADD3_U32_e64 %62, %53, %41, implicit $exec
-    %64:vgpr_32 = V_ADD3_U32_e64 %17, %63, 100, implicit $exec
-    %65:sreg_32_xm0 = V_READFIRSTLANE_B32 %64, implicit $exec
-    $sgpr0 = COPY %65
-    SI_RETURN_TO_EPILOG killed $sgpr0
-...
-
-
-# CHECK-CP-JSON:      {
-# CHECK-CP-JSON-NEXT:  "next-use-analysis": {
-# CHECK-CP-JSON-NEXT:    "furthest-distances": {
-# CHECK-CP-JSON-NEXT:      "bb.0": [
-# CHECK-CP-JSON-NEXT:        {
-# CHECK-CP-JSON-NEXT:          "instr": "%0:vgpr_32 = COPY $vgpr7",
-# CHECK-CP-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "distances": {},
-# CHECK-CP-JSON-NEXT:          "furthest": {},
-# CHECK-CP-JSON-NEXT:          "furthest-subreg": {}
-# CHECK-CP-JSON-NEXT:        },
-# CHECK-CP-JSON-NEXT:        {
-# CHECK-CP-JSON-NEXT:          "instr": "%1:vgpr_32 = COPY $vgpr6",
-# CHECK-CP-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "distances": {
-# CHECK-CP-JSON-DAG:             "%0": 51
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest": {
-# CHECK-CP-JSON-DAG:             "register": "%0",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 51
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest-subreg": {
-# CHECK-CP-JSON-DAG:             "register": "%0",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 51
-# CHECK-CP-JSON:               }
-# CHECK-CP-JSON-NEXT:        },
-# CHECK-CP-JSON-NEXT:        {
-# CHECK-CP-JSON-NEXT:          "instr": "%2:vgpr_32 = COPY $vgpr5",
-# CHECK-CP-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "distances": {
-# CHECK-CP-JSON-DAG:             "%0": 50
-# CHECK-CP-JSON-DAG:             "%1": 18
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest": {
-# CHECK-CP-JSON-DAG:             "register": "%0",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 50
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest-subreg": {
-# CHECK-CP-JSON-DAG:             "register": "%0",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 50
-# CHECK-CP-JSON:               }
-# CHECK-CP-JSON-NEXT:        },
-# CHECK-CP-JSON-NEXT:        {
-# CHECK-CP-JSON-NEXT:          "instr": "%3:vgpr_32 = COPY $vgpr4",
-# CHECK-CP-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "distances": {
-# CHECK-CP-JSON-DAG:             "%0": 49
-# CHECK-CP-JSON-DAG:             "%1": 17
-# CHECK-CP-JSON-DAG:             "%2": 5
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest": {
-# CHECK-CP-JSON-DAG:             "register": "%0",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 49
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest-subreg": {
-# CHECK-CP-JSON-DAG:             "register": "%0",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 49
-# CHECK-CP-JSON:               }
-# CHECK-CP-JSON-NEXT:        },
-# CHECK-CP-JSON-NEXT:        {
-# CHECK-CP-JSON-NEXT:          "instr": "%4:vgpr_32 = COPY $vgpr3",
-# CHECK-CP-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "distances": {
-# CHECK-CP-JSON-DAG:             "%0": 48
-# CHECK-CP-JSON-DAG:             "%1": 16
-# CHECK-CP-JSON-DAG:             "%2": 4
-# CHECK-CP-JSON-DAG:             "%3": 4
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest": {
-# CHECK-CP-JSON-DAG:             "register": "%0",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 48
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest-subreg": {
-# CHECK-CP-JSON-DAG:             "register": "%0",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 48
-# CHECK-CP-JSON:               }
-# CHECK-CP-JSON-NEXT:        },
-# CHECK-CP-JSON-NEXT:        {
-# CHECK-CP-JSON-NEXT:          "instr": "%5:vgpr_32 = COPY $vgpr2",
-# CHECK-CP-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "distances": {
-# CHECK-CP-JSON-DAG:             "%0": 47
-# CHECK-CP-JSON-DAG:             "%1": 15
-# CHECK-CP-JSON-DAG:             "%2": 3
-# CHECK-CP-JSON-DAG:             "%3": 3
-# CHECK-CP-JSON-DAG:             "%4": 4
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest": {
-# CHECK-CP-JSON-DAG:             "register": "%0",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 47
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest-subreg": {
-# CHECK-CP-JSON-DAG:             "register": "%0",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 47
-# CHECK-CP-JSON:               }
-# CHECK-CP-JSON-NEXT:        },
-# CHECK-CP-JSON-NEXT:        {
-# CHECK-CP-JSON-NEXT:          "instr": "%6:vgpr_32 = COPY $vgpr1",
-# CHECK-CP-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "distances": {
-# CHECK-CP-JSON-DAG:             "%0": 46
-# CHECK-CP-JSON-DAG:             "%1": 14
-# CHECK-CP-JSON-DAG:             "%2": 2
-# CHECK-CP-JSON-DAG:             "%3": 2
-# CHECK-CP-JSON-DAG:             "%4": 3
-# CHECK-CP-JSON-DAG:             "%5": 3
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest": {
-# CHECK-CP-JSON-DAG:             "register": "%0",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 46
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest-subreg": {
-# CHECK-CP-JSON-DAG:             "register": "%0",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 46
-# CHECK-CP-JSON:               }
-# CHECK-CP-JSON-NEXT:        },
-# CHECK-CP-JSON-NEXT:        {
-# CHECK-CP-JSON-NEXT:          "instr": "%7:vgpr_32 = COPY $vgpr0",
-# CHECK-CP-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "distances": {
-# CHECK-CP-JSON-DAG:             "%0": 45
-# CHECK-CP-JSON-DAG:             "%1": 13
-# CHECK-CP-JSON-DAG:             "%2": 1
-# CHECK-CP-JSON-DAG:             "%3": 1
-# CHECK-CP-JSON-DAG:             "%4": 2
-# CHECK-CP-JSON-DAG:             "%5": 2
-# CHECK-CP-JSON-DAG:             "%6": 3
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest": {
-# CHECK-CP-JSON-DAG:             "register": "%0",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 45
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest-subreg": {
-# CHECK-CP-JSON-DAG:             "register": "%0",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 45
-# CHECK-CP-JSON:               }
-# CHECK-CP-JSON-NEXT:        },
-# CHECK-CP-JSON-NEXT:        {
-# CHECK-CP-JSON-NEXT:          "instr": "%8:vreg_64 = REG_SEQUENCE %3, %subreg.sub0, %2, %subreg.sub1",
-# CHECK-CP-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "distances": {
-# CHECK-CP-JSON-DAG:             "%0": 44
-# CHECK-CP-JSON-DAG:             "%1": 12
-# CHECK-CP-JSON-DAG:             "%2": 0
-# CHECK-CP-JSON-DAG:             "%3": 0
-# CHECK-CP-JSON-DAG:             "%4": 1
-# CHECK-CP-JSON-DAG:             "%5": 1
-# CHECK-CP-JSON-DAG:             "%6": 2
-# CHECK-CP-JSON-DAG:             "%7": 2
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest": {
-# CHECK-CP-JSON-DAG:             "register": "%0",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 44
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest-subreg": {
-# CHECK-CP-JSON-DAG:             "register": "%0",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 44
-# CHECK-CP-JSON:               }
-# CHECK-CP-JSON-NEXT:        },
-# CHECK-CP-JSON-NEXT:        {
-# CHECK-CP-JSON-NEXT:          "instr": "%9:vreg_64 = REG_SEQUENCE %5, %subreg.sub0, %4, %subreg.sub1",
-# CHECK-CP-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "distances": {
-# CHECK-CP-JSON-DAG:             "%0": 43
-# CHECK-CP-JSON-DAG:             "%1": 11
-# CHECK-CP-JSON-DAG:             "%4": 0
-# CHECK-CP-JSON-DAG:             "%5": 0
-# CHECK-CP-JSON-DAG:             "%6": 1
-# CHECK-CP-JSON-DAG:             "%7": 1
-# CHECK-CP-JSON-DAG:             "%8:sub0": 11
-# CHECK-CP-JSON-DAG:             "%8:sub1": 11
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest": {
-# CHECK-CP-JSON-DAG:             "register": "%0",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 43
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest-subreg": {
-# CHECK-CP-JSON-DAG:             "register": "%0",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 43
-# CHECK-CP-JSON:               }
-# CHECK-CP-JSON-NEXT:        },
-# CHECK-CP-JSON-NEXT:        {
-# CHECK-CP-JSON-NEXT:          "instr": "%10:vreg_64 = REG_SEQUENCE %7, %subreg.sub0, %6, %subreg.sub1",
-# CHECK-CP-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "distances": {
-# CHECK-CP-JSON-DAG:             "%0": 42
-# CHECK-CP-JSON-DAG:             "%1": 10
-# CHECK-CP-JSON-DAG:             "%6": 0
-# CHECK-CP-JSON-DAG:             "%7": 0
-# CHECK-CP-JSON-DAG:             "%8:sub0": 10
-# CHECK-CP-JSON-DAG:             "%8:sub1": 10
-# CHECK-CP-JSON-DAG:             "%9:sub0": 10
-# CHECK-CP-JSON-DAG:             "%9:sub1": 10
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest": {
-# CHECK-CP-JSON-DAG:             "register": "%0",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 42
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest-subreg": {
-# CHECK-CP-JSON-DAG:             "register": "%0",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 42
-# CHECK-CP-JSON:               }
-# CHECK-CP-JSON-NEXT:        },
-# CHECK-CP-JSON-NEXT:        {
-# CHECK-CP-JSON-NEXT:          "instr": "%11:vgpr_32 = GLOBAL_LOAD_UBYTE %10, 0, 0, implicit $exec :: (load (s8) from %ir.p1, addrspace 1)",
-# CHECK-CP-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "distances": {
-# CHECK-CP-JSON-DAG:             "%0": 41
-# CHECK-CP-JSON-DAG:             "%1": 9
-# CHECK-CP-JSON-DAG:             "%8:sub0": 9
-# CHECK-CP-JSON-DAG:             "%8:sub1": 9
-# CHECK-CP-JSON-DAG:             "%9:sub0": 9
-# CHECK-CP-JSON-DAG:             "%9:sub1": 9
-# CHECK-CP-JSON-DAG:             "%10": 0
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest": {
-# CHECK-CP-JSON-DAG:             "register": "%0",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 41
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest-subreg": {
-# CHECK-CP-JSON-DAG:             "register": "%0",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 41
-# CHECK-CP-JSON:               }
-# CHECK-CP-JSON-NEXT:        },
-# CHECK-CP-JSON-NEXT:        {
-# CHECK-CP-JSON-NEXT:          "instr": "%12:vgpr_32 = GLOBAL_LOAD_UBYTE %10, 1, 0, implicit $exec :: (load (s8) from %ir.p1 + 1, addrspace 1)",
-# CHECK-CP-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "distances": {
-# CHECK-CP-JSON-DAG:             "%0": 40
-# CHECK-CP-JSON-DAG:             "%1": 8
-# CHECK-CP-JSON-DAG:             "%8:sub0": 8
-# CHECK-CP-JSON-DAG:             "%8:sub1": 8
-# CHECK-CP-JSON-DAG:             "%9:sub0": 8
-# CHECK-CP-JSON-DAG:             "%9:sub1": 8
-# CHECK-CP-JSON-DAG:             "%10": 0
-# CHECK-CP-JSON-DAG:             "%11": 1
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest": {
-# CHECK-CP-JSON-DAG:             "register": "%0",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 40
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest-subreg": {
-# CHECK-CP-JSON-DAG:             "register": "%0",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 40
-# CHECK-CP-JSON:               }
-# CHECK-CP-JSON-NEXT:        },
-# CHECK-CP-JSON-NEXT:        {
-# CHECK-CP-JSON-NEXT:          "instr": "%13:vgpr_32 = V_LSHL_OR_B32_e64 %12, 8, %11, implicit $exec",
-# CHECK-CP-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "distances": {
-# CHECK-CP-JSON-DAG:             "%0": 39
-# CHECK-CP-JSON-DAG:             "%1": 7
-# CHECK-CP-JSON-DAG:             "%8:sub0": 7
-# CHECK-CP-JSON-DAG:             "%8:sub1": 7
-# CHECK-CP-JSON-DAG:             "%9:sub0": 7
-# CHECK-CP-JSON-DAG:             "%9:sub1": 7
-# CHECK-CP-JSON-DAG:             "%10": 1
-# CHECK-CP-JSON-DAG:             "%11": 0
-# CHECK-CP-JSON-DAG:             "%12": 0
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest": {
-# CHECK-CP-JSON-DAG:             "register": "%0",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 39
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest-subreg": {
-# CHECK-CP-JSON-DAG:             "register": "%0",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 39
-# CHECK-CP-JSON:               }
-# CHECK-CP-JSON-NEXT:        },
-# CHECK-CP-JSON-NEXT:        {
-# CHECK-CP-JSON-NEXT:          "instr": "%14:vgpr_32 = GLOBAL_LOAD_UBYTE %10, 2, 0, implicit $exec :: (load (s8) from %ir.p1 + 2, addrspace 1)",
-# CHECK-CP-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "distances": {
-# CHECK-CP-JSON-DAG:             "%0": 38
-# CHECK-CP-JSON-DAG:             "%1": 6
-# CHECK-CP-JSON-DAG:             "%8:sub0": 6
-# CHECK-CP-JSON-DAG:             "%8:sub1": 6
-# CHECK-CP-JSON-DAG:             "%9:sub0": 6
-# CHECK-CP-JSON-DAG:             "%9:sub1": 6
-# CHECK-CP-JSON-DAG:             "%10": 0
-# CHECK-CP-JSON-DAG:             "%13": 3
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest": {
-# CHECK-CP-JSON-DAG:             "register": "%0",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 38
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest-subreg": {
-# CHECK-CP-JSON-DAG:             "register": "%0",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 38
-# CHECK-CP-JSON:               }
-# CHECK-CP-JSON-NEXT:        },
-# CHECK-CP-JSON-NEXT:        {
-# CHECK-CP-JSON-NEXT:          "instr": "%15:vgpr_32 = GLOBAL_LOAD_UBYTE %10, 3, 0, implicit $exec :: (load (s8) from %ir.p1 + 3, addrspace 1)",
-# CHECK-CP-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "distances": {
-# CHECK-CP-JSON-DAG:             "%0": 37
-# CHECK-CP-JSON-DAG:             "%1": 5
-# CHECK-CP-JSON-DAG:             "%8:sub0": 5
-# CHECK-CP-JSON-DAG:             "%8:sub1": 5
-# CHECK-CP-JSON-DAG:             "%9:sub0": 5
-# CHECK-CP-JSON-DAG:             "%9:sub1": 5
-# CHECK-CP-JSON-DAG:             "%10": 0
-# CHECK-CP-JSON-DAG:             "%13": 2
-# CHECK-CP-JSON-DAG:             "%14": 1
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest": {
-# CHECK-CP-JSON-DAG:             "register": "%0",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 37
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest-subreg": {
-# CHECK-CP-JSON-DAG:             "register": "%0",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 37
-# CHECK-CP-JSON:               }
-# CHECK-CP-JSON-NEXT:        },
-# CHECK-CP-JSON-NEXT:        {
-# CHECK-CP-JSON-NEXT:          "instr": "%16:vgpr_32 = V_LSHL_OR_B32_e64 %15, 8, %14, implicit $exec",
-# CHECK-CP-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "distances": {
-# CHECK-CP-JSON-DAG:             "%0": 36
-# CHECK-CP-JSON-DAG:             "%1": 4
-# CHECK-CP-JSON-DAG:             "%8:sub0": 4
-# CHECK-CP-JSON-DAG:             "%8:sub1": 4
-# CHECK-CP-JSON-DAG:             "%9:sub0": 4
-# CHECK-CP-JSON-DAG:             "%9:sub1": 4
-# CHECK-CP-JSON-DAG:             "%10": 4
-# CHECK-CP-JSON-DAG:             "%13": 1
-# CHECK-CP-JSON-DAG:             "%14": 0
-# CHECK-CP-JSON-DAG:             "%15": 0
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest": {
-# CHECK-CP-JSON-DAG:             "register": "%0",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 36
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest-subreg": {
-# CHECK-CP-JSON-DAG:             "register": "%0",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 36
-# CHECK-CP-JSON:               }
-# CHECK-CP-JSON-NEXT:        },
-# CHECK-CP-JSON-NEXT:        {
-# CHECK-CP-JSON-NEXT:          "instr": "%17:vgpr_32 = V_LSHL_OR_B32_e64 %16, 16, %13, implicit $exec",
-# CHECK-CP-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "distances": {
-# CHECK-CP-JSON-DAG:             "%0": 35
-# CHECK-CP-JSON-DAG:             "%1": 3
-# CHECK-CP-JSON-DAG:             "%8:sub0": 3
-# CHECK-CP-JSON-DAG:             "%8:sub1": 3
-# CHECK-CP-JSON-DAG:             "%9:sub0": 3
-# CHECK-CP-JSON-DAG:             "%9:sub1": 3
-# CHECK-CP-JSON-DAG:             "%10": 3
-# CHECK-CP-JSON-DAG:             "%13": 0
-# CHECK-CP-JSON-DAG:             "%16": 0
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest": {
-# CHECK-CP-JSON-DAG:             "register": "%0",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 35
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest-subreg": {
-# CHECK-CP-JSON-DAG:             "register": "%0",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 35
-# CHECK-CP-JSON:               }
-# CHECK-CP-JSON-NEXT:        },
-# CHECK-CP-JSON-NEXT:        {
-# CHECK-CP-JSON-NEXT:          "instr": "%18:vgpr_32 = V_MOV_B32_e32 100, implicit $exec",
-# CHECK-CP-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "distances": {
-# CHECK-CP-JSON-DAG:             "%0": 34
-# CHECK-CP-JSON-DAG:             "%1": 2
-# CHECK-CP-JSON-DAG:             "%8:sub0": 2
-# CHECK-CP-JSON-DAG:             "%8:sub1": 2
-# CHECK-CP-JSON-DAG:             "%9:sub0": 2
-# CHECK-CP-JSON-DAG:             "%9:sub1": 2
-# CHECK-CP-JSON-DAG:             "%10": 2
-# CHECK-CP-JSON-DAG:             "%17": 2
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest": {
-# CHECK-CP-JSON-DAG:             "register": "%0",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 34
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest-subreg": {
-# CHECK-CP-JSON-DAG:             "register": "%0",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 34
-# CHECK-CP-JSON:               }
-# CHECK-CP-JSON-NEXT:        },
-# CHECK-CP-JSON-NEXT:        {
-# CHECK-CP-JSON-NEXT:          "instr": "%19:sreg_32 = S_MOV_B32 1",
-# CHECK-CP-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "distances": {
-# CHECK-CP-JSON-DAG:             "%0": 33
-# CHECK-CP-JSON-DAG:             "%1": 1
-# CHECK-CP-JSON-DAG:             "%8:sub0": 1
-# CHECK-CP-JSON-DAG:             "%8:sub1": 1
-# CHECK-CP-JSON-DAG:             "%9:sub0": 1
-# CHECK-CP-JSON-DAG:             "%9:sub1": 1
-# CHECK-CP-JSON-DAG:             "%10": 1
-# CHECK-CP-JSON-DAG:             "%17": 1
-# CHECK-CP-JSON-DAG:             "%18": 1
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest": {
-# CHECK-CP-JSON-DAG:             "register": "%0",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 33
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest-subreg": {
-# CHECK-CP-JSON-DAG:             "register": "%0",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 33
-# CHECK-CP-JSON:               }
-# CHECK-CP-JSON-NEXT:        },
-# CHECK-CP-JSON-NEXT:        {
-# CHECK-CP-JSON-NEXT:          "instr": "%20:sreg_32 = S_MOV_B32 0",
-# CHECK-CP-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "distances": {
-# CHECK-CP-JSON-DAG:             "%0": 32
-# CHECK-CP-JSON-DAG:             "%1": 0
-# CHECK-CP-JSON-DAG:             "%8:sub0": 0
-# CHECK-CP-JSON-DAG:             "%8:sub1": 0
-# CHECK-CP-JSON-DAG:             "%9:sub0": 0
-# CHECK-CP-JSON-DAG:             "%9:sub1": 0
-# CHECK-CP-JSON-DAG:             "%10": 0
-# CHECK-CP-JSON-DAG:             "%17": 0
-# CHECK-CP-JSON-DAG:             "%18": 0
-# CHECK-CP-JSON-DAG:             "%19": 0
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest": {
-# CHECK-CP-JSON-DAG:             "register": "%0",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 32
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest-subreg": {
-# CHECK-CP-JSON-DAG:             "register": "%0",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 32
-# CHECK-CP-JSON:               }
-# CHECK-CP-JSON-NEXT:        }
-# CHECK-CP-JSON-NEXT:      ],
-# CHECK-CP-JSON-NEXT:      "bb.1": [
-# CHECK-CP-JSON-NEXT:        {
-# CHECK-CP-JSON-NEXT:          "instr": "%21:sreg_32 = PHI %20, %bb.0, %22, %bb.1",
-# CHECK-CP-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "distances": {
-# CHECK-CP-JSON-DAG:             "%0": 3334
-# CHECK-CP-JSON-DAG:             "%1": 21
-# CHECK-CP-JSON-DAG:             "%8:sub0": 12
-# CHECK-CP-JSON-DAG:             "%8:sub1": 13
-# CHECK-CP-JSON-DAG:             "%9:sub0": 4
-# CHECK-CP-JSON-DAG:             "%9:sub1": 5
-# CHECK-CP-JSON-DAG:             "%10": 10
-# CHECK-CP-JSON-DAG:             "%17": 4107
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest": {
-# CHECK-CP-JSON-DAG:             "register": "%17",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 4107
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest-subreg": {
-# CHECK-CP-JSON-DAG:             "register": "%17",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 4107
-# CHECK-CP-JSON:               }
-# CHECK-CP-JSON-NEXT:        },
-# CHECK-CP-JSON-NEXT:        {
-# CHECK-CP-JSON-NEXT:          "instr": "%23:sreg_32 = PHI %20, %bb.0, %24, %bb.1",
-# CHECK-CP-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "distances": {
-# CHECK-CP-JSON-DAG:             "%0": 3334
-# CHECK-CP-JSON-DAG:             "%1": 21
-# CHECK-CP-JSON-DAG:             "%8:sub0": 12
-# CHECK-CP-JSON-DAG:             "%8:sub1": 13
-# CHECK-CP-JSON-DAG:             "%9:sub0": 4
-# CHECK-CP-JSON-DAG:             "%9:sub1": 5
-# CHECK-CP-JSON-DAG:             "%10": 10
-# CHECK-CP-JSON-DAG:             "%17": 4107
-# CHECK-CP-JSON-DAG:             "%21": 22
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest": {
-# CHECK-CP-JSON-DAG:             "register": "%17",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 4107
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest-subreg": {
-# CHECK-CP-JSON-DAG:             "register": "%17",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 4107
-# CHECK-CP-JSON:               }
-# CHECK-CP-JSON-NEXT:        },
-# CHECK-CP-JSON-NEXT:        {
-# CHECK-CP-JSON-NEXT:          "instr": "%25:sreg_32 = PHI %19, %bb.0, %26, %bb.1",
-# CHECK-CP-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "distances": {
-# CHECK-CP-JSON-DAG:             "%0": 3334
-# CHECK-CP-JSON-DAG:             "%1": 21
-# CHECK-CP-JSON-DAG:             "%8:sub0": 12
-# CHECK-CP-JSON-DAG:             "%8:sub1": 13
-# CHECK-CP-JSON-DAG:             "%9:sub0": 4
-# CHECK-CP-JSON-DAG:             "%9:sub1": 5
-# CHECK-CP-JSON-DAG:             "%10": 10
-# CHECK-CP-JSON-DAG:             "%17": 4107
-# CHECK-CP-JSON-DAG:             "%21": 22
-# CHECK-CP-JSON-DAG:             "%23": 19
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest": {
-# CHECK-CP-JSON-DAG:             "register": "%17",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 4107
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest-subreg": {
-# CHECK-CP-JSON-DAG:             "register": "%17",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 4107
-# CHECK-CP-JSON:               }
-# CHECK-CP-JSON-NEXT:        },
-# CHECK-CP-JSON-NEXT:        {
-# CHECK-CP-JSON-NEXT:          "instr": "%27:vgpr_32 = PHI %17, %bb.0, %28, %bb.1",
-# CHECK-CP-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "distances": {
-# CHECK-CP-JSON-DAG:             "%0": 3334
-# CHECK-CP-JSON-DAG:             "%1": 21
-# CHECK-CP-JSON-DAG:             "%8:sub0": 12
-# CHECK-CP-JSON-DAG:             "%8:sub1": 13
-# CHECK-CP-JSON-DAG:             "%9:sub0": 4
-# CHECK-CP-JSON-DAG:             "%9:sub1": 5
-# CHECK-CP-JSON-DAG:             "%10": 10
-# CHECK-CP-JSON-DAG:             "%17": 4107
-# CHECK-CP-JSON-DAG:             "%21": 22
-# CHECK-CP-JSON-DAG:             "%23": 19
-# CHECK-CP-JSON-DAG:             "%25": 0
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest": {
-# CHECK-CP-JSON-DAG:             "register": "%17",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 4107
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest-subreg": {
-# CHECK-CP-JSON-DAG:             "register": "%17",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 4107
-# CHECK-CP-JSON:               }
-# CHECK-CP-JSON-NEXT:        },
-# CHECK-CP-JSON-NEXT:        {
-# CHECK-CP-JSON-NEXT:          "instr": "%29:vgpr_32 = PHI %18, %bb.0, %30, %bb.1",
-# CHECK-CP-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "distances": {
-# CHECK-CP-JSON-DAG:             "%0": 3334
-# CHECK-CP-JSON-DAG:             "%1": 21
-# CHECK-CP-JSON-DAG:             "%8:sub0": 12
-# CHECK-CP-JSON-DAG:             "%8:sub1": 13
-# CHECK-CP-JSON-DAG:             "%9:sub0": 4
-# CHECK-CP-JSON-DAG:             "%9:sub1": 5
-# CHECK-CP-JSON-DAG:             "%10": 10
-# CHECK-CP-JSON-DAG:             "%17": 4107
-# CHECK-CP-JSON-DAG:             "%21": 22
-# CHECK-CP-JSON-DAG:             "%23": 19
-# CHECK-CP-JSON-DAG:             "%25": 0
-# CHECK-CP-JSON-DAG:             "%27": 3332
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest": {
-# CHECK-CP-JSON-DAG:             "register": "%17",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 4107
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest-subreg": {
-# CHECK-CP-JSON-DAG:             "register": "%17",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 4107
-# CHECK-CP-JSON:               }
-# CHECK-CP-JSON-NEXT:        },
-# CHECK-CP-JSON-NEXT:        {
-# CHECK-CP-JSON-NEXT:          "instr": "%31:vgpr_32 = PHI %17, %bb.0, %32, %bb.1",
-# CHECK-CP-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "distances": {
-# CHECK-CP-JSON-DAG:             "%0": 3334
-# CHECK-CP-JSON-DAG:             "%1": 21
-# CHECK-CP-JSON-DAG:             "%8:sub0": 12
-# CHECK-CP-JSON-DAG:             "%8:sub1": 13
-# CHECK-CP-JSON-DAG:             "%9:sub0": 4
-# CHECK-CP-JSON-DAG:             "%9:sub1": 5
-# CHECK-CP-JSON-DAG:             "%10": 10
-# CHECK-CP-JSON-DAG:             "%17": 4107
-# CHECK-CP-JSON-DAG:             "%21": 22
-# CHECK-CP-JSON-DAG:             "%23": 19
-# CHECK-CP-JSON-DAG:             "%25": 0
-# CHECK-CP-JSON-DAG:             "%27": 3332
-# CHECK-CP-JSON-DAG:             "%29": 4105
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest": {
-# CHECK-CP-JSON-DAG:             "register": "%17",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 4107
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest-subreg": {
-# CHECK-CP-JSON-DAG:             "register": "%17",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 4107
-# CHECK-CP-JSON:               }
-# CHECK-CP-JSON-NEXT:        },
-# CHECK-CP-JSON-NEXT:        {
-# CHECK-CP-JSON-NEXT:          "instr": "%33:sreg_32 = S_ADD_I32 %25, -1, implicit-def dead $scc",
-# CHECK-CP-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "distances": {
-# CHECK-CP-JSON-DAG:             "%0": 3334
-# CHECK-CP-JSON-DAG:             "%1": 21
-# CHECK-CP-JSON-DAG:             "%8:sub0": 12
-# CHECK-CP-JSON-DAG:             "%8:sub1": 13
-# CHECK-CP-JSON-DAG:             "%9:sub0": 4
-# CHECK-CP-JSON-DAG:             "%9:sub1": 5
-# CHECK-CP-JSON-DAG:             "%10": 10
-# CHECK-CP-JSON-DAG:             "%17": 4107
-# CHECK-CP-JSON-DAG:             "%21": 22
-# CHECK-CP-JSON-DAG:             "%23": 19
-# CHECK-CP-JSON-DAG:             "%25": 0
-# CHECK-CP-JSON-DAG:             "%27": 3332
-# CHECK-CP-JSON-DAG:             "%29": 4105
-# CHECK-CP-JSON-DAG:             "%31": 3334
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest": {
-# CHECK-CP-JSON-DAG:             "register": "%17",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 4107
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest-subreg": {
-# CHECK-CP-JSON-DAG:             "register": "%17",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 4107
-# CHECK-CP-JSON:               }
-# CHECK-CP-JSON-NEXT:        },
-# CHECK-CP-JSON-NEXT:        {
-# CHECK-CP-JSON-NEXT:          "instr": "%34:sreg_32_xm0 = S_ASHR_I32 %33, 31, implicit-def dead $scc",
-# CHECK-CP-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "distances": {
-# CHECK-CP-JSON-DAG:             "%0": 3334
-# CHECK-CP-JSON-DAG:             "%1": 20
-# CHECK-CP-JSON-DAG:             "%8:sub0": 11
-# CHECK-CP-JSON-DAG:             "%8:sub1": 12
-# CHECK-CP-JSON-DAG:             "%9:sub0": 3
-# CHECK-CP-JSON-DAG:             "%9:sub1": 4
-# CHECK-CP-JSON-DAG:             "%10": 9
-# CHECK-CP-JSON-DAG:             "%17": 4107
-# CHECK-CP-JSON-DAG:             "%21": 21
-# CHECK-CP-JSON-DAG:             "%23": 18
-# CHECK-CP-JSON-DAG:             "%25": 7
-# CHECK-CP-JSON-DAG:             "%27": 3332
-# CHECK-CP-JSON-DAG:             "%29": 4105
-# CHECK-CP-JSON-DAG:             "%31": 3334
-# CHECK-CP-JSON-DAG:             "%33": 0
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest": {
-# CHECK-CP-JSON-DAG:             "register": "%17",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 4107
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest-subreg": {
-# CHECK-CP-JSON-DAG:             "register": "%17",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 4107
-# CHECK-CP-JSON:               }
-# CHECK-CP-JSON-NEXT:        },
-# CHECK-CP-JSON-NEXT:        {
-# CHECK-CP-JSON-NEXT:          "instr": "%35:sreg_64 = REG_SEQUENCE %33, %subreg.sub0, %34, %subreg.sub1",
-# CHECK-CP-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "distances": {
-# CHECK-CP-JSON-DAG:             "%0": 3334
-# CHECK-CP-JSON-DAG:             "%1": 19
-# CHECK-CP-JSON-DAG:             "%8:sub0": 10
-# CHECK-CP-JSON-DAG:             "%8:sub1": 11
-# CHECK-CP-JSON-DAG:             "%9:sub0": 2
-# CHECK-CP-JSON-DAG:             "%9:sub1": 3
-# CHECK-CP-JSON-DAG:             "%10": 8
-# CHECK-CP-JSON-DAG:             "%17": 4107
-# CHECK-CP-JSON-DAG:             "%21": 20
-# CHECK-CP-JSON-DAG:             "%23": 17
-# CHECK-CP-JSON-DAG:             "%25": 6
-# CHECK-CP-JSON-DAG:             "%27": 3332
-# CHECK-CP-JSON-DAG:             "%29": 4105
-# CHECK-CP-JSON-DAG:             "%31": 3334
-# CHECK-CP-JSON-DAG:             "%33": 0
-# CHECK-CP-JSON-DAG:             "%34": 0
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest": {
-# CHECK-CP-JSON-DAG:             "register": "%17",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 4107
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest-subreg": {
-# CHECK-CP-JSON-DAG:             "register": "%17",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 4107
-# CHECK-CP-JSON:               }
-# CHECK-CP-JSON-NEXT:        },
-# CHECK-CP-JSON-NEXT:        {
-# CHECK-CP-JSON-NEXT:          "instr": "%36:sreg_64 = nsw S_LSHL_B64 %35, 2, implicit-def dead $scc",
-# CHECK-CP-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "distances": {
-# CHECK-CP-JSON-DAG:             "%0": 3334
-# CHECK-CP-JSON-DAG:             "%1": 18
-# CHECK-CP-JSON-DAG:             "%8:sub0": 9
-# CHECK-CP-JSON-DAG:             "%8:sub1": 10
-# CHECK-CP-JSON-DAG:             "%9:sub0": 1
-# CHECK-CP-JSON-DAG:             "%9:sub1": 2
-# CHECK-CP-JSON-DAG:             "%10": 7
-# CHECK-CP-JSON-DAG:             "%17": 4107
-# CHECK-CP-JSON-DAG:             "%21": 19
-# CHECK-CP-JSON-DAG:             "%23": 16
-# CHECK-CP-JSON-DAG:             "%25": 5
-# CHECK-CP-JSON-DAG:             "%27": 3332
-# CHECK-CP-JSON-DAG:             "%29": 4105
-# CHECK-CP-JSON-DAG:             "%31": 3334
-# CHECK-CP-JSON-DAG:             "%35": 0
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest": {
-# CHECK-CP-JSON-DAG:             "register": "%17",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 4107
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest-subreg": {
-# CHECK-CP-JSON-DAG:             "register": "%17",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 4107
-# CHECK-CP-JSON:               }
-# CHECK-CP-JSON-NEXT:        },
-# CHECK-CP-JSON-NEXT:        {
-# CHECK-CP-JSON-NEXT:          "instr": "%37:vgpr_32, %38:sreg_32_xm0_xexec = V_ADD_CO_U32_e64 %9.sub0, %36.sub0, 0, implicit $exec",
-# CHECK-CP-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "distances": {
-# CHECK-CP-JSON-DAG:             "%0": 3334
-# CHECK-CP-JSON-DAG:             "%1": 17
-# CHECK-CP-JSON-DAG:             "%8:sub0": 8
-# CHECK-CP-JSON-DAG:             "%8:sub1": 9
-# CHECK-CP-JSON-DAG:             "%9:sub0": 0
-# CHECK-CP-JSON-DAG:             "%9:sub1": 1
-# CHECK-CP-JSON-DAG:             "%10": 6
-# CHECK-CP-JSON-DAG:             "%17": 4107
-# CHECK-CP-JSON-DAG:             "%21": 18
-# CHECK-CP-JSON-DAG:             "%23": 15
-# CHECK-CP-JSON-DAG:             "%25": 4
-# CHECK-CP-JSON-DAG:             "%27": 3332
-# CHECK-CP-JSON-DAG:             "%29": 4105
-# CHECK-CP-JSON-DAG:             "%31": 3334
-# CHECK-CP-JSON-DAG:             "%36:sub0": 0
-# CHECK-CP-JSON-DAG:             "%36:sub1": 1
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest": {
-# CHECK-CP-JSON-DAG:             "register": "%17",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 4107
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest-subreg": {
-# CHECK-CP-JSON-DAG:             "register": "%17",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 4107
-# CHECK-CP-JSON:               }
-# CHECK-CP-JSON-NEXT:        },
-# CHECK-CP-JSON-NEXT:        {
-# CHECK-CP-JSON-NEXT:          "instr": "%39:vgpr_32, dead $sgpr_null = V_ADDC_U32_e64 %36.sub1, %9.sub1, %38, 0, implicit $exec",
-# CHECK-CP-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "distances": {
-# CHECK-CP-JSON-DAG:             "%0": 3334
-# CHECK-CP-JSON-DAG:             "%1": 16
-# CHECK-CP-JSON-DAG:             "%8:sub0": 7
-# CHECK-CP-JSON-DAG:             "%8:sub1": 8
-# CHECK-CP-JSON-DAG:             "%9:sub0": 51
-# CHECK-CP-JSON-DAG:             "%9:sub1": 0
-# CHECK-CP-JSON-DAG:             "%10": 5
-# CHECK-CP-JSON-DAG:             "%17": 4107
-# CHECK-CP-JSON-DAG:             "%21": 17
-# CHECK-CP-JSON-DAG:             "%23": 14
-# CHECK-CP-JSON-DAG:             "%25": 3
-# CHECK-CP-JSON-DAG:             "%27": 3332
-# CHECK-CP-JSON-DAG:             "%29": 4105
-# CHECK-CP-JSON-DAG:             "%31": 3334
-# CHECK-CP-JSON-DAG:             "%36:sub0": 7
-# CHECK-CP-JSON-DAG:             "%36:sub1": 0
-# CHECK-CP-JSON-DAG:             "%37": 1
-# CHECK-CP-JSON-DAG:             "%38": 0
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest": {
-# CHECK-CP-JSON-DAG:             "register": "%17",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 4107
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest-subreg": {
-# CHECK-CP-JSON-DAG:             "register": "%17",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 4107
-# CHECK-CP-JSON:               }
-# CHECK-CP-JSON-NEXT:        },
-# CHECK-CP-JSON-NEXT:        {
-# CHECK-CP-JSON-NEXT:          "instr": "%40:vreg_64 = REG_SEQUENCE %37, %subreg.sub0, %39, %subreg.sub1",
-# CHECK-CP-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "distances": {
-# CHECK-CP-JSON-DAG:             "%0": 3334
-# CHECK-CP-JSON-DAG:             "%1": 15
-# CHECK-CP-JSON-DAG:             "%8:sub0": 6
-# CHECK-CP-JSON-DAG:             "%8:sub1": 7
-# CHECK-CP-JSON-DAG:             "%9:sub0": 50
-# CHECK-CP-JSON-DAG:             "%9:sub1": 51
-# CHECK-CP-JSON-DAG:             "%10": 4
-# CHECK-CP-JSON-DAG:             "%17": 4107
-# CHECK-CP-JSON-DAG:             "%21": 16
-# CHECK-CP-JSON-DAG:             "%23": 13
-# CHECK-CP-JSON-DAG:             "%25": 2
-# CHECK-CP-JSON-DAG:             "%27": 3332
-# CHECK-CP-JSON-DAG:             "%29": 4105
-# CHECK-CP-JSON-DAG:             "%31": 3334
-# CHECK-CP-JSON-DAG:             "%36:sub0": 6
-# CHECK-CP-JSON-DAG:             "%36:sub1": 7
-# CHECK-CP-JSON-DAG:             "%37": 0
-# CHECK-CP-JSON-DAG:             "%39": 0
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest": {
-# CHECK-CP-JSON-DAG:             "register": "%17",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 4107
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest-subreg": {
-# CHECK-CP-JSON-DAG:             "register": "%17",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 4107
-# CHECK-CP-JSON:               }
-# CHECK-CP-JSON-NEXT:        },
-# CHECK-CP-JSON-NEXT:        {
-# CHECK-CP-JSON-NEXT:          "instr": "%41:vgpr_32 = GLOBAL_LOAD_DWORD %40, 0, 0, implicit $exec :: (load (s32) from %ir.gep1, addrspace 1)",
-# CHECK-CP-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "distances": {
-# CHECK-CP-JSON-DAG:             "%0": 3334
-# CHECK-CP-JSON-DAG:             "%1": 14
-# CHECK-CP-JSON-DAG:             "%8:sub0": 5
-# CHECK-CP-JSON-DAG:             "%8:sub1": 6
-# CHECK-CP-JSON-DAG:             "%9:sub0": 49
-# CHECK-CP-JSON-DAG:             "%9:sub1": 50
-# CHECK-CP-JSON-DAG:             "%10": 3
-# CHECK-CP-JSON-DAG:             "%17": 4107
-# CHECK-CP-JSON-DAG:             "%21": 15
-# CHECK-CP-JSON-DAG:             "%23": 12
-# CHECK-CP-JSON-DAG:             "%25": 1
-# CHECK-CP-JSON-DAG:             "%27": 3332
-# CHECK-CP-JSON-DAG:             "%29": 4105
-# CHECK-CP-JSON-DAG:             "%31": 3334
-# CHECK-CP-JSON-DAG:             "%36:sub0": 5
-# CHECK-CP-JSON-DAG:             "%36:sub1": 6
-# CHECK-CP-JSON-DAG:             "%40": 0
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest": {
-# CHECK-CP-JSON-DAG:             "register": "%17",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 4107
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest-subreg": {
-# CHECK-CP-JSON-DAG:             "register": "%17",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 4107
-# CHECK-CP-JSON:               }
-# CHECK-CP-JSON-NEXT:        },
-# CHECK-CP-JSON-NEXT:        {
-# CHECK-CP-JSON-NEXT:          "instr": "%28:vgpr_32 = V_ADD_U32_e64 %25, %41, 0, implicit $exec",
-# CHECK-CP-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "distances": {
-# CHECK-CP-JSON-DAG:             "%0": 3334
-# CHECK-CP-JSON-DAG:             "%1": 13
-# CHECK-CP-JSON-DAG:             "%8:sub0": 4
-# CHECK-CP-JSON-DAG:             "%8:sub1": 5
-# CHECK-CP-JSON-DAG:             "%9:sub0": 48
-# CHECK-CP-JSON-DAG:             "%9:sub1": 49
-# CHECK-CP-JSON-DAG:             "%10": 2
-# CHECK-CP-JSON-DAG:             "%17": 4107
-# CHECK-CP-JSON-DAG:             "%21": 14
-# CHECK-CP-JSON-DAG:             "%23": 11
-# CHECK-CP-JSON-DAG:             "%25": 0
-# CHECK-CP-JSON-DAG:             "%27": 3332
-# CHECK-CP-JSON-DAG:             "%29": 4105
-# CHECK-CP-JSON-DAG:             "%31": 3334
-# CHECK-CP-JSON-DAG:             "%36:sub0": 4
-# CHECK-CP-JSON-DAG:             "%36:sub1": 5
-# CHECK-CP-JSON-DAG:             "%41": 0
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest": {
-# CHECK-CP-JSON-DAG:             "register": "%17",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 4107
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest-subreg": {
-# CHECK-CP-JSON-DAG:             "register": "%17",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 4107
-# CHECK-CP-JSON:               }
-# CHECK-CP-JSON-NEXT:        },
-# CHECK-CP-JSON-NEXT:        {
-# CHECK-CP-JSON-NEXT:          "instr": "%30:vgpr_32 = V_MUL_LO_U32_e64 %41, %25, implicit $exec",
-# CHECK-CP-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "distances": {
-# CHECK-CP-JSON-DAG:             "%0": 3334
-# CHECK-CP-JSON-DAG:             "%1": 12
-# CHECK-CP-JSON-DAG:             "%8:sub0": 3
-# CHECK-CP-JSON-DAG:             "%8:sub1": 4
-# CHECK-CP-JSON-DAG:             "%9:sub0": 47
-# CHECK-CP-JSON-DAG:             "%9:sub1": 48
-# CHECK-CP-JSON-DAG:             "%10": 1
-# CHECK-CP-JSON-DAG:             "%17": 4107
-# CHECK-CP-JSON-DAG:             "%21": 13
-# CHECK-CP-JSON-DAG:             "%23": 10
-# CHECK-CP-JSON-DAG:             "%25": 0
-# CHECK-CP-JSON-DAG:             "%27": 3332
-# CHECK-CP-JSON-DAG:             "%28": 16
-# CHECK-CP-JSON-DAG:             "%29": 4105
-# CHECK-CP-JSON-DAG:             "%31": 3334
-# CHECK-CP-JSON-DAG:             "%36:sub0": 3
-# CHECK-CP-JSON-DAG:             "%36:sub1": 4
-# CHECK-CP-JSON-DAG:             "%41": 0
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest": {
-# CHECK-CP-JSON-DAG:             "register": "%17",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 4107
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest-subreg": {
-# CHECK-CP-JSON-DAG:             "register": "%17",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 4107
-# CHECK-CP-JSON:               }
-# CHECK-CP-JSON-NEXT:        },
-# CHECK-CP-JSON-NEXT:        {
-# CHECK-CP-JSON-NEXT:          "instr": "GLOBAL_STORE_SHORT_D16_HI %10, %30, 2, 0, implicit $exec :: (store (s16) into %ir.p1 + 2, addrspace 1)",
-# CHECK-CP-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "distances": {
-# CHECK-CP-JSON-DAG:             "%0": 3334
-# CHECK-CP-JSON-DAG:             "%1": 11
-# CHECK-CP-JSON-DAG:             "%8:sub0": 2
-# CHECK-CP-JSON-DAG:             "%8:sub1": 3
-# CHECK-CP-JSON-DAG:             "%9:sub0": 46
-# CHECK-CP-JSON-DAG:             "%9:sub1": 47
-# CHECK-CP-JSON-DAG:             "%10": 0
-# CHECK-CP-JSON-DAG:             "%17": 4107
-# CHECK-CP-JSON-DAG:             "%21": 12
-# CHECK-CP-JSON-DAG:             "%23": 9
-# CHECK-CP-JSON-DAG:             "%25": 8
-# CHECK-CP-JSON-DAG:             "%27": 3332
-# CHECK-CP-JSON-DAG:             "%28": 15
-# CHECK-CP-JSON-DAG:             "%29": 4105
-# CHECK-CP-JSON-DAG:             "%30": 0
-# CHECK-CP-JSON-DAG:             "%31": 3334
-# CHECK-CP-JSON-DAG:             "%36:sub0": 2
-# CHECK-CP-JSON-DAG:             "%36:sub1": 3
-# CHECK-CP-JSON-DAG:             "%41": 4106
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest": {
-# CHECK-CP-JSON-DAG:             "register": "%17",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 4107
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest-subreg": {
-# CHECK-CP-JSON-DAG:             "register": "%17",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 4107
-# CHECK-CP-JSON:               }
-# CHECK-CP-JSON-NEXT:        },
-# CHECK-CP-JSON-NEXT:        {
-# CHECK-CP-JSON-NEXT:          "instr": "GLOBAL_STORE_SHORT %10, %30, 0, 0, implicit $exec :: (store (s16) into %ir.p1, addrspace 1)",
-# CHECK-CP-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "distances": {
-# CHECK-CP-JSON-DAG:             "%0": 3334
-# CHECK-CP-JSON-DAG:             "%1": 10
-# CHECK-CP-JSON-DAG:             "%8:sub0": 1
-# CHECK-CP-JSON-DAG:             "%8:sub1": 2
-# CHECK-CP-JSON-DAG:             "%9:sub0": 45
-# CHECK-CP-JSON-DAG:             "%9:sub1": 46
-# CHECK-CP-JSON-DAG:             "%10": 0
-# CHECK-CP-JSON-DAG:             "%17": 4107
-# CHECK-CP-JSON-DAG:             "%21": 11
-# CHECK-CP-JSON-DAG:             "%23": 8
-# CHECK-CP-JSON-DAG:             "%25": 7
-# CHECK-CP-JSON-DAG:             "%27": 3332
-# CHECK-CP-JSON-DAG:             "%28": 14
-# CHECK-CP-JSON-DAG:             "%29": 4105
-# CHECK-CP-JSON-DAG:             "%30": 0
-# CHECK-CP-JSON-DAG:             "%31": 3334
-# CHECK-CP-JSON-DAG:             "%36:sub0": 1
-# CHECK-CP-JSON-DAG:             "%36:sub1": 2
-# CHECK-CP-JSON-DAG:             "%41": 4106
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest": {
-# CHECK-CP-JSON-DAG:             "register": "%17",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 4107
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest-subreg": {
-# CHECK-CP-JSON-DAG:             "register": "%17",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 4107
-# CHECK-CP-JSON:               }
-# CHECK-CP-JSON-NEXT:        },
-# CHECK-CP-JSON-NEXT:        {
-# CHECK-CP-JSON-NEXT:          "instr": "%42:vgpr_32, %43:sreg_32_xm0_xexec = V_ADD_CO_U32_e64 %8.sub0, %36.sub0, 0, implicit $exec",
-# CHECK-CP-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "distances": {
-# CHECK-CP-JSON-DAG:             "%0": 3334
-# CHECK-CP-JSON-DAG:             "%1": 9
-# CHECK-CP-JSON-DAG:             "%8:sub0": 0
-# CHECK-CP-JSON-DAG:             "%8:sub1": 1
-# CHECK-CP-JSON-DAG:             "%9:sub0": 44
-# CHECK-CP-JSON-DAG:             "%9:sub1": 45
-# CHECK-CP-JSON-DAG:             "%10": 50
-# CHECK-CP-JSON-DAG:             "%17": 4107
-# CHECK-CP-JSON-DAG:             "%21": 10
-# CHECK-CP-JSON-DAG:             "%23": 7
-# CHECK-CP-JSON-DAG:             "%25": 6
-# CHECK-CP-JSON-DAG:             "%27": 3332
-# CHECK-CP-JSON-DAG:             "%28": 13
-# CHECK-CP-JSON-DAG:             "%29": 4105
-# CHECK-CP-JSON-DAG:             "%30": 13
-# CHECK-CP-JSON-DAG:             "%31": 3334
-# CHECK-CP-JSON-DAG:             "%36:sub0": 0
-# CHECK-CP-JSON-DAG:             "%36:sub1": 1
-# CHECK-CP-JSON-DAG:             "%41": 4106
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest": {
-# CHECK-CP-JSON-DAG:             "register": "%17",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 4107
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest-subreg": {
-# CHECK-CP-JSON-DAG:             "register": "%17",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 4107
-# CHECK-CP-JSON:               }
-# CHECK-CP-JSON-NEXT:        },
-# CHECK-CP-JSON-NEXT:        {
-# CHECK-CP-JSON-NEXT:          "instr": "%44:vgpr_32, dead $sgpr_null = V_ADDC_U32_e64 %36.sub1, %8.sub1, %43, 0, implicit $exec",
-# CHECK-CP-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "distances": {
-# CHECK-CP-JSON-DAG:             "%0": 3334
-# CHECK-CP-JSON-DAG:             "%1": 8
-# CHECK-CP-JSON-DAG:             "%8:sub0": 51
-# CHECK-CP-JSON-DAG:             "%8:sub1": 0
-# CHECK-CP-JSON-DAG:             "%9:sub0": 43
-# CHECK-CP-JSON-DAG:             "%9:sub1": 44
-# CHECK-CP-JSON-DAG:             "%10": 49
-# CHECK-CP-JSON-DAG:             "%17": 4107
-# CHECK-CP-JSON-DAG:             "%21": 9
-# CHECK-CP-JSON-DAG:             "%23": 6
-# CHECK-CP-JSON-DAG:             "%25": 5
-# CHECK-CP-JSON-DAG:             "%27": 3332
-# CHECK-CP-JSON-DAG:             "%28": 12
-# CHECK-CP-JSON-DAG:             "%29": 4105
-# CHECK-CP-JSON-DAG:             "%30": 12
-# CHECK-CP-JSON-DAG:             "%31": 3334
-# CHECK-CP-JSON-DAG:             "%36:sub1": 0
-# CHECK-CP-JSON-DAG:             "%41": 4106
-# CHECK-CP-JSON-DAG:             "%42": 1
-# CHECK-CP-JSON-DAG:             "%43": 0
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest": {
-# CHECK-CP-JSON-DAG:             "register": "%17",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 4107
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest-subreg": {
-# CHECK-CP-JSON-DAG:             "register": "%17",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 4107
-# CHECK-CP-JSON:               }
-# CHECK-CP-JSON-NEXT:        },
-# CHECK-CP-JSON-NEXT:        {
-# CHECK-CP-JSON-NEXT:          "instr": "%45:vreg_64 = REG_SEQUENCE %42, %subreg.sub0, %44, %subreg.sub1",
-# CHECK-CP-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "distances": {
-# CHECK-CP-JSON-DAG:             "%0": 3334
-# CHECK-CP-JSON-DAG:             "%1": 7
-# CHECK-CP-JSON-DAG:             "%8:sub0": 50
-# CHECK-CP-JSON-DAG:             "%8:sub1": 51
-# CHECK-CP-JSON-DAG:             "%9:sub0": 42
-# CHECK-CP-JSON-DAG:             "%9:sub1": 43
-# CHECK-CP-JSON-DAG:             "%10": 48
-# CHECK-CP-JSON-DAG:             "%17": 4107
-# CHECK-CP-JSON-DAG:             "%21": 8
-# CHECK-CP-JSON-DAG:             "%23": 5
-# CHECK-CP-JSON-DAG:             "%25": 4
-# CHECK-CP-JSON-DAG:             "%27": 3332
-# CHECK-CP-JSON-DAG:             "%28": 11
-# CHECK-CP-JSON-DAG:             "%29": 4105
-# CHECK-CP-JSON-DAG:             "%30": 11
-# CHECK-CP-JSON-DAG:             "%31": 3334
-# CHECK-CP-JSON-DAG:             "%41": 4106
-# CHECK-CP-JSON-DAG:             "%42": 0
-# CHECK-CP-JSON-DAG:             "%44": 0
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest": {
-# CHECK-CP-JSON-DAG:             "register": "%17",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 4107
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest-subreg": {
-# CHECK-CP-JSON-DAG:             "register": "%17",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 4107
-# CHECK-CP-JSON:               }
-# CHECK-CP-JSON-NEXT:        },
-# CHECK-CP-JSON-NEXT:        {
-# CHECK-CP-JSON-NEXT:          "instr": "%46:vgpr_32 = GLOBAL_LOAD_USHORT %45, 0, 0, implicit $exec :: (load (s16) from %ir.gep2, addrspace 1)",
-# CHECK-CP-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "distances": {
-# CHECK-CP-JSON-DAG:             "%0": 3334
-# CHECK-CP-JSON-DAG:             "%1": 6
-# CHECK-CP-JSON-DAG:             "%8:sub0": 49
-# CHECK-CP-JSON-DAG:             "%8:sub1": 50
-# CHECK-CP-JSON-DAG:             "%9:sub0": 41
-# CHECK-CP-JSON-DAG:             "%9:sub1": 42
-# CHECK-CP-JSON-DAG:             "%10": 47
-# CHECK-CP-JSON-DAG:             "%17": 4107
-# CHECK-CP-JSON-DAG:             "%21": 7
-# CHECK-CP-JSON-DAG:             "%23": 4
-# CHECK-CP-JSON-DAG:             "%25": 3
-# CHECK-CP-JSON-DAG:             "%27": 3332
-# CHECK-CP-JSON-DAG:             "%28": 10
-# CHECK-CP-JSON-DAG:             "%29": 4105
-# CHECK-CP-JSON-DAG:             "%30": 10
-# CHECK-CP-JSON-DAG:             "%31": 3334
-# CHECK-CP-JSON-DAG:             "%41": 4106
-# CHECK-CP-JSON-DAG:             "%45": 0
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest": {
-# CHECK-CP-JSON-DAG:             "register": "%17",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 4107
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest-subreg": {
-# CHECK-CP-JSON-DAG:             "register": "%17",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 4107
-# CHECK-CP-JSON:               }
-# CHECK-CP-JSON-NEXT:        },
-# CHECK-CP-JSON-NEXT:        {
-# CHECK-CP-JSON-NEXT:          "instr": "%47:vgpr_32 = GLOBAL_LOAD_USHORT %45, 2, 0, implicit $exec :: (load (s16) from %ir.gep2 + 2, addrspace 1)",
-# CHECK-CP-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "distances": {
-# CHECK-CP-JSON-DAG:             "%0": 3334
-# CHECK-CP-JSON-DAG:             "%1": 5
-# CHECK-CP-JSON-DAG:             "%8:sub0": 48
-# CHECK-CP-JSON-DAG:             "%8:sub1": 49
-# CHECK-CP-JSON-DAG:             "%9:sub0": 40
-# CHECK-CP-JSON-DAG:             "%9:sub1": 41
-# CHECK-CP-JSON-DAG:             "%10": 46
-# CHECK-CP-JSON-DAG:             "%17": 4107
-# CHECK-CP-JSON-DAG:             "%21": 6
-# CHECK-CP-JSON-DAG:             "%23": 3
-# CHECK-CP-JSON-DAG:             "%25": 2
-# CHECK-CP-JSON-DAG:             "%27": 3332
-# CHECK-CP-JSON-DAG:             "%28": 9
-# CHECK-CP-JSON-DAG:             "%29": 4105
-# CHECK-CP-JSON-DAG:             "%30": 9
-# CHECK-CP-JSON-DAG:             "%31": 3334
-# CHECK-CP-JSON-DAG:             "%41": 4106
-# CHECK-CP-JSON-DAG:             "%45": 0
-# CHECK-CP-JSON-DAG:             "%46": 1
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest": {
-# CHECK-CP-JSON-DAG:             "register": "%17",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 4107
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest-subreg": {
-# CHECK-CP-JSON-DAG:             "register": "%17",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 4107
-# CHECK-CP-JSON:               }
-# CHECK-CP-JSON-NEXT:        },
-# CHECK-CP-JSON-NEXT:        {
-# CHECK-CP-JSON-NEXT:          "instr": "%48:vgpr_32 = V_LSHL_OR_B32_e64 %47, 16, %46, implicit $exec",
-# CHECK-CP-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "distances": {
-# CHECK-CP-JSON-DAG:             "%0": 3334
-# CHECK-CP-JSON-DAG:             "%1": 4
-# CHECK-CP-JSON-DAG:             "%8:sub0": 47
-# CHECK-CP-JSON-DAG:             "%8:sub1": 48
-# CHECK-CP-JSON-DAG:             "%9:sub0": 39
-# CHECK-CP-JSON-DAG:             "%9:sub1": 40
-# CHECK-CP-JSON-DAG:             "%10": 45
-# CHECK-CP-JSON-DAG:             "%17": 4107
-# CHECK-CP-JSON-DAG:             "%21": 5
-# CHECK-CP-JSON-DAG:             "%23": 2
-# CHECK-CP-JSON-DAG:             "%25": 1
-# CHECK-CP-JSON-DAG:             "%27": 3332
-# CHECK-CP-JSON-DAG:             "%28": 8
-# CHECK-CP-JSON-DAG:             "%29": 4105
-# CHECK-CP-JSON-DAG:             "%30": 8
-# CHECK-CP-JSON-DAG:             "%31": 3334
-# CHECK-CP-JSON-DAG:             "%41": 4106
-# CHECK-CP-JSON-DAG:             "%46": 0
-# CHECK-CP-JSON-DAG:             "%47": 0
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest": {
-# CHECK-CP-JSON-DAG:             "register": "%17",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 4107
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest-subreg": {
-# CHECK-CP-JSON-DAG:             "register": "%17",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 4107
-# CHECK-CP-JSON:               }
-# CHECK-CP-JSON-NEXT:        },
-# CHECK-CP-JSON-NEXT:        {
-# CHECK-CP-JSON-NEXT:          "instr": "%26:sreg_32 = S_ADD_I32 %25, 1, implicit-def dead $scc",
-# CHECK-CP-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "distances": {
-# CHECK-CP-JSON-DAG:             "%0": 3334
-# CHECK-CP-JSON-DAG:             "%1": 3
-# CHECK-CP-JSON-DAG:             "%8:sub0": 46
-# CHECK-CP-JSON-DAG:             "%8:sub1": 47
-# CHECK-CP-JSON-DAG:             "%9:sub0": 38
-# CHECK-CP-JSON-DAG:             "%9:sub1": 39
-# CHECK-CP-JSON-DAG:             "%10": 44
-# CHECK-CP-JSON-DAG:             "%17": 4107
-# CHECK-CP-JSON-DAG:             "%21": 4
-# CHECK-CP-JSON-DAG:             "%23": 1
-# CHECK-CP-JSON-DAG:             "%25": 0
-# CHECK-CP-JSON-DAG:             "%27": 3332
-# CHECK-CP-JSON-DAG:             "%28": 7
-# CHECK-CP-JSON-DAG:             "%29": 4105
-# CHECK-CP-JSON-DAG:             "%30": 7
-# CHECK-CP-JSON-DAG:             "%31": 3334
-# CHECK-CP-JSON-DAG:             "%41": 4106
-# CHECK-CP-JSON-DAG:             "%48": 2
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest": {
-# CHECK-CP-JSON-DAG:             "register": "%17",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 4107
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest-subreg": {
-# CHECK-CP-JSON-DAG:             "register": "%17",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 4107
-# CHECK-CP-JSON:               }
-# CHECK-CP-JSON-NEXT:        },
-# CHECK-CP-JSON-NEXT:        {
-# CHECK-CP-JSON-NEXT:          "instr": "%24:sreg_32 = S_ADD_I32 %23, -1, implicit-def dead $scc",
-# CHECK-CP-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "distances": {
-# CHECK-CP-JSON-DAG:             "%0": 3334
-# CHECK-CP-JSON-DAG:             "%1": 2
-# CHECK-CP-JSON-DAG:             "%8:sub0": 45
-# CHECK-CP-JSON-DAG:             "%8:sub1": 46
-# CHECK-CP-JSON-DAG:             "%9:sub0": 37
-# CHECK-CP-JSON-DAG:             "%9:sub1": 38
-# CHECK-CP-JSON-DAG:             "%10": 43
-# CHECK-CP-JSON-DAG:             "%17": 4107
-# CHECK-CP-JSON-DAG:             "%21": 3
-# CHECK-CP-JSON-DAG:             "%23": 0
-# CHECK-CP-JSON-DAG:             "%25": 2
-# CHECK-CP-JSON-DAG:             "%26": 4
-# CHECK-CP-JSON-DAG:             "%27": 3332
-# CHECK-CP-JSON-DAG:             "%28": 6
-# CHECK-CP-JSON-DAG:             "%29": 4105
-# CHECK-CP-JSON-DAG:             "%30": 6
-# CHECK-CP-JSON-DAG:             "%31": 3334
-# CHECK-CP-JSON-DAG:             "%41": 4106
-# CHECK-CP-JSON-DAG:             "%48": 1
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest": {
-# CHECK-CP-JSON-DAG:             "register": "%17",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 4107
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest-subreg": {
-# CHECK-CP-JSON-DAG:             "register": "%17",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 4107
-# CHECK-CP-JSON:               }
-# CHECK-CP-JSON-NEXT:        },
-# CHECK-CP-JSON-NEXT:        {
-# CHECK-CP-JSON-NEXT:          "instr": "%32:vgpr_32 = V_ADD_U32_e64 %23, %48, 0, implicit $exec",
-# CHECK-CP-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "distances": {
-# CHECK-CP-JSON-DAG:             "%0": 3334
-# CHECK-CP-JSON-DAG:             "%1": 1
-# CHECK-CP-JSON-DAG:             "%8:sub0": 44
-# CHECK-CP-JSON-DAG:             "%8:sub1": 45
-# CHECK-CP-JSON-DAG:             "%9:sub0": 36
-# CHECK-CP-JSON-DAG:             "%9:sub1": 37
-# CHECK-CP-JSON-DAG:             "%10": 42
-# CHECK-CP-JSON-DAG:             "%17": 4107
-# CHECK-CP-JSON-DAG:             "%21": 2
-# CHECK-CP-JSON-DAG:             "%23": 0
-# CHECK-CP-JSON-DAG:             "%24": 5
-# CHECK-CP-JSON-DAG:             "%25": 1
-# CHECK-CP-JSON-DAG:             "%26": 3
-# CHECK-CP-JSON-DAG:             "%27": 3332
-# CHECK-CP-JSON-DAG:             "%28": 5
-# CHECK-CP-JSON-DAG:             "%29": 4105
-# CHECK-CP-JSON-DAG:             "%30": 5
-# CHECK-CP-JSON-DAG:             "%31": 3334
-# CHECK-CP-JSON-DAG:             "%41": 4106
-# CHECK-CP-JSON-DAG:             "%48": 0
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest": {
-# CHECK-CP-JSON-DAG:             "register": "%17",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 4107
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest-subreg": {
-# CHECK-CP-JSON-DAG:             "register": "%17",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 4107
-# CHECK-CP-JSON:               }
-# CHECK-CP-JSON-NEXT:        },
-# CHECK-CP-JSON-NEXT:        {
-# CHECK-CP-JSON-NEXT:          "instr": "%49:sreg_32 = V_CMP_GE_U32_e64 %25, %1, implicit $exec",
-# CHECK-CP-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "distances": {
-# CHECK-CP-JSON-DAG:             "%0": 3334
-# CHECK-CP-JSON-DAG:             "%1": 0
-# CHECK-CP-JSON-DAG:             "%8:sub0": 43
-# CHECK-CP-JSON-DAG:             "%8:sub1": 44
-# CHECK-CP-JSON-DAG:             "%9:sub0": 35
-# CHECK-CP-JSON-DAG:             "%9:sub1": 36
-# CHECK-CP-JSON-DAG:             "%10": 41
-# CHECK-CP-JSON-DAG:             "%17": 4107
-# CHECK-CP-JSON-DAG:             "%21": 1
-# CHECK-CP-JSON-DAG:             "%24": 4
-# CHECK-CP-JSON-DAG:             "%25": 0
-# CHECK-CP-JSON-DAG:             "%26": 2
-# CHECK-CP-JSON-DAG:             "%27": 3332
-# CHECK-CP-JSON-DAG:             "%28": 4
-# CHECK-CP-JSON-DAG:             "%29": 4105
-# CHECK-CP-JSON-DAG:             "%30": 4
-# CHECK-CP-JSON-DAG:             "%31": 3334
-# CHECK-CP-JSON-DAG:             "%32": 4
-# CHECK-CP-JSON-DAG:             "%41": 4106
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest": {
-# CHECK-CP-JSON-DAG:             "register": "%17",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 4107
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest-subreg": {
-# CHECK-CP-JSON-DAG:             "register": "%17",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 4107
-# CHECK-CP-JSON:               }
-# CHECK-CP-JSON-NEXT:        },
-# CHECK-CP-JSON-NEXT:        {
-# CHECK-CP-JSON-NEXT:          "instr": "%22:sreg_32 = SI_IF_BREAK %49, %21, implicit-def dead $scc",
-# CHECK-CP-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "distances": {
-# CHECK-CP-JSON-DAG:             "%0": 3334
-# CHECK-CP-JSON-DAG:             "%1": 51
-# CHECK-CP-JSON-DAG:             "%8:sub0": 42
-# CHECK-CP-JSON-DAG:             "%8:sub1": 43
-# CHECK-CP-JSON-DAG:             "%9:sub0": 34
-# CHECK-CP-JSON-DAG:             "%9:sub1": 35
-# CHECK-CP-JSON-DAG:             "%10": 40
-# CHECK-CP-JSON-DAG:             "%17": 4107
-# CHECK-CP-JSON-DAG:             "%21": 0
-# CHECK-CP-JSON-DAG:             "%24": 3
-# CHECK-CP-JSON-DAG:             "%26": 1
-# CHECK-CP-JSON-DAG:             "%27": 3332
-# CHECK-CP-JSON-DAG:             "%28": 3
-# CHECK-CP-JSON-DAG:             "%29": 4105
-# CHECK-CP-JSON-DAG:             "%30": 3
-# CHECK-CP-JSON-DAG:             "%31": 3334
-# CHECK-CP-JSON-DAG:             "%32": 3
-# CHECK-CP-JSON-DAG:             "%41": 4106
-# CHECK-CP-JSON-DAG:             "%49": 0
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest": {
-# CHECK-CP-JSON-DAG:             "register": "%17",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 4107
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest-subreg": {
-# CHECK-CP-JSON-DAG:             "register": "%17",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 4107
-# CHECK-CP-JSON:               }
-# CHECK-CP-JSON-NEXT:        },
-# CHECK-CP-JSON-NEXT:        {
-# CHECK-CP-JSON-NEXT:          "instr": "%50:vgpr_32 = COPY %26, implicit $exec",
-# CHECK-CP-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "distances": {
-# CHECK-CP-JSON-DAG:             "%0": 3334
-# CHECK-CP-JSON-DAG:             "%1": 50
-# CHECK-CP-JSON-DAG:             "%8:sub0": 41
-# CHECK-CP-JSON-DAG:             "%8:sub1": 42
-# CHECK-CP-JSON-DAG:             "%9:sub0": 33
-# CHECK-CP-JSON-DAG:             "%9:sub1": 34
-# CHECK-CP-JSON-DAG:             "%10": 39
-# CHECK-CP-JSON-DAG:             "%17": 4107
-# CHECK-CP-JSON-DAG:             "%22": 1
-# CHECK-CP-JSON-DAG:             "%24": 2
-# CHECK-CP-JSON-DAG:             "%26": 0
-# CHECK-CP-JSON-DAG:             "%27": 3332
-# CHECK-CP-JSON-DAG:             "%28": 2
-# CHECK-CP-JSON-DAG:             "%29": 4105
-# CHECK-CP-JSON-DAG:             "%30": 2
-# CHECK-CP-JSON-DAG:             "%31": 3334
-# CHECK-CP-JSON-DAG:             "%32": 2
-# CHECK-CP-JSON-DAG:             "%41": 4106
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest": {
-# CHECK-CP-JSON-DAG:             "register": "%17",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 4107
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest-subreg": {
-# CHECK-CP-JSON-DAG:             "register": "%17",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 4107
-# CHECK-CP-JSON:               }
-# CHECK-CP-JSON-NEXT:        },
-# CHECK-CP-JSON-NEXT:        {
-# CHECK-CP-JSON-NEXT:          "instr": "SI_LOOP %22, %bb.1, implicit-def dead $exec, implicit-def dead $scc, implicit $exec",
-# CHECK-CP-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "distances": {
-# CHECK-CP-JSON-DAG:             "%0": 3334
-# CHECK-CP-JSON-DAG:             "%1": 49
-# CHECK-CP-JSON-DAG:             "%8:sub0": 40
-# CHECK-CP-JSON-DAG:             "%8:sub1": 41
-# CHECK-CP-JSON-DAG:             "%9:sub0": 32
-# CHECK-CP-JSON-DAG:             "%9:sub1": 33
-# CHECK-CP-JSON-DAG:             "%10": 38
-# CHECK-CP-JSON-DAG:             "%17": 4107
-# CHECK-CP-JSON-DAG:             "%22": 0
-# CHECK-CP-JSON-DAG:             "%24": 1
-# CHECK-CP-JSON-DAG:             "%26": 1
-# CHECK-CP-JSON-DAG:             "%27": 3332
-# CHECK-CP-JSON-DAG:             "%28": 1
-# CHECK-CP-JSON-DAG:             "%29": 4105
-# CHECK-CP-JSON-DAG:             "%30": 1
-# CHECK-CP-JSON-DAG:             "%31": 3334
-# CHECK-CP-JSON-DAG:             "%32": 1
-# CHECK-CP-JSON-DAG:             "%41": 4106
-# CHECK-CP-JSON-DAG:             "%50": 3330
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest": {
-# CHECK-CP-JSON-DAG:             "register": "%17",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 4107
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest-subreg": {
-# CHECK-CP-JSON-DAG:             "register": "%17",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 4107
-# CHECK-CP-JSON:               }
-# CHECK-CP-JSON-NEXT:        },
-# CHECK-CP-JSON-NEXT:        {
-# CHECK-CP-JSON-NEXT:          "instr": "S_BRANCH %bb.2",
-# CHECK-CP-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "distances": {
-# CHECK-CP-JSON-DAG:             "%0": 3334
-# CHECK-CP-JSON-DAG:             "%1": 48
-# CHECK-CP-JSON-DAG:             "%8:sub0": 39
-# CHECK-CP-JSON-DAG:             "%8:sub1": 40
-# CHECK-CP-JSON-DAG:             "%9:sub0": 31
-# CHECK-CP-JSON-DAG:             "%9:sub1": 32
-# CHECK-CP-JSON-DAG:             "%10": 37
-# CHECK-CP-JSON-DAG:             "%17": 4107
-# CHECK-CP-JSON-DAG:             "%22": 0
-# CHECK-CP-JSON-DAG:             "%24": 0
-# CHECK-CP-JSON-DAG:             "%26": 0
-# CHECK-CP-JSON-DAG:             "%27": 3332
-# CHECK-CP-JSON-DAG:             "%28": 0
-# CHECK-CP-JSON-DAG:             "%29": 4105
-# CHECK-CP-JSON-DAG:             "%30": 0
-# CHECK-CP-JSON-DAG:             "%31": 3334
-# CHECK-CP-JSON-DAG:             "%32": 0
-# CHECK-CP-JSON-DAG:             "%41": 4106
-# CHECK-CP-JSON-DAG:             "%50": 3330
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest": {
-# CHECK-CP-JSON-DAG:             "register": "%17",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 4107
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest-subreg": {
-# CHECK-CP-JSON-DAG:             "register": "%17",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 4107
-# CHECK-CP-JSON:               }
-# CHECK-CP-JSON-NEXT:        }
-# CHECK-CP-JSON-NEXT:      ],
-# CHECK-CP-JSON-NEXT:      "bb.2": [
-# CHECK-CP-JSON-NEXT:        {
-# CHECK-CP-JSON-NEXT:          "instr": "SI_END_CF %22, implicit-def dead $exec, implicit-def dead $scc, implicit $exec",
-# CHECK-CP-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "distances": {
-# CHECK-CP-JSON-DAG:             "%0": 5
-# CHECK-CP-JSON-DAG:             "%8": 4
-# CHECK-CP-JSON-DAG:             "%17": 16
-# CHECK-CP-JSON-DAG:             "%22": 0
-# CHECK-CP-JSON-DAG:             "%27": 3
-# CHECK-CP-JSON-DAG:             "%29": 14
-# CHECK-CP-JSON-DAG:             "%30": 2
-# CHECK-CP-JSON-DAG:             "%31": 5
-# CHECK-CP-JSON-DAG:             "%41": 15
-# CHECK-CP-JSON-DAG:             "%50": 1
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest": {
-# CHECK-CP-JSON-DAG:             "register": "%17",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 16
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest-subreg": {
-# CHECK-CP-JSON-DAG:             "register": "%17",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 16
-# CHECK-CP-JSON:               }
-# CHECK-CP-JSON-NEXT:        },
-# CHECK-CP-JSON-NEXT:        {
-# CHECK-CP-JSON-NEXT:          "instr": "%51:vgpr_32 = V_ADD_U32_e64 -2, %50, 0, implicit $exec",
-# CHECK-CP-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "distances": {
-# CHECK-CP-JSON-DAG:             "%0": 4
-# CHECK-CP-JSON-DAG:             "%8": 3
-# CHECK-CP-JSON-DAG:             "%17": 15
-# CHECK-CP-JSON-DAG:             "%27": 2
-# CHECK-CP-JSON-DAG:             "%29": 13
-# CHECK-CP-JSON-DAG:             "%30": 1
-# CHECK-CP-JSON-DAG:             "%31": 4
-# CHECK-CP-JSON-DAG:             "%41": 14
-# CHECK-CP-JSON-DAG:             "%50": 0
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest": {
-# CHECK-CP-JSON-DAG:             "register": "%17",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 15
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest-subreg": {
-# CHECK-CP-JSON-DAG:             "register": "%17",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 15
-# CHECK-CP-JSON:               }
-# CHECK-CP-JSON-NEXT:        },
-# CHECK-CP-JSON-NEXT:        {
-# CHECK-CP-JSON-NEXT:          "instr": "%52:vgpr_32 = V_MUL_LO_U32_e64 %30, %51, implicit $exec",
-# CHECK-CP-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "distances": {
-# CHECK-CP-JSON-DAG:             "%0": 3
-# CHECK-CP-JSON-DAG:             "%8": 2
-# CHECK-CP-JSON-DAG:             "%17": 14
-# CHECK-CP-JSON-DAG:             "%27": 1
-# CHECK-CP-JSON-DAG:             "%29": 12
-# CHECK-CP-JSON-DAG:             "%30": 0
-# CHECK-CP-JSON-DAG:             "%31": 3
-# CHECK-CP-JSON-DAG:             "%41": 13
-# CHECK-CP-JSON-DAG:             "%51": 0
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest": {
-# CHECK-CP-JSON-DAG:             "register": "%17",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 14
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest-subreg": {
-# CHECK-CP-JSON-DAG:             "register": "%17",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 14
-# CHECK-CP-JSON:               }
-# CHECK-CP-JSON-NEXT:        },
-# CHECK-CP-JSON-NEXT:        {
-# CHECK-CP-JSON-NEXT:          "instr": "%53:vgpr_32 = V_MUL_LO_U32_e64 100, %27, implicit $exec",
-# CHECK-CP-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "distances": {
-# CHECK-CP-JSON-DAG:             "%0": 2
-# CHECK-CP-JSON-DAG:             "%8": 1
-# CHECK-CP-JSON-DAG:             "%17": 13
-# CHECK-CP-JSON-DAG:             "%27": 0
-# CHECK-CP-JSON-DAG:             "%29": 11
-# CHECK-CP-JSON-DAG:             "%31": 2
-# CHECK-CP-JSON-DAG:             "%41": 12
-# CHECK-CP-JSON-DAG:             "%52": 2
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest": {
-# CHECK-CP-JSON-DAG:             "register": "%17",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 13
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest-subreg": {
-# CHECK-CP-JSON-DAG:             "register": "%17",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 13
-# CHECK-CP-JSON:               }
-# CHECK-CP-JSON-NEXT:        },
-# CHECK-CP-JSON-NEXT:        {
-# CHECK-CP-JSON-NEXT:          "instr": "GLOBAL_STORE_DWORD %8, %53, 0, 0, implicit $exec :: (store (s32) into %ir.p3, addrspace 1)",
-# CHECK-CP-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "distances": {
-# CHECK-CP-JSON-DAG:             "%0": 1
-# CHECK-CP-JSON-DAG:             "%8": 0
-# CHECK-CP-JSON-DAG:             "%17": 12
-# CHECK-CP-JSON-DAG:             "%29": 10
-# CHECK-CP-JSON-DAG:             "%31": 1
-# CHECK-CP-JSON-DAG:             "%41": 11
-# CHECK-CP-JSON-DAG:             "%52": 1
-# CHECK-CP-JSON-DAG:             "%53": 0
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest": {
-# CHECK-CP-JSON-DAG:             "register": "%17",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 12
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest-subreg": {
-# CHECK-CP-JSON-DAG:             "register": "%17",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 12
-# CHECK-CP-JSON:               }
-# CHECK-CP-JSON-NEXT:        },
-# CHECK-CP-JSON-NEXT:        {
-# CHECK-CP-JSON-NEXT:          "instr": "%54:sreg_32 = S_MOV_B32 0",
-# CHECK-CP-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "distances": {
-# CHECK-CP-JSON-DAG:             "%0": 0
-# CHECK-CP-JSON-DAG:             "%8": 8
-# CHECK-CP-JSON-DAG:             "%17": 11
-# CHECK-CP-JSON-DAG:             "%29": 9
-# CHECK-CP-JSON-DAG:             "%31": 0
-# CHECK-CP-JSON-DAG:             "%41": 10
-# CHECK-CP-JSON-DAG:             "%52": 0
-# CHECK-CP-JSON-DAG:             "%53": 10
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest": {
-# CHECK-CP-JSON-DAG:             "register": "%17",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 11
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest-subreg": {
-# CHECK-CP-JSON-DAG:             "register": "%17",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 11
-# CHECK-CP-JSON:               }
-# CHECK-CP-JSON-NEXT:        }
-# CHECK-CP-JSON-NEXT:      ],
-# CHECK-CP-JSON-NEXT:      "bb.3": [
-# CHECK-CP-JSON-NEXT:        {
-# CHECK-CP-JSON-NEXT:          "instr": "%55:sreg_32 = PHI %54, %bb.2, %56, %bb.3",
-# CHECK-CP-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "distances": {
-# CHECK-CP-JSON-DAG:             "%0": 1
-# CHECK-CP-JSON-DAG:             "%8": 770
-# CHECK-CP-JSON-DAG:             "%17": 773
-# CHECK-CP-JSON-DAG:             "%29": 771
-# CHECK-CP-JSON-DAG:             "%41": 772
-# CHECK-CP-JSON-DAG:             "%52": 5
-# CHECK-CP-JSON-DAG:             "%53": 772
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest": {
-# CHECK-CP-JSON-DAG:             "register": "%17",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 773
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest-subreg": {
-# CHECK-CP-JSON-DAG:             "register": "%17",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 773
-# CHECK-CP-JSON:               }
-# CHECK-CP-JSON-NEXT:        },
-# CHECK-CP-JSON-NEXT:        {
-# CHECK-CP-JSON-NEXT:          "instr": "%57:sreg_32 = PHI %54, %bb.2, %58, %bb.3",
-# CHECK-CP-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "distances": {
-# CHECK-CP-JSON-DAG:             "%0": 1
-# CHECK-CP-JSON-DAG:             "%8": 770
-# CHECK-CP-JSON-DAG:             "%17": 773
-# CHECK-CP-JSON-DAG:             "%29": 771
-# CHECK-CP-JSON-DAG:             "%41": 772
-# CHECK-CP-JSON-DAG:             "%52": 5
-# CHECK-CP-JSON-DAG:             "%53": 772
-# CHECK-CP-JSON-DAG:             "%55": 2
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest": {
-# CHECK-CP-JSON-DAG:             "register": "%17",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 773
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest-subreg": {
-# CHECK-CP-JSON-DAG:             "register": "%17",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 773
-# CHECK-CP-JSON:               }
-# CHECK-CP-JSON-NEXT:        },
-# CHECK-CP-JSON-NEXT:        {
-# CHECK-CP-JSON-NEXT:          "instr": "%59:vgpr_32 = PHI %31, %bb.2, %52, %bb.3",
-# CHECK-CP-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "distances": {
-# CHECK-CP-JSON-DAG:             "%0": 1
-# CHECK-CP-JSON-DAG:             "%8": 770
-# CHECK-CP-JSON-DAG:             "%17": 773
-# CHECK-CP-JSON-DAG:             "%29": 771
-# CHECK-CP-JSON-DAG:             "%41": 772
-# CHECK-CP-JSON-DAG:             "%52": 5
-# CHECK-CP-JSON-DAG:             "%53": 772
-# CHECK-CP-JSON-DAG:             "%55": 2
-# CHECK-CP-JSON-DAG:             "%57": 0
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest": {
-# CHECK-CP-JSON-DAG:             "register": "%17",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 773
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest-subreg": {
-# CHECK-CP-JSON-DAG:             "register": "%17",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 773
-# CHECK-CP-JSON:               }
-# CHECK-CP-JSON-NEXT:        },
-# CHECK-CP-JSON-NEXT:        {
-# CHECK-CP-JSON-NEXT:          "instr": "%58:sreg_32 = S_ADD_I32 %57, 2, implicit-def dead $scc",
-# CHECK-CP-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "distances": {
-# CHECK-CP-JSON-DAG:             "%0": 1
-# CHECK-CP-JSON-DAG:             "%8": 770
-# CHECK-CP-JSON-DAG:             "%17": 773
-# CHECK-CP-JSON-DAG:             "%29": 771
-# CHECK-CP-JSON-DAG:             "%41": 772
-# CHECK-CP-JSON-DAG:             "%52": 5
-# CHECK-CP-JSON-DAG:             "%53": 772
-# CHECK-CP-JSON-DAG:             "%55": 2
-# CHECK-CP-JSON-DAG:             "%57": 0
-# CHECK-CP-JSON-DAG:             "%59": 770
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest": {
-# CHECK-CP-JSON-DAG:             "register": "%17",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 773
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest-subreg": {
-# CHECK-CP-JSON-DAG:             "register": "%17",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 773
-# CHECK-CP-JSON:               }
-# CHECK-CP-JSON-NEXT:        },
-# CHECK-CP-JSON-NEXT:        {
-# CHECK-CP-JSON-NEXT:          "instr": "%60:sreg_32 = V_CMP_GE_U32_e64 %58, %0, implicit $exec",
-# CHECK-CP-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "distances": {
-# CHECK-CP-JSON-DAG:             "%0": 0
-# CHECK-CP-JSON-DAG:             "%8": 770
-# CHECK-CP-JSON-DAG:             "%17": 773
-# CHECK-CP-JSON-DAG:             "%29": 771
-# CHECK-CP-JSON-DAG:             "%41": 772
-# CHECK-CP-JSON-DAG:             "%52": 4
-# CHECK-CP-JSON-DAG:             "%53": 772
-# CHECK-CP-JSON-DAG:             "%55": 1
-# CHECK-CP-JSON-DAG:             "%58": 0
-# CHECK-CP-JSON-DAG:             "%59": 770
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest": {
-# CHECK-CP-JSON-DAG:             "register": "%17",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 773
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest-subreg": {
-# CHECK-CP-JSON-DAG:             "register": "%17",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 773
-# CHECK-CP-JSON:               }
-# CHECK-CP-JSON-NEXT:        },
-# CHECK-CP-JSON-NEXT:        {
-# CHECK-CP-JSON-NEXT:          "instr": "%56:sreg_32 = SI_IF_BREAK %60, %55, implicit-def dead $scc",
-# CHECK-CP-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "distances": {
-# CHECK-CP-JSON-DAG:             "%0": 11
-# CHECK-CP-JSON-DAG:             "%8": 770
-# CHECK-CP-JSON-DAG:             "%17": 773
-# CHECK-CP-JSON-DAG:             "%29": 771
-# CHECK-CP-JSON-DAG:             "%41": 772
-# CHECK-CP-JSON-DAG:             "%52": 3
-# CHECK-CP-JSON-DAG:             "%53": 772
-# CHECK-CP-JSON-DAG:             "%55": 0
-# CHECK-CP-JSON-DAG:             "%58": 1
-# CHECK-CP-JSON-DAG:             "%59": 770
-# CHECK-CP-JSON-DAG:             "%60": 0
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest": {
-# CHECK-CP-JSON-DAG:             "register": "%17",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 773
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest-subreg": {
-# CHECK-CP-JSON-DAG:             "register": "%17",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 773
-# CHECK-CP-JSON:               }
-# CHECK-CP-JSON-NEXT:        },
-# CHECK-CP-JSON-NEXT:        {
-# CHECK-CP-JSON-NEXT:          "instr": "%61:vgpr_32 = COPY %58, implicit $exec",
-# CHECK-CP-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "distances": {
-# CHECK-CP-JSON-DAG:             "%0": 10
-# CHECK-CP-JSON-DAG:             "%8": 770
-# CHECK-CP-JSON-DAG:             "%17": 773
-# CHECK-CP-JSON-DAG:             "%29": 771
-# CHECK-CP-JSON-DAG:             "%41": 772
-# CHECK-CP-JSON-DAG:             "%52": 2
-# CHECK-CP-JSON-DAG:             "%53": 772
-# CHECK-CP-JSON-DAG:             "%56": 1
-# CHECK-CP-JSON-DAG:             "%58": 0
-# CHECK-CP-JSON-DAG:             "%59": 770
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest": {
-# CHECK-CP-JSON-DAG:             "register": "%17",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 773
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest-subreg": {
-# CHECK-CP-JSON-DAG:             "register": "%17",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 773
-# CHECK-CP-JSON:               }
-# CHECK-CP-JSON-NEXT:        },
-# CHECK-CP-JSON-NEXT:        {
-# CHECK-CP-JSON-NEXT:          "instr": "SI_LOOP %56, %bb.3, implicit-def dead $exec, implicit-def dead $scc, implicit $exec",
-# CHECK-CP-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "distances": {
-# CHECK-CP-JSON-DAG:             "%0": 9
-# CHECK-CP-JSON-DAG:             "%8": 770
-# CHECK-CP-JSON-DAG:             "%17": 773
-# CHECK-CP-JSON-DAG:             "%29": 771
-# CHECK-CP-JSON-DAG:             "%41": 772
-# CHECK-CP-JSON-DAG:             "%52": 1
-# CHECK-CP-JSON-DAG:             "%53": 772
-# CHECK-CP-JSON-DAG:             "%56": 0
-# CHECK-CP-JSON-DAG:             "%58": 1
-# CHECK-CP-JSON-DAG:             "%59": 770
-# CHECK-CP-JSON-DAG:             "%61": 771
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest": {
-# CHECK-CP-JSON-DAG:             "register": "%17",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 773
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest-subreg": {
-# CHECK-CP-JSON-DAG:             "register": "%17",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 773
-# CHECK-CP-JSON:               }
-# CHECK-CP-JSON-NEXT:        },
-# CHECK-CP-JSON-NEXT:        {
-# CHECK-CP-JSON-NEXT:          "instr": "S_BRANCH %bb.4",
-# CHECK-CP-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "distances": {
-# CHECK-CP-JSON-DAG:             "%0": 8
-# CHECK-CP-JSON-DAG:             "%8": 770
-# CHECK-CP-JSON-DAG:             "%17": 773
-# CHECK-CP-JSON-DAG:             "%29": 771
-# CHECK-CP-JSON-DAG:             "%41": 772
-# CHECK-CP-JSON-DAG:             "%52": 0
-# CHECK-CP-JSON-DAG:             "%53": 772
-# CHECK-CP-JSON-DAG:             "%56": 0
-# CHECK-CP-JSON-DAG:             "%58": 0
-# CHECK-CP-JSON-DAG:             "%59": 770
-# CHECK-CP-JSON-DAG:             "%61": 771
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest": {
-# CHECK-CP-JSON-DAG:             "register": "%17",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 773
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest-subreg": {
-# CHECK-CP-JSON-DAG:             "register": "%17",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 773
-# CHECK-CP-JSON:               }
-# CHECK-CP-JSON-NEXT:        }
-# CHECK-CP-JSON-NEXT:      ],
-# CHECK-CP-JSON-NEXT:      "bb.4": [
-# CHECK-CP-JSON-NEXT:        {
-# CHECK-CP-JSON-NEXT:          "instr": "SI_END_CF %56, implicit-def dead $exec, implicit-def dead $scc, implicit $exec",
-# CHECK-CP-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "distances": {
-# CHECK-CP-JSON-DAG:             "%8": 1
-# CHECK-CP-JSON-DAG:             "%17": 4
-# CHECK-CP-JSON-DAG:             "%29": 2
-# CHECK-CP-JSON-DAG:             "%41": 3
-# CHECK-CP-JSON-DAG:             "%53": 3
-# CHECK-CP-JSON-DAG:             "%56": 0
-# CHECK-CP-JSON-DAG:             "%59": 1
-# CHECK-CP-JSON-DAG:             "%61": 2
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest": {
-# CHECK-CP-JSON-DAG:             "register": "%17",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 4
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest-subreg": {
-# CHECK-CP-JSON-DAG:             "register": "%17",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 4
-# CHECK-CP-JSON:               }
-# CHECK-CP-JSON-NEXT:        },
-# CHECK-CP-JSON-NEXT:        {
-# CHECK-CP-JSON-NEXT:          "instr": "GLOBAL_STORE_DWORD %8, %59, 0, 0, implicit $exec :: (store (s32) into %ir.p3, addrspace 1)",
-# CHECK-CP-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "distances": {
-# CHECK-CP-JSON-DAG:             "%8": 0
-# CHECK-CP-JSON-DAG:             "%17": 3
-# CHECK-CP-JSON-DAG:             "%29": 1
-# CHECK-CP-JSON-DAG:             "%41": 2
-# CHECK-CP-JSON-DAG:             "%53": 2
-# CHECK-CP-JSON-DAG:             "%59": 0
-# CHECK-CP-JSON-DAG:             "%61": 1
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest": {
-# CHECK-CP-JSON-DAG:             "register": "%17",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 3
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest-subreg": {
-# CHECK-CP-JSON-DAG:             "register": "%17",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 3
-# CHECK-CP-JSON:               }
-# CHECK-CP-JSON-NEXT:        },
-# CHECK-CP-JSON-NEXT:        {
-# CHECK-CP-JSON-NEXT:          "instr": "%62:vgpr_32 = V_ADD3_U32_e64 %59, %61, %29, implicit $exec",
-# CHECK-CP-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "distances": {
-# CHECK-CP-JSON-DAG:             "%17": 2
-# CHECK-CP-JSON-DAG:             "%29": 0
-# CHECK-CP-JSON-DAG:             "%41": 1
-# CHECK-CP-JSON-DAG:             "%53": 1
-# CHECK-CP-JSON-DAG:             "%59": 0
-# CHECK-CP-JSON-DAG:             "%61": 0
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest": {
-# CHECK-CP-JSON-DAG:             "register": "%17",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 2
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest-subreg": {
-# CHECK-CP-JSON-DAG:             "register": "%17",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 2
-# CHECK-CP-JSON:               }
-# CHECK-CP-JSON-NEXT:        },
-# CHECK-CP-JSON-NEXT:        {
-# CHECK-CP-JSON-NEXT:          "instr": "%63:vgpr_32 = V_ADD3_U32_e64 %62, %53, %41, implicit $exec",
-# CHECK-CP-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "distances": {
-# CHECK-CP-JSON-DAG:             "%17": 1
-# CHECK-CP-JSON-DAG:             "%41": 0
-# CHECK-CP-JSON-DAG:             "%53": 0
-# CHECK-CP-JSON-DAG:             "%62": 0
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest": {
-# CHECK-CP-JSON-DAG:             "register": "%17",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 1
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest-subreg": {
-# CHECK-CP-JSON-DAG:             "register": "%17",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 1
-# CHECK-CP-JSON:               }
-# CHECK-CP-JSON-NEXT:        },
-# CHECK-CP-JSON-NEXT:        {
-# CHECK-CP-JSON-NEXT:          "instr": "%64:vgpr_32 = V_ADD3_U32_e64 %17, %63, 100, implicit $exec",
-# CHECK-CP-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "distances": {
-# CHECK-CP-JSON-DAG:             "%17": 0
-# CHECK-CP-JSON-DAG:             "%63": 0
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest": {
-# CHECK-CP-JSON-DAG:             "register": "%17",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 0
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest-subreg": {
-# CHECK-CP-JSON-DAG:             "register": "%17",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 0
-# CHECK-CP-JSON:               }
-# CHECK-CP-JSON-NEXT:        },
-# CHECK-CP-JSON-NEXT:        {
-# CHECK-CP-JSON-NEXT:          "instr": "%65:sreg_32_xm0 = V_READFIRSTLANE_B32 %64, implicit $exec",
-# CHECK-CP-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "distances": {
-# CHECK-CP-JSON-DAG:             "%64": 0
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest": {
-# CHECK-CP-JSON-DAG:             "register": "%64",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 0
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest-subreg": {
-# CHECK-CP-JSON-DAG:             "register": "%64",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 0
-# CHECK-CP-JSON:               }
-# CHECK-CP-JSON-NEXT:        },
-# CHECK-CP-JSON-NEXT:        {
-# CHECK-CP-JSON-NEXT:          "instr": "$sgpr0 = COPY %65",
-# CHECK-CP-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "distances": {
-# CHECK-CP-JSON-DAG:             "%65": 0
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest": {
-# CHECK-CP-JSON-DAG:             "register": "%65",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 0
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest-subreg": {
-# CHECK-CP-JSON-DAG:             "register": "%65",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 0
-# CHECK-CP-JSON:               }
-# CHECK-CP-JSON-NEXT:        },
-# CHECK-CP-JSON-NEXT:        {
-# CHECK-CP-JSON-NEXT:          "instr": "SI_RETURN_TO_EPILOG killed $sgpr0",
-# CHECK-CP-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "distances": {},
-# CHECK-CP-JSON-NEXT:          "furthest": {},
-# CHECK-CP-JSON-NEXT:          "furthest-subreg": {}
-# CHECK-CP-JSON-NEXT:        }
-# CHECK-CP-JSON-NEXT:      ]
-# CHECK-CP-JSON-NEXT:    },
-# CHECK-CP-JSON-NEXT:    "distance-from-def-to-closest-use": {
-# CHECK-CP-JSON-DAG:       "%0": 52,
-# CHECK-CP-JSON-DAG:       "%1": 19,
-# CHECK-CP-JSON-DAG:       "%2": 6,
-# CHECK-CP-JSON-DAG:       "%3": 5,
-# CHECK-CP-JSON-DAG:       "%4": 5,
-# CHECK-CP-JSON-DAG:       "%5": 4,
-# CHECK-CP-JSON-DAG:       "%6": 4,
-# CHECK-CP-JSON-DAG:       "%7": 3,
-# CHECK-CP-JSON-DAG:       "%8": 12,
-# CHECK-CP-JSON-DAG:       "%9": 11,
-# CHECK-CP-JSON-DAG:       "%10": 1,
-# CHECK-CP-JSON-DAG:       "%11": 2,
-# CHECK-CP-JSON-DAG:       "%12": 1,
-# CHECK-CP-JSON-DAG:       "%13": 4,
-# CHECK-CP-JSON-DAG:       "%14": 2,
-# CHECK-CP-JSON-DAG:       "%15": 1,
-# CHECK-CP-JSON-DAG:       "%16": 1,
-# CHECK-CP-JSON-DAG:       "%17": 3,
-# CHECK-CP-JSON-DAG:       "%18": 2,
-# CHECK-CP-JSON-DAG:       "%19": 1,
-# CHECK-CP-JSON-DAG:       "%20": 0,
-# CHECK-CP-JSON-DAG:       "%21": 22,
-# CHECK-CP-JSON-DAG:       "%23": 19,
-# CHECK-CP-JSON-DAG:       "%25": 0,
-# CHECK-CP-JSON-DAG:       "%27": 3332,
-# CHECK-CP-JSON-DAG:       "%29": 4105,
-# CHECK-CP-JSON-DAG:       "%31": 3334,
-# CHECK-CP-JSON-DAG:       "%33": 1,
-# CHECK-CP-JSON-DAG:       "%34": 1,
-# CHECK-CP-JSON-DAG:       "%35": 1,
-# CHECK-CP-JSON-DAG:       "%36": 1,
-# CHECK-CP-JSON-DAG:       "%37": 2,
-# CHECK-CP-JSON-DAG:       "%38": 1,
-# CHECK-CP-JSON-DAG:       "%39": 1,
-# CHECK-CP-JSON-DAG:       "%40": 1,
-# CHECK-CP-JSON-DAG:       "%41": 1,
-# CHECK-CP-JSON-DAG:       "%28": 17,
-# CHECK-CP-JSON-DAG:       "%30": 1,
-# CHECK-CP-JSON-DAG:       "%42": 2,
-# CHECK-CP-JSON-DAG:       "%43": 1,
-# CHECK-CP-JSON-DAG:       "%44": 1,
-# CHECK-CP-JSON-DAG:       "%45": 1,
-# CHECK-CP-JSON-DAG:       "%46": 2,
-# CHECK-CP-JSON-DAG:       "%47": 1,
-# CHECK-CP-JSON-DAG:       "%48": 3,
-# CHECK-CP-JSON-DAG:       "%26": 5,
-# CHECK-CP-JSON-DAG:       "%24": 6,
-# CHECK-CP-JSON-DAG:       "%32": 5,
-# CHECK-CP-JSON-DAG:       "%49": 1,
-# CHECK-CP-JSON-DAG:       "%22": 2,
-# CHECK-CP-JSON-DAG:       "%50": 3330,
-# CHECK-CP-JSON-DAG:       "%51": 1,
-# CHECK-CP-JSON-DAG:       "%52": 3,
-# CHECK-CP-JSON-DAG:       "%53": 1,
-# CHECK-CP-JSON-DAG:       "%54": 0,
-# CHECK-CP-JSON-DAG:       "%55": 2,
-# CHECK-CP-JSON-DAG:       "%57": 0,
-# CHECK-CP-JSON-DAG:       "%59": 770,
-# CHECK-CP-JSON-DAG:       "%58": 1,
-# CHECK-CP-JSON-DAG:       "%60": 1,
-# CHECK-CP-JSON-DAG:       "%56": 2,
-# CHECK-CP-JSON-DAG:       "%61": 771,
-# CHECK-CP-JSON-DAG:       "%62": 1,
-# CHECK-CP-JSON-DAG:       "%63": 1,
-# CHECK-CP-JSON-DAG:       "%64": 1,
-# CHECK-CP-JSON-DAG:       "%65": 1
-# CHECK-CP-JSON:         },
-# CHECK-CP-JSON-NEXT:    "paths": [
-# CHECK-CP-JSON:         ],
-# CHECK-CP-JSON-NEXT:    "metrics": {
-# CHECK-CP-JSON-NEXT:        "distance-cache": {
-# CHECK-CP-JSON-NEXT:            "hits": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:            "misses": {{[0-9]+}}
-# CHECK-CP-JSON-NEXT:        }
-# CHECK-CP-JSON-NEXT:    }
-# CHECK-CP-JSON-NEXT:  },
-# CHECK-CP-JSON-DAG:   "time.amdgpu-next-use-analysis-json.json.wall": {{[0-9.e+-]+}},
-# CHECK-CP-JSON-DAG:   "time.amdgpu-next-use-analysis-json.json.user": {{[0-9.e+-]+}},
-# CHECK-CP-JSON-DAG:   "time.amdgpu-next-use-analysis-json.json.sys": {{[0-9.e+-]+}}
-# CHECK-CP-JSON:      }
-# CHECK-GX-JSON:      {
-# CHECK-GX-JSON-NEXT:  "next-use-analysis": {
-# CHECK-GX-JSON-NEXT:    "furthest-distances": {
-# CHECK-GX-JSON-NEXT:      "bb.0": [
-# CHECK-GX-JSON-NEXT:        {
-# CHECK-GX-JSON-NEXT:          "instr": "%0:vgpr_32 = COPY $vgpr7",
-# CHECK-GX-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "distances": {},
-# CHECK-GX-JSON-NEXT:          "furthest": {},
-# CHECK-GX-JSON-NEXT:          "furthest-subreg": {}
-# CHECK-GX-JSON-NEXT:        },
-# CHECK-GX-JSON-NEXT:        {
-# CHECK-GX-JSON-NEXT:          "instr": "%1:vgpr_32 = COPY $vgpr6",
-# CHECK-GX-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "distances": {
-# CHECK-GX-JSON-DAG:             "%0": 4126
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest": {
-# CHECK-GX-JSON-DAG:             "register": "%0",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 4126
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest-subreg": {
-# CHECK-GX-JSON-DAG:             "register": "%0",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 4126
-# CHECK-GX-JSON:               }
-# CHECK-GX-JSON-NEXT:        },
-# CHECK-GX-JSON-NEXT:        {
-# CHECK-GX-JSON-NEXT:          "instr": "%2:vgpr_32 = COPY $vgpr5",
-# CHECK-GX-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "distances": {
-# CHECK-GX-JSON-DAG:             "%0": 4125
-# CHECK-GX-JSON-DAG:             "%1": 46
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest": {
-# CHECK-GX-JSON-DAG:             "register": "%0",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 4125
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest-subreg": {
-# CHECK-GX-JSON-DAG:             "register": "%0",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 4125
-# CHECK-GX-JSON:               }
-# CHECK-GX-JSON-NEXT:        },
-# CHECK-GX-JSON-NEXT:        {
-# CHECK-GX-JSON-NEXT:          "instr": "%3:vgpr_32 = COPY $vgpr4",
-# CHECK-GX-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "distances": {
-# CHECK-GX-JSON-DAG:             "%0": 4124
-# CHECK-GX-JSON-DAG:             "%1": 45
-# CHECK-GX-JSON-DAG:             "%2": 5
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest": {
-# CHECK-GX-JSON-DAG:             "register": "%0",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 4124
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest-subreg": {
-# CHECK-GX-JSON-DAG:             "register": "%0",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 4124
-# CHECK-GX-JSON:               }
-# CHECK-GX-JSON-NEXT:        },
-# CHECK-GX-JSON-NEXT:        {
-# CHECK-GX-JSON-NEXT:          "instr": "%4:vgpr_32 = COPY $vgpr3",
-# CHECK-GX-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "distances": {
-# CHECK-GX-JSON-DAG:             "%0": 4123
-# CHECK-GX-JSON-DAG:             "%1": 44
-# CHECK-GX-JSON-DAG:             "%2": 4
-# CHECK-GX-JSON-DAG:             "%3": 4
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest": {
-# CHECK-GX-JSON-DAG:             "register": "%0",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 4123
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest-subreg": {
-# CHECK-GX-JSON-DAG:             "register": "%0",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 4123
-# CHECK-GX-JSON:               }
-# CHECK-GX-JSON-NEXT:        },
-# CHECK-GX-JSON-NEXT:        {
-# CHECK-GX-JSON-NEXT:          "instr": "%5:vgpr_32 = COPY $vgpr2",
-# CHECK-GX-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "distances": {
-# CHECK-GX-JSON-DAG:             "%0": 4122
-# CHECK-GX-JSON-DAG:             "%1": 43
-# CHECK-GX-JSON-DAG:             "%2": 3
-# CHECK-GX-JSON-DAG:             "%3": 3
-# CHECK-GX-JSON-DAG:             "%4": 4
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest": {
-# CHECK-GX-JSON-DAG:             "register": "%0",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 4122
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest-subreg": {
-# CHECK-GX-JSON-DAG:             "register": "%0",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 4122
-# CHECK-GX-JSON:               }
-# CHECK-GX-JSON-NEXT:        },
-# CHECK-GX-JSON-NEXT:        {
-# CHECK-GX-JSON-NEXT:          "instr": "%6:vgpr_32 = COPY $vgpr1",
-# CHECK-GX-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "distances": {
-# CHECK-GX-JSON-DAG:             "%0": 4121
-# CHECK-GX-JSON-DAG:             "%1": 42
-# CHECK-GX-JSON-DAG:             "%2": 2
-# CHECK-GX-JSON-DAG:             "%3": 2
-# CHECK-GX-JSON-DAG:             "%4": 3
-# CHECK-GX-JSON-DAG:             "%5": 3
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest": {
-# CHECK-GX-JSON-DAG:             "register": "%0",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 4121
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest-subreg": {
-# CHECK-GX-JSON-DAG:             "register": "%0",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 4121
-# CHECK-GX-JSON:               }
-# CHECK-GX-JSON-NEXT:        },
-# CHECK-GX-JSON-NEXT:        {
-# CHECK-GX-JSON-NEXT:          "instr": "%7:vgpr_32 = COPY $vgpr0",
-# CHECK-GX-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "distances": {
-# CHECK-GX-JSON-DAG:             "%0": 4120
-# CHECK-GX-JSON-DAG:             "%1": 41
-# CHECK-GX-JSON-DAG:             "%2": 1
-# CHECK-GX-JSON-DAG:             "%3": 1
-# CHECK-GX-JSON-DAG:             "%4": 2
-# CHECK-GX-JSON-DAG:             "%5": 2
-# CHECK-GX-JSON-DAG:             "%6": 3
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest": {
-# CHECK-GX-JSON-DAG:             "register": "%0",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 4120
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest-subreg": {
-# CHECK-GX-JSON-DAG:             "register": "%0",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 4120
-# CHECK-GX-JSON:               }
-# CHECK-GX-JSON-NEXT:        },
-# CHECK-GX-JSON-NEXT:        {
-# CHECK-GX-JSON-NEXT:          "instr": "%8:vreg_64 = REG_SEQUENCE %3, %subreg.sub0, %2, %subreg.sub1",
-# CHECK-GX-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "distances": {
-# CHECK-GX-JSON-DAG:             "%0": 4119
-# CHECK-GX-JSON-DAG:             "%1": 40
-# CHECK-GX-JSON-DAG:             "%2": 0
-# CHECK-GX-JSON-DAG:             "%3": 0
-# CHECK-GX-JSON-DAG:             "%4": 1
-# CHECK-GX-JSON-DAG:             "%5": 1
-# CHECK-GX-JSON-DAG:             "%6": 2
-# CHECK-GX-JSON-DAG:             "%7": 2
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest": {
-# CHECK-GX-JSON-DAG:             "register": "%0",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 4119
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest-subreg": {
-# CHECK-GX-JSON-DAG:             "register": "%0",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 4119
-# CHECK-GX-JSON:               }
-# CHECK-GX-JSON-NEXT:        },
-# CHECK-GX-JSON-NEXT:        {
-# CHECK-GX-JSON-NEXT:          "instr": "%9:vreg_64 = REG_SEQUENCE %5, %subreg.sub0, %4, %subreg.sub1",
-# CHECK-GX-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "distances": {
-# CHECK-GX-JSON-DAG:             "%0": 4118
-# CHECK-GX-JSON-DAG:             "%1": 39
-# CHECK-GX-JSON-DAG:             "%4": 0
-# CHECK-GX-JSON-DAG:             "%5": 0
-# CHECK-GX-JSON-DAG:             "%6": 1
-# CHECK-GX-JSON-DAG:             "%7": 1
-# CHECK-GX-JSON-DAG:             "%8:sub0": 30
-# CHECK-GX-JSON-DAG:             "%8:sub1": 31
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest": {
-# CHECK-GX-JSON-DAG:             "register": "%0",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 4118
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest-subreg": {
-# CHECK-GX-JSON-DAG:             "register": "%0",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 4118
-# CHECK-GX-JSON:               }
-# CHECK-GX-JSON-NEXT:        },
-# CHECK-GX-JSON-NEXT:        {
-# CHECK-GX-JSON-NEXT:          "instr": "%10:vreg_64 = REG_SEQUENCE %7, %subreg.sub0, %6, %subreg.sub1",
-# CHECK-GX-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "distances": {
-# CHECK-GX-JSON-DAG:             "%0": 4117
-# CHECK-GX-JSON-DAG:             "%1": 38
-# CHECK-GX-JSON-DAG:             "%6": 0
-# CHECK-GX-JSON-DAG:             "%7": 0
-# CHECK-GX-JSON-DAG:             "%8:sub0": 29
-# CHECK-GX-JSON-DAG:             "%8:sub1": 30
-# CHECK-GX-JSON-DAG:             "%9:sub0": 21
-# CHECK-GX-JSON-DAG:             "%9:sub1": 22
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest": {
-# CHECK-GX-JSON-DAG:             "register": "%0",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 4117
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest-subreg": {
-# CHECK-GX-JSON-DAG:             "register": "%0",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 4117
-# CHECK-GX-JSON:               }
-# CHECK-GX-JSON-NEXT:        },
-# CHECK-GX-JSON-NEXT:        {
-# CHECK-GX-JSON-NEXT:          "instr": "%11:vgpr_32 = GLOBAL_LOAD_UBYTE %10, 0, 0, implicit $exec :: (load (s8) from %ir.p1, addrspace 1)",
-# CHECK-GX-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "distances": {
-# CHECK-GX-JSON-DAG:             "%0": 4116
-# CHECK-GX-JSON-DAG:             "%1": 37
-# CHECK-GX-JSON-DAG:             "%8:sub0": 28
-# CHECK-GX-JSON-DAG:             "%8:sub1": 29
-# CHECK-GX-JSON-DAG:             "%9:sub0": 20
-# CHECK-GX-JSON-DAG:             "%9:sub1": 21
-# CHECK-GX-JSON-DAG:             "%10": 0
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest": {
-# CHECK-GX-JSON-DAG:             "register": "%0",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 4116
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest-subreg": {
-# CHECK-GX-JSON-DAG:             "register": "%0",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 4116
-# CHECK-GX-JSON:               }
-# CHECK-GX-JSON-NEXT:        },
-# CHECK-GX-JSON-NEXT:        {
-# CHECK-GX-JSON-NEXT:          "instr": "%12:vgpr_32 = GLOBAL_LOAD_UBYTE %10, 1, 0, implicit $exec :: (load (s8) from %ir.p1 + 1, addrspace 1)",
-# CHECK-GX-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "distances": {
-# CHECK-GX-JSON-DAG:             "%0": 4115
-# CHECK-GX-JSON-DAG:             "%1": 36
-# CHECK-GX-JSON-DAG:             "%8:sub0": 27
-# CHECK-GX-JSON-DAG:             "%8:sub1": 28
-# CHECK-GX-JSON-DAG:             "%9:sub0": 19
-# CHECK-GX-JSON-DAG:             "%9:sub1": 20
-# CHECK-GX-JSON-DAG:             "%10": 0
-# CHECK-GX-JSON-DAG:             "%11": 1
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest": {
-# CHECK-GX-JSON-DAG:             "register": "%0",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 4115
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest-subreg": {
-# CHECK-GX-JSON-DAG:             "register": "%0",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 4115
-# CHECK-GX-JSON:               }
-# CHECK-GX-JSON-NEXT:        },
-# CHECK-GX-JSON-NEXT:        {
-# CHECK-GX-JSON-NEXT:          "instr": "%13:vgpr_32 = V_LSHL_OR_B32_e64 %12, 8, %11, implicit $exec",
-# CHECK-GX-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "distances": {
-# CHECK-GX-JSON-DAG:             "%0": 4114
-# CHECK-GX-JSON-DAG:             "%1": 35
-# CHECK-GX-JSON-DAG:             "%8:sub0": 26
-# CHECK-GX-JSON-DAG:             "%8:sub1": 27
-# CHECK-GX-JSON-DAG:             "%9:sub0": 18
-# CHECK-GX-JSON-DAG:             "%9:sub1": 19
-# CHECK-GX-JSON-DAG:             "%10": 1
-# CHECK-GX-JSON-DAG:             "%11": 0
-# CHECK-GX-JSON-DAG:             "%12": 0
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest": {
-# CHECK-GX-JSON-DAG:             "register": "%0",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 4114
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest-subreg": {
-# CHECK-GX-JSON-DAG:             "register": "%0",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 4114
-# CHECK-GX-JSON:               }
-# CHECK-GX-JSON-NEXT:        },
-# CHECK-GX-JSON-NEXT:        {
-# CHECK-GX-JSON-NEXT:          "instr": "%14:vgpr_32 = GLOBAL_LOAD_UBYTE %10, 2, 0, implicit $exec :: (load (s8) from %ir.p1 + 2, addrspace 1)",
-# CHECK-GX-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "distances": {
-# CHECK-GX-JSON-DAG:             "%0": 4113
-# CHECK-GX-JSON-DAG:             "%1": 34
-# CHECK-GX-JSON-DAG:             "%8:sub0": 25
-# CHECK-GX-JSON-DAG:             "%8:sub1": 26
-# CHECK-GX-JSON-DAG:             "%9:sub0": 17
-# CHECK-GX-JSON-DAG:             "%9:sub1": 18
-# CHECK-GX-JSON-DAG:             "%10": 0
-# CHECK-GX-JSON-DAG:             "%13": 3
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest": {
-# CHECK-GX-JSON-DAG:             "register": "%0",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 4113
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest-subreg": {
-# CHECK-GX-JSON-DAG:             "register": "%0",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 4113
-# CHECK-GX-JSON:               }
-# CHECK-GX-JSON-NEXT:        },
-# CHECK-GX-JSON-NEXT:        {
-# CHECK-GX-JSON-NEXT:          "instr": "%15:vgpr_32 = GLOBAL_LOAD_UBYTE %10, 3, 0, implicit $exec :: (load (s8) from %ir.p1 + 3, addrspace 1)",
-# CHECK-GX-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "distances": {
-# CHECK-GX-JSON-DAG:             "%0": 4112
-# CHECK-GX-JSON-DAG:             "%1": 33
-# CHECK-GX-JSON-DAG:             "%8:sub0": 24
-# CHECK-GX-JSON-DAG:             "%8:sub1": 25
-# CHECK-GX-JSON-DAG:             "%9:sub0": 16
-# CHECK-GX-JSON-DAG:             "%9:sub1": 17
-# CHECK-GX-JSON-DAG:             "%10": 0
-# CHECK-GX-JSON-DAG:             "%13": 2
-# CHECK-GX-JSON-DAG:             "%14": 1
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest": {
-# CHECK-GX-JSON-DAG:             "register": "%0",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 4112
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest-subreg": {
-# CHECK-GX-JSON-DAG:             "register": "%0",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 4112
-# CHECK-GX-JSON:               }
-# CHECK-GX-JSON-NEXT:        },
-# CHECK-GX-JSON-NEXT:        {
-# CHECK-GX-JSON-NEXT:          "instr": "%16:vgpr_32 = V_LSHL_OR_B32_e64 %15, 8, %14, implicit $exec",
-# CHECK-GX-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "distances": {
-# CHECK-GX-JSON-DAG:             "%0": 4111
-# CHECK-GX-JSON-DAG:             "%1": 32
-# CHECK-GX-JSON-DAG:             "%8:sub0": 23
-# CHECK-GX-JSON-DAG:             "%8:sub1": 24
-# CHECK-GX-JSON-DAG:             "%9:sub0": 15
-# CHECK-GX-JSON-DAG:             "%9:sub1": 16
-# CHECK-GX-JSON-DAG:             "%10": 21
-# CHECK-GX-JSON-DAG:             "%13": 1
-# CHECK-GX-JSON-DAG:             "%14": 0
-# CHECK-GX-JSON-DAG:             "%15": 0
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest": {
-# CHECK-GX-JSON-DAG:             "register": "%0",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 4111
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest-subreg": {
-# CHECK-GX-JSON-DAG:             "register": "%0",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 4111
-# CHECK-GX-JSON:               }
-# CHECK-GX-JSON-NEXT:        },
-# CHECK-GX-JSON-NEXT:        {
-# CHECK-GX-JSON-NEXT:          "instr": "%17:vgpr_32 = V_LSHL_OR_B32_e64 %16, 16, %13, implicit $exec",
-# CHECK-GX-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "distances": {
-# CHECK-GX-JSON-DAG:             "%0": 4110
-# CHECK-GX-JSON-DAG:             "%1": 31
-# CHECK-GX-JSON-DAG:             "%8:sub0": 22
-# CHECK-GX-JSON-DAG:             "%8:sub1": 23
-# CHECK-GX-JSON-DAG:             "%9:sub0": 14
-# CHECK-GX-JSON-DAG:             "%9:sub1": 15
-# CHECK-GX-JSON-DAG:             "%10": 20
-# CHECK-GX-JSON-DAG:             "%13": 0
-# CHECK-GX-JSON-DAG:             "%16": 0
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest": {
-# CHECK-GX-JSON-DAG:             "register": "%0",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 4110
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest-subreg": {
-# CHECK-GX-JSON-DAG:             "register": "%0",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 4110
-# CHECK-GX-JSON:               }
-# CHECK-GX-JSON-NEXT:        },
-# CHECK-GX-JSON-NEXT:        {
-# CHECK-GX-JSON-NEXT:          "instr": "%18:vgpr_32 = V_MOV_B32_e32 100, implicit $exec",
-# CHECK-GX-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "distances": {
-# CHECK-GX-JSON-DAG:             "%0": 4109
-# CHECK-GX-JSON-DAG:             "%1": 30
-# CHECK-GX-JSON-DAG:             "%8:sub0": 21
-# CHECK-GX-JSON-DAG:             "%8:sub1": 22
-# CHECK-GX-JSON-DAG:             "%9:sub0": 13
-# CHECK-GX-JSON-DAG:             "%9:sub1": 14
-# CHECK-GX-JSON-DAG:             "%10": 19
-# CHECK-GX-JSON-DAG:             "%17": 6
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest": {
-# CHECK-GX-JSON-DAG:             "register": "%0",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 4109
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest-subreg": {
-# CHECK-GX-JSON-DAG:             "register": "%0",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 4109
-# CHECK-GX-JSON:               }
-# CHECK-GX-JSON-NEXT:        },
-# CHECK-GX-JSON-NEXT:        {
-# CHECK-GX-JSON-NEXT:          "instr": "%19:sreg_32 = S_MOV_B32 1",
-# CHECK-GX-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "distances": {
-# CHECK-GX-JSON-DAG:             "%0": 4108
-# CHECK-GX-JSON-DAG:             "%1": 29
-# CHECK-GX-JSON-DAG:             "%8:sub0": 20
-# CHECK-GX-JSON-DAG:             "%8:sub1": 21
-# CHECK-GX-JSON-DAG:             "%9:sub0": 12
-# CHECK-GX-JSON-DAG:             "%9:sub1": 13
-# CHECK-GX-JSON-DAG:             "%10": 18
-# CHECK-GX-JSON-DAG:             "%17": 5
-# CHECK-GX-JSON-DAG:             "%18": 6
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest": {
-# CHECK-GX-JSON-DAG:             "register": "%0",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 4108
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest-subreg": {
-# CHECK-GX-JSON-DAG:             "register": "%0",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 4108
-# CHECK-GX-JSON:               }
-# CHECK-GX-JSON-NEXT:        },
-# CHECK-GX-JSON-NEXT:        {
-# CHECK-GX-JSON-NEXT:          "instr": "%20:sreg_32 = S_MOV_B32 0",
-# CHECK-GX-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "distances": {
-# CHECK-GX-JSON-DAG:             "%0": 4107
-# CHECK-GX-JSON-DAG:             "%1": 28
-# CHECK-GX-JSON-DAG:             "%8:sub0": 19
-# CHECK-GX-JSON-DAG:             "%8:sub1": 20
-# CHECK-GX-JSON-DAG:             "%9:sub0": 11
-# CHECK-GX-JSON-DAG:             "%9:sub1": 12
-# CHECK-GX-JSON-DAG:             "%10": 17
-# CHECK-GX-JSON-DAG:             "%17": 4
-# CHECK-GX-JSON-DAG:             "%18": 5
-# CHECK-GX-JSON-DAG:             "%19": 3
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest": {
-# CHECK-GX-JSON-DAG:             "register": "%0",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 4107
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest-subreg": {
-# CHECK-GX-JSON-DAG:             "register": "%0",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 4107
-# CHECK-GX-JSON:               }
-# CHECK-GX-JSON-NEXT:        }
-# CHECK-GX-JSON-NEXT:      ],
-# CHECK-GX-JSON-NEXT:      "bb.1": [
-# CHECK-GX-JSON-NEXT:        {
-# CHECK-GX-JSON-NEXT:          "instr": "%21:sreg_32 = PHI %20, %bb.0, %22, %bb.1",
-# CHECK-GX-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "distances": {
-# CHECK-GX-JSON-DAG:             "%0": 4107
-# CHECK-GX-JSON-DAG:             "%1": 27
-# CHECK-GX-JSON-DAG:             "%8:sub0": 18
-# CHECK-GX-JSON-DAG:             "%8:sub1": 19
-# CHECK-GX-JSON-DAG:             "%9:sub0": 10
-# CHECK-GX-JSON-DAG:             "%9:sub1": 11
-# CHECK-GX-JSON-DAG:             "%10": 16
-# CHECK-GX-JSON-DAG:             "%17": 3
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest": {
-# CHECK-GX-JSON-DAG:             "register": "%0",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 4107
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest-subreg": {
-# CHECK-GX-JSON-DAG:             "register": "%0",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 4107
-# CHECK-GX-JSON:               }
-# CHECK-GX-JSON-NEXT:        },
-# CHECK-GX-JSON-NEXT:        {
-# CHECK-GX-JSON-NEXT:          "instr": "%23:sreg_32 = PHI %20, %bb.0, %24, %bb.1",
-# CHECK-GX-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "distances": {
-# CHECK-GX-JSON-DAG:             "%0": 4107
-# CHECK-GX-JSON-DAG:             "%1": 26
-# CHECK-GX-JSON-DAG:             "%8:sub0": 17
-# CHECK-GX-JSON-DAG:             "%8:sub1": 18
-# CHECK-GX-JSON-DAG:             "%9:sub0": 9
-# CHECK-GX-JSON-DAG:             "%9:sub1": 10
-# CHECK-GX-JSON-DAG:             "%10": 15
-# CHECK-GX-JSON-DAG:             "%17": 2
-# CHECK-GX-JSON-DAG:             "%21": 27
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest": {
-# CHECK-GX-JSON-DAG:             "register": "%0",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 4107
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest-subreg": {
-# CHECK-GX-JSON-DAG:             "register": "%0",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 4107
-# CHECK-GX-JSON:               }
-# CHECK-GX-JSON-NEXT:        },
-# CHECK-GX-JSON-NEXT:        {
-# CHECK-GX-JSON-NEXT:          "instr": "%25:sreg_32 = PHI %19, %bb.0, %26, %bb.1",
-# CHECK-GX-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "distances": {
-# CHECK-GX-JSON-DAG:             "%0": 4107
-# CHECK-GX-JSON-DAG:             "%1": 25
-# CHECK-GX-JSON-DAG:             "%8:sub0": 16
-# CHECK-GX-JSON-DAG:             "%8:sub1": 17
-# CHECK-GX-JSON-DAG:             "%9:sub0": 8
-# CHECK-GX-JSON-DAG:             "%9:sub1": 9
-# CHECK-GX-JSON-DAG:             "%10": 14
-# CHECK-GX-JSON-DAG:             "%17": 1
-# CHECK-GX-JSON-DAG:             "%21": 26
-# CHECK-GX-JSON-DAG:             "%23": 23
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest": {
-# CHECK-GX-JSON-DAG:             "register": "%0",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 4107
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest-subreg": {
-# CHECK-GX-JSON-DAG:             "register": "%0",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 4107
-# CHECK-GX-JSON:               }
-# CHECK-GX-JSON-NEXT:        },
-# CHECK-GX-JSON-NEXT:        {
-# CHECK-GX-JSON-NEXT:          "instr": "%27:vgpr_32 = PHI %17, %bb.0, %28, %bb.1",
-# CHECK-GX-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "distances": {
-# CHECK-GX-JSON-DAG:             "%0": 4107
-# CHECK-GX-JSON-DAG:             "%1": 24
-# CHECK-GX-JSON-DAG:             "%8:sub0": 15
-# CHECK-GX-JSON-DAG:             "%8:sub1": 16
-# CHECK-GX-JSON-DAG:             "%9:sub0": 7
-# CHECK-GX-JSON-DAG:             "%9:sub1": 8
-# CHECK-GX-JSON-DAG:             "%10": 13
-# CHECK-GX-JSON-DAG:             "%17": 0
-# CHECK-GX-JSON-DAG:             "%21": 25
-# CHECK-GX-JSON-DAG:             "%23": 22
-# CHECK-GX-JSON-DAG:             "%25": 3
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest": {
-# CHECK-GX-JSON-DAG:             "register": "%0",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 4107
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest-subreg": {
-# CHECK-GX-JSON-DAG:             "register": "%0",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 4107
-# CHECK-GX-JSON:               }
-# CHECK-GX-JSON-NEXT:        },
-# CHECK-GX-JSON-NEXT:        {
-# CHECK-GX-JSON-NEXT:          "instr": "%29:vgpr_32 = PHI %18, %bb.0, %30, %bb.1",
-# CHECK-GX-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "distances": {
-# CHECK-GX-JSON-DAG:             "%0": 4107
-# CHECK-GX-JSON-DAG:             "%1": 23
-# CHECK-GX-JSON-DAG:             "%8:sub0": 14
-# CHECK-GX-JSON-DAG:             "%8:sub1": 15
-# CHECK-GX-JSON-DAG:             "%9:sub0": 6
-# CHECK-GX-JSON-DAG:             "%9:sub1": 7
-# CHECK-GX-JSON-DAG:             "%10": 12
-# CHECK-GX-JSON-DAG:             "%17": 1
-# CHECK-GX-JSON-DAG:             "%21": 24
-# CHECK-GX-JSON-DAG:             "%23": 21
-# CHECK-GX-JSON-DAG:             "%25": 2
-# CHECK-GX-JSON-DAG:             "%27": 4100
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest": {
-# CHECK-GX-JSON-DAG:             "register": "%0",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 4107
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest-subreg": {
-# CHECK-GX-JSON-DAG:             "register": "%0",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 4107
-# CHECK-GX-JSON:               }
-# CHECK-GX-JSON-NEXT:        },
-# CHECK-GX-JSON-NEXT:        {
-# CHECK-GX-JSON-NEXT:          "instr": "%31:vgpr_32 = PHI %17, %bb.0, %32, %bb.1",
-# CHECK-GX-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "distances": {
-# CHECK-GX-JSON-DAG:             "%0": 4107
-# CHECK-GX-JSON-DAG:             "%1": 22
-# CHECK-GX-JSON-DAG:             "%8:sub0": 13
-# CHECK-GX-JSON-DAG:             "%8:sub1": 14
-# CHECK-GX-JSON-DAG:             "%9:sub0": 5
-# CHECK-GX-JSON-DAG:             "%9:sub1": 6
-# CHECK-GX-JSON-DAG:             "%10": 11
-# CHECK-GX-JSON-DAG:             "%17": 0
-# CHECK-GX-JSON-DAG:             "%21": 23
-# CHECK-GX-JSON-DAG:             "%23": 20
-# CHECK-GX-JSON-DAG:             "%25": 1
-# CHECK-GX-JSON-DAG:             "%27": 4100
-# CHECK-GX-JSON-DAG:             "%29": 5257
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest": {
-# CHECK-GX-JSON-DAG:             "register": "%29",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 5257
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest-subreg": {
-# CHECK-GX-JSON-DAG:             "register": "%29",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 5257
-# CHECK-GX-JSON:               }
-# CHECK-GX-JSON-NEXT:        },
-# CHECK-GX-JSON-NEXT:        {
-# CHECK-GX-JSON-NEXT:          "instr": "%33:sreg_32 = S_ADD_I32 %25, -1, implicit-def dead $scc",
-# CHECK-GX-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "distances": {
-# CHECK-GX-JSON-DAG:             "%0": 4107
-# CHECK-GX-JSON-DAG:             "%1": 21
-# CHECK-GX-JSON-DAG:             "%8:sub0": 12
-# CHECK-GX-JSON-DAG:             "%8:sub1": 13
-# CHECK-GX-JSON-DAG:             "%9:sub0": 4
-# CHECK-GX-JSON-DAG:             "%9:sub1": 5
-# CHECK-GX-JSON-DAG:             "%10": 10
-# CHECK-GX-JSON-DAG:             "%17": 5259
-# CHECK-GX-JSON-DAG:             "%21": 22
-# CHECK-GX-JSON-DAG:             "%23": 19
-# CHECK-GX-JSON-DAG:             "%25": 0
-# CHECK-GX-JSON-DAG:             "%27": 4100
-# CHECK-GX-JSON-DAG:             "%29": 5257
-# CHECK-GX-JSON-DAG:             "%31": 4105
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest": {
-# CHECK-GX-JSON-DAG:             "register": "%17",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 5259
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest-subreg": {
-# CHECK-GX-JSON-DAG:             "register": "%17",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 5259
-# CHECK-GX-JSON:               }
-# CHECK-GX-JSON-NEXT:        },
-# CHECK-GX-JSON-NEXT:        {
-# CHECK-GX-JSON-NEXT:          "instr": "%34:sreg_32_xm0 = S_ASHR_I32 %33, 31, implicit-def dead $scc",
-# CHECK-GX-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "distances": {
-# CHECK-GX-JSON-DAG:             "%0": 4107
-# CHECK-GX-JSON-DAG:             "%1": 20
-# CHECK-GX-JSON-DAG:             "%8:sub0": 11
-# CHECK-GX-JSON-DAG:             "%8:sub1": 12
-# CHECK-GX-JSON-DAG:             "%9:sub0": 3
-# CHECK-GX-JSON-DAG:             "%9:sub1": 4
-# CHECK-GX-JSON-DAG:             "%10": 9
-# CHECK-GX-JSON-DAG:             "%17": 5259
-# CHECK-GX-JSON-DAG:             "%21": 21
-# CHECK-GX-JSON-DAG:             "%23": 18
-# CHECK-GX-JSON-DAG:             "%25": 7
-# CHECK-GX-JSON-DAG:             "%27": 4100
-# CHECK-GX-JSON-DAG:             "%29": 5257
-# CHECK-GX-JSON-DAG:             "%31": 4105
-# CHECK-GX-JSON-DAG:             "%33": 0
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest": {
-# CHECK-GX-JSON-DAG:             "register": "%17",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 5259
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest-subreg": {
-# CHECK-GX-JSON-DAG:             "register": "%17",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 5259
-# CHECK-GX-JSON:               }
-# CHECK-GX-JSON-NEXT:        },
-# CHECK-GX-JSON-NEXT:        {
-# CHECK-GX-JSON-NEXT:          "instr": "%35:sreg_64 = REG_SEQUENCE %33, %subreg.sub0, %34, %subreg.sub1",
-# CHECK-GX-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "distances": {
-# CHECK-GX-JSON-DAG:             "%0": 4107
-# CHECK-GX-JSON-DAG:             "%1": 19
-# CHECK-GX-JSON-DAG:             "%8:sub0": 10
-# CHECK-GX-JSON-DAG:             "%8:sub1": 11
-# CHECK-GX-JSON-DAG:             "%9:sub0": 2
-# CHECK-GX-JSON-DAG:             "%9:sub1": 3
-# CHECK-GX-JSON-DAG:             "%10": 8
-# CHECK-GX-JSON-DAG:             "%17": 5259
-# CHECK-GX-JSON-DAG:             "%21": 20
-# CHECK-GX-JSON-DAG:             "%23": 17
-# CHECK-GX-JSON-DAG:             "%25": 6
-# CHECK-GX-JSON-DAG:             "%27": 4100
-# CHECK-GX-JSON-DAG:             "%29": 5257
-# CHECK-GX-JSON-DAG:             "%31": 4105
-# CHECK-GX-JSON-DAG:             "%33": 0
-# CHECK-GX-JSON-DAG:             "%34": 0
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest": {
-# CHECK-GX-JSON-DAG:             "register": "%17",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 5259
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest-subreg": {
-# CHECK-GX-JSON-DAG:             "register": "%17",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 5259
-# CHECK-GX-JSON:               }
-# CHECK-GX-JSON-NEXT:        },
-# CHECK-GX-JSON-NEXT:        {
-# CHECK-GX-JSON-NEXT:          "instr": "%36:sreg_64 = nsw S_LSHL_B64 %35, 2, implicit-def dead $scc",
-# CHECK-GX-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "distances": {
-# CHECK-GX-JSON-DAG:             "%0": 4107
-# CHECK-GX-JSON-DAG:             "%1": 18
-# CHECK-GX-JSON-DAG:             "%8:sub0": 9
-# CHECK-GX-JSON-DAG:             "%8:sub1": 10
-# CHECK-GX-JSON-DAG:             "%9:sub0": 1
-# CHECK-GX-JSON-DAG:             "%9:sub1": 2
-# CHECK-GX-JSON-DAG:             "%10": 7
-# CHECK-GX-JSON-DAG:             "%17": 5259
-# CHECK-GX-JSON-DAG:             "%21": 19
-# CHECK-GX-JSON-DAG:             "%23": 16
-# CHECK-GX-JSON-DAG:             "%25": 5
-# CHECK-GX-JSON-DAG:             "%27": 4100
-# CHECK-GX-JSON-DAG:             "%29": 5257
-# CHECK-GX-JSON-DAG:             "%31": 4105
-# CHECK-GX-JSON-DAG:             "%35": 0
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest": {
-# CHECK-GX-JSON-DAG:             "register": "%17",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 5259
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest-subreg": {
-# CHECK-GX-JSON-DAG:             "register": "%17",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 5259
-# CHECK-GX-JSON:               }
-# CHECK-GX-JSON-NEXT:        },
-# CHECK-GX-JSON-NEXT:        {
-# CHECK-GX-JSON-NEXT:          "instr": "%37:vgpr_32, %38:sreg_32_xm0_xexec = V_ADD_CO_U32_e64 %9.sub0, %36.sub0, 0, implicit $exec",
-# CHECK-GX-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "distances": {
-# CHECK-GX-JSON-DAG:             "%0": 4107
-# CHECK-GX-JSON-DAG:             "%1": 17
-# CHECK-GX-JSON-DAG:             "%8:sub0": 8
-# CHECK-GX-JSON-DAG:             "%8:sub1": 9
-# CHECK-GX-JSON-DAG:             "%9:sub0": 0
-# CHECK-GX-JSON-DAG:             "%9:sub1": 1
-# CHECK-GX-JSON-DAG:             "%10": 6
-# CHECK-GX-JSON-DAG:             "%17": 5259
-# CHECK-GX-JSON-DAG:             "%21": 18
-# CHECK-GX-JSON-DAG:             "%23": 15
-# CHECK-GX-JSON-DAG:             "%25": 4
-# CHECK-GX-JSON-DAG:             "%27": 4100
-# CHECK-GX-JSON-DAG:             "%29": 5257
-# CHECK-GX-JSON-DAG:             "%31": 4105
-# CHECK-GX-JSON-DAG:             "%36:sub0": 0
-# CHECK-GX-JSON-DAG:             "%36:sub1": 1
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest": {
-# CHECK-GX-JSON-DAG:             "register": "%17",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 5259
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest-subreg": {
-# CHECK-GX-JSON-DAG:             "register": "%17",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 5259
-# CHECK-GX-JSON:               }
-# CHECK-GX-JSON-NEXT:        },
-# CHECK-GX-JSON-NEXT:        {
-# CHECK-GX-JSON-NEXT:          "instr": "%39:vgpr_32, dead $sgpr_null = V_ADDC_U32_e64 %36.sub1, %9.sub1, %38, 0, implicit $exec",
-# CHECK-GX-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "distances": {
-# CHECK-GX-JSON-DAG:             "%0": 4107
-# CHECK-GX-JSON-DAG:             "%1": 16
-# CHECK-GX-JSON-DAG:             "%8:sub0": 7
-# CHECK-GX-JSON-DAG:             "%8:sub1": 8
-# CHECK-GX-JSON-DAG:             "%9:sub1": 0
-# CHECK-GX-JSON-DAG:             "%10": 5
-# CHECK-GX-JSON-DAG:             "%17": 5259
-# CHECK-GX-JSON-DAG:             "%21": 17
-# CHECK-GX-JSON-DAG:             "%23": 14
-# CHECK-GX-JSON-DAG:             "%25": 3
-# CHECK-GX-JSON-DAG:             "%27": 4100
-# CHECK-GX-JSON-DAG:             "%29": 5257
-# CHECK-GX-JSON-DAG:             "%31": 4105
-# CHECK-GX-JSON-DAG:             "%36:sub0": 7
-# CHECK-GX-JSON-DAG:             "%36:sub1": 0
-# CHECK-GX-JSON-DAG:             "%37": 1
-# CHECK-GX-JSON-DAG:             "%38": 0
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest": {
-# CHECK-GX-JSON-DAG:             "register": "%17",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 5259
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest-subreg": {
-# CHECK-GX-JSON-DAG:             "register": "%17",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 5259
-# CHECK-GX-JSON:               }
-# CHECK-GX-JSON-NEXT:        },
-# CHECK-GX-JSON-NEXT:        {
-# CHECK-GX-JSON-NEXT:          "instr": "%40:vreg_64 = REG_SEQUENCE %37, %subreg.sub0, %39, %subreg.sub1",
-# CHECK-GX-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "distances": {
-# CHECK-GX-JSON-DAG:             "%0": 4107
-# CHECK-GX-JSON-DAG:             "%1": 15
-# CHECK-GX-JSON-DAG:             "%8:sub0": 6
-# CHECK-GX-JSON-DAG:             "%8:sub1": 7
-# CHECK-GX-JSON-DAG:             "%10": 4
-# CHECK-GX-JSON-DAG:             "%17": 5259
-# CHECK-GX-JSON-DAG:             "%21": 16
-# CHECK-GX-JSON-DAG:             "%23": 13
-# CHECK-GX-JSON-DAG:             "%25": 2
-# CHECK-GX-JSON-DAG:             "%27": 4100
-# CHECK-GX-JSON-DAG:             "%29": 5257
-# CHECK-GX-JSON-DAG:             "%31": 4105
-# CHECK-GX-JSON-DAG:             "%36:sub0": 6
-# CHECK-GX-JSON-DAG:             "%36:sub1": 7
-# CHECK-GX-JSON-DAG:             "%37": 0
-# CHECK-GX-JSON-DAG:             "%39": 0
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest": {
-# CHECK-GX-JSON-DAG:             "register": "%17",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 5259
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest-subreg": {
-# CHECK-GX-JSON-DAG:             "register": "%17",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 5259
-# CHECK-GX-JSON:               }
-# CHECK-GX-JSON-NEXT:        },
-# CHECK-GX-JSON-NEXT:        {
-# CHECK-GX-JSON-NEXT:          "instr": "%41:vgpr_32 = GLOBAL_LOAD_DWORD %40, 0, 0, implicit $exec :: (load (s32) from %ir.gep1, addrspace 1)",
-# CHECK-GX-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "distances": {
-# CHECK-GX-JSON-DAG:             "%0": 4107
-# CHECK-GX-JSON-DAG:             "%1": 14
-# CHECK-GX-JSON-DAG:             "%8:sub0": 5
-# CHECK-GX-JSON-DAG:             "%8:sub1": 6
-# CHECK-GX-JSON-DAG:             "%10": 3
-# CHECK-GX-JSON-DAG:             "%17": 5259
-# CHECK-GX-JSON-DAG:             "%21": 15
-# CHECK-GX-JSON-DAG:             "%23": 12
-# CHECK-GX-JSON-DAG:             "%25": 1
-# CHECK-GX-JSON-DAG:             "%27": 4100
-# CHECK-GX-JSON-DAG:             "%29": 5257
-# CHECK-GX-JSON-DAG:             "%31": 4105
-# CHECK-GX-JSON-DAG:             "%36:sub0": 5
-# CHECK-GX-JSON-DAG:             "%36:sub1": 6
-# CHECK-GX-JSON-DAG:             "%40": 0
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest": {
-# CHECK-GX-JSON-DAG:             "register": "%17",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 5259
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest-subreg": {
-# CHECK-GX-JSON-DAG:             "register": "%17",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 5259
-# CHECK-GX-JSON:               }
-# CHECK-GX-JSON-NEXT:        },
-# CHECK-GX-JSON-NEXT:        {
-# CHECK-GX-JSON-NEXT:          "instr": "%28:vgpr_32 = V_ADD_U32_e64 %25, %41, 0, implicit $exec",
-# CHECK-GX-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "distances": {
-# CHECK-GX-JSON-DAG:             "%0": 4107
-# CHECK-GX-JSON-DAG:             "%1": 13
-# CHECK-GX-JSON-DAG:             "%8:sub0": 4
-# CHECK-GX-JSON-DAG:             "%8:sub1": 5
-# CHECK-GX-JSON-DAG:             "%10": 2
-# CHECK-GX-JSON-DAG:             "%17": 5259
-# CHECK-GX-JSON-DAG:             "%21": 14
-# CHECK-GX-JSON-DAG:             "%23": 11
-# CHECK-GX-JSON-DAG:             "%25": 0
-# CHECK-GX-JSON-DAG:             "%27": 4100
-# CHECK-GX-JSON-DAG:             "%29": 5257
-# CHECK-GX-JSON-DAG:             "%31": 4105
-# CHECK-GX-JSON-DAG:             "%36:sub0": 4
-# CHECK-GX-JSON-DAG:             "%36:sub1": 5
-# CHECK-GX-JSON-DAG:             "%41": 0
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest": {
-# CHECK-GX-JSON-DAG:             "register": "%17",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 5259
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest-subreg": {
-# CHECK-GX-JSON-DAG:             "register": "%17",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 5259
-# CHECK-GX-JSON:               }
-# CHECK-GX-JSON-NEXT:        },
-# CHECK-GX-JSON-NEXT:        {
-# CHECK-GX-JSON-NEXT:          "instr": "%30:vgpr_32 = V_MUL_LO_U32_e64 %41, %25, implicit $exec",
-# CHECK-GX-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "distances": {
-# CHECK-GX-JSON-DAG:             "%0": 4107
-# CHECK-GX-JSON-DAG:             "%1": 12
-# CHECK-GX-JSON-DAG:             "%8:sub0": 3
-# CHECK-GX-JSON-DAG:             "%8:sub1": 4
-# CHECK-GX-JSON-DAG:             "%10": 1
-# CHECK-GX-JSON-DAG:             "%17": 5259
-# CHECK-GX-JSON-DAG:             "%21": 13
-# CHECK-GX-JSON-DAG:             "%23": 10
-# CHECK-GX-JSON-DAG:             "%25": 0
-# CHECK-GX-JSON-DAG:             "%27": 4100
-# CHECK-GX-JSON-DAG:             "%29": 5257
-# CHECK-GX-JSON-DAG:             "%31": 4105
-# CHECK-GX-JSON-DAG:             "%36:sub0": 3
-# CHECK-GX-JSON-DAG:             "%36:sub1": 4
-# CHECK-GX-JSON-DAG:             "%41": 0
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest": {
-# CHECK-GX-JSON-DAG:             "register": "%17",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 5259
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest-subreg": {
-# CHECK-GX-JSON-DAG:             "register": "%17",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 5259
-# CHECK-GX-JSON:               }
-# CHECK-GX-JSON-NEXT:        },
-# CHECK-GX-JSON-NEXT:        {
-# CHECK-GX-JSON-NEXT:          "instr": "GLOBAL_STORE_SHORT_D16_HI %10, %30, 2, 0, implicit $exec :: (store (s16) into %ir.p1 + 2, addrspace 1)",
-# CHECK-GX-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "distances": {
-# CHECK-GX-JSON-DAG:             "%0": 4107
-# CHECK-GX-JSON-DAG:             "%1": 11
-# CHECK-GX-JSON-DAG:             "%8:sub0": 2
-# CHECK-GX-JSON-DAG:             "%8:sub1": 3
-# CHECK-GX-JSON-DAG:             "%10": 0
-# CHECK-GX-JSON-DAG:             "%17": 5259
-# CHECK-GX-JSON-DAG:             "%21": 12
-# CHECK-GX-JSON-DAG:             "%23": 9
-# CHECK-GX-JSON-DAG:             "%25": 8
-# CHECK-GX-JSON-DAG:             "%27": 4100
-# CHECK-GX-JSON-DAG:             "%29": 5257
-# CHECK-GX-JSON-DAG:             "%30": 0
-# CHECK-GX-JSON-DAG:             "%31": 4105
-# CHECK-GX-JSON-DAG:             "%36:sub0": 2
-# CHECK-GX-JSON-DAG:             "%36:sub1": 3
-# CHECK-GX-JSON-DAG:             "%41": 5258
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest": {
-# CHECK-GX-JSON-DAG:             "register": "%17",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 5259
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest-subreg": {
-# CHECK-GX-JSON-DAG:             "register": "%17",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 5259
-# CHECK-GX-JSON:               }
-# CHECK-GX-JSON-NEXT:        },
-# CHECK-GX-JSON-NEXT:        {
-# CHECK-GX-JSON-NEXT:          "instr": "GLOBAL_STORE_SHORT %10, %30, 0, 0, implicit $exec :: (store (s16) into %ir.p1, addrspace 1)",
-# CHECK-GX-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "distances": {
-# CHECK-GX-JSON-DAG:             "%0": 4107
-# CHECK-GX-JSON-DAG:             "%1": 10
-# CHECK-GX-JSON-DAG:             "%8:sub0": 1
-# CHECK-GX-JSON-DAG:             "%8:sub1": 2
-# CHECK-GX-JSON-DAG:             "%10": 0
-# CHECK-GX-JSON-DAG:             "%17": 5259
-# CHECK-GX-JSON-DAG:             "%21": 11
-# CHECK-GX-JSON-DAG:             "%23": 8
-# CHECK-GX-JSON-DAG:             "%25": 7
-# CHECK-GX-JSON-DAG:             "%27": 4100
-# CHECK-GX-JSON-DAG:             "%29": 5257
-# CHECK-GX-JSON-DAG:             "%30": 0
-# CHECK-GX-JSON-DAG:             "%31": 4105
-# CHECK-GX-JSON-DAG:             "%36:sub0": 1
-# CHECK-GX-JSON-DAG:             "%36:sub1": 2
-# CHECK-GX-JSON-DAG:             "%41": 5258
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest": {
-# CHECK-GX-JSON-DAG:             "register": "%17",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 5259
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest-subreg": {
-# CHECK-GX-JSON-DAG:             "register": "%17",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 5259
-# CHECK-GX-JSON:               }
-# CHECK-GX-JSON-NEXT:        },
-# CHECK-GX-JSON-NEXT:        {
-# CHECK-GX-JSON-NEXT:          "instr": "%42:vgpr_32, %43:sreg_32_xm0_xexec = V_ADD_CO_U32_e64 %8.sub0, %36.sub0, 0, implicit $exec",
-# CHECK-GX-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "distances": {
-# CHECK-GX-JSON-DAG:             "%0": 4107
-# CHECK-GX-JSON-DAG:             "%1": 9
-# CHECK-GX-JSON-DAG:             "%8:sub0": 0
-# CHECK-GX-JSON-DAG:             "%8:sub1": 1
-# CHECK-GX-JSON-DAG:             "%17": 5259
-# CHECK-GX-JSON-DAG:             "%21": 10
-# CHECK-GX-JSON-DAG:             "%23": 7
-# CHECK-GX-JSON-DAG:             "%25": 6
-# CHECK-GX-JSON-DAG:             "%27": 4100
-# CHECK-GX-JSON-DAG:             "%29": 5257
-# CHECK-GX-JSON-DAG:             "%30": 4099
-# CHECK-GX-JSON-DAG:             "%31": 4105
-# CHECK-GX-JSON-DAG:             "%36:sub0": 0
-# CHECK-GX-JSON-DAG:             "%36:sub1": 1
-# CHECK-GX-JSON-DAG:             "%41": 5258
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest": {
-# CHECK-GX-JSON-DAG:             "register": "%17",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 5259
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest-subreg": {
-# CHECK-GX-JSON-DAG:             "register": "%17",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 5259
-# CHECK-GX-JSON:               }
-# CHECK-GX-JSON-NEXT:        },
-# CHECK-GX-JSON-NEXT:        {
-# CHECK-GX-JSON-NEXT:          "instr": "%44:vgpr_32, dead $sgpr_null = V_ADDC_U32_e64 %36.sub1, %8.sub1, %43, 0, implicit $exec",
-# CHECK-GX-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "distances": {
-# CHECK-GX-JSON-DAG:             "%0": 4107
-# CHECK-GX-JSON-DAG:             "%1": 8
-# CHECK-GX-JSON-DAG:             "%8": 4101
-# CHECK-GX-JSON-DAG:             "%8:sub1": 0
-# CHECK-GX-JSON-DAG:             "%17": 5259
-# CHECK-GX-JSON-DAG:             "%21": 9
-# CHECK-GX-JSON-DAG:             "%23": 6
-# CHECK-GX-JSON-DAG:             "%25": 5
-# CHECK-GX-JSON-DAG:             "%27": 4100
-# CHECK-GX-JSON-DAG:             "%29": 5257
-# CHECK-GX-JSON-DAG:             "%30": 4099
-# CHECK-GX-JSON-DAG:             "%31": 4105
-# CHECK-GX-JSON-DAG:             "%36:sub1": 0
-# CHECK-GX-JSON-DAG:             "%41": 5258
-# CHECK-GX-JSON-DAG:             "%42": 1
-# CHECK-GX-JSON-DAG:             "%43": 0
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest": {
-# CHECK-GX-JSON-DAG:             "register": "%17",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 5259
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest-subreg": {
-# CHECK-GX-JSON-DAG:             "register": "%17",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 5259
-# CHECK-GX-JSON:               }
-# CHECK-GX-JSON-NEXT:        },
-# CHECK-GX-JSON-NEXT:        {
-# CHECK-GX-JSON-NEXT:          "instr": "%45:vreg_64 = REG_SEQUENCE %42, %subreg.sub0, %44, %subreg.sub1",
-# CHECK-GX-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "distances": {
-# CHECK-GX-JSON-DAG:             "%0": 4107
-# CHECK-GX-JSON-DAG:             "%1": 7
-# CHECK-GX-JSON-DAG:             "%8": 4101
-# CHECK-GX-JSON-DAG:             "%17": 5259
-# CHECK-GX-JSON-DAG:             "%21": 8
-# CHECK-GX-JSON-DAG:             "%23": 5
-# CHECK-GX-JSON-DAG:             "%25": 4
-# CHECK-GX-JSON-DAG:             "%27": 4100
-# CHECK-GX-JSON-DAG:             "%29": 5257
-# CHECK-GX-JSON-DAG:             "%30": 4099
-# CHECK-GX-JSON-DAG:             "%31": 4105
-# CHECK-GX-JSON-DAG:             "%41": 5258
-# CHECK-GX-JSON-DAG:             "%42": 0
-# CHECK-GX-JSON-DAG:             "%44": 0
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest": {
-# CHECK-GX-JSON-DAG:             "register": "%17",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 5259
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest-subreg": {
-# CHECK-GX-JSON-DAG:             "register": "%17",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 5259
-# CHECK-GX-JSON:               }
-# CHECK-GX-JSON-NEXT:        },
-# CHECK-GX-JSON-NEXT:        {
-# CHECK-GX-JSON-NEXT:          "instr": "%46:vgpr_32 = GLOBAL_LOAD_USHORT %45, 0, 0, implicit $exec :: (load (s16) from %ir.gep2, addrspace 1)",
-# CHECK-GX-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "distances": {
-# CHECK-GX-JSON-DAG:             "%0": 4107
-# CHECK-GX-JSON-DAG:             "%1": 6
-# CHECK-GX-JSON-DAG:             "%8": 4101
-# CHECK-GX-JSON-DAG:             "%17": 5259
-# CHECK-GX-JSON-DAG:             "%21": 7
-# CHECK-GX-JSON-DAG:             "%23": 4
-# CHECK-GX-JSON-DAG:             "%25": 3
-# CHECK-GX-JSON-DAG:             "%27": 4100
-# CHECK-GX-JSON-DAG:             "%29": 5257
-# CHECK-GX-JSON-DAG:             "%30": 4099
-# CHECK-GX-JSON-DAG:             "%31": 4105
-# CHECK-GX-JSON-DAG:             "%41": 5258
-# CHECK-GX-JSON-DAG:             "%45": 0
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest": {
-# CHECK-GX-JSON-DAG:             "register": "%17",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 5259
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest-subreg": {
-# CHECK-GX-JSON-DAG:             "register": "%17",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 5259
-# CHECK-GX-JSON:               }
-# CHECK-GX-JSON-NEXT:        },
-# CHECK-GX-JSON-NEXT:        {
-# CHECK-GX-JSON-NEXT:          "instr": "%47:vgpr_32 = GLOBAL_LOAD_USHORT %45, 2, 0, implicit $exec :: (load (s16) from %ir.gep2 + 2, addrspace 1)",
-# CHECK-GX-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "distances": {
-# CHECK-GX-JSON-DAG:             "%0": 4107
-# CHECK-GX-JSON-DAG:             "%1": 5
-# CHECK-GX-JSON-DAG:             "%8": 4101
-# CHECK-GX-JSON-DAG:             "%17": 5259
-# CHECK-GX-JSON-DAG:             "%21": 6
-# CHECK-GX-JSON-DAG:             "%23": 3
-# CHECK-GX-JSON-DAG:             "%25": 2
-# CHECK-GX-JSON-DAG:             "%27": 4100
-# CHECK-GX-JSON-DAG:             "%29": 5257
-# CHECK-GX-JSON-DAG:             "%30": 4099
-# CHECK-GX-JSON-DAG:             "%31": 4105
-# CHECK-GX-JSON-DAG:             "%41": 5258
-# CHECK-GX-JSON-DAG:             "%45": 0
-# CHECK-GX-JSON-DAG:             "%46": 1
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest": {
-# CHECK-GX-JSON-DAG:             "register": "%17",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 5259
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest-subreg": {
-# CHECK-GX-JSON-DAG:             "register": "%17",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 5259
-# CHECK-GX-JSON:               }
-# CHECK-GX-JSON-NEXT:        },
-# CHECK-GX-JSON-NEXT:        {
-# CHECK-GX-JSON-NEXT:          "instr": "%48:vgpr_32 = V_LSHL_OR_B32_e64 %47, 16, %46, implicit $exec",
-# CHECK-GX-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "distances": {
-# CHECK-GX-JSON-DAG:             "%0": 4107
-# CHECK-GX-JSON-DAG:             "%1": 4
-# CHECK-GX-JSON-DAG:             "%8": 4101
-# CHECK-GX-JSON-DAG:             "%17": 5259
-# CHECK-GX-JSON-DAG:             "%21": 5
-# CHECK-GX-JSON-DAG:             "%23": 2
-# CHECK-GX-JSON-DAG:             "%25": 1
-# CHECK-GX-JSON-DAG:             "%27": 4100
-# CHECK-GX-JSON-DAG:             "%29": 5257
-# CHECK-GX-JSON-DAG:             "%30": 4099
-# CHECK-GX-JSON-DAG:             "%31": 4105
-# CHECK-GX-JSON-DAG:             "%41": 5258
-# CHECK-GX-JSON-DAG:             "%46": 0
-# CHECK-GX-JSON-DAG:             "%47": 0
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest": {
-# CHECK-GX-JSON-DAG:             "register": "%17",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 5259
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest-subreg": {
-# CHECK-GX-JSON-DAG:             "register": "%17",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 5259
-# CHECK-GX-JSON:               }
-# CHECK-GX-JSON-NEXT:        },
-# CHECK-GX-JSON-NEXT:        {
-# CHECK-GX-JSON-NEXT:          "instr": "%26:sreg_32 = S_ADD_I32 %25, 1, implicit-def dead $scc",
-# CHECK-GX-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "distances": {
-# CHECK-GX-JSON-DAG:             "%0": 4107
-# CHECK-GX-JSON-DAG:             "%1": 3
-# CHECK-GX-JSON-DAG:             "%8": 4101
-# CHECK-GX-JSON-DAG:             "%17": 5259
-# CHECK-GX-JSON-DAG:             "%21": 4
-# CHECK-GX-JSON-DAG:             "%23": 1
-# CHECK-GX-JSON-DAG:             "%25": 0
-# CHECK-GX-JSON-DAG:             "%27": 4100
-# CHECK-GX-JSON-DAG:             "%29": 5257
-# CHECK-GX-JSON-DAG:             "%30": 4099
-# CHECK-GX-JSON-DAG:             "%31": 4105
-# CHECK-GX-JSON-DAG:             "%41": 5258
-# CHECK-GX-JSON-DAG:             "%48": 2
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest": {
-# CHECK-GX-JSON-DAG:             "register": "%17",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 5259
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest-subreg": {
-# CHECK-GX-JSON-DAG:             "register": "%17",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 5259
-# CHECK-GX-JSON:               }
-# CHECK-GX-JSON-NEXT:        },
-# CHECK-GX-JSON-NEXT:        {
-# CHECK-GX-JSON-NEXT:          "instr": "%24:sreg_32 = S_ADD_I32 %23, -1, implicit-def dead $scc",
-# CHECK-GX-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "distances": {
-# CHECK-GX-JSON-DAG:             "%0": 4107
-# CHECK-GX-JSON-DAG:             "%1": 2
-# CHECK-GX-JSON-DAG:             "%8": 4101
-# CHECK-GX-JSON-DAG:             "%17": 5259
-# CHECK-GX-JSON-DAG:             "%21": 3
-# CHECK-GX-JSON-DAG:             "%23": 0
-# CHECK-GX-JSON-DAG:             "%25": 2
-# CHECK-GX-JSON-DAG:             "%26": 4
-# CHECK-GX-JSON-DAG:             "%27": 4100
-# CHECK-GX-JSON-DAG:             "%29": 5257
-# CHECK-GX-JSON-DAG:             "%30": 4099
-# CHECK-GX-JSON-DAG:             "%31": 4105
-# CHECK-GX-JSON-DAG:             "%41": 5258
-# CHECK-GX-JSON-DAG:             "%48": 1
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest": {
-# CHECK-GX-JSON-DAG:             "register": "%17",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 5259
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest-subreg": {
-# CHECK-GX-JSON-DAG:             "register": "%17",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 5259
-# CHECK-GX-JSON:               }
-# CHECK-GX-JSON-NEXT:        },
-# CHECK-GX-JSON-NEXT:        {
-# CHECK-GX-JSON-NEXT:          "instr": "%32:vgpr_32 = V_ADD_U32_e64 %23, %48, 0, implicit $exec",
-# CHECK-GX-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "distances": {
-# CHECK-GX-JSON-DAG:             "%0": 4107
-# CHECK-GX-JSON-DAG:             "%1": 1
-# CHECK-GX-JSON-DAG:             "%8": 4101
-# CHECK-GX-JSON-DAG:             "%17": 5259
-# CHECK-GX-JSON-DAG:             "%21": 2
-# CHECK-GX-JSON-DAG:             "%23": 0
-# CHECK-GX-JSON-DAG:             "%25": 1
-# CHECK-GX-JSON-DAG:             "%26": 3
-# CHECK-GX-JSON-DAG:             "%27": 4100
-# CHECK-GX-JSON-DAG:             "%29": 5257
-# CHECK-GX-JSON-DAG:             "%30": 4099
-# CHECK-GX-JSON-DAG:             "%31": 4105
-# CHECK-GX-JSON-DAG:             "%41": 5258
-# CHECK-GX-JSON-DAG:             "%48": 0
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest": {
-# CHECK-GX-JSON-DAG:             "register": "%17",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 5259
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest-subreg": {
-# CHECK-GX-JSON-DAG:             "register": "%17",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 5259
-# CHECK-GX-JSON:               }
-# CHECK-GX-JSON-NEXT:        },
-# CHECK-GX-JSON-NEXT:        {
-# CHECK-GX-JSON-NEXT:          "instr": "%49:sreg_32 = V_CMP_GE_U32_e64 %25, %1, implicit $exec",
-# CHECK-GX-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "distances": {
-# CHECK-GX-JSON-DAG:             "%0": 4107
-# CHECK-GX-JSON-DAG:             "%1": 0
-# CHECK-GX-JSON-DAG:             "%8": 4101
-# CHECK-GX-JSON-DAG:             "%17": 5259
-# CHECK-GX-JSON-DAG:             "%21": 1
-# CHECK-GX-JSON-DAG:             "%25": 0
-# CHECK-GX-JSON-DAG:             "%26": 2
-# CHECK-GX-JSON-DAG:             "%27": 4100
-# CHECK-GX-JSON-DAG:             "%29": 5257
-# CHECK-GX-JSON-DAG:             "%30": 4099
-# CHECK-GX-JSON-DAG:             "%31": 4105
-# CHECK-GX-JSON-DAG:             "%41": 5258
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest": {
-# CHECK-GX-JSON-DAG:             "register": "%17",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 5259
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest-subreg": {
-# CHECK-GX-JSON-DAG:             "register": "%17",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 5259
-# CHECK-GX-JSON:               }
-# CHECK-GX-JSON-NEXT:        },
-# CHECK-GX-JSON-NEXT:        {
-# CHECK-GX-JSON-NEXT:          "instr": "%22:sreg_32 = SI_IF_BREAK %49, %21, implicit-def dead $scc",
-# CHECK-GX-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "distances": {
-# CHECK-GX-JSON-DAG:             "%0": 4107
-# CHECK-GX-JSON-DAG:             "%8": 4101
-# CHECK-GX-JSON-DAG:             "%17": 5259
-# CHECK-GX-JSON-DAG:             "%21": 0
-# CHECK-GX-JSON-DAG:             "%26": 1
-# CHECK-GX-JSON-DAG:             "%27": 4100
-# CHECK-GX-JSON-DAG:             "%29": 5257
-# CHECK-GX-JSON-DAG:             "%30": 4099
-# CHECK-GX-JSON-DAG:             "%31": 4105
-# CHECK-GX-JSON-DAG:             "%41": 5258
-# CHECK-GX-JSON-DAG:             "%49": 0
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest": {
-# CHECK-GX-JSON-DAG:             "register": "%17",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 5259
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest-subreg": {
-# CHECK-GX-JSON-DAG:             "register": "%17",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 5259
-# CHECK-GX-JSON:               }
-# CHECK-GX-JSON-NEXT:        },
-# CHECK-GX-JSON-NEXT:        {
-# CHECK-GX-JSON-NEXT:          "instr": "%50:vgpr_32 = COPY %26, implicit $exec",
-# CHECK-GX-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "distances": {
-# CHECK-GX-JSON-DAG:             "%0": 4107
-# CHECK-GX-JSON-DAG:             "%8": 4101
-# CHECK-GX-JSON-DAG:             "%17": 5259
-# CHECK-GX-JSON-DAG:             "%22": 1
-# CHECK-GX-JSON-DAG:             "%26": 0
-# CHECK-GX-JSON-DAG:             "%27": 4100
-# CHECK-GX-JSON-DAG:             "%29": 5257
-# CHECK-GX-JSON-DAG:             "%30": 4099
-# CHECK-GX-JSON-DAG:             "%31": 4105
-# CHECK-GX-JSON-DAG:             "%41": 5258
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest": {
-# CHECK-GX-JSON-DAG:             "register": "%17",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 5259
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest-subreg": {
-# CHECK-GX-JSON-DAG:             "register": "%17",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 5259
-# CHECK-GX-JSON:               }
-# CHECK-GX-JSON-NEXT:        },
-# CHECK-GX-JSON-NEXT:        {
-# CHECK-GX-JSON-NEXT:          "instr": "SI_LOOP %22, %bb.1, implicit-def dead $exec, implicit-def dead $scc, implicit $exec",
-# CHECK-GX-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "distances": {
-# CHECK-GX-JSON-DAG:             "%0": 4107
-# CHECK-GX-JSON-DAG:             "%8": 4101
-# CHECK-GX-JSON-DAG:             "%17": 5259
-# CHECK-GX-JSON-DAG:             "%22": 0
-# CHECK-GX-JSON-DAG:             "%27": 4100
-# CHECK-GX-JSON-DAG:             "%29": 5257
-# CHECK-GX-JSON-DAG:             "%30": 4099
-# CHECK-GX-JSON-DAG:             "%31": 4105
-# CHECK-GX-JSON-DAG:             "%41": 5258
-# CHECK-GX-JSON-DAG:             "%50": 4098
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest": {
-# CHECK-GX-JSON-DAG:             "register": "%17",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 5259
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest-subreg": {
-# CHECK-GX-JSON-DAG:             "register": "%17",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 5259
-# CHECK-GX-JSON:               }
-# CHECK-GX-JSON-NEXT:        },
-# CHECK-GX-JSON-NEXT:        {
-# CHECK-GX-JSON-NEXT:          "instr": "S_BRANCH %bb.2",
-# CHECK-GX-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "distances": {
-# CHECK-GX-JSON-DAG:             "%0": 4107
-# CHECK-GX-JSON-DAG:             "%8": 4101
-# CHECK-GX-JSON-DAG:             "%17": 5259
-# CHECK-GX-JSON-DAG:             "%22": 4097
-# CHECK-GX-JSON-DAG:             "%27": 4100
-# CHECK-GX-JSON-DAG:             "%29": 5257
-# CHECK-GX-JSON-DAG:             "%30": 4099
-# CHECK-GX-JSON-DAG:             "%31": 4105
-# CHECK-GX-JSON-DAG:             "%41": 5258
-# CHECK-GX-JSON-DAG:             "%50": 4098
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest": {
-# CHECK-GX-JSON-DAG:             "register": "%17",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 5259
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest-subreg": {
-# CHECK-GX-JSON-DAG:             "register": "%17",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 5259
-# CHECK-GX-JSON:               }
-# CHECK-GX-JSON-NEXT:        }
-# CHECK-GX-JSON-NEXT:      ],
-# CHECK-GX-JSON-NEXT:      "bb.2": [
-# CHECK-GX-JSON-NEXT:        {
-# CHECK-GX-JSON-NEXT:          "instr": "SI_END_CF %22, implicit-def dead $exec, implicit-def dead $scc, implicit $exec",
-# CHECK-GX-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "distances": {
-# CHECK-GX-JSON-DAG:             "%0": 10
-# CHECK-GX-JSON-DAG:             "%8": 4
-# CHECK-GX-JSON-DAG:             "%17": 1162
-# CHECK-GX-JSON-DAG:             "%22": 0
-# CHECK-GX-JSON-DAG:             "%27": 3
-# CHECK-GX-JSON-DAG:             "%29": 1160
-# CHECK-GX-JSON-DAG:             "%30": 2
-# CHECK-GX-JSON-DAG:             "%31": 8
-# CHECK-GX-JSON-DAG:             "%41": 1161
-# CHECK-GX-JSON-DAG:             "%50": 1
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest": {
-# CHECK-GX-JSON-DAG:             "register": "%17",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 1162
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest-subreg": {
-# CHECK-GX-JSON-DAG:             "register": "%17",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 1162
-# CHECK-GX-JSON:               }
-# CHECK-GX-JSON-NEXT:        },
-# CHECK-GX-JSON-NEXT:        {
-# CHECK-GX-JSON-NEXT:          "instr": "%51:vgpr_32 = V_ADD_U32_e64 -2, %50, 0, implicit $exec",
-# CHECK-GX-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "distances": {
-# CHECK-GX-JSON-DAG:             "%0": 9
-# CHECK-GX-JSON-DAG:             "%8": 3
-# CHECK-GX-JSON-DAG:             "%17": 1161
-# CHECK-GX-JSON-DAG:             "%27": 2
-# CHECK-GX-JSON-DAG:             "%29": 1159
-# CHECK-GX-JSON-DAG:             "%30": 1
-# CHECK-GX-JSON-DAG:             "%31": 7
-# CHECK-GX-JSON-DAG:             "%41": 1160
-# CHECK-GX-JSON-DAG:             "%50": 0
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest": {
-# CHECK-GX-JSON-DAG:             "register": "%17",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 1161
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest-subreg": {
-# CHECK-GX-JSON-DAG:             "register": "%17",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 1161
-# CHECK-GX-JSON:               }
-# CHECK-GX-JSON-NEXT:        },
-# CHECK-GX-JSON-NEXT:        {
-# CHECK-GX-JSON-NEXT:          "instr": "%52:vgpr_32 = V_MUL_LO_U32_e64 %30, %51, implicit $exec",
-# CHECK-GX-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "distances": {
-# CHECK-GX-JSON-DAG:             "%0": 8
-# CHECK-GX-JSON-DAG:             "%8": 2
-# CHECK-GX-JSON-DAG:             "%17": 1160
-# CHECK-GX-JSON-DAG:             "%27": 1
-# CHECK-GX-JSON-DAG:             "%29": 1158
-# CHECK-GX-JSON-DAG:             "%30": 0
-# CHECK-GX-JSON-DAG:             "%31": 6
-# CHECK-GX-JSON-DAG:             "%41": 1159
-# CHECK-GX-JSON-DAG:             "%51": 0
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest": {
-# CHECK-GX-JSON-DAG:             "register": "%17",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 1160
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest-subreg": {
-# CHECK-GX-JSON-DAG:             "register": "%17",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 1160
-# CHECK-GX-JSON:               }
-# CHECK-GX-JSON-NEXT:        },
-# CHECK-GX-JSON-NEXT:        {
-# CHECK-GX-JSON-NEXT:          "instr": "%53:vgpr_32 = V_MUL_LO_U32_e64 100, %27, implicit $exec",
-# CHECK-GX-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "distances": {
-# CHECK-GX-JSON-DAG:             "%0": 7
-# CHECK-GX-JSON-DAG:             "%8": 1
-# CHECK-GX-JSON-DAG:             "%17": 1159
-# CHECK-GX-JSON-DAG:             "%27": 0
-# CHECK-GX-JSON-DAG:             "%29": 1157
-# CHECK-GX-JSON-DAG:             "%31": 5
-# CHECK-GX-JSON-DAG:             "%41": 1158
-# CHECK-GX-JSON-DAG:             "%52": 5
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest": {
-# CHECK-GX-JSON-DAG:             "register": "%17",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 1159
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest-subreg": {
-# CHECK-GX-JSON-DAG:             "register": "%17",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 1159
-# CHECK-GX-JSON:               }
-# CHECK-GX-JSON-NEXT:        },
-# CHECK-GX-JSON-NEXT:        {
-# CHECK-GX-JSON-NEXT:          "instr": "GLOBAL_STORE_DWORD %8, %53, 0, 0, implicit $exec :: (store (s32) into %ir.p3, addrspace 1)",
-# CHECK-GX-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "distances": {
-# CHECK-GX-JSON-DAG:             "%0": 6
-# CHECK-GX-JSON-DAG:             "%8": 0
-# CHECK-GX-JSON-DAG:             "%17": 1158
-# CHECK-GX-JSON-DAG:             "%29": 1156
-# CHECK-GX-JSON-DAG:             "%31": 4
-# CHECK-GX-JSON-DAG:             "%41": 1157
-# CHECK-GX-JSON-DAG:             "%52": 4
-# CHECK-GX-JSON-DAG:             "%53": 0
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest": {
-# CHECK-GX-JSON-DAG:             "register": "%17",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 1158
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest-subreg": {
-# CHECK-GX-JSON-DAG:             "register": "%17",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 1158
-# CHECK-GX-JSON:               }
-# CHECK-GX-JSON-NEXT:        },
-# CHECK-GX-JSON-NEXT:        {
-# CHECK-GX-JSON-NEXT:          "instr": "%54:sreg_32 = S_MOV_B32 0",
-# CHECK-GX-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "distances": {
-# CHECK-GX-JSON-DAG:             "%0": 5
-# CHECK-GX-JSON-DAG:             "%8": 1154
-# CHECK-GX-JSON-DAG:             "%17": 1157
-# CHECK-GX-JSON-DAG:             "%29": 1155
-# CHECK-GX-JSON-DAG:             "%31": 3
-# CHECK-GX-JSON-DAG:             "%41": 1156
-# CHECK-GX-JSON-DAG:             "%52": 3
-# CHECK-GX-JSON-DAG:             "%53": 1156
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest": {
-# CHECK-GX-JSON-DAG:             "register": "%17",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 1157
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest-subreg": {
-# CHECK-GX-JSON-DAG:             "register": "%17",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 1157
-# CHECK-GX-JSON:               }
-# CHECK-GX-JSON-NEXT:        }
-# CHECK-GX-JSON-NEXT:      ],
-# CHECK-GX-JSON-NEXT:      "bb.3": [
-# CHECK-GX-JSON-NEXT:        {
-# CHECK-GX-JSON-NEXT:          "instr": "%55:sreg_32 = PHI %54, %bb.2, %56, %bb.3",
-# CHECK-GX-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "distances": {
-# CHECK-GX-JSON-DAG:             "%0": 4
-# CHECK-GX-JSON-DAG:             "%8": 1154
-# CHECK-GX-JSON-DAG:             "%17": 1157
-# CHECK-GX-JSON-DAG:             "%29": 1155
-# CHECK-GX-JSON-DAG:             "%41": 1156
-# CHECK-GX-JSON-DAG:             "%52": 2
-# CHECK-GX-JSON-DAG:             "%53": 1156
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest": {
-# CHECK-GX-JSON-DAG:             "register": "%17",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 1157
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest-subreg": {
-# CHECK-GX-JSON-DAG:             "register": "%17",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 1157
-# CHECK-GX-JSON:               }
-# CHECK-GX-JSON-NEXT:        },
-# CHECK-GX-JSON-NEXT:        {
-# CHECK-GX-JSON-NEXT:          "instr": "%57:sreg_32 = PHI %54, %bb.2, %58, %bb.3",
-# CHECK-GX-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "distances": {
-# CHECK-GX-JSON-DAG:             "%0": 3
-# CHECK-GX-JSON-DAG:             "%8": 1154
-# CHECK-GX-JSON-DAG:             "%17": 1157
-# CHECK-GX-JSON-DAG:             "%29": 1155
-# CHECK-GX-JSON-DAG:             "%41": 1156
-# CHECK-GX-JSON-DAG:             "%52": 1
-# CHECK-GX-JSON-DAG:             "%53": 1156
-# CHECK-GX-JSON-DAG:             "%55": 4
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest": {
-# CHECK-GX-JSON-DAG:             "register": "%17",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 1157
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest-subreg": {
-# CHECK-GX-JSON-DAG:             "register": "%17",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 1157
-# CHECK-GX-JSON:               }
-# CHECK-GX-JSON-NEXT:        },
-# CHECK-GX-JSON-NEXT:        {
-# CHECK-GX-JSON-NEXT:          "instr": "%59:vgpr_32 = PHI %31, %bb.2, %52, %bb.3",
-# CHECK-GX-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "distances": {
-# CHECK-GX-JSON-DAG:             "%0": 2
-# CHECK-GX-JSON-DAG:             "%8": 1154
-# CHECK-GX-JSON-DAG:             "%17": 1157
-# CHECK-GX-JSON-DAG:             "%29": 1155
-# CHECK-GX-JSON-DAG:             "%41": 1156
-# CHECK-GX-JSON-DAG:             "%52": 0
-# CHECK-GX-JSON-DAG:             "%53": 1156
-# CHECK-GX-JSON-DAG:             "%55": 3
-# CHECK-GX-JSON-DAG:             "%57": 1
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest": {
-# CHECK-GX-JSON-DAG:             "register": "%17",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 1157
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest-subreg": {
-# CHECK-GX-JSON-DAG:             "register": "%17",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 1157
-# CHECK-GX-JSON:               }
-# CHECK-GX-JSON-NEXT:        },
-# CHECK-GX-JSON-NEXT:        {
-# CHECK-GX-JSON-NEXT:          "instr": "%58:sreg_32 = S_ADD_I32 %57, 2, implicit-def dead $scc",
-# CHECK-GX-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "distances": {
-# CHECK-GX-JSON-DAG:             "%0": 1
-# CHECK-GX-JSON-DAG:             "%8": 1154
-# CHECK-GX-JSON-DAG:             "%17": 1157
-# CHECK-GX-JSON-DAG:             "%29": 1155
-# CHECK-GX-JSON-DAG:             "%41": 1156
-# CHECK-GX-JSON-DAG:             "%53": 1156
-# CHECK-GX-JSON-DAG:             "%55": 2
-# CHECK-GX-JSON-DAG:             "%57": 0
-# CHECK-GX-JSON-DAG:             "%59": 1154
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest": {
-# CHECK-GX-JSON-DAG:             "register": "%17",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 1157
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest-subreg": {
-# CHECK-GX-JSON-DAG:             "register": "%17",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 1157
-# CHECK-GX-JSON:               }
-# CHECK-GX-JSON-NEXT:        },
-# CHECK-GX-JSON-NEXT:        {
-# CHECK-GX-JSON-NEXT:          "instr": "%60:sreg_32 = V_CMP_GE_U32_e64 %58, %0, implicit $exec",
-# CHECK-GX-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "distances": {
-# CHECK-GX-JSON-DAG:             "%0": 0
-# CHECK-GX-JSON-DAG:             "%8": 1154
-# CHECK-GX-JSON-DAG:             "%17": 1157
-# CHECK-GX-JSON-DAG:             "%29": 1155
-# CHECK-GX-JSON-DAG:             "%41": 1156
-# CHECK-GX-JSON-DAG:             "%53": 1156
-# CHECK-GX-JSON-DAG:             "%55": 1
-# CHECK-GX-JSON-DAG:             "%58": 0
-# CHECK-GX-JSON-DAG:             "%59": 1154
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest": {
-# CHECK-GX-JSON-DAG:             "register": "%17",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 1157
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest-subreg": {
-# CHECK-GX-JSON-DAG:             "register": "%17",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 1157
-# CHECK-GX-JSON:               }
-# CHECK-GX-JSON-NEXT:        },
-# CHECK-GX-JSON-NEXT:        {
-# CHECK-GX-JSON-NEXT:          "instr": "%56:sreg_32 = SI_IF_BREAK %60, %55, implicit-def dead $scc",
-# CHECK-GX-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "distances": {
-# CHECK-GX-JSON-DAG:             "%8": 1154
-# CHECK-GX-JSON-DAG:             "%17": 1157
-# CHECK-GX-JSON-DAG:             "%29": 1155
-# CHECK-GX-JSON-DAG:             "%41": 1156
-# CHECK-GX-JSON-DAG:             "%53": 1156
-# CHECK-GX-JSON-DAG:             "%55": 0
-# CHECK-GX-JSON-DAG:             "%58": 1
-# CHECK-GX-JSON-DAG:             "%59": 1154
-# CHECK-GX-JSON-DAG:             "%60": 0
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest": {
-# CHECK-GX-JSON-DAG:             "register": "%17",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 1157
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest-subreg": {
-# CHECK-GX-JSON-DAG:             "register": "%17",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 1157
-# CHECK-GX-JSON:               }
-# CHECK-GX-JSON-NEXT:        },
-# CHECK-GX-JSON-NEXT:        {
-# CHECK-GX-JSON-NEXT:          "instr": "%61:vgpr_32 = COPY %58, implicit $exec",
-# CHECK-GX-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "distances": {
-# CHECK-GX-JSON-DAG:             "%8": 1154
-# CHECK-GX-JSON-DAG:             "%17": 1157
-# CHECK-GX-JSON-DAG:             "%29": 1155
-# CHECK-GX-JSON-DAG:             "%41": 1156
-# CHECK-GX-JSON-DAG:             "%53": 1156
-# CHECK-GX-JSON-DAG:             "%56": 1
-# CHECK-GX-JSON-DAG:             "%58": 0
-# CHECK-GX-JSON-DAG:             "%59": 1154
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest": {
-# CHECK-GX-JSON-DAG:             "register": "%17",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 1157
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest-subreg": {
-# CHECK-GX-JSON-DAG:             "register": "%17",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 1157
-# CHECK-GX-JSON:               }
-# CHECK-GX-JSON-NEXT:        },
-# CHECK-GX-JSON-NEXT:        {
-# CHECK-GX-JSON-NEXT:          "instr": "SI_LOOP %56, %bb.3, implicit-def dead $exec, implicit-def dead $scc, implicit $exec",
-# CHECK-GX-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "distances": {
-# CHECK-GX-JSON-DAG:             "%8": 1154
-# CHECK-GX-JSON-DAG:             "%17": 1157
-# CHECK-GX-JSON-DAG:             "%29": 1155
-# CHECK-GX-JSON-DAG:             "%41": 1156
-# CHECK-GX-JSON-DAG:             "%53": 1156
-# CHECK-GX-JSON-DAG:             "%56": 0
-# CHECK-GX-JSON-DAG:             "%59": 1154
-# CHECK-GX-JSON-DAG:             "%61": 1155
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest": {
-# CHECK-GX-JSON-DAG:             "register": "%17",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 1157
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest-subreg": {
-# CHECK-GX-JSON-DAG:             "register": "%17",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 1157
-# CHECK-GX-JSON:               }
-# CHECK-GX-JSON-NEXT:        },
-# CHECK-GX-JSON-NEXT:        {
-# CHECK-GX-JSON-NEXT:          "instr": "S_BRANCH %bb.4",
-# CHECK-GX-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "distances": {
-# CHECK-GX-JSON-DAG:             "%8": 1154
-# CHECK-GX-JSON-DAG:             "%17": 1157
-# CHECK-GX-JSON-DAG:             "%29": 1155
-# CHECK-GX-JSON-DAG:             "%41": 1156
-# CHECK-GX-JSON-DAG:             "%53": 1156
-# CHECK-GX-JSON-DAG:             "%56": 1153
-# CHECK-GX-JSON-DAG:             "%59": 1154
-# CHECK-GX-JSON-DAG:             "%61": 1155
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest": {
-# CHECK-GX-JSON-DAG:             "register": "%17",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 1157
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest-subreg": {
-# CHECK-GX-JSON-DAG:             "register": "%17",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 1157
-# CHECK-GX-JSON:               }
-# CHECK-GX-JSON-NEXT:        }
-# CHECK-GX-JSON-NEXT:      ],
-# CHECK-GX-JSON-NEXT:      "bb.4": [
-# CHECK-GX-JSON-NEXT:        {
-# CHECK-GX-JSON-NEXT:          "instr": "SI_END_CF %56, implicit-def dead $exec, implicit-def dead $scc, implicit $exec",
-# CHECK-GX-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "distances": {
-# CHECK-GX-JSON-DAG:             "%8": 1
-# CHECK-GX-JSON-DAG:             "%17": 4
-# CHECK-GX-JSON-DAG:             "%29": 2
-# CHECK-GX-JSON-DAG:             "%41": 3
-# CHECK-GX-JSON-DAG:             "%53": 3
-# CHECK-GX-JSON-DAG:             "%56": 0
-# CHECK-GX-JSON-DAG:             "%59": 1
-# CHECK-GX-JSON-DAG:             "%61": 2
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest": {
-# CHECK-GX-JSON-DAG:             "register": "%17",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 4
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest-subreg": {
-# CHECK-GX-JSON-DAG:             "register": "%17",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 4
-# CHECK-GX-JSON:               }
-# CHECK-GX-JSON-NEXT:        },
-# CHECK-GX-JSON-NEXT:        {
-# CHECK-GX-JSON-NEXT:          "instr": "GLOBAL_STORE_DWORD %8, %59, 0, 0, implicit $exec :: (store (s32) into %ir.p3, addrspace 1)",
-# CHECK-GX-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "distances": {
-# CHECK-GX-JSON-DAG:             "%8": 0
-# CHECK-GX-JSON-DAG:             "%17": 3
-# CHECK-GX-JSON-DAG:             "%29": 1
-# CHECK-GX-JSON-DAG:             "%41": 2
-# CHECK-GX-JSON-DAG:             "%53": 2
-# CHECK-GX-JSON-DAG:             "%59": 0
-# CHECK-GX-JSON-DAG:             "%61": 1
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest": {
-# CHECK-GX-JSON-DAG:             "register": "%17",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 3
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest-subreg": {
-# CHECK-GX-JSON-DAG:             "register": "%17",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 3
-# CHECK-GX-JSON:               }
-# CHECK-GX-JSON-NEXT:        },
-# CHECK-GX-JSON-NEXT:        {
-# CHECK-GX-JSON-NEXT:          "instr": "%62:vgpr_32 = V_ADD3_U32_e64 %59, %61, %29, implicit $exec",
-# CHECK-GX-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "distances": {
-# CHECK-GX-JSON-DAG:             "%17": 2
-# CHECK-GX-JSON-DAG:             "%29": 0
-# CHECK-GX-JSON-DAG:             "%41": 1
-# CHECK-GX-JSON-DAG:             "%53": 1
-# CHECK-GX-JSON-DAG:             "%59": 0
-# CHECK-GX-JSON-DAG:             "%61": 0
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest": {
-# CHECK-GX-JSON-DAG:             "register": "%17",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 2
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest-subreg": {
-# CHECK-GX-JSON-DAG:             "register": "%17",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 2
-# CHECK-GX-JSON:               }
-# CHECK-GX-JSON-NEXT:        },
-# CHECK-GX-JSON-NEXT:        {
-# CHECK-GX-JSON-NEXT:          "instr": "%63:vgpr_32 = V_ADD3_U32_e64 %62, %53, %41, implicit $exec",
-# CHECK-GX-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "distances": {
-# CHECK-GX-JSON-DAG:             "%17": 1
-# CHECK-GX-JSON-DAG:             "%41": 0
-# CHECK-GX-JSON-DAG:             "%53": 0
-# CHECK-GX-JSON-DAG:             "%62": 0
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest": {
-# CHECK-GX-JSON-DAG:             "register": "%17",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 1
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest-subreg": {
-# CHECK-GX-JSON-DAG:             "register": "%17",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 1
-# CHECK-GX-JSON:               }
-# CHECK-GX-JSON-NEXT:        },
-# CHECK-GX-JSON-NEXT:        {
-# CHECK-GX-JSON-NEXT:          "instr": "%64:vgpr_32 = V_ADD3_U32_e64 %17, %63, 100, implicit $exec",
-# CHECK-GX-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "distances": {
-# CHECK-GX-JSON-DAG:             "%17": 0
-# CHECK-GX-JSON-DAG:             "%63": 0
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest": {
-# CHECK-GX-JSON-DAG:             "register": "%17",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 0
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest-subreg": {
-# CHECK-GX-JSON-DAG:             "register": "%17",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 0
-# CHECK-GX-JSON:               }
-# CHECK-GX-JSON-NEXT:        },
-# CHECK-GX-JSON-NEXT:        {
-# CHECK-GX-JSON-NEXT:          "instr": "%65:sreg_32_xm0 = V_READFIRSTLANE_B32 %64, implicit $exec",
-# CHECK-GX-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "distances": {
-# CHECK-GX-JSON-DAG:             "%64": 0
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest": {
-# CHECK-GX-JSON-DAG:             "register": "%64",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 0
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest-subreg": {
-# CHECK-GX-JSON-DAG:             "register": "%64",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 0
-# CHECK-GX-JSON:               }
-# CHECK-GX-JSON-NEXT:        },
-# CHECK-GX-JSON-NEXT:        {
-# CHECK-GX-JSON-NEXT:          "instr": "$sgpr0 = COPY %65",
-# CHECK-GX-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "distances": {
-# CHECK-GX-JSON-DAG:             "%65": 0
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest": {
-# CHECK-GX-JSON-DAG:             "register": "%65",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 0
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest-subreg": {
-# CHECK-GX-JSON-DAG:             "register": "%65",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 0
-# CHECK-GX-JSON:               }
-# CHECK-GX-JSON-NEXT:        },
-# CHECK-GX-JSON-NEXT:        {
-# CHECK-GX-JSON-NEXT:          "instr": "SI_RETURN_TO_EPILOG killed $sgpr0",
-# CHECK-GX-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "distances": {},
-# CHECK-GX-JSON-NEXT:          "furthest": {},
-# CHECK-GX-JSON-NEXT:          "furthest-subreg": {}
-# CHECK-GX-JSON-NEXT:        }
-# CHECK-GX-JSON-NEXT:      ]
-# CHECK-GX-JSON-NEXT:    },
-# CHECK-GX-JSON-NEXT:    "distance-from-def-to-closest-use": {
-# CHECK-GX-JSON-DAG:       "%0": 4127,
-# CHECK-GX-JSON-DAG:       "%1": 47,
-# CHECK-GX-JSON-DAG:       "%2": 6,
-# CHECK-GX-JSON-DAG:       "%3": 5,
-# CHECK-GX-JSON-DAG:       "%4": 5,
-# CHECK-GX-JSON-DAG:       "%5": 4,
-# CHECK-GX-JSON-DAG:       "%6": 4,
-# CHECK-GX-JSON-DAG:       "%7": 3,
-# CHECK-GX-JSON-DAG:       "%8": 31,
-# CHECK-GX-JSON-DAG:       "%9": 22,
-# CHECK-GX-JSON-DAG:       "%10": 1,
-# CHECK-GX-JSON-DAG:       "%11": 2,
-# CHECK-GX-JSON-DAG:       "%12": 1,
-# CHECK-GX-JSON-DAG:       "%13": 4,
-# CHECK-GX-JSON-DAG:       "%14": 2,
-# CHECK-GX-JSON-DAG:       "%15": 1,
-# CHECK-GX-JSON-DAG:       "%16": 1,
-# CHECK-GX-JSON-DAG:       "%17": 7,
-# CHECK-GX-JSON-DAG:       "%18": 7,
-# CHECK-GX-JSON-DAG:       "%19": 4,
-# CHECK-GX-JSON-DAG:       "%20": 1,
-# CHECK-GX-JSON-DAG:       "%21": 28,
-# CHECK-GX-JSON-DAG:       "%23": 24,
-# CHECK-GX-JSON-DAG:       "%25": 4,
-# CHECK-GX-JSON-DAG:       "%27": 4100,
-# CHECK-GX-JSON-DAG:       "%29": 5257,
-# CHECK-GX-JSON-DAG:       "%31": 4105,
-# CHECK-GX-JSON-DAG:       "%33": 1,
-# CHECK-GX-JSON-DAG:       "%34": 1,
-# CHECK-GX-JSON-DAG:       "%35": 1,
-# CHECK-GX-JSON-DAG:       "%36": 1,
-# CHECK-GX-JSON-DAG:       "%37": 2,
-# CHECK-GX-JSON-DAG:       "%38": 1,
-# CHECK-GX-JSON-DAG:       "%39": 1,
-# CHECK-GX-JSON-DAG:       "%40": 1,
-# CHECK-GX-JSON-DAG:       "%41": 1,
-# CHECK-GX-JSON-DAG:       "%28": "<unreachable>",
-# CHECK-GX-JSON-DAG:       "%30": 1,
-# CHECK-GX-JSON-DAG:       "%42": 2,
-# CHECK-GX-JSON-DAG:       "%43": 1,
-# CHECK-GX-JSON-DAG:       "%44": 1,
-# CHECK-GX-JSON-DAG:       "%45": 1,
-# CHECK-GX-JSON-DAG:       "%46": 2,
-# CHECK-GX-JSON-DAG:       "%47": 1,
-# CHECK-GX-JSON-DAG:       "%48": 3,
-# CHECK-GX-JSON-DAG:       "%26": 5,
-# CHECK-GX-JSON-DAG:       "%24": "<unreachable>",
-# CHECK-GX-JSON-DAG:       "%32": "<unreachable>",
-# CHECK-GX-JSON-DAG:       "%49": 1,
-# CHECK-GX-JSON-DAG:       "%22": 2,
-# CHECK-GX-JSON-DAG:       "%50": 4098,
-# CHECK-GX-JSON-DAG:       "%51": 1,
-# CHECK-GX-JSON-DAG:       "%52": 6,
-# CHECK-GX-JSON-DAG:       "%53": 1,
-# CHECK-GX-JSON-DAG:       "%54": 1,
-# CHECK-GX-JSON-DAG:       "%55": 5,
-# CHECK-GX-JSON-DAG:       "%57": 2,
-# CHECK-GX-JSON-DAG:       "%59": 1154,
-# CHECK-GX-JSON-DAG:       "%58": 1,
-# CHECK-GX-JSON-DAG:       "%60": 1,
-# CHECK-GX-JSON-DAG:       "%56": 2,
-# CHECK-GX-JSON-DAG:       "%61": 1155,
-# CHECK-GX-JSON-DAG:       "%62": 1,
-# CHECK-GX-JSON-DAG:       "%63": 1,
-# CHECK-GX-JSON-DAG:       "%64": 1,
-# CHECK-GX-JSON-DAG:       "%65": 1
-# CHECK-GX-JSON:         },
-# CHECK-GX-JSON-NEXT:    "paths": [
-# CHECK-GX-JSON:         ],
-# CHECK-GX-JSON-NEXT:    "metrics": {
-# CHECK-GX-JSON-NEXT:        "distance-cache": {
-# CHECK-GX-JSON-NEXT:            "hits": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:            "misses": {{[0-9]+}}
-# CHECK-GX-JSON-NEXT:        }
-# CHECK-GX-JSON-NEXT:    }
-# CHECK-GX-JSON-NEXT:  },
-# CHECK-GX-JSON-DAG:   "time.amdgpu-next-use-analysis-json.json.wall": {{[0-9.e+-]+}},
-# CHECK-GX-JSON-DAG:   "time.amdgpu-next-use-analysis-json.json.user": {{[0-9.e+-]+}},
-# CHECK-GX-JSON-DAG:   "time.amdgpu-next-use-analysis-json.json.sys": {{[0-9.e+-]+}}
-# CHECK-GX-JSON:      }
diff --git a/llvm/test/CodeGen/AMDGPU/NextUseAnalysis/test_ers_nested_loops.mir b/llvm/test/CodeGen/AMDGPU/NextUseAnalysis/test_ers_nested_loops.mir
deleted file mode 100644
index 8b1a1ae76df48..0000000000000
--- a/llvm/test/CodeGen/AMDGPU/NextUseAnalysis/test_ers_nested_loops.mir
+++ /dev/null
@@ -1,6246 +0,0 @@
-# RUN: llc -mtriple=amdgpu12.00 \
-# 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:     -filetype=null \
-# RUN:     %s | FileCheck --check-prefix=CHECK-GX-JSON %s
-
-# RUN: llc -mtriple=amdgpu12.00 \
-# 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:     -filetype=null \
-# RUN:     %s | FileCheck --check-prefix=CHECK-CP-JSON %s
-
-# RUN: llc -mtriple=amdgpu12.00 \
-# 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:     -filetype=null \
-# RUN:     %s | FileCheck --check-prefix=CHECK-CP-JSON %s
-
---- |
-  define amdgpu_ps i32 @test(ptr addrspace(1) %p1, ptr addrspace(1) %p2, ptr addrspace(1) %p3, ptr addrspace(1) %p4, ptr addrspace(1) %p5) {
-  ret i32 0
-  }
-...
----
-name:            test
-tracksRegLiveness: true
-body:             |
-  bb.0:
-    successors: %bb.1(0x80000000)
-    liveins: $vgpr0, $vgpr1, $vgpr2, $vgpr3, $vgpr4, $vgpr5, $vgpr6, $vgpr7, $vgpr8, $vgpr9, $vgpr10, $vgpr11
-  
-    %0:vgpr_32 = COPY $vgpr11
-    %1:vgpr_32 = COPY $vgpr10
-    %2:vgpr_32 = COPY $vgpr9
-    %3:vgpr_32 = COPY $vgpr8
-    %4:vgpr_32 = COPY $vgpr7
-    %5:vgpr_32 = COPY $vgpr6
-    %6:vgpr_32 = COPY $vgpr5
-    %7:vgpr_32 = COPY $vgpr4
-    %8:vgpr_32 = COPY $vgpr3
-    %9:vgpr_32 = COPY $vgpr2
-    %10:vgpr_32 = COPY $vgpr1
-    %11:vgpr_32 = COPY $vgpr0
-    %12:vreg_64 = REG_SEQUENCE %3, %subreg.sub0, %2, %subreg.sub1
-    %13:vreg_64 = REG_SEQUENCE %5, %subreg.sub0, %4, %subreg.sub1
-    %14:vreg_64 = REG_SEQUENCE %7, %subreg.sub0, %6, %subreg.sub1
-    %15:vreg_64 = REG_SEQUENCE %9, %subreg.sub0, %8, %subreg.sub1
-    %16:vreg_64 = REG_SEQUENCE %11, %subreg.sub0, %10, %subreg.sub1
-    %17:vgpr_32 = GLOBAL_LOAD_UBYTE %16, 0, 0, implicit $exec :: (load (s8) from %ir.p1, addrspace 1)
-    %18:vgpr_32 = GLOBAL_LOAD_UBYTE %16, 1, 0, implicit $exec :: (load (s8) from %ir.p1 + 1, addrspace 1)
-    %19:vgpr_32 = V_LSHL_OR_B32_e64 %18, 8, %17, implicit $exec
-    %20:vgpr_32 = GLOBAL_LOAD_UBYTE %16, 2, 0, implicit $exec :: (load (s8) from %ir.p1 + 2, addrspace 1)
-    %21:vgpr_32 = GLOBAL_LOAD_UBYTE %16, 3, 0, implicit $exec :: (load (s8) from %ir.p1 + 3, addrspace 1)
-    %22:vgpr_32 = V_LSHL_OR_B32_e64 %21, 8, %20, implicit $exec
-    %23:vgpr_32 = V_LSHL_OR_B32_e64 %22, 16, %19, implicit $exec
-    %24:sreg_32 = S_MOV_B32 0
-  
-  bb.1:
-    successors: %bb.2(0x80000000)
-  
-    %25:sreg_32 = PHI %24, %bb.0, %26, %bb.5
-    %27:sreg_32 = PHI %24, %bb.0, %28, %bb.5
-    %29:vgpr_32 = PHI %23, %bb.0, %30, %bb.5
-    %31:vgpr_32 = V_MOV_B32_e32 13, implicit $exec
-  
-  bb.2:
-    successors: %bb.3(0x80000000)
-  
-    %32:sreg_32 = PHI %24, %bb.1, %33, %bb.4
-    %34:sreg_32 = PHI %24, %bb.1, %35, %bb.4
-    %36:vgpr_32 = PHI %31, %bb.1, %37, %bb.4
-    %38:vgpr_32 = GLOBAL_LOAD_UBYTE %15, 0, 0, implicit $exec :: (load (s8) from %ir.p2, addrspace 1)
-    %39:vgpr_32 = GLOBAL_LOAD_UBYTE %15, 1, 0, implicit $exec :: (load (s8) from %ir.p2 + 1, addrspace 1)
-    %40:vgpr_32 = V_LSHL_OR_B32_e64 %39, 8, %38, implicit $exec
-    %41:vgpr_32 = GLOBAL_LOAD_UBYTE %15, 2, 0, implicit $exec :: (load (s8) from %ir.p2 + 2, addrspace 1)
-    %42:vgpr_32 = GLOBAL_LOAD_UBYTE %15, 3, 0, implicit $exec :: (load (s8) from %ir.p2 + 3, addrspace 1)
-    %43:vgpr_32 = V_LSHL_OR_B32_e64 %42, 8, %41, implicit $exec
-    %44:vgpr_32 = V_LSHL_OR_B32_e64 %43, 16, %40, implicit $exec
-    %45:vgpr_32 = V_ADD_U32_e64 %34, %44, 0, implicit $exec
-    GLOBAL_STORE_BYTE_D16_HI %13, %45, 2, 0, implicit $exec :: (store (s8) into %ir.p4 + 2, addrspace 1)
-    GLOBAL_STORE_BYTE %13, %45, 0, 0, implicit $exec :: (store (s8) into %ir.p4, addrspace 1)
-    %46:vgpr_32 = V_LSHRREV_B32_e64 24, %45, implicit $exec
-    GLOBAL_STORE_BYTE %13, %46, 3, 0, implicit $exec :: (store (s8) into %ir.p4 + 3, addrspace 1)
-    %47:vgpr_32 = V_LSHRREV_B32_e64 8, %45, implicit $exec
-    GLOBAL_STORE_BYTE %13, %47, 1, 0, implicit $exec :: (store (s8) into %ir.p4 + 1, addrspace 1)
-    %48:sreg_32 = S_MOV_B32 0
-  
-  bb.3:
-    successors: %bb.4(0x04000000), %bb.3(0x7c000000)
-  
-    %49:sreg_32 = PHI %48, %bb.2, %50, %bb.3
-    %51:sreg_32 = PHI %48, %bb.2, %52, %bb.3
-    %52:sreg_32 = S_ADD_I32 %51, 3, implicit-def dead $scc
-    %53:vgpr_32 = GLOBAL_LOAD_UBYTE %14, 0, 0, implicit $exec :: (load (s8) from %ir.p3, addrspace 1)
-    %54:vgpr_32 = GLOBAL_LOAD_UBYTE %14, 1, 0, implicit $exec :: (load (s8) from %ir.p3 + 1, addrspace 1)
-    %55:vgpr_32 = V_LSHL_OR_B32_e64 %54, 8, %53, implicit $exec
-    %56:vgpr_32 = GLOBAL_LOAD_UBYTE %14, 2, 0, implicit $exec :: (load (s8) from %ir.p3 + 2, addrspace 1)
-    %57:vgpr_32 = GLOBAL_LOAD_UBYTE %14, 3, 0, implicit $exec :: (load (s8) from %ir.p3 + 3, addrspace 1)
-    %58:vgpr_32 = V_LSHL_OR_B32_e64 %57, 8, %56, implicit $exec
-    %59:vgpr_32 = V_LSHL_OR_B32_e64 %58, 16, %55, implicit $exec
-    %60:vgpr_32 = V_ADD_U32_e64 %52, %59, 0, implicit $exec
-    GLOBAL_STORE_BYTE_D16_HI %12, %60, 2, 0, implicit $exec :: (store (s8) into %ir.p5 + 2, addrspace 1)
-    GLOBAL_STORE_BYTE %12, %60, 0, 0, implicit $exec :: (store (s8) into %ir.p5, addrspace 1)
-    %61:vgpr_32 = V_LSHRREV_B32_e64 24, %60, implicit $exec
-    GLOBAL_STORE_BYTE %12, %61, 3, 0, implicit $exec :: (store (s8) into %ir.p5 + 3, addrspace 1)
-    %62:vgpr_32 = V_LSHRREV_B32_e64 8, %60, implicit $exec
-    GLOBAL_STORE_BYTE %12, %62, 1, 0, implicit $exec :: (store (s8) into %ir.p5 + 1, addrspace 1)
-    %63:sreg_32 = V_CMP_GE_U32_e64 %52, %1, implicit $exec
-    %50:sreg_32 = SI_IF_BREAK %63, %49, implicit-def dead $scc
-    %64:vgpr_32 = COPY %52, implicit $exec
-    SI_LOOP %50, %bb.3, implicit-def dead $exec, implicit-def dead $scc, implicit $exec
-    S_BRANCH %bb.4
-  
-  bb.4:
-    successors: %bb.5(0x04000000), %bb.2(0x7c000000)
-  
-    SI_END_CF %50, implicit-def dead $exec, implicit-def dead $scc, implicit $exec
-    %65:vgpr_32 = V_ADD_U32_e64 %59, %64, 0, implicit $exec
-    %37:vgpr_32 = V_MUL_LO_U32_e64 %29, %65, implicit $exec
-    %35:sreg_32 = S_ADD_I32 %34, 2, implicit-def dead $scc
-    %66:sreg_32 = V_CMP_GE_U32_e64 %35, %0, implicit $exec
-    %33:sreg_32 = SI_IF_BREAK %66, %32, implicit-def dead $scc
-    SI_LOOP %33, %bb.2, implicit-def dead $exec, implicit-def dead $scc, implicit $exec
-    S_BRANCH %bb.5
-  
-  bb.5:
-    successors: %bb.6(0x04000000), %bb.1(0x7c000000)
-  
-    SI_END_CF %33, implicit-def dead $exec, implicit-def dead $scc, implicit $exec
-    %30:vgpr_32 = V_SUB_U32_e64 %44, %64, 0, implicit $exec
-    %28:sreg_32 = S_ADD_I32 %27, 1, implicit-def dead $scc
-    %67:sreg_32 = V_CMP_GE_U32_e64 %28, %1, implicit $exec
-    %26:sreg_32 = SI_IF_BREAK %67, %25, implicit-def dead $scc
-    SI_LOOP %26, %bb.1, implicit-def dead $exec, implicit-def dead $scc, implicit $exec
-    S_BRANCH %bb.6
-  
-  bb.6:
-    SI_END_CF %26, implicit-def dead $exec, implicit-def dead $scc, implicit $exec
-    %68:vgpr_32 = V_MAX_U32_e64 1, %1, implicit $exec
-    %69:vgpr_32 = V_ADD_U32_e64 %68, %23, 0, implicit $exec
-    %70:vgpr_32 = V_ADD3_U32_e64 %36, %29, %65, implicit $exec
-    %71:vgpr_32 = V_ADD_U32_e64 %65, %37, 0, implicit $exec
-    %72:vgpr_32 = V_ADD3_U32_e64 %71, %70, %36, implicit $exec
-    %73:vgpr_32 = V_ADD3_U32_e64 %69, %72, -1, implicit $exec
-    %74:sreg_32_xm0 = V_READFIRSTLANE_B32 %73, implicit $exec
-    $sgpr0 = COPY %74
-    SI_RETURN_TO_EPILOG killed $sgpr0
-...
-
-
-# CHECK-CP-JSON:      {
-# CHECK-CP-JSON-NEXT:  "next-use-analysis": {
-# CHECK-CP-JSON-NEXT:    "furthest-distances": {
-# CHECK-CP-JSON-NEXT:      "bb.0": [
-# CHECK-CP-JSON-NEXT:        {
-# CHECK-CP-JSON-NEXT:          "instr": "%0:vgpr_32 = COPY $vgpr11",
-# CHECK-CP-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "distances": {},
-# CHECK-CP-JSON-NEXT:          "furthest": {},
-# CHECK-CP-JSON-NEXT:          "furthest-subreg": {}
-# CHECK-CP-JSON-NEXT:        },
-# CHECK-CP-JSON-NEXT:        {
-# CHECK-CP-JSON-NEXT:          "instr": "%1:vgpr_32 = COPY $vgpr10",
-# CHECK-CP-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "distances": {
-# CHECK-CP-JSON-DAG:             "%0": 23
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest": {
-# CHECK-CP-JSON-DAG:             "register": "%0",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 23
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest-subreg": {
-# CHECK-CP-JSON-DAG:             "register": "%0",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 23
-# CHECK-CP-JSON:               }
-# CHECK-CP-JSON-NEXT:        },
-# CHECK-CP-JSON-NEXT:        {
-# CHECK-CP-JSON-NEXT:          "instr": "%2:vgpr_32 = COPY $vgpr9",
-# CHECK-CP-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "distances": {
-# CHECK-CP-JSON-DAG:             "%0": 22
-# CHECK-CP-JSON-DAG:             "%1": 22
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest": {
-# CHECK-CP-JSON-DAG:             "register": "%0",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 22
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest-subreg": {
-# CHECK-CP-JSON-DAG:             "register": "%0",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 22
-# CHECK-CP-JSON:               }
-# CHECK-CP-JSON-NEXT:        },
-# CHECK-CP-JSON-NEXT:        {
-# CHECK-CP-JSON-NEXT:          "instr": "%3:vgpr_32 = COPY $vgpr8",
-# CHECK-CP-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "distances": {
-# CHECK-CP-JSON-DAG:             "%0": 21
-# CHECK-CP-JSON-DAG:             "%1": 21
-# CHECK-CP-JSON-DAG:             "%2": 9
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest": {
-# CHECK-CP-JSON-DAG:             "register": "%0",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 21
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest-subreg": {
-# CHECK-CP-JSON-DAG:             "register": "%0",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 21
-# CHECK-CP-JSON:               }
-# CHECK-CP-JSON-NEXT:        },
-# CHECK-CP-JSON-NEXT:        {
-# CHECK-CP-JSON-NEXT:          "instr": "%4:vgpr_32 = COPY $vgpr7",
-# CHECK-CP-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "distances": {
-# CHECK-CP-JSON-DAG:             "%0": 20
-# CHECK-CP-JSON-DAG:             "%1": 20
-# CHECK-CP-JSON-DAG:             "%2": 8
-# CHECK-CP-JSON-DAG:             "%3": 8
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest": {
-# CHECK-CP-JSON-DAG:             "register": "%0",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 20
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest-subreg": {
-# CHECK-CP-JSON-DAG:             "register": "%0",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 20
-# CHECK-CP-JSON:               }
-# CHECK-CP-JSON-NEXT:        },
-# CHECK-CP-JSON-NEXT:        {
-# CHECK-CP-JSON-NEXT:          "instr": "%5:vgpr_32 = COPY $vgpr6",
-# CHECK-CP-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "distances": {
-# CHECK-CP-JSON-DAG:             "%0": 19
-# CHECK-CP-JSON-DAG:             "%1": 19
-# CHECK-CP-JSON-DAG:             "%2": 7
-# CHECK-CP-JSON-DAG:             "%3": 7
-# CHECK-CP-JSON-DAG:             "%4": 8
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest": {
-# CHECK-CP-JSON-DAG:             "register": "%0",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 19
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest-subreg": {
-# CHECK-CP-JSON-DAG:             "register": "%0",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 19
-# CHECK-CP-JSON:               }
-# CHECK-CP-JSON-NEXT:        },
-# CHECK-CP-JSON-NEXT:        {
-# CHECK-CP-JSON-NEXT:          "instr": "%6:vgpr_32 = COPY $vgpr5",
-# CHECK-CP-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "distances": {
-# CHECK-CP-JSON-DAG:             "%0": 18
-# CHECK-CP-JSON-DAG:             "%1": 18
-# CHECK-CP-JSON-DAG:             "%2": 6
-# CHECK-CP-JSON-DAG:             "%3": 6
-# CHECK-CP-JSON-DAG:             "%4": 7
-# CHECK-CP-JSON-DAG:             "%5": 7
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest": {
-# CHECK-CP-JSON-DAG:             "register": "%0",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 18
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest-subreg": {
-# CHECK-CP-JSON-DAG:             "register": "%0",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 18
-# CHECK-CP-JSON:               }
-# CHECK-CP-JSON-NEXT:        },
-# CHECK-CP-JSON-NEXT:        {
-# CHECK-CP-JSON-NEXT:          "instr": "%7:vgpr_32 = COPY $vgpr4",
-# CHECK-CP-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "distances": {
-# CHECK-CP-JSON-DAG:             "%0": 17
-# CHECK-CP-JSON-DAG:             "%1": 17
-# CHECK-CP-JSON-DAG:             "%2": 5
-# CHECK-CP-JSON-DAG:             "%3": 5
-# CHECK-CP-JSON-DAG:             "%4": 6
-# CHECK-CP-JSON-DAG:             "%5": 6
-# CHECK-CP-JSON-DAG:             "%6": 7
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest": {
-# CHECK-CP-JSON-DAG:             "register": "%0",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 17
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest-subreg": {
-# CHECK-CP-JSON-DAG:             "register": "%0",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 17
-# CHECK-CP-JSON:               }
-# CHECK-CP-JSON-NEXT:        },
-# CHECK-CP-JSON-NEXT:        {
-# CHECK-CP-JSON-NEXT:          "instr": "%8:vgpr_32 = COPY $vgpr3",
-# CHECK-CP-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "distances": {
-# CHECK-CP-JSON-DAG:             "%0": 16
-# CHECK-CP-JSON-DAG:             "%1": 16
-# CHECK-CP-JSON-DAG:             "%2": 4
-# CHECK-CP-JSON-DAG:             "%3": 4
-# CHECK-CP-JSON-DAG:             "%4": 5
-# CHECK-CP-JSON-DAG:             "%5": 5
-# CHECK-CP-JSON-DAG:             "%6": 6
-# CHECK-CP-JSON-DAG:             "%7": 6
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest": {
-# CHECK-CP-JSON-DAG:             "register": "%0",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 16
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest-subreg": {
-# CHECK-CP-JSON-DAG:             "register": "%0",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 16
-# CHECK-CP-JSON:               }
-# CHECK-CP-JSON-NEXT:        },
-# CHECK-CP-JSON-NEXT:        {
-# CHECK-CP-JSON-NEXT:          "instr": "%9:vgpr_32 = COPY $vgpr2",
-# CHECK-CP-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "distances": {
-# CHECK-CP-JSON-DAG:             "%0": 15
-# CHECK-CP-JSON-DAG:             "%1": 15
-# CHECK-CP-JSON-DAG:             "%2": 3
-# CHECK-CP-JSON-DAG:             "%3": 3
-# CHECK-CP-JSON-DAG:             "%4": 4
-# CHECK-CP-JSON-DAG:             "%5": 4
-# CHECK-CP-JSON-DAG:             "%6": 5
-# CHECK-CP-JSON-DAG:             "%7": 5
-# CHECK-CP-JSON-DAG:             "%8": 6
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest": {
-# CHECK-CP-JSON-DAG:             "register": "%0",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 15
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest-subreg": {
-# CHECK-CP-JSON-DAG:             "register": "%0",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 15
-# CHECK-CP-JSON:               }
-# CHECK-CP-JSON-NEXT:        },
-# CHECK-CP-JSON-NEXT:        {
-# CHECK-CP-JSON-NEXT:          "instr": "%10:vgpr_32 = COPY $vgpr1",
-# CHECK-CP-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "distances": {
-# CHECK-CP-JSON-DAG:             "%0": 14
-# CHECK-CP-JSON-DAG:             "%1": 14
-# CHECK-CP-JSON-DAG:             "%2": 2
-# CHECK-CP-JSON-DAG:             "%3": 2
-# CHECK-CP-JSON-DAG:             "%4": 3
-# CHECK-CP-JSON-DAG:             "%5": 3
-# CHECK-CP-JSON-DAG:             "%6": 4
-# CHECK-CP-JSON-DAG:             "%7": 4
-# CHECK-CP-JSON-DAG:             "%8": 5
-# CHECK-CP-JSON-DAG:             "%9": 5
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest": {
-# CHECK-CP-JSON-DAG:             "register": "%0",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 14
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest-subreg": {
-# CHECK-CP-JSON-DAG:             "register": "%0",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 14
-# CHECK-CP-JSON:               }
-# CHECK-CP-JSON-NEXT:        },
-# CHECK-CP-JSON-NEXT:        {
-# CHECK-CP-JSON-NEXT:          "instr": "%11:vgpr_32 = COPY $vgpr0",
-# CHECK-CP-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "distances": {
-# CHECK-CP-JSON-DAG:             "%0": 13
-# CHECK-CP-JSON-DAG:             "%1": 13
-# CHECK-CP-JSON-DAG:             "%2": 1
-# CHECK-CP-JSON-DAG:             "%3": 1
-# CHECK-CP-JSON-DAG:             "%4": 2
-# CHECK-CP-JSON-DAG:             "%5": 2
-# CHECK-CP-JSON-DAG:             "%6": 3
-# CHECK-CP-JSON-DAG:             "%7": 3
-# CHECK-CP-JSON-DAG:             "%8": 4
-# CHECK-CP-JSON-DAG:             "%9": 4
-# CHECK-CP-JSON-DAG:             "%10": 5
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest": {
-# CHECK-CP-JSON-DAG:             "register": "%0",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 13
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest-subreg": {
-# CHECK-CP-JSON-DAG:             "register": "%0",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 13
-# CHECK-CP-JSON:               }
-# CHECK-CP-JSON-NEXT:        },
-# CHECK-CP-JSON-NEXT:        {
-# CHECK-CP-JSON-NEXT:          "instr": "%12:vreg_64 = REG_SEQUENCE %3, %subreg.sub0, %2, %subreg.sub1",
-# CHECK-CP-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "distances": {
-# CHECK-CP-JSON-DAG:             "%0": 12
-# CHECK-CP-JSON-DAG:             "%1": 12
-# CHECK-CP-JSON-DAG:             "%2": 0
-# CHECK-CP-JSON-DAG:             "%3": 0
-# CHECK-CP-JSON-DAG:             "%4": 1
-# CHECK-CP-JSON-DAG:             "%5": 1
-# CHECK-CP-JSON-DAG:             "%6": 2
-# CHECK-CP-JSON-DAG:             "%7": 2
-# CHECK-CP-JSON-DAG:             "%8": 3
-# CHECK-CP-JSON-DAG:             "%9": 3
-# CHECK-CP-JSON-DAG:             "%10": 4
-# CHECK-CP-JSON-DAG:             "%11": 4
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest": {
-# CHECK-CP-JSON-DAG:             "register": "%0",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 12
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest-subreg": {
-# CHECK-CP-JSON-DAG:             "register": "%0",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 12
-# CHECK-CP-JSON:               }
-# CHECK-CP-JSON-NEXT:        },
-# CHECK-CP-JSON-NEXT:        {
-# CHECK-CP-JSON-NEXT:          "instr": "%13:vreg_64 = REG_SEQUENCE %5, %subreg.sub0, %4, %subreg.sub1",
-# CHECK-CP-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "distances": {
-# CHECK-CP-JSON-DAG:             "%0": 11
-# CHECK-CP-JSON-DAG:             "%1": 11
-# CHECK-CP-JSON-DAG:             "%4": 0
-# CHECK-CP-JSON-DAG:             "%5": 0
-# CHECK-CP-JSON-DAG:             "%6": 1
-# CHECK-CP-JSON-DAG:             "%7": 1
-# CHECK-CP-JSON-DAG:             "%8": 2
-# CHECK-CP-JSON-DAG:             "%9": 2
-# CHECK-CP-JSON-DAG:             "%10": 3
-# CHECK-CP-JSON-DAG:             "%11": 3
-# CHECK-CP-JSON-DAG:             "%12": 11
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest": {
-# CHECK-CP-JSON-DAG:             "register": "%0",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 11
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest-subreg": {
-# CHECK-CP-JSON-DAG:             "register": "%0",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 11
-# CHECK-CP-JSON:               }
-# CHECK-CP-JSON-NEXT:        },
-# CHECK-CP-JSON-NEXT:        {
-# CHECK-CP-JSON-NEXT:          "instr": "%14:vreg_64 = REG_SEQUENCE %7, %subreg.sub0, %6, %subreg.sub1",
-# CHECK-CP-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "distances": {
-# CHECK-CP-JSON-DAG:             "%0": 10
-# CHECK-CP-JSON-DAG:             "%1": 10
-# CHECK-CP-JSON-DAG:             "%6": 0
-# CHECK-CP-JSON-DAG:             "%7": 0
-# CHECK-CP-JSON-DAG:             "%8": 1
-# CHECK-CP-JSON-DAG:             "%9": 1
-# CHECK-CP-JSON-DAG:             "%10": 2
-# CHECK-CP-JSON-DAG:             "%11": 2
-# CHECK-CP-JSON-DAG:             "%12": 10
-# CHECK-CP-JSON-DAG:             "%13": 10
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest": {
-# CHECK-CP-JSON-DAG:             "register": "%0",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 10
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest-subreg": {
-# CHECK-CP-JSON-DAG:             "register": "%0",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 10
-# CHECK-CP-JSON:               }
-# CHECK-CP-JSON-NEXT:        },
-# CHECK-CP-JSON-NEXT:        {
-# CHECK-CP-JSON-NEXT:          "instr": "%15:vreg_64 = REG_SEQUENCE %9, %subreg.sub0, %8, %subreg.sub1",
-# CHECK-CP-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "distances": {
-# CHECK-CP-JSON-DAG:             "%0": 9
-# CHECK-CP-JSON-DAG:             "%1": 9
-# CHECK-CP-JSON-DAG:             "%8": 0
-# CHECK-CP-JSON-DAG:             "%9": 0
-# CHECK-CP-JSON-DAG:             "%10": 1
-# CHECK-CP-JSON-DAG:             "%11": 1
-# CHECK-CP-JSON-DAG:             "%12": 9
-# CHECK-CP-JSON-DAG:             "%13": 9
-# CHECK-CP-JSON-DAG:             "%14": 9
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest": {
-# CHECK-CP-JSON-DAG:             "register": "%0",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 9
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest-subreg": {
-# CHECK-CP-JSON-DAG:             "register": "%0",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 9
-# CHECK-CP-JSON:               }
-# CHECK-CP-JSON-NEXT:        },
-# CHECK-CP-JSON-NEXT:        {
-# CHECK-CP-JSON-NEXT:          "instr": "%16:vreg_64 = REG_SEQUENCE %11, %subreg.sub0, %10, %subreg.sub1",
-# CHECK-CP-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "distances": {
-# CHECK-CP-JSON-DAG:             "%0": 8
-# CHECK-CP-JSON-DAG:             "%1": 8
-# CHECK-CP-JSON-DAG:             "%10": 0
-# CHECK-CP-JSON-DAG:             "%11": 0
-# CHECK-CP-JSON-DAG:             "%12": 8
-# CHECK-CP-JSON-DAG:             "%13": 8
-# CHECK-CP-JSON-DAG:             "%14": 8
-# CHECK-CP-JSON-DAG:             "%15": 8
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest": {
-# CHECK-CP-JSON-DAG:             "register": "%0",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 8
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest-subreg": {
-# CHECK-CP-JSON-DAG:             "register": "%0",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 8
-# CHECK-CP-JSON:               }
-# CHECK-CP-JSON-NEXT:        },
-# CHECK-CP-JSON-NEXT:        {
-# CHECK-CP-JSON-NEXT:          "instr": "%17:vgpr_32 = GLOBAL_LOAD_UBYTE %16, 0, 0, implicit $exec :: (load (s8) from %ir.p1, addrspace 1)",
-# CHECK-CP-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "distances": {
-# CHECK-CP-JSON-DAG:             "%0": 7
-# CHECK-CP-JSON-DAG:             "%1": 7
-# CHECK-CP-JSON-DAG:             "%12": 7
-# CHECK-CP-JSON-DAG:             "%13": 7
-# CHECK-CP-JSON-DAG:             "%14": 7
-# CHECK-CP-JSON-DAG:             "%15": 7
-# CHECK-CP-JSON-DAG:             "%16": 0
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest": {
-# CHECK-CP-JSON-DAG:             "register": "%0",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 7
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest-subreg": {
-# CHECK-CP-JSON-DAG:             "register": "%0",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 7
-# CHECK-CP-JSON:               }
-# CHECK-CP-JSON-NEXT:        },
-# CHECK-CP-JSON-NEXT:        {
-# CHECK-CP-JSON-NEXT:          "instr": "%18:vgpr_32 = GLOBAL_LOAD_UBYTE %16, 1, 0, implicit $exec :: (load (s8) from %ir.p1 + 1, addrspace 1)",
-# CHECK-CP-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "distances": {
-# CHECK-CP-JSON-DAG:             "%0": 6
-# CHECK-CP-JSON-DAG:             "%1": 6
-# CHECK-CP-JSON-DAG:             "%12": 6
-# CHECK-CP-JSON-DAG:             "%13": 6
-# CHECK-CP-JSON-DAG:             "%14": 6
-# CHECK-CP-JSON-DAG:             "%15": 6
-# CHECK-CP-JSON-DAG:             "%16": 0
-# CHECK-CP-JSON-DAG:             "%17": 1
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest": {
-# CHECK-CP-JSON-DAG:             "register": "%0",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 6
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest-subreg": {
-# CHECK-CP-JSON-DAG:             "register": "%0",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 6
-# CHECK-CP-JSON:               }
-# CHECK-CP-JSON-NEXT:        },
-# CHECK-CP-JSON-NEXT:        {
-# CHECK-CP-JSON-NEXT:          "instr": "%19:vgpr_32 = V_LSHL_OR_B32_e64 %18, 8, %17, implicit $exec",
-# CHECK-CP-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "distances": {
-# CHECK-CP-JSON-DAG:             "%0": 5
-# CHECK-CP-JSON-DAG:             "%1": 5
-# CHECK-CP-JSON-DAG:             "%12": 5
-# CHECK-CP-JSON-DAG:             "%13": 5
-# CHECK-CP-JSON-DAG:             "%14": 5
-# CHECK-CP-JSON-DAG:             "%15": 5
-# CHECK-CP-JSON-DAG:             "%16": 1
-# CHECK-CP-JSON-DAG:             "%17": 0
-# CHECK-CP-JSON-DAG:             "%18": 0
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest": {
-# CHECK-CP-JSON-DAG:             "register": "%0",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 5
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest-subreg": {
-# CHECK-CP-JSON-DAG:             "register": "%0",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 5
-# CHECK-CP-JSON:               }
-# CHECK-CP-JSON-NEXT:        },
-# CHECK-CP-JSON-NEXT:        {
-# CHECK-CP-JSON-NEXT:          "instr": "%20:vgpr_32 = GLOBAL_LOAD_UBYTE %16, 2, 0, implicit $exec :: (load (s8) from %ir.p1 + 2, addrspace 1)",
-# CHECK-CP-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "distances": {
-# CHECK-CP-JSON-DAG:             "%0": 4
-# CHECK-CP-JSON-DAG:             "%1": 4
-# CHECK-CP-JSON-DAG:             "%12": 4
-# CHECK-CP-JSON-DAG:             "%13": 4
-# CHECK-CP-JSON-DAG:             "%14": 4
-# CHECK-CP-JSON-DAG:             "%15": 4
-# CHECK-CP-JSON-DAG:             "%16": 0
-# CHECK-CP-JSON-DAG:             "%19": 3
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest": {
-# CHECK-CP-JSON-DAG:             "register": "%0",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 4
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest-subreg": {
-# CHECK-CP-JSON-DAG:             "register": "%0",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 4
-# CHECK-CP-JSON:               }
-# CHECK-CP-JSON-NEXT:        },
-# CHECK-CP-JSON-NEXT:        {
-# CHECK-CP-JSON-NEXT:          "instr": "%21:vgpr_32 = GLOBAL_LOAD_UBYTE %16, 3, 0, implicit $exec :: (load (s8) from %ir.p1 + 3, addrspace 1)",
-# CHECK-CP-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "distances": {
-# CHECK-CP-JSON-DAG:             "%0": 3
-# CHECK-CP-JSON-DAG:             "%1": 3
-# CHECK-CP-JSON-DAG:             "%12": 3
-# CHECK-CP-JSON-DAG:             "%13": 3
-# CHECK-CP-JSON-DAG:             "%14": 3
-# CHECK-CP-JSON-DAG:             "%15": 3
-# CHECK-CP-JSON-DAG:             "%16": 0
-# CHECK-CP-JSON-DAG:             "%19": 2
-# CHECK-CP-JSON-DAG:             "%20": 1
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest": {
-# CHECK-CP-JSON-DAG:             "register": "%0",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 3
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest-subreg": {
-# CHECK-CP-JSON-DAG:             "register": "%0",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 3
-# CHECK-CP-JSON:               }
-# CHECK-CP-JSON-NEXT:        },
-# CHECK-CP-JSON-NEXT:        {
-# CHECK-CP-JSON-NEXT:          "instr": "%22:vgpr_32 = V_LSHL_OR_B32_e64 %21, 8, %20, implicit $exec",
-# CHECK-CP-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "distances": {
-# CHECK-CP-JSON-DAG:             "%0": 2
-# CHECK-CP-JSON-DAG:             "%1": 2
-# CHECK-CP-JSON-DAG:             "%12": 2
-# CHECK-CP-JSON-DAG:             "%13": 2
-# CHECK-CP-JSON-DAG:             "%14": 2
-# CHECK-CP-JSON-DAG:             "%15": 2
-# CHECK-CP-JSON-DAG:             "%19": 1
-# CHECK-CP-JSON-DAG:             "%20": 0
-# CHECK-CP-JSON-DAG:             "%21": 0
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest": {
-# CHECK-CP-JSON-DAG:             "register": "%0",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 2
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest-subreg": {
-# CHECK-CP-JSON-DAG:             "register": "%0",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 2
-# CHECK-CP-JSON:               }
-# CHECK-CP-JSON-NEXT:        },
-# CHECK-CP-JSON-NEXT:        {
-# CHECK-CP-JSON-NEXT:          "instr": "%23:vgpr_32 = V_LSHL_OR_B32_e64 %22, 16, %19, implicit $exec",
-# CHECK-CP-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "distances": {
-# CHECK-CP-JSON-DAG:             "%0": 1
-# CHECK-CP-JSON-DAG:             "%1": 1
-# CHECK-CP-JSON-DAG:             "%12": 1
-# CHECK-CP-JSON-DAG:             "%13": 1
-# CHECK-CP-JSON-DAG:             "%14": 1
-# CHECK-CP-JSON-DAG:             "%15": 1
-# CHECK-CP-JSON-DAG:             "%19": 0
-# CHECK-CP-JSON-DAG:             "%22": 0
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest": {
-# CHECK-CP-JSON-DAG:             "register": "%0",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 1
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest-subreg": {
-# CHECK-CP-JSON-DAG:             "register": "%0",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 1
-# CHECK-CP-JSON:               }
-# CHECK-CP-JSON-NEXT:        },
-# CHECK-CP-JSON-NEXT:        {
-# CHECK-CP-JSON-NEXT:          "instr": "%24:sreg_32 = S_MOV_B32 0",
-# CHECK-CP-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "distances": {
-# CHECK-CP-JSON-DAG:             "%0": 0
-# CHECK-CP-JSON-DAG:             "%1": 0
-# CHECK-CP-JSON-DAG:             "%12": 0
-# CHECK-CP-JSON-DAG:             "%13": 0
-# CHECK-CP-JSON-DAG:             "%14": 0
-# CHECK-CP-JSON-DAG:             "%15": 0
-# CHECK-CP-JSON-DAG:             "%23": 0
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest": {
-# CHECK-CP-JSON-DAG:             "register": "%0",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 0
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest-subreg": {
-# CHECK-CP-JSON-DAG:             "register": "%0",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 0
-# CHECK-CP-JSON:               }
-# CHECK-CP-JSON-NEXT:        }
-# CHECK-CP-JSON-NEXT:      ],
-# CHECK-CP-JSON-NEXT:      "bb.1": [
-# CHECK-CP-JSON-NEXT:        {
-# CHECK-CP-JSON-NEXT:          "instr": "%25:sreg_32 = PHI %24, %bb.0, %26, %bb.5",
-# CHECK-CP-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "distances": {
-# CHECK-CP-JSON-DAG:             "%0": 0
-# CHECK-CP-JSON-DAG:             "%1": 0
-# CHECK-CP-JSON-DAG:             "%12": 0
-# CHECK-CP-JSON-DAG:             "%13": 0
-# CHECK-CP-JSON-DAG:             "%14": 0
-# CHECK-CP-JSON-DAG:             "%15": 0
-# CHECK-CP-JSON-DAG:             "%23": 42320899
-# CHECK-CP-JSON-DAG:             "%24": 0
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest": {
-# CHECK-CP-JSON-DAG:             "register": "%23",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 42320899
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest-subreg": {
-# CHECK-CP-JSON-DAG:             "register": "%23",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 42320899
-# CHECK-CP-JSON:               }
-# CHECK-CP-JSON-NEXT:        },
-# CHECK-CP-JSON-NEXT:        {
-# CHECK-CP-JSON-NEXT:          "instr": "%27:sreg_32 = PHI %24, %bb.0, %28, %bb.5",
-# CHECK-CP-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "distances": {
-# CHECK-CP-JSON-DAG:             "%0": 0
-# CHECK-CP-JSON-DAG:             "%1": 0
-# CHECK-CP-JSON-DAG:             "%12": 0
-# CHECK-CP-JSON-DAG:             "%13": 0
-# CHECK-CP-JSON-DAG:             "%14": 0
-# CHECK-CP-JSON-DAG:             "%15": 0
-# CHECK-CP-JSON-DAG:             "%23": 42320899
-# CHECK-CP-JSON-DAG:             "%24": 0
-# CHECK-CP-JSON-DAG:             "%25": 48
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest": {
-# CHECK-CP-JSON-DAG:             "register": "%23",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 42320899
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest-subreg": {
-# CHECK-CP-JSON-DAG:             "register": "%23",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 42320899
-# CHECK-CP-JSON:               }
-# CHECK-CP-JSON-NEXT:        },
-# CHECK-CP-JSON-NEXT:        {
-# CHECK-CP-JSON-NEXT:          "instr": "%29:vgpr_32 = PHI %23, %bb.0, %30, %bb.5",
-# CHECK-CP-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "distances": {
-# CHECK-CP-JSON-DAG:             "%0": 0
-# CHECK-CP-JSON-DAG:             "%1": 0
-# CHECK-CP-JSON-DAG:             "%12": 0
-# CHECK-CP-JSON-DAG:             "%13": 0
-# CHECK-CP-JSON-DAG:             "%14": 0
-# CHECK-CP-JSON-DAG:             "%15": 0
-# CHECK-CP-JSON-DAG:             "%23": 42320899
-# CHECK-CP-JSON-DAG:             "%24": 0
-# CHECK-CP-JSON-DAG:             "%25": 48
-# CHECK-CP-JSON-DAG:             "%27": 46
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest": {
-# CHECK-CP-JSON-DAG:             "register": "%23",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 42320899
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest-subreg": {
-# CHECK-CP-JSON-DAG:             "register": "%23",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 42320899
-# CHECK-CP-JSON:               }
-# CHECK-CP-JSON-NEXT:        },
-# CHECK-CP-JSON-NEXT:        {
-# CHECK-CP-JSON-NEXT:          "instr": "%31:vgpr_32 = V_MOV_B32_e32 13, implicit $exec",
-# CHECK-CP-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "distances": {
-# CHECK-CP-JSON-DAG:             "%0": 0
-# CHECK-CP-JSON-DAG:             "%1": 0
-# CHECK-CP-JSON-DAG:             "%12": 0
-# CHECK-CP-JSON-DAG:             "%13": 0
-# CHECK-CP-JSON-DAG:             "%14": 0
-# CHECK-CP-JSON-DAG:             "%15": 0
-# CHECK-CP-JSON-DAG:             "%23": 42320899
-# CHECK-CP-JSON-DAG:             "%24": 0
-# CHECK-CP-JSON-DAG:             "%25": 48
-# CHECK-CP-JSON-DAG:             "%27": 46
-# CHECK-CP-JSON-DAG:             "%29": 0
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest": {
-# CHECK-CP-JSON-DAG:             "register": "%23",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 42320899
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest-subreg": {
-# CHECK-CP-JSON-DAG:             "register": "%23",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 42320899
-# CHECK-CP-JSON:               }
-# CHECK-CP-JSON-NEXT:        }
-# CHECK-CP-JSON-NEXT:      ],
-# CHECK-CP-JSON-NEXT:      "bb.2": [
-# CHECK-CP-JSON-NEXT:        {
-# CHECK-CP-JSON-NEXT:          "instr": "%32:sreg_32 = PHI %24, %bb.1, %33, %bb.4",
-# CHECK-CP-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "distances": {
-# CHECK-CP-JSON-DAG:             "%0": 39
-# CHECK-CP-JSON-DAG:             "%1": 14
-# CHECK-CP-JSON-DAG:             "%12": 14
-# CHECK-CP-JSON-DAG:             "%13": 8
-# CHECK-CP-JSON-DAG:             "%14": 14
-# CHECK-CP-JSON-DAG:             "%15": 0
-# CHECK-CP-JSON-DAG:             "%23": 42320899
-# CHECK-CP-JSON-DAG:             "%24": 330632
-# CHECK-CP-JSON-DAG:             "%25": 330629
-# CHECK-CP-JSON-DAG:             "%27": 330627
-# CHECK-CP-JSON-DAG:             "%29": 37
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest": {
-# CHECK-CP-JSON-DAG:             "register": "%23",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 42320899
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest-subreg": {
-# CHECK-CP-JSON-DAG:             "register": "%23",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 42320899
-# CHECK-CP-JSON:               }
-# CHECK-CP-JSON-NEXT:        },
-# CHECK-CP-JSON-NEXT:        {
-# CHECK-CP-JSON-NEXT:          "instr": "%34:sreg_32 = PHI %24, %bb.1, %35, %bb.4",
-# CHECK-CP-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "distances": {
-# CHECK-CP-JSON-DAG:             "%0": 39
-# CHECK-CP-JSON-DAG:             "%1": 14
-# CHECK-CP-JSON-DAG:             "%12": 14
-# CHECK-CP-JSON-DAG:             "%13": 8
-# CHECK-CP-JSON-DAG:             "%14": 14
-# CHECK-CP-JSON-DAG:             "%15": 0
-# CHECK-CP-JSON-DAG:             "%23": 42320899
-# CHECK-CP-JSON-DAG:             "%24": 330632
-# CHECK-CP-JSON-DAG:             "%25": 330629
-# CHECK-CP-JSON-DAG:             "%27": 330627
-# CHECK-CP-JSON-DAG:             "%29": 37
-# CHECK-CP-JSON-DAG:             "%32": 40
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest": {
-# CHECK-CP-JSON-DAG:             "register": "%23",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 42320899
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest-subreg": {
-# CHECK-CP-JSON-DAG:             "register": "%23",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 42320899
-# CHECK-CP-JSON:               }
-# CHECK-CP-JSON-NEXT:        },
-# CHECK-CP-JSON-NEXT:        {
-# CHECK-CP-JSON-NEXT:          "instr": "%36:vgpr_32 = PHI %31, %bb.1, %37, %bb.4",
-# CHECK-CP-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "distances": {
-# CHECK-CP-JSON-DAG:             "%0": 39
-# CHECK-CP-JSON-DAG:             "%1": 14
-# CHECK-CP-JSON-DAG:             "%12": 14
-# CHECK-CP-JSON-DAG:             "%13": 8
-# CHECK-CP-JSON-DAG:             "%14": 14
-# CHECK-CP-JSON-DAG:             "%15": 0
-# CHECK-CP-JSON-DAG:             "%23": 42320899
-# CHECK-CP-JSON-DAG:             "%24": 330632
-# CHECK-CP-JSON-DAG:             "%25": 330629
-# CHECK-CP-JSON-DAG:             "%27": 330627
-# CHECK-CP-JSON-DAG:             "%29": 37
-# CHECK-CP-JSON-DAG:             "%32": 40
-# CHECK-CP-JSON-DAG:             "%34": 7
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest": {
-# CHECK-CP-JSON-DAG:             "register": "%23",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 42320899
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest-subreg": {
-# CHECK-CP-JSON-DAG:             "register": "%23",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 42320899
-# CHECK-CP-JSON:               }
-# CHECK-CP-JSON-NEXT:        },
-# CHECK-CP-JSON-NEXT:        {
-# CHECK-CP-JSON-NEXT:          "instr": "%38:vgpr_32 = GLOBAL_LOAD_UBYTE %15, 0, 0, implicit $exec :: (load (s8) from %ir.p2, addrspace 1)",
-# CHECK-CP-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "distances": {
-# CHECK-CP-JSON-DAG:             "%0": 39
-# CHECK-CP-JSON-DAG:             "%1": 14
-# CHECK-CP-JSON-DAG:             "%12": 14
-# CHECK-CP-JSON-DAG:             "%13": 8
-# CHECK-CP-JSON-DAG:             "%14": 14
-# CHECK-CP-JSON-DAG:             "%15": 0
-# CHECK-CP-JSON-DAG:             "%23": 42320899
-# CHECK-CP-JSON-DAG:             "%24": 330632
-# CHECK-CP-JSON-DAG:             "%25": 330629
-# CHECK-CP-JSON-DAG:             "%27": 330627
-# CHECK-CP-JSON-DAG:             "%29": 37
-# CHECK-CP-JSON-DAG:             "%32": 40
-# CHECK-CP-JSON-DAG:             "%34": 7
-# CHECK-CP-JSON-DAG:             "%36": 42320900
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest": {
-# CHECK-CP-JSON-DAG:             "register": "%36",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 42320900
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest-subreg": {
-# CHECK-CP-JSON-DAG:             "register": "%36",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 42320900
-# CHECK-CP-JSON:               }
-# CHECK-CP-JSON-NEXT:        },
-# CHECK-CP-JSON-NEXT:        {
-# CHECK-CP-JSON-NEXT:          "instr": "%39:vgpr_32 = GLOBAL_LOAD_UBYTE %15, 1, 0, implicit $exec :: (load (s8) from %ir.p2 + 1, addrspace 1)",
-# CHECK-CP-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "distances": {
-# CHECK-CP-JSON-DAG:             "%0": 38
-# CHECK-CP-JSON-DAG:             "%1": 13
-# CHECK-CP-JSON-DAG:             "%12": 13
-# CHECK-CP-JSON-DAG:             "%13": 7
-# CHECK-CP-JSON-DAG:             "%14": 13
-# CHECK-CP-JSON-DAG:             "%15": 0
-# CHECK-CP-JSON-DAG:             "%23": 42320899
-# CHECK-CP-JSON-DAG:             "%24": 330632
-# CHECK-CP-JSON-DAG:             "%25": 330629
-# CHECK-CP-JSON-DAG:             "%27": 330627
-# CHECK-CP-JSON-DAG:             "%29": 36
-# CHECK-CP-JSON-DAG:             "%32": 39
-# CHECK-CP-JSON-DAG:             "%34": 6
-# CHECK-CP-JSON-DAG:             "%36": 42320900
-# CHECK-CP-JSON-DAG:             "%38": 1
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest": {
-# CHECK-CP-JSON-DAG:             "register": "%36",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 42320900
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest-subreg": {
-# CHECK-CP-JSON-DAG:             "register": "%36",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 42320900
-# CHECK-CP-JSON:               }
-# CHECK-CP-JSON-NEXT:        },
-# CHECK-CP-JSON-NEXT:        {
-# CHECK-CP-JSON-NEXT:          "instr": "%40:vgpr_32 = V_LSHL_OR_B32_e64 %39, 8, %38, implicit $exec",
-# CHECK-CP-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "distances": {
-# CHECK-CP-JSON-DAG:             "%0": 37
-# CHECK-CP-JSON-DAG:             "%1": 12
-# CHECK-CP-JSON-DAG:             "%12": 12
-# CHECK-CP-JSON-DAG:             "%13": 6
-# CHECK-CP-JSON-DAG:             "%14": 12
-# CHECK-CP-JSON-DAG:             "%15": 1
-# CHECK-CP-JSON-DAG:             "%23": 42320899
-# CHECK-CP-JSON-DAG:             "%24": 330632
-# CHECK-CP-JSON-DAG:             "%25": 330629
-# CHECK-CP-JSON-DAG:             "%27": 330627
-# CHECK-CP-JSON-DAG:             "%29": 35
-# CHECK-CP-JSON-DAG:             "%32": 38
-# CHECK-CP-JSON-DAG:             "%34": 5
-# CHECK-CP-JSON-DAG:             "%36": 42320900
-# CHECK-CP-JSON-DAG:             "%38": 0
-# CHECK-CP-JSON-DAG:             "%39": 0
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest": {
-# CHECK-CP-JSON-DAG:             "register": "%36",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 42320900
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest-subreg": {
-# CHECK-CP-JSON-DAG:             "register": "%36",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 42320900
-# CHECK-CP-JSON:               }
-# CHECK-CP-JSON-NEXT:        },
-# CHECK-CP-JSON-NEXT:        {
-# CHECK-CP-JSON-NEXT:          "instr": "%41:vgpr_32 = GLOBAL_LOAD_UBYTE %15, 2, 0, implicit $exec :: (load (s8) from %ir.p2 + 2, addrspace 1)",
-# CHECK-CP-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "distances": {
-# CHECK-CP-JSON-DAG:             "%0": 36
-# CHECK-CP-JSON-DAG:             "%1": 11
-# CHECK-CP-JSON-DAG:             "%12": 11
-# CHECK-CP-JSON-DAG:             "%13": 5
-# CHECK-CP-JSON-DAG:             "%14": 11
-# CHECK-CP-JSON-DAG:             "%15": 0
-# CHECK-CP-JSON-DAG:             "%23": 42320899
-# CHECK-CP-JSON-DAG:             "%24": 330632
-# CHECK-CP-JSON-DAG:             "%25": 330629
-# CHECK-CP-JSON-DAG:             "%27": 330627
-# CHECK-CP-JSON-DAG:             "%29": 34
-# CHECK-CP-JSON-DAG:             "%32": 37
-# CHECK-CP-JSON-DAG:             "%34": 4
-# CHECK-CP-JSON-DAG:             "%36": 42320900
-# CHECK-CP-JSON-DAG:             "%40": 3
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest": {
-# CHECK-CP-JSON-DAG:             "register": "%36",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 42320900
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest-subreg": {
-# CHECK-CP-JSON-DAG:             "register": "%36",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 42320900
-# CHECK-CP-JSON:               }
-# CHECK-CP-JSON-NEXT:        },
-# CHECK-CP-JSON-NEXT:        {
-# CHECK-CP-JSON-NEXT:          "instr": "%42:vgpr_32 = GLOBAL_LOAD_UBYTE %15, 3, 0, implicit $exec :: (load (s8) from %ir.p2 + 3, addrspace 1)",
-# CHECK-CP-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "distances": {
-# CHECK-CP-JSON-DAG:             "%0": 35
-# CHECK-CP-JSON-DAG:             "%1": 10
-# CHECK-CP-JSON-DAG:             "%12": 10
-# CHECK-CP-JSON-DAG:             "%13": 4
-# CHECK-CP-JSON-DAG:             "%14": 10
-# CHECK-CP-JSON-DAG:             "%15": 0
-# CHECK-CP-JSON-DAG:             "%23": 42320899
-# CHECK-CP-JSON-DAG:             "%24": 330632
-# CHECK-CP-JSON-DAG:             "%25": 330629
-# CHECK-CP-JSON-DAG:             "%27": 330627
-# CHECK-CP-JSON-DAG:             "%29": 33
-# CHECK-CP-JSON-DAG:             "%32": 36
-# CHECK-CP-JSON-DAG:             "%34": 3
-# CHECK-CP-JSON-DAG:             "%36": 42320900
-# CHECK-CP-JSON-DAG:             "%40": 2
-# CHECK-CP-JSON-DAG:             "%41": 1
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest": {
-# CHECK-CP-JSON-DAG:             "register": "%36",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 42320900
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest-subreg": {
-# CHECK-CP-JSON-DAG:             "register": "%36",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 42320900
-# CHECK-CP-JSON:               }
-# CHECK-CP-JSON-NEXT:        },
-# CHECK-CP-JSON-NEXT:        {
-# CHECK-CP-JSON-NEXT:          "instr": "%43:vgpr_32 = V_LSHL_OR_B32_e64 %42, 8, %41, implicit $exec",
-# CHECK-CP-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "distances": {
-# CHECK-CP-JSON-DAG:             "%0": 34
-# CHECK-CP-JSON-DAG:             "%1": 9
-# CHECK-CP-JSON-DAG:             "%12": 9
-# CHECK-CP-JSON-DAG:             "%13": 3
-# CHECK-CP-JSON-DAG:             "%14": 9
-# CHECK-CP-JSON-DAG:             "%15": 38
-# CHECK-CP-JSON-DAG:             "%23": 42320899
-# CHECK-CP-JSON-DAG:             "%24": 330632
-# CHECK-CP-JSON-DAG:             "%25": 330629
-# CHECK-CP-JSON-DAG:             "%27": 330627
-# CHECK-CP-JSON-DAG:             "%29": 32
-# CHECK-CP-JSON-DAG:             "%32": 35
-# CHECK-CP-JSON-DAG:             "%34": 2
-# CHECK-CP-JSON-DAG:             "%36": 42320900
-# CHECK-CP-JSON-DAG:             "%40": 1
-# CHECK-CP-JSON-DAG:             "%41": 0
-# CHECK-CP-JSON-DAG:             "%42": 0
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest": {
-# CHECK-CP-JSON-DAG:             "register": "%36",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 42320900
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest-subreg": {
-# CHECK-CP-JSON-DAG:             "register": "%36",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 42320900
-# CHECK-CP-JSON:               }
-# CHECK-CP-JSON-NEXT:        },
-# CHECK-CP-JSON-NEXT:        {
-# CHECK-CP-JSON-NEXT:          "instr": "%44:vgpr_32 = V_LSHL_OR_B32_e64 %43, 16, %40, implicit $exec",
-# CHECK-CP-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "distances": {
-# CHECK-CP-JSON-DAG:             "%0": 33
-# CHECK-CP-JSON-DAG:             "%1": 8
-# CHECK-CP-JSON-DAG:             "%12": 8
-# CHECK-CP-JSON-DAG:             "%13": 2
-# CHECK-CP-JSON-DAG:             "%14": 8
-# CHECK-CP-JSON-DAG:             "%15": 37
-# CHECK-CP-JSON-DAG:             "%23": 42320899
-# CHECK-CP-JSON-DAG:             "%24": 330632
-# CHECK-CP-JSON-DAG:             "%25": 330629
-# CHECK-CP-JSON-DAG:             "%27": 330627
-# CHECK-CP-JSON-DAG:             "%29": 31
-# CHECK-CP-JSON-DAG:             "%32": 34
-# CHECK-CP-JSON-DAG:             "%34": 1
-# CHECK-CP-JSON-DAG:             "%36": 42320900
-# CHECK-CP-JSON-DAG:             "%40": 0
-# CHECK-CP-JSON-DAG:             "%43": 0
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest": {
-# CHECK-CP-JSON-DAG:             "register": "%36",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 42320900
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest-subreg": {
-# CHECK-CP-JSON-DAG:             "register": "%36",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 42320900
-# CHECK-CP-JSON:               }
-# CHECK-CP-JSON-NEXT:        },
-# CHECK-CP-JSON-NEXT:        {
-# CHECK-CP-JSON-NEXT:          "instr": "%45:vgpr_32 = V_ADD_U32_e64 %34, %44, 0, implicit $exec",
-# CHECK-CP-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "distances": {
-# CHECK-CP-JSON-DAG:             "%0": 32
-# CHECK-CP-JSON-DAG:             "%1": 7
-# CHECK-CP-JSON-DAG:             "%12": 7
-# CHECK-CP-JSON-DAG:             "%13": 1
-# CHECK-CP-JSON-DAG:             "%14": 7
-# CHECK-CP-JSON-DAG:             "%15": 36
-# CHECK-CP-JSON-DAG:             "%23": 42320899
-# CHECK-CP-JSON-DAG:             "%24": 330632
-# CHECK-CP-JSON-DAG:             "%25": 330629
-# CHECK-CP-JSON-DAG:             "%27": 330627
-# CHECK-CP-JSON-DAG:             "%29": 30
-# CHECK-CP-JSON-DAG:             "%32": 33
-# CHECK-CP-JSON-DAG:             "%34": 0
-# CHECK-CP-JSON-DAG:             "%36": 42320900
-# CHECK-CP-JSON-DAG:             "%44": 0
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest": {
-# CHECK-CP-JSON-DAG:             "register": "%36",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 42320900
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest-subreg": {
-# CHECK-CP-JSON-DAG:             "register": "%36",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 42320900
-# CHECK-CP-JSON:               }
-# CHECK-CP-JSON-NEXT:        },
-# CHECK-CP-JSON-NEXT:        {
-# CHECK-CP-JSON-NEXT:          "instr": "GLOBAL_STORE_BYTE_D16_HI %13, %45, 2, 0, implicit $exec :: (store (s8) into %ir.p4 + 2, addrspace 1)",
-# CHECK-CP-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "distances": {
-# CHECK-CP-JSON-DAG:             "%0": 31
-# CHECK-CP-JSON-DAG:             "%1": 6
-# CHECK-CP-JSON-DAG:             "%12": 6
-# CHECK-CP-JSON-DAG:             "%13": 0
-# CHECK-CP-JSON-DAG:             "%14": 6
-# CHECK-CP-JSON-DAG:             "%15": 35
-# CHECK-CP-JSON-DAG:             "%23": 42320899
-# CHECK-CP-JSON-DAG:             "%24": 330632
-# CHECK-CP-JSON-DAG:             "%25": 330629
-# CHECK-CP-JSON-DAG:             "%27": 330627
-# CHECK-CP-JSON-DAG:             "%29": 29
-# CHECK-CP-JSON-DAG:             "%32": 32
-# CHECK-CP-JSON-DAG:             "%34": 30
-# CHECK-CP-JSON-DAG:             "%36": 42320900
-# CHECK-CP-JSON-DAG:             "%44": 330626
-# CHECK-CP-JSON-DAG:             "%45": 0
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest": {
-# CHECK-CP-JSON-DAG:             "register": "%36",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 42320900
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest-subreg": {
-# CHECK-CP-JSON-DAG:             "register": "%36",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 42320900
-# CHECK-CP-JSON:               }
-# CHECK-CP-JSON-NEXT:        },
-# CHECK-CP-JSON-NEXT:        {
-# CHECK-CP-JSON-NEXT:          "instr": "GLOBAL_STORE_BYTE %13, %45, 0, 0, implicit $exec :: (store (s8) into %ir.p4, addrspace 1)",
-# CHECK-CP-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "distances": {
-# CHECK-CP-JSON-DAG:             "%0": 30
-# CHECK-CP-JSON-DAG:             "%1": 5
-# CHECK-CP-JSON-DAG:             "%12": 5
-# CHECK-CP-JSON-DAG:             "%13": 0
-# CHECK-CP-JSON-DAG:             "%14": 5
-# CHECK-CP-JSON-DAG:             "%15": 34
-# CHECK-CP-JSON-DAG:             "%23": 42320899
-# CHECK-CP-JSON-DAG:             "%24": 330632
-# CHECK-CP-JSON-DAG:             "%25": 330629
-# CHECK-CP-JSON-DAG:             "%27": 330627
-# CHECK-CP-JSON-DAG:             "%29": 28
-# CHECK-CP-JSON-DAG:             "%32": 31
-# CHECK-CP-JSON-DAG:             "%34": 29
-# CHECK-CP-JSON-DAG:             "%36": 42320900
-# CHECK-CP-JSON-DAG:             "%44": 330626
-# CHECK-CP-JSON-DAG:             "%45": 0
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest": {
-# CHECK-CP-JSON-DAG:             "register": "%36",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 42320900
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest-subreg": {
-# CHECK-CP-JSON-DAG:             "register": "%36",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 42320900
-# CHECK-CP-JSON:               }
-# CHECK-CP-JSON-NEXT:        },
-# CHECK-CP-JSON-NEXT:        {
-# CHECK-CP-JSON-NEXT:          "instr": "%46:vgpr_32 = V_LSHRREV_B32_e64 24, %45, implicit $exec",
-# CHECK-CP-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "distances": {
-# CHECK-CP-JSON-DAG:             "%0": 29
-# CHECK-CP-JSON-DAG:             "%1": 4
-# CHECK-CP-JSON-DAG:             "%12": 4
-# CHECK-CP-JSON-DAG:             "%13": 1
-# CHECK-CP-JSON-DAG:             "%14": 4
-# CHECK-CP-JSON-DAG:             "%15": 33
-# CHECK-CP-JSON-DAG:             "%23": 42320899
-# CHECK-CP-JSON-DAG:             "%24": 330632
-# CHECK-CP-JSON-DAG:             "%25": 330629
-# CHECK-CP-JSON-DAG:             "%27": 330627
-# CHECK-CP-JSON-DAG:             "%29": 27
-# CHECK-CP-JSON-DAG:             "%32": 30
-# CHECK-CP-JSON-DAG:             "%34": 28
-# CHECK-CP-JSON-DAG:             "%36": 42320900
-# CHECK-CP-JSON-DAG:             "%44": 330626
-# CHECK-CP-JSON-DAG:             "%45": 0
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest": {
-# CHECK-CP-JSON-DAG:             "register": "%36",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 42320900
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest-subreg": {
-# CHECK-CP-JSON-DAG:             "register": "%36",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 42320900
-# CHECK-CP-JSON:               }
-# CHECK-CP-JSON-NEXT:        },
-# CHECK-CP-JSON-NEXT:        {
-# CHECK-CP-JSON-NEXT:          "instr": "GLOBAL_STORE_BYTE %13, %46, 3, 0, implicit $exec :: (store (s8) into %ir.p4 + 3, addrspace 1)",
-# CHECK-CP-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "distances": {
-# CHECK-CP-JSON-DAG:             "%0": 28
-# CHECK-CP-JSON-DAG:             "%1": 3
-# CHECK-CP-JSON-DAG:             "%12": 3
-# CHECK-CP-JSON-DAG:             "%13": 0
-# CHECK-CP-JSON-DAG:             "%14": 3
-# CHECK-CP-JSON-DAG:             "%15": 32
-# CHECK-CP-JSON-DAG:             "%23": 42320899
-# CHECK-CP-JSON-DAG:             "%24": 330632
-# CHECK-CP-JSON-DAG:             "%25": 330629
-# CHECK-CP-JSON-DAG:             "%27": 330627
-# CHECK-CP-JSON-DAG:             "%29": 26
-# CHECK-CP-JSON-DAG:             "%32": 29
-# CHECK-CP-JSON-DAG:             "%34": 27
-# CHECK-CP-JSON-DAG:             "%36": 42320900
-# CHECK-CP-JSON-DAG:             "%44": 330626
-# CHECK-CP-JSON-DAG:             "%45": 1
-# CHECK-CP-JSON-DAG:             "%46": 0
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest": {
-# CHECK-CP-JSON-DAG:             "register": "%36",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 42320900
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest-subreg": {
-# CHECK-CP-JSON-DAG:             "register": "%36",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 42320900
-# CHECK-CP-JSON:               }
-# CHECK-CP-JSON-NEXT:        },
-# CHECK-CP-JSON-NEXT:        {
-# CHECK-CP-JSON-NEXT:          "instr": "%47:vgpr_32 = V_LSHRREV_B32_e64 8, %45, implicit $exec",
-# CHECK-CP-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "distances": {
-# CHECK-CP-JSON-DAG:             "%0": 27
-# CHECK-CP-JSON-DAG:             "%1": 2
-# CHECK-CP-JSON-DAG:             "%12": 2
-# CHECK-CP-JSON-DAG:             "%13": 1
-# CHECK-CP-JSON-DAG:             "%14": 2
-# CHECK-CP-JSON-DAG:             "%15": 31
-# CHECK-CP-JSON-DAG:             "%23": 42320899
-# CHECK-CP-JSON-DAG:             "%24": 330632
-# CHECK-CP-JSON-DAG:             "%25": 330629
-# CHECK-CP-JSON-DAG:             "%27": 330627
-# CHECK-CP-JSON-DAG:             "%29": 25
-# CHECK-CP-JSON-DAG:             "%32": 28
-# CHECK-CP-JSON-DAG:             "%34": 26
-# CHECK-CP-JSON-DAG:             "%36": 42320900
-# CHECK-CP-JSON-DAG:             "%44": 330626
-# CHECK-CP-JSON-DAG:             "%45": 0
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest": {
-# CHECK-CP-JSON-DAG:             "register": "%36",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 42320900
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest-subreg": {
-# CHECK-CP-JSON-DAG:             "register": "%36",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 42320900
-# CHECK-CP-JSON:               }
-# CHECK-CP-JSON-NEXT:        },
-# CHECK-CP-JSON-NEXT:        {
-# CHECK-CP-JSON-NEXT:          "instr": "GLOBAL_STORE_BYTE %13, %47, 1, 0, implicit $exec :: (store (s8) into %ir.p4 + 1, addrspace 1)",
-# CHECK-CP-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "distances": {
-# CHECK-CP-JSON-DAG:             "%0": 26
-# CHECK-CP-JSON-DAG:             "%1": 1
-# CHECK-CP-JSON-DAG:             "%12": 1
-# CHECK-CP-JSON-DAG:             "%13": 0
-# CHECK-CP-JSON-DAG:             "%14": 1
-# CHECK-CP-JSON-DAG:             "%15": 30
-# CHECK-CP-JSON-DAG:             "%23": 42320899
-# CHECK-CP-JSON-DAG:             "%24": 330632
-# CHECK-CP-JSON-DAG:             "%25": 330629
-# CHECK-CP-JSON-DAG:             "%27": 330627
-# CHECK-CP-JSON-DAG:             "%29": 24
-# CHECK-CP-JSON-DAG:             "%32": 27
-# CHECK-CP-JSON-DAG:             "%34": 25
-# CHECK-CP-JSON-DAG:             "%36": 42320900
-# CHECK-CP-JSON-DAG:             "%44": 330626
-# CHECK-CP-JSON-DAG:             "%47": 0
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest": {
-# CHECK-CP-JSON-DAG:             "register": "%36",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 42320900
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest-subreg": {
-# CHECK-CP-JSON-DAG:             "register": "%36",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 42320900
-# CHECK-CP-JSON:               }
-# CHECK-CP-JSON-NEXT:        },
-# CHECK-CP-JSON-NEXT:        {
-# CHECK-CP-JSON-NEXT:          "instr": "%48:sreg_32 = S_MOV_B32 0",
-# CHECK-CP-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "distances": {
-# CHECK-CP-JSON-DAG:             "%0": 25
-# CHECK-CP-JSON-DAG:             "%1": 0
-# CHECK-CP-JSON-DAG:             "%12": 0
-# CHECK-CP-JSON-DAG:             "%13": 37
-# CHECK-CP-JSON-DAG:             "%14": 0
-# CHECK-CP-JSON-DAG:             "%15": 29
-# CHECK-CP-JSON-DAG:             "%23": 42320899
-# CHECK-CP-JSON-DAG:             "%24": 330632
-# CHECK-CP-JSON-DAG:             "%25": 330629
-# CHECK-CP-JSON-DAG:             "%27": 330627
-# CHECK-CP-JSON-DAG:             "%29": 23
-# CHECK-CP-JSON-DAG:             "%32": 26
-# CHECK-CP-JSON-DAG:             "%34": 24
-# CHECK-CP-JSON-DAG:             "%36": 42320900
-# CHECK-CP-JSON-DAG:             "%44": 330626
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest": {
-# CHECK-CP-JSON-DAG:             "register": "%36",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 42320900
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest-subreg": {
-# CHECK-CP-JSON-DAG:             "register": "%36",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 42320900
-# CHECK-CP-JSON:               }
-# CHECK-CP-JSON-NEXT:        }
-# CHECK-CP-JSON-NEXT:      ],
-# CHECK-CP-JSON-NEXT:      "bb.3": [
-# CHECK-CP-JSON-NEXT:        {
-# CHECK-CP-JSON-NEXT:          "instr": "%49:sreg_32 = PHI %48, %bb.2, %50, %bb.3",
-# CHECK-CP-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "distances": {
-# CHECK-CP-JSON-DAG:             "%0": 2565
-# CHECK-CP-JSON-DAG:             "%1": 15
-# CHECK-CP-JSON-DAG:             "%12": 9
-# CHECK-CP-JSON-DAG:             "%13": 2577
-# CHECK-CP-JSON-DAG:             "%14": 1
-# CHECK-CP-JSON-DAG:             "%15": 2569
-# CHECK-CP-JSON-DAG:             "%23": 42320899
-# CHECK-CP-JSON-DAG:             "%24": 330632
-# CHECK-CP-JSON-DAG:             "%25": 330629
-# CHECK-CP-JSON-DAG:             "%27": 330627
-# CHECK-CP-JSON-DAG:             "%29": 2563
-# CHECK-CP-JSON-DAG:             "%32": 2566
-# CHECK-CP-JSON-DAG:             "%34": 2564
-# CHECK-CP-JSON-DAG:             "%36": 42320900
-# CHECK-CP-JSON-DAG:             "%44": 330626
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest": {
-# CHECK-CP-JSON-DAG:             "register": "%36",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 42320900
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest-subreg": {
-# CHECK-CP-JSON-DAG:             "register": "%36",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 42320900
-# CHECK-CP-JSON:               }
-# CHECK-CP-JSON-NEXT:        },
-# CHECK-CP-JSON-NEXT:        {
-# CHECK-CP-JSON-NEXT:          "instr": "%51:sreg_32 = PHI %48, %bb.2, %52, %bb.3",
-# CHECK-CP-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "distances": {
-# CHECK-CP-JSON-DAG:             "%0": 2565
-# CHECK-CP-JSON-DAG:             "%1": 15
-# CHECK-CP-JSON-DAG:             "%12": 9
-# CHECK-CP-JSON-DAG:             "%13": 2577
-# CHECK-CP-JSON-DAG:             "%14": 1
-# CHECK-CP-JSON-DAG:             "%15": 2569
-# CHECK-CP-JSON-DAG:             "%23": 42320899
-# CHECK-CP-JSON-DAG:             "%24": 330632
-# CHECK-CP-JSON-DAG:             "%25": 330629
-# CHECK-CP-JSON-DAG:             "%27": 330627
-# CHECK-CP-JSON-DAG:             "%29": 2563
-# CHECK-CP-JSON-DAG:             "%32": 2566
-# CHECK-CP-JSON-DAG:             "%34": 2564
-# CHECK-CP-JSON-DAG:             "%36": 42320900
-# CHECK-CP-JSON-DAG:             "%44": 330626
-# CHECK-CP-JSON-DAG:             "%49": 16
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest": {
-# CHECK-CP-JSON-DAG:             "register": "%36",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 42320900
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest-subreg": {
-# CHECK-CP-JSON-DAG:             "register": "%36",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 42320900
-# CHECK-CP-JSON:               }
-# CHECK-CP-JSON-NEXT:        },
-# CHECK-CP-JSON-NEXT:        {
-# CHECK-CP-JSON-NEXT:          "instr": "%52:sreg_32 = S_ADD_I32 %51, 3, implicit-def dead $scc",
-# CHECK-CP-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "distances": {
-# CHECK-CP-JSON-DAG:             "%0": 2565
-# CHECK-CP-JSON-DAG:             "%1": 15
-# CHECK-CP-JSON-DAG:             "%12": 9
-# CHECK-CP-JSON-DAG:             "%13": 2577
-# CHECK-CP-JSON-DAG:             "%14": 1
-# CHECK-CP-JSON-DAG:             "%15": 2569
-# CHECK-CP-JSON-DAG:             "%23": 42320899
-# CHECK-CP-JSON-DAG:             "%24": 330632
-# CHECK-CP-JSON-DAG:             "%25": 330629
-# CHECK-CP-JSON-DAG:             "%27": 330627
-# CHECK-CP-JSON-DAG:             "%29": 2563
-# CHECK-CP-JSON-DAG:             "%32": 2566
-# CHECK-CP-JSON-DAG:             "%34": 2564
-# CHECK-CP-JSON-DAG:             "%36": 42320900
-# CHECK-CP-JSON-DAG:             "%44": 330626
-# CHECK-CP-JSON-DAG:             "%49": 16
-# CHECK-CP-JSON-DAG:             "%51": 0
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest": {
-# CHECK-CP-JSON-DAG:             "register": "%36",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 42320900
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest-subreg": {
-# CHECK-CP-JSON-DAG:             "register": "%36",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 42320900
-# CHECK-CP-JSON:               }
-# CHECK-CP-JSON-NEXT:        },
-# CHECK-CP-JSON-NEXT:        {
-# CHECK-CP-JSON-NEXT:          "instr": "%53:vgpr_32 = GLOBAL_LOAD_UBYTE %14, 0, 0, implicit $exec :: (load (s8) from %ir.p3, addrspace 1)",
-# CHECK-CP-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "distances": {
-# CHECK-CP-JSON-DAG:             "%0": 2565
-# CHECK-CP-JSON-DAG:             "%1": 14
-# CHECK-CP-JSON-DAG:             "%12": 8
-# CHECK-CP-JSON-DAG:             "%13": 2577
-# CHECK-CP-JSON-DAG:             "%14": 0
-# CHECK-CP-JSON-DAG:             "%15": 2569
-# CHECK-CP-JSON-DAG:             "%23": 42320899
-# CHECK-CP-JSON-DAG:             "%24": 330632
-# CHECK-CP-JSON-DAG:             "%25": 330629
-# CHECK-CP-JSON-DAG:             "%27": 330627
-# CHECK-CP-JSON-DAG:             "%29": 2563
-# CHECK-CP-JSON-DAG:             "%32": 2566
-# CHECK-CP-JSON-DAG:             "%34": 2564
-# CHECK-CP-JSON-DAG:             "%36": 42320900
-# CHECK-CP-JSON-DAG:             "%44": 330626
-# CHECK-CP-JSON-DAG:             "%49": 15
-# CHECK-CP-JSON-DAG:             "%52": 7
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest": {
-# CHECK-CP-JSON-DAG:             "register": "%36",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 42320900
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest-subreg": {
-# CHECK-CP-JSON-DAG:             "register": "%36",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 42320900
-# CHECK-CP-JSON:               }
-# CHECK-CP-JSON-NEXT:        },
-# CHECK-CP-JSON-NEXT:        {
-# CHECK-CP-JSON-NEXT:          "instr": "%54:vgpr_32 = GLOBAL_LOAD_UBYTE %14, 1, 0, implicit $exec :: (load (s8) from %ir.p3 + 1, addrspace 1)",
-# CHECK-CP-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "distances": {
-# CHECK-CP-JSON-DAG:             "%0": 2565
-# CHECK-CP-JSON-DAG:             "%1": 13
-# CHECK-CP-JSON-DAG:             "%12": 7
-# CHECK-CP-JSON-DAG:             "%13": 2577
-# CHECK-CP-JSON-DAG:             "%14": 0
-# CHECK-CP-JSON-DAG:             "%15": 2569
-# CHECK-CP-JSON-DAG:             "%23": 42320899
-# CHECK-CP-JSON-DAG:             "%24": 330632
-# CHECK-CP-JSON-DAG:             "%25": 330629
-# CHECK-CP-JSON-DAG:             "%27": 330627
-# CHECK-CP-JSON-DAG:             "%29": 2563
-# CHECK-CP-JSON-DAG:             "%32": 2566
-# CHECK-CP-JSON-DAG:             "%34": 2564
-# CHECK-CP-JSON-DAG:             "%36": 42320900
-# CHECK-CP-JSON-DAG:             "%44": 330626
-# CHECK-CP-JSON-DAG:             "%49": 14
-# CHECK-CP-JSON-DAG:             "%52": 6
-# CHECK-CP-JSON-DAG:             "%53": 1
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest": {
-# CHECK-CP-JSON-DAG:             "register": "%36",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 42320900
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest-subreg": {
-# CHECK-CP-JSON-DAG:             "register": "%36",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 42320900
-# CHECK-CP-JSON:               }
-# CHECK-CP-JSON-NEXT:        },
-# CHECK-CP-JSON-NEXT:        {
-# CHECK-CP-JSON-NEXT:          "instr": "%55:vgpr_32 = V_LSHL_OR_B32_e64 %54, 8, %53, implicit $exec",
-# CHECK-CP-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "distances": {
-# CHECK-CP-JSON-DAG:             "%0": 2565
-# CHECK-CP-JSON-DAG:             "%1": 12
-# CHECK-CP-JSON-DAG:             "%12": 6
-# CHECK-CP-JSON-DAG:             "%13": 2577
-# CHECK-CP-JSON-DAG:             "%14": 1
-# CHECK-CP-JSON-DAG:             "%15": 2569
-# CHECK-CP-JSON-DAG:             "%23": 42320899
-# CHECK-CP-JSON-DAG:             "%24": 330632
-# CHECK-CP-JSON-DAG:             "%25": 330629
-# CHECK-CP-JSON-DAG:             "%27": 330627
-# CHECK-CP-JSON-DAG:             "%29": 2563
-# CHECK-CP-JSON-DAG:             "%32": 2566
-# CHECK-CP-JSON-DAG:             "%34": 2564
-# CHECK-CP-JSON-DAG:             "%36": 42320900
-# CHECK-CP-JSON-DAG:             "%44": 330626
-# CHECK-CP-JSON-DAG:             "%49": 13
-# CHECK-CP-JSON-DAG:             "%52": 5
-# CHECK-CP-JSON-DAG:             "%53": 0
-# CHECK-CP-JSON-DAG:             "%54": 0
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest": {
-# CHECK-CP-JSON-DAG:             "register": "%36",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 42320900
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest-subreg": {
-# CHECK-CP-JSON-DAG:             "register": "%36",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 42320900
-# CHECK-CP-JSON:               }
-# CHECK-CP-JSON-NEXT:        },
-# CHECK-CP-JSON-NEXT:        {
-# CHECK-CP-JSON-NEXT:          "instr": "%56:vgpr_32 = GLOBAL_LOAD_UBYTE %14, 2, 0, implicit $exec :: (load (s8) from %ir.p3 + 2, addrspace 1)",
-# CHECK-CP-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "distances": {
-# CHECK-CP-JSON-DAG:             "%0": 2565
-# CHECK-CP-JSON-DAG:             "%1": 11
-# CHECK-CP-JSON-DAG:             "%12": 5
-# CHECK-CP-JSON-DAG:             "%13": 2577
-# CHECK-CP-JSON-DAG:             "%14": 0
-# CHECK-CP-JSON-DAG:             "%15": 2569
-# CHECK-CP-JSON-DAG:             "%23": 42320899
-# CHECK-CP-JSON-DAG:             "%24": 330632
-# CHECK-CP-JSON-DAG:             "%25": 330629
-# CHECK-CP-JSON-DAG:             "%27": 330627
-# CHECK-CP-JSON-DAG:             "%29": 2563
-# CHECK-CP-JSON-DAG:             "%32": 2566
-# CHECK-CP-JSON-DAG:             "%34": 2564
-# CHECK-CP-JSON-DAG:             "%36": 42320900
-# CHECK-CP-JSON-DAG:             "%44": 330626
-# CHECK-CP-JSON-DAG:             "%49": 12
-# CHECK-CP-JSON-DAG:             "%52": 4
-# CHECK-CP-JSON-DAG:             "%55": 3
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest": {
-# CHECK-CP-JSON-DAG:             "register": "%36",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 42320900
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest-subreg": {
-# CHECK-CP-JSON-DAG:             "register": "%36",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 42320900
-# CHECK-CP-JSON:               }
-# CHECK-CP-JSON-NEXT:        },
-# CHECK-CP-JSON-NEXT:        {
-# CHECK-CP-JSON-NEXT:          "instr": "%57:vgpr_32 = GLOBAL_LOAD_UBYTE %14, 3, 0, implicit $exec :: (load (s8) from %ir.p3 + 3, addrspace 1)",
-# CHECK-CP-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "distances": {
-# CHECK-CP-JSON-DAG:             "%0": 2565
-# CHECK-CP-JSON-DAG:             "%1": 10
-# CHECK-CP-JSON-DAG:             "%12": 4
-# CHECK-CP-JSON-DAG:             "%13": 2577
-# CHECK-CP-JSON-DAG:             "%14": 0
-# CHECK-CP-JSON-DAG:             "%15": 2569
-# CHECK-CP-JSON-DAG:             "%23": 42320899
-# CHECK-CP-JSON-DAG:             "%24": 330632
-# CHECK-CP-JSON-DAG:             "%25": 330629
-# CHECK-CP-JSON-DAG:             "%27": 330627
-# CHECK-CP-JSON-DAG:             "%29": 2563
-# CHECK-CP-JSON-DAG:             "%32": 2566
-# CHECK-CP-JSON-DAG:             "%34": 2564
-# CHECK-CP-JSON-DAG:             "%36": 42320900
-# CHECK-CP-JSON-DAG:             "%44": 330626
-# CHECK-CP-JSON-DAG:             "%49": 11
-# CHECK-CP-JSON-DAG:             "%52": 3
-# CHECK-CP-JSON-DAG:             "%55": 2
-# CHECK-CP-JSON-DAG:             "%56": 1
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest": {
-# CHECK-CP-JSON-DAG:             "register": "%36",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 42320900
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest-subreg": {
-# CHECK-CP-JSON-DAG:             "register": "%36",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 42320900
-# CHECK-CP-JSON:               }
-# CHECK-CP-JSON-NEXT:        },
-# CHECK-CP-JSON-NEXT:        {
-# CHECK-CP-JSON-NEXT:          "instr": "%58:vgpr_32 = V_LSHL_OR_B32_e64 %57, 8, %56, implicit $exec",
-# CHECK-CP-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "distances": {
-# CHECK-CP-JSON-DAG:             "%0": 2565
-# CHECK-CP-JSON-DAG:             "%1": 9
-# CHECK-CP-JSON-DAG:             "%12": 3
-# CHECK-CP-JSON-DAG:             "%13": 2577
-# CHECK-CP-JSON-DAG:             "%14": 35
-# CHECK-CP-JSON-DAG:             "%15": 2569
-# CHECK-CP-JSON-DAG:             "%23": 42320899
-# CHECK-CP-JSON-DAG:             "%24": 330632
-# CHECK-CP-JSON-DAG:             "%25": 330629
-# CHECK-CP-JSON-DAG:             "%27": 330627
-# CHECK-CP-JSON-DAG:             "%29": 2563
-# CHECK-CP-JSON-DAG:             "%32": 2566
-# CHECK-CP-JSON-DAG:             "%34": 2564
-# CHECK-CP-JSON-DAG:             "%36": 42320900
-# CHECK-CP-JSON-DAG:             "%44": 330626
-# CHECK-CP-JSON-DAG:             "%49": 10
-# CHECK-CP-JSON-DAG:             "%52": 2
-# CHECK-CP-JSON-DAG:             "%55": 1
-# CHECK-CP-JSON-DAG:             "%56": 0
-# CHECK-CP-JSON-DAG:             "%57": 0
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest": {
-# CHECK-CP-JSON-DAG:             "register": "%36",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 42320900
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest-subreg": {
-# CHECK-CP-JSON-DAG:             "register": "%36",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 42320900
-# CHECK-CP-JSON:               }
-# CHECK-CP-JSON-NEXT:        },
-# CHECK-CP-JSON-NEXT:        {
-# CHECK-CP-JSON-NEXT:          "instr": "%59:vgpr_32 = V_LSHL_OR_B32_e64 %58, 16, %55, implicit $exec",
-# CHECK-CP-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "distances": {
-# CHECK-CP-JSON-DAG:             "%0": 2565
-# CHECK-CP-JSON-DAG:             "%1": 8
-# CHECK-CP-JSON-DAG:             "%12": 2
-# CHECK-CP-JSON-DAG:             "%13": 2577
-# CHECK-CP-JSON-DAG:             "%14": 34
-# CHECK-CP-JSON-DAG:             "%15": 2569
-# CHECK-CP-JSON-DAG:             "%23": 42320899
-# CHECK-CP-JSON-DAG:             "%24": 330632
-# CHECK-CP-JSON-DAG:             "%25": 330629
-# CHECK-CP-JSON-DAG:             "%27": 330627
-# CHECK-CP-JSON-DAG:             "%29": 2563
-# CHECK-CP-JSON-DAG:             "%32": 2566
-# CHECK-CP-JSON-DAG:             "%34": 2564
-# CHECK-CP-JSON-DAG:             "%36": 42320900
-# CHECK-CP-JSON-DAG:             "%44": 330626
-# CHECK-CP-JSON-DAG:             "%49": 9
-# CHECK-CP-JSON-DAG:             "%52": 1
-# CHECK-CP-JSON-DAG:             "%55": 0
-# CHECK-CP-JSON-DAG:             "%58": 0
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest": {
-# CHECK-CP-JSON-DAG:             "register": "%36",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 42320900
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest-subreg": {
-# CHECK-CP-JSON-DAG:             "register": "%36",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 42320900
-# CHECK-CP-JSON:               }
-# CHECK-CP-JSON-NEXT:        },
-# CHECK-CP-JSON-NEXT:        {
-# CHECK-CP-JSON-NEXT:          "instr": "%60:vgpr_32 = V_ADD_U32_e64 %52, %59, 0, implicit $exec",
-# CHECK-CP-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "distances": {
-# CHECK-CP-JSON-DAG:             "%0": 2565
-# CHECK-CP-JSON-DAG:             "%1": 7
-# CHECK-CP-JSON-DAG:             "%12": 1
-# CHECK-CP-JSON-DAG:             "%13": 2577
-# CHECK-CP-JSON-DAG:             "%14": 33
-# CHECK-CP-JSON-DAG:             "%15": 2569
-# CHECK-CP-JSON-DAG:             "%23": 42320899
-# CHECK-CP-JSON-DAG:             "%24": 330632
-# CHECK-CP-JSON-DAG:             "%25": 330629
-# CHECK-CP-JSON-DAG:             "%27": 330627
-# CHECK-CP-JSON-DAG:             "%29": 2563
-# CHECK-CP-JSON-DAG:             "%32": 2566
-# CHECK-CP-JSON-DAG:             "%34": 2564
-# CHECK-CP-JSON-DAG:             "%36": 42320900
-# CHECK-CP-JSON-DAG:             "%44": 330626
-# CHECK-CP-JSON-DAG:             "%49": 8
-# CHECK-CP-JSON-DAG:             "%52": 0
-# CHECK-CP-JSON-DAG:             "%59": 0
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest": {
-# CHECK-CP-JSON-DAG:             "register": "%36",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 42320900
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest-subreg": {
-# CHECK-CP-JSON-DAG:             "register": "%36",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 42320900
-# CHECK-CP-JSON:               }
-# CHECK-CP-JSON-NEXT:        },
-# CHECK-CP-JSON-NEXT:        {
-# CHECK-CP-JSON-NEXT:          "instr": "GLOBAL_STORE_BYTE_D16_HI %12, %60, 2, 0, implicit $exec :: (store (s8) into %ir.p5 + 2, addrspace 1)",
-# CHECK-CP-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "distances": {
-# CHECK-CP-JSON-DAG:             "%0": 2565
-# CHECK-CP-JSON-DAG:             "%1": 6
-# CHECK-CP-JSON-DAG:             "%12": 0
-# CHECK-CP-JSON-DAG:             "%13": 2577
-# CHECK-CP-JSON-DAG:             "%14": 32
-# CHECK-CP-JSON-DAG:             "%15": 2569
-# CHECK-CP-JSON-DAG:             "%23": 42320899
-# CHECK-CP-JSON-DAG:             "%24": 330632
-# CHECK-CP-JSON-DAG:             "%25": 330629
-# CHECK-CP-JSON-DAG:             "%27": 330627
-# CHECK-CP-JSON-DAG:             "%29": 2563
-# CHECK-CP-JSON-DAG:             "%32": 2566
-# CHECK-CP-JSON-DAG:             "%34": 2564
-# CHECK-CP-JSON-DAG:             "%36": 42320900
-# CHECK-CP-JSON-DAG:             "%44": 330626
-# CHECK-CP-JSON-DAG:             "%49": 7
-# CHECK-CP-JSON-DAG:             "%52": 6
-# CHECK-CP-JSON-DAG:             "%59": 2562
-# CHECK-CP-JSON-DAG:             "%60": 0
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest": {
-# CHECK-CP-JSON-DAG:             "register": "%36",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 42320900
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest-subreg": {
-# CHECK-CP-JSON-DAG:             "register": "%36",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 42320900
-# CHECK-CP-JSON:               }
-# CHECK-CP-JSON-NEXT:        },
-# CHECK-CP-JSON-NEXT:        {
-# CHECK-CP-JSON-NEXT:          "instr": "GLOBAL_STORE_BYTE %12, %60, 0, 0, implicit $exec :: (store (s8) into %ir.p5, addrspace 1)",
-# CHECK-CP-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "distances": {
-# CHECK-CP-JSON-DAG:             "%0": 2565
-# CHECK-CP-JSON-DAG:             "%1": 5
-# CHECK-CP-JSON-DAG:             "%12": 0
-# CHECK-CP-JSON-DAG:             "%13": 2577
-# CHECK-CP-JSON-DAG:             "%14": 31
-# CHECK-CP-JSON-DAG:             "%15": 2569
-# CHECK-CP-JSON-DAG:             "%23": 42320899
-# CHECK-CP-JSON-DAG:             "%24": 330632
-# CHECK-CP-JSON-DAG:             "%25": 330629
-# CHECK-CP-JSON-DAG:             "%27": 330627
-# CHECK-CP-JSON-DAG:             "%29": 2563
-# CHECK-CP-JSON-DAG:             "%32": 2566
-# CHECK-CP-JSON-DAG:             "%34": 2564
-# CHECK-CP-JSON-DAG:             "%36": 42320900
-# CHECK-CP-JSON-DAG:             "%44": 330626
-# CHECK-CP-JSON-DAG:             "%49": 6
-# CHECK-CP-JSON-DAG:             "%52": 5
-# CHECK-CP-JSON-DAG:             "%59": 2562
-# CHECK-CP-JSON-DAG:             "%60": 0
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest": {
-# CHECK-CP-JSON-DAG:             "register": "%36",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 42320900
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest-subreg": {
-# CHECK-CP-JSON-DAG:             "register": "%36",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 42320900
-# CHECK-CP-JSON:               }
-# CHECK-CP-JSON-NEXT:        },
-# CHECK-CP-JSON-NEXT:        {
-# CHECK-CP-JSON-NEXT:          "instr": "%61:vgpr_32 = V_LSHRREV_B32_e64 24, %60, implicit $exec",
-# CHECK-CP-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "distances": {
-# CHECK-CP-JSON-DAG:             "%0": 2565
-# CHECK-CP-JSON-DAG:             "%1": 4
-# CHECK-CP-JSON-DAG:             "%12": 1
-# CHECK-CP-JSON-DAG:             "%13": 2577
-# CHECK-CP-JSON-DAG:             "%14": 30
-# CHECK-CP-JSON-DAG:             "%15": 2569
-# CHECK-CP-JSON-DAG:             "%23": 42320899
-# CHECK-CP-JSON-DAG:             "%24": 330632
-# CHECK-CP-JSON-DAG:             "%25": 330629
-# CHECK-CP-JSON-DAG:             "%27": 330627
-# CHECK-CP-JSON-DAG:             "%29": 2563
-# CHECK-CP-JSON-DAG:             "%32": 2566
-# CHECK-CP-JSON-DAG:             "%34": 2564
-# CHECK-CP-JSON-DAG:             "%36": 42320900
-# CHECK-CP-JSON-DAG:             "%44": 330626
-# CHECK-CP-JSON-DAG:             "%49": 5
-# CHECK-CP-JSON-DAG:             "%52": 4
-# CHECK-CP-JSON-DAG:             "%59": 2562
-# CHECK-CP-JSON-DAG:             "%60": 0
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest": {
-# CHECK-CP-JSON-DAG:             "register": "%36",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 42320900
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest-subreg": {
-# CHECK-CP-JSON-DAG:             "register": "%36",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 42320900
-# CHECK-CP-JSON:               }
-# CHECK-CP-JSON-NEXT:        },
-# CHECK-CP-JSON-NEXT:        {
-# CHECK-CP-JSON-NEXT:          "instr": "GLOBAL_STORE_BYTE %12, %61, 3, 0, implicit $exec :: (store (s8) into %ir.p5 + 3, addrspace 1)",
-# CHECK-CP-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "distances": {
-# CHECK-CP-JSON-DAG:             "%0": 2565
-# CHECK-CP-JSON-DAG:             "%1": 3
-# CHECK-CP-JSON-DAG:             "%12": 0
-# CHECK-CP-JSON-DAG:             "%13": 2577
-# CHECK-CP-JSON-DAG:             "%14": 29
-# CHECK-CP-JSON-DAG:             "%15": 2569
-# CHECK-CP-JSON-DAG:             "%23": 42320899
-# CHECK-CP-JSON-DAG:             "%24": 330632
-# CHECK-CP-JSON-DAG:             "%25": 330629
-# CHECK-CP-JSON-DAG:             "%27": 330627
-# CHECK-CP-JSON-DAG:             "%29": 2563
-# CHECK-CP-JSON-DAG:             "%32": 2566
-# CHECK-CP-JSON-DAG:             "%34": 2564
-# CHECK-CP-JSON-DAG:             "%36": 42320900
-# CHECK-CP-JSON-DAG:             "%44": 330626
-# CHECK-CP-JSON-DAG:             "%49": 4
-# CHECK-CP-JSON-DAG:             "%52": 3
-# CHECK-CP-JSON-DAG:             "%59": 2562
-# CHECK-CP-JSON-DAG:             "%60": 1
-# CHECK-CP-JSON-DAG:             "%61": 0
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest": {
-# CHECK-CP-JSON-DAG:             "register": "%36",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 42320900
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest-subreg": {
-# CHECK-CP-JSON-DAG:             "register": "%36",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 42320900
-# CHECK-CP-JSON:               }
-# CHECK-CP-JSON-NEXT:        },
-# CHECK-CP-JSON-NEXT:        {
-# CHECK-CP-JSON-NEXT:          "instr": "%62:vgpr_32 = V_LSHRREV_B32_e64 8, %60, implicit $exec",
-# CHECK-CP-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "distances": {
-# CHECK-CP-JSON-DAG:             "%0": 2565
-# CHECK-CP-JSON-DAG:             "%1": 2
-# CHECK-CP-JSON-DAG:             "%12": 1
-# CHECK-CP-JSON-DAG:             "%13": 2577
-# CHECK-CP-JSON-DAG:             "%14": 28
-# CHECK-CP-JSON-DAG:             "%15": 2569
-# CHECK-CP-JSON-DAG:             "%23": 42320899
-# CHECK-CP-JSON-DAG:             "%24": 330632
-# CHECK-CP-JSON-DAG:             "%25": 330629
-# CHECK-CP-JSON-DAG:             "%27": 330627
-# CHECK-CP-JSON-DAG:             "%29": 2563
-# CHECK-CP-JSON-DAG:             "%32": 2566
-# CHECK-CP-JSON-DAG:             "%34": 2564
-# CHECK-CP-JSON-DAG:             "%36": 42320900
-# CHECK-CP-JSON-DAG:             "%44": 330626
-# CHECK-CP-JSON-DAG:             "%49": 3
-# CHECK-CP-JSON-DAG:             "%52": 2
-# CHECK-CP-JSON-DAG:             "%59": 2562
-# CHECK-CP-JSON-DAG:             "%60": 0
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest": {
-# CHECK-CP-JSON-DAG:             "register": "%36",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 42320900
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest-subreg": {
-# CHECK-CP-JSON-DAG:             "register": "%36",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 42320900
-# CHECK-CP-JSON:               }
-# CHECK-CP-JSON-NEXT:        },
-# CHECK-CP-JSON-NEXT:        {
-# CHECK-CP-JSON-NEXT:          "instr": "GLOBAL_STORE_BYTE %12, %62, 1, 0, implicit $exec :: (store (s8) into %ir.p5 + 1, addrspace 1)",
-# CHECK-CP-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "distances": {
-# CHECK-CP-JSON-DAG:             "%0": 2565
-# CHECK-CP-JSON-DAG:             "%1": 1
-# CHECK-CP-JSON-DAG:             "%12": 0
-# CHECK-CP-JSON-DAG:             "%13": 2577
-# CHECK-CP-JSON-DAG:             "%14": 27
-# CHECK-CP-JSON-DAG:             "%15": 2569
-# CHECK-CP-JSON-DAG:             "%23": 42320899
-# CHECK-CP-JSON-DAG:             "%24": 330632
-# CHECK-CP-JSON-DAG:             "%25": 330629
-# CHECK-CP-JSON-DAG:             "%27": 330627
-# CHECK-CP-JSON-DAG:             "%29": 2563
-# CHECK-CP-JSON-DAG:             "%32": 2566
-# CHECK-CP-JSON-DAG:             "%34": 2564
-# CHECK-CP-JSON-DAG:             "%36": 42320900
-# CHECK-CP-JSON-DAG:             "%44": 330626
-# CHECK-CP-JSON-DAG:             "%49": 2
-# CHECK-CP-JSON-DAG:             "%52": 1
-# CHECK-CP-JSON-DAG:             "%59": 2562
-# CHECK-CP-JSON-DAG:             "%62": 0
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest": {
-# CHECK-CP-JSON-DAG:             "register": "%36",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 42320900
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest-subreg": {
-# CHECK-CP-JSON-DAG:             "register": "%36",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 42320900
-# CHECK-CP-JSON:               }
-# CHECK-CP-JSON-NEXT:        },
-# CHECK-CP-JSON-NEXT:        {
-# CHECK-CP-JSON-NEXT:          "instr": "%63:sreg_32 = V_CMP_GE_U32_e64 %52, %1, implicit $exec",
-# CHECK-CP-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "distances": {
-# CHECK-CP-JSON-DAG:             "%0": 2565
-# CHECK-CP-JSON-DAG:             "%1": 0
-# CHECK-CP-JSON-DAG:             "%12": 34
-# CHECK-CP-JSON-DAG:             "%13": 2577
-# CHECK-CP-JSON-DAG:             "%14": 26
-# CHECK-CP-JSON-DAG:             "%15": 2569
-# CHECK-CP-JSON-DAG:             "%23": 42320899
-# CHECK-CP-JSON-DAG:             "%24": 330632
-# CHECK-CP-JSON-DAG:             "%25": 330629
-# CHECK-CP-JSON-DAG:             "%27": 330627
-# CHECK-CP-JSON-DAG:             "%29": 2563
-# CHECK-CP-JSON-DAG:             "%32": 2566
-# CHECK-CP-JSON-DAG:             "%34": 2564
-# CHECK-CP-JSON-DAG:             "%36": 42320900
-# CHECK-CP-JSON-DAG:             "%44": 330626
-# CHECK-CP-JSON-DAG:             "%49": 1
-# CHECK-CP-JSON-DAG:             "%52": 0
-# CHECK-CP-JSON-DAG:             "%59": 2562
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest": {
-# CHECK-CP-JSON-DAG:             "register": "%36",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 42320900
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest-subreg": {
-# CHECK-CP-JSON-DAG:             "register": "%36",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 42320900
-# CHECK-CP-JSON:               }
-# CHECK-CP-JSON-NEXT:        },
-# CHECK-CP-JSON-NEXT:        {
-# CHECK-CP-JSON-NEXT:          "instr": "%50:sreg_32 = SI_IF_BREAK %63, %49, implicit-def dead $scc",
-# CHECK-CP-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "distances": {
-# CHECK-CP-JSON-DAG:             "%0": 2565
-# CHECK-CP-JSON-DAG:             "%1": 39
-# CHECK-CP-JSON-DAG:             "%12": 33
-# CHECK-CP-JSON-DAG:             "%13": 2577
-# CHECK-CP-JSON-DAG:             "%14": 25
-# CHECK-CP-JSON-DAG:             "%15": 2569
-# CHECK-CP-JSON-DAG:             "%23": 42320899
-# CHECK-CP-JSON-DAG:             "%24": 330632
-# CHECK-CP-JSON-DAG:             "%25": 330629
-# CHECK-CP-JSON-DAG:             "%27": 330627
-# CHECK-CP-JSON-DAG:             "%29": 2563
-# CHECK-CP-JSON-DAG:             "%32": 2566
-# CHECK-CP-JSON-DAG:             "%34": 2564
-# CHECK-CP-JSON-DAG:             "%36": 42320900
-# CHECK-CP-JSON-DAG:             "%44": 330626
-# CHECK-CP-JSON-DAG:             "%49": 0
-# CHECK-CP-JSON-DAG:             "%52": 1
-# CHECK-CP-JSON-DAG:             "%59": 2562
-# CHECK-CP-JSON-DAG:             "%63": 0
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest": {
-# CHECK-CP-JSON-DAG:             "register": "%36",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 42320900
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest-subreg": {
-# CHECK-CP-JSON-DAG:             "register": "%36",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 42320900
-# CHECK-CP-JSON:               }
-# CHECK-CP-JSON-NEXT:        },
-# CHECK-CP-JSON-NEXT:        {
-# CHECK-CP-JSON-NEXT:          "instr": "%64:vgpr_32 = COPY %52, implicit $exec",
-# CHECK-CP-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "distances": {
-# CHECK-CP-JSON-DAG:             "%0": 2565
-# CHECK-CP-JSON-DAG:             "%1": 38
-# CHECK-CP-JSON-DAG:             "%12": 32
-# CHECK-CP-JSON-DAG:             "%13": 2577
-# CHECK-CP-JSON-DAG:             "%14": 24
-# CHECK-CP-JSON-DAG:             "%15": 2569
-# CHECK-CP-JSON-DAG:             "%23": 42320899
-# CHECK-CP-JSON-DAG:             "%24": 330632
-# CHECK-CP-JSON-DAG:             "%25": 330629
-# CHECK-CP-JSON-DAG:             "%27": 330627
-# CHECK-CP-JSON-DAG:             "%29": 2563
-# CHECK-CP-JSON-DAG:             "%32": 2566
-# CHECK-CP-JSON-DAG:             "%34": 2564
-# CHECK-CP-JSON-DAG:             "%36": 42320900
-# CHECK-CP-JSON-DAG:             "%44": 330626
-# CHECK-CP-JSON-DAG:             "%50": 1
-# CHECK-CP-JSON-DAG:             "%52": 0
-# CHECK-CP-JSON-DAG:             "%59": 2562
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest": {
-# CHECK-CP-JSON-DAG:             "register": "%36",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 42320900
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest-subreg": {
-# CHECK-CP-JSON-DAG:             "register": "%36",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 42320900
-# CHECK-CP-JSON:               }
-# CHECK-CP-JSON-NEXT:        },
-# CHECK-CP-JSON-NEXT:        {
-# CHECK-CP-JSON-NEXT:          "instr": "SI_LOOP %50, %bb.3, implicit-def dead $exec, implicit-def dead $scc, implicit $exec",
-# CHECK-CP-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "distances": {
-# CHECK-CP-JSON-DAG:             "%0": 2565
-# CHECK-CP-JSON-DAG:             "%1": 37
-# CHECK-CP-JSON-DAG:             "%12": 31
-# CHECK-CP-JSON-DAG:             "%13": 2577
-# CHECK-CP-JSON-DAG:             "%14": 23
-# CHECK-CP-JSON-DAG:             "%15": 2569
-# CHECK-CP-JSON-DAG:             "%23": 42320899
-# CHECK-CP-JSON-DAG:             "%24": 330632
-# CHECK-CP-JSON-DAG:             "%25": 330629
-# CHECK-CP-JSON-DAG:             "%27": 330627
-# CHECK-CP-JSON-DAG:             "%29": 2563
-# CHECK-CP-JSON-DAG:             "%32": 2566
-# CHECK-CP-JSON-DAG:             "%34": 2564
-# CHECK-CP-JSON-DAG:             "%36": 42320900
-# CHECK-CP-JSON-DAG:             "%44": 330626
-# CHECK-CP-JSON-DAG:             "%50": 0
-# CHECK-CP-JSON-DAG:             "%52": 1
-# CHECK-CP-JSON-DAG:             "%59": 2562
-# CHECK-CP-JSON-DAG:             "%64": 2562
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest": {
-# CHECK-CP-JSON-DAG:             "register": "%36",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 42320900
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest-subreg": {
-# CHECK-CP-JSON-DAG:             "register": "%36",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 42320900
-# CHECK-CP-JSON:               }
-# CHECK-CP-JSON-NEXT:        },
-# CHECK-CP-JSON-NEXT:        {
-# CHECK-CP-JSON-NEXT:          "instr": "S_BRANCH %bb.4",
-# CHECK-CP-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "distances": {
-# CHECK-CP-JSON-DAG:             "%0": 2565
-# CHECK-CP-JSON-DAG:             "%1": 36
-# CHECK-CP-JSON-DAG:             "%12": 30
-# CHECK-CP-JSON-DAG:             "%13": 2577
-# CHECK-CP-JSON-DAG:             "%14": 22
-# CHECK-CP-JSON-DAG:             "%15": 2569
-# CHECK-CP-JSON-DAG:             "%23": 42320899
-# CHECK-CP-JSON-DAG:             "%24": 330632
-# CHECK-CP-JSON-DAG:             "%25": 330629
-# CHECK-CP-JSON-DAG:             "%27": 330627
-# CHECK-CP-JSON-DAG:             "%29": 2563
-# CHECK-CP-JSON-DAG:             "%32": 2566
-# CHECK-CP-JSON-DAG:             "%34": 2564
-# CHECK-CP-JSON-DAG:             "%36": 42320900
-# CHECK-CP-JSON-DAG:             "%44": 330626
-# CHECK-CP-JSON-DAG:             "%50": 0
-# CHECK-CP-JSON-DAG:             "%52": 0
-# CHECK-CP-JSON-DAG:             "%59": 2562
-# CHECK-CP-JSON-DAG:             "%64": 2562
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest": {
-# CHECK-CP-JSON-DAG:             "register": "%36",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 42320900
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest-subreg": {
-# CHECK-CP-JSON-DAG:             "register": "%36",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 42320900
-# CHECK-CP-JSON:               }
-# CHECK-CP-JSON-NEXT:        }
-# CHECK-CP-JSON-NEXT:      ],
-# CHECK-CP-JSON-NEXT:      "bb.4": [
-# CHECK-CP-JSON-NEXT:        {
-# CHECK-CP-JSON-NEXT:          "instr": "SI_END_CF %50, implicit-def dead $exec, implicit-def dead $scc, implicit $exec",
-# CHECK-CP-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "distances": {
-# CHECK-CP-JSON-DAG:             "%0": 4
-# CHECK-CP-JSON-DAG:             "%1": 22
-# CHECK-CP-JSON-DAG:             "%12": 22
-# CHECK-CP-JSON-DAG:             "%13": 16
-# CHECK-CP-JSON-DAG:             "%14": 22
-# CHECK-CP-JSON-DAG:             "%15": 8
-# CHECK-CP-JSON-DAG:             "%23": 42320899
-# CHECK-CP-JSON-DAG:             "%24": 330632
-# CHECK-CP-JSON-DAG:             "%25": 330629
-# CHECK-CP-JSON-DAG:             "%27": 330627
-# CHECK-CP-JSON-DAG:             "%29": 2
-# CHECK-CP-JSON-DAG:             "%32": 5
-# CHECK-CP-JSON-DAG:             "%34": 3
-# CHECK-CP-JSON-DAG:             "%36": 42320900
-# CHECK-CP-JSON-DAG:             "%44": 330626
-# CHECK-CP-JSON-DAG:             "%50": 0
-# CHECK-CP-JSON-DAG:             "%59": 1
-# CHECK-CP-JSON-DAG:             "%64": 1
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest": {
-# CHECK-CP-JSON-DAG:             "register": "%36",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 42320900
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest-subreg": {
-# CHECK-CP-JSON-DAG:             "register": "%36",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 42320900
-# CHECK-CP-JSON:               }
-# CHECK-CP-JSON-NEXT:        },
-# CHECK-CP-JSON-NEXT:        {
-# CHECK-CP-JSON-NEXT:          "instr": "%65:vgpr_32 = V_ADD_U32_e64 %59, %64, 0, implicit $exec",
-# CHECK-CP-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "distances": {
-# CHECK-CP-JSON-DAG:             "%0": 3
-# CHECK-CP-JSON-DAG:             "%1": 21
-# CHECK-CP-JSON-DAG:             "%12": 21
-# CHECK-CP-JSON-DAG:             "%13": 15
-# CHECK-CP-JSON-DAG:             "%14": 21
-# CHECK-CP-JSON-DAG:             "%15": 7
-# CHECK-CP-JSON-DAG:             "%23": 42320899
-# CHECK-CP-JSON-DAG:             "%24": 330632
-# CHECK-CP-JSON-DAG:             "%25": 330629
-# CHECK-CP-JSON-DAG:             "%27": 330627
-# CHECK-CP-JSON-DAG:             "%29": 1
-# CHECK-CP-JSON-DAG:             "%32": 4
-# CHECK-CP-JSON-DAG:             "%34": 2
-# CHECK-CP-JSON-DAG:             "%36": 42320900
-# CHECK-CP-JSON-DAG:             "%44": 330626
-# CHECK-CP-JSON-DAG:             "%59": 0
-# CHECK-CP-JSON-DAG:             "%64": 0
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest": {
-# CHECK-CP-JSON-DAG:             "register": "%36",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 42320900
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest-subreg": {
-# CHECK-CP-JSON-DAG:             "register": "%36",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 42320900
-# CHECK-CP-JSON:               }
-# CHECK-CP-JSON-NEXT:        },
-# CHECK-CP-JSON-NEXT:        {
-# CHECK-CP-JSON-NEXT:          "instr": "%37:vgpr_32 = V_MUL_LO_U32_e64 %29, %65, implicit $exec",
-# CHECK-CP-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "distances": {
-# CHECK-CP-JSON-DAG:             "%0": 2
-# CHECK-CP-JSON-DAG:             "%1": 20
-# CHECK-CP-JSON-DAG:             "%12": 20
-# CHECK-CP-JSON-DAG:             "%13": 14
-# CHECK-CP-JSON-DAG:             "%14": 20
-# CHECK-CP-JSON-DAG:             "%15": 6
-# CHECK-CP-JSON-DAG:             "%23": 42320899
-# CHECK-CP-JSON-DAG:             "%24": 330632
-# CHECK-CP-JSON-DAG:             "%25": 330629
-# CHECK-CP-JSON-DAG:             "%27": 330627
-# CHECK-CP-JSON-DAG:             "%29": 0
-# CHECK-CP-JSON-DAG:             "%32": 3
-# CHECK-CP-JSON-DAG:             "%34": 1
-# CHECK-CP-JSON-DAG:             "%36": 42320900
-# CHECK-CP-JSON-DAG:             "%44": 330626
-# CHECK-CP-JSON-DAG:             "%64": 330626
-# CHECK-CP-JSON-DAG:             "%65": 0
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest": {
-# CHECK-CP-JSON-DAG:             "register": "%36",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 42320900
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest-subreg": {
-# CHECK-CP-JSON-DAG:             "register": "%36",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 42320900
-# CHECK-CP-JSON:               }
-# CHECK-CP-JSON-NEXT:        },
-# CHECK-CP-JSON-NEXT:        {
-# CHECK-CP-JSON-NEXT:          "instr": "%35:sreg_32 = S_ADD_I32 %34, 2, implicit-def dead $scc",
-# CHECK-CP-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "distances": {
-# CHECK-CP-JSON-DAG:             "%0": 1
-# CHECK-CP-JSON-DAG:             "%1": 19
-# CHECK-CP-JSON-DAG:             "%12": 19
-# CHECK-CP-JSON-DAG:             "%13": 13
-# CHECK-CP-JSON-DAG:             "%14": 19
-# CHECK-CP-JSON-DAG:             "%15": 5
-# CHECK-CP-JSON-DAG:             "%23": 42320899
-# CHECK-CP-JSON-DAG:             "%24": 330632
-# CHECK-CP-JSON-DAG:             "%25": 330629
-# CHECK-CP-JSON-DAG:             "%27": 330627
-# CHECK-CP-JSON-DAG:             "%29": 50
-# CHECK-CP-JSON-DAG:             "%32": 2
-# CHECK-CP-JSON-DAG:             "%34": 0
-# CHECK-CP-JSON-DAG:             "%36": 42320900
-# CHECK-CP-JSON-DAG:             "%37": 4
-# CHECK-CP-JSON-DAG:             "%44": 330626
-# CHECK-CP-JSON-DAG:             "%64": 330626
-# CHECK-CP-JSON-DAG:             "%65": 42320900
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest": {
-# CHECK-CP-JSON-DAG:             "register": "%36",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 42320900
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest-subreg": {
-# CHECK-CP-JSON-DAG:             "register": "%36",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 42320900
-# CHECK-CP-JSON:               }
-# CHECK-CP-JSON-NEXT:        },
-# CHECK-CP-JSON-NEXT:        {
-# CHECK-CP-JSON-NEXT:          "instr": "%66:sreg_32 = V_CMP_GE_U32_e64 %35, %0, implicit $exec",
-# CHECK-CP-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "distances": {
-# CHECK-CP-JSON-DAG:             "%0": 0
-# CHECK-CP-JSON-DAG:             "%1": 18
-# CHECK-CP-JSON-DAG:             "%12": 18
-# CHECK-CP-JSON-DAG:             "%13": 12
-# CHECK-CP-JSON-DAG:             "%14": 18
-# CHECK-CP-JSON-DAG:             "%15": 4
-# CHECK-CP-JSON-DAG:             "%23": 42320899
-# CHECK-CP-JSON-DAG:             "%24": 330632
-# CHECK-CP-JSON-DAG:             "%25": 330629
-# CHECK-CP-JSON-DAG:             "%27": 330627
-# CHECK-CP-JSON-DAG:             "%29": 49
-# CHECK-CP-JSON-DAG:             "%32": 1
-# CHECK-CP-JSON-DAG:             "%35": 0
-# CHECK-CP-JSON-DAG:             "%36": 42320900
-# CHECK-CP-JSON-DAG:             "%37": 3
-# CHECK-CP-JSON-DAG:             "%44": 330626
-# CHECK-CP-JSON-DAG:             "%64": 330626
-# CHECK-CP-JSON-DAG:             "%65": 42320900
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest": {
-# CHECK-CP-JSON-DAG:             "register": "%36",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 42320900
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest-subreg": {
-# CHECK-CP-JSON-DAG:             "register": "%36",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 42320900
-# CHECK-CP-JSON:               }
-# CHECK-CP-JSON-NEXT:        },
-# CHECK-CP-JSON-NEXT:        {
-# CHECK-CP-JSON-NEXT:          "instr": "%33:sreg_32 = SI_IF_BREAK %66, %32, implicit-def dead $scc",
-# CHECK-CP-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "distances": {
-# CHECK-CP-JSON-DAG:             "%0": 50
-# CHECK-CP-JSON-DAG:             "%1": 17
-# CHECK-CP-JSON-DAG:             "%12": 17
-# CHECK-CP-JSON-DAG:             "%13": 11
-# CHECK-CP-JSON-DAG:             "%14": 17
-# CHECK-CP-JSON-DAG:             "%15": 3
-# CHECK-CP-JSON-DAG:             "%23": 42320899
-# CHECK-CP-JSON-DAG:             "%24": 330632
-# CHECK-CP-JSON-DAG:             "%25": 330629
-# CHECK-CP-JSON-DAG:             "%27": 330627
-# CHECK-CP-JSON-DAG:             "%29": 48
-# CHECK-CP-JSON-DAG:             "%32": 0
-# CHECK-CP-JSON-DAG:             "%35": 2
-# CHECK-CP-JSON-DAG:             "%36": 42320900
-# CHECK-CP-JSON-DAG:             "%37": 2
-# CHECK-CP-JSON-DAG:             "%44": 330626
-# CHECK-CP-JSON-DAG:             "%64": 330626
-# CHECK-CP-JSON-DAG:             "%65": 42320900
-# CHECK-CP-JSON-DAG:             "%66": 0
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest": {
-# CHECK-CP-JSON-DAG:             "register": "%36",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 42320900
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest-subreg": {
-# CHECK-CP-JSON-DAG:             "register": "%36",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 42320900
-# CHECK-CP-JSON:               }
-# CHECK-CP-JSON-NEXT:        },
-# CHECK-CP-JSON-NEXT:        {
-# CHECK-CP-JSON-NEXT:          "instr": "SI_LOOP %33, %bb.2, implicit-def dead $exec, implicit-def dead $scc, implicit $exec",
-# CHECK-CP-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "distances": {
-# CHECK-CP-JSON-DAG:             "%0": 49
-# CHECK-CP-JSON-DAG:             "%1": 16
-# CHECK-CP-JSON-DAG:             "%12": 16
-# CHECK-CP-JSON-DAG:             "%13": 10
-# CHECK-CP-JSON-DAG:             "%14": 16
-# CHECK-CP-JSON-DAG:             "%15": 2
-# CHECK-CP-JSON-DAG:             "%23": 42320899
-# CHECK-CP-JSON-DAG:             "%24": 330632
-# CHECK-CP-JSON-DAG:             "%25": 330629
-# CHECK-CP-JSON-DAG:             "%27": 330627
-# CHECK-CP-JSON-DAG:             "%29": 47
-# CHECK-CP-JSON-DAG:             "%33": 0
-# CHECK-CP-JSON-DAG:             "%35": 1
-# CHECK-CP-JSON-DAG:             "%36": 42320900
-# CHECK-CP-JSON-DAG:             "%37": 1
-# CHECK-CP-JSON-DAG:             "%44": 330626
-# CHECK-CP-JSON-DAG:             "%64": 330626
-# CHECK-CP-JSON-DAG:             "%65": 42320900
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest": {
-# CHECK-CP-JSON-DAG:             "register": "%36",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 42320900
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest-subreg": {
-# CHECK-CP-JSON-DAG:             "register": "%36",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 42320900
-# CHECK-CP-JSON:               }
-# CHECK-CP-JSON-NEXT:        },
-# CHECK-CP-JSON-NEXT:        {
-# CHECK-CP-JSON-NEXT:          "instr": "S_BRANCH %bb.5",
-# CHECK-CP-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "distances": {
-# CHECK-CP-JSON-DAG:             "%0": 48
-# CHECK-CP-JSON-DAG:             "%1": 15
-# CHECK-CP-JSON-DAG:             "%12": 15
-# CHECK-CP-JSON-DAG:             "%13": 9
-# CHECK-CP-JSON-DAG:             "%14": 15
-# CHECK-CP-JSON-DAG:             "%15": 1
-# CHECK-CP-JSON-DAG:             "%23": 42320899
-# CHECK-CP-JSON-DAG:             "%24": 330632
-# CHECK-CP-JSON-DAG:             "%25": 330629
-# CHECK-CP-JSON-DAG:             "%27": 330627
-# CHECK-CP-JSON-DAG:             "%29": 46
-# CHECK-CP-JSON-DAG:             "%33": 0
-# CHECK-CP-JSON-DAG:             "%35": 0
-# CHECK-CP-JSON-DAG:             "%36": 42320900
-# CHECK-CP-JSON-DAG:             "%37": 0
-# CHECK-CP-JSON-DAG:             "%44": 330626
-# CHECK-CP-JSON-DAG:             "%64": 330626
-# CHECK-CP-JSON-DAG:             "%65": 42320900
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest": {
-# CHECK-CP-JSON-DAG:             "register": "%36",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 42320900
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest-subreg": {
-# CHECK-CP-JSON-DAG:             "register": "%36",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 42320900
-# CHECK-CP-JSON:               }
-# CHECK-CP-JSON-NEXT:        }
-# CHECK-CP-JSON-NEXT:      ],
-# CHECK-CP-JSON-NEXT:      "bb.5": [
-# CHECK-CP-JSON-NEXT:        {
-# CHECK-CP-JSON-NEXT:          "instr": "SI_END_CF %33, implicit-def dead $exec, implicit-def dead $scc, implicit $exec",
-# CHECK-CP-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "distances": {
-# CHECK-CP-JSON-DAG:             "%0": 7
-# CHECK-CP-JSON-DAG:             "%1": 3
-# CHECK-CP-JSON-DAG:             "%12": 7
-# CHECK-CP-JSON-DAG:             "%13": 7
-# CHECK-CP-JSON-DAG:             "%14": 7
-# CHECK-CP-JSON-DAG:             "%15": 7
-# CHECK-CP-JSON-DAG:             "%23": 42320899
-# CHECK-CP-JSON-DAG:             "%24": 7
-# CHECK-CP-JSON-DAG:             "%25": 4
-# CHECK-CP-JSON-DAG:             "%27": 2
-# CHECK-CP-JSON-DAG:             "%29": 42320900
-# CHECK-CP-JSON-DAG:             "%33": 0
-# CHECK-CP-JSON-DAG:             "%36": 42320900
-# CHECK-CP-JSON-DAG:             "%37": 42320901
-# CHECK-CP-JSON-DAG:             "%44": 1
-# CHECK-CP-JSON-DAG:             "%64": 1
-# CHECK-CP-JSON-DAG:             "%65": 42320900
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest": {
-# CHECK-CP-JSON-DAG:             "register": "%37",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 42320901
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest-subreg": {
-# CHECK-CP-JSON-DAG:             "register": "%37",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 42320901
-# CHECK-CP-JSON:               }
-# CHECK-CP-JSON-NEXT:        },
-# CHECK-CP-JSON-NEXT:        {
-# CHECK-CP-JSON-NEXT:          "instr": "%30:vgpr_32 = V_SUB_U32_e64 %44, %64, 0, implicit $exec",
-# CHECK-CP-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "distances": {
-# CHECK-CP-JSON-DAG:             "%0": 6
-# CHECK-CP-JSON-DAG:             "%1": 2
-# CHECK-CP-JSON-DAG:             "%12": 6
-# CHECK-CP-JSON-DAG:             "%13": 6
-# CHECK-CP-JSON-DAG:             "%14": 6
-# CHECK-CP-JSON-DAG:             "%15": 6
-# CHECK-CP-JSON-DAG:             "%23": 42320899
-# CHECK-CP-JSON-DAG:             "%24": 6
-# CHECK-CP-JSON-DAG:             "%25": 3
-# CHECK-CP-JSON-DAG:             "%27": 1
-# CHECK-CP-JSON-DAG:             "%29": 42320900
-# CHECK-CP-JSON-DAG:             "%36": 42320900
-# CHECK-CP-JSON-DAG:             "%37": 42320901
-# CHECK-CP-JSON-DAG:             "%44": 0
-# CHECK-CP-JSON-DAG:             "%64": 0
-# CHECK-CP-JSON-DAG:             "%65": 42320900
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest": {
-# CHECK-CP-JSON-DAG:             "register": "%37",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 42320901
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest-subreg": {
-# CHECK-CP-JSON-DAG:             "register": "%37",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 42320901
-# CHECK-CP-JSON:               }
-# CHECK-CP-JSON-NEXT:        },
-# CHECK-CP-JSON-NEXT:        {
-# CHECK-CP-JSON-NEXT:          "instr": "%28:sreg_32 = S_ADD_I32 %27, 1, implicit-def dead $scc",
-# CHECK-CP-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "distances": {
-# CHECK-CP-JSON-DAG:             "%0": 5
-# CHECK-CP-JSON-DAG:             "%1": 1
-# CHECK-CP-JSON-DAG:             "%12": 5
-# CHECK-CP-JSON-DAG:             "%13": 5
-# CHECK-CP-JSON-DAG:             "%14": 5
-# CHECK-CP-JSON-DAG:             "%15": 5
-# CHECK-CP-JSON-DAG:             "%23": 42320899
-# CHECK-CP-JSON-DAG:             "%24": 5
-# CHECK-CP-JSON-DAG:             "%25": 2
-# CHECK-CP-JSON-DAG:             "%27": 0
-# CHECK-CP-JSON-DAG:             "%29": 42320900
-# CHECK-CP-JSON-DAG:             "%30": 4
-# CHECK-CP-JSON-DAG:             "%36": 42320900
-# CHECK-CP-JSON-DAG:             "%37": 42320901
-# CHECK-CP-JSON-DAG:             "%65": 42320900
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest": {
-# CHECK-CP-JSON-DAG:             "register": "%37",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 42320901
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest-subreg": {
-# CHECK-CP-JSON-DAG:             "register": "%37",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 42320901
-# CHECK-CP-JSON:               }
-# CHECK-CP-JSON-NEXT:        },
-# CHECK-CP-JSON-NEXT:        {
-# CHECK-CP-JSON-NEXT:          "instr": "%67:sreg_32 = V_CMP_GE_U32_e64 %28, %1, implicit $exec",
-# CHECK-CP-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "distances": {
-# CHECK-CP-JSON-DAG:             "%0": 4
-# CHECK-CP-JSON-DAG:             "%1": 0
-# CHECK-CP-JSON-DAG:             "%12": 4
-# CHECK-CP-JSON-DAG:             "%13": 4
-# CHECK-CP-JSON-DAG:             "%14": 4
-# CHECK-CP-JSON-DAG:             "%15": 4
-# CHECK-CP-JSON-DAG:             "%23": 42320899
-# CHECK-CP-JSON-DAG:             "%24": 4
-# CHECK-CP-JSON-DAG:             "%25": 1
-# CHECK-CP-JSON-DAG:             "%28": 0
-# CHECK-CP-JSON-DAG:             "%29": 42320900
-# CHECK-CP-JSON-DAG:             "%30": 3
-# CHECK-CP-JSON-DAG:             "%36": 42320900
-# CHECK-CP-JSON-DAG:             "%37": 42320901
-# CHECK-CP-JSON-DAG:             "%65": 42320900
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest": {
-# CHECK-CP-JSON-DAG:             "register": "%37",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 42320901
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest-subreg": {
-# CHECK-CP-JSON-DAG:             "register": "%37",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 42320901
-# CHECK-CP-JSON:               }
-# CHECK-CP-JSON-NEXT:        },
-# CHECK-CP-JSON-NEXT:        {
-# CHECK-CP-JSON-NEXT:          "instr": "%26:sreg_32 = SI_IF_BREAK %67, %25, implicit-def dead $scc",
-# CHECK-CP-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "distances": {
-# CHECK-CP-JSON-DAG:             "%0": 3
-# CHECK-CP-JSON-DAG:             "%1": 3
-# CHECK-CP-JSON-DAG:             "%12": 3
-# CHECK-CP-JSON-DAG:             "%13": 3
-# CHECK-CP-JSON-DAG:             "%14": 3
-# CHECK-CP-JSON-DAG:             "%15": 3
-# CHECK-CP-JSON-DAG:             "%23": 42320899
-# CHECK-CP-JSON-DAG:             "%24": 3
-# CHECK-CP-JSON-DAG:             "%25": 0
-# CHECK-CP-JSON-DAG:             "%28": 2
-# CHECK-CP-JSON-DAG:             "%29": 42320900
-# CHECK-CP-JSON-DAG:             "%30": 2
-# CHECK-CP-JSON-DAG:             "%36": 42320900
-# CHECK-CP-JSON-DAG:             "%37": 42320901
-# CHECK-CP-JSON-DAG:             "%65": 42320900
-# CHECK-CP-JSON-DAG:             "%67": 0
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest": {
-# CHECK-CP-JSON-DAG:             "register": "%37",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 42320901
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest-subreg": {
-# CHECK-CP-JSON-DAG:             "register": "%37",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 42320901
-# CHECK-CP-JSON:               }
-# CHECK-CP-JSON-NEXT:        },
-# CHECK-CP-JSON-NEXT:        {
-# CHECK-CP-JSON-NEXT:          "instr": "SI_LOOP %26, %bb.1, implicit-def dead $exec, implicit-def dead $scc, implicit $exec",
-# CHECK-CP-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "distances": {
-# CHECK-CP-JSON-DAG:             "%0": 2
-# CHECK-CP-JSON-DAG:             "%1": 2
-# CHECK-CP-JSON-DAG:             "%12": 2
-# CHECK-CP-JSON-DAG:             "%13": 2
-# CHECK-CP-JSON-DAG:             "%14": 2
-# CHECK-CP-JSON-DAG:             "%15": 2
-# CHECK-CP-JSON-DAG:             "%23": 42320899
-# CHECK-CP-JSON-DAG:             "%24": 2
-# CHECK-CP-JSON-DAG:             "%26": 0
-# CHECK-CP-JSON-DAG:             "%28": 1
-# CHECK-CP-JSON-DAG:             "%29": 42320900
-# CHECK-CP-JSON-DAG:             "%30": 1
-# CHECK-CP-JSON-DAG:             "%36": 42320900
-# CHECK-CP-JSON-DAG:             "%37": 42320901
-# CHECK-CP-JSON-DAG:             "%65": 42320900
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest": {
-# CHECK-CP-JSON-DAG:             "register": "%37",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 42320901
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest-subreg": {
-# CHECK-CP-JSON-DAG:             "register": "%37",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 42320901
-# CHECK-CP-JSON:               }
-# CHECK-CP-JSON-NEXT:        },
-# CHECK-CP-JSON-NEXT:        {
-# CHECK-CP-JSON-NEXT:          "instr": "S_BRANCH %bb.6",
-# CHECK-CP-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "distances": {
-# CHECK-CP-JSON-DAG:             "%0": 1
-# CHECK-CP-JSON-DAG:             "%1": 1
-# CHECK-CP-JSON-DAG:             "%12": 1
-# CHECK-CP-JSON-DAG:             "%13": 1
-# CHECK-CP-JSON-DAG:             "%14": 1
-# CHECK-CP-JSON-DAG:             "%15": 1
-# CHECK-CP-JSON-DAG:             "%23": 42320899
-# CHECK-CP-JSON-DAG:             "%24": 1
-# CHECK-CP-JSON-DAG:             "%26": 0
-# CHECK-CP-JSON-DAG:             "%28": 0
-# CHECK-CP-JSON-DAG:             "%29": 42320900
-# CHECK-CP-JSON-DAG:             "%30": 0
-# CHECK-CP-JSON-DAG:             "%36": 42320900
-# CHECK-CP-JSON-DAG:             "%37": 42320901
-# CHECK-CP-JSON-DAG:             "%65": 42320900
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest": {
-# CHECK-CP-JSON-DAG:             "register": "%37",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 42320901
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest-subreg": {
-# CHECK-CP-JSON-DAG:             "register": "%37",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 42320901
-# CHECK-CP-JSON:               }
-# CHECK-CP-JSON-NEXT:        }
-# CHECK-CP-JSON-NEXT:      ],
-# CHECK-CP-JSON-NEXT:      "bb.6": [
-# CHECK-CP-JSON-NEXT:        {
-# CHECK-CP-JSON-NEXT:          "instr": "SI_END_CF %26, implicit-def dead $exec, implicit-def dead $scc, implicit $exec",
-# CHECK-CP-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "distances": {
-# CHECK-CP-JSON-DAG:             "%1": 1
-# CHECK-CP-JSON-DAG:             "%23": 2
-# CHECK-CP-JSON-DAG:             "%26": 0
-# CHECK-CP-JSON-DAG:             "%29": 3
-# CHECK-CP-JSON-DAG:             "%36": 3
-# CHECK-CP-JSON-DAG:             "%37": 4
-# CHECK-CP-JSON-DAG:             "%65": 3
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest": {
-# CHECK-CP-JSON-DAG:             "register": "%37",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 4
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest-subreg": {
-# CHECK-CP-JSON-DAG:             "register": "%37",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 4
-# CHECK-CP-JSON:               }
-# CHECK-CP-JSON-NEXT:        },
-# CHECK-CP-JSON-NEXT:        {
-# CHECK-CP-JSON-NEXT:          "instr": "%68:vgpr_32 = V_MAX_U32_e64 1, %1, implicit $exec",
-# CHECK-CP-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "distances": {
-# CHECK-CP-JSON-DAG:             "%1": 0
-# CHECK-CP-JSON-DAG:             "%23": 1
-# CHECK-CP-JSON-DAG:             "%29": 2
-# CHECK-CP-JSON-DAG:             "%36": 2
-# CHECK-CP-JSON-DAG:             "%37": 3
-# CHECK-CP-JSON-DAG:             "%65": 2
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest": {
-# CHECK-CP-JSON-DAG:             "register": "%37",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 3
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest-subreg": {
-# CHECK-CP-JSON-DAG:             "register": "%37",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 3
-# CHECK-CP-JSON:               }
-# CHECK-CP-JSON-NEXT:        },
-# CHECK-CP-JSON-NEXT:        {
-# CHECK-CP-JSON-NEXT:          "instr": "%69:vgpr_32 = V_ADD_U32_e64 %68, %23, 0, implicit $exec",
-# CHECK-CP-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "distances": {
-# CHECK-CP-JSON-DAG:             "%23": 0
-# CHECK-CP-JSON-DAG:             "%29": 1
-# CHECK-CP-JSON-DAG:             "%36": 1
-# CHECK-CP-JSON-DAG:             "%37": 2
-# CHECK-CP-JSON-DAG:             "%65": 1
-# CHECK-CP-JSON-DAG:             "%68": 0
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest": {
-# CHECK-CP-JSON-DAG:             "register": "%37",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 2
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest-subreg": {
-# CHECK-CP-JSON-DAG:             "register": "%37",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 2
-# CHECK-CP-JSON:               }
-# CHECK-CP-JSON-NEXT:        },
-# CHECK-CP-JSON-NEXT:        {
-# CHECK-CP-JSON-NEXT:          "instr": "%70:vgpr_32 = V_ADD3_U32_e64 %36, %29, %65, implicit $exec",
-# CHECK-CP-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "distances": {
-# CHECK-CP-JSON-DAG:             "%29": 0
-# CHECK-CP-JSON-DAG:             "%36": 0
-# CHECK-CP-JSON-DAG:             "%37": 1
-# CHECK-CP-JSON-DAG:             "%65": 0
-# CHECK-CP-JSON-DAG:             "%69": 3
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest": {
-# CHECK-CP-JSON-DAG:             "register": "%69",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 3
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest-subreg": {
-# CHECK-CP-JSON-DAG:             "register": "%69",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 3
-# CHECK-CP-JSON:               }
-# CHECK-CP-JSON-NEXT:        },
-# CHECK-CP-JSON-NEXT:        {
-# CHECK-CP-JSON-NEXT:          "instr": "%71:vgpr_32 = V_ADD_U32_e64 %65, %37, 0, implicit $exec",
-# CHECK-CP-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "distances": {
-# CHECK-CP-JSON-DAG:             "%36": 1
-# CHECK-CP-JSON-DAG:             "%37": 0
-# CHECK-CP-JSON-DAG:             "%65": 0
-# CHECK-CP-JSON-DAG:             "%69": 2
-# CHECK-CP-JSON-DAG:             "%70": 1
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest": {
-# CHECK-CP-JSON-DAG:             "register": "%69",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 2
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest-subreg": {
-# CHECK-CP-JSON-DAG:             "register": "%69",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 2
-# CHECK-CP-JSON:               }
-# CHECK-CP-JSON-NEXT:        },
-# CHECK-CP-JSON-NEXT:        {
-# CHECK-CP-JSON-NEXT:          "instr": "%72:vgpr_32 = V_ADD3_U32_e64 %71, %70, %36, implicit $exec",
-# CHECK-CP-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "distances": {
-# CHECK-CP-JSON-DAG:             "%36": 0
-# CHECK-CP-JSON-DAG:             "%69": 1
-# CHECK-CP-JSON-DAG:             "%70": 0
-# CHECK-CP-JSON-DAG:             "%71": 0
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest": {
-# CHECK-CP-JSON-DAG:             "register": "%69",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 1
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest-subreg": {
-# CHECK-CP-JSON-DAG:             "register": "%69",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 1
-# CHECK-CP-JSON:               }
-# CHECK-CP-JSON-NEXT:        },
-# CHECK-CP-JSON-NEXT:        {
-# CHECK-CP-JSON-NEXT:          "instr": "%73:vgpr_32 = V_ADD3_U32_e64 %69, %72, -1, implicit $exec",
-# CHECK-CP-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "distances": {
-# CHECK-CP-JSON-DAG:             "%69": 0
-# CHECK-CP-JSON-DAG:             "%72": 0
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest": {
-# CHECK-CP-JSON-DAG:             "register": "%69",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 0
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest-subreg": {
-# CHECK-CP-JSON-DAG:             "register": "%69",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 0
-# CHECK-CP-JSON:               }
-# CHECK-CP-JSON-NEXT:        },
-# CHECK-CP-JSON-NEXT:        {
-# CHECK-CP-JSON-NEXT:          "instr": "%74:sreg_32_xm0 = V_READFIRSTLANE_B32 %73, implicit $exec",
-# CHECK-CP-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "distances": {
-# CHECK-CP-JSON-DAG:             "%73": 0
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest": {
-# CHECK-CP-JSON-DAG:             "register": "%73",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 0
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest-subreg": {
-# CHECK-CP-JSON-DAG:             "register": "%73",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 0
-# CHECK-CP-JSON:               }
-# CHECK-CP-JSON-NEXT:        },
-# CHECK-CP-JSON-NEXT:        {
-# CHECK-CP-JSON-NEXT:          "instr": "$sgpr0 = COPY %74",
-# CHECK-CP-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "distances": {
-# CHECK-CP-JSON-DAG:             "%74": 0
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest": {
-# CHECK-CP-JSON-DAG:             "register": "%74",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 0
-# CHECK-CP-JSON:               },
-# CHECK-CP-JSON-NEXT:          "furthest-subreg": {
-# CHECK-CP-JSON-DAG:             "register": "%74",
-# CHECK-CP-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-CP-JSON-DAG:             "distance": 0
-# CHECK-CP-JSON:               }
-# CHECK-CP-JSON-NEXT:        },
-# CHECK-CP-JSON-NEXT:        {
-# CHECK-CP-JSON-NEXT:          "instr": "SI_RETURN_TO_EPILOG killed $sgpr0",
-# CHECK-CP-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:          "distances": {},
-# CHECK-CP-JSON-NEXT:          "furthest": {},
-# CHECK-CP-JSON-NEXT:          "furthest-subreg": {}
-# CHECK-CP-JSON-NEXT:        }
-# CHECK-CP-JSON-NEXT:      ]
-# CHECK-CP-JSON-NEXT:    },
-# CHECK-CP-JSON-NEXT:    "distance-from-def-to-closest-use": {
-# CHECK-CP-JSON-DAG:       "%0": 24,
-# CHECK-CP-JSON-DAG:       "%1": 23,
-# CHECK-CP-JSON-DAG:       "%2": 10,
-# CHECK-CP-JSON-DAG:       "%3": 9,
-# CHECK-CP-JSON-DAG:       "%4": 9,
-# CHECK-CP-JSON-DAG:       "%5": 8,
-# CHECK-CP-JSON-DAG:       "%6": 8,
-# CHECK-CP-JSON-DAG:       "%7": 7,
-# CHECK-CP-JSON-DAG:       "%8": 7,
-# CHECK-CP-JSON-DAG:       "%9": 6,
-# CHECK-CP-JSON-DAG:       "%10": 6,
-# CHECK-CP-JSON-DAG:       "%11": 5,
-# CHECK-CP-JSON-DAG:       "%12": 12,
-# CHECK-CP-JSON-DAG:       "%13": 11,
-# CHECK-CP-JSON-DAG:       "%14": 10,
-# CHECK-CP-JSON-DAG:       "%15": 9,
-# CHECK-CP-JSON-DAG:       "%16": 1,
-# CHECK-CP-JSON-DAG:       "%17": 2,
-# CHECK-CP-JSON-DAG:       "%18": 1,
-# CHECK-CP-JSON-DAG:       "%19": 4,
-# CHECK-CP-JSON-DAG:       "%20": 2,
-# CHECK-CP-JSON-DAG:       "%21": 1,
-# CHECK-CP-JSON-DAG:       "%22": 1,
-# CHECK-CP-JSON-DAG:       "%23": 1,
-# CHECK-CP-JSON-DAG:       "%24": 0,
-# CHECK-CP-JSON-DAG:       "%25": 48,
-# CHECK-CP-JSON-DAG:       "%27": 46,
-# CHECK-CP-JSON-DAG:       "%29": 0,
-# CHECK-CP-JSON-DAG:       "%31": 0,
-# CHECK-CP-JSON-DAG:       "%32": 40,
-# CHECK-CP-JSON-DAG:       "%34": 7,
-# CHECK-CP-JSON-DAG:       "%36": 42320900,
-# CHECK-CP-JSON-DAG:       "%38": 2,
-# CHECK-CP-JSON-DAG:       "%39": 1,
-# CHECK-CP-JSON-DAG:       "%40": 4,
-# CHECK-CP-JSON-DAG:       "%41": 2,
-# CHECK-CP-JSON-DAG:       "%42": 1,
-# CHECK-CP-JSON-DAG:       "%43": 1,
-# CHECK-CP-JSON-DAG:       "%44": 1,
-# CHECK-CP-JSON-DAG:       "%45": 1,
-# CHECK-CP-JSON-DAG:       "%46": 1,
-# CHECK-CP-JSON-DAG:       "%47": 1,
-# CHECK-CP-JSON-DAG:       "%48": 0,
-# CHECK-CP-JSON-DAG:       "%49": 16,
-# CHECK-CP-JSON-DAG:       "%51": 0,
-# CHECK-CP-JSON-DAG:       "%52": 8,
-# CHECK-CP-JSON-DAG:       "%53": 2,
-# CHECK-CP-JSON-DAG:       "%54": 1,
-# CHECK-CP-JSON-DAG:       "%55": 4,
-# CHECK-CP-JSON-DAG:       "%56": 2,
-# CHECK-CP-JSON-DAG:       "%57": 1,
-# CHECK-CP-JSON-DAG:       "%58": 1,
-# CHECK-CP-JSON-DAG:       "%59": 1,
-# CHECK-CP-JSON-DAG:       "%60": 1,
-# CHECK-CP-JSON-DAG:       "%61": 1,
-# CHECK-CP-JSON-DAG:       "%62": 1,
-# CHECK-CP-JSON-DAG:       "%63": 1,
-# CHECK-CP-JSON-DAG:       "%50": 2,
-# CHECK-CP-JSON-DAG:       "%64": 2562,
-# CHECK-CP-JSON-DAG:       "%65": 1,
-# CHECK-CP-JSON-DAG:       "%37": 5,
-# CHECK-CP-JSON-DAG:       "%35": 1,
-# CHECK-CP-JSON-DAG:       "%66": 1,
-# CHECK-CP-JSON-DAG:       "%33": 1,
-# CHECK-CP-JSON-DAG:       "%30": 5,
-# CHECK-CP-JSON-DAG:       "%28": 1,
-# CHECK-CP-JSON-DAG:       "%67": 1,
-# CHECK-CP-JSON-DAG:       "%26": 1,
-# CHECK-CP-JSON-DAG:       "%68": 1,
-# CHECK-CP-JSON-DAG:       "%69": 4,
-# CHECK-CP-JSON-DAG:       "%70": 2,
-# CHECK-CP-JSON-DAG:       "%71": 1,
-# CHECK-CP-JSON-DAG:       "%72": 1,
-# CHECK-CP-JSON-DAG:       "%73": 1,
-# CHECK-CP-JSON-DAG:       "%74": 1
-# CHECK-CP-JSON:         },
-# CHECK-CP-JSON-NEXT:    "paths": [
-# CHECK-CP-JSON:         ],
-# CHECK-CP-JSON-NEXT:    "metrics": {
-# CHECK-CP-JSON-NEXT:        "distance-cache": {
-# CHECK-CP-JSON-NEXT:            "hits": {{[0-9]+}},
-# CHECK-CP-JSON-NEXT:            "misses": {{[0-9]+}}
-# CHECK-CP-JSON-NEXT:        }
-# CHECK-CP-JSON-NEXT:    }
-# CHECK-CP-JSON-NEXT:  },
-# CHECK-CP-JSON-DAG:   "time.amdgpu-next-use-analysis-json.json.wall": {{[0-9.e+-]+}},
-# CHECK-CP-JSON-DAG:   "time.amdgpu-next-use-analysis-json.json.user": {{[0-9.e+-]+}},
-# CHECK-CP-JSON-DAG:   "time.amdgpu-next-use-analysis-json.json.sys": {{[0-9.e+-]+}}
-# CHECK-CP-JSON:      }
-# CHECK-GX-JSON:      {
-# CHECK-GX-JSON-NEXT:  "next-use-analysis": {
-# CHECK-GX-JSON-NEXT:    "furthest-distances": {
-# CHECK-GX-JSON-NEXT:      "bb.0": [
-# CHECK-GX-JSON-NEXT:        {
-# CHECK-GX-JSON-NEXT:          "instr": "%0:vgpr_32 = COPY $vgpr11",
-# CHECK-GX-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "distances": {},
-# CHECK-GX-JSON-NEXT:          "furthest": {},
-# CHECK-GX-JSON-NEXT:          "furthest-subreg": {}
-# CHECK-GX-JSON-NEXT:        },
-# CHECK-GX-JSON-NEXT:        {
-# CHECK-GX-JSON-NEXT:          "instr": "%1:vgpr_32 = COPY $vgpr10",
-# CHECK-GX-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "distances": {
-# CHECK-GX-JSON-DAG:             "%0": 2866
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest": {
-# CHECK-GX-JSON-DAG:             "register": "%0",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 2866
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest-subreg": {
-# CHECK-GX-JSON-DAG:             "register": "%0",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 2866
-# CHECK-GX-JSON:               }
-# CHECK-GX-JSON-NEXT:        },
-# CHECK-GX-JSON-NEXT:        {
-# CHECK-GX-JSON-NEXT:          "instr": "%2:vgpr_32 = COPY $vgpr9",
-# CHECK-GX-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "distances": {
-# CHECK-GX-JSON-DAG:             "%0": 2865
-# CHECK-GX-JSON-DAG:             "%1": 62
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest": {
-# CHECK-GX-JSON-DAG:             "register": "%0",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 2865
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest-subreg": {
-# CHECK-GX-JSON-DAG:             "register": "%0",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 2865
-# CHECK-GX-JSON:               }
-# CHECK-GX-JSON-NEXT:        },
-# CHECK-GX-JSON-NEXT:        {
-# CHECK-GX-JSON-NEXT:          "instr": "%3:vgpr_32 = COPY $vgpr8",
-# CHECK-GX-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "distances": {
-# CHECK-GX-JSON-DAG:             "%0": 2864
-# CHECK-GX-JSON-DAG:             "%1": 61
-# CHECK-GX-JSON-DAG:             "%2": 9
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest": {
-# CHECK-GX-JSON-DAG:             "register": "%0",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 2864
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest-subreg": {
-# CHECK-GX-JSON-DAG:             "register": "%0",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 2864
-# CHECK-GX-JSON:               }
-# CHECK-GX-JSON-NEXT:        },
-# CHECK-GX-JSON-NEXT:        {
-# CHECK-GX-JSON-NEXT:          "instr": "%4:vgpr_32 = COPY $vgpr7",
-# CHECK-GX-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "distances": {
-# CHECK-GX-JSON-DAG:             "%0": 2863
-# CHECK-GX-JSON-DAG:             "%1": 60
-# CHECK-GX-JSON-DAG:             "%2": 8
-# CHECK-GX-JSON-DAG:             "%3": 8
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest": {
-# CHECK-GX-JSON-DAG:             "register": "%0",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 2863
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest-subreg": {
-# CHECK-GX-JSON-DAG:             "register": "%0",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 2863
-# CHECK-GX-JSON:               }
-# CHECK-GX-JSON-NEXT:        },
-# CHECK-GX-JSON-NEXT:        {
-# CHECK-GX-JSON-NEXT:          "instr": "%5:vgpr_32 = COPY $vgpr6",
-# CHECK-GX-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "distances": {
-# CHECK-GX-JSON-DAG:             "%0": 2862
-# CHECK-GX-JSON-DAG:             "%1": 59
-# CHECK-GX-JSON-DAG:             "%2": 7
-# CHECK-GX-JSON-DAG:             "%3": 7
-# CHECK-GX-JSON-DAG:             "%4": 8
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest": {
-# CHECK-GX-JSON-DAG:             "register": "%0",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 2862
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest-subreg": {
-# CHECK-GX-JSON-DAG:             "register": "%0",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 2862
-# CHECK-GX-JSON:               }
-# CHECK-GX-JSON-NEXT:        },
-# CHECK-GX-JSON-NEXT:        {
-# CHECK-GX-JSON-NEXT:          "instr": "%6:vgpr_32 = COPY $vgpr5",
-# CHECK-GX-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "distances": {
-# CHECK-GX-JSON-DAG:             "%0": 2861
-# CHECK-GX-JSON-DAG:             "%1": 58
-# CHECK-GX-JSON-DAG:             "%2": 6
-# CHECK-GX-JSON-DAG:             "%3": 6
-# CHECK-GX-JSON-DAG:             "%4": 7
-# CHECK-GX-JSON-DAG:             "%5": 7
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest": {
-# CHECK-GX-JSON-DAG:             "register": "%0",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 2861
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest-subreg": {
-# CHECK-GX-JSON-DAG:             "register": "%0",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 2861
-# CHECK-GX-JSON:               }
-# CHECK-GX-JSON-NEXT:        },
-# CHECK-GX-JSON-NEXT:        {
-# CHECK-GX-JSON-NEXT:          "instr": "%7:vgpr_32 = COPY $vgpr4",
-# CHECK-GX-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "distances": {
-# CHECK-GX-JSON-DAG:             "%0": 2860
-# CHECK-GX-JSON-DAG:             "%1": 57
-# CHECK-GX-JSON-DAG:             "%2": 5
-# CHECK-GX-JSON-DAG:             "%3": 5
-# CHECK-GX-JSON-DAG:             "%4": 6
-# CHECK-GX-JSON-DAG:             "%5": 6
-# CHECK-GX-JSON-DAG:             "%6": 7
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest": {
-# CHECK-GX-JSON-DAG:             "register": "%0",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 2860
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest-subreg": {
-# CHECK-GX-JSON-DAG:             "register": "%0",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 2860
-# CHECK-GX-JSON:               }
-# CHECK-GX-JSON-NEXT:        },
-# CHECK-GX-JSON-NEXT:        {
-# CHECK-GX-JSON-NEXT:          "instr": "%8:vgpr_32 = COPY $vgpr3",
-# CHECK-GX-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "distances": {
-# CHECK-GX-JSON-DAG:             "%0": 2859
-# CHECK-GX-JSON-DAG:             "%1": 56
-# CHECK-GX-JSON-DAG:             "%2": 4
-# CHECK-GX-JSON-DAG:             "%3": 4
-# CHECK-GX-JSON-DAG:             "%4": 5
-# CHECK-GX-JSON-DAG:             "%5": 5
-# CHECK-GX-JSON-DAG:             "%6": 6
-# CHECK-GX-JSON-DAG:             "%7": 6
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest": {
-# CHECK-GX-JSON-DAG:             "register": "%0",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 2859
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest-subreg": {
-# CHECK-GX-JSON-DAG:             "register": "%0",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 2859
-# CHECK-GX-JSON:               }
-# CHECK-GX-JSON-NEXT:        },
-# CHECK-GX-JSON-NEXT:        {
-# CHECK-GX-JSON-NEXT:          "instr": "%9:vgpr_32 = COPY $vgpr2",
-# CHECK-GX-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "distances": {
-# CHECK-GX-JSON-DAG:             "%0": 2858
-# CHECK-GX-JSON-DAG:             "%1": 55
-# CHECK-GX-JSON-DAG:             "%2": 3
-# CHECK-GX-JSON-DAG:             "%3": 3
-# CHECK-GX-JSON-DAG:             "%4": 4
-# CHECK-GX-JSON-DAG:             "%5": 4
-# CHECK-GX-JSON-DAG:             "%6": 5
-# CHECK-GX-JSON-DAG:             "%7": 5
-# CHECK-GX-JSON-DAG:             "%8": 6
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest": {
-# CHECK-GX-JSON-DAG:             "register": "%0",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 2858
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest-subreg": {
-# CHECK-GX-JSON-DAG:             "register": "%0",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 2858
-# CHECK-GX-JSON:               }
-# CHECK-GX-JSON-NEXT:        },
-# CHECK-GX-JSON-NEXT:        {
-# CHECK-GX-JSON-NEXT:          "instr": "%10:vgpr_32 = COPY $vgpr1",
-# CHECK-GX-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "distances": {
-# CHECK-GX-JSON-DAG:             "%0": 2857
-# CHECK-GX-JSON-DAG:             "%1": 54
-# CHECK-GX-JSON-DAG:             "%2": 2
-# CHECK-GX-JSON-DAG:             "%3": 2
-# CHECK-GX-JSON-DAG:             "%4": 3
-# CHECK-GX-JSON-DAG:             "%5": 3
-# CHECK-GX-JSON-DAG:             "%6": 4
-# CHECK-GX-JSON-DAG:             "%7": 4
-# CHECK-GX-JSON-DAG:             "%8": 5
-# CHECK-GX-JSON-DAG:             "%9": 5
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest": {
-# CHECK-GX-JSON-DAG:             "register": "%0",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 2857
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest-subreg": {
-# CHECK-GX-JSON-DAG:             "register": "%0",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 2857
-# CHECK-GX-JSON:               }
-# CHECK-GX-JSON-NEXT:        },
-# CHECK-GX-JSON-NEXT:        {
-# CHECK-GX-JSON-NEXT:          "instr": "%11:vgpr_32 = COPY $vgpr0",
-# CHECK-GX-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "distances": {
-# CHECK-GX-JSON-DAG:             "%0": 2856
-# CHECK-GX-JSON-DAG:             "%1": 53
-# CHECK-GX-JSON-DAG:             "%2": 1
-# CHECK-GX-JSON-DAG:             "%3": 1
-# CHECK-GX-JSON-DAG:             "%4": 2
-# CHECK-GX-JSON-DAG:             "%5": 2
-# CHECK-GX-JSON-DAG:             "%6": 3
-# CHECK-GX-JSON-DAG:             "%7": 3
-# CHECK-GX-JSON-DAG:             "%8": 4
-# CHECK-GX-JSON-DAG:             "%9": 4
-# CHECK-GX-JSON-DAG:             "%10": 5
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest": {
-# CHECK-GX-JSON-DAG:             "register": "%0",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 2856
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest-subreg": {
-# CHECK-GX-JSON-DAG:             "register": "%0",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 2856
-# CHECK-GX-JSON:               }
-# CHECK-GX-JSON-NEXT:        },
-# CHECK-GX-JSON-NEXT:        {
-# CHECK-GX-JSON-NEXT:          "instr": "%12:vreg_64 = REG_SEQUENCE %3, %subreg.sub0, %2, %subreg.sub1",
-# CHECK-GX-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "distances": {
-# CHECK-GX-JSON-DAG:             "%0": 2855
-# CHECK-GX-JSON-DAG:             "%1": 52
-# CHECK-GX-JSON-DAG:             "%2": 0
-# CHECK-GX-JSON-DAG:             "%3": 0
-# CHECK-GX-JSON-DAG:             "%4": 1
-# CHECK-GX-JSON-DAG:             "%5": 1
-# CHECK-GX-JSON-DAG:             "%6": 2
-# CHECK-GX-JSON-DAG:             "%7": 2
-# CHECK-GX-JSON-DAG:             "%8": 3
-# CHECK-GX-JSON-DAG:             "%9": 3
-# CHECK-GX-JSON-DAG:             "%10": 4
-# CHECK-GX-JSON-DAG:             "%11": 4
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest": {
-# CHECK-GX-JSON-DAG:             "register": "%0",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 2855
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest-subreg": {
-# CHECK-GX-JSON-DAG:             "register": "%0",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 2855
-# CHECK-GX-JSON:               }
-# CHECK-GX-JSON-NEXT:        },
-# CHECK-GX-JSON-NEXT:        {
-# CHECK-GX-JSON-NEXT:          "instr": "%13:vreg_64 = REG_SEQUENCE %5, %subreg.sub0, %4, %subreg.sub1",
-# CHECK-GX-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "distances": {
-# CHECK-GX-JSON-DAG:             "%0": 2854
-# CHECK-GX-JSON-DAG:             "%1": 51
-# CHECK-GX-JSON-DAG:             "%4": 0
-# CHECK-GX-JSON-DAG:             "%5": 0
-# CHECK-GX-JSON-DAG:             "%6": 1
-# CHECK-GX-JSON-DAG:             "%7": 1
-# CHECK-GX-JSON-DAG:             "%8": 2
-# CHECK-GX-JSON-DAG:             "%9": 2
-# CHECK-GX-JSON-DAG:             "%10": 3
-# CHECK-GX-JSON-DAG:             "%11": 3
-# CHECK-GX-JSON-DAG:             "%12": 45
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest": {
-# CHECK-GX-JSON-DAG:             "register": "%0",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 2854
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest-subreg": {
-# CHECK-GX-JSON-DAG:             "register": "%0",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 2854
-# CHECK-GX-JSON:               }
-# CHECK-GX-JSON-NEXT:        },
-# CHECK-GX-JSON-NEXT:        {
-# CHECK-GX-JSON-NEXT:          "instr": "%14:vreg_64 = REG_SEQUENCE %7, %subreg.sub0, %6, %subreg.sub1",
-# CHECK-GX-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "distances": {
-# CHECK-GX-JSON-DAG:             "%0": 2853
-# CHECK-GX-JSON-DAG:             "%1": 50
-# CHECK-GX-JSON-DAG:             "%6": 0
-# CHECK-GX-JSON-DAG:             "%7": 0
-# CHECK-GX-JSON-DAG:             "%8": 1
-# CHECK-GX-JSON-DAG:             "%9": 1
-# CHECK-GX-JSON-DAG:             "%10": 2
-# CHECK-GX-JSON-DAG:             "%11": 2
-# CHECK-GX-JSON-DAG:             "%12": 44
-# CHECK-GX-JSON-DAG:             "%13": 26
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest": {
-# CHECK-GX-JSON-DAG:             "register": "%0",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 2853
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest-subreg": {
-# CHECK-GX-JSON-DAG:             "register": "%0",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 2853
-# CHECK-GX-JSON:               }
-# CHECK-GX-JSON-NEXT:        },
-# CHECK-GX-JSON-NEXT:        {
-# CHECK-GX-JSON-NEXT:          "instr": "%15:vreg_64 = REG_SEQUENCE %9, %subreg.sub0, %8, %subreg.sub1",
-# CHECK-GX-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "distances": {
-# CHECK-GX-JSON-DAG:             "%0": 2852
-# CHECK-GX-JSON-DAG:             "%1": 49
-# CHECK-GX-JSON-DAG:             "%8": 0
-# CHECK-GX-JSON-DAG:             "%9": 0
-# CHECK-GX-JSON-DAG:             "%10": 1
-# CHECK-GX-JSON-DAG:             "%11": 1
-# CHECK-GX-JSON-DAG:             "%12": 43
-# CHECK-GX-JSON-DAG:             "%13": 25
-# CHECK-GX-JSON-DAG:             "%14": 35
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest": {
-# CHECK-GX-JSON-DAG:             "register": "%0",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 2852
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest-subreg": {
-# CHECK-GX-JSON-DAG:             "register": "%0",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 2852
-# CHECK-GX-JSON:               }
-# CHECK-GX-JSON-NEXT:        },
-# CHECK-GX-JSON-NEXT:        {
-# CHECK-GX-JSON-NEXT:          "instr": "%16:vreg_64 = REG_SEQUENCE %11, %subreg.sub0, %10, %subreg.sub1",
-# CHECK-GX-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "distances": {
-# CHECK-GX-JSON-DAG:             "%0": 2851
-# CHECK-GX-JSON-DAG:             "%1": 48
-# CHECK-GX-JSON-DAG:             "%10": 0
-# CHECK-GX-JSON-DAG:             "%11": 0
-# CHECK-GX-JSON-DAG:             "%12": 42
-# CHECK-GX-JSON-DAG:             "%13": 24
-# CHECK-GX-JSON-DAG:             "%14": 34
-# CHECK-GX-JSON-DAG:             "%15": 16
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest": {
-# CHECK-GX-JSON-DAG:             "register": "%0",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 2851
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest-subreg": {
-# CHECK-GX-JSON-DAG:             "register": "%0",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 2851
-# CHECK-GX-JSON:               }
-# CHECK-GX-JSON-NEXT:        },
-# CHECK-GX-JSON-NEXT:        {
-# CHECK-GX-JSON-NEXT:          "instr": "%17:vgpr_32 = GLOBAL_LOAD_UBYTE %16, 0, 0, implicit $exec :: (load (s8) from %ir.p1, addrspace 1)",
-# CHECK-GX-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "distances": {
-# CHECK-GX-JSON-DAG:             "%0": 2850
-# CHECK-GX-JSON-DAG:             "%1": 47
-# CHECK-GX-JSON-DAG:             "%12": 41
-# CHECK-GX-JSON-DAG:             "%13": 23
-# CHECK-GX-JSON-DAG:             "%14": 33
-# CHECK-GX-JSON-DAG:             "%15": 15
-# CHECK-GX-JSON-DAG:             "%16": 0
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest": {
-# CHECK-GX-JSON-DAG:             "register": "%0",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 2850
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest-subreg": {
-# CHECK-GX-JSON-DAG:             "register": "%0",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 2850
-# CHECK-GX-JSON:               }
-# CHECK-GX-JSON-NEXT:        },
-# CHECK-GX-JSON-NEXT:        {
-# CHECK-GX-JSON-NEXT:          "instr": "%18:vgpr_32 = GLOBAL_LOAD_UBYTE %16, 1, 0, implicit $exec :: (load (s8) from %ir.p1 + 1, addrspace 1)",
-# CHECK-GX-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "distances": {
-# CHECK-GX-JSON-DAG:             "%0": 2849
-# CHECK-GX-JSON-DAG:             "%1": 46
-# CHECK-GX-JSON-DAG:             "%12": 40
-# CHECK-GX-JSON-DAG:             "%13": 22
-# CHECK-GX-JSON-DAG:             "%14": 32
-# CHECK-GX-JSON-DAG:             "%15": 14
-# CHECK-GX-JSON-DAG:             "%16": 0
-# CHECK-GX-JSON-DAG:             "%17": 1
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest": {
-# CHECK-GX-JSON-DAG:             "register": "%0",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 2849
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest-subreg": {
-# CHECK-GX-JSON-DAG:             "register": "%0",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 2849
-# CHECK-GX-JSON:               }
-# CHECK-GX-JSON-NEXT:        },
-# CHECK-GX-JSON-NEXT:        {
-# CHECK-GX-JSON-NEXT:          "instr": "%19:vgpr_32 = V_LSHL_OR_B32_e64 %18, 8, %17, implicit $exec",
-# CHECK-GX-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "distances": {
-# CHECK-GX-JSON-DAG:             "%0": 2848
-# CHECK-GX-JSON-DAG:             "%1": 45
-# CHECK-GX-JSON-DAG:             "%12": 39
-# CHECK-GX-JSON-DAG:             "%13": 21
-# CHECK-GX-JSON-DAG:             "%14": 31
-# CHECK-GX-JSON-DAG:             "%15": 13
-# CHECK-GX-JSON-DAG:             "%16": 1
-# CHECK-GX-JSON-DAG:             "%17": 0
-# CHECK-GX-JSON-DAG:             "%18": 0
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest": {
-# CHECK-GX-JSON-DAG:             "register": "%0",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 2848
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest-subreg": {
-# CHECK-GX-JSON-DAG:             "register": "%0",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 2848
-# CHECK-GX-JSON:               }
-# CHECK-GX-JSON-NEXT:        },
-# CHECK-GX-JSON-NEXT:        {
-# CHECK-GX-JSON-NEXT:          "instr": "%20:vgpr_32 = GLOBAL_LOAD_UBYTE %16, 2, 0, implicit $exec :: (load (s8) from %ir.p1 + 2, addrspace 1)",
-# CHECK-GX-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "distances": {
-# CHECK-GX-JSON-DAG:             "%0": 2847
-# CHECK-GX-JSON-DAG:             "%1": 44
-# CHECK-GX-JSON-DAG:             "%12": 38
-# CHECK-GX-JSON-DAG:             "%13": 20
-# CHECK-GX-JSON-DAG:             "%14": 30
-# CHECK-GX-JSON-DAG:             "%15": 12
-# CHECK-GX-JSON-DAG:             "%16": 0
-# CHECK-GX-JSON-DAG:             "%19": 3
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest": {
-# CHECK-GX-JSON-DAG:             "register": "%0",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 2847
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest-subreg": {
-# CHECK-GX-JSON-DAG:             "register": "%0",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 2847
-# CHECK-GX-JSON:               }
-# CHECK-GX-JSON-NEXT:        },
-# CHECK-GX-JSON-NEXT:        {
-# CHECK-GX-JSON-NEXT:          "instr": "%21:vgpr_32 = GLOBAL_LOAD_UBYTE %16, 3, 0, implicit $exec :: (load (s8) from %ir.p1 + 3, addrspace 1)",
-# CHECK-GX-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "distances": {
-# CHECK-GX-JSON-DAG:             "%0": 2846
-# CHECK-GX-JSON-DAG:             "%1": 43
-# CHECK-GX-JSON-DAG:             "%12": 37
-# CHECK-GX-JSON-DAG:             "%13": 19
-# CHECK-GX-JSON-DAG:             "%14": 29
-# CHECK-GX-JSON-DAG:             "%15": 11
-# CHECK-GX-JSON-DAG:             "%16": 0
-# CHECK-GX-JSON-DAG:             "%19": 2
-# CHECK-GX-JSON-DAG:             "%20": 1
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest": {
-# CHECK-GX-JSON-DAG:             "register": "%0",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 2846
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest-subreg": {
-# CHECK-GX-JSON-DAG:             "register": "%0",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 2846
-# CHECK-GX-JSON:               }
-# CHECK-GX-JSON-NEXT:        },
-# CHECK-GX-JSON-NEXT:        {
-# CHECK-GX-JSON-NEXT:          "instr": "%22:vgpr_32 = V_LSHL_OR_B32_e64 %21, 8, %20, implicit $exec",
-# CHECK-GX-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "distances": {
-# CHECK-GX-JSON-DAG:             "%0": 2845
-# CHECK-GX-JSON-DAG:             "%1": 42
-# CHECK-GX-JSON-DAG:             "%12": 36
-# CHECK-GX-JSON-DAG:             "%13": 18
-# CHECK-GX-JSON-DAG:             "%14": 28
-# CHECK-GX-JSON-DAG:             "%15": 10
-# CHECK-GX-JSON-DAG:             "%19": 1
-# CHECK-GX-JSON-DAG:             "%20": 0
-# CHECK-GX-JSON-DAG:             "%21": 0
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest": {
-# CHECK-GX-JSON-DAG:             "register": "%0",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 2845
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest-subreg": {
-# CHECK-GX-JSON-DAG:             "register": "%0",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 2845
-# CHECK-GX-JSON:               }
-# CHECK-GX-JSON-NEXT:        },
-# CHECK-GX-JSON-NEXT:        {
-# CHECK-GX-JSON-NEXT:          "instr": "%23:vgpr_32 = V_LSHL_OR_B32_e64 %22, 16, %19, implicit $exec",
-# CHECK-GX-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "distances": {
-# CHECK-GX-JSON-DAG:             "%0": 2844
-# CHECK-GX-JSON-DAG:             "%1": 41
-# CHECK-GX-JSON-DAG:             "%12": 35
-# CHECK-GX-JSON-DAG:             "%13": 17
-# CHECK-GX-JSON-DAG:             "%14": 27
-# CHECK-GX-JSON-DAG:             "%15": 9
-# CHECK-GX-JSON-DAG:             "%19": 0
-# CHECK-GX-JSON-DAG:             "%22": 0
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest": {
-# CHECK-GX-JSON-DAG:             "register": "%0",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 2844
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest-subreg": {
-# CHECK-GX-JSON-DAG:             "register": "%0",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 2844
-# CHECK-GX-JSON:               }
-# CHECK-GX-JSON-NEXT:        },
-# CHECK-GX-JSON-NEXT:        {
-# CHECK-GX-JSON-NEXT:          "instr": "%24:sreg_32 = S_MOV_B32 0",
-# CHECK-GX-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "distances": {
-# CHECK-GX-JSON-DAG:             "%0": 2843
-# CHECK-GX-JSON-DAG:             "%1": 40
-# CHECK-GX-JSON-DAG:             "%12": 34
-# CHECK-GX-JSON-DAG:             "%13": 16
-# CHECK-GX-JSON-DAG:             "%14": 26
-# CHECK-GX-JSON-DAG:             "%15": 8
-# CHECK-GX-JSON-DAG:             "%23": 3
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest": {
-# CHECK-GX-JSON-DAG:             "register": "%0",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 2843
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest-subreg": {
-# CHECK-GX-JSON-DAG:             "register": "%0",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 2843
-# CHECK-GX-JSON:               }
-# CHECK-GX-JSON-NEXT:        }
-# CHECK-GX-JSON-NEXT:      ],
-# CHECK-GX-JSON-NEXT:      "bb.1": [
-# CHECK-GX-JSON-NEXT:        {
-# CHECK-GX-JSON-NEXT:          "instr": "%25:sreg_32 = PHI %24, %bb.0, %26, %bb.5",
-# CHECK-GX-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "distances": {
-# CHECK-GX-JSON-DAG:             "%0": 2842
-# CHECK-GX-JSON-DAG:             "%1": 39
-# CHECK-GX-JSON-DAG:             "%12": 33
-# CHECK-GX-JSON-DAG:             "%13": 15
-# CHECK-GX-JSON-DAG:             "%14": 25
-# CHECK-GX-JSON-DAG:             "%15": 7
-# CHECK-GX-JSON-DAG:             "%23": 2
-# CHECK-GX-JSON-DAG:             "%24": 0
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest": {
-# CHECK-GX-JSON-DAG:             "register": "%0",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 2842
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest-subreg": {
-# CHECK-GX-JSON-DAG:             "register": "%0",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 2842
-# CHECK-GX-JSON:               }
-# CHECK-GX-JSON-NEXT:        },
-# CHECK-GX-JSON-NEXT:        {
-# CHECK-GX-JSON-NEXT:          "instr": "%27:sreg_32 = PHI %24, %bb.0, %28, %bb.5",
-# CHECK-GX-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "distances": {
-# CHECK-GX-JSON-DAG:             "%0": 2841
-# CHECK-GX-JSON-DAG:             "%1": 38
-# CHECK-GX-JSON-DAG:             "%12": 32
-# CHECK-GX-JSON-DAG:             "%13": 14
-# CHECK-GX-JSON-DAG:             "%14": 24
-# CHECK-GX-JSON-DAG:             "%15": 6
-# CHECK-GX-JSON-DAG:             "%23": 1
-# CHECK-GX-JSON-DAG:             "%24": 0
-# CHECK-GX-JSON-DAG:             "%25": 363783
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest": {
-# CHECK-GX-JSON-DAG:             "register": "%25",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 363783
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest-subreg": {
-# CHECK-GX-JSON-DAG:             "register": "%25",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 363783
-# CHECK-GX-JSON:               }
-# CHECK-GX-JSON-NEXT:        },
-# CHECK-GX-JSON-NEXT:        {
-# CHECK-GX-JSON-NEXT:          "instr": "%29:vgpr_32 = PHI %23, %bb.0, %30, %bb.5",
-# CHECK-GX-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "distances": {
-# CHECK-GX-JSON-DAG:             "%0": 2840
-# CHECK-GX-JSON-DAG:             "%1": 37
-# CHECK-GX-JSON-DAG:             "%12": 31
-# CHECK-GX-JSON-DAG:             "%13": 13
-# CHECK-GX-JSON-DAG:             "%14": 23
-# CHECK-GX-JSON-DAG:             "%15": 5
-# CHECK-GX-JSON-DAG:             "%23": 0
-# CHECK-GX-JSON-DAG:             "%24": 2
-# CHECK-GX-JSON-DAG:             "%25": 363782
-# CHECK-GX-JSON-DAG:             "%27": 363780
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest": {
-# CHECK-GX-JSON-DAG:             "register": "%25",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 363782
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest-subreg": {
-# CHECK-GX-JSON-DAG:             "register": "%25",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 363782
-# CHECK-GX-JSON:               }
-# CHECK-GX-JSON-NEXT:        },
-# CHECK-GX-JSON-NEXT:        {
-# CHECK-GX-JSON-NEXT:          "instr": "%31:vgpr_32 = V_MOV_B32_e32 13, implicit $exec",
-# CHECK-GX-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "distances": {
-# CHECK-GX-JSON-DAG:             "%0": 2839
-# CHECK-GX-JSON-DAG:             "%1": 36
-# CHECK-GX-JSON-DAG:             "%12": 30
-# CHECK-GX-JSON-DAG:             "%13": 12
-# CHECK-GX-JSON-DAG:             "%14": 22
-# CHECK-GX-JSON-DAG:             "%15": 4
-# CHECK-GX-JSON-DAG:             "%23": 46564739
-# CHECK-GX-JSON-DAG:             "%24": 1
-# CHECK-GX-JSON-DAG:             "%25": 363781
-# CHECK-GX-JSON-DAG:             "%27": 363779
-# CHECK-GX-JSON-DAG:             "%29": 2837
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest": {
-# CHECK-GX-JSON-DAG:             "register": "%23",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 46564739
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest-subreg": {
-# CHECK-GX-JSON-DAG:             "register": "%23",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 46564739
-# CHECK-GX-JSON:               }
-# CHECK-GX-JSON-NEXT:        }
-# CHECK-GX-JSON-NEXT:      ],
-# CHECK-GX-JSON-NEXT:      "bb.2": [
-# CHECK-GX-JSON-NEXT:        {
-# CHECK-GX-JSON-NEXT:          "instr": "%32:sreg_32 = PHI %24, %bb.1, %33, %bb.4",
-# CHECK-GX-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "distances": {
-# CHECK-GX-JSON-DAG:             "%0": 2838
-# CHECK-GX-JSON-DAG:             "%1": 35
-# CHECK-GX-JSON-DAG:             "%12": 29
-# CHECK-GX-JSON-DAG:             "%13": 11
-# CHECK-GX-JSON-DAG:             "%14": 21
-# CHECK-GX-JSON-DAG:             "%15": 3
-# CHECK-GX-JSON-DAG:             "%23": 46564739
-# CHECK-GX-JSON-DAG:             "%24": 0
-# CHECK-GX-JSON-DAG:             "%25": 363781
-# CHECK-GX-JSON-DAG:             "%27": 363779
-# CHECK-GX-JSON-DAG:             "%29": 2836
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest": {
-# CHECK-GX-JSON-DAG:             "register": "%23",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 46564739
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest-subreg": {
-# CHECK-GX-JSON-DAG:             "register": "%23",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 46564739
-# CHECK-GX-JSON:               }
-# CHECK-GX-JSON-NEXT:        },
-# CHECK-GX-JSON-NEXT:        {
-# CHECK-GX-JSON-NEXT:          "instr": "%34:sreg_32 = PHI %24, %bb.1, %35, %bb.4",
-# CHECK-GX-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "distances": {
-# CHECK-GX-JSON-DAG:             "%0": 2837
-# CHECK-GX-JSON-DAG:             "%1": 34
-# CHECK-GX-JSON-DAG:             "%12": 28
-# CHECK-GX-JSON-DAG:             "%13": 10
-# CHECK-GX-JSON-DAG:             "%14": 20
-# CHECK-GX-JSON-DAG:             "%15": 2
-# CHECK-GX-JSON-DAG:             "%23": 46564739
-# CHECK-GX-JSON-DAG:             "%24": 0
-# CHECK-GX-JSON-DAG:             "%25": 363781
-# CHECK-GX-JSON-DAG:             "%27": 363779
-# CHECK-GX-JSON-DAG:             "%29": 2835
-# CHECK-GX-JSON-DAG:             "%32": 2838
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest": {
-# CHECK-GX-JSON-DAG:             "register": "%23",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 46564739
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest-subreg": {
-# CHECK-GX-JSON-DAG:             "register": "%23",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 46564739
-# CHECK-GX-JSON:               }
-# CHECK-GX-JSON-NEXT:        },
-# CHECK-GX-JSON-NEXT:        {
-# CHECK-GX-JSON-NEXT:          "instr": "%36:vgpr_32 = PHI %31, %bb.1, %37, %bb.4",
-# CHECK-GX-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "distances": {
-# CHECK-GX-JSON-DAG:             "%0": 2836
-# CHECK-GX-JSON-DAG:             "%1": 33
-# CHECK-GX-JSON-DAG:             "%12": 27
-# CHECK-GX-JSON-DAG:             "%13": 9
-# CHECK-GX-JSON-DAG:             "%14": 19
-# CHECK-GX-JSON-DAG:             "%15": 1
-# CHECK-GX-JSON-DAG:             "%23": 46564739
-# CHECK-GX-JSON-DAG:             "%25": 363781
-# CHECK-GX-JSON-DAG:             "%27": 363779
-# CHECK-GX-JSON-DAG:             "%29": 2834
-# CHECK-GX-JSON-DAG:             "%32": 2837
-# CHECK-GX-JSON-DAG:             "%34": 8
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest": {
-# CHECK-GX-JSON-DAG:             "register": "%23",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 46564739
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest-subreg": {
-# CHECK-GX-JSON-DAG:             "register": "%23",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 46564739
-# CHECK-GX-JSON:               }
-# CHECK-GX-JSON-NEXT:        },
-# CHECK-GX-JSON-NEXT:        {
-# CHECK-GX-JSON-NEXT:          "instr": "%38:vgpr_32 = GLOBAL_LOAD_UBYTE %15, 0, 0, implicit $exec :: (load (s8) from %ir.p2, addrspace 1)",
-# CHECK-GX-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "distances": {
-# CHECK-GX-JSON-DAG:             "%0": 2835
-# CHECK-GX-JSON-DAG:             "%1": 32
-# CHECK-GX-JSON-DAG:             "%12": 26
-# CHECK-GX-JSON-DAG:             "%13": 8
-# CHECK-GX-JSON-DAG:             "%14": 18
-# CHECK-GX-JSON-DAG:             "%15": 0
-# CHECK-GX-JSON-DAG:             "%23": 46564739
-# CHECK-GX-JSON-DAG:             "%25": 363781
-# CHECK-GX-JSON-DAG:             "%27": 363779
-# CHECK-GX-JSON-DAG:             "%29": 2833
-# CHECK-GX-JSON-DAG:             "%32": 2836
-# CHECK-GX-JSON-DAG:             "%34": 7
-# CHECK-GX-JSON-DAG:             "%36": 46564740
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest": {
-# CHECK-GX-JSON-DAG:             "register": "%36",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 46564740
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest-subreg": {
-# CHECK-GX-JSON-DAG:             "register": "%36",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 46564740
-# CHECK-GX-JSON:               }
-# CHECK-GX-JSON-NEXT:        },
-# CHECK-GX-JSON-NEXT:        {
-# CHECK-GX-JSON-NEXT:          "instr": "%39:vgpr_32 = GLOBAL_LOAD_UBYTE %15, 1, 0, implicit $exec :: (load (s8) from %ir.p2 + 1, addrspace 1)",
-# CHECK-GX-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "distances": {
-# CHECK-GX-JSON-DAG:             "%0": 2834
-# CHECK-GX-JSON-DAG:             "%1": 31
-# CHECK-GX-JSON-DAG:             "%12": 25
-# CHECK-GX-JSON-DAG:             "%13": 7
-# CHECK-GX-JSON-DAG:             "%14": 17
-# CHECK-GX-JSON-DAG:             "%15": 0
-# CHECK-GX-JSON-DAG:             "%23": 46564739
-# CHECK-GX-JSON-DAG:             "%25": 363781
-# CHECK-GX-JSON-DAG:             "%27": 363779
-# CHECK-GX-JSON-DAG:             "%29": 2832
-# CHECK-GX-JSON-DAG:             "%32": 2835
-# CHECK-GX-JSON-DAG:             "%34": 6
-# CHECK-GX-JSON-DAG:             "%36": 46564740
-# CHECK-GX-JSON-DAG:             "%38": 1
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest": {
-# CHECK-GX-JSON-DAG:             "register": "%36",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 46564740
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest-subreg": {
-# CHECK-GX-JSON-DAG:             "register": "%36",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 46564740
-# CHECK-GX-JSON:               }
-# CHECK-GX-JSON-NEXT:        },
-# CHECK-GX-JSON-NEXT:        {
-# CHECK-GX-JSON-NEXT:          "instr": "%40:vgpr_32 = V_LSHL_OR_B32_e64 %39, 8, %38, implicit $exec",
-# CHECK-GX-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "distances": {
-# CHECK-GX-JSON-DAG:             "%0": 2833
-# CHECK-GX-JSON-DAG:             "%1": 30
-# CHECK-GX-JSON-DAG:             "%12": 24
-# CHECK-GX-JSON-DAG:             "%13": 6
-# CHECK-GX-JSON-DAG:             "%14": 16
-# CHECK-GX-JSON-DAG:             "%15": 1
-# CHECK-GX-JSON-DAG:             "%23": 46564739
-# CHECK-GX-JSON-DAG:             "%25": 363781
-# CHECK-GX-JSON-DAG:             "%27": 363779
-# CHECK-GX-JSON-DAG:             "%29": 2831
-# CHECK-GX-JSON-DAG:             "%32": 2834
-# CHECK-GX-JSON-DAG:             "%34": 5
-# CHECK-GX-JSON-DAG:             "%36": 46564740
-# CHECK-GX-JSON-DAG:             "%38": 0
-# CHECK-GX-JSON-DAG:             "%39": 0
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest": {
-# CHECK-GX-JSON-DAG:             "register": "%36",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 46564740
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest-subreg": {
-# CHECK-GX-JSON-DAG:             "register": "%36",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 46564740
-# CHECK-GX-JSON:               }
-# CHECK-GX-JSON-NEXT:        },
-# CHECK-GX-JSON-NEXT:        {
-# CHECK-GX-JSON-NEXT:          "instr": "%41:vgpr_32 = GLOBAL_LOAD_UBYTE %15, 2, 0, implicit $exec :: (load (s8) from %ir.p2 + 2, addrspace 1)",
-# CHECK-GX-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "distances": {
-# CHECK-GX-JSON-DAG:             "%0": 2832
-# CHECK-GX-JSON-DAG:             "%1": 29
-# CHECK-GX-JSON-DAG:             "%12": 23
-# CHECK-GX-JSON-DAG:             "%13": 5
-# CHECK-GX-JSON-DAG:             "%14": 15
-# CHECK-GX-JSON-DAG:             "%15": 0
-# CHECK-GX-JSON-DAG:             "%23": 46564739
-# CHECK-GX-JSON-DAG:             "%25": 363781
-# CHECK-GX-JSON-DAG:             "%27": 363779
-# CHECK-GX-JSON-DAG:             "%29": 2830
-# CHECK-GX-JSON-DAG:             "%32": 2833
-# CHECK-GX-JSON-DAG:             "%34": 4
-# CHECK-GX-JSON-DAG:             "%36": 46564740
-# CHECK-GX-JSON-DAG:             "%40": 3
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest": {
-# CHECK-GX-JSON-DAG:             "register": "%36",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 46564740
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest-subreg": {
-# CHECK-GX-JSON-DAG:             "register": "%36",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 46564740
-# CHECK-GX-JSON:               }
-# CHECK-GX-JSON-NEXT:        },
-# CHECK-GX-JSON-NEXT:        {
-# CHECK-GX-JSON-NEXT:          "instr": "%42:vgpr_32 = GLOBAL_LOAD_UBYTE %15, 3, 0, implicit $exec :: (load (s8) from %ir.p2 + 3, addrspace 1)",
-# CHECK-GX-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "distances": {
-# CHECK-GX-JSON-DAG:             "%0": 2831
-# CHECK-GX-JSON-DAG:             "%1": 28
-# CHECK-GX-JSON-DAG:             "%12": 22
-# CHECK-GX-JSON-DAG:             "%13": 4
-# CHECK-GX-JSON-DAG:             "%14": 14
-# CHECK-GX-JSON-DAG:             "%15": 0
-# CHECK-GX-JSON-DAG:             "%23": 46564739
-# CHECK-GX-JSON-DAG:             "%25": 363781
-# CHECK-GX-JSON-DAG:             "%27": 363779
-# CHECK-GX-JSON-DAG:             "%29": 2829
-# CHECK-GX-JSON-DAG:             "%32": 2832
-# CHECK-GX-JSON-DAG:             "%34": 3
-# CHECK-GX-JSON-DAG:             "%36": 46564740
-# CHECK-GX-JSON-DAG:             "%40": 2
-# CHECK-GX-JSON-DAG:             "%41": 1
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest": {
-# CHECK-GX-JSON-DAG:             "register": "%36",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 46564740
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest-subreg": {
-# CHECK-GX-JSON-DAG:             "register": "%36",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 46564740
-# CHECK-GX-JSON:               }
-# CHECK-GX-JSON-NEXT:        },
-# CHECK-GX-JSON-NEXT:        {
-# CHECK-GX-JSON-NEXT:          "instr": "%43:vgpr_32 = V_LSHL_OR_B32_e64 %42, 8, %41, implicit $exec",
-# CHECK-GX-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "distances": {
-# CHECK-GX-JSON-DAG:             "%0": 2830
-# CHECK-GX-JSON-DAG:             "%1": 27
-# CHECK-GX-JSON-DAG:             "%12": 21
-# CHECK-GX-JSON-DAG:             "%13": 3
-# CHECK-GX-JSON-DAG:             "%14": 13
-# CHECK-GX-JSON-DAG:             "%23": 46564739
-# CHECK-GX-JSON-DAG:             "%25": 363781
-# CHECK-GX-JSON-DAG:             "%27": 363779
-# CHECK-GX-JSON-DAG:             "%29": 2828
-# CHECK-GX-JSON-DAG:             "%32": 2831
-# CHECK-GX-JSON-DAG:             "%34": 2
-# CHECK-GX-JSON-DAG:             "%36": 46564740
-# CHECK-GX-JSON-DAG:             "%40": 1
-# CHECK-GX-JSON-DAG:             "%41": 0
-# CHECK-GX-JSON-DAG:             "%42": 0
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest": {
-# CHECK-GX-JSON-DAG:             "register": "%36",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 46564740
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest-subreg": {
-# CHECK-GX-JSON-DAG:             "register": "%36",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 46564740
-# CHECK-GX-JSON:               }
-# CHECK-GX-JSON-NEXT:        },
-# CHECK-GX-JSON-NEXT:        {
-# CHECK-GX-JSON-NEXT:          "instr": "%44:vgpr_32 = V_LSHL_OR_B32_e64 %43, 16, %40, implicit $exec",
-# CHECK-GX-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "distances": {
-# CHECK-GX-JSON-DAG:             "%0": 2829
-# CHECK-GX-JSON-DAG:             "%1": 26
-# CHECK-GX-JSON-DAG:             "%12": 20
-# CHECK-GX-JSON-DAG:             "%13": 2
-# CHECK-GX-JSON-DAG:             "%14": 12
-# CHECK-GX-JSON-DAG:             "%23": 46564739
-# CHECK-GX-JSON-DAG:             "%25": 363781
-# CHECK-GX-JSON-DAG:             "%27": 363779
-# CHECK-GX-JSON-DAG:             "%29": 2827
-# CHECK-GX-JSON-DAG:             "%32": 2830
-# CHECK-GX-JSON-DAG:             "%34": 1
-# CHECK-GX-JSON-DAG:             "%36": 46564740
-# CHECK-GX-JSON-DAG:             "%40": 0
-# CHECK-GX-JSON-DAG:             "%43": 0
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest": {
-# CHECK-GX-JSON-DAG:             "register": "%36",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 46564740
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest-subreg": {
-# CHECK-GX-JSON-DAG:             "register": "%36",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 46564740
-# CHECK-GX-JSON:               }
-# CHECK-GX-JSON-NEXT:        },
-# CHECK-GX-JSON-NEXT:        {
-# CHECK-GX-JSON-NEXT:          "instr": "%45:vgpr_32 = V_ADD_U32_e64 %34, %44, 0, implicit $exec",
-# CHECK-GX-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "distances": {
-# CHECK-GX-JSON-DAG:             "%0": 2828
-# CHECK-GX-JSON-DAG:             "%1": 25
-# CHECK-GX-JSON-DAG:             "%12": 19
-# CHECK-GX-JSON-DAG:             "%13": 1
-# CHECK-GX-JSON-DAG:             "%14": 11
-# CHECK-GX-JSON-DAG:             "%23": 46564739
-# CHECK-GX-JSON-DAG:             "%25": 363781
-# CHECK-GX-JSON-DAG:             "%27": 363779
-# CHECK-GX-JSON-DAG:             "%29": 2826
-# CHECK-GX-JSON-DAG:             "%32": 2829
-# CHECK-GX-JSON-DAG:             "%34": 0
-# CHECK-GX-JSON-DAG:             "%36": 46564740
-# CHECK-GX-JSON-DAG:             "%44": 0
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest": {
-# CHECK-GX-JSON-DAG:             "register": "%36",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 46564740
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest-subreg": {
-# CHECK-GX-JSON-DAG:             "register": "%36",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 46564740
-# CHECK-GX-JSON:               }
-# CHECK-GX-JSON-NEXT:        },
-# CHECK-GX-JSON-NEXT:        {
-# CHECK-GX-JSON-NEXT:          "instr": "GLOBAL_STORE_BYTE_D16_HI %13, %45, 2, 0, implicit $exec :: (store (s8) into %ir.p4 + 2, addrspace 1)",
-# CHECK-GX-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "distances": {
-# CHECK-GX-JSON-DAG:             "%0": 2827
-# CHECK-GX-JSON-DAG:             "%1": 24
-# CHECK-GX-JSON-DAG:             "%12": 18
-# CHECK-GX-JSON-DAG:             "%13": 0
-# CHECK-GX-JSON-DAG:             "%14": 10
-# CHECK-GX-JSON-DAG:             "%23": 46564739
-# CHECK-GX-JSON-DAG:             "%25": 363781
-# CHECK-GX-JSON-DAG:             "%27": 363779
-# CHECK-GX-JSON-DAG:             "%29": 2825
-# CHECK-GX-JSON-DAG:             "%32": 2828
-# CHECK-GX-JSON-DAG:             "%34": 2826
-# CHECK-GX-JSON-DAG:             "%36": 46564740
-# CHECK-GX-JSON-DAG:             "%44": 363778
-# CHECK-GX-JSON-DAG:             "%45": 0
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest": {
-# CHECK-GX-JSON-DAG:             "register": "%36",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 46564740
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest-subreg": {
-# CHECK-GX-JSON-DAG:             "register": "%36",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 46564740
-# CHECK-GX-JSON:               }
-# CHECK-GX-JSON-NEXT:        },
-# CHECK-GX-JSON-NEXT:        {
-# CHECK-GX-JSON-NEXT:          "instr": "GLOBAL_STORE_BYTE %13, %45, 0, 0, implicit $exec :: (store (s8) into %ir.p4, addrspace 1)",
-# CHECK-GX-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "distances": {
-# CHECK-GX-JSON-DAG:             "%0": 2826
-# CHECK-GX-JSON-DAG:             "%1": 23
-# CHECK-GX-JSON-DAG:             "%12": 17
-# CHECK-GX-JSON-DAG:             "%13": 0
-# CHECK-GX-JSON-DAG:             "%14": 9
-# CHECK-GX-JSON-DAG:             "%23": 46564739
-# CHECK-GX-JSON-DAG:             "%25": 363781
-# CHECK-GX-JSON-DAG:             "%27": 363779
-# CHECK-GX-JSON-DAG:             "%29": 2824
-# CHECK-GX-JSON-DAG:             "%32": 2827
-# CHECK-GX-JSON-DAG:             "%34": 2825
-# CHECK-GX-JSON-DAG:             "%36": 46564740
-# CHECK-GX-JSON-DAG:             "%44": 363778
-# CHECK-GX-JSON-DAG:             "%45": 0
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest": {
-# CHECK-GX-JSON-DAG:             "register": "%36",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 46564740
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest-subreg": {
-# CHECK-GX-JSON-DAG:             "register": "%36",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 46564740
-# CHECK-GX-JSON:               }
-# CHECK-GX-JSON-NEXT:        },
-# CHECK-GX-JSON-NEXT:        {
-# CHECK-GX-JSON-NEXT:          "instr": "%46:vgpr_32 = V_LSHRREV_B32_e64 24, %45, implicit $exec",
-# CHECK-GX-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "distances": {
-# CHECK-GX-JSON-DAG:             "%0": 2825
-# CHECK-GX-JSON-DAG:             "%1": 22
-# CHECK-GX-JSON-DAG:             "%12": 16
-# CHECK-GX-JSON-DAG:             "%13": 1
-# CHECK-GX-JSON-DAG:             "%14": 8
-# CHECK-GX-JSON-DAG:             "%23": 46564739
-# CHECK-GX-JSON-DAG:             "%25": 363781
-# CHECK-GX-JSON-DAG:             "%27": 363779
-# CHECK-GX-JSON-DAG:             "%29": 2823
-# CHECK-GX-JSON-DAG:             "%32": 2826
-# CHECK-GX-JSON-DAG:             "%34": 2824
-# CHECK-GX-JSON-DAG:             "%36": 46564740
-# CHECK-GX-JSON-DAG:             "%44": 363778
-# CHECK-GX-JSON-DAG:             "%45": 0
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest": {
-# CHECK-GX-JSON-DAG:             "register": "%36",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 46564740
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest-subreg": {
-# CHECK-GX-JSON-DAG:             "register": "%36",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 46564740
-# CHECK-GX-JSON:               }
-# CHECK-GX-JSON-NEXT:        },
-# CHECK-GX-JSON-NEXT:        {
-# CHECK-GX-JSON-NEXT:          "instr": "GLOBAL_STORE_BYTE %13, %46, 3, 0, implicit $exec :: (store (s8) into %ir.p4 + 3, addrspace 1)",
-# CHECK-GX-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "distances": {
-# CHECK-GX-JSON-DAG:             "%0": 2824
-# CHECK-GX-JSON-DAG:             "%1": 21
-# CHECK-GX-JSON-DAG:             "%12": 15
-# CHECK-GX-JSON-DAG:             "%13": 0
-# CHECK-GX-JSON-DAG:             "%14": 7
-# CHECK-GX-JSON-DAG:             "%23": 46564739
-# CHECK-GX-JSON-DAG:             "%25": 363781
-# CHECK-GX-JSON-DAG:             "%27": 363779
-# CHECK-GX-JSON-DAG:             "%29": 2822
-# CHECK-GX-JSON-DAG:             "%32": 2825
-# CHECK-GX-JSON-DAG:             "%34": 2823
-# CHECK-GX-JSON-DAG:             "%36": 46564740
-# CHECK-GX-JSON-DAG:             "%44": 363778
-# CHECK-GX-JSON-DAG:             "%45": 1
-# CHECK-GX-JSON-DAG:             "%46": 0
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest": {
-# CHECK-GX-JSON-DAG:             "register": "%36",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 46564740
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest-subreg": {
-# CHECK-GX-JSON-DAG:             "register": "%36",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 46564740
-# CHECK-GX-JSON:               }
-# CHECK-GX-JSON-NEXT:        },
-# CHECK-GX-JSON-NEXT:        {
-# CHECK-GX-JSON-NEXT:          "instr": "%47:vgpr_32 = V_LSHRREV_B32_e64 8, %45, implicit $exec",
-# CHECK-GX-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "distances": {
-# CHECK-GX-JSON-DAG:             "%0": 2823
-# CHECK-GX-JSON-DAG:             "%1": 20
-# CHECK-GX-JSON-DAG:             "%12": 14
-# CHECK-GX-JSON-DAG:             "%13": 1
-# CHECK-GX-JSON-DAG:             "%14": 6
-# CHECK-GX-JSON-DAG:             "%23": 46564739
-# CHECK-GX-JSON-DAG:             "%25": 363781
-# CHECK-GX-JSON-DAG:             "%27": 363779
-# CHECK-GX-JSON-DAG:             "%29": 2821
-# CHECK-GX-JSON-DAG:             "%32": 2824
-# CHECK-GX-JSON-DAG:             "%34": 2822
-# CHECK-GX-JSON-DAG:             "%36": 46564740
-# CHECK-GX-JSON-DAG:             "%44": 363778
-# CHECK-GX-JSON-DAG:             "%45": 0
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest": {
-# CHECK-GX-JSON-DAG:             "register": "%36",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 46564740
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest-subreg": {
-# CHECK-GX-JSON-DAG:             "register": "%36",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 46564740
-# CHECK-GX-JSON:               }
-# CHECK-GX-JSON-NEXT:        },
-# CHECK-GX-JSON-NEXT:        {
-# CHECK-GX-JSON-NEXT:          "instr": "GLOBAL_STORE_BYTE %13, %47, 1, 0, implicit $exec :: (store (s8) into %ir.p4 + 1, addrspace 1)",
-# CHECK-GX-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "distances": {
-# CHECK-GX-JSON-DAG:             "%0": 2822
-# CHECK-GX-JSON-DAG:             "%1": 19
-# CHECK-GX-JSON-DAG:             "%12": 13
-# CHECK-GX-JSON-DAG:             "%13": 0
-# CHECK-GX-JSON-DAG:             "%14": 5
-# CHECK-GX-JSON-DAG:             "%23": 46564739
-# CHECK-GX-JSON-DAG:             "%25": 363781
-# CHECK-GX-JSON-DAG:             "%27": 363779
-# CHECK-GX-JSON-DAG:             "%29": 2820
-# CHECK-GX-JSON-DAG:             "%32": 2823
-# CHECK-GX-JSON-DAG:             "%34": 2821
-# CHECK-GX-JSON-DAG:             "%36": 46564740
-# CHECK-GX-JSON-DAG:             "%44": 363778
-# CHECK-GX-JSON-DAG:             "%47": 0
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest": {
-# CHECK-GX-JSON-DAG:             "register": "%36",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 46564740
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest-subreg": {
-# CHECK-GX-JSON-DAG:             "register": "%36",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 46564740
-# CHECK-GX-JSON:               }
-# CHECK-GX-JSON-NEXT:        },
-# CHECK-GX-JSON-NEXT:        {
-# CHECK-GX-JSON-NEXT:          "instr": "%48:sreg_32 = S_MOV_B32 0",
-# CHECK-GX-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "distances": {
-# CHECK-GX-JSON-DAG:             "%0": 2821
-# CHECK-GX-JSON-DAG:             "%1": 18
-# CHECK-GX-JSON-DAG:             "%12": 12
-# CHECK-GX-JSON-DAG:             "%14": 4
-# CHECK-GX-JSON-DAG:             "%23": 46564739
-# CHECK-GX-JSON-DAG:             "%25": 363781
-# CHECK-GX-JSON-DAG:             "%27": 363779
-# CHECK-GX-JSON-DAG:             "%29": 2819
-# CHECK-GX-JSON-DAG:             "%32": 2822
-# CHECK-GX-JSON-DAG:             "%34": 2820
-# CHECK-GX-JSON-DAG:             "%36": 46564740
-# CHECK-GX-JSON-DAG:             "%44": 363778
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest": {
-# CHECK-GX-JSON-DAG:             "register": "%36",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 46564740
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest-subreg": {
-# CHECK-GX-JSON-DAG:             "register": "%36",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 46564740
-# CHECK-GX-JSON:               }
-# CHECK-GX-JSON-NEXT:        }
-# CHECK-GX-JSON-NEXT:      ],
-# CHECK-GX-JSON-NEXT:      "bb.3": [
-# CHECK-GX-JSON-NEXT:        {
-# CHECK-GX-JSON-NEXT:          "instr": "%49:sreg_32 = PHI %48, %bb.2, %50, %bb.3",
-# CHECK-GX-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "distances": {
-# CHECK-GX-JSON-DAG:             "%0": 2821
-# CHECK-GX-JSON-DAG:             "%1": 17
-# CHECK-GX-JSON-DAG:             "%12": 11
-# CHECK-GX-JSON-DAG:             "%14": 3
-# CHECK-GX-JSON-DAG:             "%23": 46564739
-# CHECK-GX-JSON-DAG:             "%25": 363781
-# CHECK-GX-JSON-DAG:             "%27": 363779
-# CHECK-GX-JSON-DAG:             "%29": 2819
-# CHECK-GX-JSON-DAG:             "%32": 2822
-# CHECK-GX-JSON-DAG:             "%34": 2820
-# CHECK-GX-JSON-DAG:             "%36": 46564740
-# CHECK-GX-JSON-DAG:             "%44": 363778
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest": {
-# CHECK-GX-JSON-DAG:             "register": "%36",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 46564740
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest-subreg": {
-# CHECK-GX-JSON-DAG:             "register": "%36",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 46564740
-# CHECK-GX-JSON:               }
-# CHECK-GX-JSON-NEXT:        },
-# CHECK-GX-JSON-NEXT:        {
-# CHECK-GX-JSON-NEXT:          "instr": "%51:sreg_32 = PHI %48, %bb.2, %52, %bb.3",
-# CHECK-GX-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "distances": {
-# CHECK-GX-JSON-DAG:             "%0": 2821
-# CHECK-GX-JSON-DAG:             "%1": 16
-# CHECK-GX-JSON-DAG:             "%12": 10
-# CHECK-GX-JSON-DAG:             "%14": 2
-# CHECK-GX-JSON-DAG:             "%23": 46564739
-# CHECK-GX-JSON-DAG:             "%25": 363781
-# CHECK-GX-JSON-DAG:             "%27": 363779
-# CHECK-GX-JSON-DAG:             "%29": 2819
-# CHECK-GX-JSON-DAG:             "%32": 2822
-# CHECK-GX-JSON-DAG:             "%34": 2820
-# CHECK-GX-JSON-DAG:             "%36": 46564740
-# CHECK-GX-JSON-DAG:             "%44": 363778
-# CHECK-GX-JSON-DAG:             "%49": 17
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest": {
-# CHECK-GX-JSON-DAG:             "register": "%36",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 46564740
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest-subreg": {
-# CHECK-GX-JSON-DAG:             "register": "%36",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 46564740
-# CHECK-GX-JSON:               }
-# CHECK-GX-JSON-NEXT:        },
-# CHECK-GX-JSON-NEXT:        {
-# CHECK-GX-JSON-NEXT:          "instr": "%52:sreg_32 = S_ADD_I32 %51, 3, implicit-def dead $scc",
-# CHECK-GX-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "distances": {
-# CHECK-GX-JSON-DAG:             "%0": 2821
-# CHECK-GX-JSON-DAG:             "%1": 15
-# CHECK-GX-JSON-DAG:             "%12": 9
-# CHECK-GX-JSON-DAG:             "%14": 1
-# CHECK-GX-JSON-DAG:             "%23": 46564739
-# CHECK-GX-JSON-DAG:             "%25": 363781
-# CHECK-GX-JSON-DAG:             "%27": 363779
-# CHECK-GX-JSON-DAG:             "%29": 2819
-# CHECK-GX-JSON-DAG:             "%32": 2822
-# CHECK-GX-JSON-DAG:             "%34": 2820
-# CHECK-GX-JSON-DAG:             "%36": 46564740
-# CHECK-GX-JSON-DAG:             "%44": 363778
-# CHECK-GX-JSON-DAG:             "%49": 16
-# CHECK-GX-JSON-DAG:             "%51": 0
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest": {
-# CHECK-GX-JSON-DAG:             "register": "%36",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 46564740
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest-subreg": {
-# CHECK-GX-JSON-DAG:             "register": "%36",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 46564740
-# CHECK-GX-JSON:               }
-# CHECK-GX-JSON-NEXT:        },
-# CHECK-GX-JSON-NEXT:        {
-# CHECK-GX-JSON-NEXT:          "instr": "%53:vgpr_32 = GLOBAL_LOAD_UBYTE %14, 0, 0, implicit $exec :: (load (s8) from %ir.p3, addrspace 1)",
-# CHECK-GX-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "distances": {
-# CHECK-GX-JSON-DAG:             "%0": 2821
-# CHECK-GX-JSON-DAG:             "%1": 14
-# CHECK-GX-JSON-DAG:             "%12": 8
-# CHECK-GX-JSON-DAG:             "%14": 0
-# CHECK-GX-JSON-DAG:             "%23": 46564739
-# CHECK-GX-JSON-DAG:             "%25": 363781
-# CHECK-GX-JSON-DAG:             "%27": 363779
-# CHECK-GX-JSON-DAG:             "%29": 2819
-# CHECK-GX-JSON-DAG:             "%32": 2822
-# CHECK-GX-JSON-DAG:             "%34": 2820
-# CHECK-GX-JSON-DAG:             "%36": 46564740
-# CHECK-GX-JSON-DAG:             "%44": 363778
-# CHECK-GX-JSON-DAG:             "%49": 15
-# CHECK-GX-JSON-DAG:             "%52": 7
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest": {
-# CHECK-GX-JSON-DAG:             "register": "%36",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 46564740
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest-subreg": {
-# CHECK-GX-JSON-DAG:             "register": "%36",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 46564740
-# CHECK-GX-JSON:               }
-# CHECK-GX-JSON-NEXT:        },
-# CHECK-GX-JSON-NEXT:        {
-# CHECK-GX-JSON-NEXT:          "instr": "%54:vgpr_32 = GLOBAL_LOAD_UBYTE %14, 1, 0, implicit $exec :: (load (s8) from %ir.p3 + 1, addrspace 1)",
-# CHECK-GX-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "distances": {
-# CHECK-GX-JSON-DAG:             "%0": 2821
-# CHECK-GX-JSON-DAG:             "%1": 13
-# CHECK-GX-JSON-DAG:             "%12": 7
-# CHECK-GX-JSON-DAG:             "%14": 0
-# CHECK-GX-JSON-DAG:             "%23": 46564739
-# CHECK-GX-JSON-DAG:             "%25": 363781
-# CHECK-GX-JSON-DAG:             "%27": 363779
-# CHECK-GX-JSON-DAG:             "%29": 2819
-# CHECK-GX-JSON-DAG:             "%32": 2822
-# CHECK-GX-JSON-DAG:             "%34": 2820
-# CHECK-GX-JSON-DAG:             "%36": 46564740
-# CHECK-GX-JSON-DAG:             "%44": 363778
-# CHECK-GX-JSON-DAG:             "%49": 14
-# CHECK-GX-JSON-DAG:             "%52": 6
-# CHECK-GX-JSON-DAG:             "%53": 1
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest": {
-# CHECK-GX-JSON-DAG:             "register": "%36",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 46564740
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest-subreg": {
-# CHECK-GX-JSON-DAG:             "register": "%36",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 46564740
-# CHECK-GX-JSON:               }
-# CHECK-GX-JSON-NEXT:        },
-# CHECK-GX-JSON-NEXT:        {
-# CHECK-GX-JSON-NEXT:          "instr": "%55:vgpr_32 = V_LSHL_OR_B32_e64 %54, 8, %53, implicit $exec",
-# CHECK-GX-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "distances": {
-# CHECK-GX-JSON-DAG:             "%0": 2821
-# CHECK-GX-JSON-DAG:             "%1": 12
-# CHECK-GX-JSON-DAG:             "%12": 6
-# CHECK-GX-JSON-DAG:             "%14": 1
-# CHECK-GX-JSON-DAG:             "%23": 46564739
-# CHECK-GX-JSON-DAG:             "%25": 363781
-# CHECK-GX-JSON-DAG:             "%27": 363779
-# CHECK-GX-JSON-DAG:             "%29": 2819
-# CHECK-GX-JSON-DAG:             "%32": 2822
-# CHECK-GX-JSON-DAG:             "%34": 2820
-# CHECK-GX-JSON-DAG:             "%36": 46564740
-# CHECK-GX-JSON-DAG:             "%44": 363778
-# CHECK-GX-JSON-DAG:             "%49": 13
-# CHECK-GX-JSON-DAG:             "%52": 5
-# CHECK-GX-JSON-DAG:             "%53": 0
-# CHECK-GX-JSON-DAG:             "%54": 0
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest": {
-# CHECK-GX-JSON-DAG:             "register": "%36",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 46564740
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest-subreg": {
-# CHECK-GX-JSON-DAG:             "register": "%36",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 46564740
-# CHECK-GX-JSON:               }
-# CHECK-GX-JSON-NEXT:        },
-# CHECK-GX-JSON-NEXT:        {
-# CHECK-GX-JSON-NEXT:          "instr": "%56:vgpr_32 = GLOBAL_LOAD_UBYTE %14, 2, 0, implicit $exec :: (load (s8) from %ir.p3 + 2, addrspace 1)",
-# CHECK-GX-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "distances": {
-# CHECK-GX-JSON-DAG:             "%0": 2821
-# CHECK-GX-JSON-DAG:             "%1": 11
-# CHECK-GX-JSON-DAG:             "%12": 5
-# CHECK-GX-JSON-DAG:             "%14": 0
-# CHECK-GX-JSON-DAG:             "%23": 46564739
-# CHECK-GX-JSON-DAG:             "%25": 363781
-# CHECK-GX-JSON-DAG:             "%27": 363779
-# CHECK-GX-JSON-DAG:             "%29": 2819
-# CHECK-GX-JSON-DAG:             "%32": 2822
-# CHECK-GX-JSON-DAG:             "%34": 2820
-# CHECK-GX-JSON-DAG:             "%36": 46564740
-# CHECK-GX-JSON-DAG:             "%44": 363778
-# CHECK-GX-JSON-DAG:             "%49": 12
-# CHECK-GX-JSON-DAG:             "%52": 4
-# CHECK-GX-JSON-DAG:             "%55": 3
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest": {
-# CHECK-GX-JSON-DAG:             "register": "%36",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 46564740
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest-subreg": {
-# CHECK-GX-JSON-DAG:             "register": "%36",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 46564740
-# CHECK-GX-JSON:               }
-# CHECK-GX-JSON-NEXT:        },
-# CHECK-GX-JSON-NEXT:        {
-# CHECK-GX-JSON-NEXT:          "instr": "%57:vgpr_32 = GLOBAL_LOAD_UBYTE %14, 3, 0, implicit $exec :: (load (s8) from %ir.p3 + 3, addrspace 1)",
-# CHECK-GX-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "distances": {
-# CHECK-GX-JSON-DAG:             "%0": 2821
-# CHECK-GX-JSON-DAG:             "%1": 10
-# CHECK-GX-JSON-DAG:             "%12": 4
-# CHECK-GX-JSON-DAG:             "%14": 0
-# CHECK-GX-JSON-DAG:             "%23": 46564739
-# CHECK-GX-JSON-DAG:             "%25": 363781
-# CHECK-GX-JSON-DAG:             "%27": 363779
-# CHECK-GX-JSON-DAG:             "%29": 2819
-# CHECK-GX-JSON-DAG:             "%32": 2822
-# CHECK-GX-JSON-DAG:             "%34": 2820
-# CHECK-GX-JSON-DAG:             "%36": 46564740
-# CHECK-GX-JSON-DAG:             "%44": 363778
-# CHECK-GX-JSON-DAG:             "%49": 11
-# CHECK-GX-JSON-DAG:             "%52": 3
-# CHECK-GX-JSON-DAG:             "%55": 2
-# CHECK-GX-JSON-DAG:             "%56": 1
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest": {
-# CHECK-GX-JSON-DAG:             "register": "%36",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 46564740
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest-subreg": {
-# CHECK-GX-JSON-DAG:             "register": "%36",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 46564740
-# CHECK-GX-JSON:               }
-# CHECK-GX-JSON-NEXT:        },
-# CHECK-GX-JSON-NEXT:        {
-# CHECK-GX-JSON-NEXT:          "instr": "%58:vgpr_32 = V_LSHL_OR_B32_e64 %57, 8, %56, implicit $exec",
-# CHECK-GX-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "distances": {
-# CHECK-GX-JSON-DAG:             "%0": 2821
-# CHECK-GX-JSON-DAG:             "%1": 9
-# CHECK-GX-JSON-DAG:             "%12": 3
-# CHECK-GX-JSON-DAG:             "%23": 46564739
-# CHECK-GX-JSON-DAG:             "%25": 363781
-# CHECK-GX-JSON-DAG:             "%27": 363779
-# CHECK-GX-JSON-DAG:             "%29": 2819
-# CHECK-GX-JSON-DAG:             "%32": 2822
-# CHECK-GX-JSON-DAG:             "%34": 2820
-# CHECK-GX-JSON-DAG:             "%36": 46564740
-# CHECK-GX-JSON-DAG:             "%44": 363778
-# CHECK-GX-JSON-DAG:             "%49": 10
-# CHECK-GX-JSON-DAG:             "%52": 2
-# CHECK-GX-JSON-DAG:             "%55": 1
-# CHECK-GX-JSON-DAG:             "%56": 0
-# CHECK-GX-JSON-DAG:             "%57": 0
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest": {
-# CHECK-GX-JSON-DAG:             "register": "%36",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 46564740
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest-subreg": {
-# CHECK-GX-JSON-DAG:             "register": "%36",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 46564740
-# CHECK-GX-JSON:               }
-# CHECK-GX-JSON-NEXT:        },
-# CHECK-GX-JSON-NEXT:        {
-# CHECK-GX-JSON-NEXT:          "instr": "%59:vgpr_32 = V_LSHL_OR_B32_e64 %58, 16, %55, implicit $exec",
-# CHECK-GX-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "distances": {
-# CHECK-GX-JSON-DAG:             "%0": 2821
-# CHECK-GX-JSON-DAG:             "%1": 8
-# CHECK-GX-JSON-DAG:             "%12": 2
-# CHECK-GX-JSON-DAG:             "%23": 46564739
-# CHECK-GX-JSON-DAG:             "%25": 363781
-# CHECK-GX-JSON-DAG:             "%27": 363779
-# CHECK-GX-JSON-DAG:             "%29": 2819
-# CHECK-GX-JSON-DAG:             "%32": 2822
-# CHECK-GX-JSON-DAG:             "%34": 2820
-# CHECK-GX-JSON-DAG:             "%36": 46564740
-# CHECK-GX-JSON-DAG:             "%44": 363778
-# CHECK-GX-JSON-DAG:             "%49": 9
-# CHECK-GX-JSON-DAG:             "%52": 1
-# CHECK-GX-JSON-DAG:             "%55": 0
-# CHECK-GX-JSON-DAG:             "%58": 0
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest": {
-# CHECK-GX-JSON-DAG:             "register": "%36",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 46564740
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest-subreg": {
-# CHECK-GX-JSON-DAG:             "register": "%36",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 46564740
-# CHECK-GX-JSON:               }
-# CHECK-GX-JSON-NEXT:        },
-# CHECK-GX-JSON-NEXT:        {
-# CHECK-GX-JSON-NEXT:          "instr": "%60:vgpr_32 = V_ADD_U32_e64 %52, %59, 0, implicit $exec",
-# CHECK-GX-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "distances": {
-# CHECK-GX-JSON-DAG:             "%0": 2821
-# CHECK-GX-JSON-DAG:             "%1": 7
-# CHECK-GX-JSON-DAG:             "%12": 1
-# CHECK-GX-JSON-DAG:             "%23": 46564739
-# CHECK-GX-JSON-DAG:             "%25": 363781
-# CHECK-GX-JSON-DAG:             "%27": 363779
-# CHECK-GX-JSON-DAG:             "%29": 2819
-# CHECK-GX-JSON-DAG:             "%32": 2822
-# CHECK-GX-JSON-DAG:             "%34": 2820
-# CHECK-GX-JSON-DAG:             "%36": 46564740
-# CHECK-GX-JSON-DAG:             "%44": 363778
-# CHECK-GX-JSON-DAG:             "%49": 8
-# CHECK-GX-JSON-DAG:             "%52": 0
-# CHECK-GX-JSON-DAG:             "%59": 0
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest": {
-# CHECK-GX-JSON-DAG:             "register": "%36",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 46564740
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest-subreg": {
-# CHECK-GX-JSON-DAG:             "register": "%36",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 46564740
-# CHECK-GX-JSON:               }
-# CHECK-GX-JSON-NEXT:        },
-# CHECK-GX-JSON-NEXT:        {
-# CHECK-GX-JSON-NEXT:          "instr": "GLOBAL_STORE_BYTE_D16_HI %12, %60, 2, 0, implicit $exec :: (store (s8) into %ir.p5 + 2, addrspace 1)",
-# CHECK-GX-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "distances": {
-# CHECK-GX-JSON-DAG:             "%0": 2821
-# CHECK-GX-JSON-DAG:             "%1": 6
-# CHECK-GX-JSON-DAG:             "%12": 0
-# CHECK-GX-JSON-DAG:             "%23": 46564739
-# CHECK-GX-JSON-DAG:             "%25": 363781
-# CHECK-GX-JSON-DAG:             "%27": 363779
-# CHECK-GX-JSON-DAG:             "%29": 2819
-# CHECK-GX-JSON-DAG:             "%32": 2822
-# CHECK-GX-JSON-DAG:             "%34": 2820
-# CHECK-GX-JSON-DAG:             "%36": 46564740
-# CHECK-GX-JSON-DAG:             "%44": 363778
-# CHECK-GX-JSON-DAG:             "%49": 7
-# CHECK-GX-JSON-DAG:             "%52": 6
-# CHECK-GX-JSON-DAG:             "%59": 2818
-# CHECK-GX-JSON-DAG:             "%60": 0
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest": {
-# CHECK-GX-JSON-DAG:             "register": "%36",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 46564740
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest-subreg": {
-# CHECK-GX-JSON-DAG:             "register": "%36",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 46564740
-# CHECK-GX-JSON:               }
-# CHECK-GX-JSON-NEXT:        },
-# CHECK-GX-JSON-NEXT:        {
-# CHECK-GX-JSON-NEXT:          "instr": "GLOBAL_STORE_BYTE %12, %60, 0, 0, implicit $exec :: (store (s8) into %ir.p5, addrspace 1)",
-# CHECK-GX-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "distances": {
-# CHECK-GX-JSON-DAG:             "%0": 2821
-# CHECK-GX-JSON-DAG:             "%1": 5
-# CHECK-GX-JSON-DAG:             "%12": 0
-# CHECK-GX-JSON-DAG:             "%23": 46564739
-# CHECK-GX-JSON-DAG:             "%25": 363781
-# CHECK-GX-JSON-DAG:             "%27": 363779
-# CHECK-GX-JSON-DAG:             "%29": 2819
-# CHECK-GX-JSON-DAG:             "%32": 2822
-# CHECK-GX-JSON-DAG:             "%34": 2820
-# CHECK-GX-JSON-DAG:             "%36": 46564740
-# CHECK-GX-JSON-DAG:             "%44": 363778
-# CHECK-GX-JSON-DAG:             "%49": 6
-# CHECK-GX-JSON-DAG:             "%52": 5
-# CHECK-GX-JSON-DAG:             "%59": 2818
-# CHECK-GX-JSON-DAG:             "%60": 0
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest": {
-# CHECK-GX-JSON-DAG:             "register": "%36",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 46564740
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest-subreg": {
-# CHECK-GX-JSON-DAG:             "register": "%36",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 46564740
-# CHECK-GX-JSON:               }
-# CHECK-GX-JSON-NEXT:        },
-# CHECK-GX-JSON-NEXT:        {
-# CHECK-GX-JSON-NEXT:          "instr": "%61:vgpr_32 = V_LSHRREV_B32_e64 24, %60, implicit $exec",
-# CHECK-GX-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "distances": {
-# CHECK-GX-JSON-DAG:             "%0": 2821
-# CHECK-GX-JSON-DAG:             "%1": 4
-# CHECK-GX-JSON-DAG:             "%12": 1
-# CHECK-GX-JSON-DAG:             "%23": 46564739
-# CHECK-GX-JSON-DAG:             "%25": 363781
-# CHECK-GX-JSON-DAG:             "%27": 363779
-# CHECK-GX-JSON-DAG:             "%29": 2819
-# CHECK-GX-JSON-DAG:             "%32": 2822
-# CHECK-GX-JSON-DAG:             "%34": 2820
-# CHECK-GX-JSON-DAG:             "%36": 46564740
-# CHECK-GX-JSON-DAG:             "%44": 363778
-# CHECK-GX-JSON-DAG:             "%49": 5
-# CHECK-GX-JSON-DAG:             "%52": 4
-# CHECK-GX-JSON-DAG:             "%59": 2818
-# CHECK-GX-JSON-DAG:             "%60": 0
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest": {
-# CHECK-GX-JSON-DAG:             "register": "%36",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 46564740
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest-subreg": {
-# CHECK-GX-JSON-DAG:             "register": "%36",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 46564740
-# CHECK-GX-JSON:               }
-# CHECK-GX-JSON-NEXT:        },
-# CHECK-GX-JSON-NEXT:        {
-# CHECK-GX-JSON-NEXT:          "instr": "GLOBAL_STORE_BYTE %12, %61, 3, 0, implicit $exec :: (store (s8) into %ir.p5 + 3, addrspace 1)",
-# CHECK-GX-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "distances": {
-# CHECK-GX-JSON-DAG:             "%0": 2821
-# CHECK-GX-JSON-DAG:             "%1": 3
-# CHECK-GX-JSON-DAG:             "%12": 0
-# CHECK-GX-JSON-DAG:             "%23": 46564739
-# CHECK-GX-JSON-DAG:             "%25": 363781
-# CHECK-GX-JSON-DAG:             "%27": 363779
-# CHECK-GX-JSON-DAG:             "%29": 2819
-# CHECK-GX-JSON-DAG:             "%32": 2822
-# CHECK-GX-JSON-DAG:             "%34": 2820
-# CHECK-GX-JSON-DAG:             "%36": 46564740
-# CHECK-GX-JSON-DAG:             "%44": 363778
-# CHECK-GX-JSON-DAG:             "%49": 4
-# CHECK-GX-JSON-DAG:             "%52": 3
-# CHECK-GX-JSON-DAG:             "%59": 2818
-# CHECK-GX-JSON-DAG:             "%60": 1
-# CHECK-GX-JSON-DAG:             "%61": 0
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest": {
-# CHECK-GX-JSON-DAG:             "register": "%36",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 46564740
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest-subreg": {
-# CHECK-GX-JSON-DAG:             "register": "%36",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 46564740
-# CHECK-GX-JSON:               }
-# CHECK-GX-JSON-NEXT:        },
-# CHECK-GX-JSON-NEXT:        {
-# CHECK-GX-JSON-NEXT:          "instr": "%62:vgpr_32 = V_LSHRREV_B32_e64 8, %60, implicit $exec",
-# CHECK-GX-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "distances": {
-# CHECK-GX-JSON-DAG:             "%0": 2821
-# CHECK-GX-JSON-DAG:             "%1": 2
-# CHECK-GX-JSON-DAG:             "%12": 1
-# CHECK-GX-JSON-DAG:             "%23": 46564739
-# CHECK-GX-JSON-DAG:             "%25": 363781
-# CHECK-GX-JSON-DAG:             "%27": 363779
-# CHECK-GX-JSON-DAG:             "%29": 2819
-# CHECK-GX-JSON-DAG:             "%32": 2822
-# CHECK-GX-JSON-DAG:             "%34": 2820
-# CHECK-GX-JSON-DAG:             "%36": 46564740
-# CHECK-GX-JSON-DAG:             "%44": 363778
-# CHECK-GX-JSON-DAG:             "%49": 3
-# CHECK-GX-JSON-DAG:             "%52": 2
-# CHECK-GX-JSON-DAG:             "%59": 2818
-# CHECK-GX-JSON-DAG:             "%60": 0
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest": {
-# CHECK-GX-JSON-DAG:             "register": "%36",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 46564740
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest-subreg": {
-# CHECK-GX-JSON-DAG:             "register": "%36",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 46564740
-# CHECK-GX-JSON:               }
-# CHECK-GX-JSON-NEXT:        },
-# CHECK-GX-JSON-NEXT:        {
-# CHECK-GX-JSON-NEXT:          "instr": "GLOBAL_STORE_BYTE %12, %62, 1, 0, implicit $exec :: (store (s8) into %ir.p5 + 1, addrspace 1)",
-# CHECK-GX-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "distances": {
-# CHECK-GX-JSON-DAG:             "%0": 2821
-# CHECK-GX-JSON-DAG:             "%1": 1
-# CHECK-GX-JSON-DAG:             "%12": 0
-# CHECK-GX-JSON-DAG:             "%23": 46564739
-# CHECK-GX-JSON-DAG:             "%25": 363781
-# CHECK-GX-JSON-DAG:             "%27": 363779
-# CHECK-GX-JSON-DAG:             "%29": 2819
-# CHECK-GX-JSON-DAG:             "%32": 2822
-# CHECK-GX-JSON-DAG:             "%34": 2820
-# CHECK-GX-JSON-DAG:             "%36": 46564740
-# CHECK-GX-JSON-DAG:             "%44": 363778
-# CHECK-GX-JSON-DAG:             "%49": 2
-# CHECK-GX-JSON-DAG:             "%52": 1
-# CHECK-GX-JSON-DAG:             "%59": 2818
-# CHECK-GX-JSON-DAG:             "%62": 0
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest": {
-# CHECK-GX-JSON-DAG:             "register": "%36",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 46564740
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest-subreg": {
-# CHECK-GX-JSON-DAG:             "register": "%36",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 46564740
-# CHECK-GX-JSON:               }
-# CHECK-GX-JSON-NEXT:        },
-# CHECK-GX-JSON-NEXT:        {
-# CHECK-GX-JSON-NEXT:          "instr": "%63:sreg_32 = V_CMP_GE_U32_e64 %52, %1, implicit $exec",
-# CHECK-GX-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "distances": {
-# CHECK-GX-JSON-DAG:             "%0": 2821
-# CHECK-GX-JSON-DAG:             "%1": 0
-# CHECK-GX-JSON-DAG:             "%23": 46564739
-# CHECK-GX-JSON-DAG:             "%25": 363781
-# CHECK-GX-JSON-DAG:             "%27": 363779
-# CHECK-GX-JSON-DAG:             "%29": 2819
-# CHECK-GX-JSON-DAG:             "%32": 2822
-# CHECK-GX-JSON-DAG:             "%34": 2820
-# CHECK-GX-JSON-DAG:             "%36": 46564740
-# CHECK-GX-JSON-DAG:             "%44": 363778
-# CHECK-GX-JSON-DAG:             "%49": 1
-# CHECK-GX-JSON-DAG:             "%52": 0
-# CHECK-GX-JSON-DAG:             "%59": 2818
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest": {
-# CHECK-GX-JSON-DAG:             "register": "%36",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 46564740
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest-subreg": {
-# CHECK-GX-JSON-DAG:             "register": "%36",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 46564740
-# CHECK-GX-JSON:               }
-# CHECK-GX-JSON-NEXT:        },
-# CHECK-GX-JSON-NEXT:        {
-# CHECK-GX-JSON-NEXT:          "instr": "%50:sreg_32 = SI_IF_BREAK %63, %49, implicit-def dead $scc",
-# CHECK-GX-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "distances": {
-# CHECK-GX-JSON-DAG:             "%0": 2821
-# CHECK-GX-JSON-DAG:             "%1": 363780
-# CHECK-GX-JSON-DAG:             "%23": 46564739
-# CHECK-GX-JSON-DAG:             "%25": 363781
-# CHECK-GX-JSON-DAG:             "%27": 363779
-# CHECK-GX-JSON-DAG:             "%29": 2819
-# CHECK-GX-JSON-DAG:             "%32": 2822
-# CHECK-GX-JSON-DAG:             "%34": 2820
-# CHECK-GX-JSON-DAG:             "%36": 46564740
-# CHECK-GX-JSON-DAG:             "%44": 363778
-# CHECK-GX-JSON-DAG:             "%49": 0
-# CHECK-GX-JSON-DAG:             "%52": 1
-# CHECK-GX-JSON-DAG:             "%59": 2818
-# CHECK-GX-JSON-DAG:             "%63": 0
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest": {
-# CHECK-GX-JSON-DAG:             "register": "%36",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 46564740
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest-subreg": {
-# CHECK-GX-JSON-DAG:             "register": "%36",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 46564740
-# CHECK-GX-JSON:               }
-# CHECK-GX-JSON-NEXT:        },
-# CHECK-GX-JSON-NEXT:        {
-# CHECK-GX-JSON-NEXT:          "instr": "%64:vgpr_32 = COPY %52, implicit $exec",
-# CHECK-GX-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "distances": {
-# CHECK-GX-JSON-DAG:             "%0": 2821
-# CHECK-GX-JSON-DAG:             "%1": 363780
-# CHECK-GX-JSON-DAG:             "%23": 46564739
-# CHECK-GX-JSON-DAG:             "%25": 363781
-# CHECK-GX-JSON-DAG:             "%27": 363779
-# CHECK-GX-JSON-DAG:             "%29": 2819
-# CHECK-GX-JSON-DAG:             "%32": 2822
-# CHECK-GX-JSON-DAG:             "%34": 2820
-# CHECK-GX-JSON-DAG:             "%36": 46564740
-# CHECK-GX-JSON-DAG:             "%44": 363778
-# CHECK-GX-JSON-DAG:             "%50": 1
-# CHECK-GX-JSON-DAG:             "%52": 0
-# CHECK-GX-JSON-DAG:             "%59": 2818
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest": {
-# CHECK-GX-JSON-DAG:             "register": "%36",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 46564740
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest-subreg": {
-# CHECK-GX-JSON-DAG:             "register": "%36",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 46564740
-# CHECK-GX-JSON:               }
-# CHECK-GX-JSON-NEXT:        },
-# CHECK-GX-JSON-NEXT:        {
-# CHECK-GX-JSON-NEXT:          "instr": "SI_LOOP %50, %bb.3, implicit-def dead $exec, implicit-def dead $scc, implicit $exec",
-# CHECK-GX-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "distances": {
-# CHECK-GX-JSON-DAG:             "%0": 2821
-# CHECK-GX-JSON-DAG:             "%1": 363780
-# CHECK-GX-JSON-DAG:             "%23": 46564739
-# CHECK-GX-JSON-DAG:             "%25": 363781
-# CHECK-GX-JSON-DAG:             "%27": 363779
-# CHECK-GX-JSON-DAG:             "%29": 2819
-# CHECK-GX-JSON-DAG:             "%32": 2822
-# CHECK-GX-JSON-DAG:             "%34": 2820
-# CHECK-GX-JSON-DAG:             "%36": 46564740
-# CHECK-GX-JSON-DAG:             "%44": 363778
-# CHECK-GX-JSON-DAG:             "%50": 0
-# CHECK-GX-JSON-DAG:             "%59": 2818
-# CHECK-GX-JSON-DAG:             "%64": 2818
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest": {
-# CHECK-GX-JSON-DAG:             "register": "%36",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 46564740
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest-subreg": {
-# CHECK-GX-JSON-DAG:             "register": "%36",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 46564740
-# CHECK-GX-JSON:               }
-# CHECK-GX-JSON-NEXT:        },
-# CHECK-GX-JSON-NEXT:        {
-# CHECK-GX-JSON-NEXT:          "instr": "S_BRANCH %bb.4",
-# CHECK-GX-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "distances": {
-# CHECK-GX-JSON-DAG:             "%0": 2821
-# CHECK-GX-JSON-DAG:             "%1": 363780
-# CHECK-GX-JSON-DAG:             "%23": 46564739
-# CHECK-GX-JSON-DAG:             "%25": 363781
-# CHECK-GX-JSON-DAG:             "%27": 363779
-# CHECK-GX-JSON-DAG:             "%29": 2819
-# CHECK-GX-JSON-DAG:             "%32": 2822
-# CHECK-GX-JSON-DAG:             "%34": 2820
-# CHECK-GX-JSON-DAG:             "%36": 46564740
-# CHECK-GX-JSON-DAG:             "%44": 363778
-# CHECK-GX-JSON-DAG:             "%50": 2817
-# CHECK-GX-JSON-DAG:             "%59": 2818
-# CHECK-GX-JSON-DAG:             "%64": 2818
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest": {
-# CHECK-GX-JSON-DAG:             "register": "%36",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 46564740
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest-subreg": {
-# CHECK-GX-JSON-DAG:             "register": "%36",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 46564740
-# CHECK-GX-JSON:               }
-# CHECK-GX-JSON-NEXT:        }
-# CHECK-GX-JSON-NEXT:      ],
-# CHECK-GX-JSON-NEXT:      "bb.4": [
-# CHECK-GX-JSON-NEXT:        {
-# CHECK-GX-JSON-NEXT:          "instr": "SI_END_CF %50, implicit-def dead $exec, implicit-def dead $scc, implicit $exec",
-# CHECK-GX-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "distances": {
-# CHECK-GX-JSON-DAG:             "%0": 4
-# CHECK-GX-JSON-DAG:             "%1": 363780
-# CHECK-GX-JSON-DAG:             "%23": 46564739
-# CHECK-GX-JSON-DAG:             "%25": 363781
-# CHECK-GX-JSON-DAG:             "%27": 363779
-# CHECK-GX-JSON-DAG:             "%29": 2
-# CHECK-GX-JSON-DAG:             "%32": 5
-# CHECK-GX-JSON-DAG:             "%34": 3
-# CHECK-GX-JSON-DAG:             "%36": 46564740
-# CHECK-GX-JSON-DAG:             "%44": 363778
-# CHECK-GX-JSON-DAG:             "%50": 0
-# CHECK-GX-JSON-DAG:             "%59": 1
-# CHECK-GX-JSON-DAG:             "%64": 1
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest": {
-# CHECK-GX-JSON-DAG:             "register": "%36",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 46564740
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest-subreg": {
-# CHECK-GX-JSON-DAG:             "register": "%36",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 46564740
-# CHECK-GX-JSON:               }
-# CHECK-GX-JSON-NEXT:        },
-# CHECK-GX-JSON-NEXT:        {
-# CHECK-GX-JSON-NEXT:          "instr": "%65:vgpr_32 = V_ADD_U32_e64 %59, %64, 0, implicit $exec",
-# CHECK-GX-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "distances": {
-# CHECK-GX-JSON-DAG:             "%0": 3
-# CHECK-GX-JSON-DAG:             "%1": 363780
-# CHECK-GX-JSON-DAG:             "%23": 46564739
-# CHECK-GX-JSON-DAG:             "%25": 363781
-# CHECK-GX-JSON-DAG:             "%27": 363779
-# CHECK-GX-JSON-DAG:             "%29": 1
-# CHECK-GX-JSON-DAG:             "%32": 4
-# CHECK-GX-JSON-DAG:             "%34": 2
-# CHECK-GX-JSON-DAG:             "%36": 46564740
-# CHECK-GX-JSON-DAG:             "%44": 363778
-# CHECK-GX-JSON-DAG:             "%59": 0
-# CHECK-GX-JSON-DAG:             "%64": 0
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest": {
-# CHECK-GX-JSON-DAG:             "register": "%36",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 46564740
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest-subreg": {
-# CHECK-GX-JSON-DAG:             "register": "%36",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 46564740
-# CHECK-GX-JSON:               }
-# CHECK-GX-JSON-NEXT:        },
-# CHECK-GX-JSON-NEXT:        {
-# CHECK-GX-JSON-NEXT:          "instr": "%37:vgpr_32 = V_MUL_LO_U32_e64 %29, %65, implicit $exec",
-# CHECK-GX-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "distances": {
-# CHECK-GX-JSON-DAG:             "%0": 2
-# CHECK-GX-JSON-DAG:             "%1": 363780
-# CHECK-GX-JSON-DAG:             "%23": 46564739
-# CHECK-GX-JSON-DAG:             "%25": 363781
-# CHECK-GX-JSON-DAG:             "%27": 363779
-# CHECK-GX-JSON-DAG:             "%29": 0
-# CHECK-GX-JSON-DAG:             "%32": 3
-# CHECK-GX-JSON-DAG:             "%34": 1
-# CHECK-GX-JSON-DAG:             "%36": 46564740
-# CHECK-GX-JSON-DAG:             "%44": 363778
-# CHECK-GX-JSON-DAG:             "%64": 363778
-# CHECK-GX-JSON-DAG:             "%65": 0
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest": {
-# CHECK-GX-JSON-DAG:             "register": "%36",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 46564740
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest-subreg": {
-# CHECK-GX-JSON-DAG:             "register": "%36",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 46564740
-# CHECK-GX-JSON:               }
-# CHECK-GX-JSON-NEXT:        },
-# CHECK-GX-JSON-NEXT:        {
-# CHECK-GX-JSON-NEXT:          "instr": "%35:sreg_32 = S_ADD_I32 %34, 2, implicit-def dead $scc",
-# CHECK-GX-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "distances": {
-# CHECK-GX-JSON-DAG:             "%0": 1
-# CHECK-GX-JSON-DAG:             "%1": 363780
-# CHECK-GX-JSON-DAG:             "%23": 46564739
-# CHECK-GX-JSON-DAG:             "%25": 363781
-# CHECK-GX-JSON-DAG:             "%27": 363779
-# CHECK-GX-JSON-DAG:             "%29": 46564740
-# CHECK-GX-JSON-DAG:             "%32": 2
-# CHECK-GX-JSON-DAG:             "%34": 0
-# CHECK-GX-JSON-DAG:             "%36": 46564740
-# CHECK-GX-JSON-DAG:             "%37": 46564741
-# CHECK-GX-JSON-DAG:             "%44": 363778
-# CHECK-GX-JSON-DAG:             "%64": 363778
-# CHECK-GX-JSON-DAG:             "%65": 46564740
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest": {
-# CHECK-GX-JSON-DAG:             "register": "%37",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 46564741
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest-subreg": {
-# CHECK-GX-JSON-DAG:             "register": "%37",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 46564741
-# CHECK-GX-JSON:               }
-# CHECK-GX-JSON-NEXT:        },
-# CHECK-GX-JSON-NEXT:        {
-# CHECK-GX-JSON-NEXT:          "instr": "%66:sreg_32 = V_CMP_GE_U32_e64 %35, %0, implicit $exec",
-# CHECK-GX-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "distances": {
-# CHECK-GX-JSON-DAG:             "%0": 0
-# CHECK-GX-JSON-DAG:             "%1": 363780
-# CHECK-GX-JSON-DAG:             "%23": 46564739
-# CHECK-GX-JSON-DAG:             "%25": 363781
-# CHECK-GX-JSON-DAG:             "%27": 363779
-# CHECK-GX-JSON-DAG:             "%29": 46564740
-# CHECK-GX-JSON-DAG:             "%32": 1
-# CHECK-GX-JSON-DAG:             "%35": 0
-# CHECK-GX-JSON-DAG:             "%36": 46564740
-# CHECK-GX-JSON-DAG:             "%37": 46564741
-# CHECK-GX-JSON-DAG:             "%44": 363778
-# CHECK-GX-JSON-DAG:             "%64": 363778
-# CHECK-GX-JSON-DAG:             "%65": 46564740
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest": {
-# CHECK-GX-JSON-DAG:             "register": "%37",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 46564741
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest-subreg": {
-# CHECK-GX-JSON-DAG:             "register": "%37",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 46564741
-# CHECK-GX-JSON:               }
-# CHECK-GX-JSON-NEXT:        },
-# CHECK-GX-JSON-NEXT:        {
-# CHECK-GX-JSON-NEXT:          "instr": "%33:sreg_32 = SI_IF_BREAK %66, %32, implicit-def dead $scc",
-# CHECK-GX-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "distances": {
-# CHECK-GX-JSON-DAG:             "%1": 363780
-# CHECK-GX-JSON-DAG:             "%23": 46564739
-# CHECK-GX-JSON-DAG:             "%25": 363781
-# CHECK-GX-JSON-DAG:             "%27": 363779
-# CHECK-GX-JSON-DAG:             "%29": 46564740
-# CHECK-GX-JSON-DAG:             "%32": 0
-# CHECK-GX-JSON-DAG:             "%36": 46564740
-# CHECK-GX-JSON-DAG:             "%37": 46564741
-# CHECK-GX-JSON-DAG:             "%44": 363778
-# CHECK-GX-JSON-DAG:             "%64": 363778
-# CHECK-GX-JSON-DAG:             "%65": 46564740
-# CHECK-GX-JSON-DAG:             "%66": 0
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest": {
-# CHECK-GX-JSON-DAG:             "register": "%37",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 46564741
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest-subreg": {
-# CHECK-GX-JSON-DAG:             "register": "%37",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 46564741
-# CHECK-GX-JSON:               }
-# CHECK-GX-JSON-NEXT:        },
-# CHECK-GX-JSON-NEXT:        {
-# CHECK-GX-JSON-NEXT:          "instr": "SI_LOOP %33, %bb.2, implicit-def dead $exec, implicit-def dead $scc, implicit $exec",
-# CHECK-GX-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "distances": {
-# CHECK-GX-JSON-DAG:             "%1": 363780
-# CHECK-GX-JSON-DAG:             "%23": 46564739
-# CHECK-GX-JSON-DAG:             "%25": 363781
-# CHECK-GX-JSON-DAG:             "%27": 363779
-# CHECK-GX-JSON-DAG:             "%29": 46564740
-# CHECK-GX-JSON-DAG:             "%33": 0
-# CHECK-GX-JSON-DAG:             "%36": 46564740
-# CHECK-GX-JSON-DAG:             "%37": 46564741
-# CHECK-GX-JSON-DAG:             "%44": 363778
-# CHECK-GX-JSON-DAG:             "%64": 363778
-# CHECK-GX-JSON-DAG:             "%65": 46564740
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest": {
-# CHECK-GX-JSON-DAG:             "register": "%37",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 46564741
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest-subreg": {
-# CHECK-GX-JSON-DAG:             "register": "%37",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 46564741
-# CHECK-GX-JSON:               }
-# CHECK-GX-JSON-NEXT:        },
-# CHECK-GX-JSON-NEXT:        {
-# CHECK-GX-JSON-NEXT:          "instr": "S_BRANCH %bb.5",
-# CHECK-GX-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "distances": {
-# CHECK-GX-JSON-DAG:             "%1": 363780
-# CHECK-GX-JSON-DAG:             "%23": 46564739
-# CHECK-GX-JSON-DAG:             "%25": 363781
-# CHECK-GX-JSON-DAG:             "%27": 363779
-# CHECK-GX-JSON-DAG:             "%29": 46564740
-# CHECK-GX-JSON-DAG:             "%33": 363777
-# CHECK-GX-JSON-DAG:             "%36": 46564740
-# CHECK-GX-JSON-DAG:             "%37": 46564741
-# CHECK-GX-JSON-DAG:             "%44": 363778
-# CHECK-GX-JSON-DAG:             "%64": 363778
-# CHECK-GX-JSON-DAG:             "%65": 46564740
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest": {
-# CHECK-GX-JSON-DAG:             "register": "%37",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 46564741
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest-subreg": {
-# CHECK-GX-JSON-DAG:             "register": "%37",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 46564741
-# CHECK-GX-JSON:               }
-# CHECK-GX-JSON-NEXT:        }
-# CHECK-GX-JSON-NEXT:      ],
-# CHECK-GX-JSON-NEXT:      "bb.5": [
-# CHECK-GX-JSON-NEXT:        {
-# CHECK-GX-JSON-NEXT:          "instr": "SI_END_CF %33, implicit-def dead $exec, implicit-def dead $scc, implicit $exec",
-# CHECK-GX-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "distances": {
-# CHECK-GX-JSON-DAG:             "%1": 3
-# CHECK-GX-JSON-DAG:             "%23": 46564739
-# CHECK-GX-JSON-DAG:             "%25": 4
-# CHECK-GX-JSON-DAG:             "%27": 2
-# CHECK-GX-JSON-DAG:             "%29": 46564740
-# CHECK-GX-JSON-DAG:             "%33": 0
-# CHECK-GX-JSON-DAG:             "%36": 46564740
-# CHECK-GX-JSON-DAG:             "%37": 46564741
-# CHECK-GX-JSON-DAG:             "%44": 1
-# CHECK-GX-JSON-DAG:             "%64": 1
-# CHECK-GX-JSON-DAG:             "%65": 46564740
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest": {
-# CHECK-GX-JSON-DAG:             "register": "%37",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 46564741
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest-subreg": {
-# CHECK-GX-JSON-DAG:             "register": "%37",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 46564741
-# CHECK-GX-JSON:               }
-# CHECK-GX-JSON-NEXT:        },
-# CHECK-GX-JSON-NEXT:        {
-# CHECK-GX-JSON-NEXT:          "instr": "%30:vgpr_32 = V_SUB_U32_e64 %44, %64, 0, implicit $exec",
-# CHECK-GX-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "distances": {
-# CHECK-GX-JSON-DAG:             "%1": 2
-# CHECK-GX-JSON-DAG:             "%23": 46564739
-# CHECK-GX-JSON-DAG:             "%25": 3
-# CHECK-GX-JSON-DAG:             "%27": 1
-# CHECK-GX-JSON-DAG:             "%29": 46564740
-# CHECK-GX-JSON-DAG:             "%36": 46564740
-# CHECK-GX-JSON-DAG:             "%37": 46564741
-# CHECK-GX-JSON-DAG:             "%44": 0
-# CHECK-GX-JSON-DAG:             "%64": 0
-# CHECK-GX-JSON-DAG:             "%65": 46564740
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest": {
-# CHECK-GX-JSON-DAG:             "register": "%37",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 46564741
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest-subreg": {
-# CHECK-GX-JSON-DAG:             "register": "%37",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 46564741
-# CHECK-GX-JSON:               }
-# CHECK-GX-JSON-NEXT:        },
-# CHECK-GX-JSON-NEXT:        {
-# CHECK-GX-JSON-NEXT:          "instr": "%28:sreg_32 = S_ADD_I32 %27, 1, implicit-def dead $scc",
-# CHECK-GX-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "distances": {
-# CHECK-GX-JSON-DAG:             "%1": 1
-# CHECK-GX-JSON-DAG:             "%23": 46564739
-# CHECK-GX-JSON-DAG:             "%25": 2
-# CHECK-GX-JSON-DAG:             "%27": 0
-# CHECK-GX-JSON-DAG:             "%29": 46564740
-# CHECK-GX-JSON-DAG:             "%36": 46564740
-# CHECK-GX-JSON-DAG:             "%37": 46564741
-# CHECK-GX-JSON-DAG:             "%65": 46564740
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest": {
-# CHECK-GX-JSON-DAG:             "register": "%37",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 46564741
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest-subreg": {
-# CHECK-GX-JSON-DAG:             "register": "%37",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 46564741
-# CHECK-GX-JSON:               }
-# CHECK-GX-JSON-NEXT:        },
-# CHECK-GX-JSON-NEXT:        {
-# CHECK-GX-JSON-NEXT:          "instr": "%67:sreg_32 = V_CMP_GE_U32_e64 %28, %1, implicit $exec",
-# CHECK-GX-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "distances": {
-# CHECK-GX-JSON-DAG:             "%1": 0
-# CHECK-GX-JSON-DAG:             "%23": 46564739
-# CHECK-GX-JSON-DAG:             "%25": 1
-# CHECK-GX-JSON-DAG:             "%28": 0
-# CHECK-GX-JSON-DAG:             "%29": 46564740
-# CHECK-GX-JSON-DAG:             "%36": 46564740
-# CHECK-GX-JSON-DAG:             "%37": 46564741
-# CHECK-GX-JSON-DAG:             "%65": 46564740
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest": {
-# CHECK-GX-JSON-DAG:             "register": "%37",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 46564741
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest-subreg": {
-# CHECK-GX-JSON-DAG:             "register": "%37",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 46564741
-# CHECK-GX-JSON:               }
-# CHECK-GX-JSON-NEXT:        },
-# CHECK-GX-JSON-NEXT:        {
-# CHECK-GX-JSON-NEXT:          "instr": "%26:sreg_32 = SI_IF_BREAK %67, %25, implicit-def dead $scc",
-# CHECK-GX-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "distances": {
-# CHECK-GX-JSON-DAG:             "%1": 46564738
-# CHECK-GX-JSON-DAG:             "%23": 46564739
-# CHECK-GX-JSON-DAG:             "%25": 0
-# CHECK-GX-JSON-DAG:             "%29": 46564740
-# CHECK-GX-JSON-DAG:             "%36": 46564740
-# CHECK-GX-JSON-DAG:             "%37": 46564741
-# CHECK-GX-JSON-DAG:             "%65": 46564740
-# CHECK-GX-JSON-DAG:             "%67": 0
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest": {
-# CHECK-GX-JSON-DAG:             "register": "%37",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 46564741
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest-subreg": {
-# CHECK-GX-JSON-DAG:             "register": "%37",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 46564741
-# CHECK-GX-JSON:               }
-# CHECK-GX-JSON-NEXT:        },
-# CHECK-GX-JSON-NEXT:        {
-# CHECK-GX-JSON-NEXT:          "instr": "SI_LOOP %26, %bb.1, implicit-def dead $exec, implicit-def dead $scc, implicit $exec",
-# CHECK-GX-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "distances": {
-# CHECK-GX-JSON-DAG:             "%1": 46564738
-# CHECK-GX-JSON-DAG:             "%23": 46564739
-# CHECK-GX-JSON-DAG:             "%26": 0
-# CHECK-GX-JSON-DAG:             "%29": 46564740
-# CHECK-GX-JSON-DAG:             "%36": 46564740
-# CHECK-GX-JSON-DAG:             "%37": 46564741
-# CHECK-GX-JSON-DAG:             "%65": 46564740
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest": {
-# CHECK-GX-JSON-DAG:             "register": "%37",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 46564741
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest-subreg": {
-# CHECK-GX-JSON-DAG:             "register": "%37",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 46564741
-# CHECK-GX-JSON:               }
-# CHECK-GX-JSON-NEXT:        },
-# CHECK-GX-JSON-NEXT:        {
-# CHECK-GX-JSON-NEXT:          "instr": "S_BRANCH %bb.6",
-# CHECK-GX-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "distances": {
-# CHECK-GX-JSON-DAG:             "%1": 46564738
-# CHECK-GX-JSON-DAG:             "%23": 46564739
-# CHECK-GX-JSON-DAG:             "%26": 46564737
-# CHECK-GX-JSON-DAG:             "%29": 46564740
-# CHECK-GX-JSON-DAG:             "%36": 46564740
-# CHECK-GX-JSON-DAG:             "%37": 46564741
-# CHECK-GX-JSON-DAG:             "%65": 46564740
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest": {
-# CHECK-GX-JSON-DAG:             "register": "%37",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 46564741
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest-subreg": {
-# CHECK-GX-JSON-DAG:             "register": "%37",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 46564741
-# CHECK-GX-JSON:               }
-# CHECK-GX-JSON-NEXT:        }
-# CHECK-GX-JSON-NEXT:      ],
-# CHECK-GX-JSON-NEXT:      "bb.6": [
-# CHECK-GX-JSON-NEXT:        {
-# CHECK-GX-JSON-NEXT:          "instr": "SI_END_CF %26, implicit-def dead $exec, implicit-def dead $scc, implicit $exec",
-# CHECK-GX-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "distances": {
-# CHECK-GX-JSON-DAG:             "%1": 1
-# CHECK-GX-JSON-DAG:             "%23": 2
-# CHECK-GX-JSON-DAG:             "%26": 0
-# CHECK-GX-JSON-DAG:             "%29": 3
-# CHECK-GX-JSON-DAG:             "%36": 3
-# CHECK-GX-JSON-DAG:             "%37": 4
-# CHECK-GX-JSON-DAG:             "%65": 3
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest": {
-# CHECK-GX-JSON-DAG:             "register": "%37",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 4
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest-subreg": {
-# CHECK-GX-JSON-DAG:             "register": "%37",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 4
-# CHECK-GX-JSON:               }
-# CHECK-GX-JSON-NEXT:        },
-# CHECK-GX-JSON-NEXT:        {
-# CHECK-GX-JSON-NEXT:          "instr": "%68:vgpr_32 = V_MAX_U32_e64 1, %1, implicit $exec",
-# CHECK-GX-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "distances": {
-# CHECK-GX-JSON-DAG:             "%1": 0
-# CHECK-GX-JSON-DAG:             "%23": 1
-# CHECK-GX-JSON-DAG:             "%29": 2
-# CHECK-GX-JSON-DAG:             "%36": 2
-# CHECK-GX-JSON-DAG:             "%37": 3
-# CHECK-GX-JSON-DAG:             "%65": 2
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest": {
-# CHECK-GX-JSON-DAG:             "register": "%37",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 3
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest-subreg": {
-# CHECK-GX-JSON-DAG:             "register": "%37",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 3
-# CHECK-GX-JSON:               }
-# CHECK-GX-JSON-NEXT:        },
-# CHECK-GX-JSON-NEXT:        {
-# CHECK-GX-JSON-NEXT:          "instr": "%69:vgpr_32 = V_ADD_U32_e64 %68, %23, 0, implicit $exec",
-# CHECK-GX-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "distances": {
-# CHECK-GX-JSON-DAG:             "%23": 0
-# CHECK-GX-JSON-DAG:             "%29": 1
-# CHECK-GX-JSON-DAG:             "%36": 1
-# CHECK-GX-JSON-DAG:             "%37": 2
-# CHECK-GX-JSON-DAG:             "%65": 1
-# CHECK-GX-JSON-DAG:             "%68": 0
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest": {
-# CHECK-GX-JSON-DAG:             "register": "%37",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 2
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest-subreg": {
-# CHECK-GX-JSON-DAG:             "register": "%37",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 2
-# CHECK-GX-JSON:               }
-# CHECK-GX-JSON-NEXT:        },
-# CHECK-GX-JSON-NEXT:        {
-# CHECK-GX-JSON-NEXT:          "instr": "%70:vgpr_32 = V_ADD3_U32_e64 %36, %29, %65, implicit $exec",
-# CHECK-GX-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "distances": {
-# CHECK-GX-JSON-DAG:             "%29": 0
-# CHECK-GX-JSON-DAG:             "%36": 0
-# CHECK-GX-JSON-DAG:             "%37": 1
-# CHECK-GX-JSON-DAG:             "%65": 0
-# CHECK-GX-JSON-DAG:             "%69": 3
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest": {
-# CHECK-GX-JSON-DAG:             "register": "%69",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 3
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest-subreg": {
-# CHECK-GX-JSON-DAG:             "register": "%69",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 3
-# CHECK-GX-JSON:               }
-# CHECK-GX-JSON-NEXT:        },
-# CHECK-GX-JSON-NEXT:        {
-# CHECK-GX-JSON-NEXT:          "instr": "%71:vgpr_32 = V_ADD_U32_e64 %65, %37, 0, implicit $exec",
-# CHECK-GX-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "distances": {
-# CHECK-GX-JSON-DAG:             "%36": 1
-# CHECK-GX-JSON-DAG:             "%37": 0
-# CHECK-GX-JSON-DAG:             "%65": 0
-# CHECK-GX-JSON-DAG:             "%69": 2
-# CHECK-GX-JSON-DAG:             "%70": 1
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest": {
-# CHECK-GX-JSON-DAG:             "register": "%69",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 2
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest-subreg": {
-# CHECK-GX-JSON-DAG:             "register": "%69",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 2
-# CHECK-GX-JSON:               }
-# CHECK-GX-JSON-NEXT:        },
-# CHECK-GX-JSON-NEXT:        {
-# CHECK-GX-JSON-NEXT:          "instr": "%72:vgpr_32 = V_ADD3_U32_e64 %71, %70, %36, implicit $exec",
-# CHECK-GX-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "distances": {
-# CHECK-GX-JSON-DAG:             "%36": 0
-# CHECK-GX-JSON-DAG:             "%69": 1
-# CHECK-GX-JSON-DAG:             "%70": 0
-# CHECK-GX-JSON-DAG:             "%71": 0
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest": {
-# CHECK-GX-JSON-DAG:             "register": "%69",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 1
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest-subreg": {
-# CHECK-GX-JSON-DAG:             "register": "%69",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 1
-# CHECK-GX-JSON:               }
-# CHECK-GX-JSON-NEXT:        },
-# CHECK-GX-JSON-NEXT:        {
-# CHECK-GX-JSON-NEXT:          "instr": "%73:vgpr_32 = V_ADD3_U32_e64 %69, %72, -1, implicit $exec",
-# CHECK-GX-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "distances": {
-# CHECK-GX-JSON-DAG:             "%69": 0
-# CHECK-GX-JSON-DAG:             "%72": 0
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest": {
-# CHECK-GX-JSON-DAG:             "register": "%69",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 0
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest-subreg": {
-# CHECK-GX-JSON-DAG:             "register": "%69",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 0
-# CHECK-GX-JSON:               }
-# CHECK-GX-JSON-NEXT:        },
-# CHECK-GX-JSON-NEXT:        {
-# CHECK-GX-JSON-NEXT:          "instr": "%74:sreg_32_xm0 = V_READFIRSTLANE_B32 %73, implicit $exec",
-# CHECK-GX-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "distances": {
-# CHECK-GX-JSON-DAG:             "%73": 0
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest": {
-# CHECK-GX-JSON-DAG:             "register": "%73",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 0
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest-subreg": {
-# CHECK-GX-JSON-DAG:             "register": "%73",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 0
-# CHECK-GX-JSON:               }
-# CHECK-GX-JSON-NEXT:        },
-# CHECK-GX-JSON-NEXT:        {
-# CHECK-GX-JSON-NEXT:          "instr": "$sgpr0 = COPY %74",
-# CHECK-GX-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "distances": {
-# CHECK-GX-JSON-DAG:             "%74": 0
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest": {
-# CHECK-GX-JSON-DAG:             "register": "%74",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 0
-# CHECK-GX-JSON:               },
-# CHECK-GX-JSON-NEXT:          "furthest-subreg": {
-# CHECK-GX-JSON-DAG:             "register": "%74",
-# CHECK-GX-JSON-DAG:             "use": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "use-mi": "{{[^"]+}}",
-# CHECK-GX-JSON-DAG:             "distance": 0
-# CHECK-GX-JSON:               }
-# CHECK-GX-JSON-NEXT:        },
-# CHECK-GX-JSON-NEXT:        {
-# CHECK-GX-JSON-NEXT:          "instr": "SI_RETURN_TO_EPILOG killed $sgpr0",
-# CHECK-GX-JSON-NEXT:          "id": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "head-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "tail-len": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:          "distances": {},
-# CHECK-GX-JSON-NEXT:          "furthest": {},
-# CHECK-GX-JSON-NEXT:          "furthest-subreg": {}
-# CHECK-GX-JSON-NEXT:        }
-# CHECK-GX-JSON-NEXT:      ]
-# CHECK-GX-JSON-NEXT:    },
-# CHECK-GX-JSON-NEXT:    "distance-from-def-to-closest-use": {
-# CHECK-GX-JSON-DAG:       "%0": 2867,
-# CHECK-GX-JSON-DAG:       "%1": 63,
-# CHECK-GX-JSON-DAG:       "%2": 10,
-# CHECK-GX-JSON-DAG:       "%3": 9,
-# CHECK-GX-JSON-DAG:       "%4": 9,
-# CHECK-GX-JSON-DAG:       "%5": 8,
-# CHECK-GX-JSON-DAG:       "%6": 8,
-# CHECK-GX-JSON-DAG:       "%7": 7,
-# CHECK-GX-JSON-DAG:       "%8": 7,
-# CHECK-GX-JSON-DAG:       "%9": 6,
-# CHECK-GX-JSON-DAG:       "%10": 6,
-# CHECK-GX-JSON-DAG:       "%11": 5,
-# CHECK-GX-JSON-DAG:       "%12": 46,
-# CHECK-GX-JSON-DAG:       "%13": 27,
-# CHECK-GX-JSON-DAG:       "%14": 36,
-# CHECK-GX-JSON-DAG:       "%15": 17,
-# CHECK-GX-JSON-DAG:       "%16": 1,
-# CHECK-GX-JSON-DAG:       "%17": 2,
-# CHECK-GX-JSON-DAG:       "%18": 1,
-# CHECK-GX-JSON-DAG:       "%19": 4,
-# CHECK-GX-JSON-DAG:       "%20": 2,
-# CHECK-GX-JSON-DAG:       "%21": 1,
-# CHECK-GX-JSON-DAG:       "%22": 1,
-# CHECK-GX-JSON-DAG:       "%23": 4,
-# CHECK-GX-JSON-DAG:       "%24": 1,
-# CHECK-GX-JSON-DAG:       "%25": 363784,
-# CHECK-GX-JSON-DAG:       "%27": 363781,
-# CHECK-GX-JSON-DAG:       "%29": 2838,
-# CHECK-GX-JSON-DAG:       "%31": 3,
-# CHECK-GX-JSON-DAG:       "%32": 2839,
-# CHECK-GX-JSON-DAG:       "%34": 9,
-# CHECK-GX-JSON-DAG:       "%36": 46564740,
-# CHECK-GX-JSON-DAG:       "%38": 2,
-# CHECK-GX-JSON-DAG:       "%39": 1,
-# CHECK-GX-JSON-DAG:       "%40": 4,
-# CHECK-GX-JSON-DAG:       "%41": 2,
-# CHECK-GX-JSON-DAG:       "%42": 1,
-# CHECK-GX-JSON-DAG:       "%43": 1,
-# CHECK-GX-JSON-DAG:       "%44": 1,
-# CHECK-GX-JSON-DAG:       "%45": 1,
-# CHECK-GX-JSON-DAG:       "%46": 1,
-# CHECK-GX-JSON-DAG:       "%47": 1,
-# CHECK-GX-JSON-DAG:       "%48": 1,
-# CHECK-GX-JSON-DAG:       "%49": 18,
-# CHECK-GX-JSON-DAG:       "%51": 1,
-# CHECK-GX-JSON-DAG:       "%52": 8,
-# CHECK-GX-JSON-DAG:       "%53": 2,
-# CHECK-GX-JSON-DAG:       "%54": 1,
-# CHECK-GX-JSON-DAG:       "%55": 4,
-# CHECK-GX-JSON-DAG:       "%56": 2,
-# CHECK-GX-JSON-DAG:       "%57": 1,
-# CHECK-GX-JSON-DAG:       "%58": 1,
-# CHECK-GX-JSON-DAG:       "%59": 1,
-# CHECK-GX-JSON-DAG:       "%60": 1,
-# CHECK-GX-JSON-DAG:       "%61": 1,
-# CHECK-GX-JSON-DAG:       "%62": 1,
-# CHECK-GX-JSON-DAG:       "%63": 1,
-# CHECK-GX-JSON-DAG:       "%50": 2,
-# CHECK-GX-JSON-DAG:       "%64": 2818,
-# CHECK-GX-JSON-DAG:       "%65": 1,
-# CHECK-GX-JSON-DAG:       "%37": 46564741,
-# CHECK-GX-JSON-DAG:       "%35": 1,
-# CHECK-GX-JSON-DAG:       "%66": 1,
-# CHECK-GX-JSON-DAG:       "%33": 1,
-# CHECK-GX-JSON-DAG:       "%30": "<unreachable>",
-# CHECK-GX-JSON-DAG:       "%28": 1,
-# CHECK-GX-JSON-DAG:       "%67": 1,
-# CHECK-GX-JSON-DAG:       "%26": 1,
-# CHECK-GX-JSON-DAG:       "%68": 1,
-# CHECK-GX-JSON-DAG:       "%69": 4,
-# CHECK-GX-JSON-DAG:       "%70": 2,
-# CHECK-GX-JSON-DAG:       "%71": 1,
-# CHECK-GX-JSON-DAG:       "%72": 1,
-# CHECK-GX-JSON-DAG:       "%73": 1,
-# CHECK-GX-JSON-DAG:       "%74": 1
-# CHECK-GX-JSON:         },
-# CHECK-GX-JSON-NEXT:    "paths": [
-# CHECK-GX-JSON:         ],
-# CHECK-GX-JSON-NEXT:    "metrics": {
-# CHECK-GX-JSON-NEXT:        "distance-cache": {
-# CHECK-GX-JSON-NEXT:            "hits": {{[0-9]+}},
-# CHECK-GX-JSON-NEXT:            "misses": {{[0-9]+}}
-# CHECK-GX-JSON-NEXT:        }
-# CHECK-GX-JSON-NEXT:    }
-# CHECK-GX-JSON-NEXT:  },
-# CHECK-GX-JSON-DAG:   "time.amdgpu-next-use-analysis-json.json.wall": {{[0-9.e+-]+}},
-# CHECK-GX-JSON-DAG:   "time.amdgpu-next-use-analysis-json.json.user": {{[0-9.e+-]+}},
-# CHECK-GX-JSON-DAG:   "time.amdgpu-next-use-analysis-json.json.sys": {{[0-9.e+-]+}}
-# CHECK-GX-JSON:      }
diff --git a/llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-dynamic-indirect-access-asan.ll b/llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-dynamic-indirect-access-asan.ll
deleted file mode 100644
index 862c493c038ac..0000000000000
--- a/llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-dynamic-indirect-access-asan.ll
+++ /dev/null
@@ -1,262 +0,0 @@
-; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --check-globals all --version 4
-; RUN: opt < %s -passes=amdgpu-sw-lower-lds -S -mtriple=amdgpu-amd-amdhsa | FileCheck %s
-
-; Test to check indirect dynamic LDS access through a non-kernel from kernel is lowered correctly.
- at lds_1 = internal addrspace(3) global [1 x i8] poison, align 1
- at lds_2 = internal addrspace(3) global [1 x i32] poison, align 2
- at lds_3 = external addrspace(3) global [0 x i8], align 4
- at lds_4 = external addrspace(3) global [0 x i8], align 8
-
-; @llvm.amdgcn.sw.lds.base.table = internal addrspace(1) constant [1 x ptr addrspace(3)] [ptr addrspace(3) @llvm.amdgcn.sw.lds.k0], no_sanitize_address
-; @llvm.amdgcn.sw.lds.offset.table = internal addrspace(1) constant [1 x [2 x ptr addrspace(1)]] {{\[}}[2 x ptr addrspace(1)] [ptr addrspace(1) getelementptr inbounds (%llvm.amdgcn.sw.lds.k0.md.type, ptr addrspace(1) @llvm.amdgcn.sw.lds.k0.md, i32 0, i32 3, i32 0), ptr addrspace(1) getelementptr inbounds (%llvm.amdgcn.sw.lds.k0.md.type, ptr addrspace(1) @llvm.amdgcn.sw.lds.k0.md, i32 0, i32 4, i32 0)]], no_sanitize_address
-;.
-; CHECK: @llvm.amdgcn.sw.lds.k0 = internal addrspace(3) global ptr poison, no_sanitize_address, align 8, !absolute_symbol [[META0:![0-9]+]]
-; CHECK: @llvm.amdgcn.k0.dynlds = external addrspace(3) global [0 x i8], no_sanitize_address, align 8, !absolute_symbol [[META1:![0-9]+]]
-; CHECK: @llvm.amdgcn.sw.lds.k0.md = internal addrspace(1) global %llvm.amdgcn.sw.lds.k0.md.type { %llvm.amdgcn.sw.lds.k0.md.item { i32 0, i32 8, i32 32 }, %llvm.amdgcn.sw.lds.k0.md.item { i32 32, i32 1, i32 32 }, %llvm.amdgcn.sw.lds.k0.md.item { i32 64, i32 4, i32 32 }, %llvm.amdgcn.sw.lds.k0.md.item { i32 96, i32 0, i32 32 }, %llvm.amdgcn.sw.lds.k0.md.item { i32 128, i32 0, i32 32 } }, no_sanitize_address
-; CHECK: @llvm.amdgcn.sw.lds.base.table = internal addrspace(1) constant [1 x ptr addrspace(3)] [ptr addrspace(3) @llvm.amdgcn.sw.lds.k0], no_sanitize_address
-; CHECK: @llvm.amdgcn.sw.lds.offset.table = internal addrspace(1) constant [1 x [2 x ptr addrspace(1)]] {{\[}}[2 x ptr addrspace(1)] [ptr addrspace(1) getelementptr inbounds (%llvm.amdgcn.sw.lds.k0.md.type, ptr addrspace(1) @llvm.amdgcn.sw.lds.k0.md, i32 0, i32 3, i32 0), ptr addrspace(1) getelementptr inbounds (%llvm.amdgcn.sw.lds.k0.md.type, ptr addrspace(1) @llvm.amdgcn.sw.lds.k0.md, i32 0, i32 4, i32 0)]], no_sanitize_address
-;.
-define void @use_variables() sanitize_address {
-; CHECK-LABEL: define void @use_variables(
-; CHECK-SAME: ) #[[ATTR0:[0-9]+]] {
-; CHECK-NEXT:    [[TMP1:%.*]] = call i32 @llvm.amdgcn.lds.kernel.id()
-; CHECK-NEXT:    [[TMP2:%.*]] = getelementptr inbounds [1 x ptr addrspace(3)], ptr addrspace(1) @llvm.amdgcn.sw.lds.base.table, i32 0, i32 [[TMP1]]
-; CHECK-NEXT:    [[TMP4:%.*]] = load ptr addrspace(3), ptr addrspace(1) [[TMP2]], align 4
-; CHECK-NEXT:    [[TMP7:%.*]] = load ptr addrspace(1), ptr addrspace(3) [[TMP4]], align 8
-; CHECK-NEXT:    [[TMP6:%.*]] = getelementptr inbounds [1 x [2 x ptr addrspace(1)]], ptr addrspace(1) @llvm.amdgcn.sw.lds.offset.table, i32 0, i32 [[TMP1]], i32 0
-; CHECK-NEXT:    [[TMP5:%.*]] = load ptr addrspace(1), ptr addrspace(1) [[TMP6]], align 8
-; CHECK-NEXT:    [[TMP8:%.*]] = load i32, ptr addrspace(1) [[TMP5]], align 4
-; CHECK-NEXT:    [[TMP9:%.*]] = getelementptr inbounds i8, ptr addrspace(3) [[TMP4]], i32 [[TMP8]]
-; CHECK-NEXT:    [[TMP11:%.*]] = getelementptr inbounds [1 x [2 x ptr addrspace(1)]], ptr addrspace(1) @llvm.amdgcn.sw.lds.offset.table, i32 0, i32 [[TMP1]], i32 1
-; CHECK-NEXT:    [[TMP12:%.*]] = load ptr addrspace(1), ptr addrspace(1) [[TMP11]], align 8
-; CHECK-NEXT:    [[TMP10:%.*]] = load i32, ptr addrspace(1) [[TMP12]], align 4
-; CHECK-NEXT:    [[TMP15:%.*]] = getelementptr inbounds i8, ptr addrspace(3) [[TMP4]], i32 [[TMP10]]
-; CHECK-NEXT:    [[TMP13:%.*]] = ptrtoint ptr addrspace(3) [[TMP9]] to i32
-; CHECK-NEXT:    [[TMP14:%.*]] = getelementptr inbounds i8, ptr addrspace(1) [[TMP7]], i32 [[TMP13]]
-; CHECK-NEXT:    [[TMP47:%.*]] = ptrtoint ptr addrspace(1) [[TMP14]] to i64
-; CHECK-NEXT:    [[TMP16:%.*]] = lshr i64 [[TMP47]], 3
-; CHECK-NEXT:    [[TMP17:%.*]] = add i64 [[TMP16]], 2147450880
-; CHECK-NEXT:    [[TMP18:%.*]] = inttoptr i64 [[TMP17]] to ptr
-; CHECK-NEXT:    [[TMP19:%.*]] = load i8, ptr [[TMP18]], align 1
-; CHECK-NEXT:    [[TMP20:%.*]] = icmp ne i8 [[TMP19]], 0
-; CHECK-NEXT:    [[TMP21:%.*]] = and i64 [[TMP47]], 7
-; CHECK-NEXT:    [[TMP22:%.*]] = trunc i64 [[TMP21]] to i8
-; CHECK-NEXT:    [[TMP23:%.*]] = icmp sge i8 [[TMP22]], [[TMP19]]
-; CHECK-NEXT:    [[TMP24:%.*]] = and i1 [[TMP20]], [[TMP23]]
-; CHECK-NEXT:    [[TMP25:%.*]] = call i64 @llvm.amdgcn.ballot.i64(i1 [[TMP24]])
-; CHECK-NEXT:    [[TMP26:%.*]] = icmp ne i64 [[TMP25]], 0
-; CHECK-NEXT:    br i1 [[TMP26]], label [[ASAN_REPORT:%.*]], label [[TMP29:%.*]], !prof [[PROF3:![0-9]+]]
-; CHECK:       asan.report:
-; CHECK-NEXT:    br i1 [[TMP24]], label [[TMP27:%.*]], label [[TMP28:%.*]]
-; CHECK:       27:
-; CHECK-NEXT:    call void @__asan_report_store1(i64 [[TMP47]]) #[[ATTR7:[0-9]+]]
-; CHECK-NEXT:    call void @llvm.amdgcn.unreachable()
-; CHECK-NEXT:    br label [[TMP28]]
-; CHECK:       28:
-; CHECK-NEXT:    br label [[TMP29]]
-; CHECK:       29:
-; CHECK-NEXT:    store i8 3, ptr addrspace(1) [[TMP14]], align 4
-; CHECK-NEXT:    [[TMP30:%.*]] = ptrtoint ptr addrspace(3) [[TMP15]] to i32
-; CHECK-NEXT:    [[TMP31:%.*]] = getelementptr inbounds i8, ptr addrspace(1) [[TMP7]], i32 [[TMP30]]
-; CHECK-NEXT:    [[TMP32:%.*]] = ptrtoint ptr addrspace(1) [[TMP31]] to i64
-; CHECK-NEXT:    [[TMP33:%.*]] = lshr i64 [[TMP32]], 3
-; CHECK-NEXT:    [[TMP34:%.*]] = add i64 [[TMP33]], 2147450880
-; CHECK-NEXT:    [[TMP35:%.*]] = inttoptr i64 [[TMP34]] to ptr
-; CHECK-NEXT:    [[TMP36:%.*]] = load i8, ptr [[TMP35]], align 1
-; CHECK-NEXT:    [[TMP37:%.*]] = icmp ne i8 [[TMP36]], 0
-; CHECK-NEXT:    [[TMP38:%.*]] = and i64 [[TMP32]], 7
-; CHECK-NEXT:    [[TMP39:%.*]] = trunc i64 [[TMP38]] to i8
-; CHECK-NEXT:    [[TMP40:%.*]] = icmp sge i8 [[TMP39]], [[TMP36]]
-; CHECK-NEXT:    [[TMP41:%.*]] = and i1 [[TMP37]], [[TMP40]]
-; CHECK-NEXT:    [[TMP42:%.*]] = call i64 @llvm.amdgcn.ballot.i64(i1 [[TMP41]])
-; CHECK-NEXT:    [[TMP43:%.*]] = icmp ne i64 [[TMP42]], 0
-; CHECK-NEXT:    br i1 [[TMP43]], label [[ASAN_REPORT1:%.*]], label [[TMP46:%.*]], !prof [[PROF3]]
-; CHECK:       asan.report1:
-; CHECK-NEXT:    br i1 [[TMP41]], label [[TMP44:%.*]], label [[TMP45:%.*]]
-; CHECK:       44:
-; CHECK-NEXT:    call void @__asan_report_store1(i64 [[TMP32]]) #[[ATTR7]]
-; CHECK-NEXT:    call void @llvm.amdgcn.unreachable()
-; CHECK-NEXT:    br label [[TMP45]]
-; CHECK:       45:
-; CHECK-NEXT:    br label [[TMP46]]
-; CHECK:       46:
-; CHECK-NEXT:    store i8 3, ptr addrspace(1) [[TMP31]], align 8
-; CHECK-NEXT:    ret void
-;
-  store i8 3, ptr addrspace(3) @lds_3, align 4
-  store i8 3, ptr addrspace(3) @lds_4, align 8
-  ret void
-}
-
-define amdgpu_kernel void @k0() sanitize_address {
-; CHECK-LABEL: define amdgpu_kernel void @k0(
-; CHECK-SAME: ) #[[ATTR1:[0-9]+]] !llvm.amdgcn.lds.kernel.id [[META4:![0-9]+]] {
-; CHECK-NEXT:  WId:
-; CHECK-NEXT:    [[TMP0:%.*]] = call i32 @llvm.amdgcn.workitem.id.x()
-; CHECK-NEXT:    [[TMP1:%.*]] = call i32 @llvm.amdgcn.workitem.id.y()
-; CHECK-NEXT:    [[TMP2:%.*]] = call i32 @llvm.amdgcn.workitem.id.z()
-; CHECK-NEXT:    [[TMP3:%.*]] = or i32 [[TMP0]], [[TMP1]]
-; CHECK-NEXT:    [[TMP4:%.*]] = or i32 [[TMP3]], [[TMP2]]
-; CHECK-NEXT:    [[TMP5:%.*]] = icmp eq i32 [[TMP4]], 0
-; CHECK-NEXT:    br i1 [[TMP5]], label [[MALLOC:%.*]], label [[TMP21:%.*]]
-; CHECK:       Malloc:
-; CHECK-NEXT:    [[TMP9:%.*]] = load i32, ptr addrspace(1) getelementptr inbounds ([[LLVM_AMDGCN_SW_LDS_K0_MD_TYPE:%.*]], ptr addrspace(1) @llvm.amdgcn.sw.lds.k0.md, i32 0, i32 2, i32 0), align 4
-; CHECK-NEXT:    [[TMP7:%.*]] = load i32, ptr addrspace(1) getelementptr inbounds ([[LLVM_AMDGCN_SW_LDS_K0_MD_TYPE]], ptr addrspace(1) @llvm.amdgcn.sw.lds.k0.md, i32 0, i32 2, i32 2), align 4
-; CHECK-NEXT:    [[TMP8:%.*]] = add i32 [[TMP9]], [[TMP7]]
-; CHECK-NEXT:    [[TMP6:%.*]] = call ptr addrspace(4) @llvm.amdgcn.implicitarg.ptr()
-; CHECK-NEXT:    [[TMP10:%.*]] = getelementptr inbounds ptr addrspace(4), ptr addrspace(4) [[TMP6]], i64 15
-; CHECK-NEXT:    store i32 [[TMP8]], ptr addrspace(1) getelementptr inbounds ([[LLVM_AMDGCN_SW_LDS_K0_MD_TYPE]], ptr addrspace(1) @llvm.amdgcn.sw.lds.k0.md, i32 0, i32 3, i32 0), align 4
-; CHECK-NEXT:    [[TMP11:%.*]] = load i32, ptr addrspace(4) [[TMP10]], align 4
-; CHECK-NEXT:    store i32 [[TMP11]], ptr addrspace(1) getelementptr inbounds ([[LLVM_AMDGCN_SW_LDS_K0_MD_TYPE]], ptr addrspace(1) @llvm.amdgcn.sw.lds.k0.md, i32 0, i32 3, i32 1), align 4
-; CHECK-NEXT:    [[TMP12:%.*]] = add i32 [[TMP11]], 7
-; CHECK-NEXT:    [[TMP13:%.*]] = udiv i32 [[TMP12]], 8
-; CHECK-NEXT:    [[TMP14:%.*]] = mul i32 [[TMP13]], 8
-; CHECK-NEXT:    store i32 [[TMP14]], ptr addrspace(1) getelementptr inbounds ([[LLVM_AMDGCN_SW_LDS_K0_MD_TYPE]], ptr addrspace(1) @llvm.amdgcn.sw.lds.k0.md, i32 0, i32 3, i32 2), align 4
-; CHECK-NEXT:    [[TMP15:%.*]] = add i32 [[TMP8]], [[TMP14]]
-; CHECK-NEXT:    store i32 [[TMP15]], ptr addrspace(1) getelementptr inbounds ([[LLVM_AMDGCN_SW_LDS_K0_MD_TYPE]], ptr addrspace(1) @llvm.amdgcn.sw.lds.k0.md, i32 0, i32 4, i32 0), align 4
-; CHECK-NEXT:    [[TMP27:%.*]] = load i32, ptr addrspace(4) [[TMP10]], align 4
-; CHECK-NEXT:    store i32 [[TMP27]], ptr addrspace(1) getelementptr inbounds ([[LLVM_AMDGCN_SW_LDS_K0_MD_TYPE]], ptr addrspace(1) @llvm.amdgcn.sw.lds.k0.md, i32 0, i32 4, i32 1), align 4
-; CHECK-NEXT:    [[TMP17:%.*]] = add i32 [[TMP27]], 7
-; CHECK-NEXT:    [[TMP18:%.*]] = udiv i32 [[TMP17]], 8
-; CHECK-NEXT:    [[TMP19:%.*]] = mul i32 [[TMP18]], 8
-; CHECK-NEXT:    store i32 [[TMP19]], ptr addrspace(1) getelementptr inbounds ([[LLVM_AMDGCN_SW_LDS_K0_MD_TYPE]], ptr addrspace(1) @llvm.amdgcn.sw.lds.k0.md, i32 0, i32 4, i32 2), align 4
-; CHECK-NEXT:    [[TMP28:%.*]] = add i32 [[TMP15]], [[TMP19]]
-; CHECK-NEXT:    [[TMP26:%.*]] = zext i32 [[TMP28]] to i64
-; CHECK-NEXT:    [[TMP22:%.*]] = call ptr @llvm.returnaddress.p0(i32 0)
-; CHECK-NEXT:    [[TMP23:%.*]] = ptrtoint ptr [[TMP22]] to i64
-; CHECK-NEXT:    [[TMP35:%.*]] = call i64 @__asan_malloc_impl(i64 [[TMP26]], i64 [[TMP23]])
-; CHECK-NEXT:    [[TMP20:%.*]] = inttoptr i64 [[TMP35]] to ptr addrspace(1)
-; CHECK-NEXT:    store ptr addrspace(1) [[TMP20]], ptr addrspace(3) @llvm.amdgcn.sw.lds.k0, align 8
-; CHECK-NEXT:    [[TMP36:%.*]] = getelementptr inbounds i8, ptr addrspace(1) [[TMP20]], i64 8
-; CHECK-NEXT:    [[TMP37:%.*]] = ptrtoint ptr addrspace(1) [[TMP36]] to i64
-; CHECK-NEXT:    call void @__asan_poison_region(i64 [[TMP37]], i64 24)
-; CHECK-NEXT:    [[TMP53:%.*]] = getelementptr inbounds i8, ptr addrspace(1) [[TMP20]], i64 33
-; CHECK-NEXT:    [[TMP73:%.*]] = ptrtoint ptr addrspace(1) [[TMP53]] to i64
-; CHECK-NEXT:    call void @__asan_poison_region(i64 [[TMP73]], i64 31)
-; CHECK-NEXT:    [[TMP74:%.*]] = getelementptr inbounds i8, ptr addrspace(1) [[TMP20]], i64 68
-; CHECK-NEXT:    [[TMP75:%.*]] = ptrtoint ptr addrspace(1) [[TMP74]] to i64
-; CHECK-NEXT:    call void @__asan_poison_region(i64 [[TMP75]], i64 28)
-; CHECK-NEXT:    br label [[TMP21]]
-; CHECK:       32:
-; CHECK-NEXT:    [[XYZCOND:%.*]] = phi i1 [ false, [[WID:%.*]] ], [ true, [[MALLOC]] ]
-; CHECK-NEXT:    call void @llvm.amdgcn.s.barrier()
-; CHECK-NEXT:    [[TMP31:%.*]] = load ptr addrspace(1), ptr addrspace(3) @llvm.amdgcn.sw.lds.k0, align 8
-; CHECK-NEXT:    [[TMP24:%.*]] = load i32, ptr addrspace(1) getelementptr inbounds ([[LLVM_AMDGCN_SW_LDS_K0_MD_TYPE]], ptr addrspace(1) @llvm.amdgcn.sw.lds.k0.md, i32 0, i32 1, i32 0), align 4
-; CHECK-NEXT:    [[TMP25:%.*]] = getelementptr inbounds i8, ptr addrspace(3) @llvm.amdgcn.sw.lds.k0, i32 [[TMP24]]
-; CHECK-NEXT:    [[TMP29:%.*]] = load i32, ptr addrspace(1) getelementptr inbounds ([[LLVM_AMDGCN_SW_LDS_K0_MD_TYPE]], ptr addrspace(1) @llvm.amdgcn.sw.lds.k0.md, i32 0, i32 2, i32 0), align 4
-; CHECK-NEXT:    [[TMP30:%.*]] = getelementptr inbounds i8, ptr addrspace(3) @llvm.amdgcn.sw.lds.k0, i32 [[TMP29]]
-; CHECK-NEXT:    call void @llvm.donothing() [ "ExplicitUse"(ptr addrspace(3) @llvm.amdgcn.k0.dynlds) ]
-; CHECK-NEXT:    call void @use_variables()
-; CHECK-NEXT:    [[TMP38:%.*]] = ptrtoint ptr addrspace(3) [[TMP25]] to i32
-; CHECK-NEXT:    [[TMP39:%.*]] = getelementptr inbounds i8, ptr addrspace(1) [[TMP31]], i32 [[TMP38]]
-; CHECK-NEXT:    [[TMP40:%.*]] = ptrtoint ptr addrspace(1) [[TMP39]] to i64
-; CHECK-NEXT:    [[TMP41:%.*]] = lshr i64 [[TMP40]], 3
-; CHECK-NEXT:    [[TMP42:%.*]] = add i64 [[TMP41]], 2147450880
-; CHECK-NEXT:    [[TMP43:%.*]] = inttoptr i64 [[TMP42]] to ptr
-; CHECK-NEXT:    [[TMP44:%.*]] = load i8, ptr [[TMP43]], align 1
-; CHECK-NEXT:    [[TMP45:%.*]] = icmp ne i8 [[TMP44]], 0
-; CHECK-NEXT:    [[TMP46:%.*]] = and i64 [[TMP40]], 7
-; CHECK-NEXT:    [[TMP47:%.*]] = trunc i64 [[TMP46]] to i8
-; CHECK-NEXT:    [[TMP48:%.*]] = icmp sge i8 [[TMP47]], [[TMP44]]
-; CHECK-NEXT:    [[TMP49:%.*]] = and i1 [[TMP45]], [[TMP48]]
-; CHECK-NEXT:    [[TMP50:%.*]] = call i64 @llvm.amdgcn.ballot.i64(i1 [[TMP49]])
-; CHECK-NEXT:    [[TMP51:%.*]] = icmp ne i64 [[TMP50]], 0
-; CHECK-NEXT:    br i1 [[TMP51]], label [[ASAN_REPORT:%.*]], label [[TMP54:%.*]], !prof [[PROF3]]
-; CHECK:       asan.report:
-; CHECK-NEXT:    br i1 [[TMP49]], label [[TMP52:%.*]], label [[CONDFREE:%.*]]
-; CHECK:       52:
-; CHECK-NEXT:    call void @__asan_report_store1(i64 [[TMP40]]) #[[ATTR7]]
-; CHECK-NEXT:    call void @llvm.amdgcn.unreachable()
-; CHECK-NEXT:    br label [[CONDFREE]]
-; CHECK:       53:
-; CHECK-NEXT:    br label [[TMP54]]
-; CHECK:       54:
-; CHECK-NEXT:    store i8 7, ptr addrspace(1) [[TMP39]], align 1
-; CHECK-NEXT:    [[TMP55:%.*]] = ptrtoint ptr addrspace(3) [[TMP30]] to i32
-; CHECK-NEXT:    [[TMP56:%.*]] = getelementptr inbounds i8, ptr addrspace(1) [[TMP31]], i32 [[TMP55]]
-; CHECK-NEXT:    [[TMP57:%.*]] = ptrtoint ptr addrspace(1) [[TMP56]] to i64
-; CHECK-NEXT:    [[TMP63:%.*]] = add i64 [[TMP57]], 3
-; CHECK-NEXT:    [[TMP90:%.*]] = inttoptr i64 [[TMP63]] to ptr addrspace(1)
-; CHECK-NEXT:    [[TMP91:%.*]] = ptrtoint ptr addrspace(1) [[TMP56]] to i64
-; CHECK-NEXT:    [[TMP58:%.*]] = lshr i64 [[TMP91]], 3
-; CHECK-NEXT:    [[TMP59:%.*]] = add i64 [[TMP58]], 2147450880
-; CHECK-NEXT:    [[TMP60:%.*]] = inttoptr i64 [[TMP59]] to ptr
-; CHECK-NEXT:    [[TMP61:%.*]] = load i8, ptr [[TMP60]], align 1
-; CHECK-NEXT:    [[TMP62:%.*]] = icmp ne i8 [[TMP61]], 0
-; CHECK-NEXT:    [[TMP64:%.*]] = and i64 [[TMP91]], 7
-; CHECK-NEXT:    [[TMP65:%.*]] = trunc i64 [[TMP64]] to i8
-; CHECK-NEXT:    [[TMP66:%.*]] = icmp sge i8 [[TMP65]], [[TMP61]]
-; CHECK-NEXT:    [[TMP67:%.*]] = and i1 [[TMP62]], [[TMP66]]
-; CHECK-NEXT:    [[TMP68:%.*]] = call i64 @llvm.amdgcn.ballot.i64(i1 [[TMP67]])
-; CHECK-NEXT:    [[TMP69:%.*]] = icmp ne i64 [[TMP68]], 0
-; CHECK-NEXT:    br i1 [[TMP69]], label [[ASAN_REPORT1:%.*]], label [[TMP72:%.*]], !prof [[PROF3]]
-; CHECK:       asan.report1:
-; CHECK-NEXT:    br i1 [[TMP67]], label [[TMP70:%.*]], label [[TMP71:%.*]]
-; CHECK:       72:
-; CHECK-NEXT:    call void @__asan_report_store1(i64 [[TMP91]]) #[[ATTR7]]
-; CHECK-NEXT:    call void @llvm.amdgcn.unreachable()
-; CHECK-NEXT:    br label [[TMP71]]
-; CHECK:       73:
-; CHECK-NEXT:    br label [[TMP72]]
-; CHECK:       74:
-; CHECK-NEXT:    [[TMP92:%.*]] = ptrtoint ptr addrspace(1) [[TMP90]] to i64
-; CHECK-NEXT:    [[TMP76:%.*]] = lshr i64 [[TMP92]], 3
-; CHECK-NEXT:    [[TMP77:%.*]] = add i64 [[TMP76]], 2147450880
-; CHECK-NEXT:    [[TMP78:%.*]] = inttoptr i64 [[TMP77]] to ptr
-; CHECK-NEXT:    [[TMP79:%.*]] = load i8, ptr [[TMP78]], align 1
-; CHECK-NEXT:    [[TMP80:%.*]] = icmp ne i8 [[TMP79]], 0
-; CHECK-NEXT:    [[TMP81:%.*]] = and i64 [[TMP92]], 7
-; CHECK-NEXT:    [[TMP82:%.*]] = trunc i64 [[TMP81]] to i8
-; CHECK-NEXT:    [[TMP83:%.*]] = icmp sge i8 [[TMP82]], [[TMP79]]
-; CHECK-NEXT:    [[TMP84:%.*]] = and i1 [[TMP80]], [[TMP83]]
-; CHECK-NEXT:    [[TMP85:%.*]] = call i64 @llvm.amdgcn.ballot.i64(i1 [[TMP84]])
-; CHECK-NEXT:    [[TMP86:%.*]] = icmp ne i64 [[TMP85]], 0
-; CHECK-NEXT:    br i1 [[TMP86]], label [[ASAN_REPORT2:%.*]], label [[TMP89:%.*]], !prof [[PROF3]]
-; CHECK:       asan.report2:
-; CHECK-NEXT:    br i1 [[TMP84]], label [[TMP87:%.*]], label [[TMP88:%.*]]
-; CHECK:       87:
-; CHECK-NEXT:    call void @__asan_report_store1(i64 [[TMP92]]) #[[ATTR7]]
-; CHECK-NEXT:    call void @llvm.amdgcn.unreachable()
-; CHECK-NEXT:    br label [[TMP88]]
-; CHECK:       88:
-; CHECK-NEXT:    br label [[TMP89]]
-; CHECK:       89:
-; CHECK-NEXT:    store i32 8, ptr addrspace(1) [[TMP56]], align 2
-; CHECK-NEXT:    br label [[CONDFREE1:%.*]]
-; CHECK:       CondFree:
-; CHECK-NEXT:    call void @llvm.amdgcn.s.barrier()
-; CHECK-NEXT:    br i1 [[XYZCOND]], label [[FREE:%.*]], label [[END:%.*]]
-; CHECK:       Free:
-; CHECK-NEXT:    [[TMP32:%.*]] = call ptr @llvm.returnaddress.p0(i32 0)
-; CHECK-NEXT:    [[TMP33:%.*]] = ptrtoint ptr [[TMP32]] to i64
-; CHECK-NEXT:    [[TMP34:%.*]] = ptrtoint ptr addrspace(1) [[TMP31]] to i64
-; CHECK-NEXT:    call void @__asan_free_impl(i64 [[TMP34]], i64 [[TMP33]])
-; CHECK-NEXT:    br label [[END]]
-; CHECK:       End:
-; CHECK-NEXT:    ret void
-;
-  call void @use_variables()
-  store i8 7, ptr addrspace(3) @lds_1, align 1
-  store i32 8, ptr addrspace(3) @lds_2, align 2
-  ret void
-}
-
-!llvm.module.flags = !{!0}
-!0 = !{i32 4, !"nosanitize_address", i32 1}
-
-;.
-; CHECK: attributes #[[ATTR0]] = { sanitize_address }
-; CHECK: attributes #[[ATTR1]] = { sanitize_address "amdgpu-lds-size"="8,8" }
-; CHECK: attributes #[[ATTR2:[0-9]+]] = { nocallback nofree nosync nounwind willreturn memory(none) }
-; CHECK: attributes #[[ATTR3:[0-9]+]] = { nocallback nofree nosync nounwind speculatable willreturn memory(none) }
-; CHECK: attributes #[[ATTR4:[0-9]+]] = { convergent nocallback nofree nounwind willreturn }
-; CHECK: attributes #[[ATTR5:[0-9]+]] = { convergent nocallback nocreateundeforpoison nofree nounwind willreturn memory(none) }
-; CHECK: attributes #[[ATTR6:[0-9]+]] = { convergent nocallback nofree nounwind }
-; CHECK: attributes #[[ATTR7]] = { nomerge }
-;.
-; CHECK: [[META0]] = !{i32 0, i32 1}
-; CHECK: [[META1]] = !{i32 8, i32 9}
-; CHECK: [[META2:![0-9]+]] = !{i32 4, !"nosanitize_address", i32 1}
-; CHECK: [[PROF3]] = !{!"branch_weights", i32 1, i32 1048575}
-; CHECK: [[META4]] = !{i32 0}
-;.
diff --git a/llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-dynamic-indirect-access.ll b/llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-dynamic-indirect-access.ll
deleted file mode 100644
index b063ae7a10945..0000000000000
--- a/llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-dynamic-indirect-access.ll
+++ /dev/null
@@ -1,142 +0,0 @@
-; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --check-globals all --version 4
-; RUN: opt < %s -passes=amdgpu-sw-lower-lds -amdgpu-asan-instrument-lds=false -S -mtriple=amdgpu-amd-amdhsa | FileCheck %s
-
-; Test to check indirect dynamic LDS access through a non-kernel from kernel is lowered correctly.
- at lds_1 = internal addrspace(3) global [1 x i8] poison, align 1
- at lds_2 = internal addrspace(3) global [1 x i32] poison, align 2
- at lds_3 = external addrspace(3) global [0 x i8], align 4
- at lds_4 = external addrspace(3) global [0 x i8], align 8
-
-;.
-; CHECK: @llvm.amdgcn.sw.lds.k0 = internal addrspace(3) global ptr poison, no_sanitize_address, align 8, !absolute_symbol [[META0:![0-9]+]]
-; CHECK: @llvm.amdgcn.k0.dynlds = external addrspace(3) global [0 x i8], no_sanitize_address, align 8, !absolute_symbol [[META1:![0-9]+]]
-; CHECK: @llvm.amdgcn.sw.lds.k0.md = internal addrspace(1) global %llvm.amdgcn.sw.lds.k0.md.type { %llvm.amdgcn.sw.lds.k0.md.item { i32 0, i32 8, i32 32 }, %llvm.amdgcn.sw.lds.k0.md.item { i32 32, i32 1, i32 32 }, %llvm.amdgcn.sw.lds.k0.md.item { i32 64, i32 4, i32 32 }, %llvm.amdgcn.sw.lds.k0.md.item { i32 96, i32 0, i32 32 }, %llvm.amdgcn.sw.lds.k0.md.item { i32 128, i32 0, i32 32 } }, no_sanitize_address
-; @llvm.amdgcn.sw.lds.base.table = internal addrspace(1) constant [1 x ptr addrspace(3)] [ptr addrspace(3) @llvm.amdgcn.sw.lds.k0], no_sanitize_address
-; @llvm.amdgcn.sw.lds.offset.table = internal addrspace(1) constant [1 x [2 x ptr addrspace(1)]] [[2 x ptr addrspace(1)] [ptr addrspace(1) getelementptr inbounds (%llvm.amdgcn.sw.lds.k0.md.type, ptr addrspace(1) @llvm.amdgcn.sw.lds.k0.md, i32 0, i32 3, i32 0), ptr addrspace(1) getelementptr inbounds (%llvm.amdgcn.sw.lds.k0.md.type, ptr addrspace(1) @llvm.amdgcn.sw.lds.k0.md, i32 0, i32 4, i32 0)]], no_sanitize_address
-;.
-define void @use_variables() sanitize_address {
-; CHECK-LABEL: define void @use_variables(
-; CHECK-SAME: ) #[[ATTR0:[0-9]+]] {
-; CHECK-NEXT:    [[TMP1:%.*]] = call i32 @llvm.amdgcn.lds.kernel.id()
-; CHECK-NEXT:    [[TMP2:%.*]] = getelementptr inbounds [1 x ptr addrspace(3)], ptr addrspace(1) @llvm.amdgcn.sw.lds.base.table, i32 0, i32 [[TMP1]]
-; CHECK-NEXT:    [[TMP4:%.*]] = load ptr addrspace(3), ptr addrspace(1) [[TMP2]], align 4
-; CHECK-NEXT:    [[TMP7:%.*]] = load ptr addrspace(1), ptr addrspace(3) [[TMP4]], align 8
-; CHECK-NEXT:    [[TMP6:%.*]] = getelementptr inbounds [1 x [2 x ptr addrspace(1)]], ptr addrspace(1) @llvm.amdgcn.sw.lds.offset.table, i32 0, i32 [[TMP1]], i32 0
-; CHECK-NEXT:    [[TMP5:%.*]] = load ptr addrspace(1), ptr addrspace(1) [[TMP6]], align 8
-; CHECK-NEXT:    [[TMP8:%.*]] = load i32, ptr addrspace(1) [[TMP5]], align 4
-; CHECK-NEXT:    [[TMP9:%.*]] = getelementptr inbounds i8, ptr addrspace(3) [[TMP4]], i32 [[TMP8]]
-; CHECK-NEXT:    [[TMP11:%.*]] = getelementptr inbounds [1 x [2 x ptr addrspace(1)]], ptr addrspace(1) @llvm.amdgcn.sw.lds.offset.table, i32 0, i32 [[TMP1]], i32 1
-; CHECK-NEXT:    [[TMP12:%.*]] = load ptr addrspace(1), ptr addrspace(1) [[TMP11]], align 8
-; CHECK-NEXT:    [[TMP10:%.*]] = load i32, ptr addrspace(1) [[TMP12]], align 4
-; CHECK-NEXT:    [[TMP15:%.*]] = getelementptr inbounds i8, ptr addrspace(3) [[TMP4]], i32 [[TMP10]]
-; CHECK-NEXT:    [[TMP13:%.*]] = ptrtoint ptr addrspace(3) [[TMP9]] to i32
-; CHECK-NEXT:    [[TMP14:%.*]] = getelementptr inbounds i8, ptr addrspace(1) [[TMP7]], i32 [[TMP13]]
-; CHECK-NEXT:    store i8 3, ptr addrspace(1) [[TMP14]], align 4
-; CHECK-NEXT:    [[TMP30:%.*]] = ptrtoint ptr addrspace(3) [[TMP15]] to i32
-; CHECK-NEXT:    [[TMP31:%.*]] = getelementptr inbounds i8, ptr addrspace(1) [[TMP7]], i32 [[TMP30]]
-; CHECK-NEXT:    store i8 3, ptr addrspace(1) [[TMP31]], align 8
-; CHECK-NEXT:    ret void
-;
-  store i8 3, ptr addrspace(3) @lds_3, align 4
-  store i8 3, ptr addrspace(3) @lds_4, align 8
-  ret void
-}
-
-define amdgpu_kernel void @k0() sanitize_address {
-; CHECK-LABEL: define amdgpu_kernel void @k0(
-; CHECK-SAME: ) #[[ATTR1:[0-9]+]] !llvm.amdgcn.lds.kernel.id [[META2:![0-9]+]] {
-; CHECK-NEXT:  WId:
-; CHECK-NEXT:    [[TMP0:%.*]] = call i32 @llvm.amdgcn.workitem.id.x()
-; CHECK-NEXT:    [[TMP1:%.*]] = call i32 @llvm.amdgcn.workitem.id.y()
-; CHECK-NEXT:    [[TMP2:%.*]] = call i32 @llvm.amdgcn.workitem.id.z()
-; CHECK-NEXT:    [[TMP3:%.*]] = or i32 [[TMP0]], [[TMP1]]
-; CHECK-NEXT:    [[TMP4:%.*]] = or i32 [[TMP3]], [[TMP2]]
-; CHECK-NEXT:    [[TMP5:%.*]] = icmp eq i32 [[TMP4]], 0
-; CHECK-NEXT:    br i1 [[TMP5]], label [[MALLOC:%.*]], label [[TMP21:%.*]]
-; CHECK:       Malloc:
-; CHECK-NEXT:    [[TMP9:%.*]] = load i32, ptr addrspace(1) getelementptr inbounds ([[LLVM_AMDGCN_SW_LDS_K0_MD_TYPE:%.*]], ptr addrspace(1) @llvm.amdgcn.sw.lds.k0.md, i32 0, i32 2, i32 0), align 4
-; CHECK-NEXT:    [[TMP7:%.*]] = load i32, ptr addrspace(1) getelementptr inbounds ([[LLVM_AMDGCN_SW_LDS_K0_MD_TYPE]], ptr addrspace(1) @llvm.amdgcn.sw.lds.k0.md, i32 0, i32 2, i32 2), align 4
-; CHECK-NEXT:    [[TMP8:%.*]] = add i32 [[TMP9]], [[TMP7]]
-; CHECK-NEXT:    [[TMP6:%.*]] = call ptr addrspace(4) @llvm.amdgcn.implicitarg.ptr()
-; CHECK-NEXT:    [[TMP10:%.*]] = getelementptr inbounds ptr addrspace(4), ptr addrspace(4) [[TMP6]], i64 15
-; CHECK-NEXT:    store i32 [[TMP8]], ptr addrspace(1) getelementptr inbounds ([[LLVM_AMDGCN_SW_LDS_K0_MD_TYPE]], ptr addrspace(1) @llvm.amdgcn.sw.lds.k0.md, i32 0, i32 3, i32 0), align 4
-; CHECK-NEXT:    [[TMP11:%.*]] = load i32, ptr addrspace(4) [[TMP10]], align 4
-; CHECK-NEXT:    store i32 [[TMP11]], ptr addrspace(1) getelementptr inbounds ([[LLVM_AMDGCN_SW_LDS_K0_MD_TYPE]], ptr addrspace(1) @llvm.amdgcn.sw.lds.k0.md, i32 0, i32 3, i32 1), align 4
-; CHECK-NEXT:    [[TMP12:%.*]] = add i32 [[TMP11]], 7
-; CHECK-NEXT:    [[TMP13:%.*]] = udiv i32 [[TMP12]], 8
-; CHECK-NEXT:    [[TMP14:%.*]] = mul i32 [[TMP13]], 8
-; CHECK-NEXT:    store i32 [[TMP14]], ptr addrspace(1) getelementptr inbounds ([[LLVM_AMDGCN_SW_LDS_K0_MD_TYPE]], ptr addrspace(1) @llvm.amdgcn.sw.lds.k0.md, i32 0, i32 3, i32 2), align 4
-; CHECK-NEXT:    [[TMP15:%.*]] = add i32 [[TMP8]], [[TMP14]]
-; CHECK-NEXT:    store i32 [[TMP15]], ptr addrspace(1) getelementptr inbounds ([[LLVM_AMDGCN_SW_LDS_K0_MD_TYPE]], ptr addrspace(1) @llvm.amdgcn.sw.lds.k0.md, i32 0, i32 4, i32 0), align 4
-; CHECK-NEXT:    [[TMP27:%.*]] = load i32, ptr addrspace(4) [[TMP10]], align 4
-; CHECK-NEXT:    store i32 [[TMP27]], ptr addrspace(1) getelementptr inbounds ([[LLVM_AMDGCN_SW_LDS_K0_MD_TYPE]], ptr addrspace(1) @llvm.amdgcn.sw.lds.k0.md, i32 0, i32 4, i32 1), align 4
-; CHECK-NEXT:    [[TMP17:%.*]] = add i32 [[TMP27]], 7
-; CHECK-NEXT:    [[TMP18:%.*]] = udiv i32 [[TMP17]], 8
-; CHECK-NEXT:    [[TMP19:%.*]] = mul i32 [[TMP18]], 8
-; CHECK-NEXT:    store i32 [[TMP19]], ptr addrspace(1) getelementptr inbounds ([[LLVM_AMDGCN_SW_LDS_K0_MD_TYPE]], ptr addrspace(1) @llvm.amdgcn.sw.lds.k0.md, i32 0, i32 4, i32 2), align 4
-; CHECK-NEXT:    [[TMP28:%.*]] = add i32 [[TMP15]], [[TMP19]]
-; CHECK-NEXT:    [[TMP26:%.*]] = zext i32 [[TMP28]] to i64
-; CHECK-NEXT:    [[TMP22:%.*]] = call ptr @llvm.returnaddress.p0(i32 0)
-; CHECK-NEXT:    [[TMP23:%.*]] = ptrtoint ptr [[TMP22]] to i64
-; CHECK-NEXT:    [[TMP35:%.*]] = call i64 @__asan_malloc_impl(i64 [[TMP26]], i64 [[TMP23]])
-; CHECK-NEXT:    [[TMP20:%.*]] = inttoptr i64 [[TMP35]] to ptr addrspace(1)
-; CHECK-NEXT:    store ptr addrspace(1) [[TMP20]], ptr addrspace(3) @llvm.amdgcn.sw.lds.k0, align 8
-; CHECK-NEXT:    [[TMP36:%.*]] = getelementptr inbounds i8, ptr addrspace(1) [[TMP20]], i64 8
-; CHECK-NEXT:    [[TMP37:%.*]] = ptrtoint ptr addrspace(1) [[TMP36]] to i64
-; CHECK-NEXT:    call void @__asan_poison_region(i64 [[TMP37]], i64 24)
-; CHECK-NEXT:    [[TMP53:%.*]] = getelementptr inbounds i8, ptr addrspace(1) [[TMP20]], i64 33
-; CHECK-NEXT:    [[TMP73:%.*]] = ptrtoint ptr addrspace(1) [[TMP53]] to i64
-; CHECK-NEXT:    call void @__asan_poison_region(i64 [[TMP73]], i64 31)
-; CHECK-NEXT:    [[TMP74:%.*]] = getelementptr inbounds i8, ptr addrspace(1) [[TMP20]], i64 68
-; CHECK-NEXT:    [[TMP75:%.*]] = ptrtoint ptr addrspace(1) [[TMP74]] to i64
-; CHECK-NEXT:    call void @__asan_poison_region(i64 [[TMP75]], i64 28)
-; CHECK-NEXT:    br label [[TMP21]]
-; CHECK:       32:
-; CHECK-NEXT:    [[XYZCOND:%.*]] = phi i1 [ false, [[WID:%.*]] ], [ true, [[MALLOC]] ]
-; CHECK-NEXT:    call void @llvm.amdgcn.s.barrier()
-; CHECK-NEXT:    [[TMP31:%.*]] = load ptr addrspace(1), ptr addrspace(3) @llvm.amdgcn.sw.lds.k0, align 8
-; CHECK-NEXT:    [[TMP24:%.*]] = load i32, ptr addrspace(1) getelementptr inbounds ([[LLVM_AMDGCN_SW_LDS_K0_MD_TYPE]], ptr addrspace(1) @llvm.amdgcn.sw.lds.k0.md, i32 0, i32 1, i32 0), align 4
-; CHECK-NEXT:    [[TMP25:%.*]] = getelementptr inbounds i8, ptr addrspace(3) @llvm.amdgcn.sw.lds.k0, i32 [[TMP24]]
-; CHECK-NEXT:    [[TMP29:%.*]] = load i32, ptr addrspace(1) getelementptr inbounds ([[LLVM_AMDGCN_SW_LDS_K0_MD_TYPE]], ptr addrspace(1) @llvm.amdgcn.sw.lds.k0.md, i32 0, i32 2, i32 0), align 4
-; CHECK-NEXT:    [[TMP30:%.*]] = getelementptr inbounds i8, ptr addrspace(3) @llvm.amdgcn.sw.lds.k0, i32 [[TMP29]]
-; CHECK-NEXT:    call void @llvm.donothing() [ "ExplicitUse"(ptr addrspace(3) @llvm.amdgcn.k0.dynlds) ]
-; CHECK-NEXT:    call void @use_variables()
-; CHECK-NEXT:    [[TMP38:%.*]] = ptrtoint ptr addrspace(3) [[TMP25]] to i32
-; CHECK-NEXT:    [[TMP39:%.*]] = getelementptr inbounds i8, ptr addrspace(1) [[TMP31]], i32 [[TMP38]]
-; CHECK-NEXT:    store i8 7, ptr addrspace(1) [[TMP39]], align 1
-; CHECK-NEXT:    [[TMP55:%.*]] = ptrtoint ptr addrspace(3) [[TMP30]] to i32
-; CHECK-NEXT:    [[TMP56:%.*]] = getelementptr inbounds i8, ptr addrspace(1) [[TMP31]], i32 [[TMP55]]
-; CHECK-NEXT:    store i32 8, ptr addrspace(1) [[TMP56]], align 2
-; CHECK-NEXT:    br label [[CONDFREE1:%.*]]
-; CHECK:       CondFree:
-; CHECK-NEXT:    call void @llvm.amdgcn.s.barrier()
-; CHECK-NEXT:    br i1 [[XYZCOND]], label [[FREE:%.*]], label [[END:%.*]]
-; CHECK:       Free:
-; CHECK-NEXT:    [[TMP32:%.*]] = call ptr @llvm.returnaddress.p0(i32 0)
-; CHECK-NEXT:    [[TMP33:%.*]] = ptrtoint ptr [[TMP32]] to i64
-; CHECK-NEXT:    [[TMP34:%.*]] = ptrtoint ptr addrspace(1) [[TMP31]] to i64
-; CHECK-NEXT:    call void @__asan_free_impl(i64 [[TMP34]], i64 [[TMP33]])
-; CHECK-NEXT:    br label [[END]]
-; CHECK:       End:
-; CHECK-NEXT:    ret void
-;
-  call void @use_variables()
-  store i8 7, ptr addrspace(3) @lds_1, align 1
-  store i32 8, ptr addrspace(3) @lds_2, align 2
-  ret void
-}
-
-!llvm.module.flags = !{!0}
-!0 = !{i32 4, !"nosanitize_address", i32 1}
-
-;.
-; CHECK: attributes #[[ATTR0]] = { sanitize_address }
-; CHECK: attributes #[[ATTR1]] = { sanitize_address "amdgpu-lds-size"="8,8" }
-; CHECK: attributes #[[ATTR2:[0-9]+]] = { nocallback nofree nosync nounwind willreturn memory(none) }
-; CHECK: attributes #[[ATTR3:[0-9]+]] = { nocallback nofree nosync nounwind speculatable willreturn memory(none) }
-; CHECK: attributes #[[ATTR4:[0-9]+]] = { convergent nocallback nofree nounwind willreturn }
-;.
-; CHECK: [[META0]] = !{i32 0, i32 1}
-; CHECK: [[META1]] = !{i32 8, i32 9}
-; CHECK: [[META2]] = !{i32 0}
-;.
diff --git a/llvm/test/CodeGen/AMDGPU/elf-header-flags-mach.ll b/llvm/test/CodeGen/AMDGPU/elf-header-flags-mach.ll
index 24e17a76043a5..4e39e16d624ef 100644
--- a/llvm/test/CodeGen/AMDGPU/elf-header-flags-mach.ll
+++ b/llvm/test/CodeGen/AMDGPU/elf-header-flags-mach.ll
@@ -15,36 +15,18 @@
 ; RUN: llc -filetype=obj -mtriple=r600 -mcpu=cayman < %s | llvm-readobj --file-header - | FileCheck --check-prefixes=ALL,ARCH-R600,CAYMAN %s
 ; RUN: llc -filetype=obj -mtriple=r600 -mcpu=turks < %s | llvm-readobj --file-header - | FileCheck --check-prefixes=ALL,ARCH-R600,TURKS %s
 ; RUN: llc -filetype=obj -mtriple=amdgpu6.00 < %s | llvm-readobj --file-header - | FileCheck --check-prefixes=ALL,ARCH-GCN,GFX600 %s
-; RUN: llc -filetype=obj -mtriple=amdgpu6.00 < %s | llvm-readobj --file-header - | FileCheck --check-prefixes=ALL,ARCH-GCN,GFX600 %s
-; RUN: llc -filetype=obj -mtriple=amdgpu6.01 < %s | llvm-readobj --file-header - | FileCheck --check-prefixes=ALL,ARCH-GCN,GFX601 %s
-; RUN: llc -filetype=obj -mtriple=amdgpu6.01 < %s | llvm-readobj --file-header - | FileCheck --check-prefixes=ALL,ARCH-GCN,GFX601 %s
 ; RUN: llc -filetype=obj -mtriple=amdgpu6.01 < %s | llvm-readobj --file-header - | FileCheck --check-prefixes=ALL,ARCH-GCN,GFX601 %s
 ; RUN: llc -filetype=obj -mtriple=amdgpu6.02 < %s | llvm-readobj --file-header - | FileCheck --check-prefixes=ALL,ARCH-GCN,GFX602 %s
-; RUN: llc -filetype=obj -mtriple=amdgpu6.02 < %s | llvm-readobj --file-header - | FileCheck --check-prefixes=ALL,ARCH-GCN,GFX602 %s
-; RUN: llc -filetype=obj -mtriple=amdgpu6.02 < %s | llvm-readobj --file-header - | FileCheck --check-prefixes=ALL,ARCH-GCN,GFX602 %s
 ; RUN: llc -filetype=obj -mtriple=amdgpu7.00 < %s | llvm-readobj --file-header - | FileCheck --check-prefixes=ALL,ARCH-GCN,GFX700 %s
-; RUN: llc -filetype=obj -mtriple=amdgpu7.00 < %s | llvm-readobj --file-header - | FileCheck --check-prefixes=ALL,ARCH-GCN,GFX700 %s
-; RUN: llc -filetype=obj -mtriple=amdgpu7.01 < %s | llvm-readobj --file-header - | FileCheck --check-prefixes=ALL,ARCH-GCN,GFX701 %s
 ; RUN: llc -filetype=obj -mtriple=amdgpu7.01 < %s | llvm-readobj --file-header - | FileCheck --check-prefixes=ALL,ARCH-GCN,GFX701 %s
 ; RUN: llc -filetype=obj -mtriple=amdgpu7.02 < %s | llvm-readobj --file-header - | FileCheck --check-prefixes=ALL,ARCH-GCN,GFX702 %s
 ; RUN: llc -filetype=obj -mtriple=amdgpu7.03 < %s | llvm-readobj --file-header - | FileCheck --check-prefixes=ALL,ARCH-GCN,GFX703 %s
-; RUN: llc -filetype=obj -mtriple=amdgpu7.03 < %s | llvm-readobj --file-header - | FileCheck --check-prefixes=ALL,ARCH-GCN,GFX703 %s
-; RUN: llc -filetype=obj -mtriple=amdgpu7.03 < %s | llvm-readobj --file-header - | FileCheck --check-prefixes=ALL,ARCH-GCN,GFX703 %s
-; RUN: llc -filetype=obj -mtriple=amdgpu7.04 < %s | llvm-readobj --file-header - | FileCheck --check-prefixes=ALL,ARCH-GCN,GFX704 %s
 ; RUN: llc -filetype=obj -mtriple=amdgpu7.04 < %s | llvm-readobj --file-header - | FileCheck --check-prefixes=ALL,ARCH-GCN,GFX704 %s
 ; RUN: llc -filetype=obj -mtriple=amdgpu7.05 < %s | llvm-readobj --file-header - | FileCheck --check-prefixes=ALL,ARCH-GCN,GFX705 %s
 ; RUN: llc -filetype=obj -mtriple=amdgpu8.01 < %s | llvm-readobj --file-header - | FileCheck --check-prefixes=ALL,ARCH-GCN,GFX801 %s
-; RUN: llc -filetype=obj -mtriple=amdgpu8.01 < %s | llvm-readobj --file-header - | FileCheck --check-prefixes=ALL,ARCH-GCN,GFX801 %s
-; RUN: llc -filetype=obj -mtriple=amdgpu8.02 < %s | llvm-readobj --file-header - | FileCheck --check-prefixes=ALL,ARCH-GCN,GFX802 %s
 ; RUN: llc -filetype=obj -mtriple=amdgpu8.02 < %s | llvm-readobj --file-header - | FileCheck --check-prefixes=ALL,ARCH-GCN,GFX802 %s
-; RUN: llc -filetype=obj -mtriple=amdgpu8.02 < %s | llvm-readobj --file-header - | FileCheck --check-prefixes=ALL,ARCH-GCN,GFX802 %s
-; RUN: llc -filetype=obj -mtriple=amdgpu8.03 < %s | llvm-readobj --file-header - | FileCheck --check-prefixes=ALL,ARCH-GCN,GFX803 %s
-; RUN: llc -filetype=obj -mtriple=amdgpu8.03 < %s | llvm-readobj --file-header - | FileCheck --check-prefixes=ALL,ARCH-GCN,GFX803 %s
-; RUN: llc -filetype=obj -mtriple=amdgpu8.03 < %s | llvm-readobj --file-header - | FileCheck --check-prefixes=ALL,ARCH-GCN,GFX803 %s
 ; RUN: llc -filetype=obj -mtriple=amdgpu8.03 < %s | llvm-readobj --file-header - | FileCheck --check-prefixes=ALL,ARCH-GCN,GFX803 %s
 ; RUN: llc -filetype=obj -mtriple=amdgpu8.05 < %s | llvm-readobj --file-header - | FileCheck --check-prefixes=ALL,ARCH-GCN,GFX805 %s
-; RUN: llc -filetype=obj -mtriple=amdgpu8.05 < %s | llvm-readobj --file-header - | FileCheck --check-prefixes=ALL,ARCH-GCN,GFX805 %s
-; RUN: llc -filetype=obj -mtriple=amdgpu8.10 < %s | llvm-readobj --file-header - | FileCheck --check-prefixes=ALL,ARCH-GCN,GFX810 %s
 ; RUN: llc -filetype=obj -mtriple=amdgpu8.10 < %s | llvm-readobj --file-header - | FileCheck --check-prefixes=ALL,ARCH-GCN,GFX810 %s
 ; RUN: llc -filetype=obj -mtriple=amdgpu9.00 < %s | llvm-readobj --file-header - | FileCheck --check-prefixes=ALL,ARCH-GCN,GFX900 %s
 ; RUN: llc -filetype=obj -mtriple=amdgpu9.02 < %s | llvm-readobj --file-header - | FileCheck --check-prefixes=ALL,ARCH-GCN,GFX902 %s
diff --git a/llvm/test/CodeGen/AMDGPU/elf-notes.ll b/llvm/test/CodeGen/AMDGPU/elf-notes.ll
index f64189ea1433c..a9d3e26d037d6 100644
--- a/llvm/test/CodeGen/AMDGPU/elf-notes.ll
+++ b/llvm/test/CodeGen/AMDGPU/elf-notes.ll
@@ -1,11 +1,8 @@
 ; RUN: llc -mtriple=amdgpu8.02-amd-unknown < %s | FileCheck --check-prefix=OSABI-UNK %s
-; RUN: llc -mtriple=amdgpu8.02-amd-unknown < %s | FileCheck --check-prefix=OSABI-UNK %s
 ; RUN: llc -mtriple=amdgpu8.02-amd-unknown -filetype=obj < %s | llvm-readelf --notes  - | FileCheck --check-prefix=OSABI-UNK-ELF %s
-; RUN: llc -mtriple=amdgpu8.02-amd-amdhsa < %s| FileCheck --check-prefix=OSABI-HSA %s
 ; RUN: llc -mtriple=amdgpu8.02-amd-amdhsa < %s | FileCheck --check-prefix=OSABI-HSA %s
 ; RUN: llc -mtriple=amdgpu8.02-amd-amdhsa -filetype=obj < %s | llvm-readelf --notes  - | FileCheck --check-prefix=OSABI-HSA-ELF %s
 ; RUN: llc -mtriple=amdgpu8.02-amd-amdpal < %s | FileCheck --check-prefix=OSABI-PAL %s
-; RUN: llc -mtriple=amdgpu8.02-amd-amdpal < %s | FileCheck --check-prefix=OSABI-PAL %s
 ; RUN: llc -mtriple=amdgpu8.02-amd-amdpal -filetype=obj < %s | llvm-readelf --notes  - | FileCheck --check-prefix=OSABI-PAL-ELF %s
 ; RUN: llc -mtriple=r600 < %s | FileCheck --check-prefix=R600 %s
 
diff --git a/llvm/test/CodeGen/AMDGPU/function-resource-usage.ll b/llvm/test/CodeGen/AMDGPU/function-resource-usage.ll
index 6db3a35aaae72..a311277aa82aa 100644
--- a/llvm/test/CodeGen/AMDGPU/function-resource-usage.ll
+++ b/llvm/test/CodeGen/AMDGPU/function-resource-usage.ll
@@ -1,5 +1,4 @@
 ; RUN: llc -mtriple=amdgpu9.00-amd-amdhsa -enable-ipra=0 < %s | FileCheck -check-prefix=GCN %s
-; RUN: llc -mtriple=amdgpu9.00-amd-amdhsa -enable-ipra=0 < %s | FileCheck -check-prefix=GCN %s
 
 ; Functions that don't make calls should have constants as its resource usage as no resource information has to be propagated.
 
diff --git a/llvm/test/CodeGen/AMDGPU/hsa-note-no-func.ll b/llvm/test/CodeGen/AMDGPU/hsa-note-no-func.ll
index 99c3e8f966916..039e79f87ecd8 100644
--- a/llvm/test/CodeGen/AMDGPU/hsa-note-no-func.ll
+++ b/llvm/test/CodeGen/AMDGPU/hsa-note-no-func.ll
@@ -2,28 +2,18 @@
 ; RUN: llc < %s -mtriple=amdgpu6.01-- | FileCheck --check-prefixes=NONHSA-SI601 %s
 ; RUN: llc < %s -mtriple=amdgpu6.02-- | FileCheck --check-prefixes=NONHSA-SI602 %s
 ; RUN: llc < %s -mtriple=amdgpu7.00--amdhsa | FileCheck --check-prefix=HSA-CI700 %s
-; RUN: llc < %s -mtriple=amdgpu7.00--amdhsa | FileCheck --check-prefix=HSA-CI700 %s
-; RUN: llc < %s -mtriple=amdgpu7.01--amdhsa | FileCheck --check-prefix=HSA-CI701 %s
 ; RUN: llc < %s -mtriple=amdgpu7.01--amdhsa | FileCheck --check-prefix=HSA-CI701 %s
 ; RUN: llc < %s -mtriple=amdgpu7.02--amdhsa | FileCheck --check-prefix=HSA-CI702 %s
 ; RUN: llc < %s -mtriple=amdgpu7.03--amdhsa | FileCheck --check-prefix=HSA-CI703 %s
-; RUN: llc < %s -mtriple=amdgpu7.03--amdhsa | FileCheck --check-prefix=HSA-CI703 %s
-; RUN: llc < %s -mtriple=amdgpu7.03--amdhsa | FileCheck --check-prefix=HSA-CI703 %s
-; RUN: llc < %s -mtriple=amdgpu7.04--amdhsa | FileCheck --check-prefix=HSA-CI704 %s
 ; RUN: llc < %s -mtriple=amdgpu7.04--amdhsa | FileCheck --check-prefix=HSA-CI704 %s
 ; RUN: llc < %s -mtriple=amdgpu7.05--amdhsa | FileCheck --check-prefix=HSA-CI705 %s
 ; RUN: llc < %s -mtriple=amdgpu8.01--amdhsa | FileCheck --check-prefix=HSA-VI801 %s
 ; RUN: llc < %s -mtriple=amdgpu8.01--amdhsa -mattr=-flat-for-global | FileCheck --check-prefix=HSA-VI801 %s
 ; RUN: llc < %s -mtriple=amdgpu8.02--amdhsa | FileCheck --check-prefix=HSA-VI802 %s
 ; RUN: llc < %s -mtriple=amdgpu8.02--amdhsa -mattr=-flat-for-global | FileCheck --check-prefix=HSA-VI802 %s
-; RUN: llc < %s -mtriple=amdgpu8.02--amdhsa -mattr=-flat-for-global | FileCheck --check-prefix=HSA-VI802 %s
 ; RUN: llc < %s -mtriple=amdgpu8.03--amdhsa | FileCheck --check-prefix=HSA-VI803 %s
 ; RUN: llc < %s -mtriple=amdgpu8.03--amdhsa -mattr=-flat-for-global | FileCheck --check-prefix=HSA-VI803 %s
-; RUN: llc < %s -mtriple=amdgpu8.03--amdhsa | FileCheck --check-prefix=HSA-VI803 %s
-; RUN: llc < %s -mtriple=amdgpu8.03--amdhsa | FileCheck --check-prefix=HSA-VI803 %s
 ; RUN: llc < %s -mtriple=amdgpu8.05--amdhsa | FileCheck --check-prefix=HSA-VI805 %s
-; RUN: llc < %s -mtriple=amdgpu8.05--amdhsa | FileCheck --check-prefix=HSA-VI805 %s
-; RUN: llc < %s -mtriple=amdgpu8.10--amdhsa | FileCheck --check-prefix=HSA-VI810 %s
 ; RUN: llc < %s -mtriple=amdgpu8.10--amdhsa | FileCheck --check-prefix=HSA-VI810 %s
 ; RUN: llc < %s -mtriple=amdgpu9.00--amdhsa --amdgpu-xnack=false | FileCheck --check-prefix=HSA-GFX900 %s
 ; RUN: llc < %s -mtriple=amdgpu9.00--amdhsa | FileCheck --check-prefix=HSA-GFX901 %s
diff --git a/llvm/test/CodeGen/AMDGPU/lower-mem-intrinsics.ll b/llvm/test/CodeGen/AMDGPU/lower-mem-intrinsics.ll
index a1414771bc87c..4ce08850b37e9 100644
--- a/llvm/test/CodeGen/AMDGPU/lower-mem-intrinsics.ll
+++ b/llvm/test/CodeGen/AMDGPU/lower-mem-intrinsics.ll
@@ -272,41 +272,6 @@ define amdgpu_kernel void @variable_memcpy_caller0(ptr addrspace(1) %dst, ptr ad
   ret void
 }
 
-define amdgpu_kernel void @variable_memcpy_caller1(ptr addrspace(1) %dst, ptr addrspace(1) %src, i64 %n) #0 {
-; OPT-LABEL: @variable_memcpy_caller1(
-; OPT-NEXT:    [[TMP2:%.*]] = and i64 [[N:%.*]], 15
-; OPT-NEXT:    [[TMP3:%.*]] = sub i64 [[N]], [[TMP2]]
-; OPT-NEXT:    [[TMP4:%.*]] = icmp ne i64 [[TMP3]], 0
-; OPT-NEXT:    br i1 [[TMP4]], label [[LOOP_MEMCPY_EXPANSION:%.*]], label [[LOOP_MEMCPY_RESIDUAL_HEADER:%.*]]
-; OPT:       dynamic-memcpy-expansion-main-body:
-; OPT-NEXT:    [[LOOP_INDEX:%.*]] = phi i64 [ 0, [[TMP0:%.*]] ], [ [[TMP8:%.*]], [[LOOP_MEMCPY_EXPANSION]] ]
-; OPT-NEXT:    [[TMP5:%.*]] = getelementptr inbounds i8, ptr addrspace(1) [[SRC:%.*]], i64 [[LOOP_INDEX]]
-; OPT-NEXT:    [[TMP6:%.*]] = load <4 x i32>, ptr addrspace(1) [[TMP5]], align 1
-; OPT-NEXT:    [[TMP7:%.*]] = getelementptr inbounds i8, ptr addrspace(1) [[DST:%.*]], i64 [[LOOP_INDEX]]
-; OPT-NEXT:    store <4 x i32> [[TMP6]], ptr addrspace(1) [[TMP7]], align 1
-; OPT-NEXT:    [[TMP8]] = add i64 [[LOOP_INDEX]], 16
-; OPT-NEXT:    [[TMP9:%.*]] = icmp ult i64 [[TMP8]], [[TMP3]]
-; OPT-NEXT:    br i1 [[TMP9]], label [[LOOP_MEMCPY_EXPANSION]], label [[LOOP_MEMCPY_RESIDUAL_HEADER]]
-; OPT:       dynamic-memcpy-expansion-residual-cond:
-; OPT-NEXT:    [[TMP16:%.*]] = icmp ne i64 [[TMP2]], 0
-; OPT-NEXT:    br i1 [[TMP16]], label [[LOOP_MEMCPY_RESIDUAL:%.*]], label [[POST_LOOP_MEMCPY_EXPANSION:%.*]]
-; OPT:       dynamic-memcpy-expansion-residual-body:
-; OPT-NEXT:    [[RESIDUAL_LOOP_INDEX:%.*]] = phi i64 [ 0, [[LOOP_MEMCPY_RESIDUAL_HEADER]] ], [ [[TMP14:%.*]], [[LOOP_MEMCPY_RESIDUAL]] ]
-; OPT-NEXT:    [[TMP10:%.*]] = add i64 [[TMP3]], [[RESIDUAL_LOOP_INDEX]]
-; OPT-NEXT:    [[TMP11:%.*]] = getelementptr inbounds i8, ptr addrspace(1) [[SRC]], i64 [[TMP10]]
-; OPT-NEXT:    [[TMP12:%.*]] = load i8, ptr addrspace(1) [[TMP11]], align 1
-; OPT-NEXT:    [[TMP13:%.*]] = getelementptr inbounds i8, ptr addrspace(1) [[DST]], i64 [[TMP10]]
-; OPT-NEXT:    store i8 [[TMP12]], ptr addrspace(1) [[TMP13]], align 1
-; OPT-NEXT:    [[TMP14]] = add i64 [[RESIDUAL_LOOP_INDEX]], 1
-; OPT-NEXT:    [[TMP15:%.*]] = icmp ult i64 [[TMP14]], [[TMP2]]
-; OPT-NEXT:    br i1 [[TMP15]], label [[LOOP_MEMCPY_RESIDUAL]], label [[POST_LOOP_MEMCPY_EXPANSION]]
-; OPT:       dynamic-memcpy-post-expansion:
-; OPT-NEXT:    ret void
-;
-  call void @llvm.memcpy.p1.p1.i64(ptr addrspace(1) %dst, ptr addrspace(1) %src, i64 %n, i1 false)
-  ret void
-}
-
 define amdgpu_kernel void @memcpy_multi_use_one_function(ptr addrspace(1) %dst0, ptr addrspace(1) %dst1, ptr addrspace(1) %src, i64 %n, i64 %m) #0 {
 ; OPT-LABEL: @memcpy_multi_use_one_function(
 ; OPT-NEXT:    [[TMP2:%.*]] = and i64 [[N:%.*]], 15
diff --git a/llvm/test/CodeGen/AMDGPU/lto-lower-module-lds.ll b/llvm/test/CodeGen/AMDGPU/lto-lower-module-lds.ll
index a2e3a84f7c064..a846a7cc12e49 100644
--- a/llvm/test/CodeGen/AMDGPU/lto-lower-module-lds.ll
+++ b/llvm/test/CodeGen/AMDGPU/lto-lower-module-lds.ll
@@ -1,35 +1,29 @@
 
 ; Default O0
-; RUN: opt -mtriple=amdgpu10.30-- %s -o %t.bc
-; RUN: llvm-lto2 run -O0 -cg-opt-level 0 %t.bc -o %t.s -r %t.bc,test,px -debug-pass-manager -debug-pass=Structure 2>&1 | FileCheck %s
+; RUN: opt -mtriple=amdgpu10.30-- %s -o %t.default.bc
+; RUN: llvm-lto2 run -O0 -cg-opt-level 0 %t.default.bc -o %t.s -r %t.default.bc,test,px -debug-pass-manager -debug-pass=Structure 2>&1 | FileCheck %s
 
 ; Unified O0
-; RUN: opt -unified-lto -thinlto-split-lto-unit -thinlto-bc -mtriple=amdgpu10.30-- %s -o %t.bc
-; RUN: llvm-lto2 run -unified-lto=full -O0 -cg-opt-level 0 %t.bc -o %t.s -r %t.bc,test,px -debug-pass-manager -debug-pass=Structure 2>&1 | FileCheck %s
+; RUN: opt -unified-lto -thinlto-split-lto-unit -thinlto-bc -mtriple=amdgpu10.30-- %s -o %t.unified.bc
+; RUN: llvm-lto2 run -unified-lto=full -O0 -cg-opt-level 0 %t.unified.bc -o %t.s -r %t.unified.bc,test,px -debug-pass-manager -debug-pass=Structure 2>&1 | FileCheck %s
 
 ; Default O1
-; RUN: opt -mtriple=amdgpu10.30-- %s -o %t.bc
-; RUN: llvm-lto2 run -O1 -cg-opt-level 1 %t.bc -o %t.s -r %t.bc,test,px -debug-pass-manager -debug-pass=Structure 2>&1 | FileCheck %s
+; RUN: llvm-lto2 run -O1 -cg-opt-level 1 %t.default.bc -o %t.s -r %t.default.bc,test,px -debug-pass-manager -debug-pass=Structure 2>&1 | FileCheck %s
 
 ; Unified O1
-; RUN: opt -unified-lto -thinlto-split-lto-unit -thinlto-bc -mtriple=amdgpu10.30-- %s -o %t.bc
-; RUN: llvm-lto2 run -unified-lto=full -O1 -cg-opt-level 1 %t.bc -o %t.s -r %t.bc,test,px -debug-pass-manager -debug-pass=Structure 2>&1 | FileCheck %s
+; RUN: llvm-lto2 run -unified-lto=full -O1 -cg-opt-level 1 %t.unified.bc -o %t.s -r %t.unified.bc,test,px -debug-pass-manager -debug-pass=Structure 2>&1 | FileCheck %s
 
 ; Default O2
-; RUN: opt -mtriple=amdgpu10.30-- %s -o %t.bc
-; RUN: llvm-lto2 run -O2 -cg-opt-level 2 %t.bc -o %t.s -r %t.bc,test,px -debug-pass-manager -debug-pass=Structure 2>&1 | FileCheck %s
+; RUN: llvm-lto2 run -O2 -cg-opt-level 2 %t.default.bc -o %t.s -r %t.default.bc,test,px -debug-pass-manager -debug-pass=Structure 2>&1 | FileCheck %s
 
 ; Unified O2
-; RUN: opt -unified-lto -thinlto-split-lto-unit -thinlto-bc -mtriple=amdgpu10.30-- %s -o %t.bc
-; RUN: llvm-lto2 run -unified-lto=full -O2 -cg-opt-level 2 %t.bc -o %t.s -r %t.bc,test,px -debug-pass-manager -debug-pass=Structure 2>&1 | FileCheck %s
+; RUN: llvm-lto2 run -unified-lto=full -O2 -cg-opt-level 2 %t.unified.bc -o %t.s -r %t.unified.bc,test,px -debug-pass-manager -debug-pass=Structure 2>&1 | FileCheck %s
 
 ; Default O3
-; RUN: opt -mtriple=amdgpu10.30-- %s -o %t.bc
-; RUN: llvm-lto2 run -O3 -cg-opt-level 3 %t.bc -o %t.s -r %t.bc,test,px -debug-pass-manager -debug-pass=Structure 2>&1 | FileCheck %s
+; RUN: llvm-lto2 run -O3 -cg-opt-level 3 %t.default.bc -o %t.s -r %t.default.bc,test,px -debug-pass-manager -debug-pass=Structure 2>&1 | FileCheck %s
 
 ; Unified O3
-; RUN: opt -unified-lto -thinlto-split-lto-unit -thinlto-bc -mtriple=amdgpu10.30-- %s -o %t.bc
-; RUN: llvm-lto2 run -unified-lto=full -O3 -cg-opt-level 3 %t.bc -o %t.s -r %t.bc,test,px -debug-pass-manager -debug-pass=Structure 2>&1 | FileCheck %s
+; RUN: llvm-lto2 run -unified-lto=full -O3 -cg-opt-level 3 %t.unified.bc -o %t.s -r %t.unified.bc,test,px -debug-pass-manager -debug-pass=Structure 2>&1 | FileCheck %s
 
 ; First print will be from the New PM during the full LTO pipeline.
 ; Second print will be from the legacy PM during the CG pipeline.
diff --git a/llvm/test/CodeGen/AMDGPU/rewrite-vgpr-mfma-to-agpr-spill-multi-store.ll b/llvm/test/CodeGen/AMDGPU/rewrite-vgpr-mfma-to-agpr-spill-multi-store.ll
index 44038b4dd6c95..81ee7344750d7 100644
--- a/llvm/test/CodeGen/AMDGPU/rewrite-vgpr-mfma-to-agpr-spill-multi-store.ll
+++ b/llvm/test/CodeGen/AMDGPU/rewrite-vgpr-mfma-to-agpr-spill-multi-store.ll
@@ -1,5 +1,3 @@
-; FIXME: the following line is added to cleanup bots, will be removed in weeks.
-; RUN: rm -f %S/rewrite-vgpr-mfma-to-agpr-spill-multi-store.s
 ; REQUIRES: asserts
 ; RUN: llc -mtriple=amdgpu9.0a-amd-amdhsa -O3 \
 ; RUN:   -amdgpu-use-amdgpu-trackers=1 -verify-machineinstrs \
diff --git a/llvm/test/CodeGen/AMDGPU/schedule-fs-loop.ll b/llvm/test/CodeGen/AMDGPU/schedule-fs-loop.ll
deleted file mode 100644
index b916151a71320..0000000000000
--- a/llvm/test/CodeGen/AMDGPU/schedule-fs-loop.ll
+++ /dev/null
@@ -1,84 +0,0 @@
-; RUN: llc -mtriple=r600 -mcpu=cayman -stress-sched -verify-misched < %s
-; REQUIRES: asserts
-
-define amdgpu_vs void @main(<4 x float> inreg %reg0, <4 x float> inreg %reg1) #0 {
-main_body:
-  %tmp = extractelement <4 x float> %reg1, i32 0
-  %tmp5 = extractelement <4 x float> %reg1, i32 1
-  %tmp6 = extractelement <4 x float> %reg1, i32 2
-  %tmp7 = extractelement <4 x float> %reg1, i32 3
-  %tmp8 = fcmp ult float %tmp5, 0.000000e+00
-  %tmp9 = select i1 %tmp8, float 1.000000e+00, float 0.000000e+00
-  %tmp10 = fsub float -0.000000e+00, %tmp9
-  %tmp11 = fptosi float %tmp10 to i32
-  %tmp12 = bitcast i32 %tmp11 to float
-  %tmp13 = fcmp ult float %tmp, 5.700000e+01
-  %tmp14 = select i1 %tmp13, float 1.000000e+00, float 0.000000e+00
-  %tmp15 = fsub float -0.000000e+00, %tmp14
-  %tmp16 = fptosi float %tmp15 to i32
-  %tmp17 = bitcast i32 %tmp16 to float
-  %tmp18 = bitcast float %tmp12 to i32
-  %tmp19 = bitcast float %tmp17 to i32
-  %tmp20 = and i32 %tmp18, %tmp19
-  %tmp21 = bitcast i32 %tmp20 to float
-  %tmp22 = bitcast float %tmp21 to i32
-  %tmp23 = icmp ne i32 %tmp22, 0
-  %tmp24 = fcmp ult float %tmp, 0.000000e+00
-  %tmp25 = select i1 %tmp24, float 1.000000e+00, float 0.000000e+00
-  %tmp26 = fsub float -0.000000e+00, %tmp25
-  %tmp27 = fptosi float %tmp26 to i32
-  %tmp28 = bitcast i32 %tmp27 to float
-  %tmp29 = bitcast float %tmp28 to i32
-  %tmp30 = icmp ne i32 %tmp29, 0
-  br i1 %tmp23, label %IF, label %ELSE
-
-IF:                                               ; preds = %main_body
-  %. = select i1 %tmp30, float 0.000000e+00, float 1.000000e+00
-  %.18 = select i1 %tmp30, float 1.000000e+00, float 0.000000e+00
-  br label %ENDIF
-
-ELSE:                                             ; preds = %main_body
-  br i1 %tmp30, label %ENDIF, label %ELSE17
-
-ENDIF:                                            ; preds = %ELSE17, %ELSE, %IF
-  %temp1.0 = phi float [ %., %IF ], [ %tmp48, %ELSE17 ], [ 0.000000e+00, %ELSE ]
-  %temp2.0 = phi float [ 0.000000e+00, %IF ], [ %tmp49, %ELSE17 ], [ 1.000000e+00, %ELSE ]
-  %temp.0 = phi float [ %.18, %IF ], [ %tmp47, %ELSE17 ], [ 0.000000e+00, %ELSE ]
-  %max.0.i = call float @llvm.maxnum.f32(float %temp.0, float 0.000000e+00)
-  %clamp.i = call float @llvm.minnum.f32(float %max.0.i, float 1.000000e+00)
-  %max.0.i3 = call float @llvm.maxnum.f32(float %temp1.0, float 0.000000e+00)
-  %clamp.i4 = call float @llvm.minnum.f32(float %max.0.i3, float 1.000000e+00)
-  %max.0.i1 = call float @llvm.maxnum.f32(float %temp2.0, float 0.000000e+00)
-  %clamp.i2 = call float @llvm.minnum.f32(float %max.0.i1, float 1.000000e+00)
-  %tmp31 = insertelement <4 x float> poison, float %clamp.i, i32 0
-  %tmp32 = insertelement <4 x float> %tmp31, float %clamp.i4, i32 1
-  %tmp33 = insertelement <4 x float> %tmp32, float %clamp.i2, i32 2
-  %tmp34 = insertelement <4 x float> %tmp33, float 1.000000e+00, i32 3
-  call void @llvm.r600.store.swizzle(<4 x float> %tmp34, i32 0, i32 0)
-  ret void
-
-ELSE17:                                           ; preds = %ELSE
-  %tmp35 = fadd float 0.000000e+00, 0x3FC99999A0000000
-  %tmp36 = fadd float 0.000000e+00, 0x3FC99999A0000000
-  %tmp37 = fadd float 0.000000e+00, 0x3FC99999A0000000
-  %tmp38 = fadd float %tmp35, 0x3FC99999A0000000
-  %tmp39 = fadd float %tmp36, 0x3FC99999A0000000
-  %tmp40 = fadd float %tmp37, 0x3FC99999A0000000
-  %tmp41 = fadd float %tmp38, 0x3FC99999A0000000
-  %tmp42 = fadd float %tmp39, 0x3FC99999A0000000
-  %tmp43 = fadd float %tmp40, 0x3FC99999A0000000
-  %tmp44 = fadd float %tmp41, 0x3FC99999A0000000
-  %tmp45 = fadd float %tmp42, 0x3FC99999A0000000
-  %tmp46 = fadd float %tmp43, 0x3FC99999A0000000
-  %tmp47 = fadd float %tmp44, 0x3FC99999A0000000
-  %tmp48 = fadd float %tmp45, 0x3FC99999A0000000
-  %tmp49 = fadd float %tmp46, 0x3FC99999A0000000
-  br label %ENDIF
-}
-
-declare float @llvm.minnum.f32(float, float) #1
-declare float @llvm.maxnum.f32(float, float) #1
-declare void @llvm.r600.store.swizzle(<4 x float>, i32, i32) #0
-
-attributes #0 = { nounwind }
-attributes #1 = { nounwind readnone }
diff --git a/llvm/test/CodeGen/AMDGPU/unexpected-reg-unit-state.mir b/llvm/test/CodeGen/AMDGPU/unexpected-reg-unit-state.mir
deleted file mode 100644
index ccff0f88ec376..0000000000000
--- a/llvm/test/CodeGen/AMDGPU/unexpected-reg-unit-state.mir
+++ /dev/null
@@ -1,34 +0,0 @@
-# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py
-# RUN: llc -verify-machineinstrs -mtriple=amdgpu9.00-amd-amdhsa -run-pass=regallocfast -o - %s | FileCheck %s
-# RUN: llc -verify-machineinstrs -mtriple=amdgpu9.00-amd-amdhsa -passes=regallocfast -o - %s | FileCheck %s
-
----
-name:            bar
-tracksRegLiveness: true
-machineFunctionInfo:
-  isEntryFunction: true
-  scratchRSrcReg:  '$sgpr0_sgpr1_sgpr2_sgpr3'
-  stackPtrOffsetReg: '$sgpr32'
-body:             |
-  bb.0:
-    liveins: $vgpr0
-
-    ; CHECK-LABEL: name: bar
-    ; CHECK: liveins: $vgpr0
-    ; CHECK-NEXT: {{  $}}
-    ; CHECK-NEXT: V_CMP_NE_U32_e32 0, killed $vgpr0, implicit-def $vcc, implicit $exec
-    ; CHECK-NEXT: renamable $sgpr4_sgpr5 = COPY $vcc
-    ; CHECK-NEXT: SI_SPILL_S64_SAVE $sgpr4_sgpr5, %stack.0, implicit $exec, implicit $sgpr32 :: (store (s64) into %stack.0, align 4, addrspace 5)
-    ; CHECK-NEXT: renamable $sgpr4_sgpr5 = COPY $vcc
-    ; CHECK-NEXT: $vcc = SI_SPILL_S64_RESTORE %stack.0, implicit $exec, implicit $sgpr32 :: (load (s64) from %stack.0, align 4, addrspace 5)
-    ; CHECK-NEXT: renamable $vgpr0 = V_CNDMASK_B32_e64 0, -1, 0, 3, killed $sgpr4_sgpr5, implicit $exec
-    ; CHECK-NEXT: S_ENDPGM 0, implicit killed $vgpr0, implicit killed renamable $vcc
-    %0:vgpr_32 = COPY $vgpr0
-    V_CMP_NE_U32_e32 0, %0, implicit-def $vcc, implicit $exec
-    %3:sreg_64_xexec = COPY $vcc
-    %1:sreg_64_xexec = COPY $vcc
-    %2:vgpr_32 = V_CNDMASK_B32_e64 0, -1, 0, 3, %1, implicit $exec
-    $vgpr0 = COPY %2
-    S_ENDPGM 0, implicit $vgpr0, implicit %3
-
-...



More information about the llvm-commits mailing list