Live-variable analysis: Difference between revisions

Content deleted Content added
Line 19:
== Expression in terms of dataflow equations ==
 
Liveness analysis is a "backwards may" analysis. The analysis is done in a backwards order, and the dataflow [[confluence operator]] is [[set union]]. In otherwords, if applying liveness analysis to a function with a particular number of logical branches within it, the analysis is performed starting from the beginning of the function working towards the beginning (hence "backwards"), and a variable is considered live if any of the branches moving forward within the function might potentially (hence "may") need the variablesvariable's current value. This is in contrast to a "backwards must" analysis which would instead enforces this condition on all branches moving forward.
 
The dataflow equations used for a given basic block ''s'' and exiting block ''f'' in live variable analysis are the following: