Add a DominatorTreePreorder data structure which can be initialized for a DominatorTree and used for queries involving a pre-order of the dominator tree. Print out the pre-order and send it through filecheck in "test domtree" file tests.
49 lines
971 B
Plaintext
49 lines
971 B
Plaintext
test domtree
|
|
|
|
function %test(i32) {
|
|
ebb0(v0: i32):
|
|
brz v0, ebb1 ; dominates: ebb1
|
|
brnz v0, ebb2 ; dominates: ebb2 ebb5
|
|
jump ebb3 ; dominates: ebb3
|
|
ebb1:
|
|
jump ebb4 ; dominates: ebb4
|
|
ebb2:
|
|
jump ebb5
|
|
ebb3:
|
|
jump ebb5
|
|
ebb4:
|
|
brz v0, ebb6 ; dominates: ebb6 ebb10
|
|
jump ebb7 ; dominates: ebb7
|
|
ebb5:
|
|
return
|
|
ebb6:
|
|
brz v0, ebb8 ; dominates: ebb11 ebb8
|
|
brnz v0, ebb9 ; dominates: ebb9
|
|
jump ebb10
|
|
ebb7:
|
|
jump ebb10
|
|
ebb8:
|
|
jump ebb11
|
|
ebb9:
|
|
jump ebb11
|
|
ebb10:
|
|
return
|
|
ebb11:
|
|
return
|
|
}
|
|
|
|
; check: domtree_preorder {
|
|
; nextln: ebb0: ebb1 ebb2 ebb3 ebb5
|
|
; nextln: ebb1: ebb4
|
|
; nextln: ebb4: ebb6 ebb7 ebb10
|
|
; nextln: ebb6: ebb8 ebb9 ebb11
|
|
; nextln: ebb8:
|
|
; nextln: ebb9:
|
|
; nextln: ebb11:
|
|
; nextln: ebb7:
|
|
; nextln: ebb10:
|
|
; nextln: ebb2:
|
|
; nextln: ebb3:
|
|
; nextln: ebb5:
|
|
; nextln: }
|