a
Abstract:
This brief document serves as a support document to my thesis. Chapter 3 of the thesis discusses the flow of control among basic blocks, and the control dependence of one basic block on another. This document provides a brief tutorial on the representation of data dependences between individual instructions and of the flow of data through the program. 1. Terminology There are three types of data dependences. Consider instructions x and y, where x is executed before y. Then the dependences are defined as follows. y is true-, or flow-dependent on x, x d f y, iff x defines a variable that is an input variable to y, such that x's result may be used by y. This is also called a read after write (RAW) dependence. y is anti-dependent on x, x d
Citations
| 133 | The program dependence web: a representation supporting control, data-, and demand-driven interpretation of imperative languages – Ottenstein, Ballance, et al. - 1990 |
| 108 | Automatic construction of sparse data flow evaluation graphs – Choi, Cytron, et al. - 1991 |
| 29 | Construction of Thinned Gated Single-Assignment form – Havlak - 1993 |
| 28 | Bjarne Steensgaard. Value dependence graphs: Representation without taxation – Weise, Roger, et al. - 1994 |
| 13 | A Design for Optimizations of the Bitvectoring Class – Schwartz, Sharir - 1979 |
| 10 | Efficient DAG construction and heuristic calculation for instruction scheduling – Smotherman, Krishnamurthy, et al. - 1991 |
| 4 | and Keshav Pingali. Dependence-Based Program Analysis – Johnson - 1993 |
| 3 | An efficient approach to data flow analysis in a multiple pass global optimizer – Jain, Thompson - 1988 |

