diff options
author | Rafael Espindola <rafael.espindola@gmail.com> | 2011-06-29 05:25:47 +0000 |
---|---|---|
committer | Rafael Espindola <rafael.espindola@gmail.com> | 2011-06-29 05:25:47 +0000 |
commit | 4c0dfcec7eb743bb356bd3815d76a6d519ebad3d (patch) | |
tree | d58a33ccf097c6e43ffdca246d6435afd626d1ff /llvm/test/Transforms | |
parent | 595ca06397f4085ee9d95939c345b01950cd4e00 (diff) | |
download | bcm5719-llvm-4c0dfcec7eb743bb356bd3815d76a6d519ebad3d.tar.gz bcm5719-llvm-4c0dfcec7eb743bb356bd3815d76a6d519ebad3d.zip |
Let simplify cfg simplify bb with only debug and lifetime intrinsics.
llvm-svn: 134057
Diffstat (limited to 'llvm/test/Transforms')
-rw-r--r-- | llvm/test/Transforms/SimplifyCFG/lifetime.ll | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/llvm/test/Transforms/SimplifyCFG/lifetime.ll b/llvm/test/Transforms/SimplifyCFG/lifetime.ll new file mode 100644 index 00000000000..b7942217253 --- /dev/null +++ b/llvm/test/Transforms/SimplifyCFG/lifetime.ll @@ -0,0 +1,29 @@ +; RUN: opt < %s -simplifycfg -S | FileCheck %s + +; Test that a lifetime intrinsic doesn't prevent us from simplifying this. + +; CHECK: foo +; CHECK: entry: +; CHECK-NOT: bb0: +; CHECK-NOT: bb1: +; CHECK: ret +define void @foo(i1 %x) { +entry: + %a = alloca i8 + call void @llvm.lifetime.start(i64 -1, i8* %a) nounwind + br i1 %x, label %bb0, label %bb1 + +bb0: + call void @llvm.lifetime.end(i64 -1, i8* %a) nounwind + br label %bb1 + +bb1: + call void @f() + ret void +} + +declare void @f() + +declare void @llvm.lifetime.start(i64, i8* nocapture) nounwind + +declare void @llvm.lifetime.end(i64, i8* nocapture) nounwind |