# RUN: llc -mtriple=amdgcn -mcpu=gfx1200 \ # RUN: -run-pass=amdgpu-next-use-printer \ # RUN: -amdgpu-next-use-analysis-config=graphics \ # RUN: -amdgpu-next-use-analysis-dump-distance-as-json=- \ # RUN: -amdgpu-next-use-analysis-dump-distance-verbose \ # RUN: -filetype=null \ # RUN: %s | FileCheck --check-prefix=CHECK-GX-JSON %s # RUN: llc -mtriple=amdgcn -mcpu=gfx1200 \ # RUN: -run-pass=amdgpu-next-use-printer \ # RUN: -amdgpu-next-use-analysis-config=compute \ # RUN: -amdgpu-next-use-analysis-dump-distance-as-json=- \ # RUN: -amdgpu-next-use-analysis-dump-distance-verbose \ # RUN: -filetype=null \ # RUN: %s | FileCheck --check-prefix=CHECK-CP-JSON %s # RUN: llc -mtriple=amdgcn -mcpu=gfx1200 \ # RUN: "-passes=require,print" \ # 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 void @test4(ptr addrspace(3) %p) { ret void } ... --- name: test4 tracksRegLiveness: true body: | bb.0: successors: %bb.1(0x80000000) liveins: $vgpr0, $vgpr1 %0:vgpr_32 = COPY $vgpr1 %1:vgpr_32 = COPY $vgpr0 %2:vgpr_32 = V_MOV_B32_e32 100, implicit $exec %3:sreg_32 = S_MOV_B32 0 bb.1: successors: %bb.1(0x40000000), %bb.2(0x40000000) %4:sreg_32 = PHI %3, %bb.0, %5, %bb.1 %6:vgpr_32 = PHI %1, %bb.0, %7, %bb.1 %8:vgpr_32 = PHI %2, %bb.0, %9, %bb.1 %10:sreg_32 = PHI %3, %bb.0, %11, %bb.1 %12:vgpr_32 = DS_READ_U8_gfx9 %6, 0, 0, implicit $exec :: (load (s8) from %ir.p, addrspace 3) %13:vgpr_32 = DS_READ_U8_gfx9 %6, 1, 0, implicit $exec :: (load (s8) from %ir.p + 1, addrspace 3) %14:vgpr_32 = DS_READ_U8_gfx9 %6, 2, 0, implicit $exec :: (load (s8) from %ir.p + 2, addrspace 3) %15:vgpr_32 = DS_READ_U8_gfx9 %6, 3, 0, implicit $exec :: (load (s8) from %ir.p + 3, addrspace 3) %16:vgpr_32 = V_LSHL_OR_B32_e64 %13, 8, %12, implicit $exec %17:vgpr_32 = V_LSHL_OR_B32_e64 %15, 8, %14, implicit $exec %18:vgpr_32 = V_LSHL_OR_B32_e64 %17, 16, %16, implicit $exec %9:vgpr_32 = V_ADD_U32_e64 %10, %18, 0, implicit $exec %11:sreg_32 = S_ADD_I32 %10, 1, implicit-def dead $scc %7:vgpr_32 = V_ADD_U32_e64 4, %6, 0, implicit $exec %19:sreg_32 = V_CMP_GE_U32_e64 %11, %0, implicit $exec %5:sreg_32 = SI_IF_BREAK %19, %4, implicit-def dead $scc SI_LOOP %5, %bb.1, implicit-def dead $exec, implicit-def dead $scc, implicit $exec S_BRANCH %bb.2 bb.2: SI_END_CF %5, implicit-def dead $exec, implicit-def dead $scc, implicit $exec DS_WRITE_B32_gfx9 %1, %8, 0, 0, implicit $exec :: (store (s32) into %ir.p, addrspace 3) S_ENDPGM 0 ... # 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 $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-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 $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": 17 # 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": 17 # 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": 17 # CHECK-GX-JSON: } # CHECK-GX-JSON-NEXT: }, # CHECK-GX-JSON-NEXT: { # CHECK-GX-JSON-NEXT: "instr": "%2: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": 16 # CHECK-GX-JSON-DAG: "%1": 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": 16 # 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": 16 # CHECK-GX-JSON: } # CHECK-GX-JSON-NEXT: }, # CHECK-GX-JSON-NEXT: { # CHECK-GX-JSON-NEXT: "instr": "%3: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": 15 # CHECK-GX-JSON-DAG: "%1": 2 # CHECK-GX-JSON-DAG: "%2": 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": 15 # 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": 15 # 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": "%4:sreg_32 = PHI %3, %bb.0, %5, %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": 14 # CHECK-GX-JSON-DAG: "%1": 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": 14 # 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": 14 # CHECK-GX-JSON: } # CHECK-GX-JSON-NEXT: }, # CHECK-GX-JSON-NEXT: { # CHECK-GX-JSON-NEXT: "instr": "%6:vgpr_32 = PHI %1, %bb.0, %7, %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": 13 # CHECK-GX-JSON-DAG: "%1": 0 # CHECK-GX-JSON-DAG: "%4": 14 # CHECK-GX-JSON: }, # CHECK-GX-JSON-NEXT: "furthest": { # CHECK-GX-JSON-DAG: "register": "%4", # CHECK-GX-JSON-DAG: "use": "{{[^"]+}}", # CHECK-GX-JSON-DAG: "use-mi": "{{[^"]+}}", # CHECK-GX-JSON-DAG: "distance": 14 # CHECK-GX-JSON: }, # CHECK-GX-JSON-NEXT: "furthest-subreg": { # CHECK-GX-JSON-DAG: "register": "%4", # CHECK-GX-JSON-DAG: "use": "{{[^"]+}}", # CHECK-GX-JSON-DAG: "use-mi": "{{[^"]+}}", # CHECK-GX-JSON-DAG: "distance": 14 # CHECK-GX-JSON: } # CHECK-GX-JSON-NEXT: }, # CHECK-GX-JSON-NEXT: { # CHECK-GX-JSON-NEXT: "instr": "%8:vgpr_32 = PHI %2, %bb.0, %9, %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": 12 # CHECK-GX-JSON-DAG: "%1": 2306 # CHECK-GX-JSON-DAG: "%4": 13 # CHECK-GX-JSON-DAG: "%6": 2 # CHECK-GX-JSON: }, # CHECK-GX-JSON-NEXT: "furthest": { # CHECK-GX-JSON-DAG: "register": "%1", # CHECK-GX-JSON-DAG: "use": "{{[^"]+}}", # CHECK-GX-JSON-DAG: "use-mi": "{{[^"]+}}", # CHECK-GX-JSON-DAG: "distance": 2306 # CHECK-GX-JSON: }, # CHECK-GX-JSON-NEXT: "furthest-subreg": { # CHECK-GX-JSON-DAG: "register": "%1", # CHECK-GX-JSON-DAG: "use": "{{[^"]+}}", # CHECK-GX-JSON-DAG: "use-mi": "{{[^"]+}}", # CHECK-GX-JSON-DAG: "distance": 2306 # CHECK-GX-JSON: } # CHECK-GX-JSON-NEXT: }, # CHECK-GX-JSON-NEXT: { # CHECK-GX-JSON-NEXT: "instr": "%10:sreg_32 = PHI %3, %bb.0, %11, %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": 11 # CHECK-GX-JSON-DAG: "%1": 2306 # CHECK-GX-JSON-DAG: "%4": 12 # CHECK-GX-JSON-DAG: "%6": 1 # CHECK-GX-JSON-DAG: "%8": 2306 # CHECK-GX-JSON: }, # CHECK-GX-JSON-NEXT: "furthest": { # CHECK-GX-JSON-DAG: "register": "%1", # CHECK-GX-JSON-DAG: "use": "{{[^"]+}}", # CHECK-GX-JSON-DAG: "use-mi": "{{[^"]+}}", # CHECK-GX-JSON-DAG: "distance": 2306 # CHECK-GX-JSON: }, # CHECK-GX-JSON-NEXT: "furthest-subreg": { # CHECK-GX-JSON-DAG: "register": "%1", # CHECK-GX-JSON-DAG: "use": "{{[^"]+}}", # CHECK-GX-JSON-DAG: "use-mi": "{{[^"]+}}", # CHECK-GX-JSON-DAG: "distance": 2306 # CHECK-GX-JSON: } # CHECK-GX-JSON-NEXT: }, # CHECK-GX-JSON-NEXT: { # CHECK-GX-JSON-NEXT: "instr": "%12:vgpr_32 = DS_READ_U8_gfx9 %6, 0, 0, implicit $exec :: (load (s8) from %ir.p, addrspace 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": 10 # CHECK-GX-JSON-DAG: "%1": 2306 # CHECK-GX-JSON-DAG: "%4": 11 # CHECK-GX-JSON-DAG: "%6": 0 # CHECK-GX-JSON-DAG: "%8": 2306 # CHECK-GX-JSON-DAG: "%10": 7 # CHECK-GX-JSON: }, # CHECK-GX-JSON-NEXT: "furthest": { # CHECK-GX-JSON-DAG: "register": "%1", # CHECK-GX-JSON-DAG: "use": "{{[^"]+}}", # CHECK-GX-JSON-DAG: "use-mi": "{{[^"]+}}", # CHECK-GX-JSON-DAG: "distance": 2306 # CHECK-GX-JSON: }, # CHECK-GX-JSON-NEXT: "furthest-subreg": { # CHECK-GX-JSON-DAG: "register": "%1", # CHECK-GX-JSON-DAG: "use": "{{[^"]+}}", # CHECK-GX-JSON-DAG: "use-mi": "{{[^"]+}}", # CHECK-GX-JSON-DAG: "distance": 2306 # CHECK-GX-JSON: } # CHECK-GX-JSON-NEXT: }, # CHECK-GX-JSON-NEXT: { # CHECK-GX-JSON-NEXT: "instr": "%13:vgpr_32 = DS_READ_U8_gfx9 %6, 1, 0, implicit $exec :: (load (s8) from %ir.p + 1, addrspace 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": 9 # CHECK-GX-JSON-DAG: "%1": 2306 # CHECK-GX-JSON-DAG: "%4": 10 # CHECK-GX-JSON-DAG: "%6": 0 # CHECK-GX-JSON-DAG: "%8": 2306 # CHECK-GX-JSON-DAG: "%10": 6 # CHECK-GX-JSON-DAG: "%12": 3 # CHECK-GX-JSON: }, # CHECK-GX-JSON-NEXT: "furthest": { # CHECK-GX-JSON-DAG: "register": "%1", # CHECK-GX-JSON-DAG: "use": "{{[^"]+}}", # CHECK-GX-JSON-DAG: "use-mi": "{{[^"]+}}", # CHECK-GX-JSON-DAG: "distance": 2306 # CHECK-GX-JSON: }, # CHECK-GX-JSON-NEXT: "furthest-subreg": { # CHECK-GX-JSON-DAG: "register": "%1", # CHECK-GX-JSON-DAG: "use": "{{[^"]+}}", # CHECK-GX-JSON-DAG: "use-mi": "{{[^"]+}}", # CHECK-GX-JSON-DAG: "distance": 2306 # CHECK-GX-JSON: } # CHECK-GX-JSON-NEXT: }, # CHECK-GX-JSON-NEXT: { # CHECK-GX-JSON-NEXT: "instr": "%14:vgpr_32 = DS_READ_U8_gfx9 %6, 2, 0, implicit $exec :: (load (s8) from %ir.p + 2, addrspace 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": 8 # CHECK-GX-JSON-DAG: "%1": 2306 # CHECK-GX-JSON-DAG: "%4": 9 # CHECK-GX-JSON-DAG: "%6": 0 # CHECK-GX-JSON-DAG: "%8": 2306 # CHECK-GX-JSON-DAG: "%10": 5 # CHECK-GX-JSON-DAG: "%12": 2 # CHECK-GX-JSON-DAG: "%13": 2 # CHECK-GX-JSON: }, # CHECK-GX-JSON-NEXT: "furthest": { # CHECK-GX-JSON-DAG: "register": "%1", # CHECK-GX-JSON-DAG: "use": "{{[^"]+}}", # CHECK-GX-JSON-DAG: "use-mi": "{{[^"]+}}", # CHECK-GX-JSON-DAG: "distance": 2306 # CHECK-GX-JSON: }, # CHECK-GX-JSON-NEXT: "furthest-subreg": { # CHECK-GX-JSON-DAG: "register": "%1", # CHECK-GX-JSON-DAG: "use": "{{[^"]+}}", # CHECK-GX-JSON-DAG: "use-mi": "{{[^"]+}}", # CHECK-GX-JSON-DAG: "distance": 2306 # CHECK-GX-JSON: } # CHECK-GX-JSON-NEXT: }, # CHECK-GX-JSON-NEXT: { # CHECK-GX-JSON-NEXT: "instr": "%15:vgpr_32 = DS_READ_U8_gfx9 %6, 3, 0, implicit $exec :: (load (s8) from %ir.p + 3, addrspace 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": 7 # CHECK-GX-JSON-DAG: "%1": 2306 # CHECK-GX-JSON-DAG: "%4": 8 # CHECK-GX-JSON-DAG: "%6": 0 # CHECK-GX-JSON-DAG: "%8": 2306 # CHECK-GX-JSON-DAG: "%10": 4 # CHECK-GX-JSON-DAG: "%12": 1 # CHECK-GX-JSON-DAG: "%13": 1 # CHECK-GX-JSON-DAG: "%14": 2 # CHECK-GX-JSON: }, # CHECK-GX-JSON-NEXT: "furthest": { # CHECK-GX-JSON-DAG: "register": "%1", # CHECK-GX-JSON-DAG: "use": "{{[^"]+}}", # CHECK-GX-JSON-DAG: "use-mi": "{{[^"]+}}", # CHECK-GX-JSON-DAG: "distance": 2306 # CHECK-GX-JSON: }, # CHECK-GX-JSON-NEXT: "furthest-subreg": { # CHECK-GX-JSON-DAG: "register": "%1", # CHECK-GX-JSON-DAG: "use": "{{[^"]+}}", # CHECK-GX-JSON-DAG: "use-mi": "{{[^"]+}}", # CHECK-GX-JSON-DAG: "distance": 2306 # CHECK-GX-JSON: } # CHECK-GX-JSON-NEXT: }, # CHECK-GX-JSON-NEXT: { # CHECK-GX-JSON-NEXT: "instr": "%16:vgpr_32 = V_LSHL_OR_B32_e64 %13, 8, %12, 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": 6 # CHECK-GX-JSON-DAG: "%1": 2306 # CHECK-GX-JSON-DAG: "%4": 7 # CHECK-GX-JSON-DAG: "%6": 5 # CHECK-GX-JSON-DAG: "%8": 2306 # CHECK-GX-JSON-DAG: "%10": 3 # CHECK-GX-JSON-DAG: "%12": 0 # CHECK-GX-JSON-DAG: "%13": 0 # CHECK-GX-JSON-DAG: "%14": 1 # CHECK-GX-JSON-DAG: "%15": 1 # CHECK-GX-JSON: }, # CHECK-GX-JSON-NEXT: "furthest": { # CHECK-GX-JSON-DAG: "register": "%1", # CHECK-GX-JSON-DAG: "use": "{{[^"]+}}", # CHECK-GX-JSON-DAG: "use-mi": "{{[^"]+}}", # CHECK-GX-JSON-DAG: "distance": 2306 # CHECK-GX-JSON: }, # CHECK-GX-JSON-NEXT: "furthest-subreg": { # CHECK-GX-JSON-DAG: "register": "%1", # CHECK-GX-JSON-DAG: "use": "{{[^"]+}}", # CHECK-GX-JSON-DAG: "use-mi": "{{[^"]+}}", # CHECK-GX-JSON-DAG: "distance": 2306 # CHECK-GX-JSON: } # CHECK-GX-JSON-NEXT: }, # CHECK-GX-JSON-NEXT: { # CHECK-GX-JSON-NEXT: "instr": "%17: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": 5 # CHECK-GX-JSON-DAG: "%1": 2306 # CHECK-GX-JSON-DAG: "%4": 6 # CHECK-GX-JSON-DAG: "%6": 4 # CHECK-GX-JSON-DAG: "%8": 2306 # CHECK-GX-JSON-DAG: "%10": 2 # CHECK-GX-JSON-DAG: "%14": 0 # CHECK-GX-JSON-DAG: "%15": 0 # CHECK-GX-JSON-DAG: "%16": 1 # CHECK-GX-JSON: }, # CHECK-GX-JSON-NEXT: "furthest": { # CHECK-GX-JSON-DAG: "register": "%1", # CHECK-GX-JSON-DAG: "use": "{{[^"]+}}", # CHECK-GX-JSON-DAG: "use-mi": "{{[^"]+}}", # CHECK-GX-JSON-DAG: "distance": 2306 # CHECK-GX-JSON: }, # CHECK-GX-JSON-NEXT: "furthest-subreg": { # CHECK-GX-JSON-DAG: "register": "%1", # CHECK-GX-JSON-DAG: "use": "{{[^"]+}}", # CHECK-GX-JSON-DAG: "use-mi": "{{[^"]+}}", # CHECK-GX-JSON-DAG: "distance": 2306 # CHECK-GX-JSON: } # CHECK-GX-JSON-NEXT: }, # CHECK-GX-JSON-NEXT: { # CHECK-GX-JSON-NEXT: "instr": "%18:vgpr_32 = V_LSHL_OR_B32_e64 %17, 16, %16, 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": 2306 # CHECK-GX-JSON-DAG: "%4": 5 # CHECK-GX-JSON-DAG: "%6": 3 # CHECK-GX-JSON-DAG: "%8": 2306 # CHECK-GX-JSON-DAG: "%10": 1 # CHECK-GX-JSON-DAG: "%16": 0 # CHECK-GX-JSON-DAG: "%17": 0 # CHECK-GX-JSON: }, # CHECK-GX-JSON-NEXT: "furthest": { # CHECK-GX-JSON-DAG: "register": "%1", # CHECK-GX-JSON-DAG: "use": "{{[^"]+}}", # CHECK-GX-JSON-DAG: "use-mi": "{{[^"]+}}", # CHECK-GX-JSON-DAG: "distance": 2306 # CHECK-GX-JSON: }, # CHECK-GX-JSON-NEXT: "furthest-subreg": { # CHECK-GX-JSON-DAG: "register": "%1", # CHECK-GX-JSON-DAG: "use": "{{[^"]+}}", # CHECK-GX-JSON-DAG: "use-mi": "{{[^"]+}}", # CHECK-GX-JSON-DAG: "distance": 2306 # CHECK-GX-JSON: } # CHECK-GX-JSON-NEXT: }, # CHECK-GX-JSON-NEXT: { # CHECK-GX-JSON-NEXT: "instr": "%9:vgpr_32 = V_ADD_U32_e64 %10, %18, 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": 2306 # CHECK-GX-JSON-DAG: "%4": 4 # CHECK-GX-JSON-DAG: "%6": 2 # CHECK-GX-JSON-DAG: "%8": 2306 # CHECK-GX-JSON-DAG: "%10": 0 # CHECK-GX-JSON-DAG: "%18": 0 # CHECK-GX-JSON: }, # CHECK-GX-JSON-NEXT: "furthest": { # CHECK-GX-JSON-DAG: "register": "%1", # CHECK-GX-JSON-DAG: "use": "{{[^"]+}}", # CHECK-GX-JSON-DAG: "use-mi": "{{[^"]+}}", # CHECK-GX-JSON-DAG: "distance": 2306 # CHECK-GX-JSON: }, # CHECK-GX-JSON-NEXT: "furthest-subreg": { # CHECK-GX-JSON-DAG: "register": "%1", # CHECK-GX-JSON-DAG: "use": "{{[^"]+}}", # CHECK-GX-JSON-DAG: "use-mi": "{{[^"]+}}", # CHECK-GX-JSON-DAG: "distance": 2306 # CHECK-GX-JSON: } # CHECK-GX-JSON-NEXT: }, # CHECK-GX-JSON-NEXT: { # CHECK-GX-JSON-NEXT: "instr": "%11:sreg_32 = S_ADD_I32 %10, 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": 2 # CHECK-GX-JSON-DAG: "%1": 2306 # CHECK-GX-JSON-DAG: "%4": 3 # CHECK-GX-JSON-DAG: "%6": 1 # CHECK-GX-JSON-DAG: "%8": 2306 # CHECK-GX-JSON-DAG: "%10": 0 # CHECK-GX-JSON: }, # CHECK-GX-JSON-NEXT: "furthest": { # CHECK-GX-JSON-DAG: "register": "%1", # CHECK-GX-JSON-DAG: "use": "{{[^"]+}}", # CHECK-GX-JSON-DAG: "use-mi": "{{[^"]+}}", # CHECK-GX-JSON-DAG: "distance": 2306 # CHECK-GX-JSON: }, # CHECK-GX-JSON-NEXT: "furthest-subreg": { # CHECK-GX-JSON-DAG: "register": "%1", # CHECK-GX-JSON-DAG: "use": "{{[^"]+}}", # CHECK-GX-JSON-DAG: "use-mi": "{{[^"]+}}", # CHECK-GX-JSON-DAG: "distance": 2306 # CHECK-GX-JSON: } # CHECK-GX-JSON-NEXT: }, # CHECK-GX-JSON-NEXT: { # CHECK-GX-JSON-NEXT: "instr": "%7:vgpr_32 = V_ADD_U32_e64 4, %6, 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": 1 # CHECK-GX-JSON-DAG: "%1": 2306 # CHECK-GX-JSON-DAG: "%4": 2 # CHECK-GX-JSON-DAG: "%6": 0 # CHECK-GX-JSON-DAG: "%8": 2306 # CHECK-GX-JSON-DAG: "%11": 1 # CHECK-GX-JSON: }, # CHECK-GX-JSON-NEXT: "furthest": { # CHECK-GX-JSON-DAG: "register": "%1", # CHECK-GX-JSON-DAG: "use": "{{[^"]+}}", # CHECK-GX-JSON-DAG: "use-mi": "{{[^"]+}}", # CHECK-GX-JSON-DAG: "distance": 2306 # CHECK-GX-JSON: }, # CHECK-GX-JSON-NEXT: "furthest-subreg": { # CHECK-GX-JSON-DAG: "register": "%1", # CHECK-GX-JSON-DAG: "use": "{{[^"]+}}", # CHECK-GX-JSON-DAG: "use-mi": "{{[^"]+}}", # CHECK-GX-JSON-DAG: "distance": 2306 # CHECK-GX-JSON: } # CHECK-GX-JSON-NEXT: }, # CHECK-GX-JSON-NEXT: { # CHECK-GX-JSON-NEXT: "instr": "%19:sreg_32 = V_CMP_GE_U32_e64 %11, %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": 2306 # CHECK-GX-JSON-DAG: "%4": 1 # CHECK-GX-JSON-DAG: "%8": 2306 # CHECK-GX-JSON-DAG: "%11": 0 # CHECK-GX-JSON: }, # CHECK-GX-JSON-NEXT: "furthest": { # CHECK-GX-JSON-DAG: "register": "%1", # CHECK-GX-JSON-DAG: "use": "{{[^"]+}}", # CHECK-GX-JSON-DAG: "use-mi": "{{[^"]+}}", # CHECK-GX-JSON-DAG: "distance": 2306 # CHECK-GX-JSON: }, # CHECK-GX-JSON-NEXT: "furthest-subreg": { # CHECK-GX-JSON-DAG: "register": "%1", # CHECK-GX-JSON-DAG: "use": "{{[^"]+}}", # CHECK-GX-JSON-DAG: "use-mi": "{{[^"]+}}", # CHECK-GX-JSON-DAG: "distance": 2306 # CHECK-GX-JSON: } # CHECK-GX-JSON-NEXT: }, # CHECK-GX-JSON-NEXT: { # CHECK-GX-JSON-NEXT: "instr": "%5:sreg_32 = SI_IF_BREAK %19, %4, 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": 2306 # CHECK-GX-JSON-DAG: "%4": 0 # CHECK-GX-JSON-DAG: "%8": 2306 # CHECK-GX-JSON-DAG: "%19": 0 # CHECK-GX-JSON: }, # CHECK-GX-JSON-NEXT: "furthest": { # CHECK-GX-JSON-DAG: "register": "%1", # CHECK-GX-JSON-DAG: "use": "{{[^"]+}}", # CHECK-GX-JSON-DAG: "use-mi": "{{[^"]+}}", # CHECK-GX-JSON-DAG: "distance": 2306 # CHECK-GX-JSON: }, # CHECK-GX-JSON-NEXT: "furthest-subreg": { # CHECK-GX-JSON-DAG: "register": "%1", # CHECK-GX-JSON-DAG: "use": "{{[^"]+}}", # CHECK-GX-JSON-DAG: "use-mi": "{{[^"]+}}", # CHECK-GX-JSON-DAG: "distance": 2306 # CHECK-GX-JSON: } # CHECK-GX-JSON-NEXT: }, # CHECK-GX-JSON-NEXT: { # CHECK-GX-JSON-NEXT: "instr": "SI_LOOP %5, %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": 2306 # CHECK-GX-JSON-DAG: "%5": 0 # CHECK-GX-JSON-DAG: "%8": 2306 # CHECK-GX-JSON: }, # CHECK-GX-JSON-NEXT: "furthest": { # CHECK-GX-JSON-DAG: "register": "%1", # CHECK-GX-JSON-DAG: "use": "{{[^"]+}}", # CHECK-GX-JSON-DAG: "use-mi": "{{[^"]+}}", # CHECK-GX-JSON-DAG: "distance": 2306 # CHECK-GX-JSON: }, # CHECK-GX-JSON-NEXT: "furthest-subreg": { # CHECK-GX-JSON-DAG: "register": "%1", # CHECK-GX-JSON-DAG: "use": "{{[^"]+}}", # CHECK-GX-JSON-DAG: "use-mi": "{{[^"]+}}", # CHECK-GX-JSON-DAG: "distance": 2306 # 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: "%1": 2306 # CHECK-GX-JSON-DAG: "%5": 2305 # CHECK-GX-JSON-DAG: "%8": 2306 # CHECK-GX-JSON: }, # CHECK-GX-JSON-NEXT: "furthest": { # CHECK-GX-JSON-DAG: "register": "%1", # CHECK-GX-JSON-DAG: "use": "{{[^"]+}}", # CHECK-GX-JSON-DAG: "use-mi": "{{[^"]+}}", # CHECK-GX-JSON-DAG: "distance": 2306 # CHECK-GX-JSON: }, # CHECK-GX-JSON-NEXT: "furthest-subreg": { # CHECK-GX-JSON-DAG: "register": "%1", # CHECK-GX-JSON-DAG: "use": "{{[^"]+}}", # CHECK-GX-JSON-DAG: "use-mi": "{{[^"]+}}", # CHECK-GX-JSON-DAG: "distance": 2306 # 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 %5, 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: "%5": 0 # CHECK-GX-JSON-DAG: "%8": 1 # CHECK-GX-JSON: }, # CHECK-GX-JSON-NEXT: "furthest": { # CHECK-GX-JSON-DAG: "register": "%1", # 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": "%1", # 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": "DS_WRITE_B32_gfx9 %1, %8, 0, 0, implicit $exec :: (store (s32) into %ir.p, addrspace 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: "%1": 0 # CHECK-GX-JSON-DAG: "%8": 0 # CHECK-GX-JSON: }, # CHECK-GX-JSON-NEXT: "furthest": { # CHECK-GX-JSON-DAG: "register": "%1", # 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": "%1", # 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": "S_ENDPGM 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-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": 18, # CHECK-GX-JSON-DAG: "%1": 4, # CHECK-GX-JSON-DAG: "%2": 4, # CHECK-GX-JSON-DAG: "%3": 1, # CHECK-GX-JSON-DAG: "%4": 15, # CHECK-GX-JSON-DAG: "%6": 3, # CHECK-GX-JSON-DAG: "%8": 2306, # CHECK-GX-JSON-DAG: "%10": 8, # CHECK-GX-JSON-DAG: "%12": 4, # CHECK-GX-JSON-DAG: "%13": 3, # CHECK-GX-JSON-DAG: "%14": 3, # CHECK-GX-JSON-DAG: "%15": 2, # CHECK-GX-JSON-DAG: "%16": 2, # CHECK-GX-JSON-DAG: "%17": 1, # CHECK-GX-JSON-DAG: "%18": 1, # CHECK-GX-JSON-DAG: "%9": "", # CHECK-GX-JSON-DAG: "%11": 2, # CHECK-GX-JSON-DAG: "%7": "", # CHECK-GX-JSON-DAG: "%19": 1, # CHECK-GX-JSON-DAG: "%5": 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: } # 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 $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-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 $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": 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": 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": "%2: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": 1 # CHECK-CP-JSON-DAG: "%1": 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": 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": "%3: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: "%2": 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": "%4:sreg_32 = PHI %3, %bb.0, %5, %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": 10 # CHECK-CP-JSON-DAG: "%1": 1794 # CHECK-CP-JSON: }, # CHECK-CP-JSON-NEXT: "furthest": { # CHECK-CP-JSON-DAG: "register": "%1", # CHECK-CP-JSON-DAG: "use": "{{[^"]+}}", # CHECK-CP-JSON-DAG: "use-mi": "{{[^"]+}}", # CHECK-CP-JSON-DAG: "distance": 1794 # CHECK-CP-JSON: }, # CHECK-CP-JSON-NEXT: "furthest-subreg": { # CHECK-CP-JSON-DAG: "register": "%1", # CHECK-CP-JSON-DAG: "use": "{{[^"]+}}", # CHECK-CP-JSON-DAG: "use-mi": "{{[^"]+}}", # CHECK-CP-JSON-DAG: "distance": 1794 # CHECK-CP-JSON: } # CHECK-CP-JSON-NEXT: }, # CHECK-CP-JSON-NEXT: { # CHECK-CP-JSON-NEXT: "instr": "%6:vgpr_32 = PHI %1, %bb.0, %7, %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": 10 # CHECK-CP-JSON-DAG: "%1": 1794 # CHECK-CP-JSON-DAG: "%4": 11 # CHECK-CP-JSON: }, # CHECK-CP-JSON-NEXT: "furthest": { # CHECK-CP-JSON-DAG: "register": "%1", # CHECK-CP-JSON-DAG: "use": "{{[^"]+}}", # CHECK-CP-JSON-DAG: "use-mi": "{{[^"]+}}", # CHECK-CP-JSON-DAG: "distance": 1794 # CHECK-CP-JSON: }, # CHECK-CP-JSON-NEXT: "furthest-subreg": { # CHECK-CP-JSON-DAG: "register": "%1", # CHECK-CP-JSON-DAG: "use": "{{[^"]+}}", # CHECK-CP-JSON-DAG: "use-mi": "{{[^"]+}}", # CHECK-CP-JSON-DAG: "distance": 1794 # CHECK-CP-JSON: } # CHECK-CP-JSON-NEXT: }, # CHECK-CP-JSON-NEXT: { # CHECK-CP-JSON-NEXT: "instr": "%8:vgpr_32 = PHI %2, %bb.0, %9, %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": 10 # CHECK-CP-JSON-DAG: "%1": 1794 # CHECK-CP-JSON-DAG: "%4": 11 # CHECK-CP-JSON-DAG: "%6": 0 # CHECK-CP-JSON: }, # CHECK-CP-JSON-NEXT: "furthest": { # CHECK-CP-JSON-DAG: "register": "%1", # CHECK-CP-JSON-DAG: "use": "{{[^"]+}}", # CHECK-CP-JSON-DAG: "use-mi": "{{[^"]+}}", # CHECK-CP-JSON-DAG: "distance": 1794 # CHECK-CP-JSON: }, # CHECK-CP-JSON-NEXT: "furthest-subreg": { # CHECK-CP-JSON-DAG: "register": "%1", # CHECK-CP-JSON-DAG: "use": "{{[^"]+}}", # CHECK-CP-JSON-DAG: "use-mi": "{{[^"]+}}", # CHECK-CP-JSON-DAG: "distance": 1794 # CHECK-CP-JSON: } # CHECK-CP-JSON-NEXT: }, # CHECK-CP-JSON-NEXT: { # CHECK-CP-JSON-NEXT: "instr": "%10:sreg_32 = PHI %3, %bb.0, %11, %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": 10 # CHECK-CP-JSON-DAG: "%1": 1794 # CHECK-CP-JSON-DAG: "%4": 11 # CHECK-CP-JSON-DAG: "%6": 0 # CHECK-CP-JSON-DAG: "%8": 1794 # CHECK-CP-JSON: }, # CHECK-CP-JSON-NEXT: "furthest": { # CHECK-CP-JSON-DAG: "register": "%1", # CHECK-CP-JSON-DAG: "use": "{{[^"]+}}", # CHECK-CP-JSON-DAG: "use-mi": "{{[^"]+}}", # CHECK-CP-JSON-DAG: "distance": 1794 # CHECK-CP-JSON: }, # CHECK-CP-JSON-NEXT: "furthest-subreg": { # CHECK-CP-JSON-DAG: "register": "%1", # CHECK-CP-JSON-DAG: "use": "{{[^"]+}}", # CHECK-CP-JSON-DAG: "use-mi": "{{[^"]+}}", # CHECK-CP-JSON-DAG: "distance": 1794 # CHECK-CP-JSON: } # CHECK-CP-JSON-NEXT: }, # CHECK-CP-JSON-NEXT: { # CHECK-CP-JSON-NEXT: "instr": "%12:vgpr_32 = DS_READ_U8_gfx9 %6, 0, 0, implicit $exec :: (load (s8) from %ir.p, addrspace 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": 10 # CHECK-CP-JSON-DAG: "%1": 1794 # CHECK-CP-JSON-DAG: "%4": 11 # CHECK-CP-JSON-DAG: "%6": 0 # CHECK-CP-JSON-DAG: "%8": 1794 # CHECK-CP-JSON-DAG: "%10": 7 # CHECK-CP-JSON: }, # CHECK-CP-JSON-NEXT: "furthest": { # CHECK-CP-JSON-DAG: "register": "%1", # CHECK-CP-JSON-DAG: "use": "{{[^"]+}}", # CHECK-CP-JSON-DAG: "use-mi": "{{[^"]+}}", # CHECK-CP-JSON-DAG: "distance": 1794 # CHECK-CP-JSON: }, # CHECK-CP-JSON-NEXT: "furthest-subreg": { # CHECK-CP-JSON-DAG: "register": "%1", # CHECK-CP-JSON-DAG: "use": "{{[^"]+}}", # CHECK-CP-JSON-DAG: "use-mi": "{{[^"]+}}", # CHECK-CP-JSON-DAG: "distance": 1794 # CHECK-CP-JSON: } # CHECK-CP-JSON-NEXT: }, # CHECK-CP-JSON-NEXT: { # CHECK-CP-JSON-NEXT: "instr": "%13:vgpr_32 = DS_READ_U8_gfx9 %6, 1, 0, implicit $exec :: (load (s8) from %ir.p + 1, addrspace 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": 9 # CHECK-CP-JSON-DAG: "%1": 1794 # CHECK-CP-JSON-DAG: "%4": 10 # CHECK-CP-JSON-DAG: "%6": 0 # CHECK-CP-JSON-DAG: "%8": 1794 # CHECK-CP-JSON-DAG: "%10": 6 # CHECK-CP-JSON-DAG: "%12": 3 # CHECK-CP-JSON: }, # CHECK-CP-JSON-NEXT: "furthest": { # CHECK-CP-JSON-DAG: "register": "%1", # CHECK-CP-JSON-DAG: "use": "{{[^"]+}}", # CHECK-CP-JSON-DAG: "use-mi": "{{[^"]+}}", # CHECK-CP-JSON-DAG: "distance": 1794 # CHECK-CP-JSON: }, # CHECK-CP-JSON-NEXT: "furthest-subreg": { # CHECK-CP-JSON-DAG: "register": "%1", # CHECK-CP-JSON-DAG: "use": "{{[^"]+}}", # CHECK-CP-JSON-DAG: "use-mi": "{{[^"]+}}", # CHECK-CP-JSON-DAG: "distance": 1794 # CHECK-CP-JSON: } # CHECK-CP-JSON-NEXT: }, # CHECK-CP-JSON-NEXT: { # CHECK-CP-JSON-NEXT: "instr": "%14:vgpr_32 = DS_READ_U8_gfx9 %6, 2, 0, implicit $exec :: (load (s8) from %ir.p + 2, addrspace 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": 8 # CHECK-CP-JSON-DAG: "%1": 1794 # CHECK-CP-JSON-DAG: "%4": 9 # CHECK-CP-JSON-DAG: "%6": 0 # CHECK-CP-JSON-DAG: "%8": 1794 # CHECK-CP-JSON-DAG: "%10": 5 # CHECK-CP-JSON-DAG: "%12": 2 # CHECK-CP-JSON-DAG: "%13": 2 # CHECK-CP-JSON: }, # CHECK-CP-JSON-NEXT: "furthest": { # CHECK-CP-JSON-DAG: "register": "%1", # CHECK-CP-JSON-DAG: "use": "{{[^"]+}}", # CHECK-CP-JSON-DAG: "use-mi": "{{[^"]+}}", # CHECK-CP-JSON-DAG: "distance": 1794 # CHECK-CP-JSON: }, # CHECK-CP-JSON-NEXT: "furthest-subreg": { # CHECK-CP-JSON-DAG: "register": "%1", # CHECK-CP-JSON-DAG: "use": "{{[^"]+}}", # CHECK-CP-JSON-DAG: "use-mi": "{{[^"]+}}", # CHECK-CP-JSON-DAG: "distance": 1794 # CHECK-CP-JSON: } # CHECK-CP-JSON-NEXT: }, # CHECK-CP-JSON-NEXT: { # CHECK-CP-JSON-NEXT: "instr": "%15:vgpr_32 = DS_READ_U8_gfx9 %6, 3, 0, implicit $exec :: (load (s8) from %ir.p + 3, addrspace 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": 7 # CHECK-CP-JSON-DAG: "%1": 1794 # CHECK-CP-JSON-DAG: "%4": 8 # CHECK-CP-JSON-DAG: "%6": 0 # CHECK-CP-JSON-DAG: "%8": 1794 # CHECK-CP-JSON-DAG: "%10": 4 # CHECK-CP-JSON-DAG: "%12": 1 # CHECK-CP-JSON-DAG: "%13": 1 # CHECK-CP-JSON-DAG: "%14": 2 # CHECK-CP-JSON: }, # CHECK-CP-JSON-NEXT: "furthest": { # CHECK-CP-JSON-DAG: "register": "%1", # CHECK-CP-JSON-DAG: "use": "{{[^"]+}}", # CHECK-CP-JSON-DAG: "use-mi": "{{[^"]+}}", # CHECK-CP-JSON-DAG: "distance": 1794 # CHECK-CP-JSON: }, # CHECK-CP-JSON-NEXT: "furthest-subreg": { # CHECK-CP-JSON-DAG: "register": "%1", # CHECK-CP-JSON-DAG: "use": "{{[^"]+}}", # CHECK-CP-JSON-DAG: "use-mi": "{{[^"]+}}", # CHECK-CP-JSON-DAG: "distance": 1794 # CHECK-CP-JSON: } # CHECK-CP-JSON-NEXT: }, # CHECK-CP-JSON-NEXT: { # CHECK-CP-JSON-NEXT: "instr": "%16:vgpr_32 = V_LSHL_OR_B32_e64 %13, 8, %12, 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": 1794 # CHECK-CP-JSON-DAG: "%4": 7 # CHECK-CP-JSON-DAG: "%6": 5 # CHECK-CP-JSON-DAG: "%8": 1794 # CHECK-CP-JSON-DAG: "%10": 3 # CHECK-CP-JSON-DAG: "%12": 0 # CHECK-CP-JSON-DAG: "%13": 0 # CHECK-CP-JSON-DAG: "%14": 1 # CHECK-CP-JSON-DAG: "%15": 1 # CHECK-CP-JSON: }, # CHECK-CP-JSON-NEXT: "furthest": { # CHECK-CP-JSON-DAG: "register": "%1", # CHECK-CP-JSON-DAG: "use": "{{[^"]+}}", # CHECK-CP-JSON-DAG: "use-mi": "{{[^"]+}}", # CHECK-CP-JSON-DAG: "distance": 1794 # CHECK-CP-JSON: }, # CHECK-CP-JSON-NEXT: "furthest-subreg": { # CHECK-CP-JSON-DAG: "register": "%1", # CHECK-CP-JSON-DAG: "use": "{{[^"]+}}", # CHECK-CP-JSON-DAG: "use-mi": "{{[^"]+}}", # CHECK-CP-JSON-DAG: "distance": 1794 # CHECK-CP-JSON: } # CHECK-CP-JSON-NEXT: }, # CHECK-CP-JSON-NEXT: { # CHECK-CP-JSON-NEXT: "instr": "%17: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": 5 # CHECK-CP-JSON-DAG: "%1": 1794 # CHECK-CP-JSON-DAG: "%4": 6 # CHECK-CP-JSON-DAG: "%6": 4 # CHECK-CP-JSON-DAG: "%8": 1794 # CHECK-CP-JSON-DAG: "%10": 2 # CHECK-CP-JSON-DAG: "%14": 0 # CHECK-CP-JSON-DAG: "%15": 0 # CHECK-CP-JSON-DAG: "%16": 1 # CHECK-CP-JSON: }, # CHECK-CP-JSON-NEXT: "furthest": { # CHECK-CP-JSON-DAG: "register": "%1", # CHECK-CP-JSON-DAG: "use": "{{[^"]+}}", # CHECK-CP-JSON-DAG: "use-mi": "{{[^"]+}}", # CHECK-CP-JSON-DAG: "distance": 1794 # CHECK-CP-JSON: }, # CHECK-CP-JSON-NEXT: "furthest-subreg": { # CHECK-CP-JSON-DAG: "register": "%1", # CHECK-CP-JSON-DAG: "use": "{{[^"]+}}", # CHECK-CP-JSON-DAG: "use-mi": "{{[^"]+}}", # CHECK-CP-JSON-DAG: "distance": 1794 # CHECK-CP-JSON: } # CHECK-CP-JSON-NEXT: }, # CHECK-CP-JSON-NEXT: { # CHECK-CP-JSON-NEXT: "instr": "%18:vgpr_32 = V_LSHL_OR_B32_e64 %17, 16, %16, 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": 1794 # CHECK-CP-JSON-DAG: "%4": 5 # CHECK-CP-JSON-DAG: "%6": 3 # CHECK-CP-JSON-DAG: "%8": 1794 # CHECK-CP-JSON-DAG: "%10": 1 # CHECK-CP-JSON-DAG: "%16": 0 # CHECK-CP-JSON-DAG: "%17": 0 # CHECK-CP-JSON: }, # CHECK-CP-JSON-NEXT: "furthest": { # CHECK-CP-JSON-DAG: "register": "%1", # CHECK-CP-JSON-DAG: "use": "{{[^"]+}}", # CHECK-CP-JSON-DAG: "use-mi": "{{[^"]+}}", # CHECK-CP-JSON-DAG: "distance": 1794 # CHECK-CP-JSON: }, # CHECK-CP-JSON-NEXT: "furthest-subreg": { # CHECK-CP-JSON-DAG: "register": "%1", # CHECK-CP-JSON-DAG: "use": "{{[^"]+}}", # CHECK-CP-JSON-DAG: "use-mi": "{{[^"]+}}", # CHECK-CP-JSON-DAG: "distance": 1794 # CHECK-CP-JSON: } # CHECK-CP-JSON-NEXT: }, # CHECK-CP-JSON-NEXT: { # CHECK-CP-JSON-NEXT: "instr": "%9:vgpr_32 = V_ADD_U32_e64 %10, %18, 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": 1794 # CHECK-CP-JSON-DAG: "%4": 4 # CHECK-CP-JSON-DAG: "%6": 2 # CHECK-CP-JSON-DAG: "%8": 1794 # CHECK-CP-JSON-DAG: "%10": 0 # CHECK-CP-JSON-DAG: "%18": 0 # CHECK-CP-JSON: }, # CHECK-CP-JSON-NEXT: "furthest": { # CHECK-CP-JSON-DAG: "register": "%1", # CHECK-CP-JSON-DAG: "use": "{{[^"]+}}", # CHECK-CP-JSON-DAG: "use-mi": "{{[^"]+}}", # CHECK-CP-JSON-DAG: "distance": 1794 # CHECK-CP-JSON: }, # CHECK-CP-JSON-NEXT: "furthest-subreg": { # CHECK-CP-JSON-DAG: "register": "%1", # CHECK-CP-JSON-DAG: "use": "{{[^"]+}}", # CHECK-CP-JSON-DAG: "use-mi": "{{[^"]+}}", # CHECK-CP-JSON-DAG: "distance": 1794 # CHECK-CP-JSON: } # CHECK-CP-JSON-NEXT: }, # CHECK-CP-JSON-NEXT: { # CHECK-CP-JSON-NEXT: "instr": "%11:sreg_32 = S_ADD_I32 %10, 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": 2 # CHECK-CP-JSON-DAG: "%1": 1794 # CHECK-CP-JSON-DAG: "%4": 3 # CHECK-CP-JSON-DAG: "%6": 1 # CHECK-CP-JSON-DAG: "%8": 1794 # CHECK-CP-JSON-DAG: "%9": 5 # CHECK-CP-JSON-DAG: "%10": 0 # CHECK-CP-JSON: }, # CHECK-CP-JSON-NEXT: "furthest": { # CHECK-CP-JSON-DAG: "register": "%1", # CHECK-CP-JSON-DAG: "use": "{{[^"]+}}", # CHECK-CP-JSON-DAG: "use-mi": "{{[^"]+}}", # CHECK-CP-JSON-DAG: "distance": 1794 # CHECK-CP-JSON: }, # CHECK-CP-JSON-NEXT: "furthest-subreg": { # CHECK-CP-JSON-DAG: "register": "%1", # CHECK-CP-JSON-DAG: "use": "{{[^"]+}}", # CHECK-CP-JSON-DAG: "use-mi": "{{[^"]+}}", # CHECK-CP-JSON-DAG: "distance": 1794 # CHECK-CP-JSON: } # CHECK-CP-JSON-NEXT: }, # CHECK-CP-JSON-NEXT: { # CHECK-CP-JSON-NEXT: "instr": "%7:vgpr_32 = V_ADD_U32_e64 4, %6, 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": 1 # CHECK-CP-JSON-DAG: "%1": 1794 # CHECK-CP-JSON-DAG: "%4": 2 # CHECK-CP-JSON-DAG: "%6": 0 # CHECK-CP-JSON-DAG: "%8": 1794 # CHECK-CP-JSON-DAG: "%9": 4 # CHECK-CP-JSON-DAG: "%11": 1 # CHECK-CP-JSON: }, # CHECK-CP-JSON-NEXT: "furthest": { # CHECK-CP-JSON-DAG: "register": "%1", # CHECK-CP-JSON-DAG: "use": "{{[^"]+}}", # CHECK-CP-JSON-DAG: "use-mi": "{{[^"]+}}", # CHECK-CP-JSON-DAG: "distance": 1794 # CHECK-CP-JSON: }, # CHECK-CP-JSON-NEXT: "furthest-subreg": { # CHECK-CP-JSON-DAG: "register": "%1", # CHECK-CP-JSON-DAG: "use": "{{[^"]+}}", # CHECK-CP-JSON-DAG: "use-mi": "{{[^"]+}}", # CHECK-CP-JSON-DAG: "distance": 1794 # CHECK-CP-JSON: } # CHECK-CP-JSON-NEXT: }, # CHECK-CP-JSON-NEXT: { # CHECK-CP-JSON-NEXT: "instr": "%19:sreg_32 = V_CMP_GE_U32_e64 %11, %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": 1794 # CHECK-CP-JSON-DAG: "%4": 1 # CHECK-CP-JSON-DAG: "%7": 3 # CHECK-CP-JSON-DAG: "%8": 1794 # CHECK-CP-JSON-DAG: "%9": 3 # CHECK-CP-JSON-DAG: "%11": 0 # CHECK-CP-JSON: }, # CHECK-CP-JSON-NEXT: "furthest": { # CHECK-CP-JSON-DAG: "register": "%1", # CHECK-CP-JSON-DAG: "use": "{{[^"]+}}", # CHECK-CP-JSON-DAG: "use-mi": "{{[^"]+}}", # CHECK-CP-JSON-DAG: "distance": 1794 # CHECK-CP-JSON: }, # CHECK-CP-JSON-NEXT: "furthest-subreg": { # CHECK-CP-JSON-DAG: "register": "%1", # CHECK-CP-JSON-DAG: "use": "{{[^"]+}}", # CHECK-CP-JSON-DAG: "use-mi": "{{[^"]+}}", # CHECK-CP-JSON-DAG: "distance": 1794 # CHECK-CP-JSON: } # CHECK-CP-JSON-NEXT: }, # CHECK-CP-JSON-NEXT: { # CHECK-CP-JSON-NEXT: "instr": "%5:sreg_32 = SI_IF_BREAK %19, %4, 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": 27 # CHECK-CP-JSON-DAG: "%1": 1794 # CHECK-CP-JSON-DAG: "%4": 0 # CHECK-CP-JSON-DAG: "%7": 2 # CHECK-CP-JSON-DAG: "%8": 1794 # CHECK-CP-JSON-DAG: "%9": 2 # CHECK-CP-JSON-DAG: "%11": 2 # CHECK-CP-JSON-DAG: "%19": 0 # CHECK-CP-JSON: }, # CHECK-CP-JSON-NEXT: "furthest": { # CHECK-CP-JSON-DAG: "register": "%1", # CHECK-CP-JSON-DAG: "use": "{{[^"]+}}", # CHECK-CP-JSON-DAG: "use-mi": "{{[^"]+}}", # CHECK-CP-JSON-DAG: "distance": 1794 # CHECK-CP-JSON: }, # CHECK-CP-JSON-NEXT: "furthest-subreg": { # CHECK-CP-JSON-DAG: "register": "%1", # CHECK-CP-JSON-DAG: "use": "{{[^"]+}}", # CHECK-CP-JSON-DAG: "use-mi": "{{[^"]+}}", # CHECK-CP-JSON-DAG: "distance": 1794 # CHECK-CP-JSON: } # CHECK-CP-JSON-NEXT: }, # CHECK-CP-JSON-NEXT: { # CHECK-CP-JSON-NEXT: "instr": "SI_LOOP %5, %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": 26 # CHECK-CP-JSON-DAG: "%1": 1794 # CHECK-CP-JSON-DAG: "%5": 0 # CHECK-CP-JSON-DAG: "%7": 1 # CHECK-CP-JSON-DAG: "%8": 1794 # CHECK-CP-JSON-DAG: "%9": 1 # CHECK-CP-JSON-DAG: "%11": 1 # CHECK-CP-JSON: }, # CHECK-CP-JSON-NEXT: "furthest": { # CHECK-CP-JSON-DAG: "register": "%1", # CHECK-CP-JSON-DAG: "use": "{{[^"]+}}", # CHECK-CP-JSON-DAG: "use-mi": "{{[^"]+}}", # CHECK-CP-JSON-DAG: "distance": 1794 # CHECK-CP-JSON: }, # CHECK-CP-JSON-NEXT: "furthest-subreg": { # CHECK-CP-JSON-DAG: "register": "%1", # CHECK-CP-JSON-DAG: "use": "{{[^"]+}}", # CHECK-CP-JSON-DAG: "use-mi": "{{[^"]+}}", # CHECK-CP-JSON-DAG: "distance": 1794 # 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": 25 # CHECK-CP-JSON-DAG: "%1": 1794 # CHECK-CP-JSON-DAG: "%5": 0 # CHECK-CP-JSON-DAG: "%7": 0 # CHECK-CP-JSON-DAG: "%8": 1794 # CHECK-CP-JSON-DAG: "%9": 0 # CHECK-CP-JSON-DAG: "%11": 0 # CHECK-CP-JSON: }, # CHECK-CP-JSON-NEXT: "furthest": { # CHECK-CP-JSON-DAG: "register": "%1", # CHECK-CP-JSON-DAG: "use": "{{[^"]+}}", # CHECK-CP-JSON-DAG: "use-mi": "{{[^"]+}}", # CHECK-CP-JSON-DAG: "distance": 1794 # CHECK-CP-JSON: }, # CHECK-CP-JSON-NEXT: "furthest-subreg": { # CHECK-CP-JSON-DAG: "register": "%1", # CHECK-CP-JSON-DAG: "use": "{{[^"]+}}", # CHECK-CP-JSON-DAG: "use-mi": "{{[^"]+}}", # CHECK-CP-JSON-DAG: "distance": 1794 # 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 %5, 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: "%5": 0 # CHECK-CP-JSON-DAG: "%8": 1 # CHECK-CP-JSON: }, # CHECK-CP-JSON-NEXT: "furthest": { # CHECK-CP-JSON-DAG: "register": "%1", # 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": "%1", # 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": "DS_WRITE_B32_gfx9 %1, %8, 0, 0, implicit $exec :: (store (s32) into %ir.p, addrspace 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: "%1": 0 # CHECK-CP-JSON-DAG: "%8": 0 # CHECK-CP-JSON: }, # CHECK-CP-JSON-NEXT: "furthest": { # CHECK-CP-JSON-DAG: "register": "%1", # 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": "%1", # 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": "S_ENDPGM 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-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": 3, # CHECK-CP-JSON-DAG: "%1": 2, # CHECK-CP-JSON-DAG: "%2": 1, # CHECK-CP-JSON-DAG: "%3": 0, # CHECK-CP-JSON-DAG: "%4": 11, # CHECK-CP-JSON-DAG: "%6": 0, # CHECK-CP-JSON-DAG: "%8": 1794, # CHECK-CP-JSON-DAG: "%10": 7, # CHECK-CP-JSON-DAG: "%12": 4, # CHECK-CP-JSON-DAG: "%13": 3, # CHECK-CP-JSON-DAG: "%14": 3, # CHECK-CP-JSON-DAG: "%15": 2, # CHECK-CP-JSON-DAG: "%16": 2, # CHECK-CP-JSON-DAG: "%17": 1, # CHECK-CP-JSON-DAG: "%18": 1, # CHECK-CP-JSON-DAG: "%9": 6, # CHECK-CP-JSON-DAG: "%11": 2, # CHECK-CP-JSON-DAG: "%7": 4, # CHECK-CP-JSON-DAG: "%19": 1, # CHECK-CP-JSON-DAG: "%5": 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: }