brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.8 KiB · 679c968 Raw
73 lines · plain
1# RUN: llc -mtriple=aarch64--- -run-pass=machine-outliner \2# RUN: -verify-machineinstrs %s -o - | FileCheck %s3 4# Ensure that we never outline calls into sequences where unsafe stack5# instructions are present.6 7--- |8  define void @foo() #0 { ret void }9  define void @bar() #0 { ret void }10  define void @baz() #0 { ret void }11  define void @f1() #0 { ret void }12  define void @f2() #0 { ret void }13  attributes #0 = { minsize noinline noredzone "frame-pointer"="all" }14...15---16 17name:            f118tracksRegLiveness: true19body:             |20  bb.0:21  liveins: $lr22    ; CHECK-LABEL: name:            f123    ; CHECK: foo24    ; CHECK-DAG: bar25    ; CHECK-DAG: baz26    $lr = ORRXri $xzr, 127    BL @foo, implicit-def dead $lr, implicit $sp28    $x20, $x19 = LDPXi $sp, 6329    $x20, $x19 = LDPXi $sp, 6330    $x20, $x19 = LDPXi $sp, 6331    $x20, $x19 = LDPXi $sp, 6332  bb.1:33    BL @bar, implicit-def dead $lr, implicit $sp34    $x11 = ADDXri $sp, 48, 0;35    $x12 = ADDXri $sp, 48, 0;36    $x13 = ADDXri $sp, 48, 0;37    $x14 = ADDXri $sp, 48, 0;38  bb.2:39    BL @baz, implicit-def dead $lr, implicit $sp40    $x0 = ADDXri $sp, 48, 0;41    $x1 = ADDXri $sp, 48, 0;42    RET undef $lr43 44...45---46 47name:            f248tracksRegLiveness: true49body:             |50  bb.0:51    liveins: $lr52    ; CHECK-LABEL: name:            f253    ; CHECK: foo54    ; CHECK-DAG: bar55    ; CHECK-DAG: baz56    $lr = ORRXri $xzr, 157    BL @foo, implicit-def dead $lr, implicit $sp58    $x20, $x19 = LDPXi $sp, 6359    $x20, $x19 = LDPXi $sp, 6360    $x20, $x19 = LDPXi $sp, 6361    $x20, $x19 = LDPXi $sp, 6362  bb.1:63    BL @bar, implicit-def dead $lr, implicit $sp64    $x11 = ADDXri $sp, 48, 0;65    $x12 = ADDXri $sp, 48, 0;66    $x13 = ADDXri $sp, 48, 0;67    $x14 = ADDXri $sp, 48, 0;68  bb.2:69    BL @baz, implicit-def dead $lr, implicit $sp70    $x0 = ADDXri $sp, 48, 0;71    $x1 = ADDXri $sp, 48, 0;72    RET undef $lr73