1 ;PR15293: ARM codegen ice - expected larger existing stack allocation
2 ;RUN: llc -mtriple=arm-linux-gnueabihf < %s | FileCheck %s
5 ;CHECK: sub sp, sp, #16
7 ;CHECK: str r0, [sp, #8]
11 ;CHECK: add sp, sp, #16
15 ;CHECK: sub sp, sp, #16
16 ;CHECK: push {r11, lr}
17 ;CHECK: str r0, [sp, #8]
18 ;CHECK: add r0, sp, #8
19 ;CHECK: str r2, [sp, #16]
20 ;CHECK: bl fooUseParam
21 ;CHECK: add r0, sp, #16
22 ;CHECK: bl fooUseParam
24 ;CHECK: add sp, sp, #16
28 ;CHECK: push {r11, lr}
37 ;CHECK: push {r11, lr}
48 @static_val = constant %artz { i32 777 }
50 declare void @fooUseParam(ptr )
52 define void @foo(ptr byval(%artz) %s) {
53 call void @fooUseParam(ptr %s)
57 define void @foo2(ptr byval(%artz) %s, i32 %p, ptr byval(%artz) %s2) {
58 call void @fooUseParam(ptr %s)
59 call void @fooUseParam(ptr %s2)
64 define void @doFoo() {
65 call void @foo(ptr byval(%artz) @static_val)
69 define void @doFoo2() {
70 call void @foo2(ptr byval(%artz) @static_val, i32 0, ptr byval(%artz) @static_val)