1*85c30880SEhud Katz; NOTE: Assertions have been autogenerated by utils/update_test_checks.py 2*85c30880SEhud Katz; RUN: opt -S -structurizecfg %s -o - | FileCheck %s 3*85c30880SEhud Katz 4*85c30880SEhud Katzdefine void @test(i1 %b1, i1 %b2, i1 %b3, i1 %b4) { 5*85c30880SEhud Katz; CHECK-LABEL: @test( 6*85c30880SEhud Katz; CHECK-NEXT: A: 7*85c30880SEhud Katz; CHECK-NEXT: [[B2_INV:%.*]] = xor i1 [[B2:%.*]], true 8*85c30880SEhud Katz; CHECK-NEXT: br i1 [[B1:%.*]], label [[B:%.*]], label [[H:%.*]] 9*85c30880SEhud Katz; CHECK: B: 10*85c30880SEhud Katz; CHECK-NEXT: br label [[C:%.*]] 11*85c30880SEhud Katz; CHECK: C: 12*85c30880SEhud Katz; CHECK-NEXT: br i1 [[B2_INV]], label [[E:%.*]], label [[FLOW:%.*]] 13*85c30880SEhud Katz; CHECK: Flow: 14*85c30880SEhud Katz; CHECK-NEXT: [[TMP0:%.*]] = phi i1 [ [[B3:%.*]], [[E]] ], [ true, [[C]] ] 15*85c30880SEhud Katz; CHECK-NEXT: [[TMP1:%.*]] = phi i1 [ false, [[E]] ], [ true, [[C]] ] 16*85c30880SEhud Katz; CHECK-NEXT: br i1 [[TMP0]], label [[FLOW1:%.*]], label [[C]] 17*85c30880SEhud Katz; CHECK: Flow1: 18*85c30880SEhud Katz; CHECK-NEXT: br i1 [[TMP1]], label [[D:%.*]], label [[F:%.*]] 19*85c30880SEhud Katz; CHECK: D: 20*85c30880SEhud Katz; CHECK-NEXT: br label [[F]] 21*85c30880SEhud Katz; CHECK: E: 22*85c30880SEhud Katz; CHECK-NEXT: br label [[FLOW]] 23*85c30880SEhud Katz; CHECK: F: 24*85c30880SEhud Katz; CHECK-NEXT: br label [[G:%.*]] 25*85c30880SEhud Katz; CHECK: G: 26*85c30880SEhud Katz; CHECK-NEXT: br i1 [[B4:%.*]], label [[FLOW2:%.*]], label [[B]] 27*85c30880SEhud Katz; CHECK: Flow2: 28*85c30880SEhud Katz; CHECK-NEXT: br label [[H]] 29*85c30880SEhud Katz; CHECK: H: 30*85c30880SEhud Katz; CHECK-NEXT: ret void 31*85c30880SEhud Katz; 32*85c30880SEhud KatzA: 33*85c30880SEhud Katz br i1 %b1, label %B, label %H 34*85c30880SEhud Katz 35*85c30880SEhud KatzB: 36*85c30880SEhud Katz br label %C 37*85c30880SEhud Katz 38*85c30880SEhud KatzC: 39*85c30880SEhud Katz br i1 %b2, label %D, label %E 40*85c30880SEhud Katz 41*85c30880SEhud KatzD: 42*85c30880SEhud Katz br label %F 43*85c30880SEhud Katz 44*85c30880SEhud KatzE: 45*85c30880SEhud Katz br i1 %b3, label %F, label %C 46*85c30880SEhud Katz 47*85c30880SEhud KatzF: 48*85c30880SEhud Katz br label %G 49*85c30880SEhud Katz 50*85c30880SEhud KatzG: 51*85c30880SEhud Katz br i1 %b4, label %H, label %B 52*85c30880SEhud Katz 53*85c30880SEhud KatzH: 54*85c30880SEhud Katz ret void 55*85c30880SEhud Katz} 56