1; REQUIRES: asserts
2; RUN: opt -regions -analyze -enable-new-pm=0 < %s | FileCheck %s
3; RUN: opt -regions -stats -disable-output < %s 2>&1 | FileCheck -check-prefix=STAT %s
4; RUN: opt -regions -print-region-style=bb  -analyze -enable-new-pm=0 < %s 2>&1 | FileCheck -check-prefix=BBIT %s
5; RUN: opt -regions -print-region-style=rn  -analyze -enable-new-pm=0 < %s 2>&1 | FileCheck -check-prefix=RNIT %s
6
7; RUN: opt < %s -passes='print<regions>' 2>&1 | FileCheck %s
8; RUN: opt < %s -passes='print<regions>' -stats 2>&1 | FileCheck -check-prefix=STAT %s
9; RUN: opt -passes='print<regions>' -print-region-style=bb < %s 2>&1 | FileCheck -check-prefix=BBIT %s
10; RUN: opt -passes='print<regions>' -print-region-style=rn < %s 2>&1 | FileCheck -check-prefix=RNIT %s
11
12define internal fastcc zeroext i8 @handle_compress() nounwind {
13entry:
14  br label %outer
15
16outer:
17  br label %body
18
19body:
20  br i1 1, label %else, label %true77
21
22true77:
23  br i1 1, label %then83, label %else
24
25then83:
26  br label %outer
27
28else:
29  br label %else106
30
31else106:
32  br i1 1, label %end, label %outer
33
34end:
35  ret i8 1
36}
37
38; CHECK-NOT: =>
39; CHECK: [0] entry => <Function Return>
40; CHECK-NEXT: [1] outer => end
41; CHECK-NEXT:   [2] outer => else
42
43; STAT: 3 region - The # of regions
44; STAT: 1 region - The # of simple regions
45
46; BBIT: entry, outer, body, else, else106, end, true77, then83,
47; BBIT: outer, body, else, else106, true77, then83,
48; BBIT: outer, body, true77, then83,
49
50; RNIT: entry, outer => end, end,
51; RNIT: outer => else, else, else106,
52; RNIT: outer, body, true77, then83,
53