Add a DYNAMIC_STACKALLOC test case.
[oota-llvm.git] / test / CodeGen / ARM / dyn-stackalloc.ll
1 ; RUN: llvm-as < %s | llc -march=arm &&
2 ; RUN: llvm-as < %s | llc -march=arm -enable-thumb &&
3 ; RUN: llvm-as < %s | llc -march=arm -enable-thumb | not grep "ldr sp"
4
5         %struct.state = type { i32, %struct.info*, float**, i32, i32, i32, i32, i32, i32, i32, i32, i32, i64, i64, i64, i64, i64, i64, i8* }
6         %struct.info = type { i32, i32, i32, i32, i32, i32, i32, i8* }
7
8 define void @f1(%struct.state* %v) {
9         %tmp6 = load i32* null
10         %tmp8 = alloca float, i32 %tmp6
11         store i32 1, i32* null
12         br i1 false, label %bb123.preheader, label %return
13
14 bb123.preheader:
15         br i1 false, label %bb43, label %return
16
17 bb43:
18         call fastcc void @f2( float* %tmp8, float* null, i32 0 )
19         %tmp70 = load i32* null
20         %tmp85 = getelementptr float* %tmp8, i32 0
21         call fastcc void @f3( float* null, float* null, float* %tmp85, i32 %tmp70 )
22         ret void
23
24 return:
25         ret void
26 }
27
28 declare fastcc void @f2(float*, float*, i32)
29
30 declare fastcc void @f3(float*, float*, float*, i32)