Add r134057 back, but splice the predecessor after the successors phi

nodes.

Original message:
Let simplify cfg simplify bb with only debug and lifetime intrinsics.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134182 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Rafael Espindola committed 2011-06-30 20:14:24 +00:00
1 parent ff97eb0cf4
commit 77a2c372fa
5 files changed
+68 -11

No files matched your search

+29
View File
@@ -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