CS553 Colorado State University ========================================== Generalizing Data-Flow Analysis ========================================== 9/22/09 ----------------------------- Reaching Definitions (slides 2-4) Note that assumption of only one def per node does not fit with how we are modeling caller and callee saved registers for register allocation. It is not really an issue because we want to know the reaching definition information for variables not registers. ----------------------------- Liveness Review (slide 5) ----------------------------- Available Expressions (slides 6-7) ----------------------------- Aspects of data-flow analysis (slides 8-11) ----------------------------- Reaching Constants (slides 12-13) ----------------------------- Side Effects for Register Allocation - callee-saved register temps are considered defined at the beginning of procedure and then assigned into other temps - callee-saved register temps are copied back from temps at end and then used in sink statement - caller-saved registers are considered defined at each function call ------------------------ mstrout@cs.colostate.edu, 9/22/09