| ; Test CFG simplify removal of branch instructions. |
| ; RUN: opt < %s -simplifycfg -S | FileCheck %s |
| ; RUN: opt < %s -passes=simplify-cfg -S | FileCheck %s |
| define void @test3(i1 %T) { |
| br i1 %T, label %1, label %1 |
| define void @test5(i32 %A) { |
| switch i32 %A, label %return [ |
| ; CHECK: alloca i8, align 1 |
| ; CHECK-NEXT: call i8 @test6g |
| ; CHECK-NEXT: icmp eq i8 %tmp, 0 |
| ; CHECK-NEXT: load i8, i8* %r, align 1{{$}} |
| %tmp = call i8 @test6g(i8* %r) |
| %tmp1 = icmp eq i8 %tmp, 0 |
| br i1 %tmp1, label %bb2, label %bb1 |
| %tmp3 = load i8, i8* %r, align 1, !range !2, !tbaa !1 |
| %tmp4 = icmp eq i8 %tmp3, 1 |
| br i1 %tmp4, label %bb2, label %bb3 |
| %tmp6 = phi i8 [ 0, %bb2 ], [ 1, %bb1 ] |