This module implements a pass that does a syntactic use-def check for all let/fun/jp bindings and removes them if they are unused. Note that in impure mode not all unused let bindings can be removed safely so we opt for a safe subset.
@[reducible, inline]
Instances For
Equations
- Lean.Compiler.LCNF.elimDeadVars phase occurrence = Lean.Compiler.LCNF.Pass.mkPerDeclaration `elimDeadVars phase Lean.Compiler.LCNF.Decl.elimDeadVars occurrence