diff options
author | Chandler Carruth <chandlerc@gmail.com> | 2012-03-31 09:22:33 +0000 |
---|---|---|
committer | Chandler Carruth <chandlerc@gmail.com> | 2012-03-31 09:22:33 +0000 |
commit | c3e955927ff4d4ec17a0d9899a175f62b6c57780 (patch) | |
tree | 6b9d242ae81efa207821fe99c407a4c3e455fa27 /test | |
parent | 4000afe712a7fd9e584919c43d2aa09b154946c1 (diff) | |
download | external_llvm-c3e955927ff4d4ec17a0d9899a175f62b6c57780.zip external_llvm-c3e955927ff4d4ec17a0d9899a175f62b6c57780.tar.gz external_llvm-c3e955927ff4d4ec17a0d9899a175f62b6c57780.tar.bz2 |
FileCheck-ize this test, and generally tidy it up prior to changing
things around.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153799 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test')
-rw-r--r-- | test/Transforms/Inline/dynamic_alloca_test.ll | 47 |
1 files changed, 26 insertions, 21 deletions
diff --git a/test/Transforms/Inline/dynamic_alloca_test.ll b/test/Transforms/Inline/dynamic_alloca_test.ll index 0286535..bc0a0d3 100644 --- a/test/Transforms/Inline/dynamic_alloca_test.ll +++ b/test/Transforms/Inline/dynamic_alloca_test.ll @@ -3,33 +3,38 @@ ; Functions with dynamic allocas can only be inlined into functions that ; already have dynamic allocas. -; RUN: opt < %s -inline -S | \ -; RUN: grep llvm.stacksave -; RUN: opt < %s -inline -S | not grep callee - +; RUN: opt < %s -inline -S | FileCheck %s declare void @ext(i32*) define internal void @callee(i32 %N) { - %P = alloca i32, i32 %N ; <i32*> [#uses=1] - call void @ext( i32* %P ) - ret void + %P = alloca i32, i32 %N + call void @ext(i32* %P) + ret void } define void @foo(i32 %N) { -; <label>:0 - %P = alloca i32, i32 %N ; <i32*> [#uses=1] - call void @ext( i32* %P ) - br label %Loop - -Loop: ; preds = %Loop, %0 - %count = phi i32 [ 0, %0 ], [ %next, %Loop ] ; <i32> [#uses=2] - %next = add i32 %count, 1 ; <i32> [#uses=1] - call void @callee( i32 %N ) - %cond = icmp eq i32 %count, 100000 ; <i1> [#uses=1] - br i1 %cond, label %out, label %Loop - -out: ; preds = %Loop - ret void +; CHECK: @foo +; CHECK: alloca i32, i32 %{{.*}} +; CHECK: call i8* @llvm.stacksave() +; CHECK: alloca i32, i32 %{{.*}} +; CHECK: call void @ext +; CHECK: call void @llvm.stackrestore +; CHECK: ret + +entry: + %P = alloca i32, i32 %N + call void @ext(i32* %P) + br label %loop + +loop: + %count = phi i32 [ 0, %entry ], [ %next, %loop ] + %next = add i32 %count, 1 + call void @callee(i32 %N) + %cond = icmp eq i32 %count, 100000 + br i1 %cond, label %out, label %loop + +out: + ret void } |