60 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: @basic4# CHECK-NOT: CYCLES ASSUMED DIVERGENT:5# CHECK: CYCLES WITH DIVERGENT EXIT:6# CHECK: depth=1: entries(bb.1 bb.3) bb.27 8---9name: basic10tracksRegLiveness: true11body: |12 bb.0:13 successors: %bb.3, %bb.114 15 %0:_(s32) = G_CONSTANT i32 016 %1:_(s32) = G_CONSTANT i32 117 18 %2:_(s32) = G_IMPLICIT_DEF19 %3:_(s32) = G_IMPLICIT_DEF20 21 %6:_(s1) = G_ICMP intpred(slt), %2(s32), %0(s32) ;uniform condition22 %7:_(s1) = G_ICMP intpred(eq), %4(s32), %0 ;divergent condition23 %4:_(s32) = G_INTRINSIC intrinsic(@llvm.amdgcn.workitem.id.x)24 G_BRCOND %6(s1), %bb.325 G_BR %bb.126 27 bb.1:28 successors: %bb.229 30 %8:_(s32) = G_PHI %2(s32), %bb.0, %3(s32), %bb.331 %10:_(s32) = G_PHI %2(s32), %bb.0, %16(s32), %bb.332 %9:_(s32) = G_ADD %3(s32), %1(s32)33 G_BR %bb.234 35 bb.2:36 successors: %bb.3, %bb.437 38 %13:_(s32) = G_ADD %3(s32), %1(s32)39 %14:_(s32) = G_ADD %10(s32), %1(s32)40 %15:_(s32) = G_ADD %10(s32), %1(s32)41 42 G_BRCOND %7(s1), %bb.343 G_BR %bb.444 45 bb.3:46 successors: %bb.147 %16:_(s32) = G_PHI %13(s32), %bb.2, %2(s32), %bb.048 %17:_(s32) = G_ADD %3(s32), %1(s32)49 G_BR %bb.150 bb.4:51 ; CHECK-LABEL: bb.452 ; CHECK: DIVERGENT:53 ; CHECK: DIVERGENT:54 ; CHECK-NOT: DIVERGENT:55 %18:_(s32) = G_ADD %8(s32), %3(s32)56 %19:_(s32) = G_ADD %8(s32), %3(s32)57 %20:_(s32) = G_ADD %3(s32), %1(s32)58 S_ENDPGM 059...60