brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.1 KiB · 0cb5f99 Raw
87 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py UTC_ARGS: --version 52# RUN: llc -mtriple=armv7-apple-ios --run-pass=branch-folder %s -o - | FileCheck %s3 4## We hoist code from successor blocks, and in abnormal circumstances we can5## have control flow that branches to the same block. Test we handle that6## correctly.7##8## bb.5 (empty fall-through) folds into bb.6, making bb.2 branch to bb.69## unconditionally on a conditional branch (both edges go to bb.6).10## Instructions are hosited from bb.2's successors, which is bb.6 twice,11## along both edges.12 13...14---15name:            f_1418_205416tracksRegLiveness: true17noPhis:          true18isSSA:           false19noVRegs:         true20body:             |21  ; CHECK-LABEL: name: f_1418_205422  ; CHECK: bb.0:23  ; CHECK-NEXT:   successors: %bb.1(0x80000000)24  ; CHECK-NEXT: {{  $}}25  ; CHECK-NEXT: bb.1:26  ; CHECK-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)27  ; CHECK-NEXT: {{  $}}28  ; CHECK-NEXT:   $r0 = MOVr undef $r0, 14 /* CC::al */, $noreg, $noreg29  ; CHECK-NEXT:   Bcc %bb.1, 1 /* CC::ne */, undef $cpsr30  ; CHECK-NEXT: {{  $}}31  ; CHECK-NEXT: bb.2:32  ; CHECK-NEXT:   successors: %bb.3(0x40000000), %bb.4(0x40000000)33  ; CHECK-NEXT: {{  $}}34  ; CHECK-NEXT:   $r0 = MOVr undef $r0, 14 /* CC::al */, $noreg, $noreg35  ; CHECK-NEXT:   Bcc %bb.4, 1 /* CC::ne */, undef $cpsr36  ; CHECK-NEXT: {{  $}}37  ; CHECK-NEXT: bb.3:38  ; CHECK-NEXT:   BX_RET 14 /* CC::al */, $noreg39  ; CHECK-NEXT: {{  $}}40  ; CHECK-NEXT: bb.4:41  ; CHECK-NEXT:   TRAP42  bb.0:43    successors: %bb.144 45  bb.1:46    successors: %bb.3, %bb.247 48    Bcc %bb.3, 1, undef $cpsr49    B %bb.250 51  bb.2:52    successors: %bb.5, %bb.653 54    Bcc %bb.5, 1, undef $cpsr55    B %bb.656 57  bb.3:58    successors: %bb.459 60    $r0 = MOVr undef $r0, 14, $noreg, $noreg61 62  bb.4:63    successors: %bb.164 65    B %bb.166 67  bb.5:68    successors: %bb.669 70  bb.6:71    successors: %bb.8, %bb.772 73    $r0 = MOVr undef $r0, 14, $noreg, $noreg74    $r0 = MOVr undef $r0, 14, $noreg, $noreg75 76    Bcc %bb.7, 1, undef $cpsr77    B %bb.878 79  bb.7:80    successors:81 82    TRAP83 84  bb.8:85    BX_RET 14, _86...87