Four of the data flow problems presented in Section 16.2 and in Exercises 10 and 11 are:
. Available expressions
. Live variables
. Very busy expressions
. Reaching definitions
These problems are known as the bit-vectoring data flow problems. Summarize these problems by entering each into its proper position in the following table.
![](https://test.transtutors.com/qimg/ec5bad2d-491e-4754-b0a9-0952d95c5fda.png)
The columns refer to whether information is pushed forward or backward to achieve a solution to the problem. The rows refer to whether information should hold on all paths or any path.
Exercises 10
Live ness shows that a variable is potentially of future use in a program. The very busy expressions problem if an expression's value is certainly of future use.
(a) Is this a forward or backward problem?
(b) What is the best solution?
(c) Describe the effects of a node on an expression.
(d) How are solutions summarized at common control flow points?
(e) How would you determine live ness for a set of expressions?
Exercises 11
Reaching defs