Statement-dead
Eliminate dead code in statements.
- Signature
(statement-dead stmt) → new-stmt
- Arguments
- stmt — Guard (statementp stmt).
- Returns
- new-stmt — Type (statementp new-stmt).
Note that the break, continue, and leave statements
are retained;
it is the statements following them that are discarded
(see statement-list-dead).
When we encounter a function definition, we transform its body.
As discussed in dead-code-eliminator,
this only happens in the top-level block.