RemoveUnused is an optimization pass for both the SSA and SSA2 IntermediateLanguages, invoked from SSASimplify and SSA2Simplify.
Description
This pass aggressively removes unused:
-
datatypes
-
datatype constructors
-
datatype constructor arguments
-
functions
-
function arguments
-
function returns
-
blocks
-
block arguments
-
statements (variable bindings)
-
handlers from non-tail calls (mayRaise analysis)
-
continuations from non-tail calls (mayReturn analysis)