Download presentation
Presentation is loading. Please wait.
Published byHugo Gordon Modified over 6 years ago
1
Taken largely from University of Delaware Compiler Notes
Dominators and CFGs Taken largely from University of Delaware Compiler Notes
2
Dominators Node (basic block) D in a CFG dominates node N if every path from the start node to N goes through D. We say that node D is a dominator of node N. Define dom(N) = set of node N’s dominators, or the dominator set for node N. Note: by definition, each node dominates itself i.e., N dom(N).
3
An Example Domination relation: { (1, 1), (1, 2), (1, 3), (1, 4) …
(2, 3), (2, 4), … (2, 10) } 1 S 2 3 Direct domination: 4 1 <d 2, 2 <d 3, … 5 6 7 DOM: 8 DOM(1) = {1} DOM(2) = {1, 2} DOM(3) = {1, 2, 3} DOM(10) = {1, 2, 10) 9 10
4
Immediate Dominators and Dominator Tree
Node M is the immediate dominator of node N ==> Node M must be the last dominator of N on any path from the start node to N. Therefore, every node other than the start node must have a unique immediate dominator (the start node has no immediate dominator.) What does this mean ?
5
Dominator Tree A flowgraph (left) and its dominator tree (right) S 1 2
3 4 5 6 7 8 9 10 S 1 2 3 4 5 7 8 6 9 10 A flowgraph (left) and its dominator tree (right)
6
Question Answer: NO! Example: consider nodes 5 and 8.
Assume an immediate dominator n’ of a node n, is n’ necessarily an immediate predecessor in the flow graph? Answer: NO! Example: consider nodes 5 and 8.
7
An Example (Dominators)
1 2 3 4 5 6 7 8 9 10
8
Depth-First Search (DFS)
An “ordering” of nodes of CFG BBs dfs_nums 1..N Each BB dfs_num represents when that BB first encountered in DFS Write dfs(BB root);
9
DFS and Depth-First Order
CONFUSING: They are NOT the same DFS as defined: order of first visitation during depth-first search Depth-First Order “The depth-first ordering of the nodes is the reverse of a postorder traversal” (Aho-Sethi-Ullman) Used (sometimes) to identify loops Later …
10
An Example DFS 1 2 3 4 5 6 7 8 9 10
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.