brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.0 KiB · 63efdad Raw
84 lines · plain
1# RUN: llc -enable-machine-outliner -start-before=aarch64-expand-pseudo -mtriple=arm64-apple-ios -o - %s | FileCheck %s2#3#  The calls to _cb1 & _cb2 should be followed by the marker instruction4#  'mov x29, x29' and the attached call. Neither should get outlined.5#6# CHECK-LABEL: _fn1:7# CHECK:       bb.0:8# CHECK:        bl _cb19# CHECK-NEXT:   mov x29, x2910# CHECK-NEXT:   bl _attachedcall11# CHECK:        b _OUTLINED_FUNCTION_012#13# CHECK-LABEL: _fn2:14# CHECK:       bb.0:15# CHECK:        bl _cb216# CHECK-NEXT:   mov x29, x2917# CHECK-NEXT:   bl _attachedcall18# CHECK:        b _OUTLINED_FUNCTION_019#20# CHECK-LABEL: _OUTLINED_FUNCTION_0:21# CHECK:       bb.0:22# CHECK-NEXT:    orr w12, wzr, #0x323# CHECK-NEXT:    orr w12, wzr, #0x324# CHECK-NEXT:    orr w12, wzr, #0x325# CHECK-NEXT:    orr w12, wzr, #0x326# CHECK-NEXT:    ret27 28--- |29  target datalayout = "e-m:o-i64:64-i128:128-n32:64-S128"30  target triple = "arm64-apple-ios"31 32  define void @fn1() {33    ret void34  }35 36  define void @fn2() {37    ret void38  }39 40  declare void @cb1()41 42  declare void @cb2()43 44  declare ptr @attachedcall()45...46---47name:            fn148tracksRegLiveness: true49machineFunctionInfo:50  hasRedZone:      false51body:             |52  bb.0:53    liveins: $lr54 55    BLR_RVMARKER @attachedcall, 1, @cb1, csr_aarch64_aapcs, implicit-def dead $lr, implicit $sp, implicit-def $sp, implicit-def $x056    $w12 = ORRWri $wzr, 157    $w12 = ORRWri $wzr, 158    $w12 = ORRWri $wzr, 159    $w12 = ORRWri $wzr, 160    $w12 = ORRWri $wzr, 161    $lr = ORRXri $xzr, 162 63    RET undef $lr64...65---66name:            fn267tracksRegLiveness: true68machineFunctionInfo:69  hasRedZone:      false70body:             |71  bb.0:72    liveins: $lr, $x19, $x20, $lr73 74    BLR_RVMARKER @attachedcall, 1, @cb2, csr_aarch64_aapcs, implicit-def dead $lr, implicit $sp, implicit-def $sp, implicit-def $x075    $w12 = ORRWri $wzr, 176    $w12 = ORRWri $wzr, 177    $w12 = ORRWri $wzr, 178    $w12 = ORRWri $wzr, 179    $w12 = ORRWri $wzr, 180    $lr = ORRXri $xzr, 181 82    RET undef $lr83...84