Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[blocks] Add dominance analysis over CFGs #69

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

VedantParanjape
Copy link
Contributor

Dominance is important for correctly identifying loops and their properties. This patch implements a dominator analysis that finds out immediate dominators for all the blocks of the CFG, it also builds a dominator tree using the idoms.

The dominator analysis also support building postdominator tree for the CFG, and it can also build postdominator tree for loops without exits or infinite loops.

This patch also implements several other important utilities like postorder DFS and preorder DFS traversal of the CFG.

This patch implements the dominance algorithm from the paper "A Simple, Fast Dominance Algorithm" [1] as it is easiest to implement and is practically faster than the Lengauer-Tarjan dominance algorithm.

[1] http://www.hipersoft.rice.edu/grads/publications/dom14.pdf

Dominance is important for correctly identifying loops and their
properties. This patch implements a dominator analysis that finds out
immediate dominators for all the blocks of the CFG, it also builds a
dominator tree using the idoms.

The dominator analysis also support building postdominator tree for the
CFG, and it can also build postdominator tree for loops without exits or
infinite loops.

This patch also implements several other important utilities like
postorder DFS and preorder DFS traversal of the CFG.

This patch implements the dominance algorithm from the paper
"A Simple, Fast Dominance Algorithm" [1] as it is easiest to implement
and is practically faster than the Lengauer-Tarjan dominance algorithm.

[1] http://www.hipersoft.rice.edu/grads/publications/dom14.pdf
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant