blob: b4ae415b50130cbfc16e67de98e8b7dd40b7a29f [file] [log] [blame]
Anna Zaks3c397eb2011-06-16 00:03:21 +00001; Make sure EdgeBoundles handles the case when the function size is less then
2; the number of block IDs.
3; RUN: llc -regalloc=fast < %s
4
Anna Zaks589badd2011-06-16 00:34:10 +00005define void @foo() nounwind {
Anna Zaks3c397eb2011-06-16 00:03:21 +00006entry:
7 br i1 undef, label %bb5.i1632, label %bb1.i1605
8
9bb1.i1605: ; preds = %entry
10 br i1 undef, label %bb5.i73.i, label %bb3.i68.i
11
12bb3.i68.i: ; preds = %bb1.i1605
13 unreachable
14
15bb5.i73.i: ; preds = %bb1.i1605
16 br i1 undef, label %bb7.i79.i, label %bb6.i76.i
17
18bb6.i76.i: ; preds = %bb5.i73.i
19 unreachable
20
21bb7.i79.i: ; preds = %bb5.i73.i
22 br i1 undef, label %bb.i.i1608, label %bb8.i82.i
23
24bb8.i82.i: ; preds = %bb7.i79.i
25 unreachable
26
27bb.i.i1608: ; preds = %bb.i.i1608, %bb7.i79.i
Anna Zaks589badd2011-06-16 00:34:10 +000028 br i1 undef, label %bb1.i.dis.preheader_crit_edge.i, label %bb.i.i1608
Anna Zaks3c397eb2011-06-16 00:03:21 +000029
Anna Zaks589badd2011-06-16 00:34:10 +000030bb1.i.dis.preheader_crit_edge.i: ; preds = %bb.i.i1608
31 br label %dis.i
Anna Zaks3c397eb2011-06-16 00:03:21 +000032
33bb3.i.i1610: ; preds = %bb8.i.i, %bb7.i.i1615
34 br i1 undef, label %bb5.i.i1613, label %bb4.i.i1611
35
36bb4.i.i1611: ; preds = %bb3.i.i1610
37 br label %bb5.i.i1613
38
39bb5.i.i1613: ; preds = %bb4.i.i1611, %bb3.i.i1610
40 unreachable
41
Anna Zaks589badd2011-06-16 00:34:10 +000042bb7.i.i1615: ; preds = %getfloder.exit.i
Anna Zaks3c397eb2011-06-16 00:03:21 +000043 br i1 undef, label %bb3.i.i1610, label %bb8.i.i
44
45bb8.i.i: ; preds = %bb7.i.i1615
46 br i1 undef, label %bb3.i.i1610, label %bb9.i.i
47
48bb9.i.i: ; preds = %bb8.i.i
49 br label %bb12.i.i
50
51bb12.i.i: ; preds = %bb12.i.i, %bb9.i.i
52 br i1 undef, label %bb13.i.bb14.i_crit_edge.i, label %bb12.i.i
53
54bb13.i.bb14.i_crit_edge.i: ; preds = %bb12.i.i
55 br i1 undef, label %bb25.i.i, label %bb20.i.i
56
57bb19.i.i: ; preds = %bb20.i.i
58 br label %bb20.i.i
59
60bb20.i.i: ; preds = %bb19.i.i, %bb13.i.bb14.i_crit_edge.i
61 %or.cond.i = or i1 undef, undef
62 br i1 %or.cond.i, label %bb25.i.i, label %bb19.i.i
63
64bb25.i.i: ; preds = %bb20.i.i, %bb13.i.bb14.i_crit_edge.i
65 unreachable
66
67bb5.i1632: ; preds = %entry
68 unreachable
69
Anna Zaks589badd2011-06-16 00:34:10 +000070dis.i: ; preds = %getfloder.exit.i, %bb1.i.dis.preheader_crit_edge.i
Anna Zaks3c397eb2011-06-16 00:03:21 +000071 br i1 undef, label %bb.i96.i, label %bb1.i102.i
72
Anna Zaks589badd2011-06-16 00:34:10 +000073bb.i96.i: ; preds = %dis.i
74 br label %getfloder.exit.i
Anna Zaks3c397eb2011-06-16 00:03:21 +000075
Anna Zaks589badd2011-06-16 00:34:10 +000076bb1.i102.i: ; preds = %dis.i
77 br label %getfloder.exit.i
Anna Zaks3c397eb2011-06-16 00:03:21 +000078
Anna Zaks589badd2011-06-16 00:34:10 +000079getfloder.exit.i: ; preds = %bb1.i102.i, %bb.i96.i
80 br i1 undef, label %bb7.i.i1615, label %dis.i
Anna Zaks3c397eb2011-06-16 00:03:21 +000081}