1 # RUN: llc -simplify-mir -run-pass=machine-outliner -verify-machineinstrs %s -o - | FileCheck %s 2 # CHECK-NOT: OUTLINED_FUNCTION 3 --- | 4 target triple = "arm64----" 5 6 @g = external global i64, align 8 7 8 define void @foo() #0 { 9 ret void 10 } 11 12 define void @foo2() #0 { 13 ret void 14 } 15 16 define void @foo3() #0 { 17 ret void 18 } 19 20 attributes #0 = { nounwind noredzone } 21 22 ... 23 --- 24 name: foo 25 alignment: 2 26 tracksRegLiveness: true 27 body: | 28 bb.0 (%ir-block.0): 29 liveins: $x27, $lr 30 $x27 = ADRP target-flags(aarch64-page, aarch64-got) @g 31 $lr = ADRP target-flags(aarch64-page, aarch64-got) @g 32 RET undef $lr 33 34 ... 35 --- 36 name: foo2 37 alignment: 2 38 tracksRegLiveness: true 39 body: | 40 bb.0 (%ir-block.0): 41 liveins: $x27, $lr 42 $x27 = ADRP target-flags(aarch64-page, aarch64-got) @g 43 $lr = ADRP target-flags(aarch64-page, aarch64-got) @g 44 RET undef $lr 45 46 ... 47 --- 48 name: foo3 49 alignment: 2 50 tracksRegLiveness: true 51 body: | 52 bb.0 (%ir-block.0): 53 liveins: $x27, $lr 54 $x27 = ADRP target-flags(aarch64-page, aarch64-got) @g 55 $lr = ADRP target-flags(aarch64-page, aarch64-got) @g 56 RET undef $lr 57 ... 58