blob: 9c7a79e51f75b31591509088af49c0aae4064979 [file] [log] [blame]
Dan Gohman1b4c27772009-09-08 16:50:01 +00001; RUN: opt %s -simplifycfg | llvm-dis | 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