Live-variable analysis: Difference between revisions

Content deleted Content added
No edit summary
Shitpoet (talk | contribs)
Tags: Reverted Mobile edit Mobile web edit
Line 14:
== Expression in terms of dataflow equations ==
 
Liveness analysis is a "backwards mayway" analysis. The analysis is done in a [[Data-flow_analysis#Backward_Analysis|backwards]] order, and the dataflow [[confluence operator]] is [[set union]]. In other words, if applying liveness analysis to a function with a particular number of logical branches within it, the analysis is performed starting from the end 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 variable's current value. This is in contrast to a "backwards must" analysis which would instead enforce 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: