1 # NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py
2 # RUN: llc -mtriple=arm-- -run-pass=machine-outliner -verify-machineinstrs \
3 # RUN: %s -o - | FileCheck %s
6 define void @outline_no_save_ok_arm() #0 { ret void }
7 define void @outline_no_save_ok_thumb() #1 { ret void }
11 attributes #0 = { minsize optsize }
12 attributes #1 = { minsize optsize "target-features"="+armv7-a,+thumb-mode" }
16 name: outline_no_save_ok_arm
17 tracksRegLiveness: true
19 ; CHECK-LABEL: name: outline_no_save_ok_arm
21 ; CHECK: BL @OUTLINED_FUNCTION_1
23 ; CHECK: BL @OUTLINED_FUNCTION_1
25 ; CHECK: BX_RET 14 /* CC::al */, $noreg
27 $r2 = MOVi 1, 14, $noreg, $noreg
28 $r2 = MOVi 1, 14, $noreg, $noreg
29 $r2 = MOVi 1, 14, $noreg, $noreg
30 $r2 = MOVi 1, 14, $noreg, $noreg
31 $r3 = LDRi12 $sp, 8, 14, $noreg
33 $r2 = MOVi 1, 14, $noreg, $noreg
34 $r2 = MOVi 1, 14, $noreg, $noreg
35 $r2 = MOVi 1, 14, $noreg, $noreg
36 $r2 = MOVi 1, 14, $noreg, $noreg
37 $r3 = LDRi12 $sp, 8, 14, $noreg
43 name: outline_no_save_ok_thumb
44 tracksRegLiveness: true
46 ; CHECK-LABEL: name: outline_no_save_ok_thumb
48 ; CHECK: tBL 14 /* CC::al */, $noreg, @OUTLINED_FUNCTION_0
50 ; CHECK: tBL 14 /* CC::al */, $noreg, @OUTLINED_FUNCTION_0
52 ; CHECK: tBX_RET 14 /* CC::al */, $noreg
54 $r2 = t2MOVi 1, 14, $noreg, $noreg
55 $r2 = t2MOVi 1, 14, $noreg, $noreg
56 $r2 = t2MOVi 1, 14, $noreg, $noreg
57 $r2 = t2MOVi 1, 14, $noreg, $noreg
58 t2STRi12 $r2, $sp, 0, 14, $noreg
60 $r2 = t2MOVi 1, 14, $noreg, $noreg
61 $r2 = t2MOVi 1, 14, $noreg, $noreg
62 $r2 = t2MOVi 1, 14, $noreg, $noreg
63 $r2 = t2MOVi 1, 14, $noreg, $noreg
64 t2STRi12 $r2, $sp, 0, 14, $noreg
68 ; CHECK-LABEL: name: OUTLINED_FUNCTION_0
70 ; CHECK: $r2 = t2MOVi 1, 14 /* CC::al */, $noreg, $noreg
71 ; CHECK: $r2 = t2MOVi 1, 14 /* CC::al */, $noreg, $noreg
72 ; CHECK: $r2 = t2MOVi 1, 14 /* CC::al */, $noreg, $noreg
73 ; CHECK: $r2 = t2MOVi 1, 14 /* CC::al */, $noreg, $noreg
74 ; CHECK: t2STRi12 $r2, $sp, 0, 14 /* CC::al */, $noreg
75 ; CHECK: tBX_RET 14 /* CC::al */, $noreg
77 ; CHECK-LABEL: name: OUTLINED_FUNCTION_1
79 ; CHECK: $r2 = MOVi 1, 14 /* CC::al */, $noreg, $noreg
80 ; CHECK: $r2 = MOVi 1, 14 /* CC::al */, $noreg, $noreg
81 ; CHECK: $r2 = MOVi 1, 14 /* CC::al */, $noreg, $noreg
82 ; CHECK: $r2 = MOVi 1, 14 /* CC::al */, $noreg, $noreg
83 ; CHECK: $r3 = LDRi12 $sp, 8, 14 /* CC::al */, $noreg
84 ; CHECK: MOVPCLR 14 /* CC::al */, $noreg