blob: 29b81bb70a7531cb56657458ead4b35ed0c3d10b [file] [log] [blame]
Chris Lattner5aa03072006-09-07 01:59:05 +00001; RUN: llvm-as < %s | llc
2
3void %foo() {
4 br label %cond_true813.i
5
6cond_true813.i: ; preds = %0
7 br bool false, label %cond_true818.i, label %cond_next1146.i
8
9cond_true818.i: ; preds = %cond_true813.i
10 br bool false, label %recog_memoized.exit52, label %cond_next1146.i
11
12recog_memoized.exit52: ; preds = %cond_true818.i
13 switch int 0, label %bb886.i.preheader [
14 int 0, label %bb907.i
15 int 44, label %bb866.i
16 int 103, label %bb874.i
17 int 114, label %bb874.i
18 ]
19
20bb857.i: ; preds = %bb886.i, %bb866.i
21 %tmp862.i494.24 = phi sbyte* [ null, %bb866.i ], [ %tmp862.i494.26, %bb886.i ] ; <sbyte*> [#uses=4]
22 switch int 0, label %bb886.i.preheader [
23 int 0, label %bb907.i
24 int 44, label %bb866.i
25 int 103, label %bb874.i
26 int 114, label %bb874.i
27 ]
28
29bb866.i.loopexit: ; preds = %bb874.i
30 br label %bb866.i
31
32bb866.i.loopexit31: ; preds = %cond_true903.i
33 br label %bb866.i
34
35bb866.i: ; preds = %bb866.i.loopexit31, %bb866.i.loopexit, %bb857.i, %recog_memoized.exit52
36 br bool false, label %bb907.i, label %bb857.i
37
38bb874.i.preheader.loopexit: ; preds = %cond_true903.i, %cond_true903.i
39 ret void
40
41bb874.i: ; preds = %bb857.i, %bb857.i, %recog_memoized.exit52, %recog_memoized.exit52
42 %tmp862.i494.25 = phi sbyte* [ %tmp862.i494.24, %bb857.i ], [ %tmp862.i494.24, %bb857.i ], [ undef, %recog_memoized.exit52 ], [ undef, %recog_memoized.exit52 ] ; <sbyte*> [#uses=1]
43 switch int 0, label %bb886.i.preheader.loopexit [
44 int 0, label %bb907.i
45 int 44, label %bb866.i.loopexit
46 int 103, label %bb874.i.backedge
47 int 114, label %bb874.i.backedge
48 ]
49
50bb874.i.backedge: ; preds = %bb874.i, %bb874.i
51 ret void
52
53bb886.i.preheader.loopexit: ; preds = %bb874.i
54 ret void
55
56bb886.i.preheader: ; preds = %bb857.i, %recog_memoized.exit52
57 %tmp862.i494.26 = phi sbyte* [ undef, %recog_memoized.exit52 ], [ %tmp862.i494.24, %bb857.i ] ; <sbyte*> [#uses=1]
58 br label %bb886.i
59
60bb886.i: ; preds = %cond_true903.i, %bb886.i.preheader
61 br bool false, label %bb857.i, label %cond_true903.i
62
63cond_true903.i: ; preds = %bb886.i
64 switch int 0, label %bb886.i [
65 int 0, label %bb907.i
66 int 44, label %bb866.i.loopexit31
67 int 103, label %bb874.i.preheader.loopexit
68 int 114, label %bb874.i.preheader.loopexit
69 ]
70
71bb907.i: ; preds = %cond_true903.i, %bb874.i, %bb866.i, %bb857.i, %recog_memoized.exit52
72 %tmp862.i494.0 = phi sbyte* [ %tmp862.i494.24, %bb857.i ], [ null, %bb866.i ], [ undef, %recog_memoized.exit52 ], [ %tmp862.i494.25, %bb874.i ], [ null, %cond_true903.i ] ; <sbyte*> [#uses=1]
73 br bool false, label %cond_next1146.i, label %cond_true910.i
74
75cond_true910.i: ; preds = %bb907.i
76 ret void
77
78cond_next1146.i: ; preds = %bb907.i, %cond_true818.i, %cond_true813.i
79 %tmp862.i494.1 = phi sbyte* [ %tmp862.i494.0, %bb907.i ], [ undef, %cond_true818.i ], [ undef, %cond_true813.i ] ; <sbyte*> [#uses=0]
80 ret void
81
82bb2060.i: ; No predecessors!
83 br bool false, label %cond_true2064.i, label %bb2067.i
84
85cond_true2064.i: ; preds = %bb2060.i
86 unreachable
87
88bb2067.i: ; preds = %bb2060.i
89 ret void
90
91cond_next3473: ; No predecessors!
92 ret void
93
94cond_next3521: ; No predecessors!
95 ret void
96}