|  | ; RUN: opt < %s -postdomtree -analyze | FileCheck %s | 
|  | define internal void @f() { | 
|  | entry: | 
|  | br i1 undef, label %bb35, label %bb3.i | 
|  |  | 
|  | bb3.i: | 
|  | br label %bb3.i | 
|  |  | 
|  | bb: | 
|  | br label %bb35 | 
|  |  | 
|  | bb.i: | 
|  | br label %bb35 | 
|  |  | 
|  | _float32_unpack.exit: | 
|  | br label %bb35 | 
|  |  | 
|  | bb.i5: | 
|  | br label %bb35 | 
|  |  | 
|  | _float32_unpack.exit8: | 
|  | br label %bb35 | 
|  |  | 
|  | bb32.preheader: | 
|  | br label %bb35 | 
|  |  | 
|  | bb3: | 
|  | br label %bb35 | 
|  |  | 
|  | bb3.split.us: | 
|  | br label %bb35 | 
|  |  | 
|  | bb.i4.us: | 
|  | br label %bb35 | 
|  |  | 
|  | bb7.i.us: | 
|  | br label %bb35 | 
|  |  | 
|  | bb.i4.us.backedge: | 
|  | br label %bb35 | 
|  |  | 
|  | bb1.i.us: | 
|  | br label %bb35 | 
|  |  | 
|  | bb6.i.us: | 
|  | br label %bb35 | 
|  |  | 
|  | bb4.i.us: | 
|  | br label %bb35 | 
|  |  | 
|  | bb8.i.us: | 
|  | br label %bb35 | 
|  |  | 
|  | bb3.i.loopexit.us: | 
|  | br label %bb35 | 
|  |  | 
|  | bb.nph21: | 
|  | br label %bb35 | 
|  |  | 
|  | bb4: | 
|  | br label %bb35 | 
|  |  | 
|  | bb5: | 
|  | br label %bb35 | 
|  |  | 
|  | bb14.preheader: | 
|  | br label %bb35 | 
|  |  | 
|  | bb.nph18: | 
|  | br label %bb35 | 
|  |  | 
|  | bb8.us.preheader: | 
|  | br label %bb35 | 
|  |  | 
|  | bb8.preheader: | 
|  | br label %bb35 | 
|  |  | 
|  | bb8.us: | 
|  | br label %bb35 | 
|  |  | 
|  | bb8: | 
|  | br label %bb35 | 
|  |  | 
|  | bb15.loopexit: | 
|  | br label %bb35 | 
|  |  | 
|  | bb15.loopexit2: | 
|  | br label %bb35 | 
|  |  | 
|  | bb15: | 
|  | br label %bb35 | 
|  |  | 
|  | bb16: | 
|  | br label %bb35 | 
|  |  | 
|  | bb17.loopexit.split: | 
|  | br label %bb35 | 
|  |  | 
|  | bb.nph14: | 
|  | br label %bb35 | 
|  |  | 
|  | bb19: | 
|  | br label %bb35 | 
|  |  | 
|  | bb20: | 
|  | br label %bb35 | 
|  |  | 
|  | bb29.preheader: | 
|  | br label %bb35 | 
|  |  | 
|  | bb.nph: | 
|  | br label %bb35 | 
|  |  | 
|  | bb23.us.preheader: | 
|  | br label %bb35 | 
|  |  | 
|  | bb23.preheader: | 
|  | br label %bb35 | 
|  |  | 
|  | bb23.us: | 
|  | br label %bb35 | 
|  |  | 
|  | bb23: | 
|  | br label %bb35 | 
|  |  | 
|  | bb30.loopexit: | 
|  | br label %bb35 | 
|  |  | 
|  | bb30.loopexit1: | 
|  | br label %bb35 | 
|  |  | 
|  | bb30: | 
|  | br label %bb35 | 
|  |  | 
|  | bb31: | 
|  | br label %bb35 | 
|  |  | 
|  | bb35.loopexit: | 
|  | br label %bb35 | 
|  |  | 
|  | bb35.loopexit3: | 
|  | br label %bb35 | 
|  |  | 
|  | bb35: | 
|  | ret void | 
|  | } | 
|  | ; CHECK: Inorder PostDominator Tree: | 
|  | ; CHECK-NEXT:   [1]  <<exit node>> | 
|  | ; CHECK-NEXT:     [2] %bb35 | 
|  | ; CHECK-NEXT:       [3] %bb | 
|  | ; CHECK-NEXT:       [3] %bb.i | 
|  | ; CHECK-NEXT:       [3] %_float32_unpack.exit | 
|  | ; CHECK-NEXT:       [3] %bb.i5 | 
|  | ; CHECK-NEXT:       [3] %_float32_unpack.exit8 | 
|  | ; CHECK-NEXT:       [3] %bb32.preheader | 
|  | ; CHECK-NEXT:       [3] %bb3 | 
|  | ; CHECK-NEXT:       [3] %bb3.split.us | 
|  | ; CHECK-NEXT:       [3] %bb.i4.us | 
|  | ; CHECK-NEXT:       [3] %bb7.i.us | 
|  | ; CHECK-NEXT:       [3] %bb.i4.us.backedge | 
|  | ; CHECK-NEXT:       [3] %bb1.i.us | 
|  | ; CHECK-NEXT:       [3] %bb6.i.us | 
|  | ; CHECK-NEXT:       [3] %bb4.i.us | 
|  | ; CHECK-NEXT:       [3] %bb8.i.us | 
|  | ; CHECK-NEXT:       [3] %bb3.i.loopexit.us | 
|  | ; CHECK-NEXT:       [3] %bb.nph21 | 
|  | ; CHECK-NEXT:       [3] %bb4 | 
|  | ; CHECK-NEXT:       [3] %bb5 | 
|  | ; CHECK-NEXT:       [3] %bb14.preheader | 
|  | ; CHECK-NEXT:       [3] %bb.nph18 | 
|  | ; CHECK-NEXT:       [3] %bb8.us.preheader | 
|  | ; CHECK-NEXT:       [3] %bb8.preheader | 
|  | ; CHECK-NEXT:       [3] %bb8.us | 
|  | ; CHECK-NEXT:       [3] %bb8 | 
|  | ; CHECK-NEXT:       [3] %bb15.loopexit | 
|  | ; CHECK-NEXT:       [3] %bb15.loopexit2 | 
|  | ; CHECK-NEXT:       [3] %bb15 | 
|  | ; CHECK-NEXT:       [3] %bb16 | 
|  | ; CHECK-NEXT:       [3] %bb17.loopexit.split | 
|  | ; CHECK-NEXT:       [3] %bb.nph14 | 
|  | ; CHECK-NEXT:       [3] %bb19 | 
|  | ; CHECK-NEXT:       [3] %bb20 | 
|  | ; CHECK-NEXT:       [3] %bb29.preheader | 
|  | ; CHECK-NEXT:       [3] %bb.nph | 
|  | ; CHECK-NEXT:       [3] %bb23.us.preheader | 
|  | ; CHECK-NEXT:       [3] %bb23.preheader | 
|  | ; CHECK-NEXT:       [3] %bb23.us | 
|  | ; CHECK-NEXT:       [3] %bb23 | 
|  | ; CHECK-NEXT:       [3] %bb30.loopexit | 
|  | ; CHECK-NEXT:       [3] %bb30.loopexit1 | 
|  | ; CHECK-NEXT:       [3] %bb30 | 
|  | ; CHECK-NEXT:       [3] %bb31 | 
|  | ; CHECK-NEXT:       [3] %bb35.loopexit | 
|  | ; CHECK-NEXT:       [3] %bb35.loopexit3 | 
|  | ; CHECK-NEXT:     [2] %entry | 
|  | ; CHECK-NEXT:     [2] %bb3.i | 
|  | ; CHECK-NEXT: Roots: %bb35 %bb3.i |