1 # RUN: llc -mtriple=arm-- -run-pass=machine-outliner -verify-machineinstrs \
2 # RUN: %s -o - | FileCheck %s
5 define void @stack_use_no_lr_save_1() #0 { ret void }
6 define void @stack_use_no_lr_save_2() #0 { ret void }
8 attributes #0 = { minsize optsize }
12 name: stack_use_no_lr_save_1
13 tracksRegLiveness: true
16 ; CHECK-LABEL: name: stack_use_no_lr_save_1
17 ; CHECK: BL @OUTLINED_FUNCTION_0
18 $r0 = MOVi 1, 14, $noreg, $noreg
19 $r0 = MOVi 1, 14, $noreg, $noreg
20 $r0 = LDRi12 $sp, 0, 14, $noreg
21 $r0 = LDRi12 $sp, 0, 14, $noreg
22 $r0 = LDRi12 $sp, 0, 14, $noreg
23 $r0 = MOVi 1, 14, $noreg, $noreg
24 $r0 = LDRi12 $sp, 0, 14, $noreg
25 $r0 = MOVi 1, 14, $noreg, $noreg
27 liveins: $r0, $r1, $r2, $r3, $r4, $r5, $r6, $r7, $r8, $r9, $r10, $r11
32 name: stack_use_no_lr_save_2
33 tracksRegLiveness: true
36 ; CHECK-LABEL: name: stack_use_no_lr_save_2
37 ; CHECK: BL @OUTLINED_FUNCTION_0
38 $r0 = MOVi 1, 14, $noreg, $noreg
39 $r0 = MOVi 1, 14, $noreg, $noreg
40 $r0 = LDRi12 $sp, 0, 14, $noreg
41 $r0 = LDRi12 $sp, 0, 14, $noreg
42 $r0 = LDRi12 $sp, 0, 14, $noreg
43 $r0 = MOVi 1, 14, $noreg, $noreg
44 $r0 = LDRi12 $sp, 0, 14, $noreg
45 $r0 = MOVi 1, 14, $noreg, $noreg
49 ;CHECK: name: OUTLINED_FUNCTION_0
50 ;CHECK: $r0 = MOVi 1, 14 /* CC::al */, $noreg, $noreg
51 ;CHECK-NEXT: $r0 = MOVi 1, 14 /* CC::al */, $noreg, $noreg
52 ;CHECK-NEXT: $r0 = LDRi12 $sp, 0, 14 /* CC::al */, $noreg
53 ;CHECK-NEXT: $r0 = LDRi12 $sp, 0, 14 /* CC::al */, $noreg
54 ;CHECK-NEXT: $r0 = LDRi12 $sp, 0, 14 /* CC::al */, $noreg
55 ;CHECK-NEXT: $r0 = MOVi 1, 14 /* CC::al */, $noreg, $noreg
56 ;CHECK-NEXT: $r0 = LDRi12 $sp, 0, 14 /* CC::al */, $noreg
57 ;CHECK-NEXT: $r0 = MOVi 1, 14 /* CC::al */, $noreg, $noreg
58 ;CHECK-NEXT: MOVPCLR 14 /* CC::al */, $noreg