brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.6 KiB · 826157e Raw
59 lines · plain
1# RUN: llc -mtriple=aarch64 -debug-only=machine-outliner -run-pass=machine-outliner -verify-machineinstrs %s -o /dev/null 2>&1 | FileCheck %s2# REQUIRES: asserts3 4# CHECK-LABEL: *** Populating mapper ***5# CHECK-NEXT: MAPPING FUNCTION: block_too_small6# CHECK-NEXT:   MAPPING MBB: ''7# CHECK-NEXT:     SKIP: MBB size less than minimum size of 28# CHECK-NEXT: MAPPING FUNCTION: no_outline9# CHECK-NEXT: SKIP: Function has nooutline attribute10# CHECK-NEXT: MAPPING FUNCTION: redzone11# CHECK-NEXT: SKIP: redzone: unsafe to outline from12# CHECK-NEXT: MAPPING FUNCTION: no_mf13# CHECK-NEXT: SKIP: Function does not have a MachineFunction14# CHECK-NEXT: MAPPING FUNCTION: block_addr_fn15# CHECK-NEXT:   MAPPING MBB: 'label'16# CHECK-NEXT:     SKIP: MBB's address is taken17 18--- |19  define void @block_too_small() noredzone { unreachable }20  define void @no_outline() noredzone "nooutline" { unreachable }21  define void @redzone() { unreachable }22  declare void @no_mf()23  define void @block_addr_fn() noredzone {24  entry:25    br label %label26  label:27    call void @block_addr_fn(ptr blockaddress(@block_addr_fn, %label))28    ret void29  }30...31---32name:            no_outline33tracksRegLiveness: true34body:             |35  bb.0:36    liveins: $w0, $lr, $w837    RET undef $lr38...39---40name:            block_too_small41tracksRegLiveness: true42body:             |43  bb.0:44    liveins: $w0, $lr, $w845    RET undef $lr46...47---48name:            block_addr_fn49tracksRegLiveness: true50body:             |51  bb.0.label (ir-block-address-taken %ir-block.label):52    liveins: $w0, $lr, $w853    $w0 = ORRWri $wzr, 154    $w0 = ORRWri $wzr, 155    $w0 = ORRWri $wzr, 456    RET undef $lr57...58---59