1; REQUIRES: asserts
2; RUN: opt -regions -analyze < %s | FileCheck %s
3; RUN: opt -regions -stats -analyze < %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 void @BZ2_blockSort() nounwind {
8start:
9  br label %while
10
11while:
12  br label %while.body134.i.i
13
14while.body134.i.i:
15  br i1 1, label %end, label %w
16
17w:
18  br label %if.end140.i.i
19
20if.end140.i.i:
21  br i1 1, label %while.end186.i.i, label %if.end183.i.i
22
23if.end183.i.i:
24  br label %while.body134.i.i
25
26while.end186.i.i:
27  br label %while
28
29end:
30  ret void
31}
32; CHECK-NOT: =>
33; CHECK: [0] start => <Function Return>
34; CHECK: [1] while => end
35
36; STAT: 2 region - The # of regions
37; STAT: 1 region - The # of simple regions
38
39; BBIT: start, while, while.body134.i.i, end, w, if.end140.i.i, while.end186.i.i, if.end183.i.i,
40; BBIT: while, while.body134.i.i, w, if.end140.i.i, while.end186.i.i, if.end183.i.i,
41
42; RNIT: start, while => end, end,
43; RNIT: while, while.body134.i.i, w, if.end140.i.i, while.end186.i.i, if.end183.i.i,
44