blob: 7ab1fca80532a1083b0041c2c6ac8d27b9030249 [file] [log] [blame]
Hongbin Zheng751337f2016-02-25 17:54:15 +00001; REQUIRES: asserts
2; RUN: opt < %s -passes='print<domfrontier>' 2>&1 | FileCheck %s
3
4define void @a_linear_impl_fig_1() nounwind {
50:
6 br label %"1"
71:
8 br label %"2"
92:
10 br label %"3"
113:
12 br i1 1, label %"13", label %"4"
134:
14 br i1 1, label %"5", label %"1"
155:
16 br i1 1, label %"8", label %"6"
176:
18 br i1 1, label %"7", label %"4"
197:
20 ret void
218:
22 br i1 1, label %"9", label %"1"
239:
24 br label %"10"
2510:
26 br i1 1, label %"12", label %"11"
2711:
28 br i1 1, label %"9", label %"8"
2913:
30 br i1 1, label %"2", label %"1"
3112:
32 switch i32 0, label %"1" [ i32 0, label %"9"
33 i32 1, label %"8"]
34}
35
36; CHECK: DominanceFrontier for function: a_linear_impl_fig_1
37; CHECK-DAG: DomFrontier for BB %"0" is:
Hongbin Zheng8c70ab72016-02-25 19:16:40 +000038; CHECK-DAG: DomFrontier for BB %"11" is: %"{{[8|9]}}" %"{{[8|9]}}"
Hongbin Zheng751337f2016-02-25 17:54:15 +000039; CHECK-DAG: DomFrontier for BB %"1" is: %"1"
Hongbin Zheng8c70ab72016-02-25 19:16:40 +000040; CHECK-DAG: DomFrontier for BB %"2" is: %"{{[1|2]}}" %"{{[1|2]}}"
41; CHECK-DAG: DomFrontier for BB %"3" is: %"{{[1|2]}}" %"{{[1|2]}}"
42; CHECK-DAG: DomFrontier for BB %"13" is: %"{{[1|2]}}" %"{{[1|2]}}"
43; CHECK-DAG: DomFrontier for BB %"4" is: %"{{[1|4]}}" %"{{[1|4]}}"
44; CHECK-DAG: DomFrontier for BB %"5" is: %"{{[1|4]}}" %"{{[1|4]}}"
45; CHECK-DAG: DomFrontier for BB %"8" is: %"{{[1|8]}}" %"{{[1|8]}}"
Hongbin Zheng751337f2016-02-25 17:54:15 +000046; CHECK-DAG: DomFrontier for BB %"6" is: %"4"
47; CHECK-DAG: DomFrontier for BB %"7" is:
Hongbin Zhengb8bb0d82016-02-26 03:41:47 +000048; CHECK-DAG: DomFrontier for BB %"9" is: %"{{[1|8|9]}}" %"{{[1|8|9]}}" %"{{[1|8|9]}}"
49; CHECK-DAG: DomFrontier for BB %"10" is: %"{{[1|8|9]}}" %"{{[1|8|9]}}" %"{{[1|8|9]}}"
50; CHECK-DAG: DomFrontier for BB %"12" is: %"{{[1|8|9]}}" %"{{[1|8|9]}}" %"{{[1|8|9]}}"