diff options
| author | Evan Cheng <evan.cheng@apple.com> | 2007-02-06 07:18:27 +0000 |
|---|---|---|
| committer | Evan Cheng <evan.cheng@apple.com> | 2007-02-06 07:18:27 +0000 |
| commit | a17588c3c2850207c708fd808edac7ef954f3cd2 (patch) | |
| tree | cf6eb603f91fb937a49f83fe38667a733180af4c /test/CodeGen/ARM/dyn-stackalloc.ll | |
| parent | 40984d7449c80a3d0365d31f25dff451fd54f060 (diff) | |
Add a DYNAMIC_STACKALLOC test case.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33959 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CodeGen/ARM/dyn-stackalloc.ll')
| -rw-r--r-- | test/CodeGen/ARM/dyn-stackalloc.ll | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/test/CodeGen/ARM/dyn-stackalloc.ll b/test/CodeGen/ARM/dyn-stackalloc.ll new file mode 100644 index 0000000000..450e7903f7 --- /dev/null +++ b/test/CodeGen/ARM/dyn-stackalloc.ll @@ -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) |
