For a statement S in a program, in the context of liveness analysis, the following sets are defined:
USE(S) : The set of variables used in S
IN(S) : The set of variables that are live at the entry of S
OUT(S) : The set of variables that are live at the exit of S
Consider a basic block that consists of two statements, S1 followed by S2.
Which one of the following statements is correct?
OUT(S1)=IN(S2)
OUT=∪IN(Successornodes)
So, the correct option is
OUT(S1)=IN(S2)
So, the correct option (c).