xref: /llvm-project/llvm/test/Analysis/RegionInfo/outgoing_edge_1.ll (revision 50153213c80286c6c91da4612aaf234cc6438c63)
1; REQUIRES: asserts
2; RUN: opt < %s -passes='print<regions>' 2>&1 | FileCheck %s
3
4; While working on improvements to region info analysis, this test
5; case caused an incorrect region bb2 => bb3 to be detected.
6
7define internal i8 @main_read() nounwind {
8bb:
9   br label %bb1
10
11bb1:
12   br i1 true, label %bb2, label %bb7
13
14bb2:
15  br i1 true, label %bb4, label %bb3
16
17bb3:
18  br i1 true, label %bb4, label %bb8
19
20bb4:
21   br label %bb5
22
23bb5:
24   br label %bb6
25
26bb6:
27   br label %bb1
28
29bb7:
30   br label %bb5
31
32bb8:
33   ret i8 1
34}
35
36; CHECK:    [0] bb => <Function Return>
37; CHECK-NEXT: [1] bb1 => bb8
38; CHECK-NEXT: End region tree
39