test domtree function %loop1(i32) { block0(v0: i32): brz v0, block1 ; dominates: block1 block6 jump block10 ; dominates: block10 block10: brnz v0, block2 ; dominates: block2 block9 jump block3 ; dominates: block3 block1: jump block6 block2: brz v0, block4 ; dominates: block4 block7 block8 jump block5 ; dominates: block5 block3: jump block9 block4: brz v0, block4 jump block11 ; dominates: block11 block11: brnz v0, block6 jump block7 block5: brz v0, block7 jump block12 ; dominates: block12 block12: brnz v0, block8 jump block9 block6: return block7: jump block8 block8: return block9: return } ; check: domtree_preorder { ; nextln: block0: block1 block10 block6 ; nextln: block1: ; nextln: block10: block2 block3 block9 ; nextln: block2: block4 block5 block7 block8 ; nextln: block4: block11 ; nextln: block11: ; nextln: block5: block12 ; nextln: block12: ; nextln: block7: ; nextln: block8: ; nextln: block3: ; nextln: block9: ; nextln: block6: ; nextln: } function %loop2(i32) system_v { block0(v0: i32): brz v0, block1 ; dominates: block1 block3 block4 block5 jump block2 ; dominates: block2 block1: jump block3 block2: brz v0, block4 jump block5 block3: jump block4 block4: brz v0, block3 jump block5 block5: brz v0, block4 jump block6 ; dominates: block6 block6: return } ; check: cfg_postorder: ; sameln: block6 ; sameln: block5 ; sameln: block3 ; sameln: block4 ; sameln: block2 ; sameln: block1 ; sameln: block0 ; check: domtree_preorder { ; nextln: block0: block1 block2 block4 block3 block5 ; nextln: block1: ; nextln: block2: ; nextln: block4: ; nextln: block3: ; nextln: block5: block6 ; nextln: block6: ; nextln: }