198 lines · plain
1; RUN: opt < %s -passes='print<postdomtree>' 2>&1 | FileCheck %s2define internal void @f(i1 %arg) {3entry:4 br i1 %arg, label %bb35, label %bb3.i5 6bb3.i:7 br label %bb3.i8 9bb:10 br label %bb3511 12bb.i:13 br label %bb3514 15_float32_unpack.exit:16 br label %bb3517 18bb.i5:19 br label %bb3520 21_float32_unpack.exit8:22 br label %bb3523 24bb32.preheader:25 br label %bb3526 27bb3:28 br label %bb3529 30bb3.split.us:31 br label %bb3532 33bb.i4.us:34 br label %bb3535 36bb7.i.us:37 br label %bb3538 39bb.i4.us.backedge:40 br label %bb3541 42bb1.i.us:43 br label %bb3544 45bb6.i.us:46 br label %bb3547 48bb4.i.us:49 br label %bb3550 51bb8.i.us:52 br label %bb3553 54bb3.i.loopexit.us:55 br label %bb3556 57bb.nph21:58 br label %bb3559 60bb4:61 br label %bb3562 63bb5:64 br label %bb3565 66bb14.preheader:67 br label %bb3568 69bb.nph18:70 br label %bb3571 72bb8.us.preheader:73 br label %bb3574 75bb8.preheader:76 br label %bb3577 78bb8.us:79 br label %bb3580 81bb8:82 br label %bb3583 84bb15.loopexit:85 br label %bb3586 87bb15.loopexit2:88 br label %bb3589 90bb15:91 br label %bb3592 93bb16:94 br label %bb3595 96bb17.loopexit.split:97 br label %bb3598 99bb.nph14:100 br label %bb35101 102bb19:103 br label %bb35104 105bb20:106 br label %bb35107 108bb29.preheader:109 br label %bb35110 111bb.nph:112 br label %bb35113 114bb23.us.preheader:115 br label %bb35116 117bb23.preheader:118 br label %bb35119 120bb23.us:121 br label %bb35122 123bb23:124 br label %bb35125 126bb30.loopexit:127 br label %bb35128 129bb30.loopexit1:130 br label %bb35131 132bb30:133 br label %bb35134 135bb31:136 br label %bb35137 138bb35.loopexit:139 br label %bb35140 141bb35.loopexit3:142 br label %bb35143 144bb35:145 ret void146}147; CHECK: Inorder PostDominator Tree:148; CHECK-NEXT: [1] <<exit node>>149; CHECK-NEXT: [2] %bb35150; CHECK-NEXT: [3] %bb151; CHECK-NEXT: [3] %bb.i152; CHECK-NEXT: [3] %_float32_unpack.exit153; CHECK-NEXT: [3] %bb.i5154; CHECK-NEXT: [3] %_float32_unpack.exit8155; CHECK-NEXT: [3] %bb32.preheader156; CHECK-NEXT: [3] %bb3157; CHECK-NEXT: [3] %bb3.split.us158; CHECK-NEXT: [3] %bb.i4.us159; CHECK-NEXT: [3] %bb7.i.us160; CHECK-NEXT: [3] %bb.i4.us.backedge161; CHECK-NEXT: [3] %bb1.i.us162; CHECK-NEXT: [3] %bb6.i.us163; CHECK-NEXT: [3] %bb4.i.us164; CHECK-NEXT: [3] %bb8.i.us165; CHECK-NEXT: [3] %bb3.i.loopexit.us166; CHECK-NEXT: [3] %bb.nph21167; CHECK-NEXT: [3] %bb4168; CHECK-NEXT: [3] %bb5169; CHECK-NEXT: [3] %bb14.preheader170; CHECK-NEXT: [3] %bb.nph18171; CHECK-NEXT: [3] %bb8.us.preheader172; CHECK-NEXT: [3] %bb8.preheader173; CHECK-NEXT: [3] %bb8.us174; CHECK-NEXT: [3] %bb8175; CHECK-NEXT: [3] %bb15.loopexit176; CHECK-NEXT: [3] %bb15.loopexit2177; CHECK-NEXT: [3] %bb15178; CHECK-NEXT: [3] %bb16179; CHECK-NEXT: [3] %bb17.loopexit.split180; CHECK-NEXT: [3] %bb.nph14181; CHECK-NEXT: [3] %bb19182; CHECK-NEXT: [3] %bb20183; CHECK-NEXT: [3] %bb29.preheader184; CHECK-NEXT: [3] %bb.nph185; CHECK-NEXT: [3] %bb23.us.preheader186; CHECK-NEXT: [3] %bb23.preheader187; CHECK-NEXT: [3] %bb23.us188; CHECK-NEXT: [3] %bb23189; CHECK-NEXT: [3] %bb30.loopexit190; CHECK-NEXT: [3] %bb30.loopexit1191; CHECK-NEXT: [3] %bb30192; CHECK-NEXT: [3] %bb31193; CHECK-NEXT: [3] %bb35.loopexit194; CHECK-NEXT: [3] %bb35.loopexit3195; CHECK-NEXT: [2] %entry196; CHECK-NEXT: [2] %bb3.i197; CHECK-NEXT: Roots: %bb35 %bb3.i198