In some rare cases, the register allocator can spill registers but end up not utilizi...
[llvm/msp430.git] / test / Transforms / PredicateSimplifier / predsimplify.reg4.ll
blob092a49e7a38eb4b04512cf7e4248caf1bab70d64
1 ; RUN: llvm-as < %s | opt -predsimplify -disable-output
2 target datalayout = "e-p:32:32"
3 target triple = "i686-pc-linux-gnu"
5 define void @f(i32 %x, i32 %y) {
6 entry:
7         %tmp = icmp eq i32 %x, 10               ; <i1> [#uses=1]
8         %tmp.not = xor i1 %tmp, true            ; <i1> [#uses=1]
9         %tmp3 = icmp eq i32 %x, %y              ; <i1> [#uses=1]
10         %bothcond = and i1 %tmp.not, %tmp3              ; <i1> [#uses=1]
11         br i1 %bothcond, label %cond_true4, label %return
12 cond_true4:             ; preds = %entry
13         switch i32 %y, label %return [
14                  i32 9, label %bb
15                  i32 10, label %bb6
16         ]
17 bb:             ; preds = %cond_true4
18         call void @g( i32 9 )
19         ret void
20 bb6:            ; preds = %cond_true4
21         call void @g( i32 10 )
22         ret void
23 return:         ; preds = %cond_true4, %entry
24         ret void
27 declare void @g(i32)