blob: 7133d9875cafb473b0fd5df3e11b8567bea9521d [file] [log] [blame]
Dan Gohman3c7d3082009-09-11 18:01:28 +00001; RUN: opt < %s -simplifycfg -S | not grep unreachable
Dan Gohmanf17a25c2007-07-18 16:29:46 +00002
Tanya Lattnerb46665e2008-03-18 03:45:45 +00003define void @test1(i1 %C, i1* %BP) {
4 br i1 %C, label %T, label %F
5T: ; preds = %0
6 store i1 %C, i1* %BP
7 unreachable
8F: ; preds = %0
9 ret void
Dan Gohmanf17a25c2007-07-18 16:29:46 +000010}
11
Tanya Lattnerb46665e2008-03-18 03:45:45 +000012define void @test2() {
13 invoke void @test2( )
14 to label %N unwind label %U
15U: ; preds = %0
16 unreachable
17N: ; preds = %0
18 ret void
Dan Gohmanf17a25c2007-07-18 16:29:46 +000019}
20
Tanya Lattnerb46665e2008-03-18 03:45:45 +000021define i32 @test3(i32 %v) {
22 switch i32 %v, label %default [
23 i32 1, label %U
24 i32 2, label %T
25 ]
26default: ; preds = %0
27 ret i32 1
28U: ; preds = %0
29 unreachable
30T: ; preds = %0
31 ret i32 2
Dan Gohmanf17a25c2007-07-18 16:29:46 +000032}
Tanya Lattnerb46665e2008-03-18 03:45:45 +000033