1; REQUIRES: asserts
2; RUN: opt -regions -analyze < %s | FileCheck %s
3; RUN: opt -regions -stats < %s 2>&1 | FileCheck -check-prefix=STAT %s
4; RUN: opt -regions -print-region-style=bb  -analyze < %s 2>&1 | FileCheck -check-prefix=BBIT %s
5; RUN: opt -regions -print-region-style=rn  -analyze < %s 2>&1 | FileCheck -check-prefix=RNIT %s
6
7define internal fastcc zeroext i8 @handle_compress() nounwind {
8end165:
9  br i1 1, label %false239, label %true181
10
11true181:
12  br i1 1, label %then187, label %else232
13
14then187:
15  br label %end265
16
17else232:
18  br i1 1, label %false239, label %then245
19
20false239:
21  br i1 1, label %then245, label %else259
22
23then245:
24  br i1 1, label %then251, label %end253
25
26then251:
27  br label %end253
28
29end253:
30  br label %end265
31
32else259:
33  br label %end265
34
35end265:
36  br i1 1, label %then291, label %end298
37
38then291:
39  br label %end298
40
41end298:
42  ret i8 1
43}
44
45; CHECK-NOT: =>
46; CHECK: [0] end165 => <Function Return>
47; CHECK-NEXT: [1] end165 => end265
48; CHECK-NEXT: [2] then245 => end253
49; CHECK-NEXT: [1] end265 => end298
50
51; STAT: 4 region - The # of regions
52
53; BBIT: end165, false239, then245, then251, end253, end265, then291, end298, else259, true181, then187, else232,
54; BBIT: end165, false239, then245, then251, end253, else259, true181, then187, else232,
55; BBIT: then245, then251,
56; BBIT: end265, then291,
57
58; RNIT: end165 => end265, end265 => end298, end298,
59; RNIT: end165, false239, then245 => end253, end253, else259, true181, then187, else232,
60; RNIT: then245, then251,
61; RNIT: end265, then291,
62