Which one of the following is FALSE?
📖 Explanation
Let's analyze each statement:
A. A basic block is a fundamental concept in compiler design, representing a straight-line sequence of code with a single entry point and a single exit point. This statement is TRUE.
B. Available expression analysis is a data flow analysis technique used to identify expressions that have already been computed and whose values are still "available" at a given point. This information is then used for common subexpression elimination, where redundant computations are removed. This statement is TRUE.
C. Live variable analysis determines which variables might be used again later in the program. Variables that are not live (i.e., dead variables) can be eliminated or their storage reused, which is a form of dead code elimination. This statement is TRUE.
D. The statement "x=4×5⇒x=20" is an example of constant folding, where an expression involving only constants is evaluated at compile time and replaced with its result. Common subexpression elimination, on the other hand, deals with identifying and replacing repeated computations of the same expression (not necessarily constants) within a program. Therefore, this statement is FALSE.


