Bunch of tests to check loop passes.
[oota-llvm.git] / test / Transforms / LoopUnswitch / 2006-02-22-UnswitchCrash.ll
1 ; RUN: llvm-upgrade < %s | llvm-as | opt -loop-unswitch -disable-output
2
3 void %sort_Eq(int * %S2) {
4 entry:
5         br bool false, label %list_Length.exit, label %cond_true.i
6
7 cond_true.i:            ; preds = %entry
8         ret void
9
10 list_Length.exit:               ; preds = %entry
11         br bool false, label %list_Length.exit9, label %cond_true.i5
12
13 cond_true.i5:           ; preds = %list_Length.exit
14         ret void
15
16 list_Length.exit9:              ; preds = %list_Length.exit
17         br bool false, label %bb78, label %return
18
19 bb44:           ; preds = %bb78, %cond_next68
20         br bool %tmp49.not, label %bb62, label %bb62.loopexit
21
22 bb62.loopexit:          ; preds = %bb44
23         br label %bb62
24
25 bb62:           ; preds = %bb62.loopexit, %bb44
26         br bool false, label %return.loopexit, label %cond_next68
27
28 cond_next68:            ; preds = %bb62
29         br bool false, label %return.loopexit, label %bb44
30
31 bb78:           ; preds = %list_Length.exit9
32         %tmp49.not = seteq int* %S2, null               ; <bool> [#uses=1]
33         br label %bb44
34
35 return.loopexit:                ; preds = %cond_next68, %bb62
36         %retval.0.ph = phi uint [ 1, %cond_next68 ], [ 0, %bb62 ]               ; <uint> [#uses=1]
37         br label %return
38
39 return:         ; preds = %return.loopexit, %list_Length.exit9
40         %retval.0 = phi uint [ 0, %list_Length.exit9 ], [ %retval.0.ph, %return.loopexit ]              ; <uint> [#uses=0]
41         ret void
42 }