1# RUN: llc -mtriple=aarch64--- -run-pass=machine-outliner \
2# RUN: -verify-machineinstrs %s -o - | FileCheck %s
3
4--- |
5  define void @outline_1() #0 { ret void }
6  define void @outline_2() #0 { ret void }
7  define void @outline_3() #0 { ret void }
8  define void @dont_outline() #1 { ret void }
9
10  attributes #0 = { noredzone minsize optsize }
11  attributes #1 = { noredzone }
12...
13---
14
15name:           outline_1
16tracksRegLiveness: true
17body:             |
18  bb.0:
19    ; CHECK-LABEL: bb.0:
20    ; CHECK: OUTLINED
21    liveins: $w8, $wzr
22    $w8 = ORRWri $wzr, 1
23    $w8 = ORRWri $wzr, 2
24    $w8 = ORRWri $wzr, 3
25    $w8 = ORRWri $wzr, 4
26    RET undef $lr
27...
28---
29
30name:           outline_2
31tracksRegLiveness: true
32body:             |
33  bb.0:
34    ; CHECK-LABEL: bb.0:
35    ; CHECK: OUTLINED
36    liveins: $w8, $wzr
37    $w8 = ORRWri $wzr, 1
38    $w8 = ORRWri $wzr, 2
39    $w8 = ORRWri $wzr, 3
40    $w8 = ORRWri $wzr, 4
41    RET undef $lr
42...
43---
44
45name:           outline_3
46tracksRegLiveness: true
47body:             |
48  bb.0:
49    ; CHECK-LABEL: bb.0:
50    ; CHECK: OUTLINED
51    liveins: $w8, $wzr
52    $w8 = ORRWri $wzr, 1
53    $w8 = ORRWri $wzr, 2
54    $w8 = ORRWri $wzr, 3
55    $w8 = ORRWri $wzr, 4
56    RET undef $lr
57...
58---
59
60name:           dont_outline
61tracksRegLiveness: true
62body:             |
63  bb.0:
64    ; CHECK-LABEL: bb.0:
65    ; CHECK-NOT: BL
66    liveins: $w8, $wzr
67    $w8 = ORRWri $wzr, 1
68    $w8 = ORRWri $wzr, 2
69    $w8 = ORRWri $wzr, 3
70    $w8 = ORRWri $wzr, 4
71    RET undef $lr
72