In some rare cases, the register allocator can spill registers but end up not utilizi...
[llvm/msp430.git] / test / Transforms / PredicateSimplifier / 2006-11-11-Squeeze.ll
blob4f8af01bc3991f2ca069e441fb86ff3b0922a7a4
1 ; RUN: llvm-as < %s | opt -predsimplify -disable-output
3         %struct.cube_struct = type { i32, i32, i32, i32*, i32*, i32*, i32*, i32*, i32*, i32*, i32**, i32**, i32*, i32*, i32, i32, i32*, i32, i32 }
4 @cube = external global %struct.cube_struct             ; <%struct.cube_struct*> [#uses=2]
6 define fastcc void @cube_setup() {
7 entry:
8         %tmp = load i32* getelementptr (%struct.cube_struct* @cube, i32 0, i32 2)       ; <i32> [#uses=2]
9         %tmp.upgrd.1 = icmp slt i32 %tmp, 0             ; <i1> [#uses=1]
10         br i1 %tmp.upgrd.1, label %bb, label %cond_next
11 cond_next:              ; preds = %entry
12         %tmp2 = load i32* getelementptr (%struct.cube_struct* @cube, i32 0, i32 1)      ; <i32> [#uses=2]
13         %tmp5 = icmp slt i32 %tmp2, %tmp                ; <i1> [#uses=1]
14         br i1 %tmp5, label %bb, label %bb6
15 bb:             ; preds = %cond_next, %entry
16         unreachable
17 bb6:            ; preds = %cond_next
18         %tmp98124 = icmp sgt i32 %tmp2, 0               ; <i1> [#uses=1]
19         br i1 %tmp98124, label %bb42, label %bb99
20 bb42:           ; preds = %bb6
21         ret void
22 bb99:           ; preds = %bb6
23         ret void