diff options
author | Chandler Carruth <chandlerc@gmail.com> | 2012-03-24 21:24:19 +0000 |
---|---|---|
committer | Chandler Carruth <chandlerc@gmail.com> | 2012-03-24 21:24:19 +0000 |
commit | b8095464d60df9fcef9b48ab86bc3031320b95c4 (patch) | |
tree | 589f5db9f5ef645097694b838f470a77623d27ca | |
parent | 6b980541df5846ad335c377c8803b517968daee2 (diff) | |
download | external_llvm-b8095464d60df9fcef9b48ab86bc3031320b95c4.zip external_llvm-b8095464d60df9fcef9b48ab86bc3031320b95c4.tar.gz external_llvm-b8095464d60df9fcef9b48ab86bc3031320b95c4.tar.bz2 |
FileCheck-ize this test. Note the FIXME I've introduced here: we've
regressed seriously here, we are no longer removing allocas during
inline cleanup. This appears to be because of lifetime markers "using"
them. =/ I'll look into this shortly.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153394 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | test/Transforms/Inline/inline_cleanup.ll | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/test/Transforms/Inline/inline_cleanup.ll b/test/Transforms/Inline/inline_cleanup.ll index 4c64721..b744ae1 100644 --- a/test/Transforms/Inline/inline_cleanup.ll +++ b/test/Transforms/Inline/inline_cleanup.ll @@ -1,10 +1,8 @@ ; Test that the inliner doesn't leave around dead allocas, and that it folds ; uncond branches away after it is done specializing. -; RUN: opt < %s -inline -S | \ -; RUN: not grep {alloca.*uses=0} -; RUN: opt < %s -inline -S | \ -; RUN: not grep {br label} +; RUN: opt < %s -inline -S | FileCheck %s + @A = weak global i32 0 ; <i32*> [#uses=1] @B = weak global i32 0 ; <i32*> [#uses=1] @C = weak global i32 0 ; <i32*> [#uses=1] @@ -54,6 +52,18 @@ UnifiedReturnBlock: ; preds = %cond_next13 declare void @ext(i32*) define void @test() { +; CHECK: @test +; CHECK-NOT: ret +; +; FIXME: This should be a CHECK-NOT, but currently we have a bug that causes us +; to not nuke unused allocas. +; CHECK: alloca +; CHECK-NOT: ret +; +; No branches should survive the inliner's cleanup. +; CHECK-NOT: br +; CHECK: ret void + entry: tail call fastcc void @foo( i32 1 ) tail call fastcc void @foo( i32 2 ) |