# 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 --- name: test1 tracksRegLiveness: true body: | bb.0: successors: %bb.3(0x40000000), %bb.1(0x40000000) liveins: $vgpr0, $vgpr1, $vgpr2, $vgpr3, $vgpr4 %0:vgpr_32 = COPY $vgpr4 %1:vgpr_32 = COPY $vgpr3 %2:vgpr_32 = COPY $vgpr2 %3:vgpr_32 = COPY $vgpr1 %4:vgpr_32 = COPY $vgpr0 %5:vgpr_32 = V_AND_B32_e64 1, %2, implicit $exec %6:sreg_32 = V_CMP_NE_U32_e64 1, %5, implicit $exec %7:sreg_32 = SI_IF %6, %bb.1, implicit-def dead $exec, implicit-def dead $scc, implicit $exec S_BRANCH %bb.3 bb.1: successors: %bb.2(0x40000000), %bb.4(0x40000000) %8:vreg_64 = PHI undef %9:vreg_64, %bb.0, %10, %bb.3 %11:vgpr_32 = PHI %4, %bb.0, undef %12:vgpr_32, %bb.3 %13:sreg_32 = SI_ELSE %7, %bb.4, implicit-def dead $exec, implicit-def dead $scc, implicit $exec S_BRANCH %bb.2 bb.2: successors: %bb.4(0x80000000) %14:vgpr_32 = DS_READ_U8_gfx9 %11, 0, 0, implicit $exec %15:vgpr_32 = DS_READ_U8_gfx9 %11, 1, 0, implicit $exec %16:vgpr_32 = DS_READ_U8_gfx9 %11, 2, 0, implicit $exec %17:vgpr_32 = DS_READ_U8_gfx9 %11, 3, 0, implicit $exec %18:vgpr_32 = DS_READ_U8_gfx9 %11, 4, 0, implicit $exec %19:vgpr_32 = DS_READ_U8_gfx9 %11, 5, 0, implicit $exec %20:vgpr_32 = DS_READ_U8_gfx9 %11, 6, 0, implicit $exec %21:vgpr_32 = DS_READ_U8_gfx9 %11, 7, 0, implicit $exec %22:vgpr_32 = V_LSHL_OR_B32_e64 %19, 8, %18, implicit $exec %23:vgpr_32 = V_LSHL_OR_B32_e64 %21, 8, %20, implicit $exec %24:vgpr_32 = V_LSHL_OR_B32_e64 %23, 16, %22, implicit $exec %25:vgpr_32 = V_LSHL_OR_B32_e64 %15, 8, %14, implicit $exec %26:vgpr_32 = V_LSHL_OR_B32_e64 %17, 8, %16, implicit $exec %27:vgpr_32 = V_LSHL_OR_B32_e64 %26, 16, %25, implicit $exec %28:vreg_64 = REG_SEQUENCE %27, %subreg.sub0, %24, %subreg.sub1 %29:vreg_64 = COPY %28 S_BRANCH %bb.4 bb.3: successors: %bb.1(0x80000000) %30:vgpr_32 = DS_READ_U8_gfx9 %3, 0, 0, implicit $exec %31:vgpr_32 = DS_READ_U8_gfx9 %3, 1, 0, implicit $exec %32:vgpr_32 = DS_READ_U8_gfx9 %3, 2, 0, implicit $exec %33:vgpr_32 = DS_READ_U8_gfx9 %3, 3, 0, implicit $exec %34:vgpr_32 = DS_READ_U8_gfx9 %3, 4, 0, implicit $exec %35:vgpr_32 = DS_READ_U8_gfx9 %3, 5, 0, implicit $exec %36:vgpr_32 = DS_READ_U8_gfx9 %3, 6, 0, implicit $exec %37:vgpr_32 = DS_READ_U8_gfx9 %3, 7, 0, implicit $exec %38:vgpr_32 = V_LSHL_OR_B32_e64 %35, 8, %34, implicit $exec %39:vgpr_32 = V_LSHL_OR_B32_e64 %37, 8, %36, implicit $exec %40:vgpr_32 = V_LSHL_OR_B32_e64 %39, 16, %38, implicit $exec %41:vgpr_32 = V_LSHL_OR_B32_e64 %31, 8, %30, implicit $exec %42:vgpr_32 = V_LSHL_OR_B32_e64 %33, 8, %32, implicit $exec %43:vgpr_32 = V_LSHL_OR_B32_e64 %42, 16, %41, implicit $exec %44:vreg_64 = REG_SEQUENCE %43, %subreg.sub0, %40, %subreg.sub1 %10:vreg_64 = COPY %44 S_BRANCH %bb.1 bb.4: %45:vreg_64 = PHI %8, %bb.1, %29, %bb.2 SI_END_CF %13, implicit-def dead $exec, implicit-def dead $scc, implicit $exec %46:vgpr_32, %47:sreg_32_xm0_xexec = V_ADD_CO_U32_e64 %45.sub0, %1, 0, implicit $exec %48:vgpr_32, dead $sgpr_null = V_ADDC_U32_e64 %45.sub1, %0, %47, 0, implicit $exec %49:sreg_32_xm0 = V_READFIRSTLANE_B32 %46, implicit $exec %50:sreg_32_xm0 = V_READFIRSTLANE_B32 %48, implicit $exec $sgpr0 = COPY %49 $sgpr1 = COPY %50 SI_RETURN_TO_EPILOG killed $sgpr0, killed $sgpr1 ... # 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 $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-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 $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": 15 # 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: "instr": "%2: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": 14 # CHECK-GX-JSON-DAG: "%1": 13 # 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": "%3: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": 13 # CHECK-GX-JSON-DAG: "%1": 12 # CHECK-GX-JSON-DAG: "%2": 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": 13 # 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": 13 # CHECK-GX-JSON: } # CHECK-GX-JSON-NEXT: }, # CHECK-GX-JSON-NEXT: { # CHECK-GX-JSON-NEXT: "instr": "%4: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": 12 # CHECK-GX-JSON-DAG: "%1": 11 # CHECK-GX-JSON-DAG: "%2": 1 # CHECK-GX-JSON-DAG: "%3": 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": 12 # 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": 12 # CHECK-GX-JSON: } # CHECK-GX-JSON-NEXT: }, # CHECK-GX-JSON-NEXT: { # CHECK-GX-JSON-NEXT: "instr": "%5:vgpr_32 = V_AND_B32_e64 1, %2, 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": 11 # CHECK-GX-JSON-DAG: "%1": 10 # CHECK-GX-JSON-DAG: "%2": 0 # CHECK-GX-JSON-DAG: "%3": 4 # CHECK-GX-JSON-DAG: "%4": 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": 11 # 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": 11 # CHECK-GX-JSON: } # CHECK-GX-JSON-NEXT: }, # CHECK-GX-JSON-NEXT: { # CHECK-GX-JSON-NEXT: "instr": "%6:sreg_32 = V_CMP_NE_U32_e64 1, %5, 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: "%1": 9 # CHECK-GX-JSON-DAG: "%3": 3 # CHECK-GX-JSON-DAG: "%4": 4 # CHECK-GX-JSON-DAG: "%5": 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": 10 # 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": 10 # CHECK-GX-JSON: } # CHECK-GX-JSON-NEXT: }, # CHECK-GX-JSON-NEXT: { # CHECK-GX-JSON-NEXT: "instr": "%7:sreg_32 = SI_IF %6, %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": 9 # CHECK-GX-JSON-DAG: "%1": 8 # CHECK-GX-JSON-DAG: "%3": 2 # CHECK-GX-JSON-DAG: "%4": 3 # CHECK-GX-JSON-DAG: "%6": 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": 9 # 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": 9 # CHECK-GX-JSON: } # CHECK-GX-JSON-NEXT: }, # CHECK-GX-JSON-NEXT: { # CHECK-GX-JSON-NEXT: "instr": "S_BRANCH %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": 8 # CHECK-GX-JSON-DAG: "%1": 7 # CHECK-GX-JSON-DAG: "%3": 1 # CHECK-GX-JSON-DAG: "%4": 2 # CHECK-GX-JSON-DAG: "%7": 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": 8 # 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": 8 # 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": "%8:vreg_64 = PHI undef %9:vreg_64, %bb.0, %10, %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": 7 # CHECK-GX-JSON-DAG: "%1": 6 # 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": 7 # 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": 7 # CHECK-GX-JSON: } # CHECK-GX-JSON-NEXT: }, # CHECK-GX-JSON-NEXT: { # CHECK-GX-JSON-NEXT: "instr": "%11:vgpr_32 = PHI %4, %bb.0, undef %12:vgpr_32, %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": 6 # CHECK-GX-JSON-DAG: "%1": 5 # CHECK-GX-JSON-DAG: "%7": 1 # CHECK-GX-JSON-DAG: "%8": 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": 6 # 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": 6 # CHECK-GX-JSON: } # CHECK-GX-JSON-NEXT: }, # CHECK-GX-JSON-NEXT: { # CHECK-GX-JSON-NEXT: "instr": "%13:sreg_32 = SI_ELSE %7, %bb.4, 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": 5 # CHECK-GX-JSON-DAG: "%1": 4 # CHECK-GX-JSON-DAG: "%7": 0 # CHECK-GX-JSON-DAG: "%8": 2 # CHECK-GX-JSON-DAG: "%11": 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": 5 # 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": 5 # 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": 4 # CHECK-GX-JSON-DAG: "%1": 3 # CHECK-GX-JSON-DAG: "%8": 1 # CHECK-GX-JSON-DAG: "%11": 1 # CHECK-GX-JSON-DAG: "%13": 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": 4 # 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": 4 # 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": "%14:vgpr_32 = DS_READ_U8_gfx9 %11, 0, 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": 20 # CHECK-GX-JSON-DAG: "%1": 19 # CHECK-GX-JSON-DAG: "%11": 0 # CHECK-GX-JSON-DAG: "%13": 18 # 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": 20 # 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": 20 # CHECK-GX-JSON: } # CHECK-GX-JSON-NEXT: }, # CHECK-GX-JSON-NEXT: { # CHECK-GX-JSON-NEXT: "instr": "%15:vgpr_32 = DS_READ_U8_gfx9 %11, 1, 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": 19 # CHECK-GX-JSON-DAG: "%1": 18 # CHECK-GX-JSON-DAG: "%11": 0 # CHECK-GX-JSON-DAG: "%13": 17 # CHECK-GX-JSON-DAG: "%14": 10 # 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": 19 # 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": 19 # CHECK-GX-JSON: } # CHECK-GX-JSON-NEXT: }, # CHECK-GX-JSON-NEXT: { # CHECK-GX-JSON-NEXT: "instr": "%16:vgpr_32 = DS_READ_U8_gfx9 %11, 2, 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": 18 # CHECK-GX-JSON-DAG: "%1": 17 # CHECK-GX-JSON-DAG: "%11": 0 # CHECK-GX-JSON-DAG: "%13": 16 # CHECK-GX-JSON-DAG: "%14": 9 # CHECK-GX-JSON-DAG: "%15": 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": 18 # 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": 18 # CHECK-GX-JSON: } # CHECK-GX-JSON-NEXT: }, # CHECK-GX-JSON-NEXT: { # CHECK-GX-JSON-NEXT: "instr": "%17:vgpr_32 = DS_READ_U8_gfx9 %11, 3, 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": 17 # CHECK-GX-JSON-DAG: "%1": 16 # CHECK-GX-JSON-DAG: "%11": 0 # CHECK-GX-JSON-DAG: "%13": 15 # CHECK-GX-JSON-DAG: "%14": 8 # CHECK-GX-JSON-DAG: "%15": 8 # CHECK-GX-JSON-DAG: "%16": 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": 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": "%18:vgpr_32 = DS_READ_U8_gfx9 %11, 4, 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": 16 # CHECK-GX-JSON-DAG: "%1": 15 # CHECK-GX-JSON-DAG: "%11": 0 # CHECK-GX-JSON-DAG: "%13": 14 # CHECK-GX-JSON-DAG: "%14": 7 # CHECK-GX-JSON-DAG: "%15": 7 # CHECK-GX-JSON-DAG: "%16": 8 # CHECK-GX-JSON-DAG: "%17": 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": 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": "%19:vgpr_32 = DS_READ_U8_gfx9 %11, 5, 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": 15 # CHECK-GX-JSON-DAG: "%1": 14 # CHECK-GX-JSON-DAG: "%11": 0 # CHECK-GX-JSON-DAG: "%13": 13 # CHECK-GX-JSON-DAG: "%14": 6 # CHECK-GX-JSON-DAG: "%15": 6 # CHECK-GX-JSON-DAG: "%16": 7 # CHECK-GX-JSON-DAG: "%17": 7 # CHECK-GX-JSON-DAG: "%18": 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: "instr": "%20:vgpr_32 = DS_READ_U8_gfx9 %11, 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": 14 # CHECK-GX-JSON-DAG: "%1": 13 # CHECK-GX-JSON-DAG: "%11": 0 # CHECK-GX-JSON-DAG: "%13": 12 # CHECK-GX-JSON-DAG: "%14": 5 # CHECK-GX-JSON-DAG: "%15": 5 # CHECK-GX-JSON-DAG: "%16": 6 # CHECK-GX-JSON-DAG: "%17": 6 # CHECK-GX-JSON-DAG: "%18": 2 # CHECK-GX-JSON-DAG: "%19": 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": 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": "%21:vgpr_32 = DS_READ_U8_gfx9 %11, 7, 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": 13 # CHECK-GX-JSON-DAG: "%1": 12 # CHECK-GX-JSON-DAG: "%11": 0 # CHECK-GX-JSON-DAG: "%13": 11 # CHECK-GX-JSON-DAG: "%14": 4 # CHECK-GX-JSON-DAG: "%15": 4 # CHECK-GX-JSON-DAG: "%16": 5 # CHECK-GX-JSON-DAG: "%17": 5 # CHECK-GX-JSON-DAG: "%18": 1 # CHECK-GX-JSON-DAG: "%19": 1 # CHECK-GX-JSON-DAG: "%20": 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": 13 # 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": 13 # CHECK-GX-JSON: } # CHECK-GX-JSON-NEXT: }, # CHECK-GX-JSON-NEXT: { # CHECK-GX-JSON-NEXT: "instr": "%22:vgpr_32 = V_LSHL_OR_B32_e64 %19, 8, %18, 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": 12 # CHECK-GX-JSON-DAG: "%1": 11 # CHECK-GX-JSON-DAG: "%13": 10 # CHECK-GX-JSON-DAG: "%14": 3 # CHECK-GX-JSON-DAG: "%15": 3 # CHECK-GX-JSON-DAG: "%16": 4 # CHECK-GX-JSON-DAG: "%17": 4 # CHECK-GX-JSON-DAG: "%18": 0 # CHECK-GX-JSON-DAG: "%19": 0 # CHECK-GX-JSON-DAG: "%20": 1 # CHECK-GX-JSON-DAG: "%21": 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": 12 # 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": 12 # CHECK-GX-JSON: } # CHECK-GX-JSON-NEXT: }, # CHECK-GX-JSON-NEXT: { # CHECK-GX-JSON-NEXT: "instr": "%23: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": 11 # CHECK-GX-JSON-DAG: "%1": 10 # CHECK-GX-JSON-DAG: "%13": 9 # CHECK-GX-JSON-DAG: "%14": 2 # CHECK-GX-JSON-DAG: "%15": 2 # CHECK-GX-JSON-DAG: "%16": 3 # CHECK-GX-JSON-DAG: "%17": 3 # CHECK-GX-JSON-DAG: "%20": 0 # CHECK-GX-JSON-DAG: "%21": 0 # CHECK-GX-JSON-DAG: "%22": 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": 11 # 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": 11 # CHECK-GX-JSON: } # CHECK-GX-JSON-NEXT: }, # CHECK-GX-JSON-NEXT: { # CHECK-GX-JSON-NEXT: "instr": "%24:vgpr_32 = V_LSHL_OR_B32_e64 %23, 16, %22, 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: "%1": 9 # CHECK-GX-JSON-DAG: "%13": 8 # CHECK-GX-JSON-DAG: "%14": 1 # CHECK-GX-JSON-DAG: "%15": 1 # CHECK-GX-JSON-DAG: "%16": 2 # CHECK-GX-JSON-DAG: "%17": 2 # CHECK-GX-JSON-DAG: "%22": 0 # CHECK-GX-JSON-DAG: "%23": 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": 10 # 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": 10 # CHECK-GX-JSON: } # CHECK-GX-JSON-NEXT: }, # CHECK-GX-JSON-NEXT: { # CHECK-GX-JSON-NEXT: "instr": "%25: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": 9 # CHECK-GX-JSON-DAG: "%1": 8 # CHECK-GX-JSON-DAG: "%13": 7 # CHECK-GX-JSON-DAG: "%14": 0 # CHECK-GX-JSON-DAG: "%15": 0 # CHECK-GX-JSON-DAG: "%16": 1 # CHECK-GX-JSON-DAG: "%17": 1 # CHECK-GX-JSON-DAG: "%24": 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": 9 # 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": 9 # CHECK-GX-JSON: } # CHECK-GX-JSON-NEXT: }, # CHECK-GX-JSON-NEXT: { # CHECK-GX-JSON-NEXT: "instr": "%26:vgpr_32 = V_LSHL_OR_B32_e64 %17, 8, %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": 8 # CHECK-GX-JSON-DAG: "%1": 7 # CHECK-GX-JSON-DAG: "%13": 6 # CHECK-GX-JSON-DAG: "%16": 0 # CHECK-GX-JSON-DAG: "%17": 0 # CHECK-GX-JSON-DAG: "%24": 2 # CHECK-GX-JSON-DAG: "%25": 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": 8 # 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": 8 # CHECK-GX-JSON: } # CHECK-GX-JSON-NEXT: }, # CHECK-GX-JSON-NEXT: { # CHECK-GX-JSON-NEXT: "instr": "%27:vgpr_32 = V_LSHL_OR_B32_e64 %26, 16, %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": 7 # CHECK-GX-JSON-DAG: "%1": 6 # CHECK-GX-JSON-DAG: "%13": 5 # CHECK-GX-JSON-DAG: "%24": 1 # CHECK-GX-JSON-DAG: "%25": 0 # CHECK-GX-JSON-DAG: "%26": 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": 7 # 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": 7 # CHECK-GX-JSON: } # CHECK-GX-JSON-NEXT: }, # CHECK-GX-JSON-NEXT: { # CHECK-GX-JSON-NEXT: "instr": "%28:vreg_64 = REG_SEQUENCE %27, %subreg.sub0, %24, %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": 6 # CHECK-GX-JSON-DAG: "%1": 5 # CHECK-GX-JSON-DAG: "%13": 4 # CHECK-GX-JSON-DAG: "%24": 0 # CHECK-GX-JSON-DAG: "%27": 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": 6 # 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": 6 # CHECK-GX-JSON: } # CHECK-GX-JSON-NEXT: }, # CHECK-GX-JSON-NEXT: { # CHECK-GX-JSON-NEXT: "instr": "%29:vreg_64 = COPY %28", # 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": 4 # CHECK-GX-JSON-DAG: "%13": 3 # CHECK-GX-JSON-DAG: "%28": 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": 5 # 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": 5 # 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": 4 # CHECK-GX-JSON-DAG: "%1": 3 # CHECK-GX-JSON-DAG: "%13": 2 # CHECK-GX-JSON-DAG: "%29": 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": 4 # 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": 4 # 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": "%30:vgpr_32 = DS_READ_U8_gfx9 %3, 0, 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": 24 # CHECK-GX-JSON-DAG: "%1": 23 # CHECK-GX-JSON-DAG: "%3": 0 # CHECK-GX-JSON-DAG: "%7": 19 # 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": 24 # 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": 24 # CHECK-GX-JSON: } # CHECK-GX-JSON-NEXT: }, # CHECK-GX-JSON-NEXT: { # CHECK-GX-JSON-NEXT: "instr": "%31:vgpr_32 = DS_READ_U8_gfx9 %3, 1, 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": 23 # CHECK-GX-JSON-DAG: "%1": 22 # CHECK-GX-JSON-DAG: "%3": 0 # CHECK-GX-JSON-DAG: "%7": 18 # CHECK-GX-JSON-DAG: "%30": 10 # 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": 23 # 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": 23 # CHECK-GX-JSON: } # CHECK-GX-JSON-NEXT: }, # CHECK-GX-JSON-NEXT: { # CHECK-GX-JSON-NEXT: "instr": "%32:vgpr_32 = DS_READ_U8_gfx9 %3, 2, 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": 22 # CHECK-GX-JSON-DAG: "%1": 21 # CHECK-GX-JSON-DAG: "%3": 0 # CHECK-GX-JSON-DAG: "%7": 17 # CHECK-GX-JSON-DAG: "%30": 9 # CHECK-GX-JSON-DAG: "%31": 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": 22 # 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": 22 # CHECK-GX-JSON: } # CHECK-GX-JSON-NEXT: }, # CHECK-GX-JSON-NEXT: { # CHECK-GX-JSON-NEXT: "instr": "%33:vgpr_32 = DS_READ_U8_gfx9 %3, 3, 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": 21 # CHECK-GX-JSON-DAG: "%1": 20 # CHECK-GX-JSON-DAG: "%3": 0 # CHECK-GX-JSON-DAG: "%7": 16 # CHECK-GX-JSON-DAG: "%30": 8 # CHECK-GX-JSON-DAG: "%31": 8 # CHECK-GX-JSON-DAG: "%32": 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": 21 # 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": 21 # CHECK-GX-JSON: } # CHECK-GX-JSON-NEXT: }, # CHECK-GX-JSON-NEXT: { # CHECK-GX-JSON-NEXT: "instr": "%34:vgpr_32 = DS_READ_U8_gfx9 %3, 4, 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": 20 # CHECK-GX-JSON-DAG: "%1": 19 # CHECK-GX-JSON-DAG: "%3": 0 # CHECK-GX-JSON-DAG: "%7": 15 # CHECK-GX-JSON-DAG: "%30": 7 # CHECK-GX-JSON-DAG: "%31": 7 # CHECK-GX-JSON-DAG: "%32": 8 # CHECK-GX-JSON-DAG: "%33": 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": 20 # 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": 20 # CHECK-GX-JSON: } # CHECK-GX-JSON-NEXT: }, # CHECK-GX-JSON-NEXT: { # CHECK-GX-JSON-NEXT: "instr": "%35:vgpr_32 = DS_READ_U8_gfx9 %3, 5, 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": 19 # CHECK-GX-JSON-DAG: "%1": 18 # CHECK-GX-JSON-DAG: "%3": 0 # CHECK-GX-JSON-DAG: "%7": 14 # CHECK-GX-JSON-DAG: "%30": 6 # CHECK-GX-JSON-DAG: "%31": 6 # CHECK-GX-JSON-DAG: "%32": 7 # CHECK-GX-JSON-DAG: "%33": 7 # CHECK-GX-JSON-DAG: "%34": 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": 19 # 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": 19 # CHECK-GX-JSON: } # CHECK-GX-JSON-NEXT: }, # CHECK-GX-JSON-NEXT: { # CHECK-GX-JSON-NEXT: "instr": "%36:vgpr_32 = DS_READ_U8_gfx9 %3, 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": 18 # CHECK-GX-JSON-DAG: "%1": 17 # CHECK-GX-JSON-DAG: "%3": 0 # CHECK-GX-JSON-DAG: "%7": 13 # CHECK-GX-JSON-DAG: "%30": 5 # CHECK-GX-JSON-DAG: "%31": 5 # CHECK-GX-JSON-DAG: "%32": 6 # CHECK-GX-JSON-DAG: "%33": 6 # CHECK-GX-JSON-DAG: "%34": 2 # CHECK-GX-JSON-DAG: "%35": 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": 18 # 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": 18 # CHECK-GX-JSON: } # CHECK-GX-JSON-NEXT: }, # CHECK-GX-JSON-NEXT: { # CHECK-GX-JSON-NEXT: "instr": "%37:vgpr_32 = DS_READ_U8_gfx9 %3, 7, 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": 17 # CHECK-GX-JSON-DAG: "%1": 16 # CHECK-GX-JSON-DAG: "%3": 0 # CHECK-GX-JSON-DAG: "%7": 12 # CHECK-GX-JSON-DAG: "%30": 4 # CHECK-GX-JSON-DAG: "%31": 4 # CHECK-GX-JSON-DAG: "%32": 5 # CHECK-GX-JSON-DAG: "%33": 5 # CHECK-GX-JSON-DAG: "%34": 1 # CHECK-GX-JSON-DAG: "%35": 1 # CHECK-GX-JSON-DAG: "%36": 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": 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": "%38:vgpr_32 = V_LSHL_OR_B32_e64 %35, 8, %34, 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": 15 # CHECK-GX-JSON-DAG: "%7": 11 # CHECK-GX-JSON-DAG: "%30": 3 # CHECK-GX-JSON-DAG: "%31": 3 # CHECK-GX-JSON-DAG: "%32": 4 # CHECK-GX-JSON-DAG: "%33": 4 # CHECK-GX-JSON-DAG: "%34": 0 # CHECK-GX-JSON-DAG: "%35": 0 # CHECK-GX-JSON-DAG: "%36": 1 # CHECK-GX-JSON-DAG: "%37": 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": 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": "%39:vgpr_32 = V_LSHL_OR_B32_e64 %37, 8, %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: "%0": 15 # CHECK-GX-JSON-DAG: "%1": 14 # CHECK-GX-JSON-DAG: "%7": 10 # CHECK-GX-JSON-DAG: "%30": 2 # CHECK-GX-JSON-DAG: "%31": 2 # CHECK-GX-JSON-DAG: "%32": 3 # CHECK-GX-JSON-DAG: "%33": 3 # CHECK-GX-JSON-DAG: "%36": 0 # CHECK-GX-JSON-DAG: "%37": 0 # CHECK-GX-JSON-DAG: "%38": 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": 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: "instr": "%40:vgpr_32 = V_LSHL_OR_B32_e64 %39, 16, %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": 14 # CHECK-GX-JSON-DAG: "%1": 13 # CHECK-GX-JSON-DAG: "%7": 9 # CHECK-GX-JSON-DAG: "%30": 1 # CHECK-GX-JSON-DAG: "%31": 1 # CHECK-GX-JSON-DAG: "%32": 2 # CHECK-GX-JSON-DAG: "%33": 2 # 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": "%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": "%41:vgpr_32 = V_LSHL_OR_B32_e64 %31, 8, %30, 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": 13 # CHECK-GX-JSON-DAG: "%1": 12 # CHECK-GX-JSON-DAG: "%7": 8 # CHECK-GX-JSON-DAG: "%30": 0 # CHECK-GX-JSON-DAG: "%31": 0 # CHECK-GX-JSON-DAG: "%32": 1 # CHECK-GX-JSON-DAG: "%33": 1 # CHECK-GX-JSON-DAG: "%40": 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": 13 # 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": 13 # CHECK-GX-JSON: } # CHECK-GX-JSON-NEXT: }, # CHECK-GX-JSON-NEXT: { # CHECK-GX-JSON-NEXT: "instr": "%42:vgpr_32 = V_LSHL_OR_B32_e64 %33, 8, %32, 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": 12 # CHECK-GX-JSON-DAG: "%1": 11 # CHECK-GX-JSON-DAG: "%7": 7 # CHECK-GX-JSON-DAG: "%32": 0 # CHECK-GX-JSON-DAG: "%33": 0 # 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": "%0", # CHECK-GX-JSON-DAG: "use": "{{[^"]+}}", # CHECK-GX-JSON-DAG: "use-mi": "{{[^"]+}}", # CHECK-GX-JSON-DAG: "distance": 12 # 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": 12 # 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, 16, %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": 11 # CHECK-GX-JSON-DAG: "%1": 10 # CHECK-GX-JSON-DAG: "%7": 6 # 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": "%0", # CHECK-GX-JSON-DAG: "use": "{{[^"]+}}", # CHECK-GX-JSON-DAG: "use-mi": "{{[^"]+}}", # CHECK-GX-JSON-DAG: "distance": 11 # 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": 11 # CHECK-GX-JSON: } # CHECK-GX-JSON-NEXT: }, # CHECK-GX-JSON-NEXT: { # CHECK-GX-JSON-NEXT: "instr": "%44:vreg_64 = REG_SEQUENCE %43, %subreg.sub0, %40, %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": 10 # CHECK-GX-JSON-DAG: "%1": 9 # CHECK-GX-JSON-DAG: "%7": 5 # 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": "%0", # CHECK-GX-JSON-DAG: "use": "{{[^"]+}}", # CHECK-GX-JSON-DAG: "use-mi": "{{[^"]+}}", # CHECK-GX-JSON-DAG: "distance": 10 # 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": 10 # CHECK-GX-JSON: } # CHECK-GX-JSON-NEXT: }, # CHECK-GX-JSON-NEXT: { # CHECK-GX-JSON-NEXT: "instr": "%10:vreg_64 = COPY %44", # 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": 8 # CHECK-GX-JSON-DAG: "%7": 4 # CHECK-GX-JSON-DAG: "%44": 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": 9 # 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": 9 # CHECK-GX-JSON: } # CHECK-GX-JSON-NEXT: }, # CHECK-GX-JSON-NEXT: { # CHECK-GX-JSON-NEXT: "instr": "S_BRANCH %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": 8 # CHECK-GX-JSON-DAG: "%1": 7 # CHECK-GX-JSON-DAG: "%7": 3 # CHECK-GX-JSON-DAG: "%10": 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": 8 # 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": 8 # 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": "%45:vreg_64 = PHI %8, %bb.1, %29, %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": 3 # CHECK-GX-JSON-DAG: "%1": 2 # CHECK-GX-JSON-DAG: "%13": 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": 3 # 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": 3 # CHECK-GX-JSON: } # CHECK-GX-JSON-NEXT: }, # CHECK-GX-JSON-NEXT: { # CHECK-GX-JSON-NEXT: "instr": "SI_END_CF %13, 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": 2 # CHECK-GX-JSON-DAG: "%1": 1 # CHECK-GX-JSON-DAG: "%13": 0 # CHECK-GX-JSON-DAG: "%45:sub0": 1 # CHECK-GX-JSON-DAG: "%45:sub1": 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": 2 # 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": 2 # CHECK-GX-JSON: } # CHECK-GX-JSON-NEXT: }, # CHECK-GX-JSON-NEXT: { # CHECK-GX-JSON-NEXT: "instr": "%46:vgpr_32, %47:sreg_32_xm0_xexec = V_ADD_CO_U32_e64 %45.sub0, %1, 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": 0 # CHECK-GX-JSON-DAG: "%45:sub0": 0 # CHECK-GX-JSON-DAG: "%45:sub1": 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": 1 # 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": 1 # CHECK-GX-JSON: } # CHECK-GX-JSON-NEXT: }, # CHECK-GX-JSON-NEXT: { # CHECK-GX-JSON-NEXT: "instr": "%48:vgpr_32, dead $sgpr_null = V_ADDC_U32_e64 %45.sub1, %0, %47, 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: "%45:sub1": 0 # CHECK-GX-JSON-DAG: "%46": 1 # CHECK-GX-JSON-DAG: "%47": 0 # CHECK-GX-JSON: }, # CHECK-GX-JSON-NEXT: "furthest": { # CHECK-GX-JSON-DAG: "register": "%46", # 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": "%46", # 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": "%49:sreg_32_xm0 = V_READFIRSTLANE_B32 %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: "%46": 0 # CHECK-GX-JSON-DAG: "%48": 1 # CHECK-GX-JSON: }, # CHECK-GX-JSON-NEXT: "furthest": { # CHECK-GX-JSON-DAG: "register": "%48", # 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": "%48", # 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": "%50:sreg_32_xm0 = V_READFIRSTLANE_B32 %48, 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: "%48": 0 # CHECK-GX-JSON-DAG: "%49": 1 # CHECK-GX-JSON: }, # CHECK-GX-JSON-NEXT: "furthest": { # CHECK-GX-JSON-DAG: "register": "%49", # 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": "%49", # 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": "$sgpr0 = COPY %49", # 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: "%49": 0 # CHECK-GX-JSON-DAG: "%50": 1 # CHECK-GX-JSON: }, # CHECK-GX-JSON-NEXT: "furthest": { # CHECK-GX-JSON-DAG: "register": "%50", # 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": "%50", # 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": "$sgpr1 = COPY %50", # 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: "%50": 0 # CHECK-GX-JSON: }, # CHECK-GX-JSON-NEXT: "furthest": { # CHECK-GX-JSON-DAG: "register": "%50", # 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": "%50", # 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, killed $sgpr1", # 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": 16, # CHECK-GX-JSON-DAG: "%1": 14, # CHECK-GX-JSON-DAG: "%2": 3, # CHECK-GX-JSON-DAG: "%3": 6, # CHECK-GX-JSON-DAG: "%4": 6, # CHECK-GX-JSON-DAG: "%5": 1, # CHECK-GX-JSON-DAG: "%6": 1, # CHECK-GX-JSON-DAG: "%7": 4, # CHECK-GX-JSON-DAG: "%8": 4, # CHECK-GX-JSON-DAG: "%11": 3, # CHECK-GX-JSON-DAG: "%13": 3, # CHECK-GX-JSON-DAG: "%14": 11, # CHECK-GX-JSON-DAG: "%15": 10, # CHECK-GX-JSON-DAG: "%16": 10, # CHECK-GX-JSON-DAG: "%17": 9, # CHECK-GX-JSON-DAG: "%18": 4, # CHECK-GX-JSON-DAG: "%19": 3, # CHECK-GX-JSON-DAG: "%20": 3, # CHECK-GX-JSON-DAG: "%21": 2, # CHECK-GX-JSON-DAG: "%22": 2, # CHECK-GX-JSON-DAG: "%23": 1, # CHECK-GX-JSON-DAG: "%24": 4, # CHECK-GX-JSON-DAG: "%25": 2, # CHECK-GX-JSON-DAG: "%26": 1, # CHECK-GX-JSON-DAG: "%27": 1, # CHECK-GX-JSON-DAG: "%28": 1, # CHECK-GX-JSON-DAG: "%29": 2, # CHECK-GX-JSON-DAG: "%30": 11, # CHECK-GX-JSON-DAG: "%31": 10, # CHECK-GX-JSON-DAG: "%32": 10, # CHECK-GX-JSON-DAG: "%33": 9, # CHECK-GX-JSON-DAG: "%34": 4, # CHECK-GX-JSON-DAG: "%35": 3, # CHECK-GX-JSON-DAG: "%36": 3, # CHECK-GX-JSON-DAG: "%37": 2, # 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: "%10": 2, # CHECK-GX-JSON-DAG: "%45": 2, # CHECK-GX-JSON-DAG: "%46": 2, # CHECK-GX-JSON-DAG: "%47": 1, # CHECK-GX-JSON-DAG: "%48": 2, # CHECK-GX-JSON-DAG: "%49": 2, # CHECK-GX-JSON-DAG: "%50": 2 # 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 $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-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 $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": 12 # 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": "%2: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": 11 # CHECK-CP-JSON-DAG: "%1": 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": 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": "%3: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": 10 # CHECK-CP-JSON-DAG: "%1": 9 # CHECK-CP-JSON-DAG: "%2": 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": 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": "%4: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": 9 # CHECK-CP-JSON-DAG: "%1": 8 # CHECK-CP-JSON-DAG: "%2": 1 # CHECK-CP-JSON-DAG: "%3": 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": 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": "%5:vgpr_32 = V_AND_B32_e64 1, %2, 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": 8 # CHECK-CP-JSON-DAG: "%1": 7 # CHECK-CP-JSON-DAG: "%2": 0 # CHECK-CP-JSON-DAG: "%3": 4 # CHECK-CP-JSON-DAG: "%4": 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": 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": "%6:sreg_32 = V_CMP_NE_U32_e64 1, %5, 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": 6 # CHECK-CP-JSON-DAG: "%3": 3 # CHECK-CP-JSON-DAG: "%4": 2 # CHECK-CP-JSON-DAG: "%5": 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": "%7:sreg_32 = SI_IF %6, %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": 6 # CHECK-CP-JSON-DAG: "%1": 5 # CHECK-CP-JSON-DAG: "%3": 2 # CHECK-CP-JSON-DAG: "%4": 1 # CHECK-CP-JSON-DAG: "%6": 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": 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": "S_BRANCH %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": 5 # CHECK-CP-JSON-DAG: "%1": 4 # CHECK-CP-JSON-DAG: "%3": 1 # CHECK-CP-JSON-DAG: "%4": 0 # CHECK-CP-JSON-DAG: "%7": 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": 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: "bb.1": [ # CHECK-CP-JSON-NEXT: { # CHECK-CP-JSON-NEXT: "instr": "%8:vreg_64 = PHI undef %9:vreg_64, %bb.0, %10, %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": 4 # CHECK-CP-JSON-DAG: "%1": 3 # CHECK-CP-JSON-DAG: "%7": 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": 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": "%11:vgpr_32 = PHI %4, %bb.0, undef %12:vgpr_32, %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": 4 # CHECK-CP-JSON-DAG: "%1": 3 # CHECK-CP-JSON-DAG: "%7": 0 # CHECK-CP-JSON-DAG: "%8": 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": 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": "%13:sreg_32 = SI_ELSE %7, %bb.4, 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": 3 # CHECK-CP-JSON-DAG: "%7": 0 # CHECK-CP-JSON-DAG: "%8": 1 # CHECK-CP-JSON-DAG: "%11": 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": 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": "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": 3 # CHECK-CP-JSON-DAG: "%1": 2 # CHECK-CP-JSON-DAG: "%8": 0 # CHECK-CP-JSON-DAG: "%11": 1 # CHECK-CP-JSON-DAG: "%13": 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: "bb.2": [ # CHECK-CP-JSON-NEXT: { # CHECK-CP-JSON-NEXT: "instr": "%14:vgpr_32 = DS_READ_U8_gfx9 %11, 0, 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": 19 # CHECK-CP-JSON-DAG: "%1": 18 # CHECK-CP-JSON-DAG: "%11": 0 # CHECK-CP-JSON-DAG: "%13": 17 # 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": "%15:vgpr_32 = DS_READ_U8_gfx9 %11, 1, 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": 18 # CHECK-CP-JSON-DAG: "%1": 17 # CHECK-CP-JSON-DAG: "%11": 0 # CHECK-CP-JSON-DAG: "%13": 16 # CHECK-CP-JSON-DAG: "%14": 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": 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": "%16:vgpr_32 = DS_READ_U8_gfx9 %11, 2, 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": 17 # CHECK-CP-JSON-DAG: "%1": 16 # CHECK-CP-JSON-DAG: "%11": 0 # CHECK-CP-JSON-DAG: "%13": 15 # CHECK-CP-JSON-DAG: "%14": 9 # CHECK-CP-JSON-DAG: "%15": 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": 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": "%17:vgpr_32 = DS_READ_U8_gfx9 %11, 3, 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": 16 # CHECK-CP-JSON-DAG: "%1": 15 # CHECK-CP-JSON-DAG: "%11": 0 # CHECK-CP-JSON-DAG: "%13": 14 # CHECK-CP-JSON-DAG: "%14": 8 # CHECK-CP-JSON-DAG: "%15": 8 # CHECK-CP-JSON-DAG: "%16": 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": 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": "%18:vgpr_32 = DS_READ_U8_gfx9 %11, 4, 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": 15 # CHECK-CP-JSON-DAG: "%1": 14 # CHECK-CP-JSON-DAG: "%11": 0 # CHECK-CP-JSON-DAG: "%13": 13 # CHECK-CP-JSON-DAG: "%14": 7 # CHECK-CP-JSON-DAG: "%15": 7 # CHECK-CP-JSON-DAG: "%16": 8 # CHECK-CP-JSON-DAG: "%17": 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": 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": "%19:vgpr_32 = DS_READ_U8_gfx9 %11, 5, 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": 14 # CHECK-CP-JSON-DAG: "%1": 13 # CHECK-CP-JSON-DAG: "%11": 0 # CHECK-CP-JSON-DAG: "%13": 12 # CHECK-CP-JSON-DAG: "%14": 6 # CHECK-CP-JSON-DAG: "%15": 6 # CHECK-CP-JSON-DAG: "%16": 7 # CHECK-CP-JSON-DAG: "%17": 7 # CHECK-CP-JSON-DAG: "%18": 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": 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": "%20:vgpr_32 = DS_READ_U8_gfx9 %11, 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": 13 # CHECK-CP-JSON-DAG: "%1": 12 # CHECK-CP-JSON-DAG: "%11": 0 # CHECK-CP-JSON-DAG: "%13": 11 # CHECK-CP-JSON-DAG: "%14": 5 # CHECK-CP-JSON-DAG: "%15": 5 # CHECK-CP-JSON-DAG: "%16": 6 # CHECK-CP-JSON-DAG: "%17": 6 # CHECK-CP-JSON-DAG: "%18": 2 # CHECK-CP-JSON-DAG: "%19": 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": 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": "%21:vgpr_32 = DS_READ_U8_gfx9 %11, 7, 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": 12 # CHECK-CP-JSON-DAG: "%1": 11 # CHECK-CP-JSON-DAG: "%11": 0 # CHECK-CP-JSON-DAG: "%13": 10 # CHECK-CP-JSON-DAG: "%14": 4 # CHECK-CP-JSON-DAG: "%15": 4 # CHECK-CP-JSON-DAG: "%16": 5 # CHECK-CP-JSON-DAG: "%17": 5 # CHECK-CP-JSON-DAG: "%18": 1 # CHECK-CP-JSON-DAG: "%19": 1 # CHECK-CP-JSON-DAG: "%20": 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": 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": "%22:vgpr_32 = V_LSHL_OR_B32_e64 %19, 8, %18, 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": 11 # CHECK-CP-JSON-DAG: "%1": 10 # CHECK-CP-JSON-DAG: "%13": 9 # CHECK-CP-JSON-DAG: "%14": 3 # CHECK-CP-JSON-DAG: "%15": 3 # CHECK-CP-JSON-DAG: "%16": 4 # CHECK-CP-JSON-DAG: "%17": 4 # CHECK-CP-JSON-DAG: "%18": 0 # CHECK-CP-JSON-DAG: "%19": 0 # CHECK-CP-JSON-DAG: "%20": 1 # CHECK-CP-JSON-DAG: "%21": 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": 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": "%23: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": 10 # CHECK-CP-JSON-DAG: "%1": 9 # CHECK-CP-JSON-DAG: "%13": 8 # CHECK-CP-JSON-DAG: "%14": 2 # CHECK-CP-JSON-DAG: "%15": 2 # CHECK-CP-JSON-DAG: "%16": 3 # CHECK-CP-JSON-DAG: "%17": 3 # CHECK-CP-JSON-DAG: "%20": 0 # CHECK-CP-JSON-DAG: "%21": 0 # CHECK-CP-JSON-DAG: "%22": 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": 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": "%24:vgpr_32 = V_LSHL_OR_B32_e64 %23, 16, %22, 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: "%1": 8 # CHECK-CP-JSON-DAG: "%13": 7 # CHECK-CP-JSON-DAG: "%14": 1 # CHECK-CP-JSON-DAG: "%15": 1 # CHECK-CP-JSON-DAG: "%16": 2 # CHECK-CP-JSON-DAG: "%17": 2 # CHECK-CP-JSON-DAG: "%22": 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": 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": "%25: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": 8 # CHECK-CP-JSON-DAG: "%1": 7 # CHECK-CP-JSON-DAG: "%13": 6 # CHECK-CP-JSON-DAG: "%14": 0 # CHECK-CP-JSON-DAG: "%15": 0 # CHECK-CP-JSON-DAG: "%16": 1 # CHECK-CP-JSON-DAG: "%17": 1 # CHECK-CP-JSON-DAG: "%24": 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": 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": "%26:vgpr_32 = V_LSHL_OR_B32_e64 %17, 8, %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": 7 # CHECK-CP-JSON-DAG: "%1": 6 # CHECK-CP-JSON-DAG: "%13": 5 # CHECK-CP-JSON-DAG: "%16": 0 # CHECK-CP-JSON-DAG: "%17": 0 # CHECK-CP-JSON-DAG: "%24": 2 # CHECK-CP-JSON-DAG: "%25": 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": 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": "%27:vgpr_32 = V_LSHL_OR_B32_e64 %26, 16, %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": 6 # CHECK-CP-JSON-DAG: "%1": 5 # CHECK-CP-JSON-DAG: "%13": 4 # CHECK-CP-JSON-DAG: "%24": 1 # CHECK-CP-JSON-DAG: "%25": 0 # CHECK-CP-JSON-DAG: "%26": 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": 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": "%28:vreg_64 = REG_SEQUENCE %27, %subreg.sub0, %24, %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": 5 # CHECK-CP-JSON-DAG: "%1": 4 # CHECK-CP-JSON-DAG: "%13": 3 # CHECK-CP-JSON-DAG: "%24": 0 # CHECK-CP-JSON-DAG: "%27": 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": "%29:vreg_64 = COPY %28", # 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": 3 # CHECK-CP-JSON-DAG: "%13": 2 # CHECK-CP-JSON-DAG: "%28": 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": 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": "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": 3 # CHECK-CP-JSON-DAG: "%1": 2 # CHECK-CP-JSON-DAG: "%13": 1 # CHECK-CP-JSON-DAG: "%29": 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": 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: "bb.3": [ # CHECK-CP-JSON-NEXT: { # CHECK-CP-JSON-NEXT: "instr": "%30:vgpr_32 = DS_READ_U8_gfx9 %3, 0, 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": 21 # CHECK-CP-JSON-DAG: "%1": 20 # CHECK-CP-JSON-DAG: "%3": 0 # CHECK-CP-JSON-DAG: "%7": 17 # 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": "%31:vgpr_32 = DS_READ_U8_gfx9 %3, 1, 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": 20 # CHECK-CP-JSON-DAG: "%1": 19 # CHECK-CP-JSON-DAG: "%3": 0 # CHECK-CP-JSON-DAG: "%7": 16 # CHECK-CP-JSON-DAG: "%30": 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": 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": "%32:vgpr_32 = DS_READ_U8_gfx9 %3, 2, 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": 19 # CHECK-CP-JSON-DAG: "%1": 18 # CHECK-CP-JSON-DAG: "%3": 0 # CHECK-CP-JSON-DAG: "%7": 15 # CHECK-CP-JSON-DAG: "%30": 9 # CHECK-CP-JSON-DAG: "%31": 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": 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": "%33:vgpr_32 = DS_READ_U8_gfx9 %3, 3, 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": 18 # CHECK-CP-JSON-DAG: "%1": 17 # CHECK-CP-JSON-DAG: "%3": 0 # CHECK-CP-JSON-DAG: "%7": 14 # CHECK-CP-JSON-DAG: "%30": 8 # CHECK-CP-JSON-DAG: "%31": 8 # CHECK-CP-JSON-DAG: "%32": 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": 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": "%34:vgpr_32 = DS_READ_U8_gfx9 %3, 4, 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": 17 # CHECK-CP-JSON-DAG: "%1": 16 # CHECK-CP-JSON-DAG: "%3": 0 # CHECK-CP-JSON-DAG: "%7": 13 # CHECK-CP-JSON-DAG: "%30": 7 # CHECK-CP-JSON-DAG: "%31": 7 # CHECK-CP-JSON-DAG: "%32": 8 # CHECK-CP-JSON-DAG: "%33": 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": 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": "%35:vgpr_32 = DS_READ_U8_gfx9 %3, 5, 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": 16 # CHECK-CP-JSON-DAG: "%1": 15 # CHECK-CP-JSON-DAG: "%3": 0 # CHECK-CP-JSON-DAG: "%7": 12 # CHECK-CP-JSON-DAG: "%30": 6 # CHECK-CP-JSON-DAG: "%31": 6 # CHECK-CP-JSON-DAG: "%32": 7 # CHECK-CP-JSON-DAG: "%33": 7 # CHECK-CP-JSON-DAG: "%34": 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": 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": "%36:vgpr_32 = DS_READ_U8_gfx9 %3, 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": 15 # CHECK-CP-JSON-DAG: "%1": 14 # CHECK-CP-JSON-DAG: "%3": 0 # CHECK-CP-JSON-DAG: "%7": 11 # CHECK-CP-JSON-DAG: "%30": 5 # CHECK-CP-JSON-DAG: "%31": 5 # CHECK-CP-JSON-DAG: "%32": 6 # CHECK-CP-JSON-DAG: "%33": 6 # CHECK-CP-JSON-DAG: "%34": 2 # CHECK-CP-JSON-DAG: "%35": 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": 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": "%37:vgpr_32 = DS_READ_U8_gfx9 %3, 7, 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": 14 # CHECK-CP-JSON-DAG: "%1": 13 # CHECK-CP-JSON-DAG: "%3": 0 # CHECK-CP-JSON-DAG: "%7": 10 # CHECK-CP-JSON-DAG: "%30": 4 # CHECK-CP-JSON-DAG: "%31": 4 # CHECK-CP-JSON-DAG: "%32": 5 # CHECK-CP-JSON-DAG: "%33": 5 # CHECK-CP-JSON-DAG: "%34": 1 # CHECK-CP-JSON-DAG: "%35": 1 # CHECK-CP-JSON-DAG: "%36": 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": 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": "%38:vgpr_32 = V_LSHL_OR_B32_e64 %35, 8, %34, 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": 13 # CHECK-CP-JSON-DAG: "%1": 12 # CHECK-CP-JSON-DAG: "%7": 9 # CHECK-CP-JSON-DAG: "%30": 3 # CHECK-CP-JSON-DAG: "%31": 3 # CHECK-CP-JSON-DAG: "%32": 4 # CHECK-CP-JSON-DAG: "%33": 4 # CHECK-CP-JSON-DAG: "%34": 0 # CHECK-CP-JSON-DAG: "%35": 0 # CHECK-CP-JSON-DAG: "%36": 1 # CHECK-CP-JSON-DAG: "%37": 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": 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": "%39:vgpr_32 = V_LSHL_OR_B32_e64 %37, 8, %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: "%0": 12 # CHECK-CP-JSON-DAG: "%1": 11 # CHECK-CP-JSON-DAG: "%7": 8 # CHECK-CP-JSON-DAG: "%30": 2 # CHECK-CP-JSON-DAG: "%31": 2 # CHECK-CP-JSON-DAG: "%32": 3 # CHECK-CP-JSON-DAG: "%33": 3 # CHECK-CP-JSON-DAG: "%36": 0 # CHECK-CP-JSON-DAG: "%37": 0 # CHECK-CP-JSON-DAG: "%38": 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": 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": "%40:vgpr_32 = V_LSHL_OR_B32_e64 %39, 16, %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": 11 # CHECK-CP-JSON-DAG: "%1": 10 # CHECK-CP-JSON-DAG: "%7": 7 # CHECK-CP-JSON-DAG: "%30": 1 # CHECK-CP-JSON-DAG: "%31": 1 # CHECK-CP-JSON-DAG: "%32": 2 # CHECK-CP-JSON-DAG: "%33": 2 # 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": "%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": "%41:vgpr_32 = V_LSHL_OR_B32_e64 %31, 8, %30, 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: "%1": 9 # CHECK-CP-JSON-DAG: "%7": 6 # CHECK-CP-JSON-DAG: "%30": 0 # CHECK-CP-JSON-DAG: "%31": 0 # CHECK-CP-JSON-DAG: "%32": 1 # CHECK-CP-JSON-DAG: "%33": 1 # CHECK-CP-JSON-DAG: "%40": 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": 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": "%42:vgpr_32 = V_LSHL_OR_B32_e64 %33, 8, %32, 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: "%1": 8 # CHECK-CP-JSON-DAG: "%7": 5 # CHECK-CP-JSON-DAG: "%32": 0 # CHECK-CP-JSON-DAG: "%33": 0 # 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": "%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": "%43:vgpr_32 = V_LSHL_OR_B32_e64 %42, 16, %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": 8 # CHECK-CP-JSON-DAG: "%1": 7 # CHECK-CP-JSON-DAG: "%7": 4 # 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": "%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": "%44:vreg_64 = REG_SEQUENCE %43, %subreg.sub0, %40, %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": 7 # CHECK-CP-JSON-DAG: "%1": 6 # CHECK-CP-JSON-DAG: "%7": 3 # 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": "%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": "%10:vreg_64 = COPY %44", # 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": 5 # CHECK-CP-JSON-DAG: "%7": 2 # CHECK-CP-JSON-DAG: "%44": 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": 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": "S_BRANCH %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": 5 # CHECK-CP-JSON-DAG: "%1": 4 # CHECK-CP-JSON-DAG: "%7": 1 # 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": 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: "bb.4": [ # CHECK-CP-JSON-NEXT: { # CHECK-CP-JSON-NEXT: "instr": "%45:vreg_64 = PHI %8, %bb.1, %29, %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": 2 # CHECK-CP-JSON-DAG: "%1": 1 # CHECK-CP-JSON-DAG: "%13": 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": "SI_END_CF %13, 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": 1 # CHECK-CP-JSON-DAG: "%13": 0 # CHECK-CP-JSON-DAG: "%45:sub0": 1 # CHECK-CP-JSON-DAG: "%45:sub1": 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": "%46:vgpr_32, %47:sreg_32_xm0_xexec = V_ADD_CO_U32_e64 %45.sub0, %1, 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": 0 # CHECK-CP-JSON-DAG: "%45:sub0": 0 # CHECK-CP-JSON-DAG: "%45:sub1": 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": "%48:vgpr_32, dead $sgpr_null = V_ADDC_U32_e64 %45.sub1, %0, %47, 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: "%45:sub1": 0 # CHECK-CP-JSON-DAG: "%46": 1 # CHECK-CP-JSON-DAG: "%47": 0 # CHECK-CP-JSON: }, # CHECK-CP-JSON-NEXT: "furthest": { # CHECK-CP-JSON-DAG: "register": "%46", # 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": "%46", # 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": "%49:sreg_32_xm0 = V_READFIRSTLANE_B32 %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: "%46": 0 # CHECK-CP-JSON-DAG: "%48": 1 # CHECK-CP-JSON: }, # CHECK-CP-JSON-NEXT: "furthest": { # CHECK-CP-JSON-DAG: "register": "%48", # 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": "%48", # 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": "%50:sreg_32_xm0 = V_READFIRSTLANE_B32 %48, 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: "%48": 0 # CHECK-CP-JSON-DAG: "%49": 1 # CHECK-CP-JSON: }, # CHECK-CP-JSON-NEXT: "furthest": { # CHECK-CP-JSON-DAG: "register": "%49", # 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": "%49", # 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": "$sgpr0 = COPY %49", # 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: "%49": 0 # CHECK-CP-JSON-DAG: "%50": 1 # CHECK-CP-JSON: }, # CHECK-CP-JSON-NEXT: "furthest": { # CHECK-CP-JSON-DAG: "register": "%50", # 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": "%50", # 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": "$sgpr1 = COPY %50", # 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: "%50": 0 # CHECK-CP-JSON: }, # CHECK-CP-JSON-NEXT: "furthest": { # CHECK-CP-JSON-DAG: "register": "%50", # 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": "%50", # 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, killed $sgpr1", # 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": 13, # CHECK-CP-JSON-DAG: "%1": 11, # CHECK-CP-JSON-DAG: "%2": 3, # CHECK-CP-JSON-DAG: "%3": 6, # CHECK-CP-JSON-DAG: "%4": 4, # CHECK-CP-JSON-DAG: "%5": 1, # CHECK-CP-JSON-DAG: "%6": 1, # CHECK-CP-JSON-DAG: "%7": 2, # CHECK-CP-JSON-DAG: "%8": 1, # CHECK-CP-JSON-DAG: "%11": 2, # CHECK-CP-JSON-DAG: "%13": 2, # CHECK-CP-JSON-DAG: "%14": 11, # CHECK-CP-JSON-DAG: "%15": 10, # CHECK-CP-JSON-DAG: "%16": 10, # CHECK-CP-JSON-DAG: "%17": 9, # CHECK-CP-JSON-DAG: "%18": 4, # CHECK-CP-JSON-DAG: "%19": 3, # CHECK-CP-JSON-DAG: "%20": 3, # CHECK-CP-JSON-DAG: "%21": 2, # CHECK-CP-JSON-DAG: "%22": 2, # CHECK-CP-JSON-DAG: "%23": 1, # CHECK-CP-JSON-DAG: "%24": 4, # CHECK-CP-JSON-DAG: "%25": 2, # CHECK-CP-JSON-DAG: "%26": 1, # CHECK-CP-JSON-DAG: "%27": 1, # CHECK-CP-JSON-DAG: "%28": 1, # CHECK-CP-JSON-DAG: "%29": 1, # CHECK-CP-JSON-DAG: "%30": 11, # CHECK-CP-JSON-DAG: "%31": 10, # CHECK-CP-JSON-DAG: "%32": 10, # CHECK-CP-JSON-DAG: "%33": 9, # CHECK-CP-JSON-DAG: "%34": 4, # CHECK-CP-JSON-DAG: "%35": 3, # CHECK-CP-JSON-DAG: "%36": 3, # CHECK-CP-JSON-DAG: "%37": 2, # 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: "%10": 1, # CHECK-CP-JSON-DAG: "%45": 1, # CHECK-CP-JSON-DAG: "%46": 2, # CHECK-CP-JSON-DAG: "%47": 1, # CHECK-CP-JSON-DAG: "%48": 2, # CHECK-CP-JSON-DAG: "%49": 2, # CHECK-CP-JSON-DAG: "%50": 2 # 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: }