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