summaryrefslogtreecommitdiffstats
path: root/test/Transforms/SimplifyCFG/UnreachableEliminate.ll
blob: 7133d9875cafb473b0fd5df3e11b8567bea9521d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
; RUN: opt < %s -simplifycfg -S | not grep unreachable

define void @test1(i1 %C, i1* %BP) {
        br i1 %C, label %T, label %F
T:              ; preds = %0
        store i1 %C, i1* %BP
        unreachable
F:              ; preds = %0
        ret void
}

define void @test2() {
        invoke void @test2( )
                        to label %N unwind label %U
U:              ; preds = %0
        unreachable
N:              ; preds = %0
        ret void
}

define i32 @test3(i32 %v) {
        switch i32 %v, label %default [
                 i32 1, label %U
                 i32 2, label %T
        ]
default:                ; preds = %0
        ret i32 1
U:              ; preds = %0
        unreachable
T:              ; preds = %0
        ret i32 2
}

OpenPOWER on IntegriCloud