Redundant (Common) Subexpression Elimination

Global Constant Folding and Propagation

Dead Code Elimination

Conditional Pruning

Conditional Reordering

Assignment Elimination Due to Equality

GOTO Chasing

Array Temporary Elimination

10.3.7 GOTO Chasing

The following code is often generated by IF-THEN_ELSE statements or CASE statements:

    	
     	GOTO LabelA			GOTO LabelB
     	...				...
     LabelA:	GOTO LabelB		LabelA:	GOTO LabelB
     

This presumes that A and B really are the same variable; that is, they are not both needed later.