|
| 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 | FreeDefAna |
| | Computes, on demand and with memoization, the free Defs that a Lam must capture in its closure environment. 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 | 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...
|