diff options
Diffstat (limited to 'llvm/test/Transforms/Inline/dynamic_alloca_test.ll')
-rw-r--r-- | llvm/test/Transforms/Inline/dynamic_alloca_test.ll | 45 |
1 files changed, 0 insertions, 45 deletions
diff --git a/llvm/test/Transforms/Inline/dynamic_alloca_test.ll b/llvm/test/Transforms/Inline/dynamic_alloca_test.ll deleted file mode 100644 index 1c17c7cd974..00000000000 --- a/llvm/test/Transforms/Inline/dynamic_alloca_test.ll +++ /dev/null @@ -1,45 +0,0 @@ -; Test that functions with dynamic allocas get inlined in a case where -; naively inlining it would result in a miscompilation. -; Functions with dynamic allocas can only be inlined into functions that -; already have dynamic allocas. - -; RUN: opt < %s -inline -S | FileCheck %s -; -; FIXME: This test is xfailed because the inline cost rewrite disabled *all* -; inlining of functions which contain a dynamic alloca. It should be re-enabled -; once that functionality is restored. -; XFAIL: * - -declare void @ext(i32*) - -define internal void @callee(i32 %N) { - %P = alloca i32, i32 %N - call void @ext(i32* %P) - ret void -} - -define void @foo(i32 %N) { -; CHECK-LABEL: @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 -} - |