xref: /aosp_15_r20/external/llvm/test/Analysis/RegionInfo/two_loops_same_header.ll (revision 9880d6810fe72a1726cb53787c6711e909410d58)
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
7; RUN: opt < %s -passes='print<regions>' 2>&1 | FileCheck %s
8
9define internal fastcc zeroext i8 @handle_compress() nounwind {
10entry:
11  br label %outer
12
13outer:
14  br label %body
15
16body:
17  br i1 1, label %else, label %true77
18
19true77:
20  br i1 1, label %then83, label %else
21
22then83:
23  br label %outer
24
25else:
26  br label %else106
27
28else106:
29  br i1 1, label %end, label %outer
30
31end:
32  ret i8 1
33}
34
35; CHECK-NOT: =>
36; CHECK: [0] entry => <Function Return>
37; CHECK-NEXT: [1] outer => end
38; CHECK-NEXT:   [2] outer => else
39
40; STAT: 3 region - The # of regions
41; STAT: 1 region - The # of simple regions
42
43; BBIT: entry, outer, body, else, else106, end, true77, then83,
44; BBIT: outer, body, else, else106, true77, then83,
45; BBIT: outer, body, true77, then83,
46
47; RNIT: entry, outer => end, end,
48; RNIT: outer => else, else, else106,
49; RNIT: outer, body, true77, then83,
50