Data Flow Properties
Again Freestudy9 comes with new post related to Data Flow Properties. Additionally, we had described it point to point Information.
- A program point containing the definition is called definition point.
- program point at which a reference to a data item is made is called reference point.
- A program point at which some evaluating expression is given is called the evaluation point.
Available expression: Data Flow Properties
An expression x+y is available at a program point w if and only if along with all paths are reaching to w.
I. The expression x+y is said to be available at its evaluation point.
II. The expression x+y is said to be available if no definition of an operand of the expression. (here either x or y) follows its last evaluation along the path. In other words, if neither of the two operands gets modified before their use.get
- Expression 4 * i is the available expression for B2, B3, and B4 because this expression has not been changed by any of the blocks before appearing in B4.
Reaching definition: Data Flow Properties
- A definition D reaches at the point P if there is a path from D to P if there is a path from D to P along which D is not killed.
- A definition D of variable x is killed when there is a redefinition of x.
- The definition D1 is reaching a definition for block B2, but the definition D1 is not reaching a definition for block B3 because it is killed by definition D2 in block B2.2.
Live variable: Data Flow Properties
- A live variable x is life at point p if there is a path from p to the exit, along which the value of x is used before it is redefined. Otherwise, the variable is said to be dead at the point.
Busy expression: Data Flow Properties
- An expression e is said to be busy expression along some path pi..pj if and only if an evaluation of e exists along some path pi…pj and no definition of any operand exist before its evaluation along the path.