1# REQUIRES: amdgpu-registered-target 2# RUN: llvm-reduce -abort-on-invalid-reduction -simplify-mir --delta-passes=instructions -mtriple=amdgcn-amd-amdhsa --test FileCheck --test-arg --check-prefix=CHECK-INTERESTINGNESS --test-arg %s --test-arg --input-file %s -o %t 2> %t.log 3# RUN: FileCheck --match-full-lines --check-prefix=RESULT %s < %t 4 5# CHECK-INTERESTINGNESS: V_MOV_B32 6 7 8# RESULT: bb.0.entry: 9# RESULT: %{{[0-9]+}}:vgpr_32 = V_MOV_B32_e32 0, implicit $exec 10 11# RESULT: bb.1 (ir-block-address-taken %ir-block.exitblock, align 8): 12# RESULT: bb.2 (landing-pad, align 16): 13# RESULT: bb.3 (inlineasm-br-indirect-target): 14# RESULT: bb.4 (ehfunclet-entry): 15# RESULT: bb.5 (bbsections 1): 16# RESULT: bb.6 (bbsections 2): 17# RESULT: bb.7 (bbsections 3): 18# RESULT: bb.8: 19# RESULT-NEXT: successors: %bb.9(0x66666666), %bb.10(0x1999999a) 20# RESULT: bb.9: 21# RESULT: bb.10.exitblock: 22# RESULT: bb.11 (machine-block-address-taken): 23 24--- | 25 define void @func(i32 %size) { 26 entry: 27 br label %exitblock 28 29 exitblock: 30 ret void 31 } 32 33... 34 35--- 36name: func 37alignment: 32 38exposesReturnsTwice: true 39legalized: true 40regBankSelected: true 41selected: true 42failedISel: true 43tracksRegLiveness: true 44hasWinCFI: true 45failsVerification: true 46tracksDebugUserValues: true 47body: | 48 bb.0.entry: 49 S_NOP 0 50 %0:vgpr_32 = V_MOV_B32_e32 0, implicit $exec 51 52 bb.1 (ir-block-address-taken %ir-block.exitblock, align 8): 53 54 bb.2 (landing-pad, align 16): 55 56 bb.3 (inlineasm-br-indirect-target): 57 58 bb.4 (ehfunclet-entry): 59 60 bb.5 (bbsections 1): 61 bb.6 (bbsections 2): 62 bb.7 (bbsections 3): 63 64 bb.8: 65 successors: %bb.9(4), %bb.10(1) 66 S_CBRANCH_SCC1 %bb.10, implicit undef $scc 67 S_BRANCH %bb.9 68 69 bb.9: 70 71 bb.10.exitblock: 72 S_ENDPGM 0, implicit %0 73 74 bb.11 (machine-block-address-taken): 75... 76