Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[blocks] Add dominance analysis over CFGs
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
- Loading branch information