583L2 - EECS 583 Class 2 Control Flow Analysis University...

Info iconThis preview shows pages 1–7. Sign up to view the full content.

View Full Document Right Arrow Icon
EECS 583 – Class 2 Control Flow Analysis University of Michigan September 12, 2011
Background image of page 1

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
- 1 - Announcements & Reading Material Daya’s office hours held in 1695 CSE not 1620 CSE! » Tue/Thu/Fri: 3-5pm See reading list on course webpage » Will add to it each week Topic 1 – Control flow analysis and optimization » Today’s class Ch 9.4, 10.4 from Red Dragon book (Aho, Sethi, Ullman) » Next class ―Trace Selection for Compiling Large C Applications to Microcode‖, Chang and Hwu, MICRO-21, 1988. ―The Superblock: An Effective Technique for VLIW and Superscalar Compilation‖, Hwu et al., Journal of Supercomputing, 1993
Background image of page 2
- 2 - Homework 1 Available on course website » http://www.eecs.umich.edu/~mahlke/courses/583f11/homeworks.html ~2 weeks to do – so get started soon! » Due week from Friday (Sept 23) 3 4-core Linux machines available for class use » Andrew, hugo, and wilma » Need EECS account to access – See me if you do not have one Part 1 – Download and build llvm » See http://www.llvm.org Part 2 - Collect some opcode, branch, and memory statistics » Must figure out how to profile an application » And extract profile info
Background image of page 3

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
- 3 - Homework 1 - Notes llvm-gcc already installed on hurricane machines » /y/583f11/llvm-gcc-install » Add /y/583f11/llvm-gcc-install/bin to your path so you can use the llvm-gcc executable If you want to use hurricane machines » Create a directory for yourself on 1 of the machines cd /y/students mkdir uniquename chmod 700 uniquename cd uniquename Don’t accidently put your llvm files in the /y/students directory!! » Then just download and build llvm backend If you use your other machines » Then need to build both llvm-gcc and backend
Background image of page 4
- 4 - From Last Time: BB and CFG Basic block – a sequence of consecutive operations in which flow of control enters at the beginning and leaves at the end without halt or possibility of branching except at the end Control Flow Graph – Directed graph, G = (V,E) where each vertex V is a basic block and there is an edge E, v1 (BB1) v2 (BB2) if BB2 can immediately follow BB1 in some execution sequence BB1 BB2 BB4 BB3 BB5 BB6 BB7 Entry Exit x = y+1; if (c) x++; else x--;; y = z + 1; if (a) y++; else y—; z++;
Background image of page 5

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
- 5 - From Last Time: Dominator (DOM) Defn: Dominator – Given a CFG(V, E, Entry, Exit), a node x dominates a node y, if every path from the Entry block to y contains x 3 properties of dominators
Background image of page 6
Image of page 7
This is the end of the preview. Sign up to access the rest of the document.

This note was uploaded on 12/26/2011 for the course EECS 583 taught by Professor Flinn during the Fall '08 term at University of Michigan.

Page1 / 28

583L2 - EECS 583 Class 2 Control Flow Analysis University...

This preview shows document pages 1 - 7. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online