In some rare cases, the register allocator can spill registers but end up not utilizi...
[llvm/msp430.git] / test / Transforms / PredicateSimplifier / 2006-09-20-ResolveCycle.ll
blobf3d58e9102d08889c937cfe77cd09c924ebfc0de
1 ; RUN: llvm-as < %s | opt -predsimplify -disable-output
3 define void @gs_image_next() {
4 entry:
5         %tmp = load i32* null           ; <i32> [#uses=2]
6         br i1 false, label %cond_next21, label %UnifiedReturnBlock
7 cond_next21:            ; preds = %entry
8         br i1 false, label %cond_next42, label %UnifiedReturnBlock
9 cond_next42:            ; preds = %cond_next21
10         br label %cond_true158
11 cond_next134:           ; preds = %cond_true158
12         %tmp1571 = icmp eq i32 0, %min          ; <i1> [#uses=0]
13         ret void
14 cond_true158:           ; preds = %cond_true158, %cond_next42
15         %tmp47 = sub i32 %tmp, 0                ; <i32> [#uses=2]
16         %tmp49 = icmp ule i32 %tmp47, 0         ; <i1> [#uses=1]
17         %min = select i1 %tmp49, i32 %tmp47, i32 0              ; <i32> [#uses=2]
18         %tmp92 = add i32 %min, 0                ; <i32> [#uses=1]
19         %tmp101 = icmp eq i32 %tmp92, %tmp              ; <i1> [#uses=1]
20         br i1 %tmp101, label %cond_next134, label %cond_true158
21 UnifiedReturnBlock:             ; preds = %cond_next21, %entry
22         ret void