]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - test/CodeGen/Thumb/large-stack.ll
Vendor import of llvm release_34 branch r197841 (effectively, 3.4 RC3):
[FreeBSD/FreeBSD.git] / test / CodeGen / Thumb / large-stack.ll
1 ; RUN: llc < %s -mtriple=thumb-apple-ios | FileCheck %s
2
3 define void @test1() {
4 ; CHECK-LABEL: test1:
5 ; CHECK: sub sp, #256
6 ; CHECK: add sp, #256
7     %tmp = alloca [ 64 x i32 ] , align 4
8     ret void
9 }
10
11 define void @test2() {
12 ; CHECK-LABEL: test2:
13 ; CHECK: ldr r0, LCPI
14 ; CHECK: add sp, r0
15 ; CHECK: subs r4, r7, #4
16 ; CHECK: mov sp, r4
17     %tmp = alloca [ 4168 x i8 ] , align 4
18     ret void
19 }
20
21 define i32 @test3() {
22 ; CHECK-LABEL: test3:
23 ; CHECK: ldr r1, LCPI
24 ; CHECK: add sp, r1
25 ; CHECK: ldr r1, LCPI
26 ; CHECK: add r1, sp
27 ; CHECK: subs r4, r7, #4
28 ; CHECK: mov sp, r4
29     %retval = alloca i32, align 4
30     %tmp = alloca i32, align 4
31     %a = alloca [805306369 x i8], align 16
32     store i32 0, i32* %tmp
33     %tmp1 = load i32* %tmp
34     ret i32 %tmp1
35 }