blob: 3d592b3a38aafd39a2545a72394524e754407525 [file] [log] [blame]
Dan Gohmanfce288f2009-09-09 00:09:15 +00001; RUN: llc < %s
Chris Lattner5aa03072006-09-07 01:59:05 +00002
Tanya Lattner53a66d12008-02-19 01:41:04 +00003define void @foo() {
Chris Lattner5aa03072006-09-07 01:59:05 +00004 br label %cond_true813.i
5
6cond_true813.i: ; preds = %0
Tanya Lattner53a66d12008-02-19 01:41:04 +00007 br i1 false, label %cond_true818.i, label %cond_next1146.i
Chris Lattner5aa03072006-09-07 01:59:05 +00008
9cond_true818.i: ; preds = %cond_true813.i
Tanya Lattner53a66d12008-02-19 01:41:04 +000010 br i1 false, label %recog_memoized.exit52, label %cond_next1146.i
Chris Lattner5aa03072006-09-07 01:59:05 +000011
12recog_memoized.exit52: ; preds = %cond_true818.i
Tanya Lattner53a66d12008-02-19 01:41:04 +000013 switch i32 0, label %bb886.i.preheader [
14 i32 0, label %bb907.i
15 i32 44, label %bb866.i
16 i32 103, label %bb874.i
17 i32 114, label %bb874.i
Chris Lattner5aa03072006-09-07 01:59:05 +000018 ]
19
20bb857.i: ; preds = %bb886.i, %bb866.i
Tanya Lattner53a66d12008-02-19 01:41:04 +000021 %tmp862.i494.24 = phi i8* [ null, %bb866.i ], [ %tmp862.i494.26, %bb886.i ] ; <i8*> [#uses=4]
22 switch i32 0, label %bb886.i.preheader [
23 i32 0, label %bb907.i
24 i32 44, label %bb866.i
25 i32 103, label %bb874.i
26 i32 114, label %bb874.i
Chris Lattner5aa03072006-09-07 01:59:05 +000027 ]
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
Tanya Lattner53a66d12008-02-19 01:41:04 +000036 br i1 false, label %bb907.i, label %bb857.i
Chris Lattner5aa03072006-09-07 01:59:05 +000037
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
Tanya Lattner53a66d12008-02-19 01:41:04 +000042 %tmp862.i494.25 = phi i8* [ %tmp862.i494.24, %bb857.i ], [ %tmp862.i494.24, %bb857.i ], [ undef, %recog_memoized.exit52 ], [ undef, %recog_memoized.exit52 ] ; <i8*> [#uses=1]
43 switch i32 0, label %bb886.i.preheader.loopexit [
44 i32 0, label %bb907.i
45 i32 44, label %bb866.i.loopexit
46 i32 103, label %bb874.i.backedge
47 i32 114, label %bb874.i.backedge
Chris Lattner5aa03072006-09-07 01:59:05 +000048 ]
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
Tanya Lattner53a66d12008-02-19 01:41:04 +000057 %tmp862.i494.26 = phi i8* [ undef, %recog_memoized.exit52 ], [ %tmp862.i494.24, %bb857.i ] ; <i8*> [#uses=1]
Chris Lattner5aa03072006-09-07 01:59:05 +000058 br label %bb886.i
59
60bb886.i: ; preds = %cond_true903.i, %bb886.i.preheader
Tanya Lattner53a66d12008-02-19 01:41:04 +000061 br i1 false, label %bb857.i, label %cond_true903.i
Chris Lattner5aa03072006-09-07 01:59:05 +000062
63cond_true903.i: ; preds = %bb886.i
Tanya Lattner53a66d12008-02-19 01:41:04 +000064 switch i32 0, label %bb886.i [
65 i32 0, label %bb907.i
66 i32 44, label %bb866.i.loopexit31
67 i32 103, label %bb874.i.preheader.loopexit
68 i32 114, label %bb874.i.preheader.loopexit
Chris Lattner5aa03072006-09-07 01:59:05 +000069 ]
70
71bb907.i: ; preds = %cond_true903.i, %bb874.i, %bb866.i, %bb857.i, %recog_memoized.exit52
Tanya Lattner53a66d12008-02-19 01:41:04 +000072 %tmp862.i494.0 = phi i8* [ %tmp862.i494.24, %bb857.i ], [ null, %bb866.i ], [ undef, %recog_memoized.exit52 ], [ %tmp862.i494.25, %bb874.i ], [ null, %cond_true903.i ] ; <i8*> [#uses=1]
73 br i1 false, label %cond_next1146.i, label %cond_true910.i
Chris Lattner5aa03072006-09-07 01:59:05 +000074
75cond_true910.i: ; preds = %bb907.i
76 ret void
77
78cond_next1146.i: ; preds = %bb907.i, %cond_true818.i, %cond_true813.i
Tanya Lattner53a66d12008-02-19 01:41:04 +000079 %tmp862.i494.1 = phi i8* [ %tmp862.i494.0, %bb907.i ], [ undef, %cond_true818.i ], [ undef, %cond_true813.i ] ; <i8*> [#uses=0]
Chris Lattner5aa03072006-09-07 01:59:05 +000080 ret void
81
82bb2060.i: ; No predecessors!
Tanya Lattner53a66d12008-02-19 01:41:04 +000083 br i1 false, label %cond_true2064.i, label %bb2067.i
Chris Lattner5aa03072006-09-07 01:59:05 +000084
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}