blob: 3c4491937355b2c5210acd609e0d3b29a2913d11 [file] [log] [blame]
Tanya Lattnerf04d8d12008-03-18 03:45:45 +00001; RUN: llvm-as < %s | opt -simplifycfg | llvm-dis | not grep unreachable
Chris Lattnerd7e30972004-10-18 04:06:41 +00002
Tanya Lattnerf04d8d12008-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
Chris Lattnerd7e30972004-10-18 04:06:41 +000010}
11
Tanya Lattnerf04d8d12008-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
Chris Lattnerd7e30972004-10-18 04:06:41 +000019}
20
Tanya Lattnerf04d8d12008-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
Chris Lattnerd7e30972004-10-18 04:06:41 +000032}
Tanya Lattnerf04d8d12008-03-18 03:45:45 +000033