Add a DYNAMIC_STACKALLOC test case.
authorEvan Cheng <evan.cheng@apple.com>
Tue, 6 Feb 2007 07:18:27 +0000 (07:18 +0000)
committerEvan Cheng <evan.cheng@apple.com>
Tue, 6 Feb 2007 07:18:27 +0000 (07:18 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33959 91177308-0d34-0410-b5e6-96231b3b80d8

test/CodeGen/ARM/dyn-stackalloc.ll [new file with mode: 0644]

diff --git a/test/CodeGen/ARM/dyn-stackalloc.ll b/test/CodeGen/ARM/dyn-stackalloc.ll
new file mode 100644 (file)
index 0000000..450e790
--- /dev/null
@@ -0,0 +1,30 @@
+; RUN: llvm-as < %s | llc -march=arm &&
+; RUN: llvm-as < %s | llc -march=arm -enable-thumb &&
+; RUN: llvm-as < %s | llc -march=arm -enable-thumb | not grep "ldr sp"
+
+       %struct.state = type { i32, %struct.info*, float**, i32, i32, i32, i32, i32, i32, i32, i32, i32, i64, i64, i64, i64, i64, i64, i8* }
+       %struct.info = type { i32, i32, i32, i32, i32, i32, i32, i8* }
+
+define void @f1(%struct.state* %v) {
+       %tmp6 = load i32* null
+       %tmp8 = alloca float, i32 %tmp6
+       store i32 1, i32* null
+       br i1 false, label %bb123.preheader, label %return
+
+bb123.preheader:
+       br i1 false, label %bb43, label %return
+
+bb43:
+       call fastcc void @f2( float* %tmp8, float* null, i32 0 )
+       %tmp70 = load i32* null
+       %tmp85 = getelementptr float* %tmp8, i32 0
+       call fastcc void @f3( float* null, float* null, float* %tmp85, i32 %tmp70 )
+       ret void
+
+return:
+       ret void
+}
+
+declare fastcc void @f2(float*, float*, i32)
+
+declare fastcc void @f3(float*, float*, float*, i32)