|
Dead Code Elimination
Code that is unreachable or that does not affect the program (e.g. dead stores) can be eliminated. Example:In the example below, the value assigned to i is never used, and the dead store can be eliminated. The first assignment to global is dead, and the third assignment to global is unreachable; both can be eliminated.
int global;
void f ()
{
int i;
i = 1; /* dead store */
global = 1; /* dead store */
global = 2;
return;
global = 3; /* unreachable */
}
Below is the code fragment after dead code elimination.
int global;
void f ()
{
global = 2;
return;
}
© 1990-2012 Nullstone Corporation. All Rights Reserved. |