In some rare cases, the register allocator can spill registers but end up not utilizi...
[llvm/msp430.git] / test / Transforms / SimplifyCFG / UnreachableEliminate.ll
blob3c4491937355b2c5210acd609e0d3b29a2913d11
1 ; RUN: llvm-as < %s | opt -simplifycfg | llvm-dis | not grep unreachable
3 define void @test1(i1 %C, i1* %BP) {
4         br i1 %C, label %T, label %F
5 T:              ; preds = %0
6         store i1 %C, i1* %BP
7         unreachable
8 F:              ; preds = %0
9         ret void
12 define void @test2() {
13         invoke void @test2( )
14                         to label %N unwind label %U
15 U:              ; preds = %0
16         unreachable
17 N:              ; preds = %0
18         ret void
21 define i32 @test3(i32 %v) {
22         switch i32 %v, label %default [
23                  i32 1, label %U
24                  i32 2, label %T
25         ]
26 default:                ; preds = %0
27         ret i32 1
28 U:              ; preds = %0
29         unreachable
30 T:              ; preds = %0
31         ret i32 2