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