brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.5 KiB · 575092d Raw
91 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 4#        bb0(div)5#       /    \6#     bb1 <-> bb27#              |8#             bb39# CHECK-LABEL: MachineUniformityInfo for function:  @cycle_diverge_enter10# CHECK-NEXT: CYCLES ASSUMED DIVERGENT:11# CHECK-NEXT: depth=1: entries(bb.2 bb.1)12# CHECK-NEXT: CYCLES WITH DIVERGENT EXIT:13# CHECK-NEXT: depth=1: entries(bb.2 bb.1)14---15name:            cycle_diverge_enter16tracksRegLiveness: true17body:             |18  bb.0:19    successors: %bb.1, %bb.220 21    %0:_(s32) = G_IMPLICIT_DEF22    %1:_(s32) = G_CONSTANT i32 023    %2:_(s32) = G_IMPLICIT_DEF24    %3:_(s32) = G_CONSTANT i32 125    %4:_(s32) = G_INTRINSIC intrinsic(@llvm.amdgcn.workitem.id.x)26    %6:_(s1) = G_ICMP intpred(slt), %4(s32), %1 ; DIVERGENT CONDITION27    %7:_(s1) = G_ICMP intpred(slt), %2(s32), %1 ; UNIFORM CONDITION28    G_BRCOND %6(s1), %bb.1 ; divergent branch29    G_BR %bb.230  bb.1:31    successors: %bb.232 33    %8:_(s32) = G_PHI %1(s32), %bb.0, %0(s32), %bb.234    G_BR %bb.235  bb.2:36    successors: %bb.1, %bb.337 38    %9:_(s32) = G_PHI %2(s32), %bb.1, %3(s32), %bb.039    %10:_(s1) = G_ICMP intpred(eq), %9(s32), %1(s32)40    G_BRCOND %10(s1), %bb.3  ; divergent branch41    G_BR %bb.142 43  bb.3:44    %11:_(s32), %12:_(s1) = G_UADDO %9, %345    S_ENDPGM 046 47...48 49 50# CHECK-LABEL: MachineUniformityInfo for function:  @cycle_diverge_exit51# CHECK: DIVERGENT: %{{[0-9]*}}: %{{[0-9]*}}:_(s32), %{{[0-9]*}}:_(s1) = G_UADDO %8:_, %{{[0-9]*}}:_52#        bb053#       /    \54#     bb1 <-> bb2(div)55#              |56#             bb357---58name:            cycle_diverge_exit59tracksRegLiveness: true60body:             |61  bb.0:62    successors: %bb.1, %bb.263 64    %0:_(s32) = G_IMPLICIT_DEF65    %1:_(s32) = G_CONSTANT i32 066    %2:_(s32) = G_IMPLICIT_DEF67    %3:_(s32) = G_CONSTANT i32 168    %4:_(s32) = G_INTRINSIC intrinsic(@llvm.amdgcn.workitem.id.x)69    %6:_(s1) = G_ICMP intpred(slt), %4(s32), %1 ; DIVERGENT CONDITION70    %7:_(s1) = G_ICMP intpred(slt), %2(s32), %1 ; UNIFORM CONDITION71    G_BRCOND %7(s1), %bb.1 ; uniform branch72    G_BR %bb.273  bb.1:74    successors: %bb.275 76    %8:_(s32) = G_PHI %1(s32), %bb.0, %0(s32), %bb.277    G_BR %bb.278  bb.2:79    successors: %bb.1, %bb.380 81    %9:_(s32) = G_PHI %2(s32), %bb.1, %3(s32), %bb.082    %10:_(s1) = G_ICMP intpred(sgt), %9(s32), %1(s32)83    G_BRCOND %6(s1), %bb.3  ; divergent branch84    G_BR %bb.185 86  bb.3:87    %11:_(s32), %12:_(s1) = G_UADDO %9, %388    S_ENDPGM 089 90...91