1 # RUN: llc -mtriple=aarch64 -debug-only=machine-outliner -run-pass=machine-outliner -verify-machineinstrs %s -o /dev/null 2>&1 | FileCheck %s
4 # CHECK-LABEL: *** Populating mapper ***
5 # CHECK-NEXT: MAPPING FUNCTION: block_too_small
6 # CHECK-NEXT: MAPPING MBB: ''
7 # CHECK-NEXT: SKIP: MBB size less than minimum size of 2
8 # CHECK-NEXT: MAPPING FUNCTION: no_outline
9 # CHECK-NEXT: SKIP: Function has nooutline attribute
10 # CHECK-NEXT: MAPPING FUNCTION: redzone
11 # CHECK-NEXT: SKIP: redzone: unsafe to outline from
12 # CHECK-NEXT: MAPPING FUNCTION: no_mf
13 # CHECK-NEXT: SKIP: Function does not have a MachineFunction
14 # CHECK-NEXT: MAPPING FUNCTION: block_addr_fn
15 # CHECK-NEXT: MAPPING MBB: 'label'
16 # CHECK-NEXT: SKIP: MBB's address is taken
19 define void @block_too_small() noredzone { unreachable }
20 define void @no_outline() noredzone "nooutline" { unreachable }
21 define void @redzone() { unreachable }
23 define void @block_addr_fn() noredzone {
27 call void @block_addr_fn(ptr blockaddress(@block_addr_fn, %label))
33 tracksRegLiveness: true
36 liveins: $w0, $lr, $w8
41 tracksRegLiveness: true
44 liveins: $w0, $lr, $w8
49 tracksRegLiveness: true
51 bb.0.label (ir-block-address-taken %ir-block.label):
52 liveins: $w0, $lr, $w8