1; 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 %12, 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 %13, label %11 2711: 28 br i1 1, label %9, label %8 2912: 30 br i1 1, label %2, label %1 3113: 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: 38; CHECK-DAG: DomFrontier for BB %11 is: %{{[8|9]}} %{{[8|9]}} 39; CHECK-DAG: DomFrontier for BB %1 is: %1 40; 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 %12 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]}} 46; CHECK-DAG: DomFrontier for BB %6 is: %4 47; CHECK-DAG: DomFrontier for BB %7 is: 48; 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 %13 is: %{{[1|8|9]}} %{{[1|8|9]}} %{{[1|8|9]}} 51