Classes | |
| class | BranchClosElim |
| Flattens branches over closure literals back into a direct branch over Lams. More... | |
| class | Clos2SJLJ |
| Lowers basicblock closures that are passed as arguments (i.e. More... | |
| class | ClosConv |
| Performs typed closure conversion, rebuilding the old world into a new one. More... | |
| class | ClosConvPrep |
| Wraps operands with clos.attr markers (returning, free_bb, fstclass_bb, ...) and eta-expands branches and continuations so that ClosConv sees a canonical program. More... | |
| class | FreeDefAna |
| Computes, on demand and with memoization, the free Defs that a Lam must capture in its closure environment. More... | |
| class | LowerTypedClos |
| This pass lowers typed closures to untyped closures. More... | |
| class | LowerTypedClosPrep |
| Escape analysis for closures: closure literals get their function wrapped in clos.attr.esc or clos.attr.bottom, depending on whether their environment escapes. More... | |