filecheckize
[oota-llvm.git] / test / Transforms / SimplifyCFG / basictest.ll
1 ; Test CFG simplify removal of branch instructions.
2 ;
3 ; RUN: opt < %s -simplifycfg -S | FileCheck %s
4
5 define void @test1() {
6         br label %1
7         ret void
8 ; CHECK: @test1
9 ; CHECK-NEXT: ret void
10 }
11
12 define void @test2() {
13         ret void
14         ret void
15 ; CHECK: @test2
16 ; CHECK-NEXT: ret void
17 ; CHECK-NEXT: }
18 }
19
20 define void @test3(i1 %T) {
21         br i1 %T, label %1, label %1
22         ret void
23 ; CHECK: @test3
24 ; CHECK-NEXT: ret void
25 }
26
27
28 define void @test4() {
29   br label %return
30 return:
31   ret void
32 ; CHECK: @test4
33 ; CHECK-NEXT: ret void
34 }
35 @test4g = global i8* blockaddress(@test4, %return)
36
37
38 ; PR5795
39 define void @test5(i32 %A) {
40   switch i32 %A, label %return [
41     i32 2, label %1
42     i32 10, label %2
43   ]
44
45   ret void
46
47   ret void
48
49 return:                                           ; preds = %entry
50   ret void
51 ; CHECK: @test5
52 ; CHECK-NEXT: ret void
53 }