brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.9 KiB · fd811e2 Raw
78 lines · plain
1# RUN: llc -mtriple=amdgcn-- -run-pass=print-machine-uniformity -o - %s 2>&1 | FileCheck %s2# RUN: llc -mtriple=amdgcn-- -passes='print<machine-uniformity>' -filetype=null %s 2>&1 | FileCheck %s3# CHECK-LABEL: MachineUniformityInfo for function:  @hidden_loop_diverge4 5# CHECK-LABEL: BLOCK bb.06# CHECK-NOT: DIVERGENT: %{{[0-9]*}}: %{{[0-9]*}}:_(s1) = G_ICMP intpred(slt), %{{[0-9]*}}:_(s32), %{{[0-9]*}}:_7# CHECK-NOT: DIVERGENT: G_BRCOND %{{[0-9]*}}:_(s1), %bb.38# CHECK-NOT: DIVERGENT: G_BR %bb.19 10# CHECK-LABEL: BLOCK bb.111# CHECK: DIVERGENT: %{{[0-9]*}}: %{{[0-9]*}}:_(s1) = G_ICMP intpred(slt), %{{[0-9]*}}:_(s32), %{{[0-9]*}}:_12# CHECK: DIVERGENT: G_BRCOND %{{[0-9]*}}:_(s1), %bb.313# CHECK: DIVERGENT: G_BR %bb.214 15# CHECK-LABEL: BLOCK bb.216# CHECK: DIVERGENT: %{{[0-9]*}}: %{{[0-9]*}}:_(s1) = G_ICMP intpred(sgt), %{{[0-9]*}}:_(s32), %{{[0-9]*}}:_17# CHECK: DIVERGENT: G_BRCOND %{{[0-9]*}}:_(s1), %bb.418# CHECK: DIVERGENT: G_BR %bb.119 20# CHECK-LABEL: BLOCK bb.321# CHECK: DIVERGENT: %{{[0-9]*}}: %{{[0-9]*}}:_(s32) = G_PHI %{{[0-9]*}}:_(s32), %bb.0, %{{[0-9]*}}:_(s32), %bb.122# CHECK-NOT: DIVERGENT: G_BRCOND %{{[0-9]*}}:_(s1), %bb.423# CHECK-NOT: DIVERGENT: G_BR %bb.524 25# CHECK-LABEL: BLOCK bb.426# CHECK-NOT: DIVERGENT: %{{[0-9]*}}: %{{[0-9]*}}:_(s32) = G_PHI %{{[0-9]*}}:_(s32), %bb.3, %{{[0-9]*}}:_(s32), %bb.227 28# CHECK-LABEL: BLOCK bb.529# CHECK-NOT: DIVERGENT: %{{[0-9]*}}: %{{[0-9]*}}:_(s32) = G_PHI %{{[0-9]*}}:_(s32), %bb.3, %{{[0-9]*}}:_(s32), %bb.430 31---32name:            hidden_loop_diverge33tracksRegLiveness: true34body:             |35    bb.0:36        successors: %bb.3, %bb.137        liveins: $sgpr4_sgpr538 39        %0:_(s32) = G_IMPLICIT_DEF40        %20:_(s32) = G_IMPLICIT_DEF41        %21:_(s32) = G_CONSTANT i32 4242        %22:_(s32) = G_IMPLICIT_DEF43        %1:_(s32) = G_CONSTANT i32 044        %2:_(s32) = G_INTRINSIC intrinsic(@llvm.amdgcn.workitem.id.x)45        %3:_(s1) = G_ICMP intpred(slt), %0(s32), %146        G_BRCOND %3(s1), %bb.3                            ; Uniform branch47        G_BR %bb.148    bb.1:49        successors: %bb.3, %bb.250 51        %4:_(s32) = G_PHI %1(s32), %bb.0, %7(s32), %bb.252        %5:_(s1) = G_ICMP intpred(slt), %1(s32), %2(s32)53        G_BRCOND %5(s1), %bb.3                            ; Divergent exit54        G_BR %bb.255    bb.2:56        successors: %bb.4, %bb.157 58        %6:_(s32) = G_CONSTANT i32 159        %7:_(s32) = G_ADD %6(s32), %4(s32)60        %8:_(s1) = G_ICMP intpred(sgt), %2(s32), %1(s32)61        G_BRCOND %8(s1), %bb.4                            ; Divergent exit62        G_BR %bb.163    bb.3:64        successors: %bb.4, %bb.565 66        %9:_(s32) = G_PHI %20(s32), %bb.0, %4(s32), %bb.1    ; Temporal divergent phi67        G_BRCOND %3(s1), %bb.468        G_BR %bb.569 70    bb.4:71        successors: %bb.572 73        %10:_(s32) = G_PHI %21(s32), %bb.3, %22(s32), %bb.2  ; Temporal divergent phi74        G_BR %bb.575    bb.5:76        %11:_(s32) = G_PHI %20(s32), %bb.3, %22(s32), %bb.477...78