Expand description
Auto-generated module
🤖 Generated with SplitRS
Functions§
- collect_
usage_ info - Collect usage information for every variable referenced in
expr. - eliminate_
dead_ functions - Remove function declarations from
modulethat are not reachable from the givenroots. A function is reachable if it is named inrootsor transitively called by a reachable function. - eliminate_
dead_ lets - Remove let-bindings whose bound variable is never used in the continuation body. Only pure (side-effect-free) bindings are removed; applications are conservatively kept because they may diverge or have side-effects.
- eliminate_
unreachable_ alts - Eliminate case alternatives that are statically unreachable.
- fold_
known_ case - Fold a case expression when the scrutinee is a known constructor.
- optimize_
dce - Run the complete DCE + constant propagation pipeline on a module.
- propagate_
constants - Propagate literal constants: when
let x = <lit>, replace every occurrence ofVar(x)withLit(<lit>)in the continuation and remove the binding when it becomes dead. - propagate_
copies - Propagate copies: when
let x = y(i.e.LcnfLetValue::FVar(y)), replace every use ofxwithyin the continuation and drop the binding.