Topic summary
Reaching definition
In compiler theory, a reaching definition is a definition of a variable that may reach a particular point in a program without another definition of the same variable occurring along the intervening control-flow path. For example, in the following code:
d1 : y := 3 d2 : x := y
d1 is a reaching definition for d2. In the following, example, however:
d1 : y := 3 d2 : y := 4 d3 : x := y
d1 is no longer a reaching definition for d3, because d2 kills its reach: the value defined in d1 is no longer available and cannot reach d3.