blob: a9623efee81d04de4ea8acd115cf7475e3cf7a11 [file] [log] [blame]
Dan Gohman5bb7c7c2009-09-08 22:34:10 +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