




















Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
A lecture note from the university of michigan's eecs 483 course, focusing on control flow ii: dominators and loop detection. Topics such as control flow graphs, dominators, immediate dominators, post dominators, and loop detection. Students are encouraged to calculate the dom and idom sets for each bb, as well as the pdom and ipdom sets. The document also discusses why dominators are important for loop detection and optimization.
Typology: Exams
1 / 28
This page cannot be seen from the preview
Don't miss anything!





















Simon’s office hours on Thurs (11/16) » Moved to 10am-12pm, 4817 CSE » Exam 1 problem 11 was incorrectly graded
» See Simon to get your points back
Project 3/4 – postponed until Monday » Group formation for Project 3/
Today’s class material: » 10.4, end of 10.9 (dominator algorithm)
Determining properties of the program branchstructure
Determine instruction execution properties
Defn: Dominator
Intuition
y change = false y for each BB (except the entry BB) tmp(BB) = BB + {intersect of Domof all predecessor BB’s} if (tmp(BB) != dom(BB)) È dom(BB) = tmp(BB) È change = true
Entry Exit
Defn: Immediate dominator (idom)– Each node n has a uniqueimmediate dominator mthat is the last dominatorof n on any path from theinitial node to n
Entry Exit
Reverse of dominator
Defn: Post Dominator
Intuition » Given some BB, which blocks are guaranteed to have executed after executing the BB
Entry Exit
Entry BB1 BB6^ Exit
Entry Exit
Entry^ BB6^ BB7^ Exit
Cycle suitable for optimization » Discuss opti later
2 properties: » Single entry point called the header
» Must be one way to iterate the loop (ie at least 1 path back to the header from within theloop) called a backedge
Backedge detection » Edge, x Æ y where the target (y) dominates the source (x)
Entry BB1 BB6^ Exit
Entry BB1 BB6^ Exit
Entry Exit