xref: /llvm-project/llvm/test/CodeGen/ARM/machine-outliner-no-candidates-without-stack-fixup.ll (revision db08b0999d1b42391e34ac0c469b92de98e9f550)
1*db08b099SNikita Popov; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 5
2*db08b099SNikita Popov; RUN: llc -mtriple=thumbv8.1m.main-unknown-unknown < %s | FileCheck %s
3*db08b099SNikita Popov
4*db08b099SNikita Popov; Make sure this does not assert during machine outlining.
5*db08b099SNikita Popov
6*db08b099SNikita Popovdeclare void @a(...)
7*db08b099SNikita Popov
8*db08b099SNikita Popovdefine void @b(i32 %a, i32 %b, i32 %c, ptr %d, ptr %e) minsize {
9*db08b099SNikita Popov; CHECK-LABEL: b:
10*db08b099SNikita Popov; CHECK:       @ %bb.0:
11*db08b099SNikita Popov; CHECK-NEXT:    ldr r3, [sp]
12*db08b099SNikita Popov; CHECK-NEXT:    mov r2, r1
13*db08b099SNikita Popov; CHECK-NEXT:    mov r1, r0
14*db08b099SNikita Popov; CHECK-NEXT:    movs r0, #2
15*db08b099SNikita Popov; CHECK-NEXT:    b a
16*db08b099SNikita Popov  tail call void @a(i32 2, i32 %a, i32 %b, ptr %e)
17*db08b099SNikita Popov  ret void
18*db08b099SNikita Popov}
19*db08b099SNikita Popov
20*db08b099SNikita Popovdefine void @c(i32 %a, i32 %b, i32 %c, ptr %d, ptr %e) minsize {
21*db08b099SNikita Popov; CHECK-LABEL: c:
22*db08b099SNikita Popov; CHECK:       @ %bb.0:
23*db08b099SNikita Popov; CHECK-NEXT:    ldr r3, [sp]
24*db08b099SNikita Popov; CHECK-NEXT:    mov r2, r1
25*db08b099SNikita Popov; CHECK-NEXT:    mov r1, r0
26*db08b099SNikita Popov; CHECK-NEXT:    movs r0, #4
27*db08b099SNikita Popov; CHECK-NEXT:    b a
28*db08b099SNikita Popov  tail call void @a(i32 4, i32 %a, i32 %b, ptr %e)
29*db08b099SNikita Popov  ret void
30*db08b099SNikita Popov}
31