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 {
8entry:
9  br label %outer
10
11outer:
12  br label %body
13
14body:
15  br i1 1, label %else, label %true77
16
17true77:
18  br i1 1, label %then83, label %else
19
20then83:
21  br label %outer
22
23else:
24  br label %else106
25
26else106:
27  br i1 1, label %end, label %outer
28
29end:
30  ret i8 1
31}
32
33; CHECK-NOT: =>
34; CHECK: [0] entry => <Function Return>
35; CHECK-NEXT: [1] outer => end
36; CHECK-NEXT:   [2] outer => else
37
38; STAT: 3 region - The # of regions
39; STAT: 1 region - The # of simple regions
40
41; BBIT: entry, outer, body, else, else106, end, true77, then83,
42; BBIT: outer, body, else, else106, true77, then83,
43; BBIT: outer, body, true77, then83,
44
45; RNIT: entry, outer => end, end,
46; RNIT: outer => else, else, else106,
47; RNIT: outer, body, true77, then83,
48