forked from OSchip/llvm-project
51 lines
1.6 KiB
LLVM
51 lines
1.6 KiB
LLVM
; REQUIRES: asserts
|
|
; RUN: opt < %s -passes='print<domfrontier>' 2>&1 | FileCheck %s
|
|
|
|
define void @a_linear_impl_fig_1() nounwind {
|
|
0:
|
|
br label %"1"
|
|
1:
|
|
br label %"2"
|
|
2:
|
|
br label %"3"
|
|
3:
|
|
br i1 1, label %"13", label %"4"
|
|
4:
|
|
br i1 1, label %"5", label %"1"
|
|
5:
|
|
br i1 1, label %"8", label %"6"
|
|
6:
|
|
br i1 1, label %"7", label %"4"
|
|
7:
|
|
ret void
|
|
8:
|
|
br i1 1, label %"9", label %"1"
|
|
9:
|
|
br label %"10"
|
|
10:
|
|
br i1 1, label %"12", label %"11"
|
|
11:
|
|
br i1 1, label %"9", label %"8"
|
|
13:
|
|
br i1 1, label %"2", label %"1"
|
|
12:
|
|
switch i32 0, label %"1" [ i32 0, label %"9"
|
|
i32 1, label %"8"]
|
|
}
|
|
|
|
; CHECK: DominanceFrontier for function: a_linear_impl_fig_1
|
|
; CHECK-DAG: DomFrontier for BB %"0" is:
|
|
; CHECK-DAG: DomFrontier for BB %"11" is: %"{{[8|9]}}" %"{{[8|9]}}"
|
|
; CHECK-DAG: DomFrontier for BB %"1" is: %"1"
|
|
; CHECK-DAG: DomFrontier for BB %"2" is: %"{{[1|2]}}" %"{{[1|2]}}"
|
|
; CHECK-DAG: DomFrontier for BB %"3" is: %"{{[1|2]}}" %"{{[1|2]}}"
|
|
; CHECK-DAG: DomFrontier for BB %"13" is: %"{{[1|2]}}" %"{{[1|2]}}"
|
|
; CHECK-DAG: DomFrontier for BB %"4" is: %"{{[1|4]}}" %"{{[1|4]}}"
|
|
; CHECK-DAG: DomFrontier for BB %"5" is: %"{{[1|4]}}" %"{{[1|4]}}"
|
|
; CHECK-DAG: DomFrontier for BB %"8" is: %"{{[1|8]}}" %"{{[1|8]}}"
|
|
; CHECK-DAG: DomFrontier for BB %"6" is: %"4"
|
|
; CHECK-DAG: DomFrontier for BB %"7" is:
|
|
; CHECK-DAG: DomFrontier for BB %"9" is: %"{{[1|8|9]}}" %"{{[1|8|9]}}" %"{{[1|8|9]}}"
|
|
; CHECK-DAG: DomFrontier for BB %"10" is: %"{{[1|8|9]}}" %"{{[1|8|9]}}" %"{{[1|8|9]}}"
|
|
; CHECK-DAG: DomFrontier for BB %"12" is: %"{{[1|8|9]}}" %"{{[1|8|9]}}" %"{{[1|8|9]}}"
|