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 15 name: outline_1 16 tracksRegLiveness: true 17 body: | 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 30 name: outline_2 31 tracksRegLiveness: true 32 body: | 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 45 name: outline_3 46 tracksRegLiveness: true 47 body: | 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 60 name: dont_outline 61 tracksRegLiveness: true 62 body: | 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