Skip to content

Instantly share code, notes, and snippets.

@denismerigoux
Created August 8, 2017 22:54
Show Gist options
  • Save denismerigoux/0301009c5ee2bb91bda7274d8997cd97 to your computer and use it in GitHub Desktop.
Save denismerigoux/0301009c5ee2bb91bda7274d8997cd97 to your computer and use it in GitHub Desktop.
Example of ebb splitting that lead to differences in Ebb postorder
base_func {
ebb0:
brz ebb1
jump ebb2
ebb1:
brz ebb3
jump ebb3
ebb2:
jump ebb3
ebb3:
return
}
Postorder: [Ebb(3),Ebb(2),Ebb(1),Ebb(0)]
--> Now we split ebb1
splitted_func {
ebb0:
brz ebb1
jump ebb2
ebb1:
brz ebb3
jump ebb4
ebb4:
jump ebb3
ebb2:
jump ebb3
ebb3:
return
}
Incrementally-updated postorder: [Ebb(3),Ebb(2),Ebb(4),Ebb(1),Ebb(0)]
Recomputed from scracth postorder : [Ebb(3),Ebb(4),Ebb(2),Ebb(1),Ebb(0)]
--> the two postorders are different!
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment