134 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py2# RUN: llc -mtriple=arm-- -run-pass=machine-outliner -verify-machineinstrs \3# RUN: %s -o - | FileCheck %s4 5--- |6 define void @outline_default_arm() #0 { ret void }7 define void @outline_default_thumb() #1 { ret void }8 declare void @bar()9 10 attributes #0 = { minsize optsize }11 attributes #1 = { minsize optsize "target-features"="+armv7-a,+thumb-mode" }12...13---14 15name: outline_default_arm16tracksRegLiveness: true17body: |18 ; CHECK-LABEL: name: outline_default_arm19 ; CHECK: bb.0:20 ; CHECK: liveins: $lr21 ; CHECK: early-clobber $sp = frame-setup STR_PRE_IMM killed $lr, $sp, -8, 14 /* CC::al */, $noreg22 ; CHECK: BL @OUTLINED_FUNCTION_123 ; CHECK: $lr, $sp = frame-destroy LDR_POST_IMM $sp, $noreg, 8, 14 /* CC::al */, $noreg24 ; CHECK: bb.1:25 ; CHECK: liveins: $lr, $r6, $r7, $r8, $r9, $r10, $r1126 ; CHECK: early-clobber $sp = frame-setup STR_PRE_IMM killed $lr, $sp, -8, 14 /* CC::al */, $noreg27 ; CHECK: BL @OUTLINED_FUNCTION_128 ; CHECK: $lr, $sp = frame-destroy LDR_POST_IMM $sp, $noreg, 8, 14 /* CC::al */, $noreg29 ; CHECK: bb.2:30 ; CHECK: liveins: $lr, $r6, $r7, $r8, $r9, $r10, $r1131 ; CHECK: early-clobber $sp = frame-setup STR_PRE_IMM killed $lr, $sp, -8, 14 /* CC::al */, $noreg32 ; CHECK: BL @OUTLINED_FUNCTION_133 ; CHECK: $lr, $sp = frame-destroy LDR_POST_IMM $sp, $noreg, 8, 14 /* CC::al */, $noreg34 ; CHECK: bb.3:35 ; CHECK: liveins: $lr, $r6, $r7, $r8, $r9, $r10, $r1136 ; CHECK: $r2 = MOVr $lr, 14 /* CC::al */, $noreg, $noreg37 ; CHECK: BX_RET 14 /* CC::al */, $noreg38 bb.0:39 liveins: $lr40 $r0 = MOVi 1, 14, $noreg, $noreg41 $r1 = MOVi 1, 14, $noreg, $noreg42 $r2 = MOVi 1, 14, $noreg, $noreg43 $r3 = MOVi 1, 14, $noreg, $noreg44 $r4 = MOVi 1, 14, $noreg, $noreg45 $r5 = MOVi 1, 14, $noreg, $noreg46 bb.1:47 liveins: $lr, $r6, $r7, $r8, $r9, $r10, $r1148 $r0 = MOVi 1, 14, $noreg, $noreg49 $r1 = MOVi 1, 14, $noreg, $noreg50 $r2 = MOVi 1, 14, $noreg, $noreg51 $r3 = MOVi 1, 14, $noreg, $noreg52 $r4 = MOVi 1, 14, $noreg, $noreg53 $r5 = MOVi 1, 14, $noreg, $noreg54 bb.2:55 liveins: $lr, $r6, $r7, $r8, $r9, $r10, $r1156 $r0 = MOVi 1, 14, $noreg, $noreg57 $r1 = MOVi 1, 14, $noreg, $noreg58 $r2 = MOVi 1, 14, $noreg, $noreg59 $r3 = MOVi 1, 14, $noreg, $noreg60 $r4 = MOVi 1, 14, $noreg, $noreg61 $r5 = MOVi 1, 14, $noreg, $noreg62 bb.3:63 liveins: $lr, $r6, $r7, $r8, $r9, $r10, $r1164 $r2 = MOVr $lr, 14, $noreg, $noreg65 BX_RET 14, $noreg66...67---68 69name: outline_default_thumb70tracksRegLiveness: true71body: |72 ; CHECK-LABEL: name: outline_default_thumb73 ; CHECK: bb.0:74 ; CHECK: liveins: $lr75 ; CHECK: early-clobber $sp = frame-setup t2STR_PRE killed $lr, $sp, -8, 14 /* CC::al */, $noreg76 ; CHECK: tBL 14 /* CC::al */, $noreg, @OUTLINED_FUNCTION_077 ; CHECK: $lr, $sp = frame-destroy t2LDR_POST $sp, 8, 14 /* CC::al */, $noreg78 ; CHECK: bb.1:79 ; CHECK: liveins: $lr, $r4, $r5, $r6, $r7, $r8, $r9, $r10, $r1180 ; CHECK: early-clobber $sp = frame-setup t2STR_PRE killed $lr, $sp, -8, 14 /* CC::al */, $noreg81 ; CHECK: tBL 14 /* CC::al */, $noreg, @OUTLINED_FUNCTION_082 ; CHECK: $lr, $sp = frame-destroy t2LDR_POST $sp, 8, 14 /* CC::al */, $noreg83 ; CHECK: bb.2:84 ; CHECK: liveins: $lr, $r4, $r5, $r6, $r7, $r8, $r9, $r10, $r1185 ; CHECK: early-clobber $sp = frame-setup t2STR_PRE killed $lr, $sp, -8, 14 /* CC::al */, $noreg86 ; CHECK: tBL 14 /* CC::al */, $noreg, @OUTLINED_FUNCTION_087 ; CHECK: $lr, $sp = frame-destroy t2LDR_POST $sp, 8, 14 /* CC::al */, $noreg88 ; CHECK: bb.3:89 ; CHECK: liveins: $lr, $r4, $r5, $r6, $r7, $r8, $r9, $r10, $r1190 ; CHECK: $r2 = tMOVr $lr, 14 /* CC::al */, $noreg91 ; CHECK: tBX_RET 14 /* CC::al */, $noreg92 bb.0:93 liveins: $lr94 $r0 = t2MOVi 1, 14, $noreg, $noreg95 $r1 = t2MOVi 1, 14, $noreg, $noreg96 $r2 = t2MOVi 1, 14, $noreg, $noreg97 $r3 = t2MOVi 1, 14, $noreg, $noreg98 bb.1:99 liveins: $lr, $r4, $r5, $r6, $r7, $r8, $r9, $r10, $r11100 $r0 = t2MOVi 1, 14, $noreg, $noreg101 $r1 = t2MOVi 1, 14, $noreg, $noreg102 $r2 = t2MOVi 1, 14, $noreg, $noreg103 $r3 = t2MOVi 1, 14, $noreg, $noreg104 bb.2:105 liveins: $lr, $r4, $r5, $r6, $r7, $r8, $r9, $r10, $r11106 $r0 = t2MOVi 1, 14, $noreg, $noreg107 $r1 = t2MOVi 1, 14, $noreg, $noreg108 $r2 = t2MOVi 1, 14, $noreg, $noreg109 $r3 = t2MOVi 1, 14, $noreg, $noreg110 bb.3:111 liveins: $lr, $r4, $r5, $r6, $r7, $r8, $r9, $r10, $r11112 $r2 = tMOVr $lr, 14, $noreg113 tBX_RET 14, $noreg114 115 ; CHECK-LABEL: name: OUTLINED_FUNCTION_0116 ; CHECK: bb.0:117 ; CHECK: liveins: $lr, $r4, $r5, $r6, $r7, $r8, $r9, $r10, $r11118 ; CHECK: $r0 = t2MOVi 1, 14 /* CC::al */, $noreg, $noreg119 ; CHECK: $r1 = t2MOVi 1, 14 /* CC::al */, $noreg, $noreg120 ; CHECK: $r2 = t2MOVi 1, 14 /* CC::al */, $noreg, $noreg121 ; CHECK: $r3 = t2MOVi 1, 14 /* CC::al */, $noreg, $noreg122 ; CHECK: tBX_RET 14 /* CC::al */, $noreg123 124 ; CHECK-LABEL: name: OUTLINED_FUNCTION_1125 ; CHECK: bb.0:126 ; CHECK: liveins: $lr, $r6, $r7, $r8, $r9, $r10, $r11127 ; CHECK: $r0 = MOVi 1, 14 /* CC::al */, $noreg, $noreg128 ; CHECK: $r1 = MOVi 1, 14 /* CC::al */, $noreg, $noreg129 ; CHECK: $r2 = MOVi 1, 14 /* CC::al */, $noreg, $noreg130 ; CHECK: $r3 = MOVi 1, 14 /* CC::al */, $noreg, $noreg131 ; CHECK: $r4 = MOVi 1, 14 /* CC::al */, $noreg, $noreg132 ; CHECK: $r5 = MOVi 1, 14 /* CC::al */, $noreg, $noreg133 ; CHECK: MOVPCLR 14 /* CC::al */, $noreg134