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