Expression Simplification
Some expressions can be simplified by replacing them with an equivalent expression that is more efficient.
Example:
The code fragment below contains several examples of expressions that can be simplified.
void f (int i) { a[0] = i + 0; a[1] = i * 0; a[2] = i - i; a[3] = 1 + i + 1; }
Below is the code fragment after expression simplification.
void f (int i) { a[0] = i; a[1] = 0; a[2] = 0; a[3] = 2 + i; }
Notes:
Programmers generally do not write expressions like (i + 0) directly, but these expressions can be introduced after macro expansion, array index arithmetic expansion, and other optimizations.