102 lines · plain
1; RUN: llc -verify-machineinstrs -enable-machine-outliner -outliner-leaf-descendants=false -mtriple=aarch64 -frame-pointer=non-leaf < %s | FileCheck %s --check-prefix=NOOMIT2; RUN: llc -verify-machineinstrs -enable-machine-outliner -outliner-leaf-descendants=false -mtriple=aarch64 -frame-pointer=none < %s | FileCheck %s --check-prefix=OMITFP3 4define void @_Z1giii(i32 %x, i32 %y, i32 %z) minsize {5; NOOMIT-LABEL: _Z1giii:6; NOOMIT: // %bb.0: // %entry7; NOOMIT-NEXT: b _Z1hiii8;9; OMITFP-LABEL: _Z1giii:10; OMITFP: // %bb.0: // %entry11; OMITFP-NEXT: b _Z1hiii12entry:13 tail call void @_Z1hiii(i32 %x, i32 %y, i32 %z)14 ret void15}16 17declare void @_Z1hiii(i32, i32, i32) minsize18 19define void @_Z2f1v() minsize {20; NOOMIT-LABEL: _Z2f1v:21; NOOMIT: // %bb.0: // %entry22; NOOMIT-NEXT: stp x29, x30, [sp, #-16]! // 16-byte Folded Spill23; NOOMIT-NEXT: mov x29, sp24; NOOMIT-NEXT: .cfi_def_cfa w29, 1625; NOOMIT-NEXT: .cfi_offset w30, -826; NOOMIT-NEXT: .cfi_offset w29, -1627; NOOMIT-NEXT: bl OUTLINED_FUNCTION_028; NOOMIT-NEXT: ldp x29, x30, [sp], #16 // 16-byte Folded Reload29; NOOMIT-NEXT: b _Z1giii30;31; OMITFP-LABEL: _Z2f1v:32; OMITFP: // %bb.0: // %entry33; OMITFP-NEXT: str x30, [sp, #-16]! // 8-byte Folded Spill34; OMITFP-NEXT: .cfi_def_cfa_offset 1635; OMITFP-NEXT: .cfi_offset w30, -1636; OMITFP-NEXT: bl OUTLINED_FUNCTION_037; OMITFP-NEXT: ldr x30, [sp], #16 // 8-byte Folded Reload38; OMITFP-NEXT: b _Z1giii39entry:40 tail call void @_Z1giii(i32 1, i32 2, i32 3)41 tail call void @_Z1giii(i32 1, i32 2, i32 3)42 ret void43}44 45define void @_Z2f2v() minsize {46; NOOMIT-LABEL: _Z2f2v:47; NOOMIT: // %bb.0: // %entry48; NOOMIT-NEXT: stp x29, x30, [sp, #-16]! // 16-byte Folded Spill49; NOOMIT-NEXT: mov x29, sp50; NOOMIT-NEXT: .cfi_def_cfa w29, 1651; NOOMIT-NEXT: .cfi_offset w30, -852; NOOMIT-NEXT: .cfi_offset w29, -1653; NOOMIT-NEXT: bl OUTLINED_FUNCTION_054; NOOMIT-NEXT: ldp x29, x30, [sp], #16 // 16-byte Folded Reload55; NOOMIT-NEXT: b _Z1giii56;57; OMITFP-LABEL: _Z2f2v:58; OMITFP: // %bb.0: // %entry59; OMITFP-NEXT: str x30, [sp, #-16]! // 8-byte Folded Spill60; OMITFP-NEXT: .cfi_def_cfa_offset 1661; OMITFP-NEXT: .cfi_offset w30, -1662; OMITFP-NEXT: bl OUTLINED_FUNCTION_063; OMITFP-NEXT: ldr x30, [sp], #16 // 8-byte Folded Reload64; OMITFP-NEXT: b _Z1giii65entry:66 tail call void @_Z1giii(i32 1, i32 2, i32 3)67 tail call void @_Z1giii(i32 1, i32 2, i32 3)68 ret void69}70 71; OMITFP-LABEL: OUTLINED_FUNCTION_0:72; OMITFP: .cfi_startproc73; OMITFP-NEXT: // %bb.0:74; OMITFP-NEXT: .cfi_def_cfa_offset 1675; OMITFP-NEXT: .cfi_offset w30, -1676; OMITFP-NEXT: str x30, [sp, #-16]!77; OMITFP-NEXT: mov w0, #178; OMITFP-NEXT: mov w1, #279; OMITFP-NEXT: mov w2, #380; OMITFP-NEXT: bl _Z1giii81; OMITFP-NEXT: mov w0, #182; OMITFP-NEXT: mov w1, #283; OMITFP-NEXT: mov w2, #384; OMITFP-NEXT: ldr x30, [sp], #1685; OMITFP-NEXT: ret86 87; NOOMIT-LABEL: OUTLINED_FUNCTION_0:88; NOOMIT: .cfi_startproc89; NOOMIT-NEXT: // %bb.0:90; NOOMIT-NEXT: .cfi_def_cfa_offset 1691; NOOMIT-NEXT: .cfi_offset w30, -1692; NOOMIT-NEXT: str x30, [sp, #-16]!93; NOOMIT-NEXT: mov w0, #194; NOOMIT-NEXT: mov w1, #295; NOOMIT-NEXT: mov w2, #396; NOOMIT-NEXT: bl _Z1giii97; NOOMIT-NEXT: mov w0, #198; NOOMIT-NEXT: mov w1, #299; NOOMIT-NEXT: mov w2, #3100; NOOMIT-NEXT: ldr x30, [sp], #16101; NOOMIT-NEXT: ret102